simulation
Class CAStarEngine
in AStarEngine.h
in AStarEngine.cpp
- Direct Known Subclasses:
- CAStarEngineLowLevel
- class CAStarEngine
freeNodes
private std::vector< AStarNode* > freeNodes;
mClosed
private ASNodeHashMap mClosed;
mFlagArraySize
private long mFlagArraySize;
mFlags
private AStarNodeFlag* mFlags;
mGoal
protected AStarGoalBase* mGoal;
mOpen
private PriQueue mOpen;
mPath
private std::vector< CVector2D > mPath;
mSearchLimit
private int mSearchLimit;
mSolved
private bool mSolved;
usedNodes
private std::vector< AStarNode* > usedNodes;
CAStarEngine
public CAStarEngine( AStarGoalBase* goal );
CAStarEngine
public CAStarEngine();
~CAStarEngine
public virtual ~CAStarEngine();
AddToClosed
private void AddToClosed( AStarNode* node );
AddToOpen
private void AddToOpen( AStarNode* node );
Cleanup
private void Cleanup();
ClearClosed
private void ClearClosed();
ClearClosedFlag
private inline void ClearClosedFlag( AStarNodeFlag* flag );
ClearOpen
private void ClearOpen();
ClearOpenFlag
private inline void ClearOpenFlag( AStarNodeFlag* flag );
ConstructPath
private void ConstructPath( AStarNode* end );
FindPath
public bool FindPath( const CVector2D& src, const CVector2D& dest, HEntity entity, float radius = 0. 0f );
GetFlag
private inline AStarNodeFlag* GetFlag( const CVector2D& loc );
GetFreeASNode
private AStarNode* GetFreeASNode();
GetFromClosed
private AStarNode* GetFromClosed( const CVector2D& loc );
GetLastPath
public std::vector< CVector2D > GetLastPath();
IsBlocked
private inline bool IsBlocked( AStarNodeFlag* flag );
IsClear
private inline bool IsClear( AStarNodeFlag* flag );
IsClosed
private inline bool IsClosed( AStarNodeFlag* flag );
IsOpen
private inline bool IsOpen( AStarNodeFlag* flag );
IsPassable
private inline bool IsPassable( AStarNodeFlag* flag );
RemoveBestOpenNode
private AStarNode* RemoveBestOpenNode();
RemoveFromClosed
private void RemoveFromClosed( AStarNode* node );
SetBlockedFlag
private inline void SetBlockedFlag( AStarNodeFlag* flag );
SetClosedFlag
private inline void SetClosedFlag( AStarNodeFlag* flag );
SetGoal
public void SetGoal( AStarGoalBase* goal );
SetOpenFlag
private inline void SetOpenFlag( AStarNodeFlag* flag );
SetPassableFlag
private inline void SetPassableFlag( AStarNodeFlag* flag );
SetSearchLimit
public void SetSearchLimit( int limit );