Blender V2.61 - r43446
Public Member Functions | Protected Member Functions

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]

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)
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

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.

References init().

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

Definition at line 50 of file btConeTwistConstraint.cpp.

References init().


Member Function Documentation

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

Definition at line 936 of file btConeTwistConstraint.cpp.

References fabs(), grad(), and SIMD_EPSILON.

Referenced by calcAngleInfo2().

void btConeTwistConstraint::buildJacobian ( ) [virtual]
void btConeTwistConstraint::calcAngleInfo ( )
void btConeTwistConstraint::calcAngleInfo2 ( const btTransform transA,
const btTransform transB,
const btMatrix3x3 invInertiaWorldA,
const btMatrix3x3 invInertiaWorldB 
)
SIMD_FORCE_INLINE int btConeTwistConstraint::calculateSerializeBufferSize ( ) const [virtual]

Reimplemented from btTypedConstraint.

Definition at line 318 of file btConeTwistConstraint.h.

void btConeTwistConstraint::computeConeLimitInfo ( const btQuaternion qCone,
btScalar swingAngle,
btVector3 &  vSwingAxis,
btScalar swingLimit 
) [protected]
void btConeTwistConstraint::computeTwistLimitInfo ( const btQuaternion qTwist,
btScalar twistAngle,
btVector3 &  vTwistAxis 
) [protected]
void btConeTwistConstraint::enableMotor ( bool  b) [inline]

Definition at line 250 of file btConeTwistConstraint.h.

const btTransform& btConeTwistConstraint::getAFrame ( ) [inline]
const btTransform& btConeTwistConstraint::getBFrame ( ) [inline]
btScalar btConeTwistConstraint::getFixThresh ( ) [inline]

Definition at line 254 of file btConeTwistConstraint.h.

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

Definition at line 274 of file btConeTwistConstraint.h.

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

Definition at line 279 of file btConeTwistConstraint.h.

void btConeTwistConstraint::getInfo1 ( btConstraintInfo1 info) [virtual]
void btConeTwistConstraint::getInfo1NonVirtual ( btConstraintInfo1 info)
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.

References btRigidBody::getCenterOfMassTransform(), getInfo2NonVirtual(), btRigidBody::getInvInertiaTensorWorld(), btTypedConstraint::m_rbA, and btTypedConstraint::m_rbB.

void btConeTwistConstraint::getInfo2NonVirtual ( btConstraintInfo2 info,
const btTransform transA,
const btTransform transB,
const btMatrix3x3 invInertiaWorldA,
const btMatrix3x3 invInertiaWorldB 
)
btScalar btConeTwistConstraint::getParam ( int  num,
int  axis = -1 
) const [virtual]
btVector3 btConeTwistConstraint::GetPointForAngle ( btScalar  fAngleInRadians,
btScalar  fLength 
) const
const btRigidBody& btConeTwistConstraint::getRigidBodyA ( ) const [inline]
const btRigidBody& btConeTwistConstraint::getRigidBodyB ( ) const [inline]
int btConeTwistConstraint::getSolveSwingLimit ( ) [inline]

Definition at line 217 of file btConeTwistConstraint.h.

int btConeTwistConstraint::getSolveTwistLimit ( ) [inline]

Definition at line 212 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getSwingSpan1 ( ) [inline]

Definition at line 230 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getSwingSpan2 ( ) [inline]

Definition at line 234 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getTwistAngle ( ) [inline]
btScalar btConeTwistConstraint::getTwistLimitSign ( ) [inline]

Definition at line 222 of file btConeTwistConstraint.h.

btScalar btConeTwistConstraint::getTwistSpan ( ) [inline]
void btConeTwistConstraint::init ( ) [protected]

Definition at line 60 of file btConeTwistConstraint.cpp.

References BT_LARGE_FLOAT, CONETWIST_DEF_FIX_THRESH, and setLimit().

Referenced by btConeTwistConstraint().

bool btConeTwistConstraint::isPastSwingLimit ( ) [inline]

Definition at line 246 of file btConeTwistConstraint.h.

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

Definition at line 157 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::setFrames ( const btTransform frameA,
const btTransform frameB 
) [virtual]

Definition at line 1117 of file btConeTwistConstraint.cpp.

References buildJacobian().

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 198 of file btConeTwistConstraint.h.

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

Definition at line 162 of file btConeTwistConstraint.h.

Referenced by init(), and CcdPhysicsEnvironment::setConstraintParam().

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)
void btConeTwistConstraint::setMotorTargetInConstraintSpace ( const btQuaternion q)
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.

References BT_CONETWIST_FLAGS_ANG_CFM, BT_CONETWIST_FLAGS_LIN_CFM, BT_CONETWIST_FLAGS_LIN_ERP, BT_CONSTRAINT_CFM, BT_CONSTRAINT_ERP, BT_CONSTRAINT_STOP_CFM, BT_CONSTRAINT_STOP_ERP, and btAssertConstrParams.

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

Definition at line 524 of file btConeTwistConstraint.cpp.


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