1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
use fj_math::Transform;
use crate::{
objects::{Objects, Solid},
services::Service,
storage::Handle,
};
use super::TransformObject;
impl TransformObject for Handle<Solid> {
fn transform(
self,
transform: &Transform,
objects: &mut Service<Objects>,
) -> Self {
let faces = self
.shells()
.cloned()
.map(|shell| shell.transform(transform, objects));
Solid::builder().with_shells(faces).build(objects)
}
}