16#ifndef BT_STRIDING_MESHINTERFACE_H
17#define BT_STRIDING_MESHINTERFACE_H
89 virtual int calculateSerializeBufferSize()
const;
92 virtual const char* serialize(
void* dataBuffer,
btSerializer* serializer)
const;
PHY_ScalarType
PHY_ScalarType enumerates possible scalar types.
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
The btStridingMeshInterface is the interface class for high performance generic access to triangle me...
virtual void getPremadeAabb(btVector3 *aabbMin, btVector3 *aabbMax) const
virtual void getLockedVertexIndexBase(unsigned char **vertexbase, int &numverts, PHY_ScalarType &type, int &stride, unsigned char **indexbase, int &indexstride, int &numfaces, PHY_ScalarType &indicestype, int subpart=0)=0
get read and write access to a subpart of a triangle mesh this subpart has a continuous array of vert...
BT_DECLARE_ALIGNED_ALLOCATOR()
virtual bool hasPremadeAabb() const
const btVector3 & getScaling() const
virtual void getLockedReadOnlyVertexIndexBase(const unsigned char **vertexbase, int &numverts, PHY_ScalarType &type, int &stride, const unsigned char **indexbase, int &indexstride, int &numfaces, PHY_ScalarType &indicestype, int subpart=0) const =0
virtual void preallocateIndices(int numindices)=0
virtual void setPremadeAabb(const btVector3 &aabbMin, const btVector3 &aabbMax) const
void setScaling(const btVector3 &scaling)
virtual int calculateSerializeBufferSize() const
virtual void unLockVertexBase(int subpart)=0
unLockVertexBase finishes the access to a subpart of the triangle mesh make a call to unLockVertexBas...
virtual int getNumSubParts() const =0
getNumSubParts returns the number of separate subparts each subpart has a continuous array of vertice...
btStridingMeshInterface()
virtual void unLockReadOnlyVertexBase(int subpart) const =0
virtual void preallocateVertices(int numverts)=0
btVector3 can be used to represent 3D points and vectors.
unsigned char m_values[3]
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btShortIntIndexData * m_indices16
btCharIndexTripletData * m_3indices8
btVector3FloatData * m_vertices3f
btShortIntIndexTripletData * m_3indices16
btIntIndexData * m_indices32
btVector3DoubleData * m_vertices3d
do not change those serialization structures, it requires an updated sBulletDNAstr/sBulletDNAstr64
btMeshPartData * m_meshPartsPtr
btVector3FloatData m_scaling