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.