Go to the documentation of this file.
14 #ifndef MAPCLIQUEABSTRACTION_H
15 #define MAPCLIQUEABSTRACTION_H
33 bool Pathable(
unsigned int from,
unsigned int to);
45 virtual void AddEdge(
edge *e,
unsigned int absLevel);
85 #ifdef INSTRUMENT_REPAIR
void checkAndCreateParent(node *which)
void RemoveEdge(edge *e, unsigned int absLevel)
node * getNodeInGroup(node *parent, int group)
void renameNodeInAbstraction(node *which, unsigned int oldID)
virtual Graph * abstractGraph(Graph *g)
void addNodesToParent(Graph *g, node *n, node *parent, int width)
virtual void VerifyHierarchy()
std::vector< GLuint > displayLists
node * findNeighborCliques(node *parent, int group)
virtual ~MapCliqueAbstraction()
void abstractUpEdge(unsigned int absLevel, edge *e)
bool checkNeighborClique(node *child, node *neighbor)
node * findNodeParent(node *n)
void splitNode(node *which, int numGroups)
virtual void AddEdge(edge *e, unsigned int absLevel)
void GetNumAbstractGraphs(node *from, node *to, std::vector< node * > &fromChain, std::vector< node * > &toChain)
A map abstraction based on the reduction of cliques.
MapCliqueAbstraction(Map *, bool uniform=true)
Construct a new Graph hierarchy.
virtual void RemoveNode(node *n)
void transferGroup(int group, node *oldParent, node *newParent)
int getChildGroups(node *which)
virtual Graph * cliqueAbstractGraph(Graph *g)
std::vector< node * > modifiedNodeQ
bool Pathable(node *from, node *to)
virtual MapAbstraction * Clone(Map *_m)
return a new abstraction map of the same type as this map abstraction
void resetLocationCache(node *n)
void extractGroupIntoNewNode(node *parent, int group)
int MeasureRepairHits()
MeasureRepairHits Measure the number of levels hit during repair.
void addTunnel(node *n, Graph *g, node *newNode)
void mergeGroupIntoNeighbor(node *parent, int group, node *neighbor=0)
virtual void AddNode(node *n)
void insertNodeIntoHierarchy(node *newNode)
void removeNodeFromRepairQ(node *n)
void addNodeToRepairQ(node *n)
Nodes to be stored within a Graph.
A tile-based representation of the world.
edge * findEdgeParent(edge *e, unsigned int absLevel)
int getGroupSize(node *parent, int group)
Edge class for connections between node in a Graph.