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§
Sourceconst SHAPE_SHIFTER: V
const SHAPE_SHIFTER: V
The number of bits to shift each dimension in order to translate coordinates between adjacent Level
s.
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
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.