Units / intersect
intersect.curve_class_p6 partial
- Layer
- 35
- Upstream lines
- 2,213
- Functions
- 4
- Rust module
intersect::curve_class::p6
Source: crates/solidcore/src/intersect/curve_class/p6.rs
Upstream: source/SMLib/src/SmCurveClass.cpp
Notes
PR #138: partial; 4438 cases, 3933 passes (3927 bit-identical kernel comparisons and 6 expected FFI rejection checks), 0 failures, 505 deferred, no absolute floors. InsertCurveInterval, Homogenize and FixEndPointClass preserve upstream control flow with p2/p4/p7 dependency calls; MergeInterval implements early exits only and defers topology mutation at p2 GetPointObjZoneTol3d. Native fixtures use real 3D lines, circles, ellipses, quadratic and constant B-splines plus box topology. Nonempty homogenization/endpoint repair and topology mutation are not certified; generic topology tolerance lookups also retain existing adapter deferrals. Native regression tests run locally: 27440 isolated operation/geometry/flag/classification probes, 96 partition/SSS/boundary probes, 660 mismatched fillet-partner probes checking Rust and raw C++ guards independently, caller-point and projection regressions; project CI unchanged. Audit reuses p1 types and p3 helpers; p2/p4/p7 remain explicit dependencies, with no duplicate co-ports. Maintainer review: require homogenized partner counts for fillet merges (UB-136); reuse p3 boundary-location helper; ignore ordinary squeeze errors while retaining the no-progress guard (HANG-14). 4 fns; largest: SmCurveClassification::MergeInterval, SmCurveClassification::InsertCurveInterval, SmCurveClassification::Homogenize, SmCurveClassification::FixEndPointClass; cycle back-edges (call into later units; stub or co-port): topology.edge(5), topology.vertex(5), topology.face_p4(2), topology.brep_p3(1), topology.brep_p5(1), topology.brep_p9(1), topology.edgeuse_p1(1), topology.face_p2(1), topology.vertexuse(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit Merge of PR #65: AreCoincidentMaybe wired to p7; difftest now 4438 cases, 4097 passed, 0 failed, 341 deferred.
Difftest
- Cases
- 4,438
- Passed
- 4,097
- Deferred
- 341
- Failed
- 0
- Both errored
- 6
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
intersect.curve_class_p2 claimed | 271 |
topology.edge partial | 40 |
topology.face_p2 partial | 20 |
intersect.curve_class_p7 partial | 10 |
Report JSON (per-case results)
Dependencies
Depends on: curve.curve_p2 green geom.extent1d green geom.object partial geom.tol green geom.vector3d green intersect.curve_class_p1 partial intersect.curve_class_p2 claimed intersect.curve_class_p3 partial intersect.curve_class_p4 claimed intersect.curve_class_p7 partial intersect.point_class partial
Soft dependencies: curve.crv_on_surf partial curve.curve_p6 green nurbs.b_spline_curve_n_lib green
Dependents: intersect.curve_class_p5 partial
Soft dependents: boolean.topology_intersector_p1 partial boolean.topology_intersector_p3 claimed
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmCurveClassification::Homogenize | SmCurveClass.cpp:6215 | 328 | [CurveClassification::homogenize] |
SmCurveClassification::InsertCurveInterval | SmCurveClass.cpp:10441 | 577 | [CurveClassification::insert_curve_interval] |
SmCurveClassification::FixEndPointClass | SmCurveClass.cpp:14218 | 243 | [CurveClassification::fix_end_point_class] |
SmCurveClassification::MergeInterval | SmCurveClass.cpp:17212 | 1065 | [CurveClassification::merge_interval] |
Module file-header table (4 rows)
| Rust | Upstream |
|---|---|
[CurveClassification::homogenize] | SmCurveClassification::Homogenize |
[CurveClassification::insert_curve_interval] | SmCurveClassification::InsertCurveInterval |
[CurveClassification::fix_end_point_class] | SmCurveClassification::FixEndPointClass |
[CurveClassification::merge_interval] | SmCurveClassification::MergeInterval |
Upstream tests reaching this unit
prog_test:my_test_surface_closest_point, prog_test:my_test_drop_point, prog_test:my_test_matrix, prog_test:my_test_reversed_line_join, SM_API_test:TestSmCreateRectangle, SM_API_test:TestSmCreateRegularPolygon