16#ifndef BT_CYLINDER_MINKOWSKI_H
17#define BT_CYLINDER_MINKOWSKI_H
25btCylinderShape : public btConvexInternalShape
38 halfExtents += margin;
63 btConvexInternalShape::setMargin(collisionMargin);
75 btVector3 vecnorm = vec;
96 btVector3 aniDir(0, 0, 0);
110 btVector3 unScaledImplicitShapeDimensionsWithMargin = implicitShapeDimensionsWithMargin /
m_localScaling;
112 btConvexInternalShape::setLocalScaling(scaling);
203 return "btCylinderShapeData";
virtual btScalar getMargin() const =0
btVector3 m_implicitShapeDimensions
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 btScalar getRadius() const
virtual int calculateSerializeBufferSize() const
virtual btVector3 getAnisotropicRollingFrictionDirection() const
btCylinderShape(const btVector3 &halfExtents)
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 btVector3 localGetSupportingVertex(const btVector3 &vec) const
virtual const char * getName() const
const btVector3 & getHalfExtentsWithoutMargin() const
btVector3 getHalfExtentsWithMargin() const
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const
CollisionShape Interface.
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
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
btCylinderShapeX(const btVector3 &halfExtents)
virtual btScalar getRadius() const
virtual const char * getName() const
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const
BT_DECLARE_ALIGNED_ALLOCATOR()
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
virtual btScalar getRadius() const
virtual const char * getName() const
BT_DECLARE_ALIGNED_ALLOCATOR()
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const
btCylinderShapeZ(const btVector3 &halfExtents)
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btConvexInternalShapeData m_convexInternalShapeData