#include <fringesearch.h>
Inheritance diagram for PathFind::FringeSearch< MARKER >:


This avoids re-expansion of interior nodes at each new iteration.
Statistics (see Search::createStatistics and Search::getStatistics):
Definition at line 99 of file fringesearch.h.
Public Member Functions | |
| FringeSearch () | |
| StatisticsCollection | createStatistics () |
| Create a StatisticsCollection. | |
| bool | findPath (const Environment &env, int start, int target) |
| Find a path. | |
| const vector< int > & | getPath () const |
| const StatisticsCollection & | getStatistics () const |
| Get statistics of last search. | |
| const vector< char > & | getVisitedNodes () const |
| Get a vector with char labels for each visited node. | |
| long long int | getNodesLimit () const |
| void | setNodesLimit (long long int nodesLimit) |
| Set nodes limit for search engine. | |
Public Attributes | |
| long long int | m_nodesLimit |
Private Member Functions | |
| void | addCache (int nodeId, int gValue, int iteration, int parent) |
| bool | checkCache (int nodeId, int gValue, int iteration) const |
| void | constructPath (int start) |
| void | getFromCache (int nodeId, int &gValue, int &parent) const |
| void | doIteration (int iteration, int fLimit, int &fMin) |
| void | init (int numberNodes) |
| void | markVisitedNode (int nodeId, int iteration) |
Private Attributes | |
| int | m_nodesExpanded |
| int | m_nodesVisited |
| int | m_target |
| const Environment * | m_env |
| Fringe | m_fringe |
| StatisticsCollection | m_statistics |
| vector< CacheElement > | m_cache |
| MARKER | m_isCacheValid |
| vector< char > | m_visitedNodes |
| vector< int > | m_path |
|
|||||||||
|
Definition at line 179 of file fringesearch.h. |
|
||||||||||||||||||||||||
|
||||||||||||||||||||
|
Definition at line 196 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_cache, PathFind::FringeSearch< MARKER >::CacheElement::m_gValue, PathFind::FringeSearch< MARKER >::m_isCacheValid, and PathFind::FringeSearch< MARKER >::CacheElement::m_iteration. Referenced by PathFind::FringeSearch< MARKER >::doIteration(). |
|
||||||||||
|
Definition at line 209 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_cache, PathFind::FringeSearch< MARKER >::m_isCacheValid, PathFind::FringeSearch< MARKER >::m_path, and PathFind::FringeSearch< MARKER >::m_target. Referenced by PathFind::FringeSearch< MARKER >::findPath(). |
|
|||||||||
|
Create a StatisticsCollection. Contains Statistics instances for all values tracked. Useful for keeping accumulated statistics by creating the collection and merging the statistics of a search as returned by getStatistics(). Implements PathFind::Search. Definition at line 226 of file fringesearch.h. References PathFind::StatisticsCollection::create(). |
|
||||||||||||||||||||
|
||||||||||||||||||||
|
||||||||||||||||||||
|
Definition at line 324 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_cache, PathFind::FringeSearch< MARKER >::CacheElement::m_gValue, PathFind::FringeSearch< MARKER >::m_isCacheValid, and PathFind::FringeSearch< MARKER >::CacheElement::m_parent. Referenced by PathFind::FringeSearch< MARKER >::doIteration(). |
|
|
Definition at line 48 of file search.h. References PathFind::Search::m_nodesLimit. |
|
|||||||||
|
Implements PathFind::Search. Definition at line 109 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_path. |
|
|||||||||
|
Get statistics of last search.
Implements PathFind::Search. Definition at line 334 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_statistics. |
|
|||||||||
|
Get a vector with char labels for each visited node. Space char means not visited, otherwise the char can have different values and meanings depending on the concrete search engine. Implements PathFind::Search. Definition at line 116 of file fringesearch.h. References PathFind::FringeSearch< MARKER >::m_visitedNodes. |
|
||||||||||
|
||||||||||||||||
|
Definition at line 351 of file fringesearch.h. References PathFind::getVisitedNodeLabel(), and PathFind::FringeSearch< MARKER >::m_visitedNodes. Referenced by PathFind::FringeSearch< MARKER >::doIteration(). |
|
|
Set nodes limit for search engine. The default is -1 and means unlimited search. The nodes limit is a hint only, the search engine may ignore it. Reimplemented in PathFind::AStar< MARKER, CLOSED >. Definition at line 71 of file search.h. References PathFind::Search::m_nodesLimit. |
|
|||||
|
|||||
|
Definition at line 140 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), and PathFind::FringeSearch< MARKER >::findPath(). |
|
|||||
|
Definition at line 142 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), PathFind::FringeSearch< MARKER >::findPath(), and PathFind::FringeSearch< MARKER >::init(). |
|
|||||
|
|||||
|
Definition at line 134 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), and PathFind::FringeSearch< MARKER >::findPath(). |
|
|
Definition at line 78 of file search.h. Referenced by PathFind::Search::getNodesLimit(), PathFind::Search::Search(), PathFind::IDAStar::searchPathIdaStar(), PathFind::Search::setNodesLimit(), and PathFind::AStar< MARKER, CLOSED >::setNodesLimit(). |
|
|||||
|
Definition at line 136 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), and PathFind::FringeSearch< MARKER >::findPath(). |
|
|||||
|
Definition at line 152 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::constructPath(), PathFind::FringeSearch< MARKER >::findPath(), and PathFind::FringeSearch< MARKER >::getPath(). |
|
|||||
|
Definition at line 144 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::doIteration(), PathFind::FringeSearch< MARKER >::findPath(), PathFind::FringeSearch< MARKER >::getStatistics(), and PathFind::FringeSearch< MARKER >::init(). |
|
|||||
|
Definition at line 138 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::constructPath(), PathFind::FringeSearch< MARKER >::doIteration(), and PathFind::FringeSearch< MARKER >::findPath(). |
|
|||||
|
Definition at line 150 of file fringesearch.h. Referenced by PathFind::FringeSearch< MARKER >::getVisitedNodes(), PathFind::FringeSearch< MARKER >::init(), and PathFind::FringeSearch< MARKER >::markVisitedNode(). |