btCollisionObject can be used to manage collision detection objects. More...
#include <btCollisionObject.h>


Public Types | |
| enum | CollisionFlags { 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 } |
| enum | CollisionObjectTypes { CO_COLLISION_OBJECT = 1, CO_RIGID_BODY, CO_GHOST_OBJECT, CO_SOFT_BODY, CO_HF_FLUID } |
Public Member Functions | |
| BT_DECLARE_ALIGNED_ALLOCATOR () | |
| SIMD_FORCE_INLINE bool | mergesSimulationIslands () const |
| const btVector3 & | getAnisotropicFriction () const |
| void | setAnisotropicFriction (const btVector3 &anisotropicFriction) |
| bool | hasAnisotropicFriction () const |
| void | setContactProcessingThreshold (btScalar contactProcessingThreshold) |
| the constraint solver can discard solving contacts, if the distance is above this threshold. | |
| btScalar | getContactProcessingThreshold () const |
| SIMD_FORCE_INLINE bool | isStaticObject () const |
| SIMD_FORCE_INLINE bool | isKinematicObject () const |
| SIMD_FORCE_INLINE bool | isStaticOrKinematicObject () const |
| SIMD_FORCE_INLINE bool | hasContactResponse () const |
| btCollisionObject () | |
| virtual | ~btCollisionObject () |
| virtual void | setCollisionShape (btCollisionShape *collisionShape) |
| SIMD_FORCE_INLINE const btCollisionShape * | getCollisionShape () const |
| SIMD_FORCE_INLINE btCollisionShape * | getCollisionShape () |
| SIMD_FORCE_INLINE const btCollisionShape * | getRootCollisionShape () const |
| SIMD_FORCE_INLINE btCollisionShape * | getRootCollisionShape () |
| void | internalSetTemporaryCollisionShape (btCollisionShape *collisionShape) |
| Avoid using this internal API call internalSetTemporaryCollisionShape is used to temporary replace the actual collision shape by a child collision shape. | |
| SIMD_FORCE_INLINE int | getActivationState () const |
| void | setActivationState (int newState) |
| void | setDeactivationTime (btScalar time) |
| btScalar | getDeactivationTime () const |
| void | forceActivationState (int newState) |
| void | activate (bool forceActivation=false) |
| SIMD_FORCE_INLINE bool | isActive () const |
| void | setRestitution (btScalar rest) |
| btScalar | getRestitution () const |
| void | setFriction (btScalar frict) |
| btScalar | getFriction () const |
| int | getInternalType () const |
| reserved for Bullet internal usage | |
| btTransform & | getWorldTransform () |
| const btTransform & | getWorldTransform () const |
| void | setWorldTransform (const btTransform &worldTrans) |
| SIMD_FORCE_INLINE btBroadphaseProxy * | getBroadphaseHandle () |
| SIMD_FORCE_INLINE 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 |
| SIMD_FORCE_INLINE int | getIslandTag () const |
| void | setIslandTag (int tag) |
| SIMD_FORCE_INLINE int | getCompanionId () const |
| void | setCompanionId (int id) |
| SIMD_FORCE_INLINE btScalar | getHitFraction () const |
| void | setHitFraction (btScalar hitFraction) |
| SIMD_FORCE_INLINE 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 | |
| void | setUserPointer (void *userPointer) |
| users can point to their objects, userPointer is not used by Bullet | |
| bool | checkCollideWith (btCollisionObject *co) |
| 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) | |
Protected Member Functions | |
| virtual bool | checkCollideWithOverride (btCollisionObject *) |
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 |
| 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_activationState1 |
| btScalar | m_deactivationTime |
| btScalar | m_friction |
| btScalar | m_restitution |
| 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 | |
| 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. | |
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.
| CF_STATIC_OBJECT | |
| CF_KINEMATIC_OBJECT | |
| CF_NO_CONTACT_RESPONSE | |
| CF_CUSTOM_MATERIAL_CALLBACK | |
| CF_CHARACTER_OBJECT | |
| CF_DISABLE_VISUALIZE_OBJECT |
Definition at line 115 of file btCollisionObject.h.
Definition at line 125 of file btCollisionObject.h.
| btCollisionObject::btCollisionObject | ( | ) |
Definition at line 20 of file btCollisionObject.cpp.
| btCollisionObject::~btCollisionObject | ( | ) | [virtual] |
Definition at line 44 of file btCollisionObject.cpp.
| void btCollisionObject::activate | ( | bool | forceActivation = false |
) |
Definition at line 59 of file btCollisionObject.cpp.
| btCollisionObject::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
| SIMD_FORCE_INLINE int btCollisionObject::calculateSerializeBufferSize | ( | ) | const [virtual] |
Reimplemented in btRigidBody.
Definition at line 499 of file btCollisionObject.h.
| bool btCollisionObject::checkCollideWith | ( | btCollisionObject * | co | ) | [inline] |
Definition at line 419 of file btCollisionObject.h.
| virtual bool btCollisionObject::checkCollideWithOverride | ( | btCollisionObject * | ) | [inline, protected, virtual] |
Definition at line 106 of file btCollisionObject.h.
| void btCollisionObject::forceActivationState | ( | int | newState | ) |
Definition at line 54 of file btCollisionObject.cpp.
| SIMD_FORCE_INLINE int btCollisionObject::getActivationState | ( | ) | const [inline] |
Definition at line 223 of file btCollisionObject.h.
| const btVector3& btCollisionObject::getAnisotropicFriction | ( | ) | const [inline] |
Definition at line 142 of file btCollisionObject.h.
| SIMD_FORCE_INLINE const btBroadphaseProxy* btCollisionObject::getBroadphaseHandle | ( | ) | const [inline] |
Definition at line 289 of file btCollisionObject.h.
| SIMD_FORCE_INLINE btBroadphaseProxy* btCollisionObject::getBroadphaseHandle | ( | ) | [inline] |
Definition at line 284 of file btCollisionObject.h.
| btScalar btCollisionObject::getCcdMotionThreshold | ( | ) | const [inline] |
Definition at line 388 of file btCollisionObject.h.
| btScalar btCollisionObject::getCcdSquareMotionThreshold | ( | ) | const [inline] |
Definition at line 393 of file btCollisionObject.h.
| btScalar btCollisionObject::getCcdSweptSphereRadius | ( | ) | const [inline] |
Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::.
Definition at line 377 of file btCollisionObject.h.
| SIMD_FORCE_INLINE int btCollisionObject::getCollisionFlags | ( | ) | const [inline] |
Definition at line 366 of file btCollisionObject.h.
| SIMD_FORCE_INLINE btCollisionShape* btCollisionObject::getCollisionShape | ( | ) | [inline] |
Reimplemented in btRigidBody.
Definition at line 201 of file btCollisionObject.h.
| SIMD_FORCE_INLINE const btCollisionShape* btCollisionObject::getCollisionShape | ( | ) | const [inline] |
Reimplemented in btRigidBody.
Definition at line 196 of file btCollisionObject.h.
| SIMD_FORCE_INLINE int btCollisionObject::getCompanionId | ( | ) | const [inline] |
Definition at line 345 of file btCollisionObject.h.
| btScalar btCollisionObject::getContactProcessingThreshold | ( | ) | const [inline] |
Definition at line 162 of file btCollisionObject.h.
| btScalar btCollisionObject::getDeactivationTime | ( | ) | const [inline] |
Definition at line 231 of file btCollisionObject.h.
| btScalar btCollisionObject::getFriction | ( | ) | const [inline] |
Definition at line 257 of file btCollisionObject.h.
| SIMD_FORCE_INLINE btScalar btCollisionObject::getHitFraction | ( | ) | const [inline] |
Definition at line 355 of file btCollisionObject.h.
| int btCollisionObject::getInternalType | ( | ) | const [inline] |
reserved for Bullet internal usage
Definition at line 263 of file btCollisionObject.h.
| const btVector3& btCollisionObject::getInterpolationAngularVelocity | ( | ) | const [inline] |
Definition at line 330 of file btCollisionObject.h.
| const btVector3& btCollisionObject::getInterpolationLinearVelocity | ( | ) | const [inline] |
Definition at line 325 of file btCollisionObject.h.
| btTransform& btCollisionObject::getInterpolationWorldTransform | ( | ) | [inline] |
Definition at line 305 of file btCollisionObject.h.
| const btTransform& btCollisionObject::getInterpolationWorldTransform | ( | ) | const [inline] |
Definition at line 300 of file btCollisionObject.h.
| SIMD_FORCE_INLINE int btCollisionObject::getIslandTag | ( | ) | const [inline] |
Definition at line 335 of file btCollisionObject.h.
| btScalar btCollisionObject::getRestitution | ( | ) | const [inline] |
Definition at line 249 of file btCollisionObject.h.
| SIMD_FORCE_INLINE btCollisionShape* btCollisionObject::getRootCollisionShape | ( | ) | [inline] |
Definition at line 211 of file btCollisionObject.h.
| SIMD_FORCE_INLINE const btCollisionShape* btCollisionObject::getRootCollisionShape | ( | ) | const [inline] |
Definition at line 206 of file btCollisionObject.h.
| void* btCollisionObject::getUserPointer | ( | ) | const [inline] |
users can point to their objects, userPointer is not used by Bullet
Definition at line 407 of file btCollisionObject.h.
| const btTransform& btCollisionObject::getWorldTransform | ( | ) | const [inline] |
Definition at line 273 of file btCollisionObject.h.
| btTransform& btCollisionObject::getWorldTransform | ( | ) | [inline] |
Definition at line 268 of file btCollisionObject.h.
| bool btCollisionObject::hasAnisotropicFriction | ( | ) | const [inline] |
Definition at line 151 of file btCollisionObject.h.
| SIMD_FORCE_INLINE bool btCollisionObject::hasContactResponse | ( | ) | const [inline] |
Definition at line 181 of file btCollisionObject.h.
| void btCollisionObject::internalSetTemporaryCollisionShape | ( | btCollisionShape * | collisionShape | ) | [inline] |
Avoid using this internal API call internalSetTemporaryCollisionShape is used to temporary replace the actual collision shape by a child collision shape.
Definition at line 218 of file btCollisionObject.h.
| SIMD_FORCE_INLINE bool btCollisionObject::isActive | ( | ) | const [inline] |
Definition at line 240 of file btCollisionObject.h.
| SIMD_FORCE_INLINE bool btCollisionObject::isKinematicObject | ( | ) | const [inline] |
Definition at line 171 of file btCollisionObject.h.
| SIMD_FORCE_INLINE bool btCollisionObject::isStaticObject | ( | ) | const [inline] |
Definition at line 167 of file btCollisionObject.h.
| SIMD_FORCE_INLINE bool btCollisionObject::isStaticOrKinematicObject | ( | ) | const [inline] |
Definition at line 176 of file btCollisionObject.h.
| SIMD_FORCE_INLINE bool btCollisionObject::mergesSimulationIslands | ( | ) | const [inline] |
static objects, kinematic and object without contact response don't merge islands
Definition at line 136 of file btCollisionObject.h.
| 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 btRigidBody.
Definition at line 68 of file btCollisionObject.cpp.
| void btCollisionObject::setActivationState | ( | int | newState | ) |
Definition at line 48 of file btCollisionObject.cpp.
| void btCollisionObject::setAnisotropicFriction | ( | const btVector3 & | anisotropicFriction | ) | [inline] |
Definition at line 146 of file btCollisionObject.h.
| void btCollisionObject::setBroadphaseHandle | ( | btBroadphaseProxy * | handle | ) | [inline] |
Definition at line 294 of file btCollisionObject.h.
| 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 401 of file btCollisionObject.h.
| void btCollisionObject::setCcdSweptSphereRadius | ( | btScalar | radius | ) | [inline] |
Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::.
Definition at line 383 of file btCollisionObject.h.
| void btCollisionObject::setCollisionFlags | ( | int | flags | ) | [inline] |
Definition at line 371 of file btCollisionObject.h.
| virtual void btCollisionObject::setCollisionShape | ( | btCollisionShape * | collisionShape | ) | [inline, virtual] |
Reimplemented in btSoftBody.
Definition at line 190 of file btCollisionObject.h.
| void btCollisionObject::setCompanionId | ( | int | id | ) | [inline] |
Definition at line 350 of file btCollisionObject.h.
| 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 158 of file btCollisionObject.h.
| void btCollisionObject::setDeactivationTime | ( | btScalar | time | ) | [inline] |
Definition at line 227 of file btCollisionObject.h.
| void btCollisionObject::setFriction | ( | btScalar | frict | ) | [inline] |
Definition at line 253 of file btCollisionObject.h.
| void btCollisionObject::setHitFraction | ( | btScalar | hitFraction | ) | [inline] |
Definition at line 360 of file btCollisionObject.h.
| void btCollisionObject::setInterpolationAngularVelocity | ( | const btVector3 & | angvel | ) | [inline] |
Definition at line 320 of file btCollisionObject.h.
| void btCollisionObject::setInterpolationLinearVelocity | ( | const btVector3 & | linvel | ) | [inline] |
Definition at line 315 of file btCollisionObject.h.
| void btCollisionObject::setInterpolationWorldTransform | ( | const btTransform & | trans | ) | [inline] |
Definition at line 310 of file btCollisionObject.h.
| void btCollisionObject::setIslandTag | ( | int | tag | ) | [inline] |
Definition at line 340 of file btCollisionObject.h.
| void btCollisionObject::setRestitution | ( | btScalar | rest | ) | [inline] |
Definition at line 245 of file btCollisionObject.h.
| void btCollisionObject::setUserPointer | ( | void * | userPointer | ) | [inline] |
users can point to their objects, userPointer is not used by Bullet
Definition at line 413 of file btCollisionObject.h.
| void btCollisionObject::setWorldTransform | ( | const btTransform & | worldTrans | ) | [inline] |
Definition at line 278 of file btCollisionObject.h.
int btCollisionObject::m_activationState1 [protected] |
Definition at line 81 of file btCollisionObject.h.
btVector3 btCollisionObject::m_anisotropicFriction [protected] |
Definition at line 64 of file btCollisionObject.h.
btBroadphaseProxy* btCollisionObject::m_broadphaseHandle [protected] |
Definition at line 68 of file btCollisionObject.h.
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 101 of file btCollisionObject.h.
btScalar btCollisionObject::m_ccdSweptSphereRadius [protected] |
Swept sphere radius (0.0 by default), see btConvexConvexAlgorithm::.
Definition at line 98 of file btCollisionObject.h.
int btCollisionObject::m_checkCollideWith [protected] |
If some object should have elaborate collision filtering by sub-classes.
Definition at line 104 of file btCollisionObject.h.
int btCollisionObject::m_collisionFlags [protected] |
Definition at line 76 of file btCollisionObject.h.
btCollisionShape* btCollisionObject::m_collisionShape [protected] |
Definition at line 69 of file btCollisionObject.h.
int btCollisionObject::m_companionId [protected] |
Definition at line 79 of file btCollisionObject.h.
Definition at line 66 of file btCollisionObject.h.
btScalar btCollisionObject::m_deactivationTime [protected] |
Definition at line 82 of file btCollisionObject.h.
btScalar btCollisionObject::m_friction [protected] |
Definition at line 84 of file btCollisionObject.h.
int btCollisionObject::m_hasAnisotropicFriction [protected] |
Definition at line 65 of file btCollisionObject.h.
btScalar btCollisionObject::m_hitFraction [protected] |
time of impact calculation
Definition at line 95 of file btCollisionObject.h.
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 89 of file btCollisionObject.h.
Definition at line 62 of file btCollisionObject.h.
Definition at line 61 of file btCollisionObject.h.
m_interpolationWorldTransform is used for CCD and interpolation it can be either previous or future (predicted) transform
Definition at line 58 of file btCollisionObject.h.
int btCollisionObject::m_islandTag1 [protected] |
Definition at line 78 of file btCollisionObject.h.
btScalar btCollisionObject::m_restitution [protected] |
Definition at line 85 of file btCollisionObject.h.
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 74 of file btCollisionObject.h.
void* btCollisionObject::m_userObjectPointer [protected] |
users can point to their objects, m_userPointer is not used by Bullet, see setUserPointer/getUserPointer
Definition at line 92 of file btCollisionObject.h.
btTransform btCollisionObject::m_worldTransform [protected] |
Definition at line 54 of file btCollisionObject.h.
1.6.1