Bullet Collision Detection & Physics Library
btMultiBodyLinkCollider Class Reference

#include <btMultiBodyLinkCollider.h>

Inheritance diagram for btMultiBodyLinkCollider:
Collaboration diagram for btMultiBodyLinkCollider:

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 btVector3getAnisotropicFriction () 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 btCollisionShapegetCollisionShape () const
btCollisionShapegetCollisionShape ()
void setIgnoreCollisionCheck (const btCollisionObject *co, bool ignoreCollisionCheck)
int getNumObjectsWithoutCollision () const
const btCollisionObjectgetObjectWithoutCollision (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
btTransformgetWorldTransform ()
const btTransformgetWorldTransform () const
void setWorldTransform (const btTransform &worldTrans)
btBroadphaseProxygetBroadphaseHandle ()
const btBroadphaseProxygetBroadphaseHandle () const
void setBroadphaseHandle (btBroadphaseProxy *handle)
const btTransformgetInterpolationWorldTransform () const
btTransformgetInterpolationWorldTransform ()
void setInterpolationWorldTransform (const btTransform &trans)
void setInterpolationLinearVelocity (const btVector3 &linvel)
void setInterpolationAngularVelocity (const btVector3 &angvel)
const btVector3getInterpolationLinearVelocity () const
const btVector3getInterpolationAngularVelocity () 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 btMultiBodyLinkColliderupcast (btCollisionObject *colObj)
static const btMultiBodyLinkColliderupcast (const btCollisionObject *colObj)

Public Attributes

btMultiBodym_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
btBroadphaseProxym_broadphaseHandle
btCollisionShapem_collisionShape
void * m_extensionPointer
 m_extensionPointer is used by some internal low-level Bullet extensions.
btCollisionShapem_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: