[−][src]Struct plexus::primitive::NGon
$n$-gon with fixed arity.
NGon
represents a polygonal structure as an array. Each array element
represents vertex data in order with neighboring elements being connected
by an implicit undirected edge. For example, an NGon
with three vertices
(NGon<[T; 3]>
) would represent a triangle (trigon). Generally these
elements are labeled $A$, $B$, $C$, etc.
NGon
s with less than three vertices are a degenerate case. An NGon
with
two vertices (NGon<[T; 2]>
) is considered a monogon despite common
definitions specifying a single vertex. Such an NGon
is not considered a
digon, as it represents a single undirected edge rather than two distinct
(but collapsed) edges. Single-vertex NGon
s are unsupported. See the
Edge
type definition.
Polygons are defined in $\Reals^2$, but NGon
supports arbitrary vertex
data. This includes positional data in Euclidean spaces of arbitrary
dimension. As such, NGon
does not represent a pure polygon, but instead a
superset defined solely by its topology. NGon
s in $\Reals^3$ are useful
for representing polygons embedded into three-dimensional space, but
there are no restrictions on the geometry of vertices.
Methods
impl<A> NGon<A> where
A: Array,
[src]
A: Array,
pub fn into_array(self) -> A
[src]
Trait Implementations
impl<T> Topological for NGon<[T; 2]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 3]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 4]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 5]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 6]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 7]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 8]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 9]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 10]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 11]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Topological for NGon<[T; 12]>
[src]
type Vertex = T
fn arity(&self) -> usize
[src]
fn embed_into_e3_xy<P>(ngon: P, z: Scalar<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_xy_with<P, F>(
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
z: Scalar<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn embed_into_e3_plane<P>(ngon: P, plane: Plane<Self::Vertex>) -> Self where
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
[src]
Self::Vertex: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Self::Vertex>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Self::Vertex>>,
fn embed_into_e3_plane_with<P, F>(
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
[src]
ngon: P,
_: Plane<Position<Self::Vertex>>,
f: F
) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U3>,
P: Map<Self::Vertex, Output = Self> + Topological,
P::Vertex: EuclideanSpace + FiniteDimensional<N = U2> + Push<Output = Position<Self::Vertex>>,
Vector<P::Vertex>: VectorSpace<Scalar = Scalar<Position<Self::Vertex>>>,
F: FnMut(Position<Self::Vertex>) -> Self::Vertex,
fn project_into_plane(self, plane: Plane<Position<Self::Vertex>>) -> Self where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional,
<Position<Self::Vertex> as FiniteDimensional>::N: Cmp<U2, Output = Greater>,
impl<T> Polygonal for NGon<[T; 3]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 4]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 5]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 6]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 7]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 8]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 9]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 10]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 11]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> Polygonal for NGon<[T; 12]>
[src]
fn is_convex(&self) -> bool where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
fn angles(&self) -> SmallVec<[Scalar<Position<Self::Vertex>>; 8]> where
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
[src]
Self::Vertex: AsPosition,
Position<Self::Vertex>: EuclideanSpace + FiniteDimensional<N = U2>,
Scalar<Position<Self::Vertex>>: FloatConst,
impl<T> ConstantArity for NGon<[T; 2]>
[src]
impl<T> ConstantArity for NGon<[T; 3]>
[src]
impl<T> ConstantArity for NGon<[T; 4]>
[src]
impl<T> ConstantArity for NGon<[T; 5]>
[src]
impl<T> ConstantArity for NGon<[T; 6]>
[src]
impl<T> ConstantArity for NGon<[T; 7]>
[src]
impl<T> ConstantArity for NGon<[T; 8]>
[src]
impl<T> ConstantArity for NGon<[T; 9]>
[src]
impl<T> ConstantArity for NGon<[T; 10]>
[src]
impl<T> ConstantArity for NGon<[T; 11]>
[src]
impl<T> ConstantArity for NGon<[T; 12]>
[src]
impl<A> AsRef<[<A as Array>::Item]> for NGon<A> where
A: Array,
[src]
A: Array,
impl<A> AsMut<[<A as Array>::Item]> for NGon<A> where
A: Array,
[src]
A: Array,
impl<A> From<A> for NGon<A> where
A: Array,
[src]
A: Array,
impl<T> From<NGon<[T; 3]>> for Polygon<T>
[src]
impl<T> From<NGon<[T; 4]>> for Polygon<T>
[src]
impl<A> IntoIterator for NGon<A> where
A: Array,
[src]
A: Array,
type Item = <A as Array>::Item
The type of the elements being iterated over.
type IntoIter = <Self::Output as IntoIterator>::IntoIter
Which kind of iterator are we turning this into?
fn into_iter(self) -> Self::IntoIter
[src]
impl<A: Clone> Clone for NGon<A> where
A: Array,
[src]
A: Array,
impl<A: Copy> Copy for NGon<A> where
A: Array,
[src]
A: Array,
impl<A: Debug> Debug for NGon<A> where
A: Array,
[src]
A: Array,
impl<A> Index<usize> for NGon<A> where
A: Array + AsRef<[<A as Array>::Item]>,
[src]
A: Array + AsRef<[<A as Array>::Item]>,
type Output = A::Item
The returned type after indexing.
fn index(&self, index: usize) -> &Self::Output
[src]
impl<A> IndexMut<usize> for NGon<A> where
A: Array + AsRef<[<A as Array>::Item]> + AsMut<[<A as Array>::Item]>,
[src]
A: Array + AsRef<[<A as Array>::Item]> + AsMut<[<A as Array>::Item]>,
impl<A> FromItems for NGon<A> where
A: Array,
[src]
A: Array,
fn from_items<I>(items: I) -> Option<Self> where
I: IntoIterator<Item = Self::Item>,
[src]
I: IntoIterator<Item = Self::Item>,
impl<A> IntoItems for NGon<A> where
A: Array,
[src]
A: Array,
type Output = ArrayVec<A>
fn into_items(self) -> Self::Output
[src]
impl<T, U> Map<U> for NGon<[T; 2]>
[src]
type Output = NGon<[U; 2]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 3]>
[src]
type Output = NGon<[U; 3]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 4]>
[src]
type Output = NGon<[U; 4]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 5]>
[src]
type Output = NGon<[U; 5]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 6]>
[src]
type Output = NGon<[U; 6]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 7]>
[src]
type Output = NGon<[U; 7]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 8]>
[src]
type Output = NGon<[U; 8]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 9]>
[src]
type Output = NGon<[U; 9]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 10]>
[src]
type Output = NGon<[U; 10]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 11]>
[src]
type Output = NGon<[U; 11]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> Map<U> for NGon<[T; 12]>
[src]
type Output = NGon<[U; 12]>
fn map<F>(self, f: F) -> Self::Output where
F: FnMut(Self::Item) -> U,
[src]
F: FnMut(Self::Item) -> U,
impl<T, U> ZipMap<U> for NGon<[T; 2]>
[src]
type Output = NGon<[U; 2]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 3]>
[src]
type Output = NGon<[U; 3]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 4]>
[src]
type Output = NGon<[U; 4]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 5]>
[src]
type Output = NGon<[U; 5]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 6]>
[src]
type Output = NGon<[U; 6]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 7]>
[src]
type Output = NGon<[U; 7]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 8]>
[src]
type Output = NGon<[U; 8]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 9]>
[src]
type Output = NGon<[U; 9]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 10]>
[src]
type Output = NGon<[U; 10]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 11]>
[src]
type Output = NGon<[U; 11]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<T, U> ZipMap<U> for NGon<[T; 12]>
[src]
type Output = NGon<[U; 12]>
fn zip_map<F>(self, other: Self, f: F) -> Self::Output where
F: FnMut(Self::Item, Self::Item) -> U,
[src]
F: FnMut(Self::Item, Self::Item) -> U,
fn per_item_sum(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Add<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T>,
fn per_item_product(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T>,
fn per_item_partial_min(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
fn per_item_partial_max(self, other: Self) -> Self::Output where
Self: Composite<Item = T>,
T: Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Copy + Lattice,
impl<A, U> Fold<U> for NGon<A> where
Self: Topological + IntoItems,
A: Array,
[src]
Self: Topological + IntoItems,
A: Array,
fn fold<F>(self, seed: U, f: F) -> U where
F: FnMut(U, Self::Item) -> U,
[src]
F: FnMut(U, Self::Item) -> U,
fn sum(self) -> T where
Self: Composite<Item = T>,
T: Add<T, Output = T> + Zero,
[src]
Self: Composite<Item = T>,
T: Add<T, Output = T> + Zero,
fn product(self) -> T where
Self: Composite<Item = T>,
T: Mul<T, Output = T> + One,
[src]
Self: Composite<Item = T>,
T: Mul<T, Output = T> + One,
fn partial_min(self) -> T where
Self: Composite<Item = T>,
T: Bounded + Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Bounded + Copy + Lattice,
fn partial_max(self) -> T where
Self: Composite<Item = T>,
T: Bounded + Copy + Lattice,
[src]
Self: Composite<Item = T>,
T: Bounded + Copy + Lattice,
impl<A> Composite for NGon<A> where
A: Array,
[src]
A: Array,
impl<T> Converged for NGon<[T; 2]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 3]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 4]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 5]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 6]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 7]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 8]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 9]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 10]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 11]> where
T: Copy,
[src]
T: Copy,
impl<T> Converged for NGon<[T; 12]> where
T: Copy,
[src]
T: Copy,
Auto Trait Implementations
impl<A> Send for NGon<A> where
A: Send,
A: Send,
impl<A> Sync for NGon<A> where
A: Sync,
A: Sync,
impl<A> Unpin for NGon<A> where
A: Unpin,
A: Unpin,
impl<A> UnwindSafe for NGon<A> where
A: UnwindSafe,
A: UnwindSafe,
impl<A> RefUnwindSafe for NGon<A> where
A: RefUnwindSafe,
A: RefUnwindSafe,
Blanket Implementations
impl<P> Grouping for P where
P: Topological,
<P as Topological>::Vertex: Copy,
<P as Topological>::Vertex: Integer,
<P as Topological>::Vertex: NumCast,
<P as Topological>::Vertex: Unsigned,
[src]
P: Topological,
<P as Topological>::Vertex: Copy,
<P as Topological>::Vertex: Integer,
<P as Topological>::Vertex: NumCast,
<P as Topological>::Vertex: Unsigned,
type Item = P
Topological
index buffers contain $n$-gons that explicitly group
their indices.
impl<T> IntoVertices for T where
T: IntoItems + Topological,
[src]
T: IntoItems + Topological,
type Output = <T as IntoItems>::Output
fn into_vertices(Self) -> <T as IntoVertices>::Output
[src]
impl<T> FromGeometry<T> for T
[src]
fn from_geometry(T) -> T
[src]
impl<T, U> IntoGeometry<U> for T where
U: FromGeometry<T>,
[src]
U: FromGeometry<T>,
fn into_geometry(Self) -> U
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<!> for T
[src]
impl<T> From<T> for T
[src]
impl<I> IntoIterator for I where
I: Iterator,
[src]
I: Iterator,
type Item = <I as Iterator>::Item
The type of the elements being iterated over.
type IntoIter = I
Which kind of iterator are we turning this into?
fn into_iter(self) -> I
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,
fn vzip(self) -> V
impl<T> Slottable for T where
T: Copy,
[src]
T: Copy,