Function GridStringPulling.Calculate

Calculate (List<GraphNode> pathNodes, int nodeStartIndex, int nodeEndIndex, Vector3 startPoint, Vector3 endPoint, System.Func<GraphNode, uint> traversalCost=null, System.Func<GraphNode, bool> filter=null, int maxCorners=…)

Simplifies a path on a grid graph using a string pulling algorithm.

Public Static
List<Vector3> Calculate (

List<GraphNode>

pathNodes

A list of input nodes. Only the slice of nodes from nodeStartIndex to nodeEndIndex (inclusive) will be used. These must all be of type GridNodeBase and must form a path (i.e. each node must be a neighbor to the next one in the list).

int

nodeStartIndex

The index in pathNodes to start from.

int

nodeEndIndex

The last index in pathNodes that is used.

Vector3

startPoint

A more exact start point for the path. This should be a point inside the first node (if not, it will be clamped to the node's surface).

Vector3

endPoint

A more exact end point for the path. This should be a point inside the first node (if not, it will be clamped to the node's surface).

System.Func<GraphNode, uint>

traversalCost=null

Can be used to specify how much it costs to traverse each node. If this is null, node penalties and tag penalties will be completely ignored.

System.Func<GraphNode, bool>

filter=null

Can be used to filter out additional nodes that should be treated as unwalkable. It is assumed that all nodes in pathNodes pass this filter.

int

maxCorners=int.MaxValue

If you only need the first N points of the result, you can specify that here, to avoid unnecessary work.

)

Simplifies a path on a grid graph using a string pulling algorithm.

See the class documentation for more details.