ColladaConverter: when trying to create a unique name, double-check if it doesn't exist yet
This commit is contained in:
@@ -2412,8 +2412,14 @@ void ColladaConverter::syncOrAddRigidBody (btRigidBody* body)
|
|||||||
btCollisionShape* shape = body->getCollisionShape ();
|
btCollisionShape* shape = body->getCollisionShape ();
|
||||||
|
|
||||||
if (!nodeName)
|
if (!nodeName)
|
||||||
|
{
|
||||||
|
//repeat until we have a unique name
|
||||||
|
do
|
||||||
{
|
{
|
||||||
snprintf(&nodeNameGen[0], 512, "BulletUnnamed-%d", random_node_name_key++);
|
snprintf(&nodeNameGen[0], 512, "BulletUnnamed-%d", random_node_name_key++);
|
||||||
|
}
|
||||||
|
while (findNode(&nodeNameGen[0]));
|
||||||
|
|
||||||
nodeName = &nodeNameGen[0];
|
nodeName = &nodeNameGen[0];
|
||||||
}
|
}
|
||||||
if (!shapeName)
|
if (!shapeName)
|
||||||
@@ -2481,8 +2487,13 @@ void ColladaConverter::syncOrAddConstraint (btTypedConstraint* constraint)
|
|||||||
const char* constraintName = NULL;
|
const char* constraintName = NULL;
|
||||||
if (!constraintName)
|
if (!constraintName)
|
||||||
{
|
{
|
||||||
// generate one
|
// generate one, and repeat until we have a unique name
|
||||||
sprintf(&namebuf[0], "BulletUnnamedConstraint-%d", random_node_name_key);
|
do
|
||||||
|
{
|
||||||
|
sprintf(&namebuf[0], "BulletUnnamedConstraint-%d", random_node_name_key++);
|
||||||
|
}
|
||||||
|
while (findNode(&namebuf[0]));
|
||||||
|
|
||||||
constraintName = &namebuf[0];
|
constraintName = &namebuf[0];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user