Fix self-collision code again (in case both flags are set)
This commit is contained in:
@@ -74,11 +74,6 @@ public:
|
|||||||
if (m_link>=0)
|
if (m_link>=0)
|
||||||
{
|
{
|
||||||
const btMultibodyLink& link = m_multiBody->getLink(this->m_link);
|
const btMultibodyLink& link = m_multiBody->getLink(this->m_link);
|
||||||
if (link.m_flags&BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION)
|
|
||||||
{
|
|
||||||
if ( link.m_parent == other->m_link)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (link.m_flags&BT_MULTIBODYLINKFLAGS_DISABLE_ALL_PARENT_COLLISION)
|
if (link.m_flags&BT_MULTIBODYLINKFLAGS_DISABLE_ALL_PARENT_COLLISION)
|
||||||
{
|
{
|
||||||
int parent_of_this = m_link;
|
int parent_of_this = m_link;
|
||||||
@@ -93,16 +88,17 @@ public:
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (link.m_flags&BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION)
|
||||||
|
{
|
||||||
|
if ( link.m_parent == other->m_link)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (other->m_link>=0)
|
if (other->m_link>=0)
|
||||||
{
|
{
|
||||||
const btMultibodyLink& otherLink = other->m_multiBody->getLink(other->m_link);
|
const btMultibodyLink& otherLink = other->m_multiBody->getLink(other->m_link);
|
||||||
if (otherLink.m_flags& BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION)
|
|
||||||
{
|
|
||||||
if (otherLink.m_parent == this->m_link)
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
if (otherLink.m_flags& BT_MULTIBODYLINKFLAGS_DISABLE_ALL_PARENT_COLLISION)
|
if (otherLink.m_flags& BT_MULTIBODYLINKFLAGS_DISABLE_ALL_PARENT_COLLISION)
|
||||||
{
|
{
|
||||||
int parent_of_other = other->m_link;
|
int parent_of_other = other->m_link;
|
||||||
@@ -115,6 +111,11 @@ public:
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (otherLink.m_flags& BT_MULTIBODYLINKFLAGS_DISABLE_PARENT_COLLISION)
|
||||||
|
{
|
||||||
|
if (otherLink.m_parent == this->m_link)
|
||||||
|
return false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user