From 37fb338c1f717998e5ea31d5a7025351828aaca5 Mon Sep 17 00:00:00 2001 From: kimmi Date: Sun, 19 Feb 2012 09:10:04 +0000 Subject: [PATCH] - Update : Fix the M3-Importer: geometry import works. - Update : Add a non-bsp example model for the m3-loader. git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@1176 67173fc5-114c-0410-ac8e-9d2fd5bffc1f --- code/M3Importer.cpp | 32 ++++++++++++----------- code/M3Importer.h | 3 ++- contrib/poly2tri/poly2tri/sweep/sweep.cc | 28 ++++++++++---------- test/models-nonbsd/M3/Bunker.m3 | Bin 0 -> 137552 bytes 4 files changed, 33 insertions(+), 30 deletions(-) create mode 100644 test/models-nonbsd/M3/Bunker.m3 diff --git a/code/M3Importer.cpp b/code/M3Importer.cpp index b256b2dce..df7c3c026 100644 --- a/code/M3Importer.cpp +++ b/code/M3Importer.cpp @@ -81,7 +81,7 @@ bool M3Importer::CanRead( const std::string &rFile, IOSystem* /*pIOHandler*/, bo // ------------------------------------------------------------------------------------------------ void M3Importer::GetExtensionList(std::set& extensions) { - extensions.insert( "m3" ); + extensions.insert( M3Extension ); } // ------------------------------------------------------------------------------------------------ @@ -157,6 +157,11 @@ void M3Importer::InternReadFile( const std::string& pFile, aiScene* pScene, IOSy ok = false; break; } + + // Everything ok, if not throw an exception + if ( !ok ) { + throw DeadlyImportError( "Failed to open file " + pFile + "."); + } // Get all region data regions = GetEntries( pViews->regions ); @@ -165,11 +170,6 @@ void M3Importer::InternReadFile( const std::string& pFile, aiScene* pScene, IOSy faces = GetEntries( pViews->faces ); nFaces = pViews->faces.nEntries; - // Everything ok, if not throw an exception - if ( !ok ) { - throw DeadlyImportError( "Failed to open file " + pFile + "."); - } - // Convert the vertices std::vector vertices; vertices.resize( nVertices ); @@ -186,21 +186,21 @@ void M3Importer::InternReadFile( const std::string& pFile, aiScene* pScene, IOSy } } - // Write UV coords + // Write the UV coordinates offset = 0; std::vector uvCoords; uvCoords.resize( nVertices ); for( unsigned int i = 0; i < nVertices; ++i ) { if( pVerts1 ) { - float u = (float) pVerts1[i].uv[0] / 2048; - float v = (float) pVerts1[i].uv[1] / 2048; + float u = (float) pVerts1[ i ].uv[ 0 ] / 2048; + float v = (float) pVerts1[ i ].uv[ 1 ] / 2048; uvCoords[ offset ].Set( u, v, 0.0f ); ++offset; } if( pVerts2 ) { - float u = (float) pVerts2[i].uv[0] / 2048; - float v = (float) pVerts2[i].uv[1] / 2048; + float u = (float) pVerts2[ i ].uv[ 0 ] / 2048; + float v = (float) pVerts2[ i ].uv[ 1 ] / 2048; uvCoords[ offset ].Set( u, v, 0.0f ); ++offset; } @@ -267,7 +267,7 @@ void M3Importer::convertToAssimp( const std::string& pFile, aiScene* pScene, DIV pRootNode->mChildren = new aiNode*[ pRootNode->mNumChildren ]; } - for ( unsigned int i=0; iregions.nEntries; ++i ) { + for ( unsigned int i=0; imNumChildren; ++i ) { // Create a new node pCurrentNode = createNode( pRootNode ); std::stringstream stream; @@ -276,10 +276,10 @@ void M3Importer::convertToAssimp( const std::string& pFile, aiScene* pScene, DIV pRootNode->mChildren[ i ] = pCurrentNode; // Loop over the faces of the nodes - unsigned int numFaces = ( pRegions[ i ].ofsIndices + pRegions[ i ].nIndices ) - pRegions[ i ].ofsIndices; + unsigned int numFaces = ( ( pRegions[ i ].ofsIndices + pRegions[ i ].nIndices ) - pRegions[ i ].ofsIndices ) / 3; aiMesh *pMesh = new aiMesh; MeshArray.push_back( pMesh ); - //pMesh->mPrimitiveTypes = aiPrimitiveType_TRIANGLE; + pMesh->mPrimitiveTypes = aiPrimitiveType_TRIANGLE; pMesh->mNumFaces = numFaces; pMesh->mFaces = new aiFace[ pMesh->mNumFaces ]; @@ -303,7 +303,7 @@ void M3Importer::convertToAssimp( const std::string& pFile, aiScene* pScene, DIV pCurrentNode->mMeshes = new unsigned int[ 1 ]; const unsigned int meshIdx = MeshArray.size() - 1; pCurrentNode->mMeshes[ 0 ] = meshIdx; - createVertexData( pMesh, vertices, normals ); + createVertexData( pMesh, vertices, uvCoords, normals ); } // Copy the meshes into the scene @@ -319,12 +319,14 @@ void M3Importer::convertToAssimp( const std::string& pFile, aiScene* pScene, DIV // ------------------------------------------------------------------------------------------------ // void M3Importer::createVertexData( aiMesh *pMesh, const std::vector &vertices, + const std::vector &uvCoords, const std::vector &normals ) { unsigned int numIndices = 0; pMesh->mNumVertices = pMesh->mNumFaces * 3; pMesh->mVertices = new aiVector3D[ pMesh->mNumVertices ]; +// pMesh->mNumUVComponents pMesh->mNormals = new aiVector3D[ pMesh->mNumVertices ]; unsigned int pos = 0; for ( unsigned int currentFace = 0; currentFace < pMesh->mNumFaces; currentFace++ ) { diff --git a/code/M3Importer.h b/code/M3Importer.h index 87f5c3a9e..3780f6598 100644 --- a/code/M3Importer.h +++ b/code/M3Importer.h @@ -698,7 +698,8 @@ private: void InternReadFile( const std::string& pFile, aiScene* pScene, IOSystem* pIOHandler ); void convertToAssimp( const std::string& pFile, aiScene* pScene, DIV *pViews, Region *pRegions, uint16 *pFaces, const std::vector &vertices, const std::vector &uvCoords, const std::vector &normals ); - void createVertexData( aiMesh *pMesh, const std::vector &vertices, const std::vector &normals ); + void createVertexData( aiMesh *pMesh, const std::vector &vertices, const std::vector &uvCoords, + const std::vector &normals ); aiNode *createNode( aiNode *pParent ); template T* GetEntries( Reference ref ); diff --git a/contrib/poly2tri/poly2tri/sweep/sweep.cc b/contrib/poly2tri/poly2tri/sweep/sweep.cc index 573ca372d..883cde619 100644 --- a/contrib/poly2tri/poly2tri/sweep/sweep.cc +++ b/contrib/poly2tri/poly2tri/sweep/sweep.cc @@ -192,7 +192,7 @@ Node& Sweep::NewFrontTriangle(SweepContext& tcx, Point& point, Node& node) new_node->next = node.next; new_node->prev = &node; node.next->prev = new_node; - node.next = new_node; + node.next = new_node; if (!Legalize(tcx, *triangle)) { tcx.MapTriangleToNodes(*triangle); @@ -214,7 +214,7 @@ void Sweep::Fill(SweepContext& tcx, Node& node) // Update the advancing front node.prev->next = node.next; - node.next->prev = node.prev; + node.next->prev = node.prev; // If it was legalized the triangle has already been mapped if (!Legalize(tcx, *triangle)) { @@ -224,7 +224,7 @@ void Sweep::Fill(SweepContext& tcx, Node& node) } void Sweep::FillAdvancingFront(SweepContext& tcx, Node& n) -{ +{ // Fill right holes Node* node = n.next; @@ -467,7 +467,7 @@ void Sweep::FillBasinReq(SweepContext& tcx, Node* node) return; } - Fill(tcx, *node); + Fill(tcx, *node); if (node->prev == tcx.basin.left_node && node->next == tcx.basin.right_node) { return; @@ -562,7 +562,7 @@ void Sweep::FillRightConcaveEdgeEvent(SweepContext& tcx, Edge* edge, Node& node) // Next is convex } } - } + } } @@ -749,15 +749,15 @@ void Sweep::FlipScanEdgeEvent(SweepContext& tcx, Point& ep, Point& eq, Triangle& Point& newP = NextFlipPoint(ep, eq, ot, op); FlipScanEdgeEvent(tcx, ep, eq, flip_triangle, ot, newP); } -} - -Sweep::~Sweep() { - - // Clean up memory - for(int i = 0; i < nodes_.size(); i++) { - delete nodes_[i]; - } - +} + +Sweep::~Sweep() { + + // Clean up memory + for(int i = 0; i < nodes_.size(); i++) { + delete nodes_[i]; + } + } } diff --git a/test/models-nonbsd/M3/Bunker.m3 b/test/models-nonbsd/M3/Bunker.m3 new file mode 100644 index 0000000000000000000000000000000000000000..88c2ab95c583c59debf50b1b94b59ed0d5c695e6 GIT binary patch literal 137552 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 literal 0 HcmV?d00001