16#ifndef BT_CONE_MINKOWSKI_H
17#define BT_CONE_MINKOWSKI_H
24btConeShape : public btConvexInternalShape
57 identity.setIdentity();
58 btVector3 aabbMin, aabbMax;
60 getAabb(identity, aabbMin, aabbMax);
61 btVector3 halfExtents = (aabbMax - aabbMin) *
btScalar(0.5);
71 inertia = scaledmass * (
btVector3(y2 + z2, x2 + z2, x2 + y2));
170 return "btConeShapeData";
ATTR_WARN_UNUSED_RESULT const BMVert * v
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 dedicat...
virtual void setLocalScaling(const btVector3 &scaling)
BT_DECLARE_ALIGNED_ALLOCATOR()
btConeShape(btScalar radius, btScalar height)
virtual btVector3 localGetSupportingVertexWithoutMargin(const btVector3 &vec) const
btConvexShape Interface
btScalar getHeight() const
virtual int calculateSerializeBufferSize() const
virtual btVector3 getAnisotropicRollingFrictionDirection() const
virtual btVector3 localGetSupportingVertex(const btVector3 &vec) const
virtual const char * getName() const
btScalar getRadius() const
virtual void calculateLocalInertia(btScalar mass, btVector3 &inertia) const
CollisionShape Interface.
void setHeight(const btScalar height)
btVector3 coneLocalSupport(const btVector3 &v) const
virtual const char * serialize(void *dataBuffer, btSerializer *serializer) const
fills the dataBuffer and returns the struct name (and 0 on failure)
void setConeUpIndex(int upIndex)
choose upAxis index
virtual void batchedUnitVectorGetSupportingVertexWithoutMargin(const btVector3 *vectors, btVector3 *supportVerticesOut, int numVectors) const
void setRadius(const btScalar radius)
int getConeUpIndex() 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...
btConeShape implements a Cone shape, around the X axis
virtual const char * getName() const
btConeShapeX(btScalar radius, btScalar height)
virtual btVector3 getAnisotropicRollingFrictionDirection() const
btConeShapeZ implements a Cone shape, around the Z axis
virtual btVector3 getAnisotropicRollingFrictionDirection() const
btConeShapeZ(btScalar radius, btScalar height)
virtual const char * getName() const
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