20#define DEFAULT_DEBUGDRAW_SIZE btScalar(0.05f)
60 else if (lowLim == uppLim)
68 if ((pos >= lowLim) && (pos < (lowLim - delta_max)))
70 lim_fact = (lowLim - pos) / delta_max;
72 else if (pos < lowLim)
83 if ((pos <= uppLim) && (pos > (uppLim - delta_max)))
85 lim_fact = (uppLim - pos) / delta_max;
87 else if (pos > uppLim)
129 tcd->m_disableCollisionsBetweenLinkedBodies =
false;
132 for (i = 0; i <
m_rbA.getNumConstraintRefs(); i++)
133 if (
m_rbA.getConstraintRef(i) ==
this)
134 tcd->m_disableCollisionsBetweenLinkedBodies =
true;
135 for (i = 0; i <
m_rbB.getNumConstraintRefs(); i++)
136 if (
m_rbB.getConstraintRef(i) ==
this)
137 tcd->m_disableCollisionsBetweenLinkedBodies =
true;
194 if (relativeAngle > 0.0f)
btScalar btNormalizeAngle(btScalar angleInRadians)
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
bool btEqual(btScalar a, btScalar eps)
#define DEFAULT_DEBUGDRAW_SIZE
#define btTypedConstraintData2
#define btTypedConstraintDataName
btScalar m_relaxationFactor
btScalar getError() const
Returns correction value multiplied by sign value.
void test(const btScalar angle)
Checks conastaint angle against limit.
void set(btScalar low, btScalar high, btScalar _softness=0.9f, btScalar _biasFactor=0.3f, btScalar _relaxationFactor=1.0f)
Sets all limit's parameters.
void fit(btScalar &angle) const
Checks given angle against limit.
The btRigidBody is the main class for rigid body objects.
void setMassProps(btScalar mass, const btVector3 &inertia)
virtual void * getUniquePointer(void *oldPtr)=0
virtual void serializeName(const char *ptr)=0
virtual const char * findNameForPointer(const void *ptr) const =0
btScalar m_appliedImpulse
btJointFeedback * m_jointFeedback
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btScalar getMotorFactor(btScalar pos, btScalar lowLim, btScalar uppLim, btScalar vel, btScalar timeFact)
internal method used by the constraint solver, don't use them directly
static btRigidBody & getFixedBody()
int m_overrideNumSolverIterations
btScalar m_breakingImpulseThreshold
btTypedConstraint(btTypedConstraintType type, btRigidBody &rbA)
void * m_userConstraintPtr
btVector3 can be used to represent 3D points and vectors.
btTypedObject(int objectType)