btConeTwistConstraint Class Reference

btConeTwistConstraint can be used to simulate ragdoll joints (upper arm, leg etc) More...

#include <btConeTwistConstraint.h>

Inheritance diagram for btConeTwistConstraint:
Inheritance graph
[legend]
Collaboration diagram for btConeTwistConstraint:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 btConeTwistConstraint (btRigidBody &rbA, btRigidBody &rbB, const btTransform &rbAFrame, const btTransform &rbBFrame)
 btConeTwistConstraint (btRigidBody &rbA, const btTransform &rbAFrame)
virtual void buildJacobian ()
 internal method used by the constraint solver, don't use them directly
virtual void getInfo1 (btConstraintInfo1 *info)
 internal method used by the constraint solver, don't use them directly
void getInfo1NonVirtual (btConstraintInfo1 *info)
virtual void getInfo2 (btConstraintInfo2 *info)
 internal method used by the constraint solver, don't use them directly
void getInfo2NonVirtual (btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btMatrix3x3 &invInertiaWorldA, const btMatrix3x3 &invInertiaWorldB)
virtual void solveConstraintObsolete (btRigidBody &bodyA, btRigidBody &bodyB, btScalar timeStep)
 internal method used by the constraint solver, don't use them directly
void updateRHS (btScalar timeStep)
const btRigidBodygetRigidBodyA () const
const btRigidBodygetRigidBodyB () const
void setAngularOnly (bool angularOnly)
void setLimit (int limitIndex, btScalar limitValue)
void setLimit (btScalar _swingSpan1, btScalar _swingSpan2, btScalar _twistSpan, btScalar _softness=1.f, btScalar _biasFactor=0.3f, btScalar _relaxationFactor=1.0f)
const btTransformgetAFrame ()
const btTransformgetBFrame ()
int getSolveTwistLimit ()
int getSolveSwingLimit ()
btScalar getTwistLimitSign ()
void calcAngleInfo ()
void calcAngleInfo2 (const btTransform &transA, const btTransform &transB, const btMatrix3x3 &invInertiaWorldA, const btMatrix3x3 &invInertiaWorldB)
btScalar getSwingSpan1 ()
btScalar getSwingSpan2 ()
btScalar getTwistSpan ()
btScalar getTwistAngle ()
bool isPastSwingLimit ()
void setDamping (btScalar damping)
void enableMotor (bool b)
void setMaxMotorImpulse (btScalar maxMotorImpulse)
void setMaxMotorImpulseNormalized (btScalar maxMotorImpulse)
btScalar getFixThresh ()
void setFixThresh (btScalar fixThresh)
void setMotorTarget (const btQuaternion &q)
void setMotorTargetInConstraintSpace (const btQuaternion &q)
btVector3 GetPointForAngle (btScalar fAngleInRadians, btScalar fLength) const
virtual void setParam (int num, btScalar value, int axis=-1)
 override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5).
virtual btScalar getParam (int num, int axis=-1) const
 return the local value of parameter
virtual int calculateSerializeBufferSize () const
virtual const char * serialize (void *dataBuffer, btSerializer *serializer) const
 fills the dataBuffer and returns the struct name (and 0 on failure)

Protected Member Functions

void init ()
void computeConeLimitInfo (const btQuaternion &qCone, btScalar &swingAngle, btVector3 &vSwingAxis, btScalar &swingLimit)
void computeTwistLimitInfo (const btQuaternion &qTwist, btScalar &twistAngle, btVector3 &vTwistAxis)
void adjustSwingAxisToUseEllipseNormal (btVector3 &vSwingAxis) const

Private Attributes

btJacobianEntry m_jac [3]
btTransform m_rbAFrame
btTransform m_rbBFrame
btScalar m_limitSoftness
btScalar m_biasFactor
btScalar m_relaxationFactor
btScalar m_damping
btScalar m_swingSpan1
btScalar m_swingSpan2
btScalar m_twistSpan
btScalar m_fixThresh
btVector3 m_swingAxis
btVector3 m_twistAxis
btScalar m_kSwing
btScalar m_kTwist
btScalar m_twistLimitSign
btScalar m_swingCorrection
btScalar m_twistCorrection
btScalar m_twistAngle
btScalar m_accSwingLimitImpulse
btScalar m_accTwistLimitImpulse
bool m_angularOnly
bool m_solveTwistLimit
bool m_solveSwingLimit
bool m_useSolveConstraintObsolete
btScalar m_swingLimitRatio
btScalar m_twistLimitRatio
btVector3 m_twistAxisA
bool m_bMotorEnabled
bool m_bNormalizedMotorStrength
btQuaternion m_qTarget
btScalar m_maxMotorImpulse
btVector3 m_accMotorImpulse
int m_flags
btScalar m_linCFM
btScalar m_linERP
btScalar m_angCFM

Detailed Description

btConeTwistConstraint can be used to simulate ragdoll joints (upper arm, leg etc)

Definition at line 53 of file btConeTwistConstraint.h.


Constructor & Destructor Documentation

btConeTwistConstraint::btConeTwistConstraint ( btRigidBody rbA,
btRigidBody rbB,
const btTransform rbAFrame,
const btTransform rbBFrame 
)

Definition at line 41 of file btConeTwistConstraint.cpp.

btConeTwistConstraint::btConeTwistConstraint ( btRigidBody rbA,
const btTransform rbAFrame 
)

Definition at line 50 of file btConeTwistConstraint.cpp.


Member Function Documentation

void btConeTwistConstraint::adjustSwingAxisToUseEllipseNormal ( btVector3 vSwingAxis  )  const [protected]

Definition at line 936 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::buildJacobian (  )  [virtual]

internal method used by the constraint solver, don't use them directly

Reimplemented from btTypedConstraint.

Definition at line 259 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::calcAngleInfo (  ) 

Definition at line 532 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::calcAngleInfo2 ( const btTransform transA,
const btTransform transB,
const btMatrix3x3 invInertiaWorldA,
const btMatrix3x3 invInertiaWorldB 
)

Definition at line 623 of file btConeTwistConstraint.cpp.

SIMD_FORCE_INLINE int btConeTwistConstraint::calculateSerializeBufferSize (  )  const [virtual]

Reimplemented from btTypedConstraint.

Definition at line 304 of file btConeTwistConstraint.h.

void btConeTwistConstraint::computeConeLimitInfo ( const btQuaternion qCone,
btScalar swingAngle,
btVector3 vSwingAxis,
btScalar swingLimit 
) [protected]

Definition at line 816 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::computeTwistLimitInfo ( const btQuaternion qTwist,
btScalar twistAngle,
btVector3 vTwistAxis 
) [protected]

Definition at line 912 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::enableMotor ( bool  b  )  [inline]

Definition at line 250 of file btConeTwistConstraint.h.

const btTransform& btConeTwistConstraint::getAFrame (  )  [inline]

Definition at line 208 of file btConeTwistConstraint.h.

const btTransform& btConeTwistConstraint::getBFrame (  )  [inline]

Definition at line 209 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getFixThresh (  )  [inline]

Definition at line 254 of file btConeTwistConstraint.h.

void btConeTwistConstraint::getInfo1 ( btConstraintInfo1 info  )  [virtual]

internal method used by the constraint solver, don't use them directly

Implements btTypedConstraint.

Definition at line 78 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::getInfo1NonVirtual ( btConstraintInfo1 info  ) 

Definition at line 108 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::getInfo2 ( btConstraintInfo2 info  )  [virtual]

internal method used by the constraint solver, don't use them directly

Implements btTypedConstraint.

Definition at line 117 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::getInfo2NonVirtual ( btConstraintInfo2 info,
const btTransform transA,
const btTransform transB,
const btMatrix3x3 invInertiaWorldA,
const btMatrix3x3 invInertiaWorldB 
)

Definition at line 122 of file btConeTwistConstraint.cpp.

btScalar btConeTwistConstraint::getParam ( int  num,
int  axis = -1 
) const [virtual]

return the local value of parameter

Implements btTypedConstraint.

Definition at line 1072 of file btConeTwistConstraint.cpp.

btVector3 btConeTwistConstraint::GetPointForAngle ( btScalar  fAngleInRadians,
btScalar  fLength 
) const

Definition at line 879 of file btConeTwistConstraint.cpp.

const btRigidBody& btConeTwistConstraint::getRigidBodyA (  )  const [inline]

Reimplemented from btTypedConstraint.

Definition at line 147 of file btConeTwistConstraint.h.

const btRigidBody& btConeTwistConstraint::getRigidBodyB (  )  const [inline]

Reimplemented from btTypedConstraint.

Definition at line 151 of file btConeTwistConstraint.h.

int btConeTwistConstraint::getSolveSwingLimit (  )  [inline]

Definition at line 216 of file btConeTwistConstraint.h.

int btConeTwistConstraint::getSolveTwistLimit (  )  [inline]

Definition at line 211 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getSwingSpan1 (  )  [inline]

Definition at line 229 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getSwingSpan2 (  )  [inline]

Definition at line 233 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getTwistAngle (  )  [inline]

Definition at line 241 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getTwistLimitSign (  )  [inline]

Definition at line 221 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getTwistSpan (  )  [inline]

Definition at line 237 of file btConeTwistConstraint.h.

void btConeTwistConstraint::init (  )  [protected]

Definition at line 60 of file btConeTwistConstraint.cpp.

bool btConeTwistConstraint::isPastSwingLimit (  )  [inline]

Definition at line 245 of file btConeTwistConstraint.h.

SIMD_FORCE_INLINE const char * btConeTwistConstraint::serialize ( void *  dataBuffer,
btSerializer serializer 
) const [virtual]

fills the dataBuffer and returns the struct name (and 0 on failure)

Reimplemented from btTypedConstraint.

Definition at line 312 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setAngularOnly ( bool  angularOnly  )  [inline]

Definition at line 156 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setDamping ( btScalar  damping  )  [inline]

Definition at line 248 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setFixThresh ( btScalar  fixThresh  )  [inline]

Definition at line 255 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setLimit ( btScalar  _swingSpan1,
btScalar  _swingSpan2,
btScalar  _twistSpan,
btScalar  _softness = 1.f,
btScalar  _biasFactor = 0.3f,
btScalar  _relaxationFactor = 1.0f 
) [inline]

Definition at line 197 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setLimit ( int  limitIndex,
btScalar  limitValue 
) [inline]

Definition at line 161 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setMaxMotorImpulse ( btScalar  maxMotorImpulse  )  [inline]

Definition at line 251 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setMaxMotorImpulseNormalized ( btScalar  maxMotorImpulse  )  [inline]

Definition at line 252 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setMotorTarget ( const btQuaternion q  ) 

Definition at line 970 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::setMotorTargetInConstraintSpace ( const btQuaternion q  ) 

Definition at line 984 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::setParam ( int  num,
btScalar  value,
int  axis = -1 
) [virtual]

override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5).

If no axis is provided, it uses the default axis for this constraint.

Implements btTypedConstraint.

Definition at line 1036 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::solveConstraintObsolete ( btRigidBody bodyA,
btRigidBody bodyB,
btScalar  timeStep 
) [virtual]

internal method used by the constraint solver, don't use them directly

solve angular part

Reimplemented from btTypedConstraint.

Definition at line 307 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::updateRHS ( btScalar  timeStep  ) 

Definition at line 524 of file btConeTwistConstraint.cpp.


Member Data Documentation

Definition at line 106 of file btConeTwistConstraint.h.

Definition at line 87 of file btConeTwistConstraint.h.

Definition at line 88 of file btConeTwistConstraint.h.

Definition at line 112 of file btConeTwistConstraint.h.

Definition at line 90 of file btConeTwistConstraint.h.

Definition at line 64 of file btConeTwistConstraint.h.

Definition at line 102 of file btConeTwistConstraint.h.

Definition at line 103 of file btConeTwistConstraint.h.

Definition at line 67 of file btConeTwistConstraint.h.

Definition at line 73 of file btConeTwistConstraint.h.

Definition at line 109 of file btConeTwistConstraint.h.

Definition at line 58 of file btConeTwistConstraint.h.

Definition at line 78 of file btConeTwistConstraint.h.

Definition at line 79 of file btConeTwistConstraint.h.

Definition at line 63 of file btConeTwistConstraint.h.

Definition at line 110 of file btConeTwistConstraint.h.

Definition at line 111 of file btConeTwistConstraint.h.

Definition at line 105 of file btConeTwistConstraint.h.

Definition at line 104 of file btConeTwistConstraint.h.

Definition at line 60 of file btConeTwistConstraint.h.

Definition at line 61 of file btConeTwistConstraint.h.

Definition at line 65 of file btConeTwistConstraint.h.

Definition at line 92 of file btConeTwistConstraint.h.

Definition at line 91 of file btConeTwistConstraint.h.

Definition at line 75 of file btConeTwistConstraint.h.

Definition at line 82 of file btConeTwistConstraint.h.

Definition at line 97 of file btConeTwistConstraint.h.

Definition at line 69 of file btConeTwistConstraint.h.

Definition at line 70 of file btConeTwistConstraint.h.

Definition at line 85 of file btConeTwistConstraint.h.

Definition at line 76 of file btConeTwistConstraint.h.

Definition at line 99 of file btConeTwistConstraint.h.

Definition at line 83 of file btConeTwistConstraint.h.

Definition at line 98 of file btConeTwistConstraint.h.

Definition at line 81 of file btConeTwistConstraint.h.

Definition at line 71 of file btConeTwistConstraint.h.

Definition at line 94 of file btConeTwistConstraint.h.


The documentation for this class was generated from the following files:

Generated on Mon Feb 15 22:22:13 2010 for Bullet Collision Detection & Physics Library by  doxygen 1.6.1