Make TranslateExt implementation more flexible

This commit is contained in:
Hanno Braun 2025-02-12 20:52:41 +01:00
parent 998d19ceee
commit ab0308ad80

View File

@ -11,13 +11,17 @@ pub trait TranslateExt {
fn translate(self, offset: impl Into<Vector<3>>) -> Translate; fn translate(self, offset: impl Into<Vector<3>>) -> Translate;
} }
impl TranslateExt for Handle<Face> { impl<T> TranslateExt for &T
where
T: OperationOutput<Face>,
{
fn translate(self, offset: impl Into<Vector<3>>) -> Translate { fn translate(self, offset: impl Into<Vector<3>>) -> Translate {
let offset = offset.into(); let offset = offset.into();
let output = Handle::new(Face::new( let output = Handle::new(Face::new(
self.surface().translate(offset), self.output().surface().translate(offset),
self.vertices() self.output()
.vertices()
.map(|vertex| Handle::new(vertex.translate(offset))), .map(|vertex| Handle::new(vertex.translate(offset))),
)); ));