Преглед изворни кода

Added mesh name importing to .X ascii format.

Henry Stratmann III пре 10 година
родитељ
комит
328cae8a81
3 измењених фајлова са 6 додато и 2 уклоњено
  1. 2 1
      code/XFileHelper.h
  2. 3 0
      code/XFileImporter.cpp
  3. 1 1
      code/XFileParser.cpp

+ 2 - 1
code/XFileHelper.h

@@ -110,6 +110,7 @@ struct Bone
 /** Helper structure to represent an XFile mesh */
 struct Mesh
 {
+	std::string mName;
 	std::vector<aiVector3D> mPositions;
 	std::vector<Face> mPosFaces;
 	std::vector<aiVector3D> mNormals;
@@ -124,7 +125,7 @@ struct Mesh
 
 	std::vector<Bone> mBones;
 
-	Mesh() { mNumTextures = 0; mNumColorSets = 0; }
+	Mesh(const std::string &pName = "") { mName = pName; mNumTextures = 0; mNumColorSets = 0; }
 };
 
 /** Helper structure to represent a XFile frame */

+ 3 - 0
code/XFileImporter.cpp

@@ -294,6 +294,9 @@ void XFileImporter::CreateMeshes( aiScene* pScene, aiNode* pNode, const std::vec
 			mesh->mNumFaces = (unsigned int)faces.size();
 			mesh->mFaces = new aiFace[mesh->mNumFaces];
 
+			// name
+			mesh->mName.Set(sourceMesh->mName);
+
 			// normals?
 			if( sourceMesh->mNormals.size() > 0)
 				mesh->mNormals = new aiVector3D[numVertices];

+ 1 - 1
code/XFileParser.cpp

@@ -414,7 +414,7 @@ void XFileParser::ParseDataObjectFrame( Node* pParent)
 		else
 		if( objectName == "Mesh")
 		{
-			Mesh* mesh = new Mesh;
+			Mesh* mesh = new Mesh(name);
 			node->mMeshes.push_back( mesh);
 			ParseDataObjectMesh( mesh);
 		} else