#![warn(missing_docs)]
pub(crate) mod tol {
pub const ANGULAR: f64 = crate::Tolerance::DEFAULT.angular;
pub const CONFUSION: f64 = crate::Tolerance::DEFAULT.confusion;
pub const P_CONFUSION: f64 = crate::Tolerance::DEFAULT.parametric;
}
pub mod bounding_box;
pub(crate) mod curve_math;
pub mod curves;
pub mod discretization;
pub mod frame;
pub mod intersect;
pub(crate) mod math;
pub mod point;
pub mod projection;
pub(crate) mod surface_math;
pub mod surfaces;
pub mod tolerance;
pub mod transform;
pub mod vector;
pub use bounding_box::{Bound3D, BoundingBox3D};
pub use curves::{
BSplineConstructionError, BSplineConversionError, BSplineCurve3D, BSplineSplitError, Circle2D,
Circle3D, CircleConstructionError, Curve2D, Curve3D, DegreeElevationError, ElementaryCurve,
Ellipse3D, EllipseConstructionError, Hyperbola3D, HyperbolaConstructionError,
KnotInsertionError, KnotRemovalError, Line2D, Line3D, LineConstructionError, Parabola3D,
ParabolaConstructionError, ParametricCurve2D, ParametricCurve3D, ParametrizeError,
PointExtrema2D, PointExtrema3D, PointParametrization, TrimmedCurve2D, TrimmedCurve3D,
TrimmedCurveConstructionError, parametrize_numeric,
};
pub use discretization::{
Discretization2D, Discretization3D, DiscretizationCriteria, DiscretizationCriteriaError,
Discretize2D, Discretize3D,
};
pub use frame::{Axis2D, Axis3D, Frame2D, Frame3D, FrameConstructionError};
pub use intersect::intersect_curve_surface;
pub use intersect::marching_intersection;
pub use intersect::{
CircleCircle2DIntersection, CircleCircle3DIntersection, CircleSurfaceIntersection,
ConeConeIntersection, ConeCylinderIntersection, ConicConicIntersection, ConicSurfaceHit,
ConicSurfaceIntersection, CurveCurveExtremum, CurveCurveHit, CurveSurfaceHit,
CylinderCylinderIntersection, LatitudeRing, LineCircle2DIntersection, LineCircle3DIntersection,
LineConic3DIntersection, LineConicHit, LineLine2DIntersection, LineLine3DIntersection,
LinePlaneIntersection, LineQuadricIntersection, LineTorusHit, LineTorusIntersection,
PlaneConeIntersection, PlaneCylinderIntersection, PlanePlaneIntersection,
PlaneSphereIntersection, SphereConeIntersection, SphereCylinderIntersection,
SphereSphereIntersection, TorusConeIntersection, TorusCylinderIntersection,
TorusPlaneIntersection, TorusSphereIntersection, TorusTorusIntersection,
};
pub use intersect::{
Completeness, CurveCurveExtrema, CurveCurveHits, CurveCurveRegion, CurveSurfaceHits,
CurveSurfaceRegion, IncompleteReason,
};
pub use intersect::{
CurveCurveIntersection, CurveSurfaceIntersection, InlineList, Intersect, SurfaceIntersection,
};
pub use intersect::{curve_curve_extrema, intersect_curve_curve};
pub use point::{Point2D, Point3D};
pub use projection::{CurveProjection, SurfaceProjection};
pub use surfaces::{
BSplineSurface, Cone, ConeConstructionError, Cylinder, CylinderConstructionError,
ElementarySurface, ParametricSurface, Plane, PlaneConstructionError, Sphere,
SphereConstructionError, Surface, SurfaceIsoError, Torus, TorusConstructionError,
};
pub use tolerance::Tolerance;
pub use transform::Transform;
pub use vector::{Vector2D, Vector3D};