add support for the <interpenetrate>, which disables collisions between two bodies linked by a constraint.

This commit is contained in:
ejcoumans committed 2007-09-18 04:51:26 +00:00
1 parent 323eed2885
commit f7117466a2
3 files changed
+11 -6

No files matched your search

+6 -3
View File
@@ -624,7 +624,8 @@ void ColladaConverter::prepareConstraints(ConstraintInput& input)
);
}
domBool interpenetrate = commonRef->getInterpenetrate()->getValue();
bool disableCollisionsBetweenLinkedBodies = interpenetrate;
//convert INF / -INF into lower > upper
//currently there is a hack in the DOM to detect INF / -INF
@@ -681,7 +682,8 @@ void ColladaConverter::prepareConstraints(ConstraintInput& input)
linearLowerLimits,
linearUpperLimits,
angularLowerLimits,
angularUpperLimits
angularUpperLimits,
disableCollisionsBetweenLinkedBodies
);
} else
{
@@ -693,7 +695,8 @@ void ColladaConverter::prepareConstraints(ConstraintInput& input)
linearLowerLimits,
linearUpperLimits,
angularLowerLimits,
angularUpperLimits
angularUpperLimits,
disableCollisionsBetweenLinkedBodies
);
}
} else
+2 -1
View File
@@ -75,7 +75,8 @@ public:
const btVector3& linearMinLimits,
const btVector3& linearMaxLimits,
const btVector3& angularMinLimits,
const btVector3& angularMaxLimits
const btVector3& angularMaxLimits,
bool disableCollisionsBetweenLinkedBodies
) = 0;
virtual btRigidBody* createRigidBody(bool isDynamic,
+3 -2
View File
@@ -54,7 +54,8 @@ class MyColladaConverter : public ColladaConverter
const btVector3& linearMinLimits,
const btVector3& linearMaxLimits,
const btVector3& angularMinLimits,
const btVector3& angularMaxLimits
const btVector3& angularMaxLimits,
bool disableCollisionsBetweenLinkedBodies
)
{
if (bodyRef)
@@ -78,7 +79,7 @@ class MyColladaConverter : public ColladaConverter
genericConstraint->setAngularLowerLimit(angularMinLimits);
genericConstraint->setAngularUpperLimit(angularMaxLimits);
m_demoApp->getDynamicsWorld()->addConstraint( genericConstraint );
m_demoApp->getDynamicsWorld()->addConstraint( genericConstraint,disableCollisionsBetweenLinkedBodies );
return genericConstraint;
}