allow to disable self-collision for a link-pair
This commit is contained in:
@@ -62,6 +62,13 @@ struct DefaultPluginCollisionInterface : public b3PluginCollisionInterface
|
|||||||
b3Swap(keyValue.m_objectUniqueIdA,keyValue.m_objectUniqueIdB);
|
b3Swap(keyValue.m_objectUniqueIdA,keyValue.m_objectUniqueIdB);
|
||||||
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
||||||
}
|
}
|
||||||
|
if (objectUniqueIdA==objectUniqueIdB)
|
||||||
|
{
|
||||||
|
if (keyValue.m_linkIndexA>keyValue.m_linkIndexB)
|
||||||
|
{
|
||||||
|
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
m_customCollisionFilters.insert(keyValue,keyValue);
|
m_customCollisionFilters.insert(keyValue,keyValue);
|
||||||
|
|
||||||
@@ -83,6 +90,13 @@ struct DefaultPluginCollisionInterface : public b3PluginCollisionInterface
|
|||||||
b3Swap(keyValue.m_objectUniqueIdA,keyValue.m_objectUniqueIdB);
|
b3Swap(keyValue.m_objectUniqueIdA,keyValue.m_objectUniqueIdB);
|
||||||
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
||||||
}
|
}
|
||||||
|
if (objectUniqueIdA==objectUniqueIdB)
|
||||||
|
{
|
||||||
|
if (keyValue.m_linkIndexA>keyValue.m_linkIndexB)
|
||||||
|
{
|
||||||
|
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
m_customCollisionFilters.remove(keyValue);
|
m_customCollisionFilters.remove(keyValue);
|
||||||
}
|
}
|
||||||
@@ -116,6 +130,13 @@ struct DefaultPluginCollisionInterface : public b3PluginCollisionInterface
|
|||||||
b3Swap(keyValue.m_objectUniqueIdA,keyValue.m_objectUniqueIdB);
|
b3Swap(keyValue.m_objectUniqueIdA,keyValue.m_objectUniqueIdB);
|
||||||
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
||||||
}
|
}
|
||||||
|
if (objectUniqueIdA==objectUniqueIdB)
|
||||||
|
{
|
||||||
|
if (keyValue.m_linkIndexA>keyValue.m_linkIndexB)
|
||||||
|
{
|
||||||
|
b3Swap(keyValue.m_linkIndexA,keyValue.m_linkIndexB);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
b3CustomCollisionFilter* filter = m_customCollisionFilters.find(keyValue);
|
b3CustomCollisionFilter* filter = m_customCollisionFilters.find(keyValue);
|
||||||
if (filter)
|
if (filter)
|
||||||
|
|||||||
Reference in New Issue
Block a user