Trait BranchShape

Source
pub trait BranchShape<V>
where V: VectorKey,
{ const SHAPE_SHIFTER: V; // Required methods fn linearize_child(offset: V) -> ChildIndex; fn delinearize_child(i: ChildIndex) -> V; // Provided methods fn parent_key(key: V) -> V { ... } fn ancestor_key(key: V, levels_up: u32) -> V { ... } fn min_child_key(key: V) -> V { ... } fn min_descendant_key(key: V, levels_down: u32) -> V { ... } }
Expand description

The shape of a single node’s children. E.g. 22 for a quadtree and 23 for an octree.

Required Associated Constants§

Source

const SHAPE_SHIFTER: V

The number of bits to shift each dimension in order to translate coordinates between adjacent Levels.

Required Methods§

Provided Methods§

Source

fn parent_key(key: V) -> V

Source

fn ancestor_key(key: V, levels_up: u32) -> V

Source

fn min_child_key(key: V) -> V

Source

fn min_descendant_key(key: V, levels_down: u32) -> V

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§