A* Pathfinding Project
4.2.0
The A* Pathfinding Project for Unity 3D
|
Nearest node constraint. More...
Nearest node constraint.
Constrains which nodes will be returned by the GetNearest function
Public Member Functions | |
NNConstraint () | |
Default constructor. More... | |
virtual bool | Suitable (GraphNode node) |
Returns whether or not the node conforms to this NNConstraint's rules. More... | |
virtual bool | SuitableGraph (int graphIndex, NavGraph graph) |
Returns whether or not the graph conforms to this NNConstraint's rules. More... | |
Public Attributes | |
int | area = -1 |
Area ID to constrain to. More... | |
bool | constrainArea |
Only treat nodes in the area area as suitable. More... | |
bool | constrainDistance = true |
Constrain distance to node. More... | |
bool | constrainTags = true |
Sets if tags should be constrained. More... | |
bool | constrainWalkability = true |
Constrain the search to only walkable or unwalkable nodes depending on walkable. More... | |
bool | distanceXZ |
if available, do an XZ check instead of checking on all axes. More... | |
GraphMask | graphMask = -1 |
Graphs treated as valid to search on. More... | |
int | tags = -1 |
Nodes which have any of these tags set are suitable. More... | |
bool | walkable = true |
Only search for walkable or unwalkable nodes if constrainWalkability is enabled. More... | |
Properties | |
static NNConstraint | Default [get] |
The default NNConstraint. More... | |
static NNConstraint | None [get] |
Returns a constraint which does not filter the results. More... | |
NNConstraint | ( | ) |
Default constructor.
Equals to the property Default
|
virtual |
Returns whether or not the node conforms to this NNConstraint's rules.
Reimplemented in FloodPathConstraint.
|
virtual |
Returns whether or not the graph conforms to this NNConstraint's rules.
Note that only the first 31 graphs are considered using this function. If the graphMask has bit 31 set (i.e the last graph possible to fit in the mask), all graphs above index 31 will also be considered suitable.
int area = -1 |
Area ID to constrain to.
Will not affect anything if less than 0 (zero) or if constrainArea is false
bool constrainArea |
bool constrainDistance = true |
Constrain distance to node.
Uses distance from AstarPath.maxNearestNodeDistance. If this is false, it will completely ignore the distance limit.
If there are no suitable nodes within the distance limit then the search will terminate with a null node as a result.
bool constrainTags = true |
Sets if tags should be constrained.
bool constrainWalkability = true |
Constrain the search to only walkable or unwalkable nodes depending on walkable.
bool distanceXZ |
if available, do an XZ check instead of checking on all axes.
The navmesh/recast graph supports this.
This can be important on sloped surfaces. See the image below in which the closest point for each blue point is queried for:
The navmesh/recast graphs also contain a global option for this: nearestSearchOnlyXZ.
GraphMask graphMask = -1 |
Graphs treated as valid to search on.
This is a bitmask meaning that bit 0 specifies whether or not the first graph in the graphs list should be able to be included in the search, bit 1 specifies whether or not the second graph should be included and so on.
int tags = -1 |
Nodes which have any of these tags set are suitable.
This is a bitmask, i.e bit 0 indicates that tag 0 is good, bit 3 indicates tag 3 is good etc.
bool walkable = true |
Only search for walkable or unwalkable nodes if constrainWalkability is enabled.
If true, only walkable nodes will be searched for, otherwise only unwalkable nodes will be searched for. Does not affect anything if constrainWalkability if false.
|
staticget |
The default NNConstraint.
Equivalent to new NNConstraint (). This NNConstraint has settings which works for most, it only finds walkable nodes and it constrains distance set by A* Inspector -> Settings -> Max Nearest Node Distance
|
staticget |
Returns a constraint which does not filter the results.