BREP_RANSAC 0.1.2

Topology-aware analytic surface recognition for CAD triangle meshes
Documentation
use brep_ransac::{export_debug_obj, Mesh, RecognitionResult, Vec3};

#[test]
fn public_export_preserves_unassigned_input_geometry() {
    let mesh = Mesh::new(
        vec![Vec3::ZERO, Vec3::X, Vec3::Y, Vec3::Z],
        vec![[0, 1, 2], [0, 3, 1]],
    );
    let export = export_debug_obj(
        &mesh,
        &RecognitionResult {
            regions: Vec::new(),
            unresolved_triangles: vec![0],
            unresolved_diagnostics: Vec::new(),
        },
    )
    .unwrap();

    assert!(export.obj.starts_with("# cadmesh-analytic"));
    assert!(export.obj.contains("mtllib analytic_regions.mtl"));
    assert!(export.obj.contains("g unresolved"));
    assert!(export.obj.contains("g unassigned"));
    assert!(export.obj.contains("f 1 2 3"));
    assert!(export.obj.contains("f 1 4 2"));
    assert!(export.mtl.contains("Kd 0.550 0.550 0.550"));
}