Axis Aligned Bounding Box Tree.
Holds a bounding box tree of triangles.
- A* Pro Feature:
- This is an A* Pathfinding Project Pro feature only. This function/class/variable might not exist in the Free version of the A* Pathfinding Project or the functionality might be limited
The Pro version can be bought here
|
void | Clear () |
| Clear the tree.
|
|
void | OnDrawGizmos () |
|
NNInfo | Query (Vector3 p, NNConstraint constraint) |
|
NNInfo | QueryCircle (Vector3 p, float radius, NNConstraint constraint) |
| Queries the tree for the best node, searching within a circle around p with the specified radius.
|
|
NNInfo | QueryClosest (Vector3 p, NNConstraint constraint, out float distance) |
| Queries the tree for the closest node to p constrained by the NNConstraint.
|
|
NNInfo | QueryClosest (Vector3 p, NNConstraint constraint, ref float distance, NNInfo previous) |
| Queries the tree for the closest node to p constrained by the NNConstraint trying to improve an existing solution.
|
|
NNInfo | QueryClosestXZ (Vector3 p, NNConstraint constraint, ref float distance, NNInfo previous) |
| Queries the tree for the closest node to p constrained by the NNConstraint trying to improve an existing solution.
|
|
MeshNode | QueryInside (Vector3 p, NNConstraint constraint) |
|
void | RebuildFrom (MeshNode[] nodes) |
| Rebuilds the tree using the specified nodes.
|
|
|
void | EnsureCapacity (int c) |
|
int | GetBox (MeshNode node, IntRect bounds) |
|
int | GetBox (IntRect rect) |
|
void | OnDrawGizmos (int boxi, int depth) |
|
int | RebuildFromInternal (MeshNode[] nodes, int[] permutation, IntRect[] nodeBounds, int from, int to, bool odd) |
|
void | SearchBox (int boxi, Vector3 p, NNConstraint constraint, ref NNInfo nnInfo) |
|
void | SearchBoxCircle (int boxi, Vector3 p, float radius, NNConstraint constraint, ref NNInfo nnInfo) |
|
void | SearchBoxClosest (int boxi, Vector3 p, ref float closestDist, NNConstraint constraint, ref NNInfo nnInfo) |
|
void | SearchBoxClosestXZ (int boxi, Vector3 p, ref float closestDist, NNConstraint constraint, ref NNInfo nnInfo) |
|
MeshNode | SearchBoxInside (int boxi, Vector3 p, NNConstraint constraint) |
|
|
static IntRect | ExpandToContain (IntRect r, IntRect r2) |
| Returns a new rect which contains both r and r2.
|
|
static IntRect | NodeBounds (int[] permutation, IntRect[] nodeBounds, int from, int to) |
| Calculates the bounding box in XZ space of all nodes between from (inclusive) and to (exclusive)
|
|
static bool | NodeIntersectsCircle (MeshNode node, Vector3 p, float radius) |
|
static bool | RectIntersectsCircle (IntRect r, Vector3 p, float radius) |
| Returns true if p is within radius from r.
|
|
static int | SplitByX (MeshNode[] nodes, int[] permutation, int from, int to, int divider) |
|
static int | SplitByZ (MeshNode[] nodes, int[] permutation, int from, int to, int divider) |
|
Queries the tree for the closest node to p constrained by the NNConstraint trying to improve an existing solution.
Note that this function will, unlike QueryCircle, only fill in the constrained node. If you want a node not constrained by any NNConstraint, do an additional search with constraint = NNConstraint.None
This method will completely ignore any Y-axis differences in positions.
- Parameters
-
p | Point to search around |
constraint | Optionally set to constrain which nodes to return |
distance | The best distance for the previous solution. Will be updated with the best distance after this search. Will be positive infinity if no node could be found. Set to positive infinity if there was no previous solution. |
previous | This search will start from the previous NNInfo and improve it if possible. Even if the search fails on this call, the solution will never be worse than previous. |
- See Also
- QueryCircle