16#ifndef BT_CAPSULE_SHAPE_H
17#define BT_CAPSULE_SHAPE_H
26btCapsuleShape : public btConvexInternalShape
51 (void)collisionMargin;
59 btVector3 center = t.getOrigin();
60 btVector3 extent = halfExtents.dot3(abs_b[0], abs_b[1], abs_b[2]);
62 aabbMin = center - extent;
63 aabbMax = center + extent;
68 return "CapsuleShape";
90 btConvexInternalShape::setLocalScaling(scaling);
99 btVector3 aniDir(0, 0, 0);
170 return "btCapsuleShapeData";
@ CAPSULE_SHAPE_PROXYTYPE
virtual void setLocalScaling(const btVector3 &scaling)
in case we receive negative scaling
BT_DECLARE_ALIGNED_ALLOCATOR()
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const
btConvexShape Interface
virtual int calculateSerializeBufferSize() const
virtual btVector3 getAnisotropicRollingFrictionDirection() const
virtual const char * getName() const
btScalar getRadius() const
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const
CollisionShape Interface.
btCapsuleShape()
only used for btCapsuleShapeZ and btCapsuleShapeX subclasses.
btScalar getHalfHeight() const
virtual void getAabb(const btTransform &t, btVector3 &aabbMin, btVector3 &aabbMax) const
getAabb returns the axis aligned bounding box in the coordinate frame of the given transform t.
virtual void setMargin(btScalar collisionMargin)
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
SIMD_FORCE_INLINE void deSerializeFloat(struct btCapsuleShapeData *dataBuffer)
btScalar m_collisionMargin
btVector3 m_implicitShapeDimensions
btMatrix3x3
The btMatrix3x3 class implements a 3x3 rotation matrix, to perform linear algebra in combination with...
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
btCapsuleShapeX(btScalar radius, btScalar height)
virtual const char * getName() const
virtual const char * getName() const
btCapsuleShapeZ(btScalar radius, btScalar height)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btConvexInternalShapeData m_convexInternalShapeData
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btVector3FloatData m_implicitShapeDimensions
btVector3FloatData m_localScaling