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

mapAbstraction Class Reference

This class is designed as an interface to be added onto any type of graphAbstraction to support a few extra functionalities that mapabstractions should have. More...

#include <mapAbstraction.h>

Inheritance diagram for mapAbstraction:

Inheritance graph
[legend]
Collaboration diagram for mapAbstraction:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 mapAbstraction (Map *_m)
virtual ~mapAbstraction ()
virtual mapAbstraction * clone (Map *)=0
 return a new abstraction map of the same type as this map abstraction

node * getNodeFromMap (int x, int y, tCorner c=kNone)
void getTileFromNode (node *n, int &x, int &y)
void getRandomTileFromNode (node *n, int &x, int &y)
void getTileUnderLoc (int &x, int &y, const recVec &)
 Given a location (recVec) return the tile under that location.

Map * getMap ()
virtual double h (node *a, node *b)
 heuristic cost between any two nodes

double octileDistance (double, double, double, double)
 Computes octile distance.

virtual void openGLDraw ()
void toggleDrawAbstraction (int which)
void clearMarkedNodes ()
 get current revision of hierarchy -- indicates if changes have been made */

recVec getNodeLoc (node *n)
recVec getNodeLocScaled (node *n)

Private Member Functions

void drawLevelConnections (node *n)
void drawGraph (graph *g)

Private Attributes

Map * m
unsigned long levelDraw

Detailed Description

This class is designed as an interface to be added onto any type of graphAbstraction to support a few extra functionalities that mapabstractions should have.


Constructor & Destructor Documentation

mapAbstraction::mapAbstraction (  Map *  _m  )  [inline]
 

mapAbstraction::~mapAbstraction (   )  [virtual]
 


Member Function Documentation

void mapAbstraction::clearMarkedNodes (   ) 
 

get current revision of hierarchy -- indicates if changes have been made */

Reimplemented from graphAbstraction.

Reimplemented in mapCliqueAbstraction.

virtual mapAbstraction* mapAbstraction::clone (  Map *   )  [pure virtual]
 

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

Implemented in clusterAbstraction, mapCliqueAbstraction, mapFlatAbstraction, MapLineAbstraction, mapQuadTreeAbstraction, NodeLimitAbstraction, and radiusAbstraction.

void mapAbstraction::drawGraph (  graph *  g  )  [private]
 

void mapAbstraction::drawLevelConnections (  node *  n  )  [private]
 

Map* mapAbstraction::getMap (   )  [inline]
 

node* mapAbstraction::getNodeFromMap (  int  x,
int  y,
tCorner  c = kNone
)  [inline]
 

recVec mapAbstraction::getNodeLoc (  node *  n  ) 
 

recVec mapAbstraction::getNodeLocScaled (  node *  n  ) 
 

void mapAbstraction::getRandomTileFromNode (  node *  n,
int &  x,
int &  y
) 
 

void mapAbstraction::getTileFromNode (  node *  n,
int &  x,
int &  y
) 
 

void mapAbstraction::getTileUnderLoc (  int &  x,
int &  y,
const recVec & 
) 
 

Given a location (recVec) return the tile under that location.

double mapAbstraction::h (  node *  a,
node *  b
)  [virtual]
 

heuristic cost between any two nodes

Implements graphAbstraction.

double mapAbstraction::octileDistance (  double  x1,
double  y1,
double  x2,
double  y2
) 
 

Computes octile distance.

No scaling

void mapAbstraction::openGLDraw (   )  [virtual]
 

Reimplemented in clusterAbstraction.

void mapAbstraction::toggleDrawAbstraction (  int  which  ) 
 


Member Data Documentation

unsigned long mapAbstraction::levelDraw [private]
 

Map* mapAbstraction::m [private]
 


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