Bullet Collision Detection & Physics Library
|
The btBoxShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space. More...
#include <btBoxShape.h>
Public Member Functions | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
btVector3 | getHalfExtentsWithMargin () const |
const btVector3 & | getHalfExtentsWithoutMargin () const |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const |
btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const |
btBoxShape (const btVector3 &boxHalfExtents) | |
virtual void | setMargin (btScalar collisionMargin) |
virtual void | setLocalScaling (const btVector3 &scaling) |
virtual void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version More... | |
virtual void | calculateLocalInertia (btScalar mass, btVector3 &inertia) const |
virtual void | getPlane (btVector3 &planeNormal, btVector3 &planeSupport, int i) const |
virtual int | getNumPlanes () const |
virtual int | getNumVertices () const |
virtual int | getNumEdges () const |
virtual void | getVertex (int i, btVector3 &vtx) const |
virtual void | getPlaneEquation (btVector4 &plane, int i) const |
virtual void | getEdge (int i, btVector3 &pa, btVector3 &pb) const |
virtual bool | isInside (const btVector3 &pt, btScalar tolerance) const |
virtual const char * | getName () const |
virtual int | getNumPreferredPenetrationDirections () const |
virtual void | getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) const |
Public Member Functions inherited from btPolyhedralConvexShape | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
btPolyhedralConvexShape () | |
virtual | ~btPolyhedralConvexShape () |
virtual bool | initializePolyhedralFeatures (int shiftVerticesByMargin=0) |
optional method mainly used to generate multiple contact points by clipping polyhedral features (faces/edges) experimental/work-in-progress More... | |
virtual void | setPolyhedralFeatures (btConvexPolyhedron &polyhedron) |
const btConvexPolyhedron * | getConvexPolyhedron () const |
virtual btVector3 | localGetSupportingVertexWithoutMargin (const btVector3 &vec) const |
virtual void | batchedUnitVectorGetSupportingVertexWithoutMargin (const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const |
virtual void | calculateLocalInertia (btScalar mass, btVector3 &inertia) const |
virtual int | getNumVertices () const =0 |
virtual int | getNumEdges () const =0 |
virtual void | getEdge (int i, btVector3 &pa, btVector3 &pb) const =0 |
virtual void | getVertex (int i, btVector3 &vtx) const =0 |
virtual int | getNumPlanes () const =0 |
virtual void | getPlane (btVector3 &planeNormal, btVector3 &planeSupport, int i) const =0 |
virtual bool | isInside (const btVector3 &pt, btScalar tolerance) const =0 |
Public Member Functions inherited from btConvexInternalShape | |
BT_DECLARE_ALIGNED_ALLOCATOR () | |
virtual | ~btConvexInternalShape () |
virtual btVector3 | localGetSupportingVertex (const btVector3 &vec) const |
const btVector3 & | getImplicitShapeDimensions () const |
void | setImplicitShapeDimensions (const btVector3 &dimensions) |
warning: use setImplicitShapeDimensions with care changing a collision shape while the body is in the world is not recommended, it is best to remove the body from the world, then make the change, and re-add it alternatively flush the contact points, see documentation for 'cleanProxyFromPairs' More... | |
void | setSafeMargin (btScalar minDimension, btScalar defaultMarginMultiplier=0.1f) |
void | setSafeMargin (const btVector3 &halfExtents, btScalar defaultMarginMultiplier=0.1f) |
void | getAabb (const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const |
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 |
virtual void | setLocalScaling (const btVector3 &scaling) |
virtual const btVector3 & | getLocalScaling () const |
const btVector3 & | getLocalScalingNV () const |
virtual void | setMargin (btScalar margin) |
virtual btScalar | getMargin () const |
btScalar | getMarginNV () const |
virtual int | getNumPreferredPenetrationDirections () const |
virtual void | getPreferredPenetrationDirection (int index, btVector3 &penetrationVector) 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... | |
Public Member Functions inherited from btConvexShape | |
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 |
Public Member Functions inherited from btCollisionShape | |
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 | |
Protected Member Functions inherited from btConvexInternalShape | |
btConvexInternalShape () | |
Protected Attributes inherited from btPolyhedralConvexShape | |
btConvexPolyhedron * | m_polyhedron |
Protected Attributes inherited from btConvexInternalShape | |
btVector3 | m_localScaling |
btVector3 | m_implicitShapeDimensions |
btScalar | m_collisionMargin |
btScalar | m_padding |
Protected Attributes inherited from btCollisionShape | |
int | m_shapeType |
void * | m_userPointer |
int | m_userIndex |
int | m_userIndex2 |
The btBoxShape is a box primitive around the origin, its sides axis aligned with length specified by half extents, in local shape coordinates. When used as part of a btCollisionObject or btRigidBody it will be an oriented box in world space.
Definition at line 26 of file btBoxShape.h.
btBoxShape::btBoxShape | ( | const btVector3 & | boxHalfExtents | ) |
Definition at line 17 of file btBoxShape.cpp.
|
inlinevirtual |
Reimplemented from btPolyhedralConvexShape.
Definition at line 67 of file btBoxShape.h.
btBoxShape::BT_DECLARE_ALIGNED_ALLOCATOR | ( | ) |
Reimplemented from btPolyhedralConvexShape.
Definition at line 33 of file btBoxShape.cpp.
|
virtual |
getAabb's default implementation is brute force, expected derived classes to implement a fast dedicated version
Implements btConvexShape.
Definition at line 28 of file btBoxShape.cpp.
Implements btPolyhedralConvexShape.
Definition at line 170 of file btBoxShape.h.
|
inline |
Definition at line 34 of file btBoxShape.h.
|
inline |
Definition at line 42 of file btBoxShape.h.
|
inlinevirtual |
Implements btCollisionShape.
Definition at line 253 of file btBoxShape.h.
|
inlinevirtual |
Implements btPolyhedralConvexShape.
Definition at line 126 of file btBoxShape.h.
|
inlinevirtual |
Implements btPolyhedralConvexShape.
Definition at line 116 of file btBoxShape.h.
|
inlinevirtual |
Reimplemented from btConvexInternalShape.
Definition at line 258 of file btBoxShape.h.
|
inlinevirtual |
Implements btPolyhedralConvexShape.
Definition at line 121 of file btBoxShape.h.
|
inlinevirtual |
Implements btPolyhedralConvexShape.
Definition at line 107 of file btBoxShape.h.
|
inlinevirtual |
Definition at line 141 of file btBoxShape.h.
|
inlinevirtual |
Reimplemented from btConvexInternalShape.
Definition at line 263 of file btBoxShape.h.
|
inlinevirtual |
Implements btPolyhedralConvexShape.
Definition at line 131 of file btBoxShape.h.
Implements btPolyhedralConvexShape.
Definition at line 236 of file btBoxShape.h.
Reimplemented from btConvexInternalShape.
Definition at line 47 of file btBoxShape.h.
|
inlinevirtual |
Reimplemented from btPolyhedralConvexShape.
Definition at line 58 of file btBoxShape.h.
|
inlinevirtual |
Reimplemented from btConvexInternalShape.
Definition at line 92 of file btBoxShape.h.
|
inlinevirtual |
Reimplemented from btConvexInternalShape.
Definition at line 82 of file btBoxShape.h.