conspire/geometry/ntree/
mod.rs1mod balance;
2mod defeature;
3mod deref;
4mod from;
5mod index;
6mod into;
7mod leaves;
8pub(crate) mod node;
9mod pair;
10mod prune;
11mod read;
12pub(crate) mod rescale;
13pub(crate) mod sizing;
14pub(crate) mod subdivide;
15mod write;
16
17pub use crate::geometry::ntree::{
18 balance::{Balance, Balancing},
19 node::Nodes,
20 pair::Pairing,
21 read::Input,
22 rescale::Rescaling,
23 sizing::{Sizing, curvature::CurvatureSizing},
24 write::Output,
25};
26
27pub struct Orthotree<const D: usize, const L: usize, const M: usize, const N: usize, T, U, V = ()> {
28 pub(crate) balanced: Balancing,
29 pub(crate) nodes: Nodes<D, M, N, T, U, V>,
30 pub(crate) paired: Pairing,
31 pub(crate) rescale: Rescaling<D>,
32}
33
34pub type BinaryTree<T, U, V = ()> = Orthotree<1, 1, 2, 2, T, U, V>;
35pub type Quadtree<T, U, V = ()> = Orthotree<2, 2, 4, 4, T, U, V>;
36pub type Octree<T, U, V = ()> = Orthotree<3, 4, 6, 8, T, U, V>;
37pub type Hexadecatree<T, U, V = ()> = Orthotree<4, 8, 8, 16, T, U, V>;