Bullet Collision Detection & Physics Library
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
btMultiBodyConstraint Class Referenceabstract

#include <btMultiBodyConstraint.h>

Inheritance diagram for btMultiBodyConstraint:
Inheritance graph
Collaboration diagram for btMultiBodyConstraint:
Collaboration graph

Public Member Functions

 btMultiBodyConstraint (btMultiBody *bodyA, btMultiBody *bodyB, int linkA, int linkB, int numRows, bool isUnilateral)
virtual ~btMultiBodyConstraint ()
void updateJacobianSizes ()
void allocateJacobiansMultiDof ()
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
btMultiBodygetMultiBodyA ()
btMultiBodygetMultiBodyB ()
void internalSetAppliedImpulse (int dof, btScalar appliedImpulse)
btScalar getAppliedImpulse (int dof)
btScalar getPosition (int row) const
void setPosition (int row, btScalar pos)
bool isUnilateral () const
btScalarjacobianA (int row)
const btScalarjacobianA (int row) const
btScalarjacobianB (int row)
const btScalarjacobianB (int row) const
btScalar getMaxAppliedImpulse () const
void setMaxAppliedImpulse (btScalar maxImp)
virtual void debugDraw (class btIDebugDraw *drawer)=0

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 &contactNormalOnB, const btVector3 &posAworld, const btVector3 &posBworld, btScalar posError, const btContactSolverInfo &infoGlobal, btScalar lowerLimit, btScalar upperLimit, btScalar relaxation=1.f, bool isFriction=false, btScalar desiredVelocity=0, btScalar cfmSlip=0)

Protected Attributes

int m_linkA
int m_linkB
int m_numRows
int m_jacSizeA
int m_jacSizeBoth
int m_posOffset
bool m_isUnilateral
int m_numDofsFinalized
btScalar m_maxAppliedImpulse
btAlignedObjectArray< btScalarm_data

Detailed Description

Definition at line 42 of file btMultiBodyConstraint.h.

Constructor & Destructor Documentation

btMultiBodyConstraint::btMultiBodyConstraint ( btMultiBody bodyA,
btMultiBody bodyB,
int  linkA,
int  linkB,
int  numRows,
bool  isUnilateral 

Definition at line 7 of file btMultiBodyConstraint.cpp.

btMultiBodyConstraint::~btMultiBodyConstraint ( )

Definition at line 51 of file btMultiBodyConstraint.cpp.

Member Function Documentation

void btMultiBodyConstraint::allocateJacobiansMultiDof ( )

Definition at line 43 of file btMultiBodyConstraint.cpp.

void btMultiBodyConstraint::applyDeltaVee ( btMultiBodyJacobianData data,
btScalar delta_vee,
btScalar  impulse,
int  velocityIndex,
int  ndof 

Definition at line 55 of file btMultiBodyConstraint.cpp.

virtual void btMultiBodyConstraint::createConstraintRows ( btMultiBodyConstraintArray constraintRows,
btMultiBodyJacobianData data,
const btContactSolverInfo infoGlobal 
pure virtual
virtual void btMultiBodyConstraint::debugDraw ( class btIDebugDraw drawer)
pure virtual
btScalar btMultiBodyConstraint::fillMultiBodyConstraint ( btMultiBodySolverConstraint solverConstraint,
btMultiBodyJacobianData data,
btScalar jacOrgA,
btScalar jacOrgB,
const btVector3 contactNormalOnB,
const btVector3 posAworld,
const btVector3 posBworld,
btScalar  posError,
const btContactSolverInfo infoGlobal,
btScalar  lowerLimit,
btScalar  upperLimit,
btScalar  relaxation = 1.f,
bool  isFriction = false,
btScalar  desiredVelocity = 0,
btScalar  cfmSlip = 0 

warm starting (or zero if disabled)

Definition at line 61 of file btMultiBodyConstraint.cpp.

virtual void btMultiBodyConstraint::finalizeMultiDof ( )
pure virtual
btScalar btMultiBodyConstraint::getAppliedImpulse ( int  dof)

Definition at line 119 of file btMultiBodyConstraint.h.

virtual int btMultiBodyConstraint::getIslandIdA ( ) const
pure virtual
virtual int btMultiBodyConstraint::getIslandIdB ( ) const
pure virtual
btScalar btMultiBodyConstraint::getMaxAppliedImpulse ( ) const

Definition at line 164 of file btMultiBodyConstraint.h.

btMultiBody* btMultiBodyConstraint::getMultiBodyA ( )

Definition at line 103 of file btMultiBodyConstraint.h.

btMultiBody* btMultiBodyConstraint::getMultiBodyB ( )

Definition at line 107 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::getNumRows ( ) const

Definition at line 98 of file btMultiBodyConstraint.h.

btScalar btMultiBodyConstraint::getPosition ( int  row) const

Definition at line 128 of file btMultiBodyConstraint.h.

void btMultiBodyConstraint::internalSetAppliedImpulse ( int  dof,
btScalar  appliedImpulse 

Definition at line 112 of file btMultiBodyConstraint.h.

bool btMultiBodyConstraint::isUnilateral ( ) const

Definition at line 139 of file btMultiBodyConstraint.h.

btScalar* btMultiBodyConstraint::jacobianA ( int  row)

Definition at line 147 of file btMultiBodyConstraint.h.

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

Definition at line 151 of file btMultiBodyConstraint.h.

btScalar* btMultiBodyConstraint::jacobianB ( int  row)

Definition at line 155 of file btMultiBodyConstraint.h.

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

Definition at line 159 of file btMultiBodyConstraint.h.

void btMultiBodyConstraint::setMaxAppliedImpulse ( btScalar  maxImp)

Definition at line 168 of file btMultiBodyConstraint.h.

void btMultiBodyConstraint::setPosition ( int  row,
btScalar  pos 

Definition at line 133 of file btMultiBodyConstraint.h.

void btMultiBodyConstraint::updateJacobianSizes ( )

Definition at line 22 of file btMultiBodyConstraint.cpp.

Member Data Documentation

btMultiBody* btMultiBodyConstraint::m_bodyA

Definition at line 46 of file btMultiBodyConstraint.h.

btMultiBody* btMultiBodyConstraint::m_bodyB

Definition at line 47 of file btMultiBodyConstraint.h.

btAlignedObjectArray<btScalar> btMultiBodyConstraint::m_data

Definition at line 66 of file btMultiBodyConstraint.h.

bool btMultiBodyConstraint::m_isUnilateral

Definition at line 56 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_jacSizeA

Definition at line 52 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_jacSizeBoth

Definition at line 53 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_linkA

Definition at line 48 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_linkB

Definition at line 49 of file btMultiBodyConstraint.h.

btScalar btMultiBodyConstraint::m_maxAppliedImpulse

Definition at line 58 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_numDofsFinalized

Definition at line 57 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_numRows

Definition at line 51 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_posOffset

Definition at line 54 of file btMultiBodyConstraint.h.

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