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
[legend]
Collaboration diagram for btMultiBodyConstraint:
Collaboration graph
[legend]

Public Member Functions

 btMultiBodyConstraint (btMultiBody *bodyA, btMultiBody *bodyB, int linkA, int linkB, int numRows, bool isUnilateral)
 
virtual ~btMultiBodyConstraint ()
 
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 ()
 
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)
 

Protected Member Functions

void applyDeltaVee (btMultiBodyJacobianData &data, btScalar *delta_vee, btScalar impulse, int velocityIndex, int ndof)
 
void fillMultiBodyConstraintMixed (btMultiBodySolverConstraint &solverConstraint, btMultiBodyJacobianData &data, const btVector3 &contactNormalOnB, const btVector3 &posAworld, const btVector3 &posBworld, btScalar position, const btContactSolverInfo &infoGlobal, btScalar &relaxation, bool isFriction, btScalar desiredVelocity=0, btScalar cfmSlip=0)
 
btScalar fillConstraintRowMultiBodyMultiBody (btMultiBodySolverConstraint &constraintRow, btMultiBodyJacobianData &data, btScalar *jacOrgA, btScalar *jacOrgB, const btContactSolverInfo &infoGlobal, btScalar desiredVelocity, btScalar lowerLimit, btScalar upperLimit)
 

Protected Attributes

btMultiBodym_bodyA
 
btMultiBodym_bodyB
 
int m_linkA
 
int m_linkB
 
int m_num_rows
 
int m_jac_size_A
 
int m_jac_size_both
 
int m_pos_offset
 
bool m_isUnilateral
 
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 4 of file btMultiBodyConstraint.cpp.

btMultiBodyConstraint::~btMultiBodyConstraint ( )
virtual

Definition at line 19 of file btMultiBodyConstraint.cpp.

Member Function Documentation

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

Definition at line 212 of file btMultiBodyConstraint.cpp.

virtual void btMultiBodyConstraint::createConstraintRows ( btMultiBodyConstraintArray constraintRows,
btMultiBodyJacobianData data,
const btContactSolverInfo infoGlobal 
)
pure virtual
btScalar btMultiBodyConstraint::fillConstraintRowMultiBodyMultiBody ( btMultiBodySolverConstraint constraintRow,
btMultiBodyJacobianData data,
btScalar jacOrgA,
btScalar jacOrgB,
const btContactSolverInfo infoGlobal,
btScalar  desiredVelocity,
btScalar  lowerLimit,
btScalar  upperLimit 
)
protected

Definition at line 25 of file btMultiBodyConstraint.cpp.

void btMultiBodyConstraint::fillMultiBodyConstraintMixed ( btMultiBodySolverConstraint solverConstraint,
btMultiBodyJacobianData data,
const btVector3 contactNormalOnB,
const btVector3 posAworld,
const btVector3 posBworld,
btScalar  position,
const btContactSolverInfo infoGlobal,
btScalar relaxation,
bool  isFriction,
btScalar  desiredVelocity = 0,
btScalar  cfmSlip = 0 
)
protected

warm starting (or zero if disabled)

Definition at line 219 of file btMultiBodyConstraint.cpp.

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

Definition at line 153 of file btMultiBodyConstraint.h.

btMultiBody* btMultiBodyConstraint::getMultiBodyA ( )
inline

Definition at line 105 of file btMultiBodyConstraint.h.

btMultiBody* btMultiBodyConstraint::getMultiBodyB ( )
inline

Definition at line 109 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::getNumRows ( ) const
inline

Definition at line 100 of file btMultiBodyConstraint.h.

btScalar btMultiBodyConstraint::getPosition ( int  row) const
inline

Definition at line 117 of file btMultiBodyConstraint.h.

bool btMultiBodyConstraint::isUnilateral ( ) const
inline

Definition at line 128 of file btMultiBodyConstraint.h.

btScalar* btMultiBodyConstraint::jacobianA ( int  row)
inline

Definition at line 136 of file btMultiBodyConstraint.h.

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

Definition at line 140 of file btMultiBodyConstraint.h.

btScalar* btMultiBodyConstraint::jacobianB ( int  row)
inline

Definition at line 144 of file btMultiBodyConstraint.h.

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

Definition at line 148 of file btMultiBodyConstraint.h.

void btMultiBodyConstraint::setMaxAppliedImpulse ( btScalar  maxImp)
inline

Definition at line 157 of file btMultiBodyConstraint.h.

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

Definition at line 122 of file btMultiBodyConstraint.h.

Member Data Documentation

btMultiBody* btMultiBodyConstraint::m_bodyA
protected

Definition at line 46 of file btMultiBodyConstraint.h.

btMultiBody* btMultiBodyConstraint::m_bodyB
protected

Definition at line 47 of file btMultiBodyConstraint.h.

btAlignedObjectArray<btScalar> btMultiBodyConstraint::m_data
protected

Definition at line 65 of file btMultiBodyConstraint.h.

bool btMultiBodyConstraint::m_isUnilateral
protected

Definition at line 56 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_jac_size_A
protected

Definition at line 52 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_jac_size_both
protected

Definition at line 53 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_linkA
protected

Definition at line 48 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_linkB
protected

Definition at line 49 of file btMultiBodyConstraint.h.

btScalar btMultiBodyConstraint::m_maxAppliedImpulse
protected

Definition at line 58 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_num_rows
protected

Definition at line 51 of file btMultiBodyConstraint.h.

int btMultiBodyConstraint::m_pos_offset
protected

Definition at line 54 of file btMultiBodyConstraint.h.


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