- Bugfix: IrrXML loader ignores trailing whitespace on closing tags now

- Bugfix: Collada loader now filters bone vertex weights with weight zero - blame XSI collada export.
- Bugfix: Collada animation resolver now also considers IDs when searching for nodes by name

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@460 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
This commit is contained in:
ulfjorensen
2009-08-01 20:20:22 +00:00
parent 3f2fa97f18
commit 98e53f976e
2 changed files with 13 additions and 5 deletions

View File

@@ -644,10 +644,14 @@ aiMesh* ColladaLoader::CreateMesh( const ColladaParser& pParser, const Collada::
float weight = ReadFloat( weightsAcc, weights, vertexIndex, 0);
aiVertexWeight w;
w.mVertexId = a - pStartVertex;
w.mWeight = weight;
dstBones[jointIndex].push_back( w);
// one day I gonna kill that XSI Collada exporter
if( weight > 0.0f)
{
aiVertexWeight w;
w.mVertexId = a - pStartVertex;
w.mWeight = weight;
dstBones[jointIndex].push_back( w);
}
}
}
@@ -1364,7 +1368,7 @@ void ColladaLoader::CollectNodes( const aiNode* pNode, std::vector<const aiNode*
// Finds a node in the collada scene by the given name
const Collada::Node* ColladaLoader::FindNode( const Collada::Node* pNode, const std::string& pName)
{
if( pNode->mName == pName)
if( pNode->mName == pName || pNode->mID == pName)
return pNode;
for( size_t a = 0; a < pNode->mChildren.size(); ++a)