A* Pathfinding Project  3.8.12
The A* Pathfinding Project for Unity 3D
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Properties Events Macros Groups Pages
StartEndModifier Class Reference

Adjusts start and end points of a path. More...

Detailed Description

Adjusts start and end points of a path.

Public Types

enum  Exactness {
  SnapToNode, Original, Interpolate, ClosestOnNode,
  NodeConnection
}
 Sets where the start and end points of a path should be placed. More...
 

Public Member Functions

override void Apply (Path _p)
 Main Post-Processing function.
 
Vector3 GetClampedPoint (Vector3 from, Vector3 to, GraphNode hint)
 
- Public Member Functions inherited from PathModifier
void Awake (Seeker s)
 
void OnDestroy (Seeker s)
 
virtual void PreProcess (Path p)
 
- Public Member Functions inherited from IPathModifier
void Apply (Path p)
 
void PreProcess (Path p)
 

Public Attributes

bool addPoints
 Add points to the path instead of replacing them.
 
System.Func< Vector3 > adjustStartPoint
 Will be called when a path is processed.
 
Exactness exactEndPoint = Exactness.ClosestOnNode
 
Exactness exactStartPoint = Exactness.ClosestOnNode
 
LayerMask mask = -1
 
bool useGraphRaycasting
 
bool useRaycasting
 
- Public Attributes inherited from PathModifier
Seeker seeker
 

Properties

override int Order [get]
 
- Properties inherited from PathModifier
abstract int Order [get]
 Modifiers will be executed from lower order to higher order.
 
- Properties inherited from IPathModifier
int Order [get]
 

Private Member Functions

Vector3 Snap (ABPath path, Exactness mode, bool start, out bool forceAddPoint)
 

Private Attributes

List< GraphNodeconnectionBuffer
 
GraphNodeDelegate connectionBufferAddDelegate
 

Member Enumeration Documentation

enum Exactness

Sets where the start and end points of a path should be placed.

Enumerator:
SnapToNode 

The point is snapped to the first/last node in the path.

Original 

The point is set to the exact point which was passed when calling the pathfinding.

Interpolate 

The point is set to the closest point on the line between either the two first points or the two last points.

Usually you will want to use the NodeConnection mode instead since that is usually the behaviour that you really want.

ClosestOnNode 

The point is set to the closest point on the node.

Note that for some node types (point nodes) the "closest point" is the node's position which makes this identical to Exactness.SnapToNode

NodeConnection 

The point is set to the closest point on one of the connections from the start/end node.

Member Function Documentation

override void Apply ( Path  p)
virtual

Main Post-Processing function.

Implements PathModifier.

Vector3 GetClampedPoint ( Vector3  from,
Vector3  to,
GraphNode  hint 
)
Vector3 Snap ( ABPath  path,
Exactness  mode,
bool  start,
out bool  forceAddPoint 
)
private

Member Data Documentation

bool addPoints

Add points to the path instead of replacing them.

System.Func<Vector3> adjustStartPoint

Will be called when a path is processed.

The value which is returned will be used as the start point of the path and potentially clamped depending on the value of the exactStartPoint field. Only used for the Original, Interpolate and NodeConnection modes.

List<GraphNode> connectionBuffer
private
GraphNodeDelegate connectionBufferAddDelegate
private
Exactness exactEndPoint = Exactness.ClosestOnNode
Exactness exactStartPoint = Exactness.ClosestOnNode
LayerMask mask = -1
bool useGraphRaycasting
bool useRaycasting

Property Documentation

override int Order
get

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