axiolid_evaluate/lib.rs
1#![forbid(unsafe_code)]
2
3//! Analytic and spline curve/surface evaluation (ADR 0012, ADR 0036).
4//!
5//! This is the scalar evaluation oracle for parametric geometry: native-domain
6//! evaluation, derivatives, jets, adaptive flattening, and elementary surface
7//! inversion. It is deliberately separate from the `axiolid-reference`
8//! umbrella so a parametric consumer (NURBS, CAD) acquires evaluation without
9//! the umbrella's mesh, spatial, and measure dependencies.
10//!
11//! No intrinsics, no threading, no feature gates: it must stay obviously
12//! correct in preference to being fast.
13
14pub mod arc_length;
15pub mod curve;
16pub mod frenet;
17pub mod intrinsic_relation;
18mod nurbs;
19pub mod polyline_length;
20pub mod provider;
21pub mod surface;
22
23pub use arc_length::{elevated_point, elevated_tangent, intrinsic_point, intrinsic_tangent};
24pub use curve::{derivative2, derivative3, evaluate2, evaluate3, flatten2, ScalarCurve};
25pub use frenet::{frenet_frame, frenet_point, frenet_tangent};
26pub use intrinsic_relation::{join_intrinsic3, offset_intrinsic3, trim_intrinsic3};
27pub use provider::ReferenceCurveEvaluator;
28pub use surface::{partials, Patch, ScalarSurface};