Public Member Functions | Protected Member Functions | Private Attributes

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

 BT_DECLARE_ALIGNED_ALLOCATOR ()
 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 (btSolverBody &bodyA, btSolverBody &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 void setFrames (const btTransform &frameA, const btTransform &frameB)
const btTransformgetFrameOffsetA () const
const btTransformgetFrameOffsetB () const
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 947 of file btConeTwistConstraint.cpp.

btConeTwistConstraint::BT_DECLARE_ALIGNED_ALLOCATOR (  ) 

Reimplemented from btTypedConstraint.

void btConeTwistConstraint::buildJacobian (  )  [virtual]

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

Reimplemented from btTypedConstraint.

Definition at line 260 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::calcAngleInfo (  ) 

Definition at line 533 of file btConeTwistConstraint.cpp.

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

Definition at line 624 of file btConeTwistConstraint.cpp.

int btConeTwistConstraint::calculateSerializeBufferSize (  )  const [inline, virtual]

Reimplemented from btTypedConstraint.

Definition at line 321 of file btConeTwistConstraint.h.

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

Definition at line 824 of file btConeTwistConstraint.cpp.

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

Definition at line 921 of file btConeTwistConstraint.cpp.

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

Definition at line 253 of file btConeTwistConstraint.h.

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

Definition at line 212 of file btConeTwistConstraint.h.

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

Definition at line 213 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getFixThresh (  )  [inline]

Definition at line 257 of file btConeTwistConstraint.h.

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

Definition at line 277 of file btConeTwistConstraint.h.

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

Definition at line 282 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 79 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::getInfo1NonVirtual ( btConstraintInfo1 info  ) 

Definition at line 109 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 118 of file btConeTwistConstraint.cpp.

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

Definition at line 123 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 1083 of file btConeTwistConstraint.cpp.

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

Definition at line 888 of file btConeTwistConstraint.cpp.

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

Reimplemented from btTypedConstraint.

Definition at line 151 of file btConeTwistConstraint.h.

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

Reimplemented from btTypedConstraint.

Definition at line 155 of file btConeTwistConstraint.h.

int btConeTwistConstraint::getSolveSwingLimit (  )  [inline]

Definition at line 220 of file btConeTwistConstraint.h.

int btConeTwistConstraint::getSolveTwistLimit (  )  [inline]

Definition at line 215 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getSwingSpan1 (  )  [inline]

Definition at line 233 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getSwingSpan2 (  )  [inline]

Definition at line 237 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getTwistAngle (  )  [inline]

Definition at line 245 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getTwistLimitSign (  )  [inline]

Definition at line 225 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getTwistSpan (  )  [inline]

Definition at line 241 of file btConeTwistConstraint.h.

void btConeTwistConstraint::init (  )  [protected]

Definition at line 61 of file btConeTwistConstraint.cpp.

bool btConeTwistConstraint::isPastSwingLimit (  )  [inline]

Definition at line 249 of file btConeTwistConstraint.h.

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

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

Reimplemented from btTypedConstraint.

Definition at line 329 of file btConeTwistConstraint.h.

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

Definition at line 160 of file btConeTwistConstraint.h.

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

Definition at line 251 of file btConeTwistConstraint.h.

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

Definition at line 258 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setFrames ( const btTransform frameA,
const btTransform frameB 
) [virtual]

Definition at line 1128 of file btConeTwistConstraint.cpp.

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

Definition at line 165 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 201 of file btConeTwistConstraint.h.

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

Definition at line 254 of file btConeTwistConstraint.h.

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

Definition at line 255 of file btConeTwistConstraint.h.

void btConeTwistConstraint::setMotorTarget ( const btQuaternion q  ) 

Definition at line 981 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::setMotorTargetInConstraintSpace ( const btQuaternion q  ) 

Definition at line 995 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 1047 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::solveConstraintObsolete ( btSolverBody &  ,
btSolverBody &  ,
btScalar   
) [virtual]

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

solve angular part

Reimplemented from btTypedConstraint.

Definition at line 308 of file btConeTwistConstraint.cpp.

void btConeTwistConstraint::updateRHS ( btScalar  timeStep  ) 

Definition at line 525 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: