Units / intersect
intersect.curve_class_p9 partial
- Layer
- 37
- Upstream lines
- 1,220
- Functions
- 2
- Rust module
intersect::curve_class::p9
Source: crates/solidcore/src/intersect/curve_class/p9.rs
Upstream: source/SMLib/src/SmCurveClass.cpp
Notes
PARTIAL (PR #151; review rerun at numerical checkpoint df4756ac): 425 Linux differential cases (41 fixtures + 384 generated), 226 pass, 197 deferred (intersect.curve_class_p2 163, curve.crv_on_surf 24, intersect.curve_class_p4 10), 2 native setup rejections, zero failures, max_rel_err 0, no floors. FindUVNodes uses upstream FALSE pole default; collapsed/v-split caches and positive endpoint classification are covered. Required topology handles share ClassGeometry with landed part 5; both query back-edges call real p9 methods. Interior partition insertion and earlier query ReSet remain deferred; uncached edge-loop UV reaches topology.edgeuse_p3. Nonzero edge/face gap integration has a Rust threshold regression only. No open dependency PR is bundled. Final PR checks validate later ignored-UV-status and exact pole-predicate follow-ups. Op 1 state 2 (cache flagged modified) runs with the shim Brep in edit mode so the cache is used as given: with editing off SmCacheMgrTSrf rebuilds it first (cache units), which fails on a loopless face (fuzz regression). See plan/findings.md for coverage and seed handoff. 2 fns; largest: SmCurveClassification::IntersectTSBound, SmCurveClassification::IntersectEdges; cycle back-edges (call into later units; stub or co-port): topology.edge(5), topology.edgeuse_p1(4), topology.face_p2(3), topology.loopuse(2), topology.topology(2), topology.vertexuse(2), heal.gap(1), topology.edgeuse_p3(1), topology.vertex(1); unit-SCC #22 (220 units); 317 upstream test entry points reach this unit
Difftest
- Cases
- 425
- Passed
- 226
- Deferred
- 197
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
intersect.curve_class_p2 claimed | 163 |
curve.crv_on_surf partial | 24 |
intersect.curve_class_p4 claimed | 10 |
Report JSON (per-case results)
Dependencies
Depends on: curve.crv_on_surf partial geom.extent1d green geom.object partial geom.solution_array partial geom.tol green geom.vector3d green intersect.curve_class_p1 partial intersect.curve_class_p3 partial intersect.curve_class_p5 partial intersect.point_class partial surface.surface_p2 partial
Soft dependencies: curve.curve_cache green curve.curve_p2 green curve.curve_p6 green curve.curve_p8 green geom.a_object partial geom.context green geom.extent2d green geom.tree partial geom.vector2d green nurbs.b_spline_curve_p1 green surface.surface_cache_p1 green surface.surface_cache_p3 partial surface.surface_p5 green
Dependents: none
Soft dependents: query.face_p2 partial
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmCurveClassification::IntersectEdges | SmCurveClass.cpp:15270 | 523 | [CurveClassification::intersect_edges] |
SmCurveClassification::IntersectTSBound | SmCurveClass.cpp:15824 | 697 | [CurveClassification::intersect_ts_bound] |
Module file-header table (2 rows)
| Rust | Upstream |
|---|---|
[CurveClassification::intersect_edges] | SmCurveClassification::IntersectEdges |
[CurveClassification::intersect_ts_bound] | SmCurveClassification::IntersectTSBound |
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