Space Engineers
Classes | Public Member Functions | Protected Member Functions | List of all members
VRage.Algorithms.MyPathFindingSystem< V > Class Template Reference
Inheritance diagram for VRage.Algorithms.MyPathFindingSystem< V >:

Classes

class  Enumerator
 

Public Member Functions

 MyPathFindingSystem (int queueInitSize=128, Func< long > timestampFunction=null)
 
MyPath< V > FindPath (V start, V end, Predicate< V > vertexTraversable=null, Predicate< IMyPathEdge< V >> edgeTraversable=null)
 
MyPath< V > FindPath (V start, Func< V, float > heuristic, Func< V, float > terminationCriterion, Predicate< V > vertexTraversable=null, bool returnClosest=true)
 
bool Reachable (V from, V to)
 
void FindReachable (IEnumerable< V > fromSet, List< V > reachableVertices, Predicate< V > vertexFilter=null, Predicate< V > vertexTraversable=null, Predicate< IMyPathEdge< V >> edgeTraversable=null)
 
void FindReachable (V from, List< V > reachableVertices, Predicate< V > vertexFilter=null, Predicate< V > vertexTraversable=null, Predicate< IMyPathEdge< V >> edgeTraversable=null)
 
long GetCurrentTimestamp ()
 
bool VisitedBetween (V vertex, long start, long end)
 
void PrepareTraversal (V startingVertex, Predicate< V > vertexFilter=null, Predicate< V > vertexTraversable=null, Predicate< IMyPathEdge< V >> edgeTraversable=null)
 Has to be called before any traversal of the pathfinding system using enumerators. More...
 
void PerformTraversal ()
 
IEnumerator< V > GetEnumerator ()
 

Protected Member Functions

void CalculateNextTimestamp ()
 

Detailed Description

Type Constraints
V :class 
V :IMyPathVertex<V> 

Definition at line 10 of file MyPathFindingSystem.cs.

Constructor & Destructor Documentation

VRage.Algorithms.MyPathFindingSystem< V >.MyPathFindingSystem ( int  queueInitSize = 128,
Func< long >  timestampFunction = null 
)
inline

Definition at line 117 of file MyPathFindingSystem.cs.

Member Function Documentation

void VRage.Algorithms.MyPathFindingSystem< V >.CalculateNextTimestamp ( )
inlineprotected

Definition at line 128 of file MyPathFindingSystem.cs.

MyPath<V> VRage.Algorithms.MyPathFindingSystem< V >.FindPath ( start,
end,
Predicate< V >  vertexTraversable = null,
Predicate< IMyPathEdge< V >>  edgeTraversable = null 
)
inline

Definition at line 140 of file MyPathFindingSystem.cs.

MyPath<V> VRage.Algorithms.MyPathFindingSystem< V >.FindPath ( start,
Func< V, float >  heuristic,
Func< V, float >  terminationCriterion,
Predicate< V >  vertexTraversable = null,
bool  returnClosest = true 
)
inline

Definition at line 229 of file MyPathFindingSystem.cs.

void VRage.Algorithms.MyPathFindingSystem< V >.FindReachable ( IEnumerable< V >  fromSet,
List< V >  reachableVertices,
Predicate< V >  vertexFilter = null,
Predicate< V >  vertexTraversable = null,
Predicate< IMyPathEdge< V >>  edgeTraversable = null 
)
inline

Definition at line 358 of file MyPathFindingSystem.cs.

void VRage.Algorithms.MyPathFindingSystem< V >.FindReachable ( from,
List< V >  reachableVertices,
Predicate< V >  vertexFilter = null,
Predicate< V >  vertexTraversable = null,
Predicate< IMyPathEdge< V >>  edgeTraversable = null 
)
inline

Definition at line 368 of file MyPathFindingSystem.cs.

long VRage.Algorithms.MyPathFindingSystem< V >.GetCurrentTimestamp ( )
inline

Definition at line 373 of file MyPathFindingSystem.cs.

IEnumerator<V> VRage.Algorithms.MyPathFindingSystem< V >.GetEnumerator ( )
inline

Definition at line 446 of file MyPathFindingSystem.cs.

void VRage.Algorithms.MyPathFindingSystem< V >.PerformTraversal ( )
inline

Definition at line 435 of file MyPathFindingSystem.cs.

void VRage.Algorithms.MyPathFindingSystem< V >.PrepareTraversal ( startingVertex,
Predicate< V >  vertexFilter = null,
Predicate< V >  vertexTraversable = null,
Predicate< IMyPathEdge< V >>  edgeTraversable = null 
)
inline

Has to be called before any traversal of the pathfinding system using enumerators.

Several predicates can be supplied to the system that change the behavior of the traversal.

Parameters
startingVertexThe vertex from which the traversal starts
vertexFilterIf set, this predicate is applied to the output vertices so that we only get those that we are interested in.
vertexTraversableThis predicate allows to make vertices of the graph untraversable, blocking the paths through them. It is guaranteed to be called only once on every vertex when enumerating the graph or finding reachable vertices, but for pathfinding functions, this guarantee is no longer valid.
edgeTraversableThis predicate allows to make edges untraversable, blocking the paths through them.

Definition at line 425 of file MyPathFindingSystem.cs.

bool VRage.Algorithms.MyPathFindingSystem< V >.Reachable ( from,
to 
)
inline

Definition at line 346 of file MyPathFindingSystem.cs.

bool VRage.Algorithms.MyPathFindingSystem< V >.VisitedBetween ( vertex,
long  start,
long  end 
)
inline

Definition at line 378 of file MyPathFindingSystem.cs.


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