Prepare for follow-on change

This commit is contained in:
Hanno Braun 2024-06-21 20:40:42 +02:00
parent 77183637a3
commit 93be464872

View File

@ -26,6 +26,24 @@ impl Approx for (&Handle<Curve>, &Handle<Surface>, CurveBoundary<Point<1>>) {
) -> Self::Approximation {
let (curve, surface, boundary) = self;
approx_curve_with_cache(
curve, surface, boundary, tolerance, cache, geometry,
)
}
}
/// Approximate the provided curve
///
/// The approximation is cached, and cached approximations are used, where
/// possible.
pub fn approx_curve_with_cache(
curve: &Handle<Curve>,
surface: &Handle<Surface>,
boundary: CurveBoundary<Point<1>>,
tolerance: impl Into<Tolerance>,
cache: &mut CurveApproxCache,
geometry: &Geometry,
) -> CurveApprox {
match cache.get(curve, boundary) {
Some(approx) => approx,
None => {
@ -44,7 +62,6 @@ impl Approx for (&Handle<Curve>, &Handle<Surface>, CurveBoundary<Point<1>>) {
cache.insert(curve.clone(), boundary, approx)
}
}
}
}
fn approx_curve(