| Bullet Collision Detection & Physics Library
    | 
 
 
 
Go to the documentation of this file.
   32 #ifndef BT_CONETWISTCONSTRAINT_H 
   33 #define BT_CONETWISTCONSTRAINT_H 
   39 #ifdef BT_USE_DOUBLE_PRECISION 
   40 #define btConeTwistConstraintData2 btConeTwistConstraintDoubleData 
   41 #define btConeTwistConstraintDataName "btConeTwistConstraintDoubleData" 
   43 #define btConeTwistConstraintData2 btConeTwistConstraintData 
   44 #define btConeTwistConstraintDataName "btConeTwistConstraintData" 
   45 #endif  //BT_USE_DOUBLE_PRECISION 
   60 #ifdef IN_PARALLELL_SOLVER 
  128         void adjustSwingAxisToUseEllipseNormal(
btVector3 & vSwingAxis) 
const;
 
  137         virtual void buildJacobian();
 
  162                 m_angularOnly = angularOnly;
 
  167                 return m_angularOnly;
 
  176                                 m_twistSpan = limitValue;
 
  181                                 m_swingSpan2 = limitValue;
 
  186                                 m_swingSpan1 = limitValue;
 
  216                                 btAssert(0 && 
"Invalid limitIndex specified for btConeTwistConstraint");
 
  235                 m_swingSpan1 = _swingSpan1;
 
  236                 m_swingSpan2 = _swingSpan2;
 
  237                 m_twistSpan = _twistSpan;
 
  239                 m_limitSoftness = _softness;
 
  240                 m_biasFactor = _biasFactor;
 
  241                 m_relaxationFactor = _relaxationFactor;
 
  249                 return m_solveTwistLimit;
 
  254                 return m_solveSwingLimit;
 
  259                 return m_twistLimitSign;
 
  262         void calcAngleInfo();
 
  279                 return m_limitSoftness;
 
  287                 return m_relaxationFactor;
 
  304                 m_maxMotorImpulse = maxMotorImpulse;
 
  305                 m_bNormalizedMotorStrength = 
false;
 
  309                 m_maxMotorImpulse = maxMotorImpulse;
 
  310                 m_bNormalizedMotorStrength = 
true;
 
  324         void setMotorTargetInConstraintSpace(
const btQuaternion& q);
 
  330         virtual void setParam(
int num, 
btScalar value, 
int axis = -1);
 
  345         virtual btScalar getParam(
int num, 
int axis = -1) 
const;
 
  375 #ifdef BT_BACKWARDS_COMPATIBLE_SERIALIZATION 
  395 #endif  //BT_BACKWARDS_COMPATIBLE_SERIALIZATION 
  423 #endif  //BT_CONETWISTCONSTRAINT_H 
  
The btSolverBody is an internal datastructure for the constraint solver. Only necessary data is packe...
TypedConstraint is the baseclass for Bullet constraints and vehicles.
bool m_bNormalizedMotorStrength
The btRigidBody is the main class for rigid body objects.
const btRigidBody & getRigidBodyB() const
#define btConeTwistConstraintData2
virtual const char * serialize(void *dataBuffer, class btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
The btQuaternion implements quaternion to perform linear algebra rotations in combination with btMatr...
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
btScalar m_swingCorrection
btTransformDoubleData m_rbBFrame
Jacobian entry is an abstraction that allows to describe constraints it can be used in combination wi...
const btTransform & getFrameOffsetB() const
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btScalar getMaxMotorImpulse() const
bool getAngularOnly() const
btScalar getTwistAngle() const
const btTransform & getAFrame() const
btVector3 m_accMotorImpulse
virtual int calculateSerializeBufferSize() const
bool isMaxMotorImpulseNormalized() const
btScalar m_twistLimitRatio
btScalar getSwingSpan1() const
btScalar m_twistCorrection
void setFixThresh(btScalar fixThresh)
btScalar m_accTwistLimitImpulse
btScalar m_twistLimitSign
const btQuaternion & getMotorTarget() const
btScalar m_maxMotorImpulse
btConeTwistConstraint can be used to simulate ragdoll joints (upper arm, leg etc)
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
const btTransform & getBFrame() const
btScalar getBiasFactor() const
btScalar getLimit(int limitIndex) const
#define BT_DECLARE_ALIGNED_ALLOCATOR()
btVector3 can be used to represent 3D points and vectors.
btScalar getTwistLimitSign()
btTransformFloatData m_rbBFrame
const btRigidBody & getRigidBodyA() const
#define ATTRIBUTE_ALIGNED16(a)
btTypedConstraintDoubleData m_typeConstraintData
btScalar getSwingSpan2() const
void setLimit(btScalar _swingSpan1, btScalar _swingSpan2, btScalar _twistSpan, btScalar _softness=1.f, btScalar _biasFactor=0.3f, btScalar _relaxationFactor=1.0f)
virtual int calculateSerializeBufferSize() const
btScalar m_swingLimitRatio
void setMaxMotorImpulseNormalized(btScalar maxMotorImpulse)
void setAngularOnly(bool angularOnly)
void setLimit(int limitIndex, btScalar limitValue)
#define SIMD_FORCE_INLINE
btTransformFloatData m_rbAFrame
const btTransform & getFrameOffsetA() const
double m_relaxationFactor
void setMaxMotorImpulse(btScalar maxMotorImpulse)
this structure is not used, except for loading pre-2.82 .bullet files
btScalar getLimitSoftness() const
void setDamping(btScalar damping)
btScalar getTwistSpan() const
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
btScalar getRelaxationFactor() const
btTypedConstraintData m_typeConstraintData
btTransformDoubleData m_rbAFrame
btScalar m_accSwingLimitImpulse
bool isMotorEnabled() const
bool m_useSolveConstraintObsolete
btScalar getDamping() const
btScalar m_relaxationFactor
this structure is not used, except for loading pre-2.82 .bullet files
#define btConeTwistConstraintDataName