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

Prioritized Class Reference

#include <Prioritized.h>

Inheritance diagram for Prioritized:

Inheritance graph
[legend]
Collaboration diagram for Prioritized:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Prioritized ()
 Prioritized (int sizeQueue)
virtual ~Prioritized ()
void setParams (PrioritizedlevelData *_unitData, PrioritizedGroup *_group)
 Get the parameters of the Prioritized unit, set them inside Prioritized.

path * getPath (graphAbstraction *aMap, node *from, node *to, reservationProvider *rp=NULL)
 The wrapper for the main procedure.

virtual const char * getName ()
int getNumAbsLevels ()
void resetNewlySeenCount ()
int getNewlySeenCount ()
graphAbstraction * getAMap ()

Private Member Functions

void setCorridorIndex (node *n, int index)
 Sets the corridor index of a node.

void setClosedListIndex (node *n, int index)
 Sets the closed list index of a node.

void setDepth (node *n, int depth)
 Sets the depth of a node.

void setgValue (node *n, double g)
 Sets the g-value of a node.

int getCorridorIndex (node *n)
 Gets the corridor index of a node.

int getClosedListIndex (node *n)
 Gets the closed list index of a node.

int getDepth (node *n)
 Gets the depth of a node.

double getgValue (node *n)
 Gets the g-value of a node.

int getAllocateENI (node *n)
 Given a node, return the index of the corresponding extended node.

int getENI (node *n)
 Tells us if the node is in the extNodes array.

void generateName (char *name)
 Generates algorithm's name.

void resetCachedPaths ()
 Clears the cached paths and corridors.

int defineCorridor (int aLevel)
 Finds and marks the corridor that restricts search at the given level.

void markCorridor (corridor *c)
 Mark the corridor in extNodes for a constant time lookup.

node * updateState (graphAbstraction *map, node *from, node *to)
 Update the current state (queueing the changes in a -heap-).

void updateQueuedStates (graphAbstraction *map, node *from, node *to)
 Update the states that have been queued.


Private Attributes

char PrioritizedName [128]
graphAbstraction * aMap
PrioritizedGroup * group
int numAbsLevels
algSpec * algAtLevel
PrioritizedlevelData * unitData
std::deque< extNode > extNodes
int newlySeenCount
std::vector< node * > _LSS
std::map< node *, bool, ltNodePtr > _inLSS
unsigned int _sizeQueue
PriorityQueue * _priorityQueue

Friends

class PrioritizedGroup

Constructor & Destructor Documentation

Prioritized::Prioritized (   ) 
 

Prioritized::Prioritized (  int  sizeQueue  ) 
 

Prioritized::~Prioritized (   )  [virtual]
 


Member Function Documentation

int Prioritized::defineCorridor (  int  aLevel  )  [private]
 

Finds and marks the corridor that restricts search at the given level.

Returns -1 if no corridor is defined above us

void Prioritized::generateName (  char *  name  )  [private]
 

Generates algorithm's name.

int Prioritized::getAllocateENI (  node *  n  )  [inline, private]
 

Given a node, return the index of the corresponding extended node.

Create one if needed

graphAbstraction* Prioritized::getAMap (   )  [inline]
 

int Prioritized::getClosedListIndex (  node *  n  )  [inline, private]
 

Gets the closed list index of a node.

int Prioritized::getCorridorIndex (  node *  n  )  [inline, private]
 

Gets the corridor index of a node.

int Prioritized::getDepth (  node *  n  )  [inline, private]
 

Gets the depth of a node.

int Prioritized::getENI (  node *  n  )  [inline, private]
 

Tells us if the node is in the extNodes array.

double Prioritized::getgValue (  node *  n  )  [inline, private]
 

Gets the g-value of a node.

virtual const char* Prioritized::getName (   )  [inline, virtual]
 

Implements searchAlgorithm.

int Prioritized::getNewlySeenCount (   )  [inline]
 

int Prioritized::getNumAbsLevels (   )  [inline]
 

path * Prioritized::getPath (  graphAbstraction *  aMap,
node *  from,
node *  to,
reservationProvider *  rp = NULL
)  [virtual]
 

The wrapper for the main procedure.

Implements searchAlgorithm.

void Prioritized::markCorridor (  corridor *  c  )  [private]
 

Mark the corridor in extNodes for a constant time lookup.

void Prioritized::resetCachedPaths (   )  [private]
 

Clears the cached paths and corridors.

void Prioritized::resetNewlySeenCount (   )  [inline]
 

void Prioritized::setClosedListIndex (  node *  n,
int  index
)  [inline, private]
 

Sets the closed list index of a node.

void Prioritized::setCorridorIndex (  node *  n,
int  index
)  [inline, private]
 

Sets the corridor index of a node.

void Prioritized::setDepth (  node *  n,
int  depth
)  [inline, private]
 

Sets the depth of a node.

void Prioritized::setgValue (  node *  n,
double  g
)  [inline, private]
 

Sets the g-value of a node.

void Prioritized::setParams (  PrioritizedlevelData *  _unitData,
PrioritizedGroup *  _group
) 
 

Get the parameters of the Prioritized unit, set them inside Prioritized.

void Prioritized::updateQueuedStates (  graphAbstraction *  map,
node *  from,
node *  to
)  [inline, private]
 

Update the states that have been queued.

node * Prioritized::updateState (  graphAbstraction *  map,
node *  from,
node *  to
)  [inline, private]
 

Update the current state (queueing the changes in a -heap-).

While we're at it, return the best neighboring state.


Friends And Related Function Documentation

friend class PrioritizedGroup [friend]
 


Member Data Documentation

std::map<node*, bool, ltNodePtr> Prioritized::_inLSS [private]
 

std::vector<node*> Prioritized::_LSS [private]
 

PriorityQueue* Prioritized::_priorityQueue [private]
 

unsigned int Prioritized::_sizeQueue [private]
 

algSpec* Prioritized::algAtLevel [private]
 

graphAbstraction* Prioritized::aMap [private]
 

std::deque<extNode> Prioritized::extNodes [private]
 

PrioritizedGroup* Prioritized::group [private]
 

int Prioritized::newlySeenCount [private]
 

int Prioritized::numAbsLevels [private]
 

char Prioritized::PrioritizedName[128] [private]
 

PrioritizedlevelData* Prioritized::unitData [private]
 


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