Skip to content

Commit 3f2395f

Browse files
authored
[Tools] Add option to filter collision models interacting with the tools to avoid missmatch (#40)
1 parent 16dcf2a commit 3f2395f

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

src/InfinyToolkit/InteractionTools/ArticulatedToolManager.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,9 @@ void ArticulatedToolManager::filterCollision()
453453

454454
if (c.elem.first.getCollisionModel() == l_jawModel1.get()->l_jawCollision.get() || c.elem.first.getCollisionModel() == l_jawModel2.get()->l_jawCollision.get()) // first model is a jaw
455455
{
456+
if (!c.elem.second.getCollisionModel()->getTags().includes(this->getTags()))
457+
continue;
458+
456459
info->idTool = c.elem.first.getIndex(); // id of the tool collision model
457460
if (c.elem.second.getCollisionModel()->getEnumType() == sofa::core::CollisionModel::TRIANGLE_TYPE) // first model is triangle model
458461
{
@@ -469,6 +472,9 @@ void ArticulatedToolManager::filterCollision()
469472
}
470473
else if (c.elem.second.getCollisionModel() == l_jawModel1.get()->l_jawCollision.get() || c.elem.second.getCollisionModel() == l_jawModel2.get()->l_jawCollision.get()) // second model is a jaw
471474
{
475+
if (!c.elem.first.getCollisionModel()->getTags().includes(this->getTags()))
476+
continue;
477+
472478
info->idTool = c.elem.second.getIndex();
473479
if (c.elem.first.getCollisionModel()->getEnumType() == sofa::core::CollisionModel::TRIANGLE_TYPE) // first model is triangle model
474480
{

0 commit comments

Comments
 (0)