28#ifndef HPL_MESH_LOADER_COLLADA_H
29#define HPL_MESH_LOADER_COLLADA_H
31#include "common/list.h"
32#include "hpl1/engine/graphics/VertexBuffer.h"
33#include "hpl1/engine/math/MathTypes.h"
34#include "hpl1/engine/physics/PhysicsJoint.h"
35#include "hpl1/engine/resources/MeshLoader.h"
36#include "hpl1/engine/system/MemoryManager.h"
153 if (mlVtx == aData.mlVtx && mlNorm == aData.mlNorm && mlTex == aData.mlTex) {
170 cColladaGeometry() : mlPosArrayIdx(-1), mlNormArrayIdx(-1), mlTexArrayIdx(-1),
171 mlPosIdxNum(-1), mlNormIdxNum(-1), mlTexIdxNum(-1) {}
176 for (
int i = 0; i < (int)mvArrayVec.
size(); i++) {
177 mvArrayVec[i].mvArray.
clear();
291 for (
size_t i = 0; i < mvSources.
size(); i++) {
292 if (mvSources[i].msId == asId) {
293 return &mvSources[i].mvValues;
321 cColladaNode() : mlCount(0), pParent(NULL), mvScale(1, 1, 1), mbSourceIsFile(
false) {}
351 pNode->pParent =
this;
357 for (; it != mlstTransforms.
end(); it++) {
359 if (Trans.msSid == asSid) {
370 mRoot.m_mtxTransform = cMatrixf::Identity;
371 mRoot.m_mtxWorldTransform = cMatrixf::Identity;
378 STLDeleteAll(mlstNodes);
382 STLDeleteAll(mlstNodes);
383 mRoot.mlstChildren.
clear();
388 for (; it != mlstNodes.
end(); ++it) {
390 if (pNode->msId == asId || pNode->msName == asId) {
400 for (; it != mlstNodes.
end(); ++it) {
402 if (pNode->msSource == asSource) {
426 cMesh *LoadMesh(
const tString &asFile, tMeshLoadFlag aFlags);
427 bool SaveMesh(
cMesh *apMesh,
const tString &asFile) {
return false; }
433 bool IsSupported(
const tString asFileType);
435 void AddSupportedTypes(
tStringVec *avFileTypes);
440 tWorldLoadFlag mFlags;
448 void CreateHierarchyNodes(
cMesh *apMesh,
cNode3D *mpParentNode,
466 bool abCharacterCollider);
481 void CalcLocalMatrixRec(
cBone *apBone,
cMatrixf a_mtxParentGlobal,
int alDepth);
486 eVertexBufferUsageType aUsageType);
489 bool FillStructures(
const tString &asFile,
500 bool SaveStructures(
const tString &asFile,
510 bool LoadStructures(
const tString &asFile,
545 void FillVertexVec(
const char *apChars,
tVector3fVec &avVtxVec,
int alElements,
int alVtxCount);
552 cVector3f GetVectorPosFromPtr(
float *apVec);
553 cVector3f GetVectorScaleFromPtr(
float *apVec);
size_type size() const
Definition: array.h:316
void clear()
Definition: array.h:321
iterator begin()
Definition: list.h:266
void clear()
Definition: list.h:245
void push_back(const t_T &element)
Definition: list.h:174
iterator end()
Definition: list.h:279
Definition: tinyxml.h:864
Definition: Animation.h:44
Definition: AnimationTrack.h:40
Definition: BoundingVolume.h:71
Definition: MeshLoaderCollada.h:271
Definition: MeshLoaderCollada.h:279
Definition: MeshLoaderCollada.h:251
Definition: MeshLoaderCollada.h:228
Definition: MeshLoaderCollada.h:168
Definition: MeshLoaderCollada.h:60
Definition: MeshLoaderCollada.h:211
Definition: MeshLoaderCollada.h:97
Definition: MeshLoaderCollada.h:84
Definition: MeshLoaderCollada.h:319
Definition: MeshLoaderCollada.h:260
Definition: MeshLoaderCollada.h:367
Definition: MeshLoaderCollada.h:72
Definition: MeshLoaderCollada.h:111
Definition: MeshLoaderCollada.h:124
Definition: ColliderEntity.h:40
Definition: MeshEntity.h:96
Definition: MeshLoaderCollada.h:421
Definition: Skeleton.h:46
Definition: World3D.h:179
Definition: LowLevelGraphics.h:200
Definition: MeshLoader.h:60
Definition: VertexBuffer.h:90
Definition: list_intern.h:54