22 #ifndef __DG_CONVEXHULL_3D__
23 #define __DG_CONVEXHULL_3D__
25 #include "dCoreStdafx.h"
31 #include "dQuaternion.h"
33 #define D_OLD_CONVEXHULL_3D
43 void SetMark(dInt32 mark) {m_mark = mark;}
44 dInt32 GetMark()
const {
return m_mark;}
62 #ifdef D_OLD_CONVEXHULL_3D
68 D_CORE_API
dConvexHull3d(
const dFloat64*
const vertexCloud, dInt32 strideInBytes, dInt32 count, dFloat64 distTol, dInt32 maxVertexCount = 0x7fffffff);
71 dInt32 GetVertexCount()
const;
75 dFloat64 GetDiagonal()
const;
78 void CalculateVolumeAndSurfaceArea (dFloat64& volume, dFloat64& surcafeArea)
const;
82 void BuildHull (
const dFloat64*
const vertexCloud, dInt32 strideInBytes, dInt32 count, dFloat64 distTol, dInt32 maxVertexCount);
84 virtual dListNode* AddFace (dInt32 i0, dInt32 i1, dInt32 i2);
85 virtual void DeleteFace (dListNode*
const node) ;
86 virtual dInt32 InitVertexArray(
dConvexHull3dVertex*
const points,
const dFloat64*
const vertexCloud, dInt32 strideInBytes, dInt32 count,
void*
const memoryPool, dInt32 maxMemSize);
95 dInt32 GetUniquePoints(
dConvexHull3dVertex*
const points,
const dFloat64*
const vertexCloud, dInt32 strideInBytes, dInt32 count,
void*
const memoryPool, dInt32 maxMemSize);
99 void Save (
const char*
const filename)
const;
106 } D_GCC_NEWTON_ALIGN_32;
108 inline dInt32 dConvexHull3d::GetVertexCount()
const
113 inline const dBigVector* dConvexHull3d::GetVertexPool()
const
118 inline const dBigVector& dConvexHull3d::GetVertex(dInt32 index)
const
120 return m_points[index];
123 inline dFloat64 dConvexHull3d::GetDiagonal()
const