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

Nearest node constraint. More...

Detailed Description

Nearest node constraint.

Constrains which nodes will be returned by the GetNearest function

Public Member Functions

 NNConstraint ()
 Default constructor.
 
virtual bool Suitable (GraphNode node)
 Returns whether or not the node conforms to this NNConstraint's rules.
 
virtual bool SuitableGraph (int graphIndex, NavGraph graph)
 Returns whether or not the graph conforms to this NNConstraint's rules.
 

Public Attributes

int area = -1
 Area ID to constrain to.
 
bool constrainArea
 Only treat nodes in the area area as suitable.
 
bool constrainDistance = true
 Constrain distance to node.
 
bool constrainTags = true
 Sets if tags should be constrained.
 
bool constrainWalkability = true
 Only treat nodes with the walkable flag set to the same as walkable as suitable.
 
bool distanceXZ
 if available, do an XZ check instead of checking on all axes.
 
int graphMask = -1
 Graphs treated as valid to search on.
 
int tags = -1
 Nodes which have any of these tags set are suitable.
 
bool walkable = true
 What must the walkable flag on a node be for it to be suitable.
 

Properties

static NNConstraint Default [get]
 The default NNConstraint.
 
static NNConstraint None [get]
 Returns a constraint which will not filter the results.
 

Constructor & Destructor Documentation

Default constructor.

Equals to the property Default

Member Function Documentation

virtual bool Suitable ( GraphNode  node)
virtual

Returns whether or not the node conforms to this NNConstraint's rules.

Reimplemented in FloodPathConstraint.

virtual bool SuitableGraph ( int  graphIndex,
NavGraph  graph 
)
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.

Member Data Documentation

int area = -1

Area ID to constrain to.

Will not affect anything if less than 0 (zero) or if constrainArea is false

bool constrainArea

Only treat nodes in the area area as suitable.

Does not affect anything if area is less than 0 (zero)

bool constrainDistance = true

Constrain distance to node.

Uses distance from AstarPath.maxNearestNodeDistance. If this is false, it will completely ignore the distance limit.

Note
This value is not used in this class, it is used by the AstarPath.GetNearest function.
bool constrainTags = true

Sets if tags should be constrained.

bool constrainWalkability = true

Only treat nodes with the walkable flag set to the same as walkable as suitable.

bool distanceXZ

if available, do an XZ check instead of checking on all axes.

The RecastGraph supports this

int 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.

//Enables the first and third graphs to be included, but not the rest
myNNConstraint.graphMask = (1 << 0) | (1 << 2);
Note
This does only affect which nodes are returned from a GetNearest call, if an invalid graph is linked to from a valid graph, it might be searched anyway.
See Also
AstarPath.GetNearest
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

What must the walkable flag on a node be for it to be suitable.

Does not affect anything if constrainWalkability if false

Property Documentation

NNConstraint Default
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

NNConstraint None
staticget

Returns a constraint which will not filter the results.


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