22 #ifndef __ND_CONVEXHULL_3D__
23 #define __ND_CONVEXHULL_3D__
25 #include "ndCoreStdafx.h"
31 #include "ndQuaternion.h"
33 #define D_OLD_CONVEXHULL_3D
44 void SetMark(ndInt32 mark) { m_mark = mark; }
45 ndInt32 GetMark()
const {
return m_mark; }
62 #ifdef D_OLD_CONVEXHULL_3D
68 D_CORE_API
ndConvexHull3d(
const ndFloat64*
const vertexCloud, ndInt32 strideInBytes, ndInt32 count, ndFloat64 distTol, ndInt32 maxVertexCount = 0x7fffffff);
73 ndFloat64 GetDiagonal()
const;
76 void CalculateVolumeAndSurfaceArea (ndFloat64& volume, ndFloat64& surcafeArea)
const;
80 void BuildHull (
const ndFloat64*
const vertexCloud, ndInt32 strideInBytes, ndInt32 count, ndFloat64 distTol, ndInt32 maxVertexCount);
82 virtual ndNode* AddFace (ndInt32 i0, ndInt32 i1, ndInt32 i2);
83 virtual void DeleteFace (ndNode*
const node) ;
84 virtual ndInt32 InitVertexArray(
ndConvexHull3dVertex*
const points, ndInt32 count,
void*
const memoryPool, ndInt32 maxMemSize);
97 void Save (
const char*
const filename)
const;
103 } D_GCC_NEWTON_ALIGN_32;
110 inline ndFloat64 ndConvexHull3d::GetDiagonal()
const