Newton Dynamics  4.00
ndPolygonSoupBuilder::dgPolySoupFilterAllocator Class Reference
Inheritance diagram for ndPolygonSoupBuilder::dgPolySoupFilterAllocator:
ndPolyhedra ndTree< ndEdge, ndEdgeKey > ndClassAlloc

Public Member Functions

ndInt32 AddFilterFace (ndUnsigned32 count, ndInt32 *const pool)
 
- Public Member Functions inherited from ndPolyhedra
D_CORE_API ndPolyhedra (const ndPolyhedra &polyhedra)
 
virtual bool ReportProgress (ndFloat32) const
 
virtual void BeginFace ()
 
ndEdgeAddFace (ndInt32 v0, ndInt32 v1, ndInt32 v2)
 
ndEdgeAddFace (ndInt32 count, const ndInt32 *const index)
 
D_CORE_API ndEdgeAddFace (ndInt32 count, const ndInt32 *const index, const ndInt64 *const userdata)
 
virtual D_CORE_API bool EndFace ()
 
virtual D_CORE_API void DeleteFace (ndEdge *const edge)
 
D_CORE_API ndInt32 GetFaceCount () const
 
ndInt32 GetEdgeCount () const
 
ndInt32 GetLastVertexIndex () const
 
ndInt32 IncLRU () const
 
ndInt32 GetLRU () const
 
void SetLRU (ndInt32 lru) const
 
ndEdgeFindEdge (ndInt32 v0, ndInt32 v1) const
 
ndNode * FindEdgeNode (ndInt32 v0, ndInt32 v1) const
 
D_CORE_API ndEdgeAddHalfEdge (ndInt32 v0, ndInt32 v1)
 
D_CORE_API void DeleteEdge (ndEdge *const edge)
 
void DeleteEdge (ndInt32 v0, ndInt32 v1)
 
D_CORE_API ndEdgeConnectVertex (ndEdge *const e0, ndEdge *const e1)
 
D_CORE_API bool FlipEdge (ndEdge *const edge)
 
D_CORE_API ndEdgeSpliteEdge (ndInt32 newIndex, ndEdge *const edge)
 
D_CORE_API ndBigVector FaceNormal (const ndEdge *const face, const ndFloat64 *const vertex, ndInt32 strideInBytes) const
 
D_CORE_API void SavePLY (const char *const fileName, const ndFloat64 *const vertex, ndInt32 strideInBytes) const
 
void BeginConectedSurface () const
 
D_CORE_API bool GetConectedSurface (ndPolyhedra &polyhedra) const
 
void EndConectedSurface () const
 
D_CORE_API ndMatrix CalculateSphere (ndBigVector &size, const ndFloat64 *const vertex, ndInt32 strideInBytes) const
 
D_CORE_API void ChangeEdgeIncidentVertex (ndEdge *const edge, ndInt32 newIndex)
 
D_CORE_API void DeleteDegenerateFaces (const ndFloat64 *const pool, ndInt32 dstStrideInBytes, ndFloat64 minArea)
 
D_CORE_API bool Optimize (const ndFloat64 *const pool, ndInt32 strideInBytes, ndFloat64 tol, ndInt32 maxFaceCount=1<< 28)
 
D_CORE_API void Triangulate (const ndFloat64 *const vertex, ndInt32 strideInBytes, ndPolyhedra *const leftOversOut)
 
D_CORE_API void ConvexPartition (const ndFloat64 *const vertex, ndInt32 strideInBytes, ndPolyhedra *const leftOversOut)
 
D_CORE_API bool IsFaceConvex (ndEdge *const face, const ndFloat64 *const pool, ndInt32 strideInBytes) const
 
- Public Member Functions inherited from ndTree< ndEdge, ndEdgeKey >
 operator ndInt32 () const
 
ndInt32 GetCount () const
 
ndNode * GetRoot () const
 
ndNode * Minimum () const
 
ndNode * Maximum () const
 
ndNode * Find (const ndEdgeKey &key) const
 
ndNode * FindGreater (const ndEdgeKey &key) const
 
ndNode * FindLessEqual (const ndEdgeKey &key) const
 
ndNode * FindGreaterEqual (const ndEdgeKey &key) const
 
ndNode * FindCreate (const ndEdgeKey &key, bool &wasFound)
 
ndNode * GetNodeFromInfo (ndEdge &info) const
 
ndNode * Insert (const ndEdgeKey &key)
 
ndNode * Insert (ndNode *const node, const ndEdgeKey &key)
 
ndNode * Insert (const ndEdge &element, const ndEdgeKey &key)
 
ndNode * Insert (const ndEdge &element, const ndEdgeKey &key, bool &wasFound)
 
ndNode * Replace (ndEdge &element, const ndEdgeKey &key)
 
ndNode * ReplaceKey (const ndEdgeKey &oldKey, const ndEdgeKey &newKey)
 
ndNode * ReplaceKey (ndNode *const node, const ndEdgeKey &key)
 
void RemoveAll ()
 
void Remove (const ndEdgeKey &key)
 
void Remove (ndNode *const node)
 
void Unlink (ndNode *const node)
 
void SwapInfo (ndTree &tree)
 
bool SanityCheck () const
 
- Public Member Functions inherited from ndClassAlloc
 ndClassAlloc ()
 Empty default constructor.
 
 ~ndClassAlloc ()
 Empty.
 

Additional Inherited Members

- Static Public Member Functions inherited from ndTree< ndEdge, ndEdgeKey >
static void FlushFreeList ()
 
- Static Public Member Functions inherited from ndClassAlloc
D_OPERATOR_NEW_AND_DELETE static D_CORE_API void * Malloc (size_t size)
 Generic allocation for any function subclass from ndClassAlloc.
 
static D_CORE_API void Free (void *const ptr)
 Generic destruction for any function subclass from ndClassAlloc.
 
- Protected Member Functions inherited from ndPolyhedra
D_CORE_API ndEdgeCollapseEdge (ndEdge *const edge)
 
D_CORE_API bool PolygonizeFace (ndEdge *const face, const ndFloat64 *const pool, ndInt32 stride)
 
D_CORE_API bool TriangulateFace (ndEdge *const face, const ndFloat64 *const pool, ndInt32 stride)