[−][src]Module dinotree::advanced
Provies some debugging and misc functions.
Structs
LevelTimer | Measure the time each level of a recursive algorithm takes that supports the Splitter trait. Note that the number of elements in the returned Vec could be less than the height of the tree. This can happen if the recursive algorithm does not recurse all the way to the leafs because it deemed it not necessary. |
SplitterEmpty | For cases where you don't care about any of the callbacks that Splitter provides, this implements them all to do nothing. |
Unique | A Unique that doesnt require rust nightly. See https://doc.rust-lang.org/1.26.2/core/ptr/struct.Unique.html |
Enums
BinStrat | Passed to the binning algorithm to determine if the binning algorithm should check for index out of bounds. |
Traits
Splitter | A trait that gives the user callbacks at events in a recursive algorithm on the tree. The main motivation behind this trait was to track the time spent taken at each level of the tree during construction. |
Functions
compute_default_level_switch_sequential | Returns the height at which the recursive construction algorithm turns to sequential from parallel. |
compute_tree_height_heuristic | Returns the height of a dyn tree for a given number of bots. The height is chosen such that the nodes will each have a small amount of bots. If we had a node per bot, the tree would be too big. If we had too many bots per node, you would lose the properties of a tree, and end up with plain sweep and prune. This is provided so that users can allocate enough space for all the nodes before the tree is constructed, perhaps for some graphics buffer. |
compute_tree_height_heuristic_debug | Outputs the height given an desirned number of bots per node. |
default_level_switch_sequential | Returns the height at which the recursive construction algorithm turns to sequential from parallel. |
into_bbox_vec | Converts an iterator and a aabb creating function into a Vec of BBox |
sweeper_update | Sorts the bots based on an axis. |