Crate dinotree_alg

Crate dinotree_alg 

Source
Expand description

This crate is deprecated. Use broccoli instead.

Re-exports§

pub extern crate axgeom;

Modules§

analyzeDeprecated
Contains generic code used in all dinotree versions Contains code to manipulate the dinotree data structure and some of its query algorithms to help analyze and measure their performance.
collectableDeprecated
Contains generic code used in all dinotree versions A verion of dinotree where the user can collect and store queries to use later.
nodeDeprecated
Contains generic code used in all dinotree versions Contains node-level building block structs and visitors used for a DinoTree.
ownedDeprecated
Contains generic code used in all dinotree versions A version of dinotree that is not lifetimed and uses unsafe{} to own the elements that are in its tree (as a self-referential struct). Composed of (Rect<N>,*mut T).
parDeprecated
Contains generic code used in all dinotree versions 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.
pmut
Provides a mutable pointer type that is more restrictive that &mut T, in order to protect tree invariants. PMut is short for protected mutable reference.
query
Module contains query related structs.
util
Generic slice utillity functions.

Structs§

BBox
A bounding box container object that implements Aabb and HasInner. Note that &mut BBox<N,T> also implements Aabb and HasInner.
DinoTreeDeprecated
Contains generic code used in all dinotree versions The data structure this crate revoles around.

Traits§

Aabb
Trait to signify that this object has an axis aligned bounding box. get() must return a aabb with the same value in it while the element is in the dinotree. This is hard for the user not to do, this the user does not have &mut self, and the aabb is implied to belong to self. But it is still possible through the use of static objects or RefCell/ Mutex, etc. Using this type of methods the user could make different calls to get() return different aabbs. This is unsafe since we allow query algorithms to assume the following: If two object’s aabb’s don’t intersect, then they can be mutated at the same time.
HasInner
Trait exposes an api where you can return a read-only reference to the axis-aligned bounding box and at the same time return a mutable reference to a seperate inner section.
Num
The underlying number type used for the dinotree. It is auto implemented by all types that satisfy the type constraints. Notice that no arithmatic is possible. The tree is constructed using only comparisons and copying.

Functions§

bbox
Shorthand constructor of BBox
default_axisDeprecated
Contains generic code used in all dinotree versions Constructor of the default axis type. Needed since you cannot construct from type alias’s.

Type Aliases§

DefaultADeprecated
Contains generic code used in all dinotree versions The type of the axis of the first node in the dinotree. If it is the y axis, then the first divider will be a horizontal line, since it is partioning space based off of objects y value.