22 #ifndef __ND_SHAPE_STATIC_MESH_H__
23 #define __ND_SHAPE_STATIC_MESH_H__
25 #include "ndCollisionStdafx.h"
45 virtual ndFloat32 GetVolume()
const;
46 virtual ndFloat32 GetBoxMinRadius()
const;
47 virtual ndFloat32 GetBoxMaxRadius()
const;
49 virtual ndVector SupportVertex(
const ndVector& dir, ndInt32*
const vertexIndex)
const;
50 virtual ndVector SupportVertexSpecial(
const ndVector& dir, ndFloat32 skinMargin, ndInt32*
const vertexIndex)
const;
52 virtual ndInt32 CalculatePlaneIntersection(
const ndVector& normal,
const ndVector& point,
ndVector*
const contactsOut)
const;
56 D_COLLISION_API ndInt32 CalculatePlaneIntersection(
const ndFloat32*
const vertex,
const ndInt32*
const index, ndInt32 indexCount, ndInt32 strideInFloat,
const ndPlane& localPlane,
ndVector*
const contactsOut)
const;
63 ndInt32* m_userDataList;
64 ndFloat32* m_veterxArray;
65 ndInt32 m_triangleCount;
66 ndInt32 m_maxIndexCount;
67 ndInt32 m_vertexCount;
68 ndInt32 m_vertexStrideInBytes;
69 } D_GCC_NEWTON_ALIGN_32;
72 inline ndFloat32 ndShapeStaticMesh::GetVolume()
const
74 return ndFloat32(0.0f);
77 inline ndFloat32 ndShapeStaticMesh::GetBoxMinRadius()
const
79 return ndFloat32(0.0f);
82 inline ndFloat32 ndShapeStaticMesh::GetBoxMaxRadius()
const
84 return ndFloat32(0.0f);
87 inline ndVector ndShapeStaticMesh::SupportVertex(
const ndVector&, ndInt32*
const)
const
90 return ndVector::m_zero;
93 inline ndVector ndShapeStaticMesh::SupportVertexSpecial(
const ndVector& dir, ndFloat32, ndInt32*
const vertexIndex)
const
96 return SupportVertex(dir, vertexIndex);
104 inline ndInt32 ndShapeStaticMesh::CalculatePlaneIntersection(
const ndVector&,
const ndVector&,
ndVector*
const)
const
111 return ndVector::m_zero;
126 return ndFloat32(1.2f);