Bullet Collision Detection & Physics Library: btGeneric6DofConstraint Class Reference

Bullet Collision Detection & Physics Library

Public Member Functions | Public Attributes | Protected Member Functions | List of all members
btGeneric6DofConstraint Class Reference

btGeneric6DofConstraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space More...

`#include <btGeneric6DofConstraint.h>`

Inheritance diagram for btGeneric6DofConstraint:
[legend]
Collaboration diagram for btGeneric6DofConstraint:
[legend]

## Public Member Functions
| BT_DECLARE_ALIGNED_ALLOCATOR ()
| btGeneric6DofConstraint (btRigidBody &rbA, btRigidBody &rbB, const btTransform &frameInA, const btTransform &frameInB, bool useLinearReferenceFrameA)
| btGeneric6DofConstraint (btRigidBody &rbB, const btTransform &frameInB, bool useLinearReferenceFrameB)
void | calculateTransforms (const btTransform &transA, const btTransform &transB)
| Calcs global transform of the offsets. More...
void | calculateTransforms ()
const btTransform & | getCalculatedTransformA () const
| Gets the global transform of the offset for body A. More...
const btTransform & | getCalculatedTransformB () const
| Gets the global transform of the offset for body B. More...
const btTransform & | getFrameOffsetA () const
const btTransform & | getFrameOffsetB () const
btTransform & | getFrameOffsetA ()
btTransform & | getFrameOffsetB ()
virtual void | buildJacobian ()
| performs Jacobian calculation, and also calculates angle differences and axis 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 &linVelA, const btVector3 &linVelB, const btVector3 &angVelA, const btVector3 &angVelB)
void | updateRHS (btScalar timeStep)
btVector3 | getAxis (int axis_index) const
| Get the rotation axis in global coordinates. More...
btScalar | getAngle (int axis_index) const
| Get the relative Euler angle. More...
btScalar | getRelativePivotPosition (int axis_index) const
| Get the relative position of the constraint pivot. More...
void | setFrames (const btTransform &frameA, const btTransform &frameB)
bool | testAngularLimitMotor (int axis_index)
| Test angular limit. More...
void | setLinearLowerLimit (const btVector3 &linearLower)
void | getLinearLowerLimit (btVector3 &linearLower) const
void | setLinearUpperLimit (const btVector3 &linearUpper)
void | getLinearUpperLimit (btVector3 &linearUpper) const
void | setAngularLowerLimit (const btVector3 &angularLower)
void | getAngularLowerLimit (btVector3 &angularLower) const
void | setAngularUpperLimit (const btVector3 &angularUpper)
void | getAngularUpperLimit (btVector3 &angularUpper) const
btRotationalLimitMotor * | getRotationalLimitMotor (int index)
| Retrieves the angular limit informacion. More...
btTranslationalLimitMotor * | getTranslationalLimitMotor ()
| Retrieves the limit informacion. More...
void | setLimit (int axis, btScalar lo, btScalar hi)
bool | isLimited (int limitIndex) const
| Test limit. More...
virtual void | calcAnchorPos (void)
int | get_limit_motor_info2 (btRotationalLimitMotor *limot, const btTransform &transA, const btTransform &transB, const btVector3 &linVelA, const btVector3 &linVelB, const btVector3 &angVelA, const btVector3 &angVelB, btConstraintInfo2 *info, int row, btVector3 &ax1, int rotational, int rotAllowed=false)
bool | getUseFrameOffset () const
void | setUseFrameOffset (bool frameOffsetOnOff)
bool | getUseLinearReferenceFrameA () const
void | setUseLinearReferenceFrameA (bool linearReferenceFrameA)
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...
void | setAxis (const btVector3 &axis1, const btVector3 &axis2)
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 | setupSolverConstraint (btConstraintArray &ca, int solverBodyA, int solverBodyB, btScalar timeStep)
| 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 ()
Public Member Functions inherited from btTypedObject
| btTypedObject (int objectType)
int | getObjectType () const

## Public Attributes
bool | m_useSolveConstraintObsolete
| for backwards compatibility during the transition to 'getInfo/getInfo2' More...
Public Attributes inherited from btTypedObject
int | m_objectType

## Protected Member Functions
btGeneric6DofConstraint & | operator= (btGeneric6DofConstraint &other)
int | setAngularLimits (btConstraintInfo2 *info, int row_offset, const btTransform &transA, const btTransform &transB, const btVector3 &linVelA, const btVector3 &linVelB, const btVector3 &angVelA, const btVector3 &angVelB)
int | setLinearLimits (btConstraintInfo2 *info, int row, const btTransform &transA, const btTransform &transB, const btVector3 &linVelA, const btVector3 &linVelB, const btVector3 &angVelA, const btVector3 &angVelB)
void | buildLinearJacobian (btJacobianEntry &jacLinear, const btVector3 &normalWorld, const btVector3 &pivotAInW, const btVector3 &pivotBInW)
void | buildAngularJacobian (btJacobianEntry &jacAngular, const btVector3 &jointAxisW)
void | calculateLinearInfo ()
void | calculateAngleInfo ()
| calcs the euler angles between the two bodies. More...
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
btTransform | m_frameInA
| relative_frames More...
btTransform | m_frameInB
| the constraint space w.r.t body B More...
btJacobianEntry | m_jacLinear [3]
| Jacobians. More...
btJacobianEntry | m_jacAng [3]
| 3 orthogonal angular constraints More...
btTranslationalLimitMotor | m_linearLimits
| Linear_Limit_parameters. More...
btRotationalLimitMotor | m_angularLimits [3]
| hinge_parameters More...
btScalar | m_timeStep
| temporal variables More...
btTransform | m_calculatedTransformA
btTransform | m_calculatedTransformB
btVector3 | m_calculatedAxisAngleDiff
btVector3 | m_calculatedAxis [3]
btVector3 | m_calculatedLinearDiff
btScalar | m_factA
btScalar | m_factB
bool | m_hasStaticBody
btVector3 | m_AnchorPos
bool | m_useLinearReferenceFrameA
bool | m_useOffsetForConstraintFrame
int | m_flags
Protected Attributes inherited from btTypedConstraint
btRigidBody & | m_rbA
btRigidBody & | m_rbB
btScalar | m_appliedImpulse
btScalar | m_dbgDrawSize
btJointFeedback * | m_jointFeedback

## Additional Inherited Members
Static Public Member Functions inherited from btTypedConstraint
static btRigidBody & | getFixedBody ()

## Detailed Description

btGeneric6DofConstraint between two rigidbodies each with a pivotpoint that descibes the axis location in local space

btGeneric6DofConstraint can leave any of the 6 degree of freedom 'free' or 'locked'. currently this limit supports rotational motors

- For Linear limits, use btGeneric6DofConstraint.setLinearUpperLimit, btGeneric6DofConstraint.setLinearLowerLimit. You can set the parameters with the btTranslationalLimitMotor structure accsesible through the btGeneric6DofConstraint.getTranslationalLimitMotor method. At this moment translational motors are not supported. May be in the future.

- For Angular limits, use the btRotationalLimitMotor structure for configuring the limit. This is accessible through btGeneric6DofConstraint.getLimitMotor method, This brings support for limit parameters and motors.

- Angulars limits have these possible ranges:

  AXIS | MIN ANGLE | MAX ANGLE
  X | -PI | PI
  Y | -PI/2 | PI/2
  Z | -PI | PI

Definition at line 266 of file btGeneric6DofConstraint.h.

## Constructor & Destructor Documentation

## ◆ btGeneric6DofConstraint() [1/2]

btGeneric6DofConstraint::btGeneric6DofConstraint | ( | btRigidBody & | rbA,
|  | btRigidBody & | rbB,
|  | const btTransform & | frameInA,
|  | const btTransform & | frameInB,
|  | bool | useLinearReferenceFrameA
| ) |  |

Definition at line 31 of file btGeneric6DofConstraint.cpp.

## ◆ btGeneric6DofConstraint() [2/2]

btGeneric6DofConstraint::btGeneric6DofConstraint | ( | btRigidBody & | rbB,
|  | const btTransform & | frameInB,
|  | bool | useLinearReferenceFrameB
| ) |  |

not providing rigidbody A means implicitly using worldspace for body A

Definition at line 37 of file btGeneric6DofConstraint.cpp.

## Member Function Documentation

## ◆ BT_DECLARE_ALIGNED_ALLOCATOR()

btGeneric6DofConstraint::BT_DECLARE_ALIGNED_ALLOCATOR | ( |  | ) |

## ◆ buildAngularJacobian()

void btGeneric6DofConstraint::buildAngularJacobian | ( | btJacobianEntry & | jacAngular,
|  | const btVector3 & | jointAxisW
| ) |  |
| protected

Definition at line 381 of file btGeneric6DofConstraint.cpp.

## ◆ buildJacobian()

void btGeneric6DofConstraint::buildJacobian | ( |  | ) |
| virtual

performs Jacobian calculation, and also calculates angle differences and axis

Reimplemented from btTypedConstraint.

Definition at line 401 of file btGeneric6DofConstraint.cpp.

## ◆ buildLinearJacobian()

void btGeneric6DofConstraint::buildLinearJacobian | ( | btJacobianEntry & | jacLinear,
|  | const btVector3 & | normalWorld,
|  | const btVector3 & | pivotAInW,
|  | const btVector3 & | pivotBInW
| ) |  |
| protected

Definition at line 365 of file btGeneric6DofConstraint.cpp.

## ◆ calcAnchorPos()

void btGeneric6DofConstraint::calcAnchorPos | ( | void |  | ) |
| virtual

Definition at line 660 of file btGeneric6DofConstraint.cpp.

## ◆ calculateAngleInfo()

void btGeneric6DofConstraint::calculateAngleInfo | ( |  | ) |
| protected

calcs the euler angles between the two bodies.

Definition at line 306 of file btGeneric6DofConstraint.cpp.

## ◆ calculateLinearInfo()

void btGeneric6DofConstraint::calculateLinearInfo | ( |  | ) |
| protected

Definition at line 679 of file btGeneric6DofConstraint.cpp.

## ◆ calculateSerializeBufferSize()

int btGeneric6DofConstraint::calculateSerializeBufferSize | ( |  | ) | const
| inlinevirtual

Reimplemented from btTypedConstraint.

Reimplemented in btGeneric6DofSpringConstraint.

Definition at line 586 of file btGeneric6DofConstraint.h.

## ◆ calculateTransforms() [1/2]

void btGeneric6DofConstraint::calculateTransforms | ( | const btTransform & | transA,
|  | const btTransform & | transB
| ) |  |

Calcs global transform of the offsets.

Calcs the global transform for the joint offset for body A an B, and also calcs the agle differences between the bodies.

See also
  btGeneric6DofConstraint.getCalculatedTransformA , btGeneric6DofConstraint.getCalculatedTransformB, btGeneric6DofConstraint.calculateAngleInfo

Definition at line 341 of file btGeneric6DofConstraint.cpp.

## ◆ calculateTransforms() [2/2]

void btGeneric6DofConstraint::calculateTransforms | ( |  | ) |

Definition at line 336 of file btGeneric6DofConstraint.cpp.

## ◆ get_limit_motor_info2()

int btGeneric6DofConstraint::get_limit_motor_info2 | ( | btRotationalLimitMotor * | limot,
|  | const btTransform & | transA,
|  | const btTransform & | transB,
|  | const btVector3 & | linVelA,
|  | const btVector3 & | linVelB,
|  | const btVector3 & | angVelA,
|  | const btVector3 & | angVelB,
|  | btConstraintInfo2 * | info,
|  | int | row,
|  | btVector3 & | ax1,
|  | int | rotational,
|  | int | rotAllowed = `false`
| ) |  |

Definition at line 690 of file btGeneric6DofConstraint.cpp.

## ◆ getAngle()

btScalar btGeneric6DofConstraint::getAngle | ( | int | axis_index | ) | const

Get the relative Euler angle.

Precondition
  btGeneric6DofConstraint::calculateTransforms() must be called previously.

Definition at line 655 of file btGeneric6DofConstraint.cpp.

## ◆ getAngularLowerLimit()

void btGeneric6DofConstraint::getAngularLowerLimit | ( | btVector3 & | angularLower | ) | const
| inline

Definition at line 459 of file btGeneric6DofConstraint.h.

## ◆ getAngularUpperLimit()

void btGeneric6DofConstraint::getAngularUpperLimit | ( | btVector3 & | angularUpper | ) | const
| inline

Definition at line 471 of file btGeneric6DofConstraint.h.

## ◆ getAxis()

btVector3 btGeneric6DofConstraint::getAxis | ( | int | axis_index | ) | const

Get the rotation axis in global coordinates.

Precondition
  btGeneric6DofConstraint.buildJacobian must be called previously.

Definition at line 645 of file btGeneric6DofConstraint.cpp.

## ◆ getCalculatedTransformA()

const btTransform& btGeneric6DofConstraint::getCalculatedTransformA | ( |  | ) | const
| inline

Gets the global transform of the offset for body A.

See also
  btGeneric6DofConstraint.getFrameOffsetA, btGeneric6DofConstraint.getFrameOffsetB, btGeneric6DofConstraint.calculateAngleInfo.

Definition at line 359 of file btGeneric6DofConstraint.h.

## ◆ getCalculatedTransformB()

const btTransform& btGeneric6DofConstraint::getCalculatedTransformB | ( |  | ) | const
| inline

Gets the global transform of the offset for body B.

See also
  btGeneric6DofConstraint.getFrameOffsetA, btGeneric6DofConstraint.getFrameOffsetB, btGeneric6DofConstraint.calculateAngleInfo.

Definition at line 368 of file btGeneric6DofConstraint.h.

## ◆ getFlags()

virtual int btGeneric6DofConstraint::getFlags | ( |  | ) | const
| inlinevirtual

Definition at line 543 of file btGeneric6DofConstraint.h.

## ◆ getFrameOffsetA() [1/2]

const btTransform& btGeneric6DofConstraint::getFrameOffsetA | ( |  | ) | const
| inline

Definition at line 373 of file btGeneric6DofConstraint.h.

## ◆ getFrameOffsetA() [2/2]

btTransform& btGeneric6DofConstraint::getFrameOffsetA | ( |  | ) |
| inline

Definition at line 383 of file btGeneric6DofConstraint.h.

## ◆ getFrameOffsetB() [1/2]

const btTransform& btGeneric6DofConstraint::getFrameOffsetB | ( |  | ) | const
| inline

Definition at line 378 of file btGeneric6DofConstraint.h.

## ◆ getFrameOffsetB() [2/2]

btTransform& btGeneric6DofConstraint::getFrameOffsetB | ( |  | ) |
| inline

Definition at line 388 of file btGeneric6DofConstraint.h.

## ◆ getInfo1()

void btGeneric6DofConstraint::getInfo1 | ( | btConstraintInfo1 * | info | ) |
| virtual

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

Implements btTypedConstraint.

Definition at line 458 of file btGeneric6DofConstraint.cpp.

## ◆ getInfo1NonVirtual()

void btGeneric6DofConstraint::getInfo1NonVirtual | ( | btConstraintInfo1 * | info | ) |

Definition at line 493 of file btGeneric6DofConstraint.cpp.

## ◆ getInfo2()

void btGeneric6DofConstraint::getInfo2 | ( | btConstraintInfo2 * | info | ) |
| virtual

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

Implements btTypedConstraint.

Reimplemented in btGeneric6DofSpringConstraint.

Definition at line 508 of file btGeneric6DofConstraint.cpp.

## ◆ getInfo2NonVirtual()

void btGeneric6DofConstraint::getInfo2NonVirtual | ( | btConstraintInfo2 * | info,
|  | const btTransform & | transA,
|  | const btTransform & | transB,
|  | const btVector3 & | linVelA,
|  | const btVector3 & | linVelB,
|  | const btVector3 & | angVelA,
|  | const btVector3 & | angVelB
| ) |  |

Definition at line 531 of file btGeneric6DofConstraint.cpp.

## ◆ getLinearLowerLimit()

void btGeneric6DofConstraint::getLinearLowerLimit | ( | btVector3 & | linearLower | ) | const
| inline

Definition at line 438 of file btGeneric6DofConstraint.h.

## ◆ getLinearUpperLimit()

void btGeneric6DofConstraint::getLinearUpperLimit | ( | btVector3 & | linearUpper | ) | const
| inline

Definition at line 448 of file btGeneric6DofConstraint.h.

## ◆ getParam()

btScalar btGeneric6DofConstraint::getParam | ( | int | num,
|  | int | axis = `-1`
| ) |  | const
| virtual

return the local value of parameter

Implements btTypedConstraint.

Definition at line 908 of file btGeneric6DofConstraint.cpp.

## ◆ getRelativePivotPosition()

btScalar btGeneric6DofConstraint::getRelativePivotPosition | ( | int | axis_index | ) | const

Get the relative position of the constraint pivot.

Precondition
  btGeneric6DofConstraint::calculateTransforms() must be called previously.

Definition at line 650 of file btGeneric6DofConstraint.cpp.

## ◆ getRotationalLimitMotor()

btRotationalLimitMotor* btGeneric6DofConstraint::getRotationalLimitMotor | ( | int | index | ) |
| inline

Retrieves the angular limit informacion.

Definition at line 478 of file btGeneric6DofConstraint.h.

## ◆ getTranslationalLimitMotor()

btTranslationalLimitMotor* btGeneric6DofConstraint::getTranslationalLimitMotor | ( |  | ) |
| inline

Retrieves the limit informacion.

Definition at line 484 of file btGeneric6DofConstraint.h.

## ◆ getUseFrameOffset()

bool btGeneric6DofConstraint::getUseFrameOffset | ( |  | ) | const
| inline

Definition at line 529 of file btGeneric6DofConstraint.h.

## ◆ getUseLinearReferenceFrameA()

bool btGeneric6DofConstraint::getUseLinearReferenceFrameA | ( |  | ) | const
| inline

Definition at line 532 of file btGeneric6DofConstraint.h.

## ◆ isLimited()

bool btGeneric6DofConstraint::isLimited | ( | int | limitIndex | ) | const
| inline

Test limit.

- free means upper < lower,
- locked means upper == lower
- limited means upper > lower
- limitIndex: first 3 are linear, next 3 are angular

Definition at line 513 of file btGeneric6DofConstraint.h.

## ◆ operator=()

btGeneric6DofConstraint& btGeneric6DofConstraint::operator= | ( | btGeneric6DofConstraint & | other | ) |
| inlineprotected

Definition at line 314 of file btGeneric6DofConstraint.h.

## ◆ serialize()

const char * btGeneric6DofConstraint::serialize | ( | void * | dataBuffer,
|  | btSerializer * | serializer
| ) |  | const
| inlinevirtual

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

Reimplemented from btTypedConstraint.

Reimplemented in btGeneric6DofSpringConstraint.

Definition at line 592 of file btGeneric6DofConstraint.h.

## ◆ setAngularLimits()

int btGeneric6DofConstraint::setAngularLimits | ( | btConstraintInfo2 * | info,
|  | int | row_offset,
|  | const btTransform & | transA,
|  | const btTransform & | transB,
|  | const btVector3 & | linVelA,
|  | const btVector3 & | linVelB,
|  | const btVector3 & | angVelA,
|  | const btVector3 & | angVelB
| ) |  |
| protected

Definition at line 601 of file btGeneric6DofConstraint.cpp.

## ◆ setAngularLowerLimit()

void btGeneric6DofConstraint::setAngularLowerLimit | ( | const btVector3 & | angularLower | ) |
| inline

Definition at line 453 of file btGeneric6DofConstraint.h.

## ◆ setAngularUpperLimit()

void btGeneric6DofConstraint::setAngularUpperLimit | ( | const btVector3 & | angularUpper | ) |
| inline

Definition at line 465 of file btGeneric6DofConstraint.h.

## ◆ setAxis()

void btGeneric6DofConstraint::setAxis | ( | const btVector3 & | axis1,
|  | const btVector3 & | axis2
| ) |  |

Definition at line 958 of file btGeneric6DofConstraint.cpp.

## ◆ setFrames()

void btGeneric6DofConstraint::setFrames | ( | const btTransform & | frameA,
|  | const btTransform & | frameB
| ) |  |

Definition at line 637 of file btGeneric6DofConstraint.cpp.

## ◆ setLimit()

void btGeneric6DofConstraint::setLimit | ( | int | axis,
|  | btScalar | lo,
|  | btScalar | hi
| ) |  |
| inline

Definition at line 490 of file btGeneric6DofConstraint.h.

## ◆ setLinearLimits()

int btGeneric6DofConstraint::setLinearLimits | ( | btConstraintInfo2 * | info,
|  | int | row,
|  | const btTransform & | transA,
|  | const btTransform & | transB,
|  | const btVector3 & | linVelA,
|  | const btVector3 & | linVelB,
|  | const btVector3 & | angVelA,
|  | const btVector3 & | angVelB
| ) |  |
| protected

Definition at line 555 of file btGeneric6DofConstraint.cpp.

## ◆ setLinearLowerLimit()

void btGeneric6DofConstraint::setLinearLowerLimit | ( | const btVector3 & | linearLower | ) |
| inline

Definition at line 433 of file btGeneric6DofConstraint.h.

## ◆ setLinearUpperLimit()

void btGeneric6DofConstraint::setLinearUpperLimit | ( | const btVector3 & | linearUpper | ) |
| inline

Definition at line 443 of file btGeneric6DofConstraint.h.

## ◆ setParam()

void btGeneric6DofConstraint::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 859 of file btGeneric6DofConstraint.cpp.

## ◆ setUseFrameOffset()

void btGeneric6DofConstraint::setUseFrameOffset | ( | bool | frameOffsetOnOff | ) |
| inline

Definition at line 530 of file btGeneric6DofConstraint.h.

## ◆ setUseLinearReferenceFrameA()

void btGeneric6DofConstraint::setUseLinearReferenceFrameA | ( | bool | linearReferenceFrameA | ) |
| inline

Definition at line 533 of file btGeneric6DofConstraint.h.

## ◆ testAngularLimitMotor()

bool btGeneric6DofConstraint::testAngularLimitMotor | ( | int | axis_index | ) |

Test angular limit.

Calculates angular correction and returns true if limit needs to be corrected.

Precondition
  btGeneric6DofConstraint::calculateTransforms() must be called previously.

Definition at line 391 of file btGeneric6DofConstraint.cpp.

## ◆ updateRHS()

void btGeneric6DofConstraint::updateRHS | ( | btScalar | timeStep | ) |

Definition at line 632 of file btGeneric6DofConstraint.cpp.

## Member Data Documentation

## ◆ m_AnchorPos

btVector3 btGeneric6DofConstraint::m_AnchorPos
| protected

Definition at line 305 of file btGeneric6DofConstraint.h.

## ◆ m_angularLimits

btRotationalLimitMotor btGeneric6DofConstraint::m_angularLimits[3]
| protected

hinge_parameters

Definition at line 289 of file btGeneric6DofConstraint.h.

## ◆ m_calculatedAxis

btVector3 btGeneric6DofConstraint::m_calculatedAxis[3]
| protected

Definition at line 299 of file btGeneric6DofConstraint.h.

## ◆ m_calculatedAxisAngleDiff

btVector3 btGeneric6DofConstraint::m_calculatedAxisAngleDiff
| protected

Definition at line 298 of file btGeneric6DofConstraint.h.

## ◆ m_calculatedLinearDiff

btVector3 btGeneric6DofConstraint::m_calculatedLinearDiff
| protected

Definition at line 300 of file btGeneric6DofConstraint.h.

## ◆ m_calculatedTransformA

btTransform btGeneric6DofConstraint::m_calculatedTransformA
| protected

Definition at line 296 of file btGeneric6DofConstraint.h.

## ◆ m_calculatedTransformB

btTransform btGeneric6DofConstraint::m_calculatedTransformB
| protected

Definition at line 297 of file btGeneric6DofConstraint.h.

## ◆ m_factA

btScalar btGeneric6DofConstraint::m_factA
| protected

Definition at line 301 of file btGeneric6DofConstraint.h.

## ◆ m_factB

btScalar btGeneric6DofConstraint::m_factB
| protected

Definition at line 302 of file btGeneric6DofConstraint.h.

## ◆ m_flags

int btGeneric6DofConstraint::m_flags
| protected

Definition at line 310 of file btGeneric6DofConstraint.h.

## ◆ m_frameInA

btTransform btGeneric6DofConstraint::m_frameInA
| protected

relative_frames

the constraint space w.r.t body A

Definition at line 272 of file btGeneric6DofConstraint.h.

## ◆ m_frameInB

btTransform btGeneric6DofConstraint::m_frameInB
| protected

the constraint space w.r.t body B

Definition at line 273 of file btGeneric6DofConstraint.h.

## ◆ m_hasStaticBody

bool btGeneric6DofConstraint::m_hasStaticBody
| protected

Definition at line 303 of file btGeneric6DofConstraint.h.

## ◆ m_jacAng

btJacobianEntry btGeneric6DofConstraint::m_jacAng[3]
| protected

3 orthogonal angular constraints

Definition at line 279 of file btGeneric6DofConstraint.h.

## ◆ m_jacLinear

btJacobianEntry btGeneric6DofConstraint::m_jacLinear[3]
| protected

Jacobians.

3 orthogonal linear constraints

Definition at line 278 of file btGeneric6DofConstraint.h.

## ◆ m_linearLimits

btTranslationalLimitMotor btGeneric6DofConstraint::m_linearLimits
| protected

Linear_Limit_parameters.

Definition at line 284 of file btGeneric6DofConstraint.h.

## ◆ m_timeStep

btScalar btGeneric6DofConstraint::m_timeStep
| protected

temporal variables

Definition at line 295 of file btGeneric6DofConstraint.h.

## ◆ m_useLinearReferenceFrameA

bool btGeneric6DofConstraint::m_useLinearReferenceFrameA
| protected

Definition at line 307 of file btGeneric6DofConstraint.h.

## ◆ m_useOffsetForConstraintFrame

bool btGeneric6DofConstraint::m_useOffsetForConstraintFrame
| protected

Definition at line 308 of file btGeneric6DofConstraint.h.

## ◆ m_useSolveConstraintObsolete

bool btGeneric6DofConstraint::m_useSolveConstraintObsolete

for backwards compatibility during the transition to 'getInfo/getInfo2'

Definition at line 341 of file btGeneric6DofConstraint.h.

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

- btGeneric6DofConstraint.h
- btGeneric6DofConstraint.cpp