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