add generic btConeTwistConstraint::setLimit, and change defaults for limit drawing

This commit is contained in:
erwin.coumans
2009-02-04 02:41:16 +00:00
parent 51f46c8acd
commit f4ad4b9d00
3 changed files with 33 additions and 6 deletions

View File

@@ -114,6 +114,31 @@ public:
m_angularOnly = angularOnly; m_angularOnly = angularOnly;
} }
void setLimit(int limitIndex,btScalar limitValue)
{
switch (limitIndex)
{
case 3:
{
m_swingSpan1 = limitValue;
break;
}
case 4:
{
m_swingSpan2 = limitValue;
break;
}
case 5:
{
m_twistSpan = limitValue;
break;
}
default:
{
}
};
}
void setLimit(btScalar _swingSpan1,btScalar _swingSpan2,btScalar _twistSpan, btScalar _softness = 0.8f, btScalar _biasFactor = 0.3f, btScalar _relaxationFactor = 1.0f) void setLimit(btScalar _swingSpan1,btScalar _swingSpan2,btScalar _twistSpan, btScalar _softness = 0.8f, btScalar _biasFactor = 0.3f, btScalar _relaxationFactor = 1.0f)
{ {
m_swingSpan1 = _swingSpan1; m_swingSpan1 = _swingSpan1;

View File

@@ -19,6 +19,8 @@ subject to the following restrictions:
static btRigidBody s_fixed(0, 0,0); static btRigidBody s_fixed(0, 0,0);
#define DEFAULT_DEBUGDRAW_SIZE btScalar(5.f)
btTypedConstraint::btTypedConstraint(btTypedConstraintType type) btTypedConstraint::btTypedConstraint(btTypedConstraintType type)
:m_userConstraintType(-1), :m_userConstraintType(-1),
m_userConstraintId(-1), m_userConstraintId(-1),
@@ -26,7 +28,7 @@ m_constraintType (type),
m_rbA(s_fixed), m_rbA(s_fixed),
m_rbB(s_fixed), m_rbB(s_fixed),
m_appliedImpulse(btScalar(0.)), m_appliedImpulse(btScalar(0.)),
m_DbgDrawSize(btScalar(-1.f)) m_dbgDrawSize(DEFAULT_DEBUGDRAW_SIZE)
{ {
s_fixed.setMassProps(btScalar(0.),btVector3(btScalar(0.),btScalar(0.),btScalar(0.))); s_fixed.setMassProps(btScalar(0.),btVector3(btScalar(0.),btScalar(0.),btScalar(0.)));
} }
@@ -37,7 +39,7 @@ m_constraintType (type),
m_rbA(rbA), m_rbA(rbA),
m_rbB(s_fixed), m_rbB(s_fixed),
m_appliedImpulse(btScalar(0.)), m_appliedImpulse(btScalar(0.)),
m_DbgDrawSize(btScalar(-1.f)) m_dbgDrawSize(DEFAULT_DEBUGDRAW_SIZE)
{ {
s_fixed.setMassProps(btScalar(0.),btVector3(btScalar(0.),btScalar(0.),btScalar(0.))); s_fixed.setMassProps(btScalar(0.),btVector3(btScalar(0.),btScalar(0.),btScalar(0.)));
@@ -51,7 +53,7 @@ m_constraintType (type),
m_rbA(rbA), m_rbA(rbA),
m_rbB(rbB), m_rbB(rbB),
m_appliedImpulse(btScalar(0.)), m_appliedImpulse(btScalar(0.)),
m_DbgDrawSize(btScalar(-1.f)) m_dbgDrawSize(DEFAULT_DEBUGDRAW_SIZE)
{ {
s_fixed.setMassProps(btScalar(0.),btVector3(btScalar(0.),btScalar(0.),btScalar(0.))); s_fixed.setMassProps(btScalar(0.),btVector3(btScalar(0.),btScalar(0.),btScalar(0.)));

View File

@@ -53,7 +53,7 @@ protected:
btRigidBody& m_rbA; btRigidBody& m_rbA;
btRigidBody& m_rbB; btRigidBody& m_rbB;
btScalar m_appliedImpulse; btScalar m_appliedImpulse;
btScalar m_DbgDrawSize; btScalar m_dbgDrawSize;
public: public:
@@ -165,11 +165,11 @@ public:
void setDbgDrawSize(btScalar dbgDrawSize) void setDbgDrawSize(btScalar dbgDrawSize)
{ {
m_DbgDrawSize = dbgDrawSize; m_dbgDrawSize = dbgDrawSize;
} }
btScalar getDbgDrawSize() btScalar getDbgDrawSize()
{ {
return m_DbgDrawSize; return m_dbgDrawSize;
} }
}; };