Go to the documentation of this file.
28 Graph *g = abstractions[0];
30 for (
unsigned int x = 0; x <
groups.size(); x++)
36 std::vector<unsigned int> stack;
37 if (
groups[iter->GetNum()] == -1)
39 stack.push_back(iter->GetNum());
40 while (stack.size() > 0)
42 unsigned int next = stack.back();
78 abstractions[0]->RemoveNode(n, oldID);
83 if (e) abstractions[0]->RemoveEdge(e);
96 abstractions[0]->AddNode(n);
101 abstractions[0]->AddEdge(e);
virtual void RemoveNode(node *n)
remove node from abstraction
unsigned int neighbor_iterator
virtual void RemoveEdge(edge *e, unsigned int absLevel)
remove edge from abstraction
node * nodeIterNext(node_iterator &) const
node * GetNode(unsigned long num)
void buildConnectivityGroups()
std::vector< node * >::const_iterator node_iterator
std::vector< int > groups
Graph * GetMapGraph(Map *m)
GetMapGraph(map)
virtual void VerifyHierarchy()
verify that the hierarchy is consistent
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.
node_iterator getNodeIter() const
int nodeNeighborNext(neighbor_iterator &) const
virtual bool Pathable(node *from, node *to)
unsigned int GetNum() const
neighbor_iterator getNeighborIter() const
virtual void AddNode(node *n)
add node to abstraction
MapFlatAbstraction(Map *_m)
Nodes to be stored within a Graph.
A tile-based representation of the world.
Edge class for connections between node in a Graph.