pub fn load(&self) -> Concrete {
        match *self {
            // Loads a regular star polygon.
            Self::Polygon(n, d) => Concrete::star_polygon(n, d),

            // Loads a uniform polygonal prism.
            Self::Prism(n, d) => Concrete::uniform_prism(n, d),

            // Loads a uniform polygonal antiprism.
            Self::Antiprism(n, d) => Concrete::uniform_antiprism(n, d),

            // Loads a (uniform 4D) duoprism.
            Self::Duoprism(n1, d1, n2, d2) => {
                let p1 = Concrete::star_polygon_with_edge(n1, d1, 1.0);

                // Avoids duplicate work if possible.
                if n1 == n2 && d1 == d2 {
                    Concrete::duoprism(&p1, &p1)
                } else {
                    let p2 = Concrete::star_polygon_with_edge(n2, d2, 1.0);
                    Concrete::duoprism(&p1, &p2)
                }
            }

            // Loads a uniform polygonal antiprism.
            Self::AntiprismPrism(n, d) => Concrete::uniform_antiprism(n, d).prism(),

            // Loads a simplex with a given rank.
            Self::Simplex(rank) => Concrete::simplex((rank + 1) as usize),

            // Loads a hypercube with a given rank.
            Self::Hypercube(rank) => Concrete::hypercube((rank + 1) as usize),

            // Loads an orthoplex with a given rank.
            Self::Orthoplex(rank) => Concrete::orthoplex((rank + 1) as usize),
        }
    }
/// Loads the given special polytope from the library.
Loads the given special polytope from the library.
Loads the given special polytope from the library .
pub fn load(&self) -> Concrete {
        match *self {
            // Loads a regular star polygon.
            Self::Polygon(n, d) => Concrete::star_polygon(n, d),
            // Loads a uniform polygonal prism.
            Self::Prism(n, d) => Concrete::uniform_prism(n, d),
            // Loads a uniform polygonal antiprism.
            Self::Antiprism(n, d) => Concrete::uniform_antiprism(n, d),
            // Loads a (uniform 4D) duoprism.
            Self::Duoprism(n1, d1, n2, d2) => {
                let p1 = Concrete::star_polygon_with_edge(n1, d1, 1.0);
                // Avoids duplicate work if possible.
                if n1 == n2 && d1 == d2 {
                    Concrete::duoprism(&p1, &p1)
                } else {
                    let p2 = Concrete::star_polygon_with_edge(n2, d2, 1.0);
                    Concrete::duoprism(&p1, &p2)
                }
            }
            // Loads a uniform polygonal antiprism.
            Self::AntiprismPrism(n, d) => Concrete::uniform_antiprism(n, d).prism(),
            // Loads a simplex with a given rank.
            Self::Simplex(rank) => Concrete::simplex((rank + 1) as usize),
            // Loads a hypercube with a given rank.
            Self::Hypercube(rank) => Concrete::hypercube((rank + 1) as usize),
            // Loads an orthoplex with a given rank.
            Self::Orthoplex(rank) => Concrete::orthoplex((rank + 1) as usize),
        }
    }
pub fn load ( & self ) -> Concrete { match * self { // Loads a regular star polygon. Self :: Polygon ( n , d ) => Concrete :: star_polygon ( n , d ) , // Loads a uniform polygonal prism. Self :: Prism ( n , d ) => Concrete :: uniform_prism ( n , d ) , // Loads a uniform polygonal antiprism. Self :: Antiprism ( n , d ) => Concrete :: uniform_antiprism ( n , d ) , // Loads a (uniform 4D) duoprism. Self :: Duoprism ( n1 , d1 , n2 , d2 ) => { let p1 = Concrete :: star_polygon_with_edge ( n1 , d1 , 1.0 ) ; // Avoids duplicate work if possible. if n1 == n2 && d1 == d2 { Concrete :: duoprism ( & p1 , & p1 ) } else { let p2 = Concrete :: star_polygon_with_edge ( n2 , d2 , 1.0 ) ; Concrete :: duoprism ( & p1 , & p2 ) } } // Loads a uniform polygonal antiprism. Self :: AntiprismPrism ( n , d ) => Concrete :: uniform_antiprism ( n , d ) . prism ( ) , // Loads a simplex with a given rank. Self :: Simplex ( rank ) => Concrete :: simplex ( ( rank + 1 ) as usize ) , // Loads a hypercube with a given rank. Self :: Hypercube ( rank ) => Concrete :: hypercube ( ( rank + 1 ) as usize ) , // Loads an orthoplex with a given rank. Self :: Orthoplex ( rank ) => Concrete :: orthoplex ( ( rank + 1 ) as usize ) , } }
Loads the given special polytope from the library.
Loads the given special polytope from the library .
&self
&self