Units / intersect
intersect.surface_intersector_p2 partial
- Layer
- 33
- Upstream lines
- 1,677
- Functions
- 6
- Rust module
intersect::surface_intersector::p2
Source: crates/solidcore/src/intersect/surface_intersector/p2.rs
Upstream: source/SMLib/src/SmSurfaceIntersector.cpp
Notes
6 fns; largest: SmSurfaceIntersector::ClassifyBoundaryStartPointIntersection, SmSurfaceIntersector::ComputePointValues, SmSurfaceIntersector::DoBoundaryPlaneTest, SmSurfaceIntersector::FlushCurve; unit-SCC #22 (220 units); 150 upstream test entry points reach this unit; difftest PR #42: 1660 cases (1508 pass, 152 deferred: blend.fillet_executive_p1(11), surface.surface_p3(36), surface.surface_p5(105)); EvaluateNormal wired to surface.surface_p7; shim covers SmPlane, SmBSplineSurface, SmCurveBoundedSurface; fixtures from my_test_planar_section (shovel.srf) plus 38 + 105 review adversarial cases; FlushCurve unguarded (decreasing knots compare the CreateCanonical SM_ERR path); gap walk capped at MAX_GAP_SAMPLES (see plan/findings.md) Re-run with surface.surface_p5's back-edges wired (PR #50): cases=1660 passed=1508 failed=0 deferred=152 max_rel_err=0e0 blocked_by=blend.fillet_executive_p1(11),intersect.surface_intersector_p3(10),surface.surface_p3(131). Re-run (PR #52, after merging surface_p4/#49 and surface_p5/#50): 1660 cases, 1636 pass, 24 deferred (blend.fillet_executive_p1 12, surface.surface_point_solve_p3 12). Re-run after merging PR #106 (surface.surface_point_solve_p3 wired, 2026-10-15): 1660 cases, 1648 pass, 12 deferred (blend.fillet_executive_p1 12), 0 failed, max_rel_err 0.
Difftest
- Cases
- 1,660
- Passed
- 1,648
- Deferred
- 12
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
| Unported unit | Deferred cases |
|---|---|
blend.fillet_executive_p1 todo | 12 |
Report JSON (per-case results)
Dependencies
Depends on: curve.curve_p2 green geom.extent1d green geom.extent2d green geom.matrix green geom.solution_array partial geom.vector2d green geom.vector3d green intersect.surface_intersector_p1 partial nurbs.b_spline_curve_p1 green surface.surface_p2 partial
Soft dependencies: curve.curve_p8 green geom.extent3d green geom.object partial geom.tol green nurbs.b_spline_curve_n_lib green surface.surface_cache_p1 green surface.surface_cache_p2 partial surface.surface_p3 green surface.surface_p5 green surface.surface_p7 partial
Dependents: intersect.surface_intersector_p3 partial intersect.surface_intersector_p4 partial intersect.surface_intersector_p5 partial
Soft dependents: none
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmSurfaceIntersector::DoBoundaryPlaneTest | SmSurfaceIntersector.cpp:763 | 286 | [SurfaceIntersector::do_boundary_plane_test], [BoundaryPlaneTestResult] |
SmSurfaceIntersector::ComputePointValues | SmSurfaceIntersector.cpp:2443 | 458 | [SurfaceIntersector::compute_point_values] |
SmSurfaceIntersector::FlushCurve | SmSurfaceIntersector.cpp:5658 | 270 | [SurfaceIntersector::flush_curve], [TsectCurves] |
SmSurfaceIntersector::ComputeLawPointValues | SmSurfaceIntersector.cpp:7610 | 130 | [SurfaceIntersector::compute_law_point_values], [LawPointOptions] |
SmSurfaceIntersector::ClassifyBoundaryStartPointIntersection | SmSurfaceIntersector.cpp:8127 | 489 | [SurfaceIntersector::classify_boundary_start_point_intersection] |
sm_IsPointUnique | SmSurfaceIntersector.cpp:8655 | 44 | [is_point_unique] |
Module file-header table (6 rows)
| Rust | Upstream |
|---|---|
[SurfaceIntersector::do_boundary_plane_test], [BoundaryPlaneTestResult] | DoBoundaryPlaneTest, SmBoundaryPlaneTestResult |
[SurfaceIntersector::compute_point_values] | ComputePointValues |
[SurfaceIntersector::flush_curve], [TsectCurves] | FlushCurve and its output arrays |
[SurfaceIntersector::compute_law_point_values], [LawPointOptions] | ComputeLawPointValues |
[SurfaceIntersector::classify_boundary_start_point_intersection] | ClassifyBoundaryStartPointIntersection |
[is_point_unique] | sm_IsPointUnique (static) |
Upstream tests reaching this unit
prog_test:my_test_parallel_projection, prog_test:my_test_tsurf_projection, prog_test:my_test_surface_interface, prog_test:my_test_ssi, prog_test:my_test_tsurf_section, prog_test:my_test_planar_section