16#ifndef BT_STRIDING_MESHINTERFACE_H
17#define BT_STRIDING_MESHINTERFACE_H
148SIMD_FORCE_INLINE int btStridingMeshInterface::calculateSerializeBufferSize()
const
unsigned calculateSerializeBufferSize() const
virtual bool serialize(void *o_alignedDataBuffer, unsigned i_dataBufferSize, bool i_swapEndian) const
Data buffer MUST be 16 byte aligned.
#define BT_DECLARE_ALIGNED_ALLOCATOR()
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
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 preallocateVertices(int numverts)=0
virtual void setPremadeAabb(const btVector3 &aabbMin, const btVector3 &aabbMax) const
void calculateAabbBruteForce(btVector3 &aabbMin, btVector3 &aabbMax)
brute force method to calculate aabb
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
virtual void unLockReadOnlyVertexBase(int subpart) const =0
virtual bool hasPremadeAabb() const
virtual void preallocateIndices(int numindices)=0
virtual void getPremadeAabb(btVector3 *aabbMin, btVector3 *aabbMax) const
virtual void unLockVertexBase(int subpart)=0
virtual int getNumSubParts() const =0
virtual void InternalProcessAllTriangles(btInternalTriangleIndexCallback *callback, const btVector3 &aabbMin, const btVector3 &aabbMax) const
void setScaling(const btVector3 &scaling)
btVector3
btVector3 can be used to represent 3D points and vectors. It has an un-used w component to suit 16-by...
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