|
A* Pathfinding Project
3.6
The A* Pathfinding Project for Unity 3D
|
Binary heap implementation. More...
Binary heap implementation.
Binary heaps are really fast for ordering nodes in a way that makes it possible to get the node with the lowest F score. Also known as a priority queue.
This has actually been rewritten as an n-ary heap (by default a 4-ary heap) for performance, but it's the same principle.
Classes | |
| struct | Tuple |
Public Member Functions | |
| BinaryHeapM (int numberOfElements) | |
| void | Add (PathNode node) |
| Adds a node to the heap. | |
| void | Clear () |
| void | Rebuild () |
| Rebuilds the heap by trickeling down all items. | |
| PathNode | Remove () |
| Returns the node with the lowest F score from the heap. | |
Public Attributes | |
| const int | D = 4 |
| float | growthFactor = 2 |
| int | numberOfItems |
Package Functions | |
| PathNode | GetNode (int i) |
| void | SetF (int i, uint F) |
Private Member Functions | |
| void | Validate () |
Private Attributes | |
| Tuple[] | binaryHeap |
| const bool | SortGScores = true |
| BinaryHeapM | ( | int | numberOfElements | ) |
| void Add | ( | PathNode | node | ) |
Adds a node to the heap.
| void Clear | ( | ) |
|
package |
| void Rebuild | ( | ) |
Rebuilds the heap by trickeling down all items.
Usually called after the hTarget on a path has been changed
| PathNode Remove | ( | ) |
Returns the node with the lowest F score from the heap.
|
package |
|
private |
|
private |
| const int D = 4 |
| float growthFactor = 2 |
| int numberOfItems |
|
private |