fn petrie_polygon_with(&mut self, flag: Flag) -> Option<Self> {
        let vertices = self.abs.petrie_polygon_vertices(flag)?;
        let n = vertices.len();

        Some(Self::new(
            vertices
                .into_iter()
                .map(|idx| self.vertices[idx].clone())
                .collect(),
            Abstract::polygon(n),
        ))
    }
/// Builds the Petrie polygon of a polytope from a given flag, or returns
/// `None` if it's invalid.
Builds the Petrie polygon of a polytope from a given flag, or returns
`None` if it's invalid.
Builds the Petrie polygon of a polytope from a given flag or returns ` None ` if it ' s invalid .
fn petrie_polygon_with(&mut self, flag: Flag) -> Option<Self> {
        let vertices = self.abs.petrie_polygon_vertices(flag)?;
        let n = vertices.len();
        Some(Self::new(
            vertices
                .into_iter()
                .map(|idx| self.vertices[idx].clone())
                .collect(),
            Abstract::polygon(n),
        ))
    }
fn petrie_polygon_with ( & mut self , flag : Flag ) -> Option < Self > { let vertices = self . abs . petrie_polygon_vertices ( flag ) ? ; let n = vertices . len ( ) ; Some ( Self :: new ( vertices . into_iter ( ) . map ( | idx | self . vertices [ idx ] . clone ( ) ) . collect ( ) , Abstract :: polygon ( n ) , ) ) }
Builds the Petrie polygon of a polytope from a given flag, or returns
`None` if it's invalid.
Builds the Petrie polygon of a polytope from a given flag or returns ` None ` if it ' s invalid .
&mut self
flag
Flag