From 0451a07b069ffac19d0e18bbce328007b014e37b Mon Sep 17 00:00:00 2001 From: Hanno Braun Date: Thu, 24 Apr 2025 11:12:50 +0200 Subject: [PATCH] Add `AbsoluteCurveGeometry::translate` --- experiments/2025-03-18/src/geometry/curve.rs | 8 ++++++++ experiments/2025-03-18/src/geometry/swept_curve.rs | 4 +--- experiments/2025-03-18/src/operations/translate.rs | 5 +---- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/experiments/2025-03-18/src/geometry/curve.rs b/experiments/2025-03-18/src/geometry/curve.rs index ede30c24f..cb8bdf71d 100644 --- a/experiments/2025-03-18/src/geometry/curve.rs +++ b/experiments/2025-03-18/src/geometry/curve.rs @@ -5,6 +5,14 @@ pub struct AbsoluteCurveGeometry { pub geometry: Box, } +impl AbsoluteCurveGeometry { + pub fn translate(&self, offset: impl Into>) -> Self { + Self { + geometry: self.geometry.translate(offset.into()), + } + } +} + impl Clone for AbsoluteCurveGeometry { fn clone(&self) -> Self { Self { diff --git a/experiments/2025-03-18/src/geometry/swept_curve.rs b/experiments/2025-03-18/src/geometry/swept_curve.rs index 90c334aa8..a51144d04 100644 --- a/experiments/2025-03-18/src/geometry/swept_curve.rs +++ b/experiments/2025-03-18/src/geometry/swept_curve.rs @@ -61,9 +61,7 @@ impl SweptCurve { pub fn translate(&self, offset: impl Into>) -> Self { Self { - curve: AbsoluteCurveGeometry { - geometry: self.curve.geometry.translate(offset.into()), - }, + curve: self.curve.translate(offset.into()), path: self.path, } } diff --git a/experiments/2025-03-18/src/operations/translate.rs b/experiments/2025-03-18/src/operations/translate.rs index f4f5986ad..ef81e0b6c 100644 --- a/experiments/2025-03-18/src/operations/translate.rs +++ b/experiments/2025-03-18/src/operations/translate.rs @@ -1,7 +1,6 @@ use fj_math::Vector; use crate::{ - geometry::AbsoluteCurveGeometry, handle::Handle, topology::{ curve::Curve, face::Face, half_edge::HalfEdge, surface::Surface, @@ -16,9 +15,7 @@ pub trait TranslateExt { impl TranslateExt for Curve { fn translate(&self, offset: impl Into>) -> Self { let offset = offset.into(); - let geometry = AbsoluteCurveGeometry { - geometry: self.geometry.geometry.translate(offset), - }; + let geometry = self.geometry.translate(offset); Curve { geometry } } }