HOG2
|
#include <BidirectionalDijkstra.h>
Public Member Functions | |
BIdijkstra () | |
virtual | ~BIdijkstra () |
void | GetPath (environment *env, const state &from, const state &to, std::vector< state > &thePath) |
bool | InitializeSearch (environment *env, const state &from, const state &to, std::vector< state > &thePath) |
bool | DoSingleSearchStep (std::vector< state > &thePath) |
void | ExtractPath (uint64_t node1, uint64_t node2, std::vector< state > &thePath) |
void | DoRegionAnalysis (environment *env, const state &from, const state &to, double optimalPathCost, uint64_t optimalPathLength) |
void | SetVersion (int v) |
int | GetVersion () |
void | SetEpsilon (double minedge) |
double | GetEpsilon () |
virtual const char * | GetName () |
void | ResetNodeCount () |
const int | GetNumForwardItems () |
const int | GetNumBackwardItems () |
const AStarOpenClosedData< state > & | GetForwardItem (unsigned int which) |
const AStarOpenClosedData< state > & | GetBackwardItem (unsigned int which) |
uint64_t | GetNodesExpanded () const |
uint64_t | GetNodesTouched () const |
uint64_t | GetNodesExpanded_NN_PathCost () const |
uint64_t | GetNodesExpanded_NF_PathCost () const |
uint64_t | GetNodesExpanded_FN_PathCost () const |
uint64_t | GetNodesExpanded_FF_PathCost () const |
uint64_t | GetNodesExpanded_RN_PathCost () const |
uint64_t | GetNodesExpanded_RF_PathCost () const |
uint64_t | GetNodesExpanded_NN_PathLength () const |
uint64_t | GetNodesExpanded_NF_PathLength () const |
uint64_t | GetNodesExpanded_FN_PathLength () const |
uint64_t | GetNodesExpanded_FF_PathLength () const |
uint64_t | GetNodesExpanded_RN_PathLength () const |
uint64_t | GetNodesExpanded_RF_PathLength () const |
double | GetPathCost () const |
uint64_t | GetPathLength () const |
state | GetMeetingPoint () const |
void | OpenGLDraw () const |
Public Attributes | |
priorityQueue | forwardQueue |
priorityQueue | backwardQueue |
state | goal |
state | start |
Private Member Functions | |
void | OpenGLDraw (const priorityQueue &queue) const |
void | Expand (priorityQueue ¤t, priorityQueue &opposite, const state &target) |
Private Attributes | |
uint64_t | nodesTouched |
uint64_t | nodesExpanded |
uint64_t | middleNode |
uint64_t | middleNode2 |
double | currentCost |
std::vector< state > | neighbors |
environment * | env |
double | epsilon |
int | turn |
int | version |
bool | countRegions |
uint64_t | nodesExpanded_NF_PathCost |
uint64_t | nodesExpanded_NN_PathCost |
uint64_t | nodesExpanded_RF_PathCost |
uint64_t | nodesExpanded_FN_PathCost |
uint64_t | nodesExpanded_FF_PathCost |
uint64_t | nodesExpanded_RN_PathCost |
uint64_t | nodesExpanded_NF_PathLength |
uint64_t | nodesExpanded_NN_PathLength |
uint64_t | nodesExpanded_RF_PathLength |
uint64_t | nodesExpanded_FN_PathLength |
uint64_t | nodesExpanded_FF_PathLength |
uint64_t | nodesExpanded_RN_PathLength |
double | optimalPathCost |
double | optimalPathLength |
bool | forwardDirection |
Definition at line 25 of file BidirectionalDijkstra.h.
|
inline |
|
inlinevirtual |
Definition at line 28 of file BidirectionalDijkstra.h.
void BIdijkstra< state, action, environment, priorityQueue >::DoRegionAnalysis | ( | environment * | env, |
const state & | from, | ||
const state & | to, | ||
double | optimalPathCost, | ||
uint64_t | optimalPathLength | ||
) |
Definition at line 486 of file BidirectionalDijkstra.h.
bool BIdijkstra< state, action, environment, priorityQueue >::DoSingleSearchStep | ( | std::vector< state > & | thePath | ) |
Definition at line 142 of file BidirectionalDijkstra.h.
References fless(), and AStarOpenClosedData< state >::g.
|
private |
Definition at line 254 of file BidirectionalDijkstra.h.
References fless(), kClosedList, kNotFound, and kOpenList.
void BIdijkstra< state, action, environment, priorityQueue >::ExtractPath | ( | uint64_t | node1, |
uint64_t | node2, | ||
std::vector< state > & | thePath | ||
) |
Definition at line 234 of file BidirectionalDijkstra.h.
|
inline |
Definition at line 57 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::backwardQueue.
|
inline |
Definition at line 39 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::epsilon.
|
inline |
Definition at line 55 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::forwardQueue.
|
inline |
Definition at line 78 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::forwardQueue, and BIdijkstra< state, action, environment, priorityQueue >::middleNode.
|
inlinevirtual |
Definition at line 47 of file BidirectionalDijkstra.h.
|
inline |
Definition at line 59 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded.
|
inline |
Definition at line 65 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_FF_PathCost.
|
inline |
Definition at line 72 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_FF_PathLength.
|
inline |
Definition at line 64 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_FN_PathCost.
|
inline |
Definition at line 71 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_FN_PathLength.
|
inline |
Definition at line 63 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_NF_PathCost.
|
inline |
Definition at line 70 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_NF_PathLength.
|
inline |
Definition at line 62 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_NN_PathCost.
|
inline |
Definition at line 69 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_NN_PathLength.
|
inline |
Definition at line 67 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_RF_PathCost.
|
inline |
Definition at line 74 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_RF_PathLength.
|
inline |
Definition at line 66 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_RN_PathCost.
|
inline |
Definition at line 73 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded_RN_PathLength.
|
inline |
Definition at line 60 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesTouched.
|
inline |
Definition at line 53 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::backwardQueue.
|
inline |
Definition at line 51 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::forwardQueue.
void BIdijkstra< state, action, environment, priorityQueue >::GetPath | ( | environment * | env, |
const state & | from, | ||
const state & | to, | ||
std::vector< state > & | thePath | ||
) |
Definition at line 108 of file BidirectionalDijkstra.h.
|
inline |
Definition at line 76 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::optimalPathCost.
|
inline |
Definition at line 77 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::optimalPathLength.
|
inline |
Definition at line 35 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::version.
bool BIdijkstra< state, action, environment, priorityQueue >::InitializeSearch | ( | environment * | env, |
const state & | from, | ||
const state & | to, | ||
std::vector< state > & | thePath | ||
) |
Definition at line 119 of file BidirectionalDijkstra.h.
void BIdijkstra< state, action, environment, priorityQueue >::OpenGLDraw |
Definition at line 435 of file BidirectionalDijkstra.h.
|
private |
Definition at line 442 of file BidirectionalDijkstra.h.
References AStarOpenClosedData< state >::data, kClosedList, kOpenList, AStarOpenClosedData< state >::reopened, and AStarOpenClosedData< state >::where.
|
inline |
Definition at line 49 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::nodesExpanded, and BIdijkstra< state, action, environment, priorityQueue >::nodesTouched.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::BIdijkstra().
|
inline |
Definition at line 36 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::epsilon.
|
inline |
Definition at line 34 of file BidirectionalDijkstra.h.
References BIdijkstra< state, action, environment, priorityQueue >::version.
priorityQueue BIdijkstra< state, action, environment, priorityQueue >::backwardQueue |
Definition at line 43 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetBackwardItem(), and BIdijkstra< state, action, environment, priorityQueue >::GetNumBackwardItems().
|
private |
Definition at line 96 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::BIdijkstra().
|
private |
Definition at line 90 of file BidirectionalDijkstra.h.
|
private |
Definition at line 92 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::BIdijkstra().
|
private |
Definition at line 93 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetEpsilon(), and BIdijkstra< state, action, environment, priorityQueue >::SetEpsilon().
|
private |
Definition at line 104 of file BidirectionalDijkstra.h.
priorityQueue BIdijkstra< state, action, environment, priorityQueue >::forwardQueue |
Definition at line 43 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetForwardItem(), BIdijkstra< state, action, environment, priorityQueue >::GetMeetingPoint(), and BIdijkstra< state, action, environment, priorityQueue >::GetNumForwardItems().
state BIdijkstra< state, action, environment, priorityQueue >::goal |
Definition at line 44 of file BidirectionalDijkstra.h.
|
private |
Definition at line 88 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetMeetingPoint().
|
private |
Definition at line 89 of file BidirectionalDijkstra.h.
|
private |
Definition at line 91 of file BidirectionalDijkstra.h.
|
private |
Definition at line 86 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded(), and BIdijkstra< state, action, environment, priorityQueue >::ResetNodeCount().
|
private |
Definition at line 98 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_FF_PathCost().
|
private |
Definition at line 100 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_FF_PathLength().
|
private |
Definition at line 98 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_FN_PathCost().
|
private |
Definition at line 100 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_FN_PathLength().
|
private |
Definition at line 98 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_NF_PathCost().
|
private |
Definition at line 100 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_NF_PathLength().
|
private |
Definition at line 98 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_NN_PathCost().
|
private |
Definition at line 100 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_NN_PathLength().
|
private |
Definition at line 98 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_RF_PathCost().
|
private |
Definition at line 100 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_RF_PathLength().
|
private |
Definition at line 98 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_RN_PathCost().
|
private |
Definition at line 100 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesExpanded_RN_PathLength().
|
private |
Definition at line 86 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetNodesTouched(), and BIdijkstra< state, action, environment, priorityQueue >::ResetNodeCount().
|
private |
Definition at line 102 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetPathCost().
|
private |
Definition at line 103 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetPathLength().
state BIdijkstra< state, action, environment, priorityQueue >::start |
Definition at line 44 of file BidirectionalDijkstra.h.
|
private |
Definition at line 94 of file BidirectionalDijkstra.h.
|
private |
Definition at line 95 of file BidirectionalDijkstra.h.
Referenced by BIdijkstra< state, action, environment, priorityQueue >::GetVersion(), and BIdijkstra< state, action, environment, priorityQueue >::SetVersion().