Skip to main content

Crate axiolid_curve

Crate axiolid_curve 

Source
Expand description

Exact, format-neutral curve representations and evaluation contracts.

Composite, trimmed, offset, and surface-bound curves are graph relations in axiolid-model; keeping them there avoids a curve/surface dependency cycle. The pieces of atomic curves such a relation runs along are a neutral value here, CurvePath, which an evaluator measures (#290).

Re-exports§

pub use banked::bank_angle;
pub use banked::BankConvention;
pub use banked::BankError;
pub use banked::Banked3;
pub use banked::CantForm;
pub use banked::CantLaw;
pub use banked::CantPiece;
pub use banked::CantValue;
pub use banked::RailSide;
pub use chain::Chain2;
pub use chain::ChainPiece2;
pub use conic::Circle2;
pub use conic::Circle3;
pub use conic::Ellipse2;
pub use conic::Ellipse3;
pub use elevation::Elevated3;
pub use elevation::ElevationLaw;
pub use evaluate::CurveEvaluator;
pub use implicit::Axis;
pub use implicit::Basis;
pub use implicit::Carrier;
pub use implicit::Field2;
pub use implicit::ImplicitCell;
pub use implicit::ImplicitCurve2;
pub use implicit::ImplicitSection3;
pub use implicit::Jet2;
pub use implicit::LiftedCurve2;
pub use implicit::PatchField2;
pub use implicit::SeriesField2;
pub use implicit::SurfaceJet;
pub use pair_section::PairNode;
pub use pair_section::PairSection3;
pub use path::CurvePath;
pub use path::OffsetFrame;
pub use path::OffsetLaw;
pub use path::PathBound;
pub use path::PathCurve;
pub use path::PathOffset;
pub use path::PathOffsets;
pub use path::PathPiece;
pub use quadric_section::Branch;
pub use quadric_section::QuadraticGraph2;
pub use quadric_section::RuledCarrier;
pub use quadric_section::RuledSection3;
pub use quadric_section::Trig2;
pub use seam::SeamSide;
pub use sinusoid::Sinusoid2;
pub use spline::BSplineCurve;
pub use spline::BSplineCurve2;
pub use spline::BSplineCurve3;
pub use spline::KnotSpec;
pub use spline_surface::BSplineSurface;
pub use torus_section::AngleGraph2;
pub use torus_section::TorusCarrier;
pub use torus_section::TorusSection3;

Modules§

banked
A centreline carrying a roll about its tangent: cant, bank angle and the point the section rotates about.
chain
Arc-length chains: plane curves parameterised by cumulative arc length, built from pieces placed rigidly end to end.
conic
Exact conic curve data.
elevation
Elevation laws and the composition of a planar curve with one.
evaluate
Backend-open curve evaluation capability.
implicit
Curves given implicitly: where a field over a surface’s parameters is zero (ADR 0077).
linear
Linear curve values.
linear_vocabulary
The focused linear vocabulary, re-exported for consumers that want to name its origin explicitly. A line-only consumer should depend on axiolid-linear directly instead of paying for this aggregate.
pair_section
Where two parametric surfaces meet, carried by nodes on both (ADR 0077).
path
Pieces of curves laid end to end: the neutral form of a curve relation a distance runs along (#285, #290, ADR 0082).
quadric_section
Where a quadric cuts a cylinder or cone, read in the ruled surface’s own parameters (ADR 0076).
seam
Which side of a seam a position on it is read from (#263).
sinusoid
The height wave a plane cuts across a cylinder, in the cylinder’s own parameters.
spline
B-spline and rational B-spline curve data.
spline_surface
Polynomial and rational B-spline surfaces.
torus_section
Where a plane or sphere cuts a torus, read in the torus’s own parameters (ADR 0076).

Structs§

Harmonic
One sinusoidal term of a curvature law: amplitude * sin(angular_frequency * s + phase).
Intrinsic2
A plane curve given by its natural equation: a curvature law anchored to a start frame and run for a finite arc length.
Intrinsic3
A space curve given by its natural equations.
Line
Infinite parametric line origin + t * direction.
Polyline
Piecewise-linear curve preserving source vertex order.

Enums§

CurvatureLaw
Curvature as a closed-form function of arc length.
Curve2
Atomic two-dimensional curve values.
Curve3
Atomic three-dimensional curve values.

Type Aliases§

Line2
Two-dimensional line.
Line3
Three-dimensional line.
Polyline2
Two-dimensional polyline.
Polyline3
Three-dimensional polyline.