Bullet Collision Detection & Physics Library
|
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape, btConvexHullShape etc. More...
#include <btConvexShape.h>
Public Member Functions | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
btConvexShape () | |
not supported on IBM SDK, until we fix the alignment of btVector3 More... | |
virtual | ~btConvexShape () |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const =0 |
virtual btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const =0 |
btVector3 | localGetSupportVertexWithoutMarginNonVirtual (const btVector3 &vec) const |
btVector3 | localGetSupportVertexNonVirtual (const btVector3 &vec) const |
btScalar | getMarginNonVirtual () const |
void | getAabbNonVirtual (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
virtual void | project (const btTransform &trans, const btVector3 &dir, btScalar &minProj, btScalar &maxProj, btVector3 &witnesPtMin, btVector3 &witnesPtMax) const |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const =0 |
void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version More... | |
virtual void | getAabbSlow (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const =0 |
virtual void | setLocalScaling (const btVector3 &scaling)=0 |
virtual const btVector3 & | getLocalScaling () const =0 |
virtual void | setMargin (btScalar margin)=0 |
virtual btScalar | getMargin () const =0 |
virtual int | getNumPreferredPenetrationDirections () const =0 |
virtual void | getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const =0 |
![]() | |
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 |
Additional Inherited Members | |
![]() | |
int | m_shapeType |
void * | m_userPointer |
int | m_userIndex |
int | m_userIndex2 |
The btConvexShape is an abstract shape interface, implemented by all convex shapes such as btBoxShape, btConvexHullShape etc.
It describes general convex shapes using the localGetSupportingVertex interface, used by collision detectors such as btGjkPairDetector.
Definition at line 31 of file btConvexShape.h.
btConvexShape::btConvexShape | ( | ) |
not supported on IBM SDK, until we fix the alignment of btVector3
Definition at line 41 of file btConvexShape.cpp.
|
virtual |
Definition at line 45 of file btConvexShape.cpp.
|
pure virtual |
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btConeShape, btConvex2dShape, btConvexHullShape, btConvexPointCloudShape, btConvexTriangleMeshShape, btCylinderShape, btCylinderShapeX, btCylinderShapeZ, btMinkowskiSumShape, btMultiSphereShape, btPolyhedralConvexShape, btSphereShape, btTriangleShape, btUniformScalingShape, and btSoftClusterCollisionShape.
btConvexShape::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
|
pure virtual |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
Implements btCollisionShape.
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btConvex2dShape, btConvexInternalShape, btConvexInternalAabbCachingShape, btCylinderShape, btPolyhedralConvexAabbCachingShape, btSphereShape, btBU_Simplex1to4, btTriangleShape, btUniformScalingShape, btTriangleShapeEx, and btSoftClusterCollisionShape.
void btConvexShape::getAabbNonVirtual | ( | const btTransform & | t, |
btVector3 & | aabbMin, | ||
btVector3 & | aabbMax | ||
) | const |
Definition at line 374 of file btConvexShape.cpp.
|
pure virtual |
Implemented in btConvex2dShape, btConvexInternalShape, and btUniformScalingShape.
|
pure virtual |
Implements btCollisionShape.
Implemented in btConvex2dShape, btConvexInternalShape, btConvexTriangleMeshShape, and btUniformScalingShape.
|
pure virtual |
Implements btCollisionShape.
Implemented in btConvex2dShape, btConvexInternalShape, btMinkowskiSumShape, btSphereShape, btUniformScalingShape, and btSoftClusterCollisionShape.
btScalar btConvexShape::getMarginNonVirtual | ( | ) | const |
Definition at line 320 of file btConvexShape.cpp.
|
pure virtual |
Implemented in btBox2dShape, btBoxShape, btConvex2dShape, btConvexInternalShape, btTriangleShape, and btUniformScalingShape.
|
pure virtual |
Implemented in btBox2dShape, btBoxShape, btConvex2dShape, btConvexInternalShape, btTriangleShape, and btUniformScalingShape.
|
pure virtual |
Implemented in btTriangleShape, btBox2dShape, btBoxShape, btCapsuleShape, btConeShape, btConvex2dShape, btConvexHullShape, btConvexPointCloudShape, btConvexTriangleMeshShape, btCylinderShape, btCylinderShapeX, btCylinderShapeZ, btMinkowskiSumShape, btMultiSphereShape, btPolyhedralConvexShape, btSphereShape, btUniformScalingShape, and btSoftClusterCollisionShape.
Definition at line 307 of file btConvexShape.cpp.
btVector3 btConvexShape::localGetSupportVertexWithoutMarginNonVirtual | ( | const btVector3 & | vec | ) | const |
Definition at line 131 of file btConvexShape.cpp.
|
virtual |
Reimplemented in btConvexHullShape.
Definition at line 49 of file btConvexShape.cpp.
|
pure virtual |
Implements btCollisionShape.
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btConeShape, btConvex2dShape, btConvexHullShape, btConvexInternalShape, btConvexInternalAabbCachingShape, btConvexPointCloudShape, btConvexTriangleMeshShape, btCylinderShape, btPolyhedralConvexAabbCachingShape, and btUniformScalingShape.
|
pure virtual |
Implements btCollisionShape.
Implemented in btBox2dShape, btBoxShape, btCapsuleShape, btCylinderShape, btConvex2dShape, btConvexInternalShape, btSphereShape, btUniformScalingShape, and btSoftClusterCollisionShape.