Bullet Collision Detection & Physics Library: btCollisionObject Class Reference

Bullet Collision Detection & Physics Library

Public Types | Public Member Functions | Protected Attributes | List of all members
btCollisionObject Class Reference

btCollisionObject can be used to manage collision detection objects. More...

`#include <btCollisionObject.h>`

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

## Public Types
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 }

## Public Member Functions
| 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)
virtual bool | checkCollideWithOverride (const btCollisionObject *co) const
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 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)
virtual void | serializeSingleObject (class btSerializer *serializer) const

## Protected Attributes
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

btCollisionObject can be used to manage collision detection objects.

btCollisionObject maintains all information that is needed for a collision detection: Shape, Transform and AABB proxy. They can be added to the btCollisionWorld.

Definition at line 49 of file btCollisionObject.h.

## Member Enumeration Documentation

## ◆ AnisotropicFrictionFlags

enum btCollisionObject::AnisotropicFrictionFlags

Enumerator
CF_ANISOTROPIC_FRICTION_DISABLED |
CF_ANISOTROPIC_FRICTION |
CF_ANISOTROPIC_ROLLING_FRICTION |

Definition at line 158 of file btCollisionObject.h.

## ◆ CollisionFlags

enum btCollisionObject::CollisionFlags

Enumerator
CF_DYNAMIC_OBJECT |
CF_STATIC_OBJECT |
CF_KINEMATIC_OBJECT |
CF_NO_CONTACT_RESPONSE |
CF_CUSTOM_MATERIAL_CALLBACK |
CF_CHARACTER_OBJECT |
CF_DISABLE_VISUALIZE_OBJECT |
CF_DISABLE_SPU_COLLISION_PROCESSING |
CF_HAS_CONTACT_STIFFNESS_DAMPING |
CF_HAS_CUSTOM_DEBUG_RENDERING_COLOR |
CF_HAS_FRICTION_ANCHOR |
CF_HAS_COLLISION_SOUND_TRIGGER |

Definition at line 129 of file btCollisionObject.h.

## ◆ CollisionObjectTypes

enum btCollisionObject::CollisionObjectTypes

Enumerator
CO_COLLISION_OBJECT |
CO_RIGID_BODY |
CO_GHOST_OBJECT | CO_GHOST_OBJECT keeps track of all objects overlapping its AABB and that pass its collision filter It is useful for collision sensors, explosion objects, character controller etc.
CO_SOFT_BODY |
CO_HF_FLUID |
CO_USER_TYPE |
CO_FEATHERSTONE_LINK |

Definition at line 145 of file btCollisionObject.h.

## Constructor & Destructor Documentation

## ◆ btCollisionObject()

btCollisionObject::btCollisionObject | ( |  | ) |

Definition at line 20 of file btCollisionObject.cpp.

## ◆ ~btCollisionObject()

btCollisionObject::~btCollisionObject | ( |  | ) |
| virtual

Definition at line 57 of file btCollisionObject.cpp.

## Member Function Documentation

## ◆ activate()

void btCollisionObject::activate | ( | bool | forceActivation = false | ) | const

Definition at line 72 of file btCollisionObject.cpp.

## ◆ BT_DECLARE_ALIGNED_ALLOCATOR()

btCollisionObject::BT_DECLARE_ALIGNED_ALLOCATOR | ( |  | ) |

## ◆ calculateSerializeBufferSize()

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

Reimplemented in btMultiBodyLinkCollider, btRigidBody, and btSoftBody.

Definition at line 685 of file btCollisionObject.h.

## ◆ checkCollideWith()

bool btCollisionObject::checkCollideWith | ( | const btCollisionObject * | co | ) | const
| inline

Definition at line 596 of file btCollisionObject.h.

## ◆ checkCollideWithOverride()

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

Reimplemented in btMultiBodyLinkCollider.

Definition at line 266 of file btCollisionObject.h.

## ◆ forceActivationState()

void btCollisionObject::forceActivationState | ( | int | newState | ) | const

Definition at line 67 of file btCollisionObject.cpp.

## ◆ getActivationState()

int btCollisionObject::getActivationState | ( |  | ) | const
| inline

Definition at line 289 of file btCollisionObject.h.

## ◆ getAnisotropicFriction()

const btVector3 & btCollisionObject::getAnisotropicFriction | ( |  | ) | const
| inline

Definition at line 171 of file btCollisionObject.h.

## ◆ getBroadphaseHandle() [1/2]

btBroadphaseProxy * btCollisionObject::getBroadphaseHandle | ( |  | ) |
| inline

Definition at line 395 of file btCollisionObject.h.

## ◆ getBroadphaseHandle() [2/2]

const btBroadphaseProxy * btCollisionObject::getBroadphaseHandle | ( |  | ) | const
| inline

Definition at line 400 of file btCollisionObject.h.

## ◆ getCcdMotionThreshold()

btScalar btCollisionObject::getCcdMotionThreshold | ( |  | ) | const
| inline

Definition at line 511 of file btCollisionObject.h.

## ◆ getCcdSquareMotionThreshold()

btScalar btCollisionObject::getCcdSquareMotionThreshold | ( |  | ) | const
| inline

Definition at line 516 of file btCollisionObject.h.

## ◆ getCcdSweptSphereRadius()

btScalar btCollisionObject::getCcdSweptSphereRadius | ( |  | ) | const
| inline

Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::

Definition at line 500 of file btCollisionObject.h.

## ◆ getCollisionFlags()

int btCollisionObject::getCollisionFlags | ( |  | ) | const
| inline

Definition at line 489 of file btCollisionObject.h.

## ◆ getCollisionShape() [1/2]

btCollisionShape * btCollisionObject::getCollisionShape | ( |  | ) |
| inline

Definition at line 233 of file btCollisionObject.h.

## ◆ getCollisionShape() [2/2]

const btCollisionShape * btCollisionObject::getCollisionShape | ( |  | ) | const
| inline

Definition at line 228 of file btCollisionObject.h.

## ◆ getCompanionId()

int btCollisionObject::getCompanionId | ( |  | ) | const
| inline

Definition at line 458 of file btCollisionObject.h.

## ◆ getContactDamping()

btScalar btCollisionObject::getContactDamping | ( |  | ) | const
| inline

Definition at line 368 of file btCollisionObject.h.

## ◆ getContactProcessingThreshold()

btScalar btCollisionObject::getContactProcessingThreshold | ( |  | ) | const
| inline

Definition at line 192 of file btCollisionObject.h.

## ◆ getContactStiffness()

btScalar btCollisionObject::getContactStiffness | ( |  | ) | const
| inline

Definition at line 363 of file btCollisionObject.h.

## ◆ getCustomDebugColor()

bool btCollisionObject::getCustomDebugColor | ( | btVector3 & | colorRGB | ) | const
| inline

Definition at line 586 of file btCollisionObject.h.

## ◆ getDeactivationTime()

btScalar btCollisionObject::getDeactivationTime | ( |  | ) | const
| inline

Definition at line 297 of file btCollisionObject.h.

## ◆ getFriction()

btScalar btCollisionObject::getFriction | ( |  | ) | const
| inline

Definition at line 325 of file btCollisionObject.h.

## ◆ getHitFraction()

btScalar btCollisionObject::getHitFraction | ( |  | ) | const
| inline

Definition at line 479 of file btCollisionObject.h.

## ◆ getInternalType()

int btCollisionObject::getInternalType | ( |  | ) | const
| inline

reserved for Bullet internal usage

Definition at line 374 of file btCollisionObject.h.

## ◆ getInterpolationAngularVelocity()

const btVector3 & btCollisionObject::getInterpolationAngularVelocity | ( |  | ) | const
| inline

Definition at line 443 of file btCollisionObject.h.

## ◆ getInterpolationLinearVelocity()

const btVector3 & btCollisionObject::getInterpolationLinearVelocity | ( |  | ) | const
| inline

Definition at line 438 of file btCollisionObject.h.

## ◆ getInterpolationWorldTransform() [1/2]

btTransform & btCollisionObject::getInterpolationWorldTransform | ( |  | ) |
| inline

Definition at line 415 of file btCollisionObject.h.

## ◆ getInterpolationWorldTransform() [2/2]

const btTransform & btCollisionObject::getInterpolationWorldTransform | ( |  | ) | const
| inline

Definition at line 410 of file btCollisionObject.h.

## ◆ getIslandTag()

int btCollisionObject::getIslandTag | ( |  | ) | const
| inline

Definition at line 448 of file btCollisionObject.h.

## ◆ getNumObjectsWithoutCollision()

int btCollisionObject::getNumObjectsWithoutCollision | ( |  | ) | const
| inline

Definition at line 256 of file btCollisionObject.h.

## ◆ getObjectWithoutCollision()

const btCollisionObject * btCollisionObject::getObjectWithoutCollision | ( | int | index | ) |
| inline

Definition at line 261 of file btCollisionObject.h.

## ◆ getRestitution()

btScalar btCollisionObject::getRestitution | ( |  | ) | const
| inline

Definition at line 316 of file btCollisionObject.h.

## ◆ getRollingFriction()

btScalar btCollisionObject::getRollingFriction | ( |  | ) | const
| inline

Definition at line 335 of file btCollisionObject.h.

## ◆ getSpinningFriction()

btScalar btCollisionObject::getSpinningFriction | ( |  | ) | const
| inline

Definition at line 344 of file btCollisionObject.h.

## ◆ getUpdateRevisionInternal()

int btCollisionObject::getUpdateRevisionInternal | ( |  | ) | const
| inline

Definition at line 570 of file btCollisionObject.h.

## ◆ getUserIndex()

int btCollisionObject::getUserIndex | ( |  | ) | const
| inline

Definition at line 533 of file btCollisionObject.h.

## ◆ getUserIndex2()

int btCollisionObject::getUserIndex2 | ( |  | ) | const
| inline

Definition at line 538 of file btCollisionObject.h.

## ◆ getUserIndex3()

int btCollisionObject::getUserIndex3 | ( |  | ) | const
| inline

Definition at line 543 of file btCollisionObject.h.

## ◆ getUserPointer()

void * btCollisionObject::getUserPointer | ( |  | ) | const
| inline

users can point to their objects, userPointer is not used by Bullet

Definition at line 528 of file btCollisionObject.h.

## ◆ getWorldArrayIndex()

int btCollisionObject::getWorldArrayIndex | ( |  | ) | const
| inline

Definition at line 468 of file btCollisionObject.h.

## ◆ getWorldTransform() [1/2]

btTransform & btCollisionObject::getWorldTransform | ( |  | ) |
| inline

Definition at line 379 of file btCollisionObject.h.

## ◆ getWorldTransform() [2/2]

const btTransform & btCollisionObject::getWorldTransform | ( |  | ) | const
| inline

Definition at line 384 of file btCollisionObject.h.

## ◆ hasAnisotropicFriction()

bool btCollisionObject::hasAnisotropicFriction | ( | int | frictionMode = CF_ANISOTROPIC_FRICTION | ) | const
| inline

Definition at line 181 of file btCollisionObject.h.

## ◆ hasContactResponse()

bool btCollisionObject::hasContactResponse | ( |  | ) | const
| inline

Definition at line 212 of file btCollisionObject.h.

## ◆ internalGetExtensionPointer()

void * btCollisionObject::internalGetExtensionPointer | ( |  | ) | const
| inline

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.

Definition at line 278 of file btCollisionObject.h.

## ◆ internalSetExtensionPointer()

void btCollisionObject::internalSetExtensionPointer | ( | void * | pointer | ) |
| inline

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.

Definition at line 284 of file btCollisionObject.h.

## ◆ isActive()

bool btCollisionObject::isActive | ( |  | ) | const
| inline

Definition at line 306 of file btCollisionObject.h.

## ◆ isKinematicObject()

bool btCollisionObject::isKinematicObject | ( |  | ) | const
| inline

Definition at line 202 of file btCollisionObject.h.

## ◆ isStaticObject()

bool btCollisionObject::isStaticObject | ( |  | ) | const
| inline

Definition at line 197 of file btCollisionObject.h.

## ◆ isStaticOrKinematicObject()

bool btCollisionObject::isStaticOrKinematicObject | ( |  | ) | const
| inline

Definition at line 207 of file btCollisionObject.h.

## ◆ mergesSimulationIslands()

bool btCollisionObject::mergesSimulationIslands | ( |  | ) | const
| inline

static objects, kinematic and object without contact response don't merge islands

Definition at line 165 of file btCollisionObject.h.

## ◆ removeCustomDebugColor()

void btCollisionObject::removeCustomDebugColor | ( |  | ) |
| inline

Definition at line 581 of file btCollisionObject.h.

## ◆ serialize()

const char * btCollisionObject::serialize | ( | void * | dataBuffer,
|  | class btSerializer * | serializer ) const
| virtual

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

Reimplemented in btMultiBodyLinkCollider, btRigidBody, and btSoftBody.

Definition at line 81 of file btCollisionObject.cpp.

## ◆ serializeSingleObject()

void btCollisionObject::serializeSingleObject | ( | class btSerializer * | serializer | ) | const
| virtual

Reimplemented in btRigidBody.

Definition at line 132 of file btCollisionObject.cpp.

## ◆ setActivationState()

void btCollisionObject::setActivationState | ( | int | newState | ) | const

Definition at line 61 of file btCollisionObject.cpp.

## ◆ setAnisotropicFriction()

void btCollisionObject::setAnisotropicFriction | ( | const btVector3 & | anisotropicFriction,
|  | int | frictionMode = CF_ANISOTROPIC_FRICTION )
| inline

Definition at line 175 of file btCollisionObject.h.

## ◆ setBroadphaseHandle()

void btCollisionObject::setBroadphaseHandle | ( | btBroadphaseProxy * | handle | ) |
| inline

Definition at line 405 of file btCollisionObject.h.

## ◆ setCcdMotionThreshold()

void btCollisionObject::setCcdMotionThreshold | ( | btScalar | ccdMotionThreshold | ) |
| inline

Don't do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold.

Definition at line 522 of file btCollisionObject.h.

## ◆ setCcdSweptSphereRadius()

void btCollisionObject::setCcdSweptSphereRadius | ( | btScalar | radius | ) |
| inline

Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::

Definition at line 506 of file btCollisionObject.h.

## ◆ setCollisionFlags()

void btCollisionObject::setCollisionFlags | ( | int | flags | ) |
| inline

Definition at line 494 of file btCollisionObject.h.

## ◆ setCollisionShape()

virtual void btCollisionObject::setCollisionShape | ( | btCollisionShape * | collisionShape | ) |
| inlinevirtual

Reimplemented in btSoftBody.

Definition at line 221 of file btCollisionObject.h.

## ◆ setCompanionId()

void btCollisionObject::setCompanionId | ( | int | id | ) |
| inline

Definition at line 463 of file btCollisionObject.h.

## ◆ setContactProcessingThreshold()

void btCollisionObject::setContactProcessingThreshold | ( | btScalar | contactProcessingThreshold | ) |
| inline

the constraint solver can discard solving contacts, if the distance is above this threshold.

0 by default. Note that using contacts with positive distance can improve stability. It increases, however, the chance of colliding with degerate contacts, such as 'interior' triangle edges

Definition at line 188 of file btCollisionObject.h.

## ◆ setContactStiffnessAndDamping()

void btCollisionObject::setContactStiffnessAndDamping | ( | btScalar | stiffness,
|  | btScalar | damping )
| inline

Definition at line 348 of file btCollisionObject.h.

## ◆ setCustomDebugColor()

void btCollisionObject::setCustomDebugColor | ( | const btVector3 & | colorRGB | ) |
| inline

Definition at line 575 of file btCollisionObject.h.

## ◆ setDeactivationTime()

void btCollisionObject::setDeactivationTime | ( | btScalar | time | ) |
| inline

Definition at line 293 of file btCollisionObject.h.

## ◆ setFriction()

void btCollisionObject::setFriction | ( | btScalar | frict | ) |
| inline

Definition at line 320 of file btCollisionObject.h.

## ◆ setHitFraction()

void btCollisionObject::setHitFraction | ( | btScalar | hitFraction | ) |
| inline

Definition at line 484 of file btCollisionObject.h.

## ◆ setIgnoreCollisionCheck()

void btCollisionObject::setIgnoreCollisionCheck | ( | const btCollisionObject * | co,
|  | bool | ignoreCollisionCheck )
| inline

Definition at line 238 of file btCollisionObject.h.

## ◆ setInterpolationAngularVelocity()

void btCollisionObject::setInterpolationAngularVelocity | ( | const btVector3 & | angvel | ) |
| inline

Definition at line 432 of file btCollisionObject.h.

## ◆ setInterpolationLinearVelocity()

void btCollisionObject::setInterpolationLinearVelocity | ( | const btVector3 & | linvel | ) |
| inline

Definition at line 426 of file btCollisionObject.h.

## ◆ setInterpolationWorldTransform()

void btCollisionObject::setInterpolationWorldTransform | ( | const btTransform & | trans | ) |
| inline

Definition at line 420 of file btCollisionObject.h.

## ◆ setIslandTag()

void btCollisionObject::setIslandTag | ( | int | tag | ) |
| inline

Definition at line 453 of file btCollisionObject.h.

## ◆ setRestitution()

void btCollisionObject::setRestitution | ( | btScalar | rest | ) |
| inline

Definition at line 311 of file btCollisionObject.h.

## ◆ setRollingFriction()

void btCollisionObject::setRollingFriction | ( | btScalar | frict | ) |
| inline

Definition at line 330 of file btCollisionObject.h.

## ◆ setSpinningFriction()

void btCollisionObject::setSpinningFriction | ( | btScalar | frict | ) |
| inline

Definition at line 339 of file btCollisionObject.h.

## ◆ setUserIndex()

void btCollisionObject::setUserIndex | ( | int | index | ) |
| inline

users can point to their objects, userPointer is not used by Bullet

Definition at line 555 of file btCollisionObject.h.

## ◆ setUserIndex2()

void btCollisionObject::setUserIndex2 | ( | int | index | ) |
| inline

Definition at line 560 of file btCollisionObject.h.

## ◆ setUserIndex3()

void btCollisionObject::setUserIndex3 | ( | int | index | ) |
| inline

Definition at line 565 of file btCollisionObject.h.

## ◆ setUserPointer()

void btCollisionObject::setUserPointer | ( | void * | userPointer | ) |
| inline

users can point to their objects, userPointer is not used by Bullet

Definition at line 549 of file btCollisionObject.h.

## ◆ setWorldArrayIndex()

void btCollisionObject::setWorldArrayIndex | ( | int | ix | ) |
| inline

Definition at line 474 of file btCollisionObject.h.

## ◆ setWorldTransform()

void btCollisionObject::setWorldTransform | ( | const btTransform & | worldTrans | ) |
| inline

Definition at line 389 of file btCollisionObject.h.

## Member Data Documentation

## ◆ m_activationState1

int btCollisionObject::m_activationState1
| mutableprotected

Definition at line 83 of file btCollisionObject.h.

## ◆ m_anisotropicFriction

btVector3 btCollisionObject::m_anisotropicFriction
| protected

Definition at line 63 of file btCollisionObject.h.

## ◆ m_broadphaseHandle

btBroadphaseProxy* btCollisionObject::m_broadphaseHandle
| protected

Definition at line 67 of file btCollisionObject.h.

## ◆ m_ccdMotionThreshold

btScalar btCollisionObject::m_ccdMotionThreshold
| protected

Don't do continuous collision detection if the motion (in one step) is less then m_ccdMotionThreshold.

Definition at line 114 of file btCollisionObject.h.

## ◆ m_ccdSweptSphereRadius

btScalar btCollisionObject::m_ccdSweptSphereRadius
| protected

Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::

Definition at line 111 of file btCollisionObject.h.

## ◆ m_checkCollideWith

int btCollisionObject::m_checkCollideWith
| protected

If some object should have elaborate collision filtering by sub-classes.

Definition at line 117 of file btCollisionObject.h.

## ◆ m_collisionFlags

int btCollisionObject::m_collisionFlags
| protected

Definition at line 77 of file btCollisionObject.h.

## ◆ m_collisionShape

btCollisionShape* btCollisionObject::m_collisionShape
| protected

Definition at line 68 of file btCollisionObject.h.

## ◆ m_companionId

int btCollisionObject::m_companionId
| protected

Definition at line 80 of file btCollisionObject.h.

## ◆ m_contactDamping

btScalar btCollisionObject::m_contactDamping
| protected

Definition at line 90 of file btCollisionObject.h.

## ◆ m_contactProcessingThreshold

btScalar btCollisionObject::m_contactProcessingThreshold
| protected

Definition at line 65 of file btCollisionObject.h.

## ◆ m_contactStiffness

btScalar btCollisionObject::m_contactStiffness
| protected

Definition at line 91 of file btCollisionObject.h.

## ◆ m_customDebugColorRGB

btVector3 btCollisionObject::m_customDebugColorRGB
| protected

Definition at line 124 of file btCollisionObject.h.

## ◆ m_deactivationTime

btScalar btCollisionObject::m_deactivationTime
| mutableprotected

Definition at line 84 of file btCollisionObject.h.

## ◆ m_extensionPointer

void* btCollisionObject::m_extensionPointer
| protected

m_extensionPointer is used by some internal low-level Bullet extensions.

Definition at line 70 of file btCollisionObject.h.

## ◆ m_friction

btScalar btCollisionObject::m_friction
| protected

Definition at line 86 of file btCollisionObject.h.

## ◆ m_hasAnisotropicFriction

int btCollisionObject::m_hasAnisotropicFriction
| protected

Definition at line 64 of file btCollisionObject.h.

## ◆ m_hitFraction

btScalar btCollisionObject::m_hitFraction
| protected

time of impact calculation

Definition at line 108 of file btCollisionObject.h.

## ◆ m_internalType

int btCollisionObject::m_internalType
| protected

m_internalType is reserved to distinguish Bullet's btCollisionObject, btRigidBody, btSoftBody, btGhostObject etc.

do not assign your own m_internalType unless you write a new dynamics object class.

Definition at line 95 of file btCollisionObject.h.

## ◆ m_interpolationAngularVelocity

btVector3 btCollisionObject::m_interpolationAngularVelocity
| protected

Definition at line 61 of file btCollisionObject.h.

## ◆ m_interpolationLinearVelocity

btVector3 btCollisionObject::m_interpolationLinearVelocity
| protected

Definition at line 60 of file btCollisionObject.h.

## ◆ m_interpolationWorldTransform

btTransform btCollisionObject::m_interpolationWorldTransform
| protected

m_interpolationWorldTransform is used for CCD and interpolation it can be either previous or future (predicted) transform

Definition at line 57 of file btCollisionObject.h.

## ◆ m_islandTag1

int btCollisionObject::m_islandTag1
| protected

Definition at line 79 of file btCollisionObject.h.

## ◆ m_objectsWithoutCollisionCheck

btAlignedObjectArray<const btCollisionObject*> btCollisionObject::m_objectsWithoutCollisionCheck
| protected

Definition at line 119 of file btCollisionObject.h.

## ◆ m_restitution

btScalar btCollisionObject::m_restitution
| protected

Definition at line 87 of file btCollisionObject.h.

## ◆ m_rollingFriction

btScalar btCollisionObject::m_rollingFriction
| protected

Definition at line 88 of file btCollisionObject.h.

## ◆ m_rootCollisionShape

btCollisionShape* btCollisionObject::m_rootCollisionShape
| protected

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.

Definition at line 75 of file btCollisionObject.h.

## ◆ m_spinningFriction

btScalar btCollisionObject::m_spinningFriction
| protected

Definition at line 89 of file btCollisionObject.h.

## ◆ m_updateRevision

int btCollisionObject::m_updateRevision
| protected

internal update revision number. It will be increased when the object changes. This allows some subsystems to perform lazy evaluation.

Definition at line 122 of file btCollisionObject.h.

## ◆ m_userIndex

int btCollisionObject::m_userIndex
| protected

Definition at line 103 of file btCollisionObject.h.

## ◆ m_userIndex2

int btCollisionObject::m_userIndex2
| protected

Definition at line 101 of file btCollisionObject.h.

## ◆ m_userIndex3

int btCollisionObject::m_userIndex3
| protected

Definition at line 105 of file btCollisionObject.h.

## ◆ m_userObjectPointer

void* btCollisionObject::m_userObjectPointer
| protected

users can point to their objects, m_userPointer is not used by Bullet, see setUserPointer/getUserPointer

Definition at line 99 of file btCollisionObject.h.

## ◆ m_worldArrayIndex

int btCollisionObject::m_worldArrayIndex
| protected

Definition at line 81 of file btCollisionObject.h.

## ◆ m_worldTransform

btTransform btCollisionObject::m_worldTransform
| protected

Definition at line 53 of file btCollisionObject.h.

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

- btCollisionObject.h
- btCollisionObject.cpp