|
Bullet Collision Detection & Physics Library
|
The btCollisionShape class provides an interface for collision shapes that can be shared among btCollisionObjects. More...
#include <btCollisionShape.h>

Public Member Functions | |
| BT_DECLARE_ALIGNED_ALLOCATOR () | |
| btCollisionShape () | |
| virtual | ~btCollisionShape () |
| virtual void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
| getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t. More... | |
| virtual void | getBoundingSphere (btVector3 ¢er, btScalar &radius) const |
| virtual btScalar | getAngularMotionDisc () const |
| getAngularMotionDisc returns the maximum radius needed for Conservative Advancement to handle time-of-impact with rotations. More... | |
| virtual btScalar | getContactBreakingThreshold (btScalar defaultContactThresholdFactor) const |
| void | calculateTemporalAabb (const btTransform &curTrans, const btVector3 &linvel, const btVector3 &angvel, btScalar timeStep, btVector3 &temporalAabbMin, btVector3 &temporalAabbMax) const |
| calculateTemporalAabb calculates the enclosing aabb for the moving object over interval [0..timeStep) result is conservative More... | |
| bool | isPolyhedral () const |
| bool | isConvex2d () const |
| bool | isConvex () const |
| bool | isNonMoving () const |
| bool | isConcave () const |
| bool | isCompound () const |
| bool | isSoftBody () const |
| bool | isInfinite () const |
| isInfinite is used to catch simulation error (aabb check) More... | |
| virtual void | setLocalScaling (const btVector3 &scaling)=0 |
| virtual const btVector3 & | getLocalScaling () const =0 |
| virtual void | calculateLocalInertia (btScalar mass, btVector3 &inertia) const =0 |
| virtual const char * | getName () const =0 |
| int | getShapeType () const |
| virtual btVector3 | getAnisotropicRollingFrictionDirection () const |
| the getAnisotropicRollingFrictionDirection can be used in combination with setAnisotropicFriction See Bullet/Demos/RollingFrictionDemo for an example More... | |
| virtual void | setMargin (btScalar margin)=0 |
| virtual btScalar | getMargin () const =0 |
| void | setUserPointer (void *userPtr) |
| optional user data pointer More... | |
| void * | getUserPointer () const |
| void | setUserIndex (int index) |
| int | getUserIndex () const |
| void | setUserIndex2 (int index) |
| int | getUserIndex2 () const |
| virtual int | calculateSerializeBufferSize () const |
| virtual const char * | serialize (void *dataBuffer, btSerializer *serializer) const |
| fills the dataBuffer and returns the struct name (and 0 on failure) More... | |
| virtual void | serializeSingleShape (btSerializer *serializer) const |
Protected Attributes | |
| int | m_shapeType |
| void * | m_userPointer |
| int | m_userIndex |
| int | m_userIndex2 |
The btCollisionShape class provides an interface for collision shapes that can be shared among btCollisionObjects.
Definition at line 26 of file btCollisionShape.h.
|
inline |
Definition at line 38 of file btCollisionShape.h.
|
inlinevirtual |
Definition at line 42 of file btCollisionShape.h.
| btCollisionShape::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
|
pure virtual |
Implemented in btSoftBodyCollisionShape, btSoftClusterCollisionShape, btGImpactMeshShape, btGImpactMeshShapePart, btGImpactCompoundShape, btUniformScalingShape, btTriangleShape, btTriangleMeshShape, btStaticPlaneShape, btSphereShape, btSdfCollisionShape, btScaledBvhTriangleMeshShape, btPolyhedralConvexShape, btMultiSphereShape, btMinkowskiSumShape, btHeightfieldTerrainShape, btEmptyShape, btCylinderShape, btConvex2dShape, btConeShape, btCompoundShape, btCapsuleShape, btBoxShape, and btBox2dShape.
|
inlinevirtual |
Reimplemented in btGImpactMeshShape, btStaticPlaneShape, btScaledBvhTriangleMeshShape, btMultiSphereShape, btCylinderShape, btConvexInternalShape, btConvexHullShape, btConeShape, btCompoundShape, btCapsuleShape, and btBvhTriangleMeshShape.
Definition at line 169 of file btCollisionShape.h.
| void btCollisionShape::calculateTemporalAabb | ( | const btTransform & | curTrans, |
| const btVector3 & | linvel, | ||
| const btVector3 & | angvel, | ||
| btScalar | timeStep, | ||
| btVector3 & | temporalAabbMin, | ||
| btVector3 & | temporalAabbMax | ||
| ) | const |
calculateTemporalAabb calculates the enclosing aabb for the moving object over interval [0..timeStep) result is conservative
Definition at line 57 of file btCollisionShape.cpp.
|
pure virtual |
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.
Implemented in btConvexShape, btSoftClusterCollisionShape, btSoftBodyCollisionShape, btTriangleShapeEx, btGImpactShapeInterface, btUniformScalingShape, btTriangleShape, btTriangleMeshShape, btBU_Simplex1to4, btStaticPlaneShape, btSphereShape, btSdfCollisionShape, btScaledBvhTriangleMeshShape, btPolyhedralConvexAabbCachingShape, btHeightfieldTerrainShape, btEmptyShape, btCylinderShape, btConvexInternalAabbCachingShape, btConvexInternalShape, btConvex2dShape, btCompoundShape, btCapsuleShape, btBoxShape, and btBox2dShape.
|
virtual |
getAngularMotionDisc returns the maximum radius needed for Conservative Advancement to handle time-of-impact with rotations.
Definition at line 47 of file btCollisionShape.cpp.
|
inlinevirtual |
the getAnisotropicRollingFrictionDirection can be used in combination with setAnisotropicFriction See Bullet/Demos/RollingFrictionDemo for an example
Reimplemented in btCylinderShape, btConeShapeZ, btConeShapeX, btConeShape, and btCapsuleShape.
Definition at line 114 of file btCollisionShape.h.
Definition at line 30 of file btCollisionShape.cpp.
|
virtual |
Definition at line 42 of file btCollisionShape.cpp.
|
pure virtual |
Implemented in btConvexShape, btSoftBodyCollisionShape, btGImpactMeshShapePart, btGImpactShapeInterface, btUniformScalingShape, btTriangleMeshShape, btStaticPlaneShape, btSdfCollisionShape, btScaledBvhTriangleMeshShape, btHeightfieldTerrainShape, btEmptyShape, btConvexTriangleMeshShape, btConvexInternalShape, btConvex2dShape, and btCompoundShape.
|
pure virtual |
|
pure virtual |
Implemented in btSoftClusterCollisionShape, btSoftBodyCollisionShape, btGImpactMeshShape, btGImpactMeshShapePart, btGImpactCompoundShape, btUniformScalingShape, btTriangleShape, btTriangleMeshShape, btBU_Simplex1to4, btStaticPlaneShape, btSphereShape, btSdfCollisionShape, btScaledBvhTriangleMeshShape, btMultiSphereShape, btMultimaterialTriangleMeshShape, btMinkowskiSumShape, btHeightfieldTerrainShape, btEmptyShape, btCylinderShapeZ, btCylinderShapeX, btCylinderShape, btConvexTriangleMeshShape, btConvexPointCloudShape, btConvexHullShape, btConvex2dShape, btConeShapeZ, btConeShapeX, btConeShape, btCompoundShape, btCapsuleShapeZ, btCapsuleShapeX, btCapsuleShape, btBvhTriangleMeshShape, btBoxShape, and btBox2dShape.
|
inline |
Definition at line 107 of file btCollisionShape.h.
|
inline |
Definition at line 136 of file btCollisionShape.h.
|
inline |
Definition at line 146 of file btCollisionShape.h.
|
inline |
Definition at line 127 of file btCollisionShape.h.
|
inline |
Definition at line 82 of file btCollisionShape.h.
|
inline |
Definition at line 78 of file btCollisionShape.h.
|
inline |
Definition at line 70 of file btCollisionShape.h.
|
inline |
Definition at line 65 of file btCollisionShape.h.
|
inline |
isInfinite is used to catch simulation error (aabb check)
Definition at line 93 of file btCollisionShape.h.
|
inline |
Definition at line 74 of file btCollisionShape.h.
|
inline |
Definition at line 60 of file btCollisionShape.h.
|
inline |
Definition at line 87 of file btCollisionShape.h.
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented in btGImpactMeshShape, btStaticPlaneShape, btScaledBvhTriangleMeshShape, btMultiSphereShape, btCylinderShape, btConvexInternalShape, btConvexHullShape, btConeShape, btCompoundShape, btCapsuleShape, and btBvhTriangleMeshShape.
Definition at line 96 of file btCollisionShape.cpp.
|
virtual |
Definition at line 113 of file btCollisionShape.cpp.
|
pure virtual |
Implemented in btConvexShape, btGImpactMeshShape, btGImpactMeshShapePart, btGImpactShapeInterface, btUniformScalingShape, btTriangleMeshShape, btStaticPlaneShape, btSdfCollisionShape, btScaledBvhTriangleMeshShape, btPolyhedralConvexAabbCachingShape, btHeightfieldTerrainShape, btEmptyShape, btCylinderShape, btConvexTriangleMeshShape, btConvexPointCloudShape, btConvexInternalAabbCachingShape, btConvexInternalShape, btConvexHullShape, btConvex2dShape, btConeShape, btCompoundShape, btCapsuleShape, btBvhTriangleMeshShape, btBoxShape, btBox2dShape, and btSoftBodyCollisionShape.
|
pure virtual |
Implemented in btConvexShape, btSoftClusterCollisionShape, btGImpactMeshShape, btGImpactMeshShapePart, btGImpactShapeInterface, btUniformScalingShape, btSphereShape, btSdfCollisionShape, btConvexInternalShape, btConvex2dShape, btCompoundShape, btCylinderShape, btConcaveShape, btCapsuleShape, btBoxShape, and btBox2dShape.
|
inline |
Definition at line 131 of file btCollisionShape.h.
|
inline |
Definition at line 141 of file btCollisionShape.h.
|
inline |
optional user data pointer
Definition at line 122 of file btCollisionShape.h.
|
protected |
Definition at line 30 of file btCollisionShape.h.
|
protected |
Definition at line 32 of file btCollisionShape.h.
|
protected |
Definition at line 33 of file btCollisionShape.h.
|
protected |
Definition at line 31 of file btCollisionShape.h.