Blender  V3.3
Classes | Macros | Enumerations | Functions | Variables
btConeTwistConstraint.h File Reference
#include "LinearMath/btVector3.h"
#include "btJacobianEntry.h"
#include "btTypedConstraint.h"

Go to the source code of this file.

Classes

struct  btConeTwistConstraintDoubleData
 
struct  btConeTwistConstraintData
 this structure is not used, except for loading pre-2.82 .bullet files More...
 

Macros

#define btConeTwistConstraintData2   btConeTwistConstraintData
 
#define btConeTwistConstraintDataName   "btConeTwistConstraintData"
 

Enumerations

enum  btConeTwistFlags { BT_CONETWIST_FLAGS_LIN_CFM = 1 , BT_CONETWIST_FLAGS_LIN_ERP = 2 , BT_CONETWIST_FLAGS_ANG_CFM = 4 }
 

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
 
 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 More...
 
virtual void getInfo1 (btConstraintInfo1 *info)
 
void getInfo1NonVirtual (btConstraintInfo1 *info)
 
virtual void getInfo2 (btConstraintInfo2 *info)
 
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 More...
 
void updateRHS (btScalar timeStep)
 
const btRigidBodygetRigidBodyA () const
 
const btRigidBodygetRigidBodyB () const
 
void setAngularOnly (bool angularOnly)
 
bool getAngularOnly () const
 
void setLimit (int limitIndex, btScalar limitValue)
 
btScalar getLimit (int limitIndex) const
 
void setLimit (btScalar _swingSpan1, btScalar _swingSpan2, btScalar _twistSpan, btScalar _softness=1.f, btScalar _biasFactor=0.3f, btScalar _relaxationFactor=1.0f)
 
const btTransformgetAFrame () const
 
const btTransformgetBFrame () const
 
int getSolveTwistLimit ()
 
int getSolveSwingLimit ()
 
btScalar getTwistLimitSign ()
 
void calcAngleInfo ()
 
void calcAngleInfo2 (const btTransform &transA, const btTransform &transB, const btMatrix3x3 &invInertiaWorldA, const btMatrix3x3 &invInertiaWorldB)
 
btScalar getSwingSpan1 () const
 
btScalar getSwingSpan2 () const
 
btScalar getTwistSpan () const
 
btScalar getLimitSoftness () const
 
btScalar getBiasFactor () const
 
btScalar getRelaxationFactor () const
 
btScalar getTwistAngle () const
 
bool isPastSwingLimit ()
 
btScalar getDamping () const
 
void setDamping (btScalar damping)
 
void enableMotor (bool b)
 
bool isMotorEnabled () const
 
btScalar getMaxMotorImpulse () const
 
bool isMaxMotorImpulseNormalized () const
 
void setMaxMotorImpulse (btScalar maxMotorImpulse)
 
void setMaxMotorImpulseNormalized (btScalar maxMotorImpulse)
 
btScalar getFixThresh ()
 
void setFixThresh (btScalar fixThresh)
 
void setMotorTarget (const btQuaternion &q)
 
const btQuaterniongetMotorTarget () const
 
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 More...
 
int getFlags () const
 
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) More...
 

Variables

btConeTwistConstraint __pad0__
 btConeTwistConstraint can be used to simulate ragdoll joints (upper arm, leg etc) More...
 
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
 

Macro Definition Documentation

◆ btConeTwistConstraintData2

#define btConeTwistConstraintData2   btConeTwistConstraintData

Definition at line 43 of file btConeTwistConstraint.h.

◆ btConeTwistConstraintDataName

#define btConeTwistConstraintDataName   "btConeTwistConstraintData"

Definition at line 44 of file btConeTwistConstraint.h.

Enumeration Type Documentation

◆ btConeTwistFlags

Enumerator
BT_CONETWIST_FLAGS_LIN_CFM 
BT_CONETWIST_FLAGS_LIN_ERP 
BT_CONETWIST_FLAGS_ANG_CFM 

Definition at line 49 of file btConeTwistConstraint.h.

Function Documentation

◆ adjustSwingAxisToUseEllipseNormal()

void btConeTwistConstraint::adjustSwingAxisToUseEllipseNormal ( btVector3 vSwingAxis) const
protected

Definition at line 929 of file btConeTwistConstraint.cpp.

References fabs(), grad(), m_swingSpan1, m_swingSpan2, SIMD_EPSILON, y, and z.

Referenced by calcAngleInfo2().

◆ BT_DECLARE_ALIGNED_ALLOCATOR()

BT_DECLARE_ALIGNED_ALLOCATOR ( )

◆ btConeTwistConstraint() [1/2]

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

Definition at line 35 of file btConeTwistConstraint.cpp.

References init.

Referenced by debugDrawConstraint().

◆ btConeTwistConstraint() [2/2]

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

Definition at line 42 of file btConeTwistConstraint.cpp.

References btVector3, init, m_rbAFrame, and m_rbBFrame.

◆ buildJacobian()

void btPoint2PointConstraint::buildJacobian ( )
virtual

◆ calcAngleInfo()

void btConeTwistConstraint::calcAngleInfo ( )

◆ calcAngleInfo2()

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

◆ calculateSerializeBufferSize()

virtual int calculateSerializeBufferSize ( ) const
virtual

◆ computeConeLimitInfo()

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

◆ computeTwistLimitInfo()

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

◆ enableMotor()

void enableMotor ( bool  b)

Definition at line 298 of file btConeTwistConstraint.h.

References usdtokens::b(), and m_bMotorEnabled.

◆ getAFrame()

btTransform & getAFrame ( ) const

Definition at line 244 of file btConeTwistConstraint.h.

References m_rbAFrame.

◆ getAngularOnly()

bool getAngularOnly ( ) const

Definition at line 165 of file btConeTwistConstraint.h.

References m_angularOnly.

◆ getBFrame()

btTransform & getBFrame ( ) const

Definition at line 245 of file btConeTwistConstraint.h.

References m_rbBFrame.

◆ getBiasFactor()

btScalar getBiasFactor ( ) const
inline

Definition at line 281 of file btConeTwistConstraint.h.

References m_biasFactor.

◆ getDamping()

btScalar getDamping ( ) const

Definition at line 295 of file btConeTwistConstraint.h.

References m_damping.

◆ getFixThresh()

btScalar getFixThresh ( )

Definition at line 313 of file btConeTwistConstraint.h.

References m_fixThresh.

◆ getFlags()

int getFlags ( ) const

Definition at line 347 of file btConeTwistConstraint.h.

References m_flags.

◆ getFrameOffsetA()

btTransform & getFrameOffsetA ( ) const

Definition at line 334 of file btConeTwistConstraint.h.

References m_rbAFrame.

◆ getFrameOffsetB()

btTransform & getFrameOffsetB ( ) const

Definition at line 339 of file btConeTwistConstraint.h.

References m_rbBFrame.

◆ getInfo1()

void getInfo1 ( btConstraintInfo1 info)
virtual

◆ getInfo1NonVirtual()

void btSliderConstraint::getInfo1NonVirtual ( btConstraintInfo1 info)

◆ getInfo2()

virtual void getInfo2 ( btConstraintInfo2 info)
virtual

◆ getInfo2NonVirtual()

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

◆ getLimit()

btScalar getLimit ( int  limitIndex) const

Definition at line 195 of file btConeTwistConstraint.h.

References btAssert, m_swingSpan1, m_swingSpan2, and m_twistSpan.

◆ getLimitSoftness()

btScalar getLimitSoftness ( ) const
inline

Definition at line 277 of file btConeTwistConstraint.h.

References m_limitSoftness.

◆ getMaxMotorImpulse()

btScalar getMaxMotorImpulse ( ) const

Definition at line 300 of file btConeTwistConstraint.h.

References m_maxMotorImpulse.

◆ getMotorTarget()

const btQuaternion& getMotorTarget ( ) const

Definition at line 321 of file btConeTwistConstraint.h.

References m_qTarget.

◆ getParam()

virtual btScalar getParam ( int  num,
int  axis = -1 
) const
virtual

return the local value of parameter

◆ GetPointForAngle()

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

◆ getRelaxationFactor()

btScalar getRelaxationFactor ( ) const
inline

Definition at line 285 of file btConeTwistConstraint.h.

References m_relaxationFactor.

◆ getRigidBodyA()

btRigidBody & getRigidBodyA ( ) const

◆ getRigidBodyB()

btRigidBody & getRigidBodyB ( ) const

◆ getSolveSwingLimit()

int getSolveSwingLimit ( )
inline

Definition at line 252 of file btConeTwistConstraint.h.

References m_solveSwingLimit.

◆ getSolveTwistLimit()

int getSolveTwistLimit ( )
inline

Definition at line 247 of file btConeTwistConstraint.h.

References m_solveTwistLimit.

◆ getSwingSpan1()

btScalar getSwingSpan1 ( ) const
inline

Definition at line 265 of file btConeTwistConstraint.h.

References m_swingSpan1.

◆ getSwingSpan2()

btScalar getSwingSpan2 ( ) const
inline

Definition at line 269 of file btConeTwistConstraint.h.

References m_swingSpan2.

◆ getTwistAngle()

btScalar getTwistAngle ( ) const
inline

Definition at line 289 of file btConeTwistConstraint.h.

References m_twistAngle.

◆ getTwistLimitSign()

btScalar getTwistLimitSign ( )
inline

Definition at line 257 of file btConeTwistConstraint.h.

References m_twistLimitSign.

◆ getTwistSpan()

btScalar getTwistSpan ( ) const
inline

Definition at line 273 of file btConeTwistConstraint.h.

References m_twistSpan.

◆ init()

void init ( )
protected

Definition at line 28 of file workbench_effect_antialiasing.c.

◆ isMaxMotorImpulseNormalized()

bool isMaxMotorImpulseNormalized ( ) const

Definition at line 301 of file btConeTwistConstraint.h.

References m_bNormalizedMotorStrength.

◆ isMotorEnabled()

bool isMotorEnabled ( ) const

Definition at line 299 of file btConeTwistConstraint.h.

References m_bMotorEnabled.

◆ isPastSwingLimit()

bool isPastSwingLimit ( )

Definition at line 293 of file btConeTwistConstraint.h.

References m_solveSwingLimit.

◆ serialize()

virtual const char* serialize ( void dataBuffer,
btSerializer serializer 
) const
virtual

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

◆ setAngularOnly()

void setAngularOnly ( bool  angularOnly)

Definition at line 160 of file btConeTwistConstraint.h.

References m_angularOnly.

◆ setDamping()

void setDamping ( btScalar  damping)

Definition at line 296 of file btConeTwistConstraint.h.

References m_damping.

Referenced by btHinge2Constraint().

◆ setFixThresh()

void setFixThresh ( btScalar  fixThresh)

Definition at line 314 of file btConeTwistConstraint.h.

References m_fixThresh.

◆ setFrames()

void btHingeConstraint::setFrames ( const btTransform frameA,
const btTransform frameB 
)
virtual

Definition at line 1110 of file btConeTwistConstraint.cpp.

References buildJacobian(), m_rbAFrame, and m_rbBFrame.

◆ setLimit() [1/2]

void setLimit ( btScalar  _swingSpan1,
btScalar  _swingSpan2,
btScalar  _twistSpan,
btScalar  _softness = 1.f,
btScalar  _biasFactor = 0.3f,
btScalar  _relaxationFactor = 1.0f 
)

◆ setLimit() [2/2]

void setLimit ( int  limitIndex,
btScalar  limitValue 
)

Definition at line 170 of file btConeTwistConstraint.h.

References m_swingSpan1, m_swingSpan2, and m_twistSpan.

◆ setMaxMotorImpulse()

void setMaxMotorImpulse ( btScalar  maxMotorImpulse)

Definition at line 302 of file btConeTwistConstraint.h.

References m_bNormalizedMotorStrength, and m_maxMotorImpulse.

◆ setMaxMotorImpulseNormalized()

void setMaxMotorImpulseNormalized ( btScalar  maxMotorImpulse)

Definition at line 307 of file btConeTwistConstraint.h.

References m_bNormalizedMotorStrength, and m_maxMotorImpulse.

◆ setMotorTarget()

void btConeTwistConstraint::setMotorTarget ( const btQuaternion q)

Definition at line 961 of file btConeTwistConstraint.cpp.

References m_rbAFrame, m_rbBFrame, and setMotorTargetInConstraintSpace().

Referenced by setMotorTarget().

◆ setMotorTargetInConstraintSpace()

void btConeTwistConstraint::setMotorTargetInConstraintSpace ( const btQuaternion q)

◆ setParam()

virtual void 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.

◆ solveConstraintObsolete()

void btConeTwistConstraint::solveConstraintObsolete ( btSolverBody bodyA,
btSolverBody bodyB,
btScalar  timeStep 
)
virtual

◆ updateRHS()

void btPoint2PointConstraint::updateRHS ( btScalar  timeStep)

Definition at line 509 of file btConeTwistConstraint.cpp.

References void.

Variable Documentation

◆ __pad0__

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

Definition at line 58 of file btConeTwistConstraint.h.

◆ m_accMotorImpulse

btVector3 m_accMotorImpulse

Definition at line 111 of file btConeTwistConstraint.h.

Referenced by buildJacobian(), and solveConstraintObsolete().

◆ m_accSwingLimitImpulse

btScalar m_accSwingLimitImpulse

Definition at line 92 of file btConeTwistConstraint.h.

Referenced by buildJacobian(), and solveConstraintObsolete().

◆ m_accTwistLimitImpulse

btScalar m_accTwistLimitImpulse

Definition at line 93 of file btConeTwistConstraint.h.

Referenced by buildJacobian(), and solveConstraintObsolete().

◆ m_angCFM

btScalar m_angCFM

Definition at line 117 of file btConeTwistConstraint.h.

Referenced by getInfo2NonVirtual().

◆ m_angularOnly

bool m_angularOnly

◆ m_biasFactor

btScalar m_biasFactor

◆ m_bMotorEnabled

bool m_bMotorEnabled

◆ m_bNormalizedMotorStrength

bool m_bNormalizedMotorStrength

◆ m_damping

btScalar m_damping

◆ m_fixThresh

btScalar m_fixThresh

◆ m_flags

int m_flags

◆ m_kSwing

btScalar m_kSwing

Definition at line 83 of file btConeTwistConstraint.h.

Referenced by calcAngleInfo2(), and solveConstraintObsolete().

◆ m_kTwist

btScalar m_kTwist

Definition at line 84 of file btConeTwistConstraint.h.

Referenced by calcAngleInfo2(), and solveConstraintObsolete().

◆ m_limitSoftness

btScalar m_limitSoftness

◆ m_linCFM

btScalar m_linCFM

Definition at line 115 of file btConeTwistConstraint.h.

Referenced by getInfo2NonVirtual().

◆ m_linERP

btScalar m_linERP

Definition at line 116 of file btConeTwistConstraint.h.

Referenced by getInfo2NonVirtual().

◆ m_maxMotorImpulse

btScalar m_maxMotorImpulse

◆ m_qTarget

btQuaternion m_qTarget

◆ m_rbAFrame

btTransform m_rbAFrame

◆ m_rbBFrame

btTransform m_rbBFrame

◆ m_relaxationFactor

btScalar m_relaxationFactor

◆ m_solveSwingLimit

bool m_solveSwingLimit

◆ m_solveTwistLimit

bool m_solveTwistLimit

◆ m_swingAxis

btVector3 m_swingAxis

◆ m_swingCorrection

btScalar m_swingCorrection

◆ m_swingLimitRatio

btScalar m_swingLimitRatio

Definition at line 102 of file btConeTwistConstraint.h.

Referenced by calcAngleInfo2(), and solveConstraintObsolete().

◆ m_swingSpan1

btScalar m_swingSpan1

◆ m_swingSpan2

btScalar m_swingSpan2

◆ m_twistAngle

btScalar m_twistAngle

Definition at line 90 of file btConeTwistConstraint.h.

Referenced by calcAngleInfo(), calcAngleInfo2(), and getTwistAngle().

◆ m_twistAxis

btVector3 m_twistAxis

◆ m_twistAxisA

btVector3 m_twistAxisA

Definition at line 104 of file btConeTwistConstraint.h.

Referenced by calcAngleInfo2(), and solveConstraintObsolete().

◆ m_twistCorrection

btScalar m_twistCorrection

◆ m_twistLimitRatio

btScalar m_twistLimitRatio

Definition at line 103 of file btConeTwistConstraint.h.

Referenced by calcAngleInfo2(), and solveConstraintObsolete().

◆ m_twistLimitSign

btScalar m_twistLimitSign

Definition at line 86 of file btConeTwistConstraint.h.

Referenced by calcAngleInfo(), calcAngleInfo2(), and getTwistLimitSign().

◆ m_twistSpan

btScalar m_twistSpan

◆ m_useSolveConstraintObsolete

bool m_useSolveConstraintObsolete