Commit Graph

1 Commits

Author SHA1 Message Date
bherbruck 47758968de surface.volume_p1: port SmVolume base class, lifts and ConcatEvals
Volume (kind enum: plain SmVolume, SmTransform, stand-ins for the unported
B-spline/bend/unbend/twist volumes) with orient and next maps: compound
Evaluate/Map/Orient through the chain rule, domain predicates, Transform,
copies, equality, discontinuities, SmFindPVIntersectENFO and the
smvol_Lift*Derivative / smvol_ConcatEvals helpers. Shim, ffi, runner and
886 fixture cases; difftest partial (2886 cases, 99 deferred on
surface.twist_volume / surface.unbend_volume), max_rel_err 0.

Wired UNPORTED(surface.volume_p1) stubs: curve.crv_in_volume now uses the
real Volume (deferred 604 -> 208), geom.transform IsKindOf and
SmDiscontinuities3d::Init (deferred 256 -> 3), geom.tol
GetScaledZero(const SmVolume&).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01V8ohWGLCzFPoZriCeSSero
2026-10-12 22:56:19 -04:00