1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
use crate::{
objects::{Cycle, Objects},
partial::{Partial, PartialFace},
services::Service,
};
/// Builder API for [`PartialFace`]
pub trait FaceBuilder {
/// Add an interior cycle
fn add_interior(
&mut self,
objects: &mut Service<Objects>,
) -> Partial<Cycle>;
}
impl FaceBuilder for PartialFace {
fn add_interior(
&mut self,
objects: &mut Service<Objects>,
) -> Partial<Cycle> {
let cycle = Partial::new(objects);
self.interiors.push(cycle.clone());
cycle
}
}