[][src]Module dinotree_alg::analyze

👎 Deprecated:

use the broccoli crate instead

Contains code to manipulate the dinotree data structure and some of its query algorithms to help analyze and measure their performance.

Modules

bbox_helperDeprecated

Helper module for creating Vecs of different types of BBoxes.

nodeDeprecated

Contains node-level building block structs and visitors used for a DinoTree.

parDeprecated

Contains code to write generic code that can be run in parallel, or sequentially. The api is exposed in case users find it useful when writing parallel query code to operate on the tree.

Structs

AssertDeprecated

Collection of functions that panics if the dinotree result differs from the naive solution. Should never panic unless invariants of the tree data struct have been violated.

DinoTreeBuilderDeprecated

Builder pattern for dinotree.

NaiveAlgsDeprecated

Provides the naive implementation of the dinotree api.

NotSortedDeprecated

A version of dinotree where the elements are not sorted along each axis, like a KD Tree. For comparison, a normal kd-tree is provided by NotSorted. In this tree, the elements are not sorted along an axis at each level. Construction of NotSorted is faster than DinoTree since it does not have to sort bots that belong to each node along an axis. But most query algorithms can usually take advantage of this extra property.

NotSortedQueryBuilder

Builder for a query on a NotSorted Dinotree.

QueryBuilder

Builder for a query on a DinoTree.

SplitterEmptyDeprecated

For cases where you don't care about any of the callbacks that Splitter provides, this implements them all to do nothing.

Enums

BinStratDeprecated

Passed to the binning algorithm to determine if the binning algorithm should check for index out of bounds.

Constants

DEFAULT_NUMBER_ELEM_PER_NODEDeprecated

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 have too many levels. Too much time would be spent recursing. If we had too many bots per node, you would lose the properties of a tree, and end up with plain sweep and prune. Theory would tell you to just make a node per bot, but there is a sweet spot inbetween determined by the real-word properties of your computer.

Traits

ColMulti

Used for the advanced algorithms. Trait that user implements to handling aabb collisions. The user supplies a struct that implements this trait instead of just a closure so that the user may also have the struct implement Splitter.

SplitterDeprecated

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_tree_height_heuristicDeprecated

Outputs the height given an desirned number of bots per node.

find_collisions_sweep_mutDeprecated
nodes_leftDeprecated