Bullet Collision Detection & Physics Library: btMultiBodyLinkCollider Class Reference

Bullet Collision Detection & Physics Library

Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
btMultiBodyLinkCollider Class Reference

`#include <btMultiBodyLinkCollider.h>`

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

## Public Member Functions
virtual | ~btMultiBodyLinkCollider ()
| btMultiBodyLinkCollider (btMultiBody *multiBody, int link)
virtual bool | checkCollideWithOverride (const btCollisionObject *co) const
bool | isStaticOrKinematic () const
bool | isKinematic () const
void | setDynamicType (int dynamicType)
virtual int | calculateSerializeBufferSize () const
virtual const char * | serialize (void *dataBuffer, class btSerializer *serializer) const
| fills the dataBuffer and returns the struct name (and 0 on failure)
Public Member Functions inherited from btCollisionObject
| BT_DECLARE_ALIGNED_ALLOCATOR ()
bool | mergesSimulationIslands () const
const btVector3 & | getAnisotropicFriction () const
void | setAnisotropicFriction (const btVector3 &anisotropicFriction, int frictionMode=CF_ANISOTROPIC_FRICTION)
bool | hasAnisotropicFriction (int frictionMode=CF_ANISOTROPIC_FRICTION) const
void | setContactProcessingThreshold (btScalar contactProcessingThreshold)
| the constraint solver can discard solving contacts, if the distance is above this threshold.
btScalar | getContactProcessingThreshold () const
bool | isStaticObject () const
bool | isKinematicObject () const
bool | isStaticOrKinematicObject () const
bool | hasContactResponse () const
| btCollisionObject ()
virtual | ~btCollisionObject ()
virtual void | setCollisionShape (btCollisionShape *collisionShape)
const btCollisionShape * | getCollisionShape () const
btCollisionShape * | getCollisionShape ()
void | setIgnoreCollisionCheck (const btCollisionObject *co, bool ignoreCollisionCheck)
int | getNumObjectsWithoutCollision () const
const btCollisionObject * | getObjectWithoutCollision (int index)
void * | internalGetExtensionPointer () const
| Avoid using this internal API call, the extension pointer is used by some Bullet extensions.
void | internalSetExtensionPointer (void *pointer)
| Avoid using this internal API call, the extension pointer is used by some Bullet extensions If you need to store your own user pointer, use 'setUserPointer/getUserPointer' instead.
int | getActivationState () const
void | setActivationState (int newState) const
void | setDeactivationTime (btScalar time)
btScalar | getDeactivationTime () const
void | forceActivationState (int newState) const
void | activate (bool forceActivation=false) const
bool | isActive () const
void | setRestitution (btScalar rest)
btScalar | getRestitution () const
void | setFriction (btScalar frict)
btScalar | getFriction () const
void | setRollingFriction (btScalar frict)
btScalar | getRollingFriction () const
void | setSpinningFriction (btScalar frict)
btScalar | getSpinningFriction () const
void | setContactStiffnessAndDamping (btScalar stiffness, btScalar damping)
btScalar | getContactStiffness () const
btScalar | getContactDamping () const
int | getInternalType () const
| reserved for Bullet internal usage
btTransform & | getWorldTransform ()
const btTransform & | getWorldTransform () const
void | setWorldTransform (const btTransform &worldTrans)
btBroadphaseProxy * | getBroadphaseHandle ()
const btBroadphaseProxy * | getBroadphaseHandle () const
void | setBroadphaseHandle (btBroadphaseProxy *handle)
const btTransform & | getInterpolationWorldTransform () const
btTransform & | getInterpolationWorldTransform ()
void | setInterpolationWorldTransform (const btTransform &trans)
void | setInterpolationLinearVelocity (const btVector3 &linvel)
void | setInterpolationAngularVelocity (const btVector3 &angvel)
const btVector3 & | getInterpolationLinearVelocity () const
const btVector3 & | getInterpolationAngularVelocity () const
int | getIslandTag () const
void | setIslandTag (int tag)
int | getCompanionId () const
void | setCompanionId (int id)
int | getWorldArrayIndex () const
void | setWorldArrayIndex (int ix)
btScalar | getHitFraction () const
void | setHitFraction (btScalar hitFraction)
int | getCollisionFlags () const
void | setCollisionFlags (int flags)
btScalar | getCcdSweptSphereRadius () const
| Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::
void | setCcdSweptSphereRadius (btScalar radius)
| Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::
btScalar | getCcdMotionThreshold () const
btScalar | getCcdSquareMotionThreshold () const
void | setCcdMotionThreshold (btScalar ccdMotionThreshold)
| Don't do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold.
void * | getUserPointer () const
| users can point to their objects, userPointer is not used by Bullet
int | getUserIndex () const
int | getUserIndex2 () const
int | getUserIndex3 () const
void | setUserPointer (void *userPointer)
| users can point to their objects, userPointer is not used by Bullet
void | setUserIndex (int index)
| users can point to their objects, userPointer is not used by Bullet
void | setUserIndex2 (int index)
void | setUserIndex3 (int index)
int | getUpdateRevisionInternal () const
void | setCustomDebugColor (const btVector3 &colorRGB)
void | removeCustomDebugColor ()
bool | getCustomDebugColor (btVector3 &colorRGB) const
bool | checkCollideWith (const btCollisionObject *co) const
virtual void | serializeSingleObject (class btSerializer *serializer) const

## Static Public Member Functions
static btMultiBodyLinkCollider * | upcast (btCollisionObject *colObj)
static const btMultiBodyLinkCollider * | upcast (const btCollisionObject *colObj)

## Public Attributes
btMultiBody * | m_multiBody
int | m_link

## Additional Inherited Members
Public Types inherited from btCollisionObject
enum | CollisionFlags { CF_DYNAMIC_OBJECT = 0 , CF_STATIC_OBJECT = 1 , CF_KINEMATIC_OBJECT = 2 , CF_NO_CONTACT_RESPONSE = 4 , CF_CUSTOM_MATERIAL_CALLBACK = 8 , CF_CHARACTER_OBJECT = 16 , CF_DISABLE_VISUALIZE_OBJECT = 32 , CF_DISABLE_SPU_COLLISION_PROCESSING = 64 , CF_HAS_CONTACT_STIFFNESS_DAMPING = 128 , CF_HAS_CUSTOM_DEBUG_RENDERING_COLOR = 256 , CF_HAS_FRICTION_ANCHOR = 512 , CF_HAS_COLLISION_SOUND_TRIGGER = 1024 }
enum | CollisionObjectTypes { CO_COLLISION_OBJECT = 1 , CO_RIGID_BODY = 2 , CO_GHOST_OBJECT = 4 , CO_SOFT_BODY = 8 , CO_HF_FLUID = 16 , CO_USER_TYPE = 32 , CO_FEATHERSTONE_LINK = 64 }
enum | AnisotropicFrictionFlags { CF_ANISOTROPIC_FRICTION_DISABLED = 0 , CF_ANISOTROPIC_FRICTION = 1 , CF_ANISOTROPIC_ROLLING_FRICTION = 2 }
Protected Attributes inherited from btCollisionObject
btTransform | m_worldTransform
btTransform | m_interpolationWorldTransform
| m_interpolationWorldTransform is used for CCD and interpolation it can be either previous or future (predicted) transform
btVector3 | m_interpolationLinearVelocity
btVector3 | m_interpolationAngularVelocity
btVector3 | m_anisotropicFriction
int | m_hasAnisotropicFriction
btScalar | m_contactProcessingThreshold
btBroadphaseProxy * | m_broadphaseHandle
btCollisionShape * | m_collisionShape
void * | m_extensionPointer
| m_extensionPointer is used by some internal low-level Bullet extensions.
btCollisionShape * | m_rootCollisionShape
| m_rootCollisionShape is temporarily used to store the original collision shape The m_collisionShape might be temporarily replaced by a child collision shape during collision detection purposes If it is NULL, the m_collisionShape is not temporarily replaced.
int | m_collisionFlags
int | m_islandTag1
int | m_companionId
int | m_worldArrayIndex
int | m_activationState1
btScalar | m_deactivationTime
btScalar | m_friction
btScalar | m_restitution
btScalar | m_rollingFriction
btScalar | m_spinningFriction
btScalar | m_contactDamping
btScalar | m_contactStiffness
int | m_internalType
| m_internalType is reserved to distinguish Bullet's btCollisionObject, btRigidBody, btSoftBody, btGhostObject etc.
void * | m_userObjectPointer
| users can point to their objects, m_userPointer is not used by Bullet, see setUserPointer/getUserPointer
int | m_userIndex2
int | m_userIndex
int | m_userIndex3
btScalar | m_hitFraction
| time of impact calculation
btScalar | m_ccdSweptSphereRadius
| Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::
btScalar | m_ccdMotionThreshold
| Don't do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold.
int | m_checkCollideWith
| If some object should have elaborate collision filtering by sub-classes.
btAlignedObjectArray< const btCollisionObject * > | m_objectsWithoutCollisionCheck
int | m_updateRevision
| internal update revision number. It will be increased when the object changes. This allows some subsystems to perform lazy evaluation.
btVector3 | m_customDebugColorRGB

## Detailed Description

Definition at line 32 of file btMultiBodyLinkCollider.h.

## Constructor & Destructor Documentation

## ◆ ~btMultiBodyLinkCollider()

virtual btMultiBodyLinkCollider::~btMultiBodyLinkCollider | ( |  | ) |
| inlinevirtual

Definition at line 39 of file btMultiBodyLinkCollider.h.

## ◆ btMultiBodyLinkCollider()

btMultiBodyLinkCollider::btMultiBodyLinkCollider | ( | btMultiBody * | multiBody,
|  | int | link )
| inline

Definition at line 43 of file btMultiBodyLinkCollider.h.

## Member Function Documentation

## ◆ calculateSerializeBufferSize()

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

Reimplemented from btCollisionObject.

Definition at line 176 of file btMultiBodyLinkCollider.h.

## ◆ checkCollideWithOverride()

virtual bool btMultiBodyLinkCollider::checkCollideWithOverride | ( | const btCollisionObject * | co | ) | const
| inlinevirtual

Reimplemented from btCollisionObject.

Definition at line 74 of file btMultiBodyLinkCollider.h.

## ◆ isKinematic()

bool btMultiBodyLinkCollider::isKinematic | ( |  | ) | const
| inline

Definition at line 138 of file btMultiBodyLinkCollider.h.

## ◆ isStaticOrKinematic()

bool btMultiBodyLinkCollider::isStaticOrKinematic | ( |  | ) | const
| inline

Definition at line 133 of file btMultiBodyLinkCollider.h.

## ◆ serialize()

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

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

Reimplemented from btCollisionObject.

Definition at line 181 of file btMultiBodyLinkCollider.h.

## ◆ setDynamicType()

void btMultiBodyLinkCollider::setDynamicType | ( | int | dynamicType | ) |
| inline

Definition at line 143 of file btMultiBodyLinkCollider.h.

## ◆ upcast() [1/2]

btMultiBodyLinkCollider * btMultiBodyLinkCollider::upcast | ( | btCollisionObject * | colObj | ) |
| inlinestatic

Definition at line 61 of file btMultiBodyLinkCollider.h.

## ◆ upcast() [2/2]

const btMultiBodyLinkCollider * btMultiBodyLinkCollider::upcast | ( | const btCollisionObject * | colObj | ) |
| inlinestatic

Definition at line 67 of file btMultiBodyLinkCollider.h.

## Member Data Documentation

## ◆ m_link

int btMultiBodyLinkCollider::m_link

Definition at line 37 of file btMultiBodyLinkCollider.h.

## ◆ m_multiBody

btMultiBody* btMultiBodyLinkCollider::m_multiBody

Definition at line 36 of file btMultiBodyLinkCollider.h.

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

- btMultiBodyLinkCollider.h