In ColladaLoader in version 3.2.0 (release est. 2015) the name assignment was based on name attribute (xml) with optional fallbacks to id and sid. Over time this was changed to fix a bug and support for names was removed, only to be later (re)added using an optional `useColladaName` setting. We discovered a problem that with when using the name based assignment it doesn't assign automatically generated names like what it did in the logic in v3.2.0 and on the id based approach on current master.
We discovered this causes problems with matching the aiCamera and aiLight. So we rectified this problem by auto generating names also on the name based method.pull/2353/head
parent
d5a0a21f8c
commit
e9eda062a1
|
@ -1926,10 +1926,16 @@ const Collada::Node* ColladaLoader::FindNodeBySID( const Collada::Node* pNode, c
|
||||||
std::string ColladaLoader::FindNameForNode( const Collada::Node* pNode)
|
std::string ColladaLoader::FindNameForNode( const Collada::Node* pNode)
|
||||||
{
|
{
|
||||||
// If explicitly requested, just use the collada name.
|
// If explicitly requested, just use the collada name.
|
||||||
if (useColladaName) {
|
if (useColladaName)
|
||||||
|
{
|
||||||
|
if (!pNode->mName.empty()) {
|
||||||
return pNode->mName;
|
return pNode->mName;
|
||||||
|
} else {
|
||||||
|
return format() << "$ColladaAutoName$_" << mNodeNameCounter++;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
// Now setup the name of the assimp node. The collada name might not be
|
// Now setup the name of the assimp node. The collada name might not be
|
||||||
// unique, so we use the collada ID.
|
// unique, so we use the collada ID.
|
||||||
if (!pNode->mID.empty())
|
if (!pNode->mID.empty())
|
||||||
|
@ -1943,5 +1949,6 @@ std::string ColladaLoader::FindNameForNode( const Collada::Node* pNode)
|
||||||
return format() << "$ColladaAutoName$_" << mNodeNameCounter++;
|
return format() << "$ColladaAutoName$_" << mNodeNameCounter++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#endif // !! ASSIMP_BUILD_NO_DAE_IMPORTER
|
#endif // !! ASSIMP_BUILD_NO_DAE_IMPORTER
|
||||||
|
|
Loading…
Reference in New Issue