Main Page | Namespace List | Class Hierarchy | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

mapQuadTreeAbstraction Class Reference

#include <mapQuadTreeAbstraction.h>

Inheritance diagram for mapQuadTreeAbstraction:

Inheritance graph
[legend]
Collaboration diagram for mapQuadTreeAbstraction:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 mapQuadTreeAbstraction (Map *, int)
 Creat a quadTreeAbstraction of the map.

 ~mapQuadTreeAbstraction ()
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 quadrant)
int getQuadrant (node *which)
void addEdges (graph *g)
void addNodes (graph *g)

Private Attributes

int sectorSize

Constructor & Destructor Documentation

mapQuadTreeAbstraction::mapQuadTreeAbstraction (  Map *  ,
int 
) 
 

Creat a quadTreeAbstraction of the map.

The sector size must be greater than 1

mapQuadTreeAbstraction::~mapQuadTreeAbstraction (   ) 
 


Member Function Documentation

void mapQuadTreeAbstraction::abstractionBFS (  node *  which,
node *  parent,
int  quadrant
)  [private]
 

void mapQuadTreeAbstraction::addEdge (  edge *  e,
unsigned int  absLevel
)  [virtual]
 

add edge to abstraction

Implements graphAbstraction.

void mapQuadTreeAbstraction::addEdges (  graph *  g  )  [private]
 

void mapQuadTreeAbstraction::addNode (  node *  n  )  [virtual]
 

add node to abstraction

Implements graphAbstraction.

void mapQuadTreeAbstraction::addNodes (  graph *  g  )  [private]
 

void mapQuadTreeAbstraction::buildAbstraction (   )  [private]
 

void mapQuadTreeAbstraction::buildNodeIntoParent (  node *  n,
node *  parent
)  [private]
 

mapAbstraction* mapQuadTreeAbstraction::clone (  Map *  _m  )  [inline, virtual]
 

return a new abstraction map of the same type as this map abstraction

Implements mapAbstraction.

int mapQuadTreeAbstraction::getQuadrant (  node *  which  )  [private]
 

bool mapQuadTreeAbstraction::pathable (  node *  from,
node *  to
)  [virtual]
 

is there a legal path between these 2 nodes?

Implements graphAbstraction.

void mapQuadTreeAbstraction::removeEdge (  edge *  e,
unsigned int  absLevel
)  [virtual]
 

remove edge from abstraction

Implements graphAbstraction.

void mapQuadTreeAbstraction::removeNode (  node *  n  )  [virtual]
 

remove node from abstraction

Implements graphAbstraction.

void mapQuadTreeAbstraction::repairAbstraction (   )  [virtual]
 

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.

void mapQuadTreeAbstraction::verifyHierarchy (   )  [virtual]
 

verify that the hierarchy is consistent

Implements graphAbstraction.


Member Data Documentation

int mapQuadTreeAbstraction::sectorSize [private]
 


The documentation for this class was generated from the following files:
Generated on Tue Aug 18 03:43:53 2009 for HOG by doxygen 1.3.4