Units / surface
surface.surface_point_solve_p3 green
- Layer
- 34
- Upstream lines
- 1,282
- Functions
- 5
- Rust module
surface::surface_point_solve::p3
Source: crates/solidcore/src/surface/surface_point_solve/p3.rs
Upstream: source/SMLib/src/SmSurfacePointSolve.cpp
Notes
PARTIAL: native difftest 1365 cases, 1235 pass, 130 deferred, 0 failed, max_rel_err=0.0; deferred: surface.surface_p3 96, surface.surface_p8 34; no absolute floors. 134 fixture cases, 15 upstream Surface.sms points, 1216 fixed-seed generated. Ports all five assigned functions, including the upstream-disabled CheckCrease; exact geometry evaluation copies with a 64-level owned-geometry bound, analytic/STEP/revolution iso curves, and sweep-only STEP derivatives. PR #106 review fixes tolerant left-operand seam comparison (2 formerly failing regressions plus 4 threshold controls), adds 36 STEP-wrapped sphere/torus/cone-shaped revolution pole/seam cases, integrates latest p4/p5 back-edges and threads caller Kernel through local/drop/patch solves. PR #106; 5 fns; largest: SmSurfPtSolveStepper::FindNextStep, SmSurfPtSolveStepper::CheckCrease, SmSurface::LocalPointSolve_1, SmSurfPtSolveStepper::FindBoundarySolution; unit-SCC #22 (220 units); 317 upstream test entry points reach this unit Re-run after merging PR #106 (surface.surface_point_solve_p3 wired, 2026-10-15): 1365 cases, 1331 pass, 34 deferred (surface.surface_p8 34), 0 failed, max_rel_err 0. Re-run after wiring PR #118 (surface.surface_p8 and its back-edges, GlobalPointSolve_0 included): 1365 cases, 1365 pass, 0 deferred, 0 failed, max_rel_err 0; green.
Difftest
- Cases
- 1,365
- Passed
- 1,365
- Deferred
- 0
- Failed
- 0
- Both errored
- 0
- Max rel. error
- 0.0
- Tolerance
- 1e-09 rel.
- Seeds
- 16
Blocked by
Nothing: no deferred cases.
Report JSON (per-case results)
Dependencies
Depends on: geom.extent1d green geom.extent2d green geom.object partial geom.vector2d green geom.vector3d green nurbs.b_spline_surface_p1 green surface.surface_p1 partial surface.surface_p2 partial surface.surface_p4 green surface.surface_point_solve_p1 green surface.surface_point_solve_p2 green
Soft dependencies: curve.curve_p3 green curve.curve_p5 partial curve.iso_curve green geom.solution_array partial geom.tol green
Dependents: audit.recursion todo
Soft dependents: none
Upstream functions
| Upstream function | Defined at | Lines | Rust (from the file header) |
|---|---|---|---|
SmSurface::GlobalPointSolve_1 | SmSurfacePointSolve.cpp:3151 | 21 | [Surface::global_point_solve_1] |
SmSurfPtSolveStepper::FindBoundarySolution | SmSurfacePointSolve.cpp:4459 | 212 | [SurfPtSolveStepper::find_boundary_solution] |
SmSurfPtSolveStepper::CheckCrease | SmSurfacePointSolve.cpp:4799 | 358 | [SurfPtSolveStepper::check_crease] |
SmSurfPtSolveStepper::FindNextStep | SmSurfacePointSolve.cpp:5184 | 405 | [SurfPtSolveStepper::find_next_step] |
SmSurface::LocalPointSolve_1 | SmSurfacePointSolve.cpp:5683 | 286 | [Surface::local_point_solve_1] |
Module file-header table (5 rows)
| Rust | Upstream |
|---|---|
[Surface::global_point_solve_1] | SmSurface::GlobalPointSolve_1 |
[Surface::local_point_solve_1] | SmSurface::LocalPointSolve_1 |
[SurfPtSolveStepper::find_boundary_solution] | FindBoundarySolution |
[SurfPtSolveStepper::check_crease] | CheckCrease |
[SurfPtSolveStepper::find_next_step] | FindNextStep |
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