Commit Graph

2 Commits

Author SHA1 Message Date
bherbruck b69d872a0b port: SmSurfOfExtrusion::AssertValid
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-10-29 16:22:06 -04:00
Brett Lawson 0124471820 port: SmSurface::AssertValid and the B-spline/analytic surface checks
Ports the virtual SmSurface::AssertValid (sm_AssertTestSurface1/4/5/6) with the
SmBSplineSurface, SmPlane, SmCone, SmCylinder, SmSphere, SmTorus,
SmSurfOfRevolution and SmAxis2Placement checks and their helpers into
surface::surface::assert_valid, as the new unit surface.surface_assert_valid.
Adds AssertArray::find_report/remove_at and calculate_continuities_reached
(the minimum continuity reached when CalculateContinuities fails part-way).

Difftest against the real C++ surfaces: 1500 cases, 1428 pass, 72 rejected,
0 deferred. Regression tests for each valid kind and each corruption's exact
upstream test number and message. Finding recorded for iso curves at a knot
of multiplicity above the degree.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MNXLXj2sJf943y2dDF36Vy
2026-10-29 07:59:22 +01:00