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 |
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 |
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 37 of file btCollisionShape.h.
|
inlinevirtual |
Definition at line 41 of file btCollisionShape.h.
btCollisionShape::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
|
pure virtual |
Implemented in btSoftBodyCollisionShape, btGImpactMeshShape, btGImpactMeshShapePart, btGImpactCompoundShape, btSoftClusterCollisionShape, btHeightfieldTerrainShape, btBox2dShape, btCompoundShape, btTriangleShape, btBoxShape, btConeShape, btTriangleMeshShape, btPolyhedralConvexShape, btCylinderShape, btEmptyShape, btSphereShape, btStaticPlaneShape, btUniformScalingShape, btConvex2dShape, btCapsuleShape, btMinkowskiSumShape, btScaledBvhTriangleMeshShape, btMultiSphereShape, and btSdfCollisionShape.
|
inlinevirtual |
Reimplemented in btGImpactMeshShape, btCompoundShape, btConvexInternalShape, btCylinderShape, btBvhTriangleMeshShape, btCapsuleShape, btConeShape, btConvexHullShape, btMultiSphereShape, btStaticPlaneShape, and btScaledBvhTriangleMeshShape.
Definition at line 158 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, btConvexInternalAabbCachingShape, btSoftClusterCollisionShape, btHeightfieldTerrainShape, btTriangleShapeEx, btBox2dShape, btGImpactShapeInterface, btCompoundShape, btBoxShape, btPolyhedralConvexAabbCachingShape, btConvexInternalShape, btSoftBodyCollisionShape, btUniformScalingShape, btConvex2dShape, btTriangleShape, btCapsuleShape, btTriangleMeshShape, btCylinderShape, btSphereShape, btBU_Simplex1to4, btStaticPlaneShape, btEmptyShape, btScaledBvhTriangleMeshShape, and btSdfCollisionShape.
|
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 btConeShapeZ, btConeShapeX, btCapsuleShape, btCylinderShape, and btConeShape.
Definition at line 113 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, btGImpactMeshShapePart, btGImpactShapeInterface, btHeightfieldTerrainShape, btCompoundShape, btSoftBodyCollisionShape, btConvexInternalShape, btUniformScalingShape, btConvex2dShape, btConvexTriangleMeshShape, btTriangleMeshShape, btStaticPlaneShape, btEmptyShape, btScaledBvhTriangleMeshShape, and btSdfCollisionShape.
|
pure virtual |
|
pure virtual |
Implemented in btGImpactMeshShape, btGImpactMeshShapePart, btGImpactCompoundShape, btBox2dShape, btBoxShape, btSoftClusterCollisionShape, btCylinderShapeZ, btHeightfieldTerrainShape, btTriangleShape, btCompoundShape, btCylinderShapeX, btConeShapeZ, btCapsuleShapeZ, btCapsuleShapeX, btConeShapeX, btCylinderShape, btSoftBodyCollisionShape, btMultimaterialTriangleMeshShape, btConvexPointCloudShape, btConeShape, btTriangleMeshShape, btConvexHullShape, btBvhTriangleMeshShape, btBU_Simplex1to4, btCapsuleShape, btUniformScalingShape, btMultiSphereShape, btStaticPlaneShape, btSphereShape, btScaledBvhTriangleMeshShape, btConvex2dShape, btMinkowskiSumShape, btEmptyShape, btConvexTriangleMeshShape, and btSdfCollisionShape.
|
inline |
Definition at line 106 of file btCollisionShape.h.
|
inline |
Definition at line 135 of file btCollisionShape.h.
|
inline |
Definition at line 126 of file btCollisionShape.h.
|
inline |
Definition at line 81 of file btCollisionShape.h.
|
inline |
Definition at line 77 of file btCollisionShape.h.
|
inline |
Definition at line 69 of file btCollisionShape.h.
|
inline |
Definition at line 64 of file btCollisionShape.h.
|
inline |
isInfinite is used to catch simulation error (aabb check)
Definition at line 92 of file btCollisionShape.h.
|
inline |
Definition at line 73 of file btCollisionShape.h.
|
inline |
Definition at line 59 of file btCollisionShape.h.
|
inline |
Definition at line 86 of file btCollisionShape.h.
|
virtual |
fills the dataBuffer and returns the struct name (and 0 on failure)
Reimplemented in btGImpactMeshShape, btCompoundShape, btConvexInternalShape, btCylinderShape, btBvhTriangleMeshShape, btCapsuleShape, btConeShape, btConvexHullShape, btMultiSphereShape, btStaticPlaneShape, and btScaledBvhTriangleMeshShape.
Definition at line 96 of file btCollisionShape.cpp.
|
virtual |
Definition at line 113 of file btCollisionShape.cpp.
|
pure virtual |
Implemented in btConvexShape, btGImpactMeshShape, btGImpactMeshShapePart, btConvexInternalAabbCachingShape, btHeightfieldTerrainShape, btGImpactShapeInterface, btCompoundShape, btBox2dShape, btCylinderShape, btConvexPointCloudShape, btPolyhedralConvexAabbCachingShape, btConeShape, btBoxShape, btConvexInternalShape, btCapsuleShape, btConvexHullShape, btBvhTriangleMeshShape, btUniformScalingShape, btConvex2dShape, btConvexTriangleMeshShape, btTriangleMeshShape, btStaticPlaneShape, btEmptyShape, btScaledBvhTriangleMeshShape, btSdfCollisionShape, and btSoftBodyCollisionShape.
|
pure virtual |
Implemented in btConvexShape, btGImpactMeshShape, btGImpactMeshShapePart, btSoftClusterCollisionShape, btGImpactShapeInterface, btCompoundShape, btConvexInternalShape, btUniformScalingShape, btConvex2dShape, btSphereShape, btSdfCollisionShape, btBox2dShape, btBoxShape, btCylinderShape, btConcaveShape, and btCapsuleShape.
|
inline |
Definition at line 130 of file btCollisionShape.h.
|
inline |
optional user data pointer
Definition at line 121 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 31 of file btCollisionShape.h.