|
Public Member Functions |
| mapCliqueAbstraction (Map *, bool uniform=true) |
| Construct a new graph hierarchy.
|
virtual | ~mapCliqueAbstraction () |
virtual mapAbstraction * | clone (Map *_m) |
| return a new abstraction map of the same type as this map abstraction
|
virtual void | verifyHierarchy () |
| verify that the hierarchy is consistent
|
bool | pathable (node *from, node *to) |
| is there a legal path between these 2 nodes?
|
bool | pathable (unsigned int from, unsigned int to) |
void | getParentHierarchy (node *from, node *to, std::vector< node * > &fromChain, std::vector< node * > &toChain) |
| given 2 nodes, find as much of their hierarchy that exists in the graph
|
void | clearMarkedNodes () |
| get current revision of hierarchy -- indicates if changes have been made */
|
void | clearDisplayLists () |
virtual void | removeNode (node *n) |
| remove node from abstraction
|
void | removeEdge (edge *e, unsigned int absLevel) |
| remove edge from abstraction
|
virtual void | addNode (node *n) |
| add node to abstraction
|
virtual void | addEdge (edge *e, unsigned int absLevel) |
| add edge to abstraction
|
void | repairAbstraction () |
| This must be called after any of the above add/remove operations.
|
node * | findNodeParent (node *n) |
edge * | findEdgeParent (edge *e, unsigned int absLevel) |
int | measureRepairHits () |
| measureRepairHits Measure the number of levels hit during repair.
|
Protected Member Functions |
virtual graph * | abstractGraph (graph *g) |
virtual graph * | cliqueAbstractGraph (graph *g) |
void | addNodesToParent (graph *g, node *n, node *parent, int width) |
void | addTunnel (node *n, graph *g, node *newNode) |
void | renameNodeInAbstraction (node *which, unsigned int oldID) |
int | getChildGroups (node *which) |
void | splitNode (node *which, int numGroups) |
void | addNodeToRepairQ (node *n) |
void | removeNodeFromRepairQ (node *n) |
void | resetLocationCache (node *n) |
void | checkAndCreateParent (node *which) |
void | insertNodeIntoHierarchy (node *newNode) |
void | transferGroup (int group, node *oldParent, node *newParent) |
void | abstractUpEdge (unsigned int absLevel, edge *e) |
void | extractGroupIntoNewNode (node *parent, int group) |
void | mergeGroupIntoNeighbor (node *parent, int group, node *neighbor=0) |
bool | checkNeighborClique (node *child, node *neighbor) |
node * | findNeighborCliques (node *parent, int group) |
node * | findNeighborCliques (node *) |
int | getGroupSize (node *parent, int group) |
node * | getNodeInGroup (node *parent, int group) |
Private Member Functions |
void | buildAbstractions () |
void | cleanMemory () |
Private Attributes |
std::vector< GLuint > | displayLists |
std::vector< node * > | modifiedNodeQ |
bool | abstractUniformly |