logo
pub trait EuclideanSpace: AffineSpace<Translation = Self::CoordinateSpace> + AsPosition<Position = Self> + FiniteDimensional {
    type CoordinateSpace: Basis + InnerSpace + FiniteDimensional<N = <Self as FiniteDimensional>::N>;

    fn origin() -> Self;

    fn from_coordinates(coordinates: Self::CoordinateSpace) -> Self { ... }
    fn into_coordinates(self) -> Self::CoordinateSpace { ... }
    fn from_x(x: Scalar<Self>) -> Self
    where
        Self: FiniteDimensional<N = U1>
, { ... } fn from_xy(x: Scalar<Self>, y: Scalar<Self>) -> Self
    where
        Self: FiniteDimensional<N = U2>
, { ... } fn from_xyz(x: Scalar<Self>, y: Scalar<Self>, z: Scalar<Self>) -> Self
    where
        Self: FiniteDimensional<N = U3>
, { ... } fn into_x(self) -> Scalar<Self>
    where
        Self: FiniteDimensional<N = U1>
, { ... } fn into_xy(self) -> (Scalar<Self>, Scalar<Self>)
    where
        Self: FiniteDimensional<N = U2>
, { ... } fn into_xyz(self) -> (Scalar<Self>, Scalar<Self>, Scalar<Self>)
    where
        Self: FiniteDimensional<N = U3>
, { ... } fn from_homogeneous(projective: Projective<Self>) -> Option<Self>
    where
        Self::CoordinateSpace: Homogeneous,
        Projective<Self>: Truncate<Self::CoordinateSpace> + VectorSpace<Scalar = Scalar<Self>>
, { ... } fn into_homogeneous(self) -> Projective<Self>
    where
        Self::CoordinateSpace: Homogeneous + Extend<Projective<Self>>,
        Projective<Self>: VectorSpace<Scalar = Scalar<Self>>
, { ... } fn centroid<I>(points: I) -> Option<Self>
    where
        I: IntoIterator<Item = Self>
, { ... } }

Required Associated Types

Required Methods

Provided Methods

Implementations on Foreign Types

Implementors