ScummVM API documentation
dgConvexHull4d Class Reference
Inheritance diagram for dgConvexHull4d:
dgList< dgConvexHull4dTetraherum > dgDelaunayTetrahedralization

Public Member Functions

 dgConvexHull4d (dgMemoryAllocator *const allocator, const dgBigVector *const vertexCloud, dgInt32 count, dgFloat32 distTol)
 
dgInt32 GetVertexCount () const
 
dgInt32 GetVertexIndex (dgInt32 i) const
 
const dgBigVectorGetVertex (dgInt32 i) const
 
const dgHullVectorGetHullVertexArray () const
 
dgInt32 IncMark ()
 
- Public Member Functions inherited from dgList< dgConvexHull4dTetraherum >
void operator delete (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete (void *const ptr)
 
void operator delete[] (void *const ptr, dgMemoryAllocator *const allocator)
 
void operator delete[] (void *const ptr)
 
void * operator new (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new (size_t size)
 
void * operator new[] (size_t size, dgMemoryAllocator *const allocator)
 
void * operator new[] (size_t size)
 
 dgList (dgMemoryAllocator *const allocator)
 
dgMemoryAllocatorGetAllocator () const
 
void SetAllocator (dgMemoryAllocator *const allocator)
 
 operator dgInt32 () const
 
dgInt32 GetCount () const
 
dgListNode * GetLast () const
 
dgListNode * GetFirst () const
 
dgListNode * Append ()
 
dgListNode * Append (dgListNode *const node)
 
dgListNode * Append (const dgConvexHull4dTetraherum &element)
 
dgListNode * Addtop ()
 
dgListNode * Addtop (dgListNode *const node)
 
dgListNode * Addtop (const dgConvexHull4dTetraherum &element)
 
void RotateToEnd (dgListNode *const node)
 
void RotateToBegin (dgListNode *const node)
 
void InsertAfter (dgListNode *const root, dgListNode *const node)
 
void InsertBefore (dgListNode *const root, dgListNode *const node)
 
dgListNode * Find (const dgConvexHull4dTetraherum &element) const
 
dgListNode * GetNodeFromInfo (dgConvexHull4dTetraherum &m_info) const
 
void Remove (dgListNode *const node)
 
void Remove (const dgConvexHull4dTetraherum &element)
 
void RemoveAll ()
 
void Merge (dgList< dgConvexHull4dTetraherum > &list)
 
void Unlink (dgListNode *const node)
 
bool SanityCheck () const
 

Protected Member Functions

 dgConvexHull4d (dgMemoryAllocator *const allocator)
 
void BuildHull (dgMemoryAllocator *const allocator, const dgBigVector *const vertexCloud, dgInt32 count, dgFloat64 distTol)
 
virtual dgInt32 AddVertex (const dgBigVector &vertex)
 
virtual dgInt32 InitVertexArray (dgHullVector *const points, const dgBigVector *const vertexCloud, dgInt32 count, void *memoryPool, dgInt32 maxMemSize)
 
virtual dgListNode * AddFace (dgInt32 i0, dgInt32 i1, dgInt32 i2, dgInt32 i3)
 
virtual void DeleteFace (dgListNode *const node)
 
dgListNode * FindFacingNode (const dgBigVector &vertex)
 
dgInt32 BuildNormalList (dgBigVector *const normalArray) const
 
void InsertNewVertex (dgInt32 vertexIndex, dgListNode *const frontFace, dgList< dgListNode *> &deletedFaces, dgList< dgListNode *> &newFaces)
 
dgInt32 SupportVertex (dgAABBPointTree4d **const tree, const dgHullVector *const points, const dgBigVector &dir) const
 
void TessellateTriangle (dgInt32 level, const dgVector &p0, const dgVector &p1, const dgVector &p2, dgInt32 &count, dgBigVector *const ouput, dgInt32 &start) const
 
void CalculateConvexHull (dgAABBPointTree4d *vertexTree, dgHullVector *const points, dgInt32 count, dgFloat64 distTol)
 
void LinkSibling (dgListNode *node0, dgListNode *node1) const
 
bool Sanity () const
 
dgAABBPointTree4d * BuildTree (dgAABBPointTree4d *const parent, dgHullVector *const points, dgInt32 count, dgInt32 baseIndex, dgInt8 **const memoryPool, dgInt32 &maxMemSize) const
 

Static Protected Member Functions

static dgInt32 ConvexCompareVertex (const dgHullVector *const A, const dgHullVector *const B, void *const context)
 

Protected Attributes

dgInt32 m_mark
 
dgInt32 m_count
 
dgFloat64 m_diag
 
dgArray< dgHullVectorm_points
 

The documentation for this class was generated from the following file: