Bullet Collision Detection & Physics Library: btMultiBodyConstraint Class Reference

Bullet Collision Detection & Physics Library

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Hierarchy
- Class Members

Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btMultiBodyConstraint Class Referenceabstract

`#include <btMultiBodyConstraint.h>`

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

## Public Member Functions
| BT_DECLARE_ALIGNED_ALLOCATOR ()
| btMultiBodyConstraint (btMultiBody *bodyA, btMultiBody *bodyB, int linkA, int linkB, int numRows, bool isUnilateral, int type)
virtual | ~btMultiBodyConstraint ()
void | updateJacobianSizes ()
void | allocateJacobiansMultiDof ()
int | getConstraintType () const
virtual void | setFrameInB (const btMatrix3x3 &frameInB)
virtual void | setPivotInB (const btVector3 &pivotInB)
virtual void | finalizeMultiDof ()=0
virtual int | getIslandIdA () const =0
virtual int | getIslandIdB () const =0
virtual void | createConstraintRows (btMultiBodyConstraintArray &constraintRows, btMultiBodyJacobianData &data, const btContactSolverInfo &infoGlobal)=0
int | getNumRows () const
btMultiBody * | getMultiBodyA ()
btMultiBody * | getMultiBodyB ()
int | getLinkA () const
int | getLinkB () const
void | internalSetAppliedImpulse (int dof, btScalar appliedImpulse)
btScalar | getAppliedImpulse (int dof)
btScalar | getPosition (int row) const
void | setPosition (int row, btScalar pos)
bool | isUnilateral () const
btScalar * | jacobianA (int row)
const btScalar * | jacobianA (int row) const
btScalar * | jacobianB (int row)
const btScalar * | jacobianB (int row) const
btScalar | getMaxAppliedImpulse () const
void | setMaxAppliedImpulse (btScalar maxImp)
virtual void | debugDraw (class btIDebugDraw *drawer)=0
virtual void | setGearRatio (btScalar ratio)
virtual void | setGearAuxLink (int gearAuxLink)
virtual void | setRelativePositionTarget (btScalar relPosTarget)
virtual void | setErp (btScalar erp)

## Protected Member Functions
void | applyDeltaVee (btMultiBodyJacobianData &data, btScalar *delta_vee, btScalar impulse, int velocityIndex, int ndof)
btScalar | fillMultiBodyConstraint (btMultiBodySolverConstraint &solverConstraint, btMultiBodyJacobianData &data, btScalar *jacOrgA, btScalar *jacOrgB, const btVector3 &constraintNormalAng, const btVector3 &constraintNormalLin, const btVector3 &posAworld, const btVector3 &posBworld, btScalar posError, const btContactSolverInfo &infoGlobal, btScalar lowerLimit, btScalar upperLimit, bool angConstraint=false, btScalar relaxation=1.f, bool isFriction=false, btScalar desiredVelocity=0, btScalar cfmSlip=0, btScalar damping=1.0)

## Protected Attributes
btMultiBody * | m_bodyA
btMultiBody * | m_bodyB
int | m_linkA
int | m_linkB
int | m_type
int | m_numRows
int | m_jacSizeA
int | m_jacSizeBoth
int | m_posOffset
bool | m_isUnilateral
int | m_numDofsFinalized
btScalar | m_maxAppliedImpulse
btAlignedObjectArray< btScalar > | m_data

## Detailed Description

Definition at line 55 of file btMultiBodyConstraint.h.

## Constructor & Destructor Documentation

## ◆ btMultiBodyConstraint()

btMultiBodyConstraint::btMultiBodyConstraint | ( | btMultiBody * | bodyA,
|  | btMultiBody * | bodyB,
|  | int | linkA,
|  | int | linkB,
|  | int | numRows,
|  | bool | isUnilateral,
|  | int | type
| ) |  |

Definition at line 5 of file btMultiBodyConstraint.cpp.

## ◆ ~btMultiBodyConstraint()

btMultiBodyConstraint::~btMultiBodyConstraint | ( |  | ) |
| virtual

Definition at line 43 of file btMultiBodyConstraint.cpp.

## Member Function Documentation

## ◆ allocateJacobiansMultiDof()

void btMultiBodyConstraint::allocateJacobiansMultiDof | ( |  | ) |

Definition at line 35 of file btMultiBodyConstraint.cpp.

## ◆ applyDeltaVee()

void btMultiBodyConstraint::applyDeltaVee | ( | btMultiBodyJacobianData & | data,
|  | btScalar * | delta_vee,
|  | btScalar | impulse,
|  | int | velocityIndex,
|  | int | ndof
| ) |  |
| protected

Definition at line 47 of file btMultiBodyConstraint.cpp.

## ◆ BT_DECLARE_ALIGNED_ALLOCATOR()

btMultiBodyConstraint::BT_DECLARE_ALIGNED_ALLOCATOR | ( |  | ) |

## ◆ createConstraintRows()

virtual void btMultiBodyConstraint::createConstraintRows | ( | btMultiBodyConstraintArray & | constraintRows,
|  | btMultiBodyJacobianData & | data,
|  | const btContactSolverInfo & | infoGlobal
| ) |  |
| pure virtual

Implemented in btMultiBodyFixedConstraint, btMultiBodyGearConstraint, btMultiBodyJointLimitConstraint, btMultiBodyJointMotor, btMultiBodyPoint2Point, btMultiBodySliderConstraint, btMultiBodySphericalJointLimit, and btMultiBodySphericalJointMotor.

## ◆ debugDraw()

virtual void btMultiBodyConstraint::debugDraw | ( | class btIDebugDraw * | drawer | ) |
| pure virtual

Implemented in btMultiBodyFixedConstraint, btMultiBodyGearConstraint, btMultiBodyJointLimitConstraint, btMultiBodyJointMotor, btMultiBodyPoint2Point, btMultiBodySliderConstraint, btMultiBodySphericalJointLimit, and btMultiBodySphericalJointMotor.

## ◆ fillMultiBodyConstraint()

btScalar btMultiBodyConstraint::fillMultiBodyConstraint | ( | btMultiBodySolverConstraint & | solverConstraint,
|  | btMultiBodyJacobianData & | data,
|  | btScalar * | jacOrgA,
|  | btScalar * | jacOrgB,
|  | const btVector3 & | constraintNormalAng,
|  | const btVector3 & | constraintNormalLin,
|  | const btVector3 & | posAworld,
|  | const btVector3 & | posBworld,
|  | btScalar | posError,
|  | const btContactSolverInfo & | infoGlobal,
|  | btScalar | lowerLimit,
|  | btScalar | upperLimit,
|  | bool | angConstraint = `false`,
|  | btScalar | relaxation = `1.f`,
|  | bool | isFriction = `false`,
|  | btScalar | desiredVelocity = `0`,
|  | btScalar | cfmSlip = `0`,
|  | btScalar | damping = `1.0`
| ) |  |
| protected

Definition at line 53 of file btMultiBodyConstraint.cpp.

## ◆ finalizeMultiDof()

virtual void btMultiBodyConstraint::finalizeMultiDof | ( |  | ) |
| pure virtual

Implemented in btMultiBodyFixedConstraint, btMultiBodyGearConstraint, btMultiBodyJointLimitConstraint, btMultiBodyJointMotor, btMultiBodyPoint2Point, btMultiBodySliderConstraint, btMultiBodySphericalJointLimit, and btMultiBodySphericalJointMotor.

## ◆ getAppliedImpulse()

btScalar btMultiBodyConstraint::getAppliedImpulse | ( | int | dof | ) |
| inline

Definition at line 154 of file btMultiBodyConstraint.h.

## ◆ getConstraintType()

int btMultiBodyConstraint::getConstraintType | ( |  | ) | const
| inline

Definition at line 108 of file btMultiBodyConstraint.h.

## ◆ getIslandIdA()

virtual int btMultiBodyConstraint::getIslandIdA | ( |  | ) | const
| pure virtual

Implemented in btMultiBodyFixedConstraint, btMultiBodyGearConstraint, btMultiBodyJointLimitConstraint, btMultiBodyJointMotor, btMultiBodyPoint2Point, btMultiBodySliderConstraint, btMultiBodySphericalJointLimit, and btMultiBodySphericalJointMotor.

## ◆ getIslandIdB()

virtual int btMultiBodyConstraint::getIslandIdB | ( |  | ) | const
| pure virtual

Implemented in btMultiBodyFixedConstraint, btMultiBodyGearConstraint, btMultiBodyJointLimitConstraint, btMultiBodyJointMotor, btMultiBodyPoint2Point, btMultiBodySliderConstraint, btMultiBodySphericalJointLimit, and btMultiBodySphericalJointMotor.

## ◆ getLinkA()

int btMultiBodyConstraint::getLinkA | ( |  | ) | const
| inline

Definition at line 139 of file btMultiBodyConstraint.h.

## ◆ getLinkB()

int btMultiBodyConstraint::getLinkB | ( |  | ) | const
| inline

Definition at line 143 of file btMultiBodyConstraint.h.

## ◆ getMaxAppliedImpulse()

btScalar btMultiBodyConstraint::getMaxAppliedImpulse | ( |  | ) | const
| inline

Definition at line 198 of file btMultiBodyConstraint.h.

## ◆ getMultiBodyA()

btMultiBody * btMultiBodyConstraint::getMultiBodyA | ( |  | ) |
| inline

Definition at line 130 of file btMultiBodyConstraint.h.

## ◆ getMultiBodyB()

btMultiBody * btMultiBodyConstraint::getMultiBodyB | ( |  | ) |
| inline

Definition at line 134 of file btMultiBodyConstraint.h.

## ◆ getNumRows()

int btMultiBodyConstraint::getNumRows | ( |  | ) | const
| inline

Definition at line 125 of file btMultiBodyConstraint.h.

## ◆ getPosition()

btScalar btMultiBodyConstraint::getPosition | ( | int | row | ) | const
| inline

Definition at line 163 of file btMultiBodyConstraint.h.

## ◆ internalSetAppliedImpulse()

void btMultiBodyConstraint::internalSetAppliedImpulse | ( | int | dof,
|  | btScalar | appliedImpulse
| ) |  |
| inline

Definition at line 147 of file btMultiBodyConstraint.h.

## ◆ isUnilateral()

bool btMultiBodyConstraint::isUnilateral | ( |  | ) | const
| inline

Definition at line 173 of file btMultiBodyConstraint.h.

## ◆ jacobianA() [1/2]

btScalar * btMultiBodyConstraint::jacobianA | ( | int | row | ) |
| inline

Definition at line 181 of file btMultiBodyConstraint.h.

## ◆ jacobianA() [2/2]

const btScalar * btMultiBodyConstraint::jacobianA | ( | int | row | ) | const
| inline

Definition at line 185 of file btMultiBodyConstraint.h.

## ◆ jacobianB() [1/2]

btScalar * btMultiBodyConstraint::jacobianB | ( | int | row | ) |
| inline

Definition at line 189 of file btMultiBodyConstraint.h.

## ◆ jacobianB() [2/2]

const btScalar * btMultiBodyConstraint::jacobianB | ( | int | row | ) | const
| inline

Definition at line 193 of file btMultiBodyConstraint.h.

## ◆ setErp()

virtual void btMultiBodyConstraint::setErp | ( | btScalar | erp | ) |
| inlinevirtual

Reimplemented in btMultiBodyGearConstraint, btMultiBodyJointMotor, btMultiBodySphericalJointLimit, and btMultiBodySphericalJointMotor.

Definition at line 212 of file btMultiBodyConstraint.h.

## ◆ setFrameInB()

virtual void btMultiBodyConstraint::setFrameInB | ( | const btMatrix3x3 & | frameInB | ) |
| inlinevirtual

Reimplemented in btMultiBodyFixedConstraint, btMultiBodyGearConstraint, and btMultiBodySliderConstraint.

Definition at line 113 of file btMultiBodyConstraint.h.

## ◆ setGearAuxLink()

virtual void btMultiBodyConstraint::setGearAuxLink | ( | int | gearAuxLink | ) |
| inlinevirtual

Reimplemented in btMultiBodyGearConstraint.

Definition at line 210 of file btMultiBodyConstraint.h.

## ◆ setGearRatio()

virtual void btMultiBodyConstraint::setGearRatio | ( | btScalar | ratio | ) |
| inlinevirtual

Reimplemented in btMultiBodyGearConstraint.

Definition at line 209 of file btMultiBodyConstraint.h.

## ◆ setMaxAppliedImpulse()

void btMultiBodyConstraint::setMaxAppliedImpulse | ( | btScalar | maxImp | ) |
| inline

Definition at line 202 of file btMultiBodyConstraint.h.

## ◆ setPivotInB()

virtual void btMultiBodyConstraint::setPivotInB | ( | const btVector3 & | pivotInB | ) |
| inlinevirtual

Reimplemented in btMultiBodyFixedConstraint, btMultiBodyGearConstraint, btMultiBodyPoint2Point, and btMultiBodySliderConstraint.

Definition at line 114 of file btMultiBodyConstraint.h.

## ◆ setPosition()

void btMultiBodyConstraint::setPosition | ( | int | row,
|  | btScalar | pos
| ) |  |
| inline

Definition at line 168 of file btMultiBodyConstraint.h.

## ◆ setRelativePositionTarget()

virtual void btMultiBodyConstraint::setRelativePositionTarget | ( | btScalar | relPosTarget | ) |
| inlinevirtual

Reimplemented in btMultiBodyGearConstraint.

Definition at line 211 of file btMultiBodyConstraint.h.

## ◆ updateJacobianSizes()

void btMultiBodyConstraint::updateJacobianSizes | ( |  | ) |

Definition at line 20 of file btMultiBodyConstraint.cpp.

## Member Data Documentation

## ◆ m_bodyA

btMultiBody* btMultiBodyConstraint::m_bodyA
| protected

Definition at line 59 of file btMultiBodyConstraint.h.

## ◆ m_bodyB

btMultiBody* btMultiBodyConstraint::m_bodyB
| protected

Definition at line 60 of file btMultiBodyConstraint.h.

## ◆ m_data

btAlignedObjectArray<btScalar> btMultiBodyConstraint::m_data
| protected

Definition at line 80 of file btMultiBodyConstraint.h.

## ◆ m_isUnilateral

bool btMultiBodyConstraint::m_isUnilateral
| protected

Definition at line 71 of file btMultiBodyConstraint.h.

## ◆ m_jacSizeA

int btMultiBodyConstraint::m_jacSizeA
| protected

Definition at line 67 of file btMultiBodyConstraint.h.

## ◆ m_jacSizeBoth

int btMultiBodyConstraint::m_jacSizeBoth
| protected

Definition at line 68 of file btMultiBodyConstraint.h.

## ◆ m_linkA

int btMultiBodyConstraint::m_linkA
| protected

Definition at line 61 of file btMultiBodyConstraint.h.

## ◆ m_linkB

int btMultiBodyConstraint::m_linkB
| protected

Definition at line 62 of file btMultiBodyConstraint.h.

## ◆ m_maxAppliedImpulse

btScalar btMultiBodyConstraint::m_maxAppliedImpulse
| protected

Definition at line 73 of file btMultiBodyConstraint.h.

## ◆ m_numDofsFinalized

int btMultiBodyConstraint::m_numDofsFinalized
| protected

Definition at line 72 of file btMultiBodyConstraint.h.

## ◆ m_numRows

int btMultiBodyConstraint::m_numRows
| protected

Definition at line 66 of file btMultiBodyConstraint.h.

## ◆ m_posOffset

int btMultiBodyConstraint::m_posOffset
| protected

Definition at line 69 of file btMultiBodyConstraint.h.

## ◆ m_type

int btMultiBodyConstraint::m_type
| protected

Definition at line 64 of file btMultiBodyConstraint.h.

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

- btMultiBodyConstraint.h
- btMultiBodyConstraint.cpp