pub fn rejoin_cell(&mut self, p0: &Point3<i32>) {
        let a0 = self
            .atoms
            .get(p0.coords)
            .map(|a| a.to_set())
            .unwrap_or_else(VertexSet::new);
        for axis in Axis::generator() {
            let p1 = p0 + axis.to_offset();
            let opp = axis.opposite();
            let mut f0 = Face::new(a0, axis);
            let mut f1 = self
                .atoms
                .get(p1.coords)
                .map_or_else(|| Face::empty(opp), |a1| Face::new(a1.to_set(), opp));
            f0.join(&mut f1);

            if let Some(c0) = self.hulls.get_mut(p0.coords) {
                c0.exterior_mut().set_face(f0);
            }

            if let Some(c1) = self.hulls.get_mut(p1.coords) {
                c1.exterior_mut().set_face(f1);
            }
        }
    }
/// Recalculate the join on all axes of this cell.
Recalculate the join on all axes of this cell.
Recalculate the join on all axes of this cell .
pub fn rejoin_cell(&mut self, p0: &Point3<i32>) {
        let a0 = self
            .atoms
            .get(p0.coords)
            .map(|a| a.to_set())
            .unwrap_or_else(VertexSet::new);
        for axis in Axis::generator() {
            let p1 = p0 + axis.to_offset();
            let opp = axis.opposite();
            let mut f0 = Face::new(a0, axis);
            let mut f1 = self
                .atoms
                .get(p1.coords)
                .map_or_else(|| Face::empty(opp), |a1| Face::new(a1.to_set(), opp));
            f0.join(&mut f1);
            if let Some(c0) = self.hulls.get_mut(p0.coords) {
                c0.exterior_mut().set_face(f0);
            }
            if let Some(c1) = self.hulls.get_mut(p1.coords) {
                c1.exterior_mut().set_face(f1);
            }
        }
    }
pub fn rejoin_cell ( & mut self , p0 : & Point3 < i32 > ) { let a0 = self . atoms . get ( p0 . coords ) . map ( | a | a . to_set ( ) ) . unwrap_or_else ( VertexSet :: new ) ; for axis in Axis :: generator ( ) { let p1 = p0 + axis . to_offset ( ) ; let opp = axis . opposite ( ) ; let mut f0 = Face :: new ( a0 , axis ) ; let mut f1 = self . atoms . get ( p1 . coords ) . map_or_else ( | | Face :: empty ( opp ) , | a1 | Face :: new ( a1 . to_set ( ) , opp ) ) ; f0 . join ( & mut f1 ) ; if let Some ( c0 ) = self . hulls . get_mut ( p0 . coords ) { c0 . exterior_mut ( ) . set_face ( f0 ) ; } if let Some ( c1 ) = self . hulls . get_mut ( p1 . coords ) { c1 . exterior_mut ( ) . set_face ( f1 ) ; } } }
Recalculate the join on all axes of this cell.
Recalculate the join on all axes of this cell .
&mut self
p0
&Point3<i32>
&mut self
p0
&Point3<i32>