mirror of
https://github.com/hannobraun/Fornjot
synced 2025-02-26 17:15:52 +00:00
Prevent write access to faces of Shape
This commit is contained in:
parent
a932ce5fe8
commit
4d5a279f71
@ -10,12 +10,11 @@ use super::{
|
||||
};
|
||||
|
||||
/// The faces of a shape
|
||||
#[derive(Clone, Debug, Eq, PartialEq, Hash, Ord, PartialOrd)]
|
||||
pub struct Faces {
|
||||
pub(super) faces: FacesInner,
|
||||
pub struct Faces<'r> {
|
||||
pub(super) faces: &'r mut FacesInner,
|
||||
}
|
||||
|
||||
impl Faces {
|
||||
impl Faces<'_> {
|
||||
/// Add a face to the shape
|
||||
pub fn add(&mut self, face: Face) -> Handle<Face> {
|
||||
self.faces.push(face.clone());
|
||||
@ -39,7 +38,7 @@ impl Faces {
|
||||
out: &mut Vec<Triangle<3>>,
|
||||
debug_info: &mut DebugInfo,
|
||||
) {
|
||||
for face in &self.faces {
|
||||
for face in &*self.faces {
|
||||
face.triangles(tolerance, out, debug_info);
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ pub struct Shape {
|
||||
|
||||
vertices: VerticesInner,
|
||||
cycles: CyclesInner,
|
||||
faces: Faces,
|
||||
faces: FacesInner,
|
||||
}
|
||||
|
||||
impl Shape {
|
||||
@ -43,7 +43,7 @@ impl Shape {
|
||||
|
||||
vertices: VerticesInner::new(),
|
||||
cycles: CyclesInner::new(),
|
||||
faces: Faces { faces: Vec::new() },
|
||||
faces: FacesInner::new(),
|
||||
}
|
||||
}
|
||||
|
||||
@ -83,8 +83,10 @@ impl Shape {
|
||||
}
|
||||
|
||||
/// Access the shape's faces
|
||||
pub fn faces(&mut self) -> &mut Faces {
|
||||
&mut self.faces
|
||||
pub fn faces(&mut self) -> Faces {
|
||||
Faces {
|
||||
faces: &mut self.faces,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user