fj_kernel/objects/full/
shell.rs1use crate::{
2 objects::{Face, FaceSet},
3 storage::Handle,
4};
5
6#[derive(Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)]
13pub struct Shell {
14 faces: FaceSet,
15}
16
17impl Shell {
18 pub fn new(faces: impl IntoIterator<Item = Handle<Face>>) -> Self {
20 Self {
21 faces: faces.into_iter().collect(),
22 }
23 }
24
25 pub fn faces(&self) -> &FaceSet {
27 &self.faces
28 }
29
30 pub fn find_face(&self, face: &Handle<Face>) -> Option<Handle<Face>> {
32 self.faces().find(face)
33 }
34}