pub fn intersect_analytic_analytic_bounded(
a: AnalyticSurface<'_>,
b: AnalyticSurface<'_>,
grid_res: usize,
v_range_hint_a: Option<(f64, f64)>,
v_range_hint_b: Option<(f64, f64)>,
) -> Result<Vec<IntersectionCurve>, MathError>Expand description
Intersect two analytic surfaces with optional v-range overrides.
When v_range_hint_a or v_range_hint_b is Some((min, max)), the
marching algorithm searches that v-range instead of the hardcoded default.
This is essential for cylinders and cones whose default v-range is small
(-1..1 or 0.01..2) but whose actual face may extend much further.
ยงErrors
Returns MathError if algebraic intersection fails or marching diverges.