22 #ifndef __ND_SHAPE_STATIC_PROCEDURAL_MESH__
23 #define __ND_SHAPE_STATIC_PROCEDURAL_MESH__
25 #include "ndCollisionStdafx.h"
26 #include "ndShapeStaticMesh.h"
35 ndEdge(ndInt32 i0, ndInt32 i1,
const ndPlane& plane, ndInt32 testIndex);
37 bool operator< (
const ndEdge& edge)
const;
38 bool operator> (
const ndEdge& edge)
const;
53 class ndEdgeMap :
public ndTree<ndInt32, ndEdge, ndContainersFreeListAlloc<ndInt32>>
63 D_COLLISION_API
virtual ndShapeInfo GetShapeInfo()
const;
70 D_COLLISION_API
virtual void GetCollidingFaces(
ndPolygonMeshDesc*
const data)
const;
73 void CalculateLocalObb();
85 inline ndShapeStaticProceduralMesh::ndEdge::ndEdge()
89 inline ndShapeStaticProceduralMesh::ndEdge::ndEdge(ndInt32 i0, ndInt32 i1,
90 const ndPlane& plane, ndInt32 testIndex)
92 ,m_testIndex(testIndex)
98 inline bool ndShapeStaticProceduralMesh::ndEdge::operator< (
const ndEdge& edge)
const
100 return m_key < edge.m_key;
103 inline bool ndShapeStaticProceduralMesh::ndEdge::operator> (
const ndEdge& edge)
const
105 return m_key > edge.m_key;
108 inline ndShapeStaticProceduralMesh::ndEdgeMap::ndEdgeMap()