Go to the documentation of this file.
15 #ifndef LOADEDBBABSTRACTION_H
16 #define LOADEDBBABSTRACTION_H
30 bool Pathable(
unsigned int from,
unsigned int to);
47 virtual void AddEdge(
edge *e,
unsigned int absLevel);
A generic class for basic operations on Graph abstractions.
void loadBoxes(char *boxFile)
A generic vector (essentially the same as a point, but offers normalization)
void addNeighborsInBox(Graph *g, node *n, int which, node *parent)
virtual void VerifyHierarchy()
verify that the hierarchy is consistent
virtual ~LoadedBBAbstraction()
virtual void RepairAbstraction()
This must be called after any of the above add/remove operations.
virtual void RemoveEdge(edge *, unsigned int)
remove edge from abstraction
void GetNumAbstractGraphs(node *from, node *to, std::vector< node * > &fromChain, std::vector< node * > &toChain)
node * createNewParent(Graph *, node *n)
Graph * loadGraph(char *fname)
void addNodeToParent(node *n, node *parent)
void DrawLevelConnections(node *n) const
std::vector< BoundingBox > boxes
void DrawGraph(Graph *g) const
bool pointInBox(double x, double y, double z)
node * findNodeParent(node *n)
LoadedBBAbstraction(char *, char *)
Construct a new Graph hierarchy.
void ToggleDrawAbstraction(int which)
recVec GetNodeLoc(node *n) const
edge * findEdgeParent(edge *e, unsigned int absLevel)
Graph * abstractGraph(Graph *g)
int findBoundingBox(node *n)
virtual void AddNode(node *n)
add node to abstraction
bool Pathable(node *from, node *to)
is there a legal path between these 2 nodes?
double h(node *a, node *b)
heuristic cost between any two nodes
virtual void RemoveNode(node *)
remove node from abstraction
virtual void AddEdge(edge *e, unsigned int absLevel)
add edge to abstraction
void buildAbstractions(Graph *g)
Nodes to be stored within a Graph.
Edge class for connections between node in a Graph.