HOG2
Public Member Functions | Private Member Functions | Private Attributes | List of all members
IRAStar Class Reference

#include <IRAStar.h>

Inheritance diagram for IRAStar:
Inheritance graph
[legend]
Collaboration diagram for IRAStar:
Collaboration graph
[legend]

Public Member Functions

 IRAStar (IRAStarConstants::Caching caching=IRAStarConstants::P_G_CACHING)
 
virtual ~IRAStar ()
 
virtual const char * GetName ()
 
virtual pathGetPath (GraphAbstraction *aMap, node *from, node *to, reservationProvider *rp=0)
 
pathDoOneSearchStep ()
 
bool InitializeSearch (GraphAbstraction *aMap, node *from, node *to)
 
void OpenGLDraw () const
 
int GetNodesRefined ()
 
- Public Member Functions inherited from SearchAlgorithm
 SearchAlgorithm ()
 
virtual ~SearchAlgorithm ()
 
uint64_t GetNodesExpanded ()
 
uint64_t GetNodesTouched ()
 
virtual void LogFinalStats (StatCollection *)
 

Private Member Functions

nodeFindTopLevelNode (node *one, node *two, GraphAbstraction *aMap)
 
void SetInitialValues (node *gNewNode, node *aRealNode, node *gParent)
 
void RefineNode (node *gNode)
 
nodeGetRealNode (node *gNode) const
 
bool ShouldAddEdge (node *aLowerNode, node *aHigherNode)
 
void GetAllSolutionNodes (node *goal, std::vector< node * > &nodes)
 
bool Inconsistent (node *gNode)
 
void ExpandNeighbors (node *gNode)
 
pathExtractAndRefinePath ()
 
pathGetSolution (node *gNode)
 
void SetHValues (int f)
 
double GetHCost (node *) const
 
void SetHCost (node *, double)
 
double GetGCost (node *) const
 
More...
 
void SetGCost (node *, double)
 
double GetFCost (node *) const
 

Private Attributes

IRAStarConstants::PQueue q
 
IRAStarConstants::NodeLookupTable closedList
 
nodeaStart
 
nodeaGoal
 
nodegStart
 
nodegGoal
 
GraphAbstractionabsGraph
 
Graphg
 
int nodesRefined
 
int currentIteration
 
IRAStarConstants::Caching caching
 
std::vector< double > iterationLimits
 
bool done
 

Additional Inherited Members

- Public Attributes inherited from SearchAlgorithm
uint32_t nodesExpanded
 
uint32_t nodesTouched
 

Detailed Description

Definition at line 78 of file IRAStar.h.

Constructor & Destructor Documentation

◆ IRAStar()

Definition at line 19 of file IRAStar.cpp.

References g.

◆ ~IRAStar()

IRAStar::~IRAStar ( )
virtual

Definition at line 25 of file IRAStar.cpp.

Member Function Documentation

◆ DoOneSearchStep()

path * IRAStar::DoOneSearchStep ( )

◆ ExpandNeighbors()

void IRAStar::ExpandNeighbors ( node gNode)
private

◆ ExtractAndRefinePath()

path * IRAStar::ExtractAndRefinePath ( )
private

◆ FindTopLevelNode()

node * IRAStar::FindTopLevelNode ( node one,
node two,
GraphAbstraction aMap 
)
private

◆ GetAllSolutionNodes()

void IRAStar::GetAllSolutionNodes ( node goal,
std::vector< node * > &  nodes 
)
private

◆ GetFCost()

double IRAStar::GetFCost ( node n) const
private

◆ GetGCost()

double IRAStar::GetGCost ( node n) const
private

  • if ( gStart->GetLabelL(kAbstractionLevel)%2 == 0 ) // Always switch diretions on base level

Definition at line 657 of file IRAStar.cpp.

References node::GetLabelF(), and CFOptimalRefinementConstants::kGCost.

Referenced by ExpandNeighbors(), ExtractAndRefinePath(), GetAllSolutionNodes(), GetSolution(), and SetHValues().

◆ GetHCost()

double IRAStar::GetHCost ( node n) const
private

Definition at line 619 of file IRAStar.cpp.

References node::GetLabelF(), and CFOptimalRefinementConstants::kHCost.

Referenced by Inconsistent(), OpenGLDraw(), and SetInitialValues().

◆ GetName()

const char * IRAStar::GetName ( )
virtual

Implements SearchAlgorithm.

Definition at line 29 of file IRAStar.cpp.

◆ GetNodesRefined()

int IRAStar::GetNodesRefined ( )
inline

Definition at line 88 of file IRAStar.h.

References nodesRefined.

◆ GetPath()

path * IRAStar::GetPath ( GraphAbstraction aMap,
node from,
node to,
reservationProvider rp = 0 
)
virtual

Implements SearchAlgorithm.

Definition at line 34 of file IRAStar.cpp.

References DoOneSearchStep(), and InitializeSearch().

◆ GetRealNode()

node * IRAStar::GetRealNode ( node gNode) const
private

◆ GetSolution()

path * IRAStar::GetSolution ( node gNode)
private

◆ Inconsistent()

bool IRAStar::Inconsistent ( node gNode)
private

◆ InitializeSearch()

bool IRAStar::InitializeSearch ( GraphAbstraction aMap,
node from,
node to 
)

◆ OpenGLDraw()

void IRAStar::OpenGLDraw ( ) const

◆ RefineNode()

void IRAStar::RefineNode ( node gNode)
private

◆ SetGCost()

void IRAStar::SetGCost ( node n,
double  val 
)
private

◆ SetHCost()

void IRAStar::SetHCost ( node n,
double  val 
)
private

◆ SetHValues()

void IRAStar::SetHValues ( int  f)
private

Definition at line 599 of file IRAStar.cpp.

References closedList, GetGCost(), and SetHCost().

Referenced by ExtractAndRefinePath().

◆ SetInitialValues()

void IRAStar::SetInitialValues ( node gNewNode,
node aRealNode,
node gParent 
)
private

◆ ShouldAddEdge()

bool IRAStar::ShouldAddEdge ( node aLowerNode,
node aHigherNode 
)
private

Member Data Documentation

◆ absGraph

GraphAbstraction* IRAStar::absGraph
private

◆ aGoal

node * IRAStar::aGoal
private

Definition at line 117 of file IRAStar.h.

Referenced by InitializeSearch(), RefineNode(), and SetInitialValues().

◆ aStart

node* IRAStar::aStart
private

Definition at line 117 of file IRAStar.h.

Referenced by InitializeSearch(), RefineNode(), and SetInitialValues().

◆ caching

IRAStarConstants::Caching IRAStar::caching
private

Definition at line 123 of file IRAStar.h.

Referenced by DoOneSearchStep(), ExpandNeighbors(), and ExtractAndRefinePath().

◆ closedList

IRAStarConstants::NodeLookupTable IRAStar::closedList
private

◆ currentIteration

int IRAStar::currentIteration
private

Definition at line 122 of file IRAStar.h.

Referenced by ExtractAndRefinePath(), and InitializeSearch().

◆ done

bool IRAStar::done
private

Definition at line 125 of file IRAStar.h.

Referenced by DoOneSearchStep(), and ExtractAndRefinePath().

◆ g

Graph* IRAStar::g
private

◆ gGoal

node * IRAStar::gGoal
private

◆ gStart

node* IRAStar::gStart
private

◆ iterationLimits

std::vector<double> IRAStar::iterationLimits
private

Definition at line 124 of file IRAStar.h.

Referenced by ExtractAndRefinePath().

◆ nodesRefined

int IRAStar::nodesRefined
private

Definition at line 121 of file IRAStar.h.

Referenced by GetNodesRefined(), InitializeSearch(), and RefineNode().

◆ q

IRAStarConstants::PQueue IRAStar::q
private

The documentation for this class was generated from the following files: