Newton Dynamics  4.00
dConvexHull4d Class Reference
Inheritance diagram for dConvexHull4d:
dList< dConvexHull4dTetraherum > dDelaunayTetrahedralization

Classes

class  dgNormalMap
 

Public Member Functions

D_CORE_API dConvexHull4d (const dConvexHull4d &source)
 
D_CORE_API dConvexHull4d (const dFloat64 *const vertexCloud, dInt32 strideInBytes, dInt32 count, dFloat64 distTol)
 
dInt32 GetVertexCount () const
 
dInt32 GetVertexIndex (dInt32 i) const
 
const dBigVectorGetVertex (dInt32 i) const
 
const dConvexHull4dVectorGetHullVertexArray () const
 
dFloat64 GetTetraVolume (const dConvexHull4dTetraherum *const tetra) const
 
dInt32 IncMark ()
 
void Save (const char *const filename) const
 
- Public Member Functions inherited from dList< dConvexHull4dTetraherum >
 operator dInt32 () const
 
const dInt32 GetCount () const
 
dListNode * GetLast () const
 
dListNode * GetFirst () const
 
dListNode * Append ()
 
dListNode * Append (dListNode *const node)
 
dListNode * Append (const dConvexHull4dTetraherum &element)
 
dListNode * Addtop ()
 
dListNode * Addtop (dListNode *const node)
 
dListNode * Addtop (const dConvexHull4dTetraherum &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 dConvexHull4dTetraherum &element) const
 
dListNode * GetNodeFromInfo (dConvexHull4dTetraherum &m_info) const
 
void Remove (dListNode *const node)
 
void Remove (const dConvexHull4dTetraherum &element)
 
void RemoveAll ()
 
void Merge (dList< dConvexHull4dTetraherum, dContainersAlloc< dConvexHull4dTetraherum > > &list)
 
void Unlink (dListNode *const node)
 
bool SanityCheck () const
 

Protected Member Functions

void BuildHull (const dFloat64 *const vertexCloud, dInt32 strideInBytes, dInt32 count, dFloat64 distTol)
 
virtual dInt32 AddVertex (const dBigVector &vertex)
 
virtual dInt32 InitVertexArray (dConvexHull4dVector *const points, const dFloat64 *const vertexCloud, dInt32 strideInBytes, dInt32 count, void *const memoryPool, dInt32 maxMemSize)
 
virtual dListNode * AddFace (dInt32 i0, dInt32 i1, dInt32 i2, dInt32 i3)
 
virtual void DeleteFace (dListNode *const node)
 
dListNode * FindFacingNode (const dBigVector &vertex)
 
void InsertNewVertex (dInt32 vertexIndex, dListNode *const frontFace, dList< dListNode * > &deletedFaces, dList< dListNode * > &newFaces)
 
dInt32 SupportVertex (dConvexHull4dAABBTreeNode **const tree, const dConvexHull4dVector *const points, const dBigVector &dir, const bool removeEntry=true) const
 
void CalculateConvexHull (dConvexHull4dAABBTreeNode *vertexTree, dConvexHull4dVector *const points, dInt32 count, dFloat64 distTol)
 
void LinkSibling (dListNode *node0, dListNode *node1) const
 
bool Sanity () const
 
dConvexHull4dAABBTreeNodeBuildTree (dConvexHull4dAABBTreeNode *const parent, dConvexHull4dVector *const points, dInt32 count, dInt32 baseIndex, dInt8 **const memoryPool, dInt32 &maxMemSize) const
 

Static Protected Member Functions

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

Protected Attributes

dInt32 m_mark
 
dInt32 m_count
 
dFloat64 m_diag
 
dArray< dConvexHull4dVectorm_points
 

Additional Inherited Members

- Static Public Member Functions inherited from dList< dConvexHull4dTetraherum >
static void FlushFreeList ()