1mod bins;
11pub mod build;
12pub mod certify;
13mod chart_cross;
14pub mod check;
15pub mod classify;
16pub mod convert;
17mod cutoff;
18pub mod derived;
19pub mod distance;
20pub mod extend;
21pub mod fit;
22pub mod history;
23pub mod length;
24pub mod mass;
25mod mass_chart;
26pub mod measure;
27pub mod medial;
28pub mod medial_graph;
29pub mod mesh_solid;
30pub mod network;
31pub mod orient;
32pub mod out_and_back;
33pub mod outline;
34pub mod pcurve_fit;
35pub mod pcurve_gap;
36pub mod place;
37pub mod pole;
38pub mod primitive;
39pub mod project_plane;
40pub mod proximity;
41pub mod recognize;
42mod recognize_patch;
43mod recognize_swept;
44pub mod register;
45mod seam_columns;
46pub mod segments_2d;
47mod self_cross;
48pub mod sew;
49pub mod sheet;
50mod sheet_flat;
51pub mod sweep;
52pub mod text;
53pub mod thickness;
54pub mod tight;
55pub mod traced;
56pub mod volume_difference;
57mod winding;
58
59pub use build::{
60 attach_pcurve, attach_seam, belted_wire, chain_wire_branches, closed_at_poles,
61 covers_whole_surface, edge_vertices, edges_turn, find_plane, is_shell_closed, is_wire_closed,
62 make_apex_band, make_band_between, make_band_of_rings, make_compound, make_compsolid,
63 make_edge, make_edge_between, make_face, make_face_on, make_face_with_pcurves,
64 make_natural_face, make_polygon, make_profile_revolution_band, make_revolution_band,
65 make_shell, make_solid, make_vertex, make_wire, placed_edge_curve, rings_are_parallels,
66 split_ring_on_column, surface_iso_u_curve, trimmed_or_fitted_where_bare,
67};
68pub use certify::{HalfSpaces, Uncertified, certify_face_within};
69pub use chart_cross::{ChartCrossing, chart_crossings};
70pub use check::{
71 Diagnosis, Problem, Severity, chart_breaks, check, check_kept, check_self_intersection,
72 check_self_intersection_near, check_tessellation, inside_out_faces, inside_out_faces_kept,
73 restore_containment,
74};
75pub use classify::{
76 Containment, ProbeCache, SolidBoundary, SolidMesh, classify_in_solid, classify_in_solid_exact,
77 classify_in_solid_exact_banded, classify_on_face,
78};
79pub use convert::{
80 CurveRestatement, SurfaceRestatement, baked_shape, baked_where_placed,
81 general_transformed_shape, normals_oppose, restate_geometry, to_nurbs, to_nurbs_within,
82};
83pub use cutoff::Cutoff;
84pub use extend::{Extension, extend_face};
85pub use fit::{Spacing, approximate, approximate_within, interpolate};
86pub use history::{Built, History, on_own_nodes, on_own_nodes_with, unshare};
87pub use length::{curve_length, parameter_at_length, points_by_count, points_by_spacing};
88pub use mass::{MassProperties, linear_properties, surface_properties, volume_properties};
89pub use measure::{
90 Obb, Projection, SurfaceProjection, SurfaceSeeds, curve_bounds, face_normal, oriented_bounds,
91 project_on_curve, project_on_planar_curve, project_on_surface, project_on_surface_from,
92 relative_deflection, shape_bounds, surface_bounds, vertex_bounds, widened_to_hold,
93};
94pub use medial::{MedialAxis, medial_axis};
95pub use medial_graph::{MedialBranch, MedialGraph, MedialSite, MedialVertex, medial_graph};
96pub use mesh_solid::{
97 FallbackReason, FitConstraints, MeshRegion, MeshRegions, MeshSolid, MeshSolidOptions,
98 MeshSolidReport, RegionFallback, RegionId, RegionRefusal, SurfaceKind, refine_solid,
99 single_precision_quantum, solid_from_mesh,
100};
101pub use network::{
102 Across, ChainedPatch, CurveDef, IrregularCorner, LoopSide, Network, NetworkOptions, PatchDef,
103 PatchFit, PatchSide, fit_loop_quads, fit_network, fit_network_chained,
104};
105pub use out_and_back::{
106 Notch, OutAndBack, edge_uses, is_tail, notch_of, out_and_back, placed_edge_uses,
107};
108pub use outline::{Outline, Piece2, Wire2d, fit_outline};
109pub use pcurve_gap::{
110 edge_pcurve_gap, edges_apart, pcurve_gap, state_pcurve_gaps, state_pcurve_gaps_of,
111};
112pub use place::{copied, transformed};
113pub use pole::pole_crossings;
114pub use primitive::{
115 make_box, make_cone, make_cylinder, make_faceted_solid, make_faceted_solid_with_holes,
116 make_half_space, make_hexahedron, make_parallelepiped, make_polyhedron, make_sphere,
117 make_torus, make_wedge, torus_face_seamed_at,
118};
119pub use project_plane::{ProjectedCurve, project_edge_onto_plane};
120pub use proximity::{ClosestPair, PointDistance, ShapeDistance, distance_between_shapes};
121pub use recognize::{Canonical, Recognized, recognize_points};
122pub use seam_columns::join_seam_columns;
123pub use segments_2d::{Segment2, Segments, fit_segments_2d};
124pub use self_cross::{SelfCrossing, self_crossings};
125pub use sew::{
126 Agreement, Sewn, agreeing_orientation, make_wire_unordered, order_edges, sew, sew_around,
127 sew_around_within, sew_within,
128};
129pub use sheet::{SheetDistortion, SheetMethod, SheetPlacement, SurfaceSheet};
130pub use sweep::{make_prism, make_prism_tapered, make_revolution};
131pub use text::make_text;
132pub use thickness::{Thickness, thickness, thickness_of_shape};
133pub use tight::{face_bounds, tight_bounds};
134pub use volume_difference::{Form, Material, Region, volume_difference};