ScummVM API documentation
dgConvexHull3d Class Reference
Inheritance diagram for dgConvexHull3d:
dgList< dgConvexHull3DFace >

Public Member Functions

 dgConvexHull3d (dgMemoryAllocator *const allocator, const dgFloat64 *const vertexCloud, dgInt32 strideInBytes, dgInt32 count, dgFloat64 distTol, dgInt32 maxVertexCount=0x7fffffff)
 
dgInt32 GetVertexCount () const
 
const dgBigVectorGetVertexPool () const
 
const dgBigVectorGetVertex (dgInt32 i) const
 
dgFloat64 GetDiagonal () const
 
dgFloat64 RayCastBruteForce (const dgBigVector &localP0, const dgBigVector &localP1) const
 
dgFloat64 RayCast (const dgBigVector &localP0, const dgBigVector &localP1, const dgConvexHull3DFace **firstFaceGuess=NULL) const
 
void CalculateVolumeAndSurfaceArea (dgFloat64 &volume, dgFloat64 &surcafeArea) const
 
- Public Member Functions inherited from dgList< dgConvexHull3DFace >
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 dgConvexHull3DFace &element)
 
dgListNode * Addtop ()
 
dgListNode * Addtop (dgListNode *const node)
 
dgListNode * Addtop (const dgConvexHull3DFace &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 dgConvexHull3DFace &element) const
 
dgListNode * GetNodeFromInfo (dgConvexHull3DFace &m_info) const
 
void Remove (dgListNode *const node)
 
void Remove (const dgConvexHull3DFace &element)
 
void RemoveAll ()
 
void Merge (dgList< dgConvexHull3DFace > &list)
 
void Unlink (dgListNode *const node)
 
bool SanityCheck () const
 

Protected Member Functions

 dgConvexHull3d (dgMemoryAllocator *const allocator)
 
void BuildHull (const dgFloat64 *const vertexCloud, dgInt32 strideInBytes, dgInt32 count, dgFloat64 distTol, dgInt32 maxVertexCount)
 
dgFloat64 FaceRayCast (const dgConvexHull3DFace *const face, const dgBigVector &origin, const dgBigVector &dist, dgFloat64 &normalProjection) const
 
virtual dgListNode * AddFace (dgInt32 i0, dgInt32 i1, dgInt32 i2)
 
virtual void DeleteFace (dgListNode *const node)
 
virtual dgInt32 InitVertexArray (dgHullVertex *const points, const dgFloat64 *const vertexCloud, dgInt32 strideInBytes, dgInt32 count, void *memoryPool, dgInt32 maxMemSize)
 
void CalculateConvexHull (dgAABBPointTree3d *vertexTree, dgHullVertex *const points, dgInt32 count, dgFloat64 distTol, dgInt32 maxVertexCount)
 
dgInt32 BuildNormalList (dgBigVector *const normalArray) const
 
dgInt32 SupportVertex (dgAABBPointTree3d **const tree, const dgHullVertex *const points, const dgBigVector &dir) const
 
dgFloat64 TetrahedrumVolume (const dgBigVector &p0, const dgBigVector &p1, const dgBigVector &p2, const dgBigVector &p3) const
 
void TessellateTriangle (dgInt32 level, const dgVector &p0, const dgVector &p1, const dgVector &p2, dgInt32 &count, dgBigVector *const ouput, dgInt32 &start) const
 
dgAABBPointTree3d * BuildTree (dgAABBPointTree3d *const parent, dgHullVertex *const points, dgInt32 count, dgInt32 baseIndex, dgInt8 **const memoryPool, dgInt32 &maxMemSize) const
 
bool Sanity () const
 

Static Protected Member Functions

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

Protected Attributes

dgInt32 m_mark
 
dgInt32 m_count
 
dgFloat64 m_diag
 
dgArray< dgBigVectorm_points
 

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