Skip to main content

brep_ransac/
lib.rs

1//! Clean-room, topology-aware analytic surface recognition for CAD meshes.
2//!
3//! This crate is a pure geometry leaf. It does not parse or write STEP, call
4//! subprocess oracles, download corpora, or depend on a BREP kernel.
5
6mod debug_export;
7mod design_intent;
8mod error;
9mod fit;
10mod math;
11mod mesh;
12mod numerical;
13mod options;
14mod recognize;
15mod surface;
16
17// BREP private tests: synthetic-geometry
18
19pub use debug_export::{export_debug_obj, DebugObjExport};
20pub use design_intent::{
21    constrain_concentric_centers, constrain_cylinder_coaxial, constrain_equal_radii,
22    constrain_plane_perpendicular_to_axis, constrain_planes_coplanar, constrain_planes_parallel,
23    constrain_planes_perpendicular, constrain_shared_axis, constrain_tangent, DesignIntentError,
24};
25pub use error::RecognitionError;
26pub use math::Vec3;
27pub use mesh::{AnalyzedMesh, Mesh, MeshAnalysisOptions, SourceMetadata, TriangleData};
28pub use options::{RecognitionOptions, SamplingMode};
29pub use recognize::{
30    recognize_surfaces, recognize_surfaces_with_unresolved, reconstruct_analyzed,
31    reconstruct_surface, reconstruct_surface_from_vertices,
32};
33pub use surface::{
34    AnalyticSurface, ConeSurface, ConstraintMask, CylinderSurface, FitDiagnostics, FitMetrics,
35    FitPath, GeometricError, MetadataTrust, PhaseTimings, PlaneSurface, RecognitionResult,
36    SphereSurface, SurfaceConstraints, SurfaceFitResult, SurfaceHint, SurfaceParameterDelta,
37    SurfaceRegion, SurfaceType, TorusSurface, UnresolvedRegionDiagnostic,
38};