16#ifndef BT_COLLISION_SHAPE_H
17#define BT_COLLISION_SHAPE_H
46 virtual void getAabb(
const btTransform& t, btVector3& aabbMin, btVector3& aabbMax)
const = 0;
103 virtual const char*
getName()
const = 0;
@ INVALID_SHAPE_PROXYTYPE
BT_DECLARE_ALIGNED_ALLOCATOR()
SIMD_FORCE_INLINE bool isSoftBody() const
virtual void getBoundingSphere(btVector3 ¢er, btScalar &radius) const
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const =0
CollisionShape Interface.
void setUserPointer(void *userPtr)
optional user data pointer
SIMD_FORCE_INLINE bool isConcave() const
virtual int calculateSerializeBufferSize() const
virtual btVector3 getAnisotropicRollingFrictionDirection() const
virtual const char * getName() const =0
getName is for debugging
void calculateTemporalAabb(const btTransform &curTrans, const btVector3 &linvel, const btVector3 &angvel, btScalar timeStep, btVector3 &temporalAabbMin, btVector3 &temporalAabbMax) const
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.
SIMD_FORCE_INLINE bool isNonMoving() const
SIMD_FORCE_INLINE bool isConvex() const
void setUserIndex(int index)
SIMD_FORCE_INLINE bool isConvex2d() const
virtual const btVector3 & getLocalScaling() const =0
btCollisionShape
The btCollisionShape class provides an interface for collision shapes that can be shared among btColl...
SIMD_FORCE_INLINE bool isPolyhedral() const
virtual void setMargin(btScalar margin)=0
virtual btScalar getAngularMotionDisc() const
getAngularMotionDisc returns the maximum radius needed for Conservative Advancement to handle time-of...
virtual btScalar getMargin() const =0
virtual void setLocalScaling(const btVector3 &scaling)=0
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
SIMD_FORCE_INLINE bool isInfinite() const
isInfinite is used to catch simulation error (aabb check)
virtual void serializeSingleShape(btSerializer *serializer) const
SIMD_FORCE_INLINE bool isCompound() const
void * getUserPointer() const
btScalar getContactBreakingThreshold() const
float btScalar
The btScalar type abstracts floating point numbers, to easily switch between double and single floati...
#define ATTRIBUTE_ALIGNED16(a)
#define SIMD_FORCE_INLINE
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64