devela/num/geom/mod.rs
1// devela::num::geom
2//
3//! Geometric types and operations, spatial constructs and analysis.
4#![doc = crate::doc_!(modules: crate::num; geom: linear, metric, shape)]
5//
6
7pub mod metric; // Position, Distance, Extent, Stride...
8
9#[cfg(feature = "linear")]
10#[cfg_attr(nightly_doc, doc(cfg(feature = "linear")))]
11pub mod linear; // Vector*, Matrix*
12#[cfg(feature = "shape")]
13#[cfg_attr(nightly_doc, doc(cfg(feature = "shape")))]
14pub mod shape; // Point, …
15
16crate::items! { // structural access: _pub_mods, _internals, _all
17 #[allow(unused)]
18 pub use _internals::*;
19 #[allow(unused)] #[doc(hidden, no_inline)]
20 pub use _pub_mods::*;
21
22 // mod _mods {}
23 mod _pub_mods { #![allow(unused)]
24 pub use super::metric::_all::*;
25
26 #[cfg(feature = "linear")]
27 pub use super::linear::_all::*;
28 #[cfg(feature = "shape")]
29 pub use super::shape::_all::*;
30 }
31 pub(super) mod _internals { #![allow(unused)]
32 pub(crate) use super::metric::_internals::*;
33 }
34 pub(super) mod _all { #![allow(unused)]
35 #[doc(inline)]
36 pub use super::_pub_mods::*;
37 }
38}