C# Class Dwarrowdelf.AStar

Show file Open project: tomba/dwarrowdelf Class Usage Examples

Public Methods

Method Description
AStar ( IEnumerable initialLocations, IAStarTarget target ) : System
CanReach ( IEnvironmentObject env, IntVector3 src, IntVector3 dst, DirectionSet dstPositioning ) : bool

Returns if dst can be reached from src

Find ( IEnumerable initLocs, IAStarTarget target, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult

Find route from init locations to destination defined by IAstarTarget

Find ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IntVector3 dst, DirectionSet dstPositioning, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult

Find route from src to dst, using the given positionings

Find ( ) : AStarStatus
Find ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning ) : IEnumerable

Find route from src to dest, finding the route in parallel from both directions

Find ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning, IntVector3 &finalLocation ) : IEnumerable

Find route from src to dest, finding the route in parallel from both directions

FindArea ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IntGrid3 dstArea, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult

Find route from src to destination area

FindMany ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, bool>.Func func, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : IEnumerable
FindMany ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IAStarTarget target, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : IEnumerable
FindNearest ( IEnvironmentObject env, IntVector3 src, bool>.Func func, int maxNodeCount = 200000 ) : AStarResult

Flood-find the nearest location for which func returns true

GetPath ( ) : IEnumerable
GetPathLocationsReverse ( ) : IEnumerable
GetPathNodesReverse ( ) : IEnumerable
GetPathReverse ( ) : IEnumerable

Private Methods

Method Description
CheckNeighbors ( AStarNode parent ) : void
ParallelFind ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning, AStarResult &resBackward, AStarResult &resForward ) : void
UpdateNodes ( AStarNode parent, Stack queue ) : void
UpdateParents ( AStarNode parent ) : void

Method Details

AStar() public method

public AStar ( IEnumerable initialLocations, IAStarTarget target ) : System
initialLocations IEnumerable
target IAStarTarget
return System

CanReach() public static method

Returns if dst can be reached from src
public static CanReach ( IEnvironmentObject env, IntVector3 src, IntVector3 dst, DirectionSet dstPositioning ) : bool
env IEnvironmentObject
src IntVector3
dst IntVector3
dstPositioning DirectionSet
return bool

Find() public static method

Find route from init locations to destination defined by IAstarTarget
public static Find ( IEnumerable initLocs, IAStarTarget target, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult
initLocs IEnumerable
target IAStarTarget
maxNodeCount int
cancellationToken System.Threading.CancellationToken
return AStarResult

Find() public static method

Find route from src to dst, using the given positionings
public static Find ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IntVector3 dst, DirectionSet dstPositioning, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult
env IEnvironmentObject
src IntVector3
srcPositioning DirectionSet
dst IntVector3
dstPositioning DirectionSet
maxNodeCount int
cancellationToken System.Threading.CancellationToken
return AStarResult

Find() public method

public Find ( ) : AStarStatus
return AStarStatus

Find() public static method

Find route from src to dest, finding the route in parallel from both directions
public static Find ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning ) : IEnumerable
env IEnvironmentObject
src IntVector3
dest IntVector3
positioning DirectionSet
return IEnumerable

Find() public static method

Find route from src to dest, finding the route in parallel from both directions
public static Find ( IEnvironmentObject env, IntVector3 src, IntVector3 dest, DirectionSet positioning, IntVector3 &finalLocation ) : IEnumerable
env IEnvironmentObject
src IntVector3
dest IntVector3
positioning DirectionSet
finalLocation IntVector3
return IEnumerable

FindArea() public static method

Find route from src to destination area
public static FindArea ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IntGrid3 dstArea, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : AStarResult
env IEnvironmentObject
src IntVector3
srcPositioning DirectionSet
dstArea IntGrid3
maxNodeCount int
cancellationToken System.Threading.CancellationToken
return AStarResult

FindMany() public static method

public static FindMany ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, bool>.Func func, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : IEnumerable
env IEnvironmentObject
src IntVector3
srcPositioning DirectionSet
func bool>.Func
maxNodeCount int
cancellationToken System.Threading.CancellationToken
return IEnumerable

FindMany() public static method

public static FindMany ( IEnvironmentObject env, IntVector3 src, DirectionSet srcPositioning, IAStarTarget target, int maxNodeCount = 200000, CancellationToken cancellationToken = null ) : IEnumerable
env IEnvironmentObject
src IntVector3
srcPositioning DirectionSet
target IAStarTarget
maxNodeCount int
cancellationToken System.Threading.CancellationToken
return IEnumerable

FindNearest() public static method

Flood-find the nearest location for which func returns true
public static FindNearest ( IEnvironmentObject env, IntVector3 src, bool>.Func func, int maxNodeCount = 200000 ) : AStarResult
env IEnvironmentObject
src IntVector3
func bool>.Func
maxNodeCount int
return AStarResult

GetPath() public method

public GetPath ( ) : IEnumerable
return IEnumerable

GetPathLocationsReverse() public method

public GetPathLocationsReverse ( ) : IEnumerable
return IEnumerable

GetPathNodesReverse() public method

public GetPathNodesReverse ( ) : IEnumerable
return IEnumerable

GetPathReverse() public method

public GetPathReverse ( ) : IEnumerable
return IEnumerable