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. | |
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. | |
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 | |
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) | |
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 | |
virtual void | setMargin (btScalar margin)=0 |
virtual btScalar | getMargin () const =0 |
void | setUserPointer (void *userPtr) |
optional user data pointer | |
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) | |
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 btBox2dShape, btBoxShape, btCapsuleShape, btCompoundShape, btConeShape, btConvex2dShape, btCylinderShape, btEmptyShape, btGImpactCompoundShape, btGImpactMeshShape, btGImpactMeshShapePart, btHeightfieldTerrainShape, btMinkowskiSumShape, btMultiSphereShape, btPolyhedralConvexShape, btScaledBvhTriangleMeshShape, btSdfCollisionShape, btSoftBodyCollisionShape, btSoftClusterCollisionShape, btSphereShape, btStaticPlaneShape, btTriangleMeshShape, btTriangleShape, and btUniformScalingShape.
|
inlinevirtual |
Reimplemented in btBvhTriangleMeshShape, btCapsuleShape, btCompoundShape, btConeShape, btConvexHullShape, btConvexInternalShape, btCylinderShape, btGImpactMeshShape, btMultiSphereShape, btScaledBvhTriangleMeshShape, and btStaticPlaneShape.
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 btBox2dShape, btBoxShape, btBU_Simplex1to4, btCapsuleShape, btCompoundShape, btConvex2dShape, btConvexInternalAabbCachingShape, btConvexInternalShape, btConvexShape, btCylinderShape, btEmptyShape, btGImpactShapeInterface, btHeightfieldTerrainShape, btPolyhedralConvexAabbCachingShape, btScaledBvhTriangleMeshShape, btSdfCollisionShape, btSoftBodyCollisionShape, btSoftClusterCollisionShape, btSphereShape, btStaticPlaneShape, btTriangleMeshShape, btTriangleShape, btTriangleShapeEx, and btUniformScalingShape.
|
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 btCapsuleShape, btConeShape, btConeShapeX, btConeShapeZ, and btCylinderShape.
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 btCompoundShape, btConvex2dShape, btConvexInternalShape, btConvexShape, btConvexTriangleMeshShape, btEmptyShape, btGImpactMeshShapePart, btGImpactShapeInterface, btHeightfieldTerrainShape, btScaledBvhTriangleMeshShape, btSdfCollisionShape, btSoftBodyCollisionShape, btStaticPlaneShape, btTriangleMeshShape, and btUniformScalingShape.
|
pure virtual |
|
pure virtual |
Implemented in btBox2dShape, btBoxShape, btBU_Simplex1to4, btBvhTriangleMeshShape, btCapsuleShape, btCapsuleShapeX, btCapsuleShapeZ, btCompoundShape, btConeShape, btConeShapeX, btConeShapeZ, btConvex2dShape, btConvexHullShape, btConvexPointCloudShape, btConvexTriangleMeshShape, btCylinderShape, btCylinderShapeX, btCylinderShapeZ, btEmptyShape, btGImpactCompoundShape, btGImpactMeshShape, btGImpactMeshShapePart, btHeightfieldTerrainShape, btMinkowskiSumShape, btMultimaterialTriangleMeshShape, btMultiSphereShape, btScaledBvhTriangleMeshShape, btSdfCollisionShape, btSoftBodyCollisionShape, btSoftClusterCollisionShape, btSphereShape, btStaticPlaneShape, btTriangleMeshShape, btTriangleShape, and btUniformScalingShape.
|
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 btBvhTriangleMeshShape, btCapsuleShape, btCompoundShape, btConeShape, btConvexHullShape, btConvexInternalShape, btCylinderShape, btGImpactMeshShape, btMultiSphereShape, btScaledBvhTriangleMeshShape, and btStaticPlaneShape.
Definition at line 96 of file btCollisionShape.cpp.
|
virtual |
Definition at line 113 of file btCollisionShape.cpp.
|
pure virtual |
Implemented in btBox2dShape, btBoxShape, btBvhTriangleMeshShape, btCapsuleShape, btCompoundShape, btConeShape, btConvex2dShape, btConvexHullShape, btConvexInternalAabbCachingShape, btConvexInternalShape, btConvexPointCloudShape, btConvexShape, btConvexTriangleMeshShape, btCylinderShape, btEmptyShape, btGImpactMeshShape, btGImpactMeshShapePart, btGImpactShapeInterface, btHeightfieldTerrainShape, btPolyhedralConvexAabbCachingShape, btScaledBvhTriangleMeshShape, btSdfCollisionShape, btSoftBodyCollisionShape, btStaticPlaneShape, btTriangleMeshShape, and btUniformScalingShape.
|
pure virtual |
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btCompoundShape, btConcaveShape, btConvex2dShape, btConvexInternalShape, btConvexShape, btCylinderShape, btGImpactMeshShape, btGImpactMeshShapePart, btGImpactShapeInterface, btSdfCollisionShape, btSoftClusterCollisionShape, btSphereShape, and btUniformScalingShape.
|
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.