|
Public Member Functions |
| loadedCliqueAbstraction (char *) |
| Construct a new graph hierarchy.
|
virtual | ~loadedCliqueAbstraction () |
virtual void | verifyHierarchy () |
| verify that the hierarchy is consistent
|
double | h (node *a, node *b) |
| heuristic cost between any two nodes
|
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 | clearDisplayLists () |
void | openGLDraw () |
void | toggleDrawAbstraction (int which) |
void | drawLevelConnections (node *n) |
void | drawGraph (graph *g) |
recVec | getNodeLoc (node *n) |
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) |
Protected Member Functions |
graph * | loadGraph (char *fname) |
virtual graph * | abstractGraph (graph *g) |
virtual graph * | cliqueAbstractGraph (graph *g) |
virtual graph * | neighborAbstractGraph (graph *g, int width=1) |
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 (graph *) |
void | cleanMemory () |
Private Attributes |
unsigned long | levelDraw |
std::vector< GLuint > | displayLists |
std::vector< node * > | modifiedNodeQ |