1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
use fj_math::Transform;

use crate::{
    objects::{Objects, Solid},
    storage::Handle,
};

use super::TransformObject;

impl TransformObject for Handle<Solid> {
    fn transform(self, transform: &Transform, objects: &Objects) -> Self {
        let faces = self
            .shells()
            .cloned()
            .map(|shell| shell.transform(transform, objects));
        Solid::builder(objects).with_shells(faces).build()
    }
}