Bullet Collision Detection & Physics Library
|
hinge constraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space axis defines the orientation of the hinge axis More...
#include <btHingeConstraint.h>
Public Member Functions | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
btHingeConstraint (btRigidBody &rbA, btRigidBody &rbB, const btVector3 &pivotInA, const btVector3 &pivotInB, const btVector3 &axisInA, const btVector3 &axisInB, bool useReferenceFrameA=false) | |
btHingeConstraint (btRigidBody &rbA, const btVector3 &pivotInA, const btVector3 &axisInA, bool useReferenceFrameA=false) | |
btHingeConstraint (btRigidBody &rbA, btRigidBody &rbB, const btTransform &rbAFrame, const btTransform &rbBFrame, bool useReferenceFrameA=false) | |
btHingeConstraint (btRigidBody &rbA, const btTransform &rbAFrame, bool useReferenceFrameA=false) | |
virtual void | buildJacobian () |
internal method used by the constraint solver, don't use them directly More... | |
virtual void | getInfo1 (btConstraintInfo1 *info) |
internal method used by the constraint solver, don't use them directly More... | |
void | getInfo1NonVirtual (btConstraintInfo1 *info) |
virtual void | getInfo2 (btConstraintInfo2 *info) |
internal method used by the constraint solver, don't use them directly More... | |
void | getInfo2NonVirtual (btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btVector3 &angVelA, const btVector3 &angVelB) |
void | getInfo2Internal (btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btVector3 &angVelA, const btVector3 &angVelB) |
void | getInfo2InternalUsingFrameOffset (btConstraintInfo2 *info, const btTransform &transA, const btTransform &transB, const btVector3 &angVelA, const btVector3 &angVelB) |
void | updateRHS (btScalar timeStep) |
const btRigidBody & | getRigidBodyA () const |
const btRigidBody & | getRigidBodyB () const |
btRigidBody & | getRigidBodyA () |
btRigidBody & | getRigidBodyB () |
btTransform & | getFrameOffsetA () |
btTransform & | getFrameOffsetB () |
void | setFrames (const btTransform &frameA, const btTransform &frameB) |
void | setAngularOnly (bool angularOnly) |
void | enableAngularMotor (bool enableMotor, btScalar targetVelocity, btScalar maxMotorImpulse) |
void | enableMotor (bool enableMotor) |
void | setMaxMotorImpulse (btScalar maxMotorImpulse) |
void | setMotorTargetVelocity (btScalar motorTargetVelocity) |
void | setMotorTarget (const btQuaternion &qAinB, btScalar dt) |
void | setMotorTarget (btScalar targetAngle, btScalar dt) |
void | setLimit (btScalar low, btScalar high, btScalar _softness=0.9f, btScalar _biasFactor=0.3f, btScalar _relaxationFactor=1.0f) |
btScalar | getLimitSoftness () const |
btScalar | getLimitBiasFactor () const |
btScalar | getLimitRelaxationFactor () const |
void | setAxis (btVector3 &axisInA) |
bool | hasLimit () const |
btScalar | getLowerLimit () const |
btScalar | getUpperLimit () const |
btScalar | getHingeAngle () |
The getHingeAngle gives the hinge angle in range [-PI,PI]. More... | |
btScalar | getHingeAngle (const btTransform &transA, const btTransform &transB) |
void | testLimit (const btTransform &transA, const btTransform &transB) |
const btTransform & | getAFrame () const |
const btTransform & | getBFrame () const |
btTransform & | getAFrame () |
btTransform & | getBFrame () |
int | getSolveLimit () |
btScalar | getLimitSign () |
bool | getAngularOnly () |
bool | getEnableAngularMotor () |
btScalar | getMotorTargetVelocity () |
btScalar | getMaxMotorImpulse () |
bool | getUseFrameOffset () |
void | setUseFrameOffset (bool frameOffsetOnOff) |
bool | getUseReferenceFrameA () const |
void | setUseReferenceFrameA (bool useReferenceFrameA) |
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). More... | |
virtual btScalar | getParam (int num, int axis=-1) const |
return the local value of parameter More... | |
virtual 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... | |
Public Member Functions inherited from btTypedConstraint | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
virtual | ~btTypedConstraint () |
btTypedConstraint (btTypedConstraintType type, btRigidBody &rbA) | |
btTypedConstraint (btTypedConstraintType type, btRigidBody &rbA, btRigidBody &rbB) | |
int | getOverrideNumSolverIterations () const |
void | setOverrideNumSolverIterations (int overideNumIterations) |
override the number of constraint solver iterations used to solve this constraint -1 will use the default number of iterations, as specified in SolverInfo.m_numIterations More... | |
virtual void | buildJacobian () |
internal method used by the constraint solver, don't use them directly More... | |
virtual void | setupSolverConstraint (btConstraintArray &ca, int solverBodyA, int solverBodyB, btScalar timeStep) |
internal method used by the constraint solver, don't use them directly More... | |
virtual void | getInfo1 (btConstraintInfo1 *info)=0 |
internal method used by the constraint solver, don't use them directly More... | |
virtual void | getInfo2 (btConstraintInfo2 *info)=0 |
internal method used by the constraint solver, don't use them directly More... | |
void | internalSetAppliedImpulse (btScalar appliedImpulse) |
internal method used by the constraint solver, don't use them directly More... | |
btScalar | internalGetAppliedImpulse () |
internal method used by the constraint solver, don't use them directly More... | |
btScalar | getBreakingImpulseThreshold () const |
void | setBreakingImpulseThreshold (btScalar threshold) |
bool | isEnabled () const |
void | setEnabled (bool enabled) |
virtual void | solveConstraintObsolete (btSolverBody &, btSolverBody &, btScalar) |
internal method used by the constraint solver, don't use them directly More... | |
const btRigidBody & | getRigidBodyA () const |
const btRigidBody & | getRigidBodyB () const |
btRigidBody & | getRigidBodyA () |
btRigidBody & | getRigidBodyB () |
int | getUserConstraintType () const |
void | setUserConstraintType (int userConstraintType) |
void | setUserConstraintId (int uid) |
int | getUserConstraintId () const |
void | setUserConstraintPtr (void *ptr) |
void * | getUserConstraintPtr () |
void | setJointFeedback (btJointFeedback *jointFeedback) |
const btJointFeedback * | getJointFeedback () const |
btJointFeedback * | getJointFeedback () |
int | getUid () const |
bool | needsFeedback () const |
void | enableFeedback (bool needsFeedback) |
enableFeedback will allow to read the applied linear and angular impulse use getAppliedImpulse, getAppliedLinearImpulse and getAppliedAngularImpulse to read feedback information More... | |
btScalar | getAppliedImpulse () const |
getAppliedImpulse is an estimated total applied impulse. More... | |
btTypedConstraintType | getConstraintType () const |
void | setDbgDrawSize (btScalar dbgDrawSize) |
btScalar | getDbgDrawSize () |
virtual void | setParam (int num, btScalar value, int axis=-1)=0 |
override the default global value of a parameter (such as ERP or CFM), optionally provide the axis (0..5). More... | |
virtual btScalar | getParam (int num, int axis=-1) const =0 |
return the local value of parameter More... | |
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... | |
Public Member Functions inherited from btTypedObject | |
btTypedObject (int objectType) | |
int | getObjectType () const |
Additional Inherited Members | |
Static Public Member Functions inherited from btTypedConstraint | |
static btRigidBody & | getFixedBody () |
Public Attributes inherited from btTypedObject | |
int | m_objectType |
Protected Member Functions inherited from btTypedConstraint | |
btScalar | getMotorFactor (btScalar pos, btScalar lowLim, btScalar uppLim, btScalar vel, btScalar timeFact) |
internal method used by the constraint solver, don't use them directly More... | |
Protected Attributes inherited from btTypedConstraint | |
btRigidBody & | m_rbA |
btRigidBody & | m_rbB |
btScalar | m_appliedImpulse |
btScalar | m_dbgDrawSize |
btJointFeedback * | m_jointFeedback |
hinge constraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space axis defines the orientation of the hinge axis
Definition at line 47 of file btHingeConstraint.h.
btHingeConstraint::btHingeConstraint | ( | btRigidBody & | rbA, |
btRigidBody & | rbB, | ||
const btVector3 & | pivotInA, | ||
const btVector3 & | pivotInB, | ||
const btVector3 & | axisInA, | ||
const btVector3 & | axisInB, | ||
bool | useReferenceFrameA = false |
||
) |
Definition at line 30 of file btHingeConstraint.cpp.
btHingeConstraint::btHingeConstraint | ( | btRigidBody & | rbA, |
const btVector3 & | pivotInA, | ||
const btVector3 & | axisInA, | ||
bool | useReferenceFrameA = false |
||
) |
Definition at line 95 of file btHingeConstraint.cpp.
btHingeConstraint::btHingeConstraint | ( | btRigidBody & | rbA, |
btRigidBody & | rbB, | ||
const btTransform & | rbAFrame, | ||
const btTransform & | rbBFrame, | ||
bool | useReferenceFrameA = false |
||
) |
Definition at line 144 of file btHingeConstraint.cpp.
btHingeConstraint::btHingeConstraint | ( | btRigidBody & | rbA, |
const btTransform & | rbAFrame, | ||
bool | useReferenceFrameA = false |
||
) |
not providing rigidbody B means implicitly using worldspace for body B
Definition at line 173 of file btHingeConstraint.cpp.
btHingeConstraint::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
|
virtual |
internal method used by the constraint solver, don't use them directly
Reimplemented from btTypedConstraint.
Definition at line 204 of file btHingeConstraint.cpp.
|
inlinevirtual |
Reimplemented from btTypedConstraint.
Definition at line 436 of file btHingeConstraint.h.
|
inline |
Definition at line 159 of file btHingeConstraint.h.
|
inline |
Definition at line 169 of file btHingeConstraint.h.
|
inline |
Definition at line 276 of file btHingeConstraint.h.
|
inline |
Definition at line 273 of file btHingeConstraint.h.
|
inline |
Definition at line 297 of file btHingeConstraint.h.
|
inline |
Definition at line 277 of file btHingeConstraint.h.
|
inline |
Definition at line 274 of file btHingeConstraint.h.
|
inline |
Definition at line 301 of file btHingeConstraint.h.
|
inlinevirtual |
Definition at line 326 of file btHingeConstraint.h.
|
inline |
Definition at line 142 of file btHingeConstraint.h.
|
inline |
Definition at line 147 of file btHingeConstraint.h.
btScalar btHingeConstraint::getHingeAngle | ( | ) |
The getHingeAngle gives the hinge angle in range [-PI,PI].
Definition at line 642 of file btHingeConstraint.cpp.
btScalar btHingeConstraint::getHingeAngle | ( | const btTransform & | transA, |
const btTransform & | transB | ||
) |
Definition at line 647 of file btHingeConstraint.cpp.
|
virtual |
internal method used by the constraint solver, don't use them directly
Implements btTypedConstraint.
Reimplemented in btHingeAccumulatedAngleConstraint.
Definition at line 335 of file btHingeConstraint.cpp.
void btHingeConstraint::getInfo1NonVirtual | ( | btConstraintInfo1 * | info | ) |
Definition at line 357 of file btHingeConstraint.cpp.
|
virtual |
internal method used by the constraint solver, don't use them directly
Implements btTypedConstraint.
Definition at line 372 of file btHingeConstraint.cpp.
void btHingeConstraint::getInfo2Internal | ( | btConstraintInfo2 * | info, |
const btTransform & | transA, | ||
const btTransform & | transB, | ||
const btVector3 & | angVelA, | ||
const btVector3 & | angVelB | ||
) |
Definition at line 392 of file btHingeConstraint.cpp.
void btHingeConstraint::getInfo2InternalUsingFrameOffset | ( | btConstraintInfo2 * | info, |
const btTransform & | transA, | ||
const btTransform & | transB, | ||
const btVector3 & | angVelA, | ||
const btVector3 & | angVelB | ||
) |
Definition at line 734 of file btHingeConstraint.cpp.
void btHingeConstraint::getInfo2NonVirtual | ( | btConstraintInfo2 * | info, |
const btTransform & | transA, | ||
const btTransform & | transB, | ||
const btVector3 & | angVelA, | ||
const btVector3 & | angVelB | ||
) |
the regular (virtual) implementation getInfo2 already performs 'testLimit' during getInfo1, so we need to do it now
Definition at line 384 of file btHingeConstraint.cpp.
|
inline |
Definition at line 197 of file btHingeConstraint.h.
|
inline |
Definition at line 206 of file btHingeConstraint.h.
|
inline |
Definition at line 288 of file btHingeConstraint.h.
|
inline |
Definition at line 188 of file btHingeConstraint.h.
|
inline |
Definition at line 248 of file btHingeConstraint.h.
|
inline |
Definition at line 309 of file btHingeConstraint.h.
|
inline |
Definition at line 305 of file btHingeConstraint.h.
|
virtual |
return the local value of parameter
Implements btTypedConstraint.
Definition at line 1051 of file btHingeConstraint.cpp.
|
inline |
Definition at line 132 of file btHingeConstraint.h.
|
inline |
Definition at line 123 of file btHingeConstraint.h.
|
inline |
Definition at line 137 of file btHingeConstraint.h.
|
inline |
Definition at line 127 of file btHingeConstraint.h.
|
inline |
Definition at line 279 of file btHingeConstraint.h.
|
inline |
Definition at line 257 of file btHingeConstraint.h.
|
inline |
Definition at line 314 of file btHingeConstraint.h.
|
inline |
Definition at line 317 of file btHingeConstraint.h.
|
inline |
Definition at line 239 of file btHingeConstraint.h.
|
inlinevirtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented from btTypedConstraint.
Definition at line 442 of file btHingeConstraint.h.
|
inline |
Definition at line 154 of file btHingeConstraint.h.
|
inline |
Definition at line 215 of file btHingeConstraint.h.
void btHingeConstraint::setFrames | ( | const btTransform & | frameA, |
const btTransform & | frameB | ||
) |
Definition at line 630 of file btHingeConstraint.cpp.
|
inline |
Definition at line 175 of file btHingeConstraint.h.
|
inline |
Definition at line 170 of file btHingeConstraint.h.
Definition at line 715 of file btHingeConstraint.cpp.
void btHingeConstraint::setMotorTarget | ( | const btQuaternion & | qAinB, |
btScalar | dt | ||
) |
Definition at line 689 of file btHingeConstraint.cpp.
|
inline |
Definition at line 171 of file btHingeConstraint.h.
|
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 1018 of file btHingeConstraint.cpp.
|
inline |
Definition at line 315 of file btHingeConstraint.h.
|
inline |
Definition at line 318 of file btHingeConstraint.h.
void btHingeConstraint::testLimit | ( | const btTransform & | transA, |
const btTransform & | transB | ||
) |
Definition at line 657 of file btHingeConstraint.cpp.
void btHingeConstraint::updateRHS | ( | btScalar | timeStep | ) |
Definition at line 637 of file btHingeConstraint.cpp.
|
private |
Definition at line 79 of file btHingeConstraint.h.
|
private |
Definition at line 89 of file btHingeConstraint.h.
|
private |
Definition at line 83 of file btHingeConstraint.h.
|
private |
Definition at line 84 of file btHingeConstraint.h.
|
private |
Definition at line 91 of file btHingeConstraint.h.
|
private |
Definition at line 80 of file btHingeConstraint.h.
|
private |
Definition at line 53 of file btHingeConstraint.h.
|
private |
Definition at line 54 of file btHingeConstraint.h.
|
private |
Definition at line 77 of file btHingeConstraint.h.
|
private |
Definition at line 63 of file btHingeConstraint.h.
|
private |
Definition at line 60 of file btHingeConstraint.h.
|
private |
Definition at line 59 of file btHingeConstraint.h.
|
private |
Definition at line 92 of file btHingeConstraint.h.
|
private |
Definition at line 93 of file btHingeConstraint.h.
|
private |
Definition at line 56 of file btHingeConstraint.h.
|
private |
Definition at line 57 of file btHingeConstraint.h.
|
private |
Definition at line 81 of file btHingeConstraint.h.
|
private |
Definition at line 94 of file btHingeConstraint.h.
|
private |
Definition at line 95 of file btHingeConstraint.h.
|
private |
Definition at line 86 of file btHingeConstraint.h.
|
private |
Definition at line 87 of file btHingeConstraint.h.
|
private |
Definition at line 85 of file btHingeConstraint.h.