Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD

simulation
Class CAStarEngine

   in AStarEngine.h
   in AStarEngine.cpp
Direct Known Subclasses:
CAStarEngineLowLevel

class CAStarEngine


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

Field Detail

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;


Constructor Detail

CAStarEngine

public CAStarEngine( AStarGoalBase* goal );

CAStarEngine

public CAStarEngine();

~CAStarEngine

public virtual ~CAStarEngine();


Method Detail

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 );

 Overview   Project   Class   Tree   Deprecated   Index 
0 A.D.
Generated on September 04, 2007 at 18:13
CppDoc v2.4.0
FRAMES    NO FRAMES
SUMMARY:  INNER | FIELD | CONSTR | METHOD