solidcore

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 functionDefined atLinesRust (from the file header)
SmSurface::GlobalPointSolve_1SmSurfacePointSolve.cpp:315121[Surface::global_point_solve_1]
SmSurfPtSolveStepper::FindBoundarySolutionSmSurfacePointSolve.cpp:4459212[SurfPtSolveStepper::find_boundary_solution]
SmSurfPtSolveStepper::CheckCreaseSmSurfacePointSolve.cpp:4799358[SurfPtSolveStepper::check_crease]
SmSurfPtSolveStepper::FindNextStepSmSurfacePointSolve.cpp:5184405[SurfPtSolveStepper::find_next_step]
SmSurface::LocalPointSolve_1SmSurfacePointSolve.cpp:5683286[Surface::local_point_solve_1]
Module file-header table (5 rows)
RustUpstream
[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