#include <NodeLimitAbstraction.h>
Inheritance diagram for NodeLimitAbstraction:
Public Member Functions | |
NodeLimitAbstraction (Map *, int nodeLimit) | |
~NodeLimitAbstraction () | |
mapAbstraction * | clone (Map *_m) |
return a new abstraction map of the same type as this map abstraction | |
virtual bool | pathable (node *from, node *to) |
is there a legal path between these 2 nodes? | |
virtual void | verifyHierarchy () |
verify that the hierarchy is consistent | |
virtual void | removeNode (node *n) |
remove node from abstraction | |
virtual 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 | |
virtual void | repairAbstraction () |
This must be called after any of the above add/remove operations. | |
Private Member Functions | |
void | buildAbstraction () |
void | buildNodeIntoParent (node *n, node *parent) |
void | abstractionBFS (node *which, node *parent, int depth) |
void | addEdges (graph *g) |
void | addNodes (graph *g) |
Private Attributes | |
int | nodeLimit |
|
|
|
|
|
|
|
add edge to abstraction
Implements graphAbstraction. |
|
|
|
add node to abstraction
Implements graphAbstraction. |
|
|
|
|
|
|
|
return a new abstraction map of the same type as this map abstraction
Implements mapAbstraction. |
|
is there a legal path between these 2 nodes?
Implements graphAbstraction. |
|
remove edge from abstraction
Implements graphAbstraction. |
|
remove node from abstraction
Implements graphAbstraction. |
|
This must be called after any of the above add/remove operations. But the operations can be stacked followed by a single repairAbstraction call. Implements graphAbstraction. |
|
verify that the hierarchy is consistent
Implements graphAbstraction. |
|
|