My Project: dgHACDClusterGraph Class Reference

My Project

Classes | Public Member Functions | Public Attributes | List of all members
dgHACDClusterGraph Class Reference
Inheritance diagram for dgHACDClusterGraph:

## Classes

class | dgBackFaceFinder
class | dgHACDConvacityLookAheadTree
class | dgHACDConveHull
class | dgPairProxy

## Public Member Functions

| dgHACDClusterGraph (dgMeshEffect &mesh, dgFloat32 backFaceDistanceFactor, dgReportProgress reportProgressCallback, void *const reportProgressUserData)
| ~dgHACDClusterGraph ()
void | Trace () const
bool | ReportProgress ()
dgMeshEffect * | CreatePartitionMesh (dgMeshEffect &mesh, dgInt32 maxVertexPerHull)
dgFloat64 | ConcavityByFaceMedian (dgInt32 faceCountA, dgInt32 faceCountB) const
dgFloat64 | CalculateConcavityMetric (dgFloat64 convexConcavity, dgFloat64 area, dgFloat64 perimeter, dgInt32 faceCountA, dgInt32 faceCountB) const
void | SubmitInitialEdgeCosts (dgMeshEffect &mesh)
dgInt32 | CopyVertexToPool (const dgMeshEffect &mesh, const dgHACDCluster &cluster, dgInt32 start)
void | MarkInteriorClusterEdges (dgMeshEffect &mesh, dgInt32 mark, const dgHACDCluster &cluster, dgInt32 colorA, dgInt32 colorB) const
dgFloat64 | CalculateClusterPerimeter (dgMeshEffect &mesh, dgInt32 mark, const dgHACDCluster &cluster, dgInt32 colorA, dgInt32 colorB) const
void | HeapCollectGarbage ()
dgFloat64 | CalculateConcavity (dgHACDConveHull &hull, const dgMeshEffect &mesh, const dgHACDCluster &cluster)
dgFloat64 | CalculateConcavity (dgHACDConveHull &hull, dgMeshEffect &mesh, dgHACDCluster &clusterA, dgHACDCluster &clusterB)
dgList< dgPairProxy >::dgListNode * | SubmitEdgeCost (dgMeshEffect &mesh, dgListNode *const clusterNodeA, dgListNode *const clusterNodeB, dgFloat64 perimeterHandicap)
bool | CollapseEdge (dgList< dgPairProxy >::dgListNode *const pairNode, dgMeshEffect &mesh, dgFloat64 concavity)
bool | CollapseClusters (dgMeshEffect &mesh, dgFloat64 maxConcavity___, dgInt32 maxClustesCount)
Public Member Functions inherited from dgGraph< dgHACDCluster, dgHACDEdge >
| dgGraph (dgMemoryAllocator *const allocator)
| ~dgGraph ()
dgGraph< dgHACDCluster, dgHACDEdge >::dgListNode * | AddNode ()
void | DeleteNode (typename dgGraph< dgHACDCluster, dgHACDEdge >::dgListNode *const node)
dgGraph< dgHACDCluster, dgHACDEdge >::dgListNode * | GetNodeFromNodeData (dgHACDCluster *const nodeData)
Public Member Functions inherited from dgList< dgGraphNode< dgHACDCluster, dgHACDEdge > >
| dgList (dgMemoryAllocator *const allocator)
virtual | ~dgList ()
dgMemoryAllocator * | GetAllocator () 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 dgGraphNode< dgHACDCluster, dgHACDEdge > &element)
dgListNode * | Addtop ()
dgListNode * | Addtop (dgListNode *const node)
dgListNode * | Addtop (const dgGraphNode< dgHACDCluster, dgHACDEdge > &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 dgGraphNode< dgHACDCluster, dgHACDEdge > &element) const
dgListNode * | GetNodeFromInfo (dgGraphNode< dgHACDCluster, dgHACDEdge > &m_info) const
void | Remove (dgListNode *const node)
void | Remove (const dgGraphNode< dgHACDCluster, dgHACDEdge > &element)
void | RemoveAll ()
void | Merge (dgList< dgGraphNode< dgHACDCluster, dgHACDEdge > > &list)
void | Unlink (dgListNode *const node)
bool | SanityCheck () const

## Public Attributes

dgInt32 | m_mark
dgInt32 | m_faceCount
dgInt32 | m_vertexMark
dgInt32 | m_progress
dgInt32 | m_concavityTreeIndex
dgFloat32 | m_invFaceCount
dgFloat64 | m_diagonal
dgInt32 * | m_vertexMarks
dgBigVector * | m_vertexPool
dgList< dgPairProxy > | m_proxyList
dgHACDConvacityLookAheadTree ** | m_concavityTreeArray
dgList< dgHACDConvacityLookAheadTree * > | m_convexProximation
dgUpHeap< dgList< dgPairProxy >::dgListNode *, dgFloat64 > | m_priorityHeap
dgReportProgress | m_reportProgressCallback
void * | m_reportProgressUserData

## Constructor & Destructor Documentation

## § dgHACDClusterGraph()

dgHACDClusterGraph::dgHACDClusterGraph | ( | dgMeshEffect & | mesh,
|  | dgFloat32 | backFaceDistanceFactor,
|  | dgReportProgress | reportProgressCallback,
|  | void *const | reportProgressUserData
| ) |  |

inline

## § ~dgHACDClusterGraph()

dgHACDClusterGraph::~dgHACDClusterGraph | ( |  | ) |

inline

## Member Function Documentation

## § CalculateClusterPerimeter()

dgFloat64 dgHACDClusterGraph::CalculateClusterPerimeter | ( | dgMeshEffect & | mesh,
|  | dgInt32 | mark,
|  | const dgHACDCluster & | cluster,
|  | dgInt32 | colorA,
|  | dgInt32 | colorB
| ) |  | const

inline

## § CalculateConcavity() [1/2]

dgFloat64 dgHACDClusterGraph::CalculateConcavity | ( | dgHACDConveHull & | hull,
|  | const dgMeshEffect & | mesh,
|  | const dgHACDCluster & | cluster
| ) |  |

inline

## § CalculateConcavity() [2/2]

dgFloat64 dgHACDClusterGraph::CalculateConcavity | ( | dgHACDConveHull & | hull,
|  | dgMeshEffect & | mesh,
|  | dgHACDCluster & | clusterA,
|  | dgHACDCluster & | clusterB
| ) |  |

inline

## § CalculateConcavityMetric()

dgFloat64 dgHACDClusterGraph::CalculateConcavityMetric | ( | dgFloat64 | convexConcavity,
|  | dgFloat64 | area,
|  | dgFloat64 | perimeter,
|  | dgInt32 | faceCountA,
|  | dgInt32 | faceCountB
| ) |  | const

inline

## § CollapseClusters()

bool dgHACDClusterGraph::CollapseClusters | ( | dgMeshEffect & | mesh,
|  | dgFloat64 | maxConcavity___,
|  | dgInt32 | maxClustesCount
| ) |  |

inline

## § CollapseEdge()

bool dgHACDClusterGraph::CollapseEdge | ( | dgList< dgPairProxy >::dgListNode *const | pairNode,
|  | dgMeshEffect & | mesh,
|  | dgFloat64 | concavity
| ) |  |

inline

## § ConcavityByFaceMedian()

dgFloat64 dgHACDClusterGraph::ConcavityByFaceMedian | ( | dgInt32 | faceCountA,
|  | dgInt32 | faceCountB
| ) |  | const

inline

## § CopyVertexToPool()

dgInt32 dgHACDClusterGraph::CopyVertexToPool | ( | const dgMeshEffect & | mesh,
|  | const dgHACDCluster & | cluster,
|  | dgInt32 | start
| ) |  |

inline

## § CreatePartitionMesh()

dgMeshEffect* dgHACDClusterGraph::CreatePartitionMesh | ( | dgMeshEffect & | mesh,
|  | dgInt32 | maxVertexPerHull
| ) |  |

inline

## § HeapCollectGarbage()

void dgHACDClusterGraph::HeapCollectGarbage | ( |  | ) |

inline

## § MarkInteriorClusterEdges()

void dgHACDClusterGraph::MarkInteriorClusterEdges | ( | dgMeshEffect & | mesh,
|  | dgInt32 | mark,
|  | const dgHACDCluster & | cluster,
|  | dgInt32 | colorA,
|  | dgInt32 | colorB
| ) |  | const

inline

## § ReportProgress()

bool dgHACDClusterGraph::ReportProgress | ( |  | ) |

inline

## § SubmitEdgeCost()

dgList<dgPairProxy>::dgListNode* dgHACDClusterGraph::SubmitEdgeCost | ( | dgMeshEffect & | mesh,
|  | dgListNode *const | clusterNodeA,
|  | dgListNode *const | clusterNodeB,
|  | dgFloat64 | perimeterHandicap
| ) |  |

inline

## § SubmitInitialEdgeCosts()

void dgHACDClusterGraph::SubmitInitialEdgeCosts | ( | dgMeshEffect & | mesh | ) |

inline

## § Trace()

void dgHACDClusterGraph::Trace | ( |  | ) | const

inline

## Member Data Documentation

## § m_concavityTreeArray

dgHACDConvacityLookAheadTree** dgHACDClusterGraph::m_concavityTreeArray

## § m_concavityTreeIndex

dgInt32 dgHACDClusterGraph::m_concavityTreeIndex

## § m_convexProximation

dgList<dgHACDConvacityLookAheadTree*> dgHACDClusterGraph::m_convexProximation

## § m_diagonal

dgFloat64 dgHACDClusterGraph::m_diagonal

## § m_faceCount

dgInt32 dgHACDClusterGraph::m_faceCount

## § m_invFaceCount

dgFloat32 dgHACDClusterGraph::m_invFaceCount

## § m_mark

dgInt32 dgHACDClusterGraph::m_mark

## § m_priorityHeap

dgUpHeap<dgList<dgPairProxy>::dgListNode*, dgFloat64> dgHACDClusterGraph::m_priorityHeap

## § m_progress

dgInt32 dgHACDClusterGraph::m_progress

## § m_proxyList

dgList<dgPairProxy> dgHACDClusterGraph::m_proxyList

## § m_reportProgressCallback

dgReportProgress dgHACDClusterGraph::m_reportProgressCallback

## § m_reportProgressUserData

void* dgHACDClusterGraph::m_reportProgressUserData

## § m_vertexMark

dgInt32 dgHACDClusterGraph::m_vertexMark

## § m_vertexMarks

dgInt32* dgHACDClusterGraph::m_vertexMarks

## § m_vertexPool

dgBigVector* dgHACDClusterGraph::m_vertexPool

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

- dynamics.mod/NewtonDynamics/source/meshUtil/dgMeshEffect3.cpp