1#![forbid(unsafe_code)]
2#![warn(missing_docs)]
3
4mod approximate;
17mod axis;
18mod certified_bezier;
19mod certified_curve_distance;
20mod certified_curve_intersection;
21mod certified_curve_projection;
22mod certified_curve_surface_intersection;
23mod certified_projection;
24mod certified_refinement;
25mod certified_surface_arcs;
26mod certified_surface_bezier;
27mod certified_surface_inversion;
28mod certified_surface_projection;
29mod certified_surface_surface_intersection;
30mod curve_analysis;
31mod curve_projection;
32mod curve_tower;
33mod degree;
34mod exact_curve_intersection;
35mod exact_field;
36mod exact_series;
37mod exact_surface_intersection;
38pub mod extrema;
39mod field;
40mod fit;
41mod implicit_ops;
42mod implicit_section;
43mod implicit_trace;
44mod intersection_curve;
45mod interval;
46mod pair_certify;
47mod pair_trace;
48mod periodic;
49mod periodic_surface;
50mod projection;
51mod revolution_profile;
52mod root_chain;
53mod ruled_section;
54mod section_curves;
55mod spline_field;
56mod surface_analysis;
57mod surface_ops;
58mod surface_projection;
59mod surface_transform;
60mod torus_section;
61mod transform;
62
63pub use approximate::{
64 fit_curve3, fit_curve3_to_tolerance, fit_surface_grid, CurveFit3, CurveFitOptions,
65 CurveFitTolerance, Parameterisation, SurfaceFit, SurfaceFitOptions,
66};
67pub use certified_curve_distance::{distance_curve2_certified, distance_curve3_certified};
68pub use certified_curve_intersection::{
69 intersect_curve2_certified, CertifiedCurveIntersection2, CertifiedCurveIntersectionOptions,
70 ClassifiedCurveContact2, CurveIntersectionDegeneracy, TransverseCurveIntersection2,
71};
72pub use certified_curve_projection::{project_curve2_certified, project_curve3_certified};
73pub use certified_curve_surface_intersection::{
74 intersect_curve_surface_certified, CertifiedCurveSurfaceIntersection3,
75 CertifiedCurveSurfaceIntersectionOptions, CurveSurfaceParameterBox,
76 TransverseCurveSurfaceIntersection3,
77};
78pub use certified_projection::{
79 CertifiedProjectionOptions, CertifiedSurfaceProjection3, CertifiedSurfaceProjectionOptions,
80 CurveDistanceCertificate2, CurveDistanceCertificate3, CurvePairParameterBox,
81 CurveProjectionCertificate2, CurveProjectionCertificate3, ParameterInterval,
82 SurfaceParameterBox, SurfaceProjectionCertificate3, SurfaceProjectionUnresolvedReason,
83 MAX_CERTIFIED_SURFACE_PROJECTION_DEPTH, MAX_CERTIFIED_SURFACE_PROJECTION_WORK,
84};
85pub use certified_surface_arcs::{
86 audit_coverage, certify_surface_arcs, CertifiedRegion, CertifiedSurfaceArcs3,
87 CertifiedSurfaceArcsOptions, CoverageFault, RegionKind, MAX_AUDIT_DEPTH,
88};
89pub use certified_surface_inversion::{
90 invert_periodic_surface_certified, invert_surface_certified, SurfaceInversionCertificate3,
91 SurfaceInversionRefusal,
92};
93pub use certified_surface_projection::{
94 project_periodic_surface_certified, project_surface_certified,
95};
96pub use certified_surface_surface_intersection::{
97 intersect_surface_surface_certified, CertifiedSurfaceSurfaceIntersection3,
98 CertifiedSurfaceSurfaceIntersectionOptions, SurfaceSurfaceParameterBox,
99 SurfaceSurfaceTraceEndpoint3, TransverseSurfaceSurfaceTrace3,
100};
101pub use curve_analysis::{analyze_curve2, analyze_curve3, CurveDifferential2, CurveDifferential3};
102pub use curve_projection::{project_curve2, project_curve3};
103pub use degree::{
104 elevate_degree2, elevate_degree3, reduce_degree2, reduce_degree3, remove_knot2, remove_knot3,
105 BoundedResult,
106};
107pub use exact_curve_intersection::{
108 exact_curve_curve_intersection2, exact_curve_curve_intersection3,
109 exact_curve_surface_intersection, ExactCurveHit, ExactCurveIntersection, ExactCurveParameter,
110 ExactCurveRefusal, Isolated,
111};
112pub use exact_surface_intersection::{
113 exact_surface_intersection, Derivation, ExactIntersectionCurve, ExactIntersectionRefusal,
114};
115pub use fit::{interpolate_curve3, loft_surface};
116pub use implicit_ops::{
117 extract_stretch, implicit_view, section_curve_surface_intersection, trace_section_pcurves,
118};
119pub use implicit_section::{implicit_surface_intersection, section_field_of};
120pub use intersection_curve::{
121 construct_curve_surface_points, construct_surface_surface_curves,
122 ConstructedCurveSurfacePoint3, ConstructedIntersectionCurve3, IntersectionCurveRefusal,
123};
124pub use pair_trace::spline_pair_intersection;
125pub use periodic::{
126 curve2_seam_continuity, curve3_seam_continuity, wrap_curve2_parameter, wrap_curve3_parameter,
127 PeriodicCurve2, PeriodicCurve3, SeamContinuity,
128};
129pub use periodic_surface::PeriodicBSplineSurface;
130pub use projection::{
131 CurveProjection2, CurveProjection3, ProjectionOptions, ProjectionStatus, SurfaceProjection,
132};
133pub use section_curves::{
134 section_curve_curve_intersection2, section_curve_curve_intersection3, CurveCurveHit,
135};
136pub use surface_analysis::{analyze_surface, FundamentalForm, SurfaceDifferential};
137pub use surface_ops::{
138 elevate_surface_degree_u, elevate_surface_degree_v, iso_curve_at_u, iso_curve_at_v,
139 reduce_surface_degree_u, reduce_surface_degree_v, remove_surface_knot_u, remove_surface_knot_v,
140 BoundedSurface, SurfaceKnotRemoval,
141};
142pub use surface_projection::project_surface;
143pub use surface_transform::{
144 insert_surface_knot_u, insert_surface_knot_v, reverse_surface_u, reverse_surface_v,
145};
146pub use transform::{
147 bezier_segments2, bezier_segments3, insert_knot2, insert_knot3, reverse2, reverse3, split2,
148 split3,
149};