Newton Dynamics  4.00
dConvexHull3d Class Reference
Inheritance diagram for dConvexHull3d:
dClassAlloc dList< dConvexHull3dFace >

Classes

class  dNormalMap
 

Public Member Functions

D_CORE_API dConvexHull3d (const dConvexHull3d &source)
 
D_CORE_API dConvexHull3d (const dFloat64 *const vertexCloud, dInt32 strideInBytes, dInt32 count, dFloat64 distTol, dInt32 maxVertexCount=0x7fffffff)
 
dInt32 GetVertexCount () const
 
const dBigVectorGetVertexPool () const
 
const dBigVectorGetVertex (dInt32 i) const
 
dFloat64 GetDiagonal () const
 
void GetAABB (dBigVector &boxP0, dBigVector &boxP1) const
 
dFloat64 RayCast (const dBigVector &localP0, const dBigVector &localP1) const
 
void CalculateVolumeAndSurfaceArea (dFloat64 &volume, dFloat64 &surcafeArea) const
 
- Public Member Functions inherited from dClassAlloc
 dClassAlloc ()
 Empty.
 
 ~dClassAlloc ()
 Empty.
 
void * operator new (size_t size)
 Overloaded operator new for any subclass derived from dClassAlloc.
 
void operator delete (void *ptr)
 Overloaded operator delete for any subclass derived from dClassAlloc.
 
- Public Member Functions inherited from dList< dConvexHull3dFace >
 operator dInt32 () const
 
const dInt32 GetCount () const
 
dListNode * GetLast () const
 
dListNode * GetFirst () const
 
dListNode * Append ()
 
dListNode * Append (dListNode *const node)
 
dListNode * Append (const dConvexHull3dFace &element)
 
dListNode * Addtop ()
 
dListNode * Addtop (dListNode *const node)
 
dListNode * Addtop (const dConvexHull3dFace &element)
 
void RotateToEnd (dListNode *const node)
 
void RotateToBegin (dListNode *const node)
 
void InsertAfter (dListNode *const root, dListNode *const node)
 
void InsertBefore (dListNode *const root, dListNode *const node)
 
dListNode * Find (const dConvexHull3dFace &element) const
 
dListNode * GetNodeFromInfo (dConvexHull3dFace &m_info) const
 
void Remove (dListNode *const node)
 
void Remove (const dConvexHull3dFace &element)
 
void RemoveAll ()
 
void Merge (dList< dConvexHull3dFace, dContainersAlloc< dConvexHull3dFace > > &list)
 
void Unlink (dListNode *const node)
 
bool SanityCheck () const
 

Protected Member Functions

void BuildHull (const dFloat64 *const vertexCloud, dInt32 strideInBytes, dInt32 count, dFloat64 distTol, dInt32 maxVertexCount)
 
virtual dListNode * AddFace (dInt32 i0, dInt32 i1, dInt32 i2)
 
virtual void DeleteFace (dListNode *const node)
 
virtual dInt32 InitVertexArray (dConvexHull3dVertex *const points, const dFloat64 *const vertexCloud, dInt32 strideInBytes, dInt32 count, void *const memoryPool, dInt32 maxMemSize)
 
bool CheckFlatSurface (dConvexHull3dAABBTreeNode *vertexTree, dConvexHull3dVertex *const points, dInt32 count, dFloat64 distTol, dInt32 maxVertexCount)
 
void CalculateConvexHull2d (dConvexHull3dAABBTreeNode *vertexTree, dConvexHull3dVertex *const points, dInt32 count, dFloat64 distTol, dInt32 maxVertexCount)
 
void CalculateConvexHull3d (dConvexHull3dAABBTreeNode *vertexTree, dConvexHull3dVertex *const points, dInt32 count, dFloat64 distTol, dInt32 maxVertexCount)
 
dInt32 SupportVertex (dConvexHull3dAABBTreeNode **const tree, const dConvexHull3dVertex *const points, const dBigVector &dir, const bool removeEntry=true) const
 
dFloat64 TetrahedrumVolume (const dBigVector &p0, const dBigVector &p1, const dBigVector &p2, const dBigVector &p3) const
 
dInt32 GetUniquePoints (dConvexHull3dVertex *const points, const dFloat64 *const vertexCloud, dInt32 strideInBytes, dInt32 count, void *const memoryPool, dInt32 maxMemSize)
 
dConvexHull3dAABBTreeNodeBuildTree (dConvexHull3dAABBTreeNode *const parent, dConvexHull3dVertex *const points, dInt32 count, dInt32 baseIndex, dInt8 **const memoryPool, dInt32 &maxMemSize) const
 
bool Sanity () const
 
void Save (const char *const filename) const
 

Static Protected Member Functions

static dInt32 ConvexCompareVertex (const dConvexHull3dVertex *const A, const dConvexHull3dVertex *const B, void *const context)
 

Protected Attributes

dInt32 m_count
 
dFloat64 m_diag
 
dBigVector m_aabbP0
 
dBigVector m_aabbP1
 
dArray< dBigVectorm_points
 

Additional Inherited Members

- Static Public Member Functions inherited from dClassAlloc
static D_CORE_API void * Malloc (size_t size)
 Generic allocation for any function subclass from dClassAlloc.
 
static D_CORE_API void Free (void *const ptr)
 Generic destruction for any function subclass from dClassAlloc.
 
- Static Public Member Functions inherited from dList< dConvexHull3dFace >
static void FlushFreeList ()