[−][src]Trait theon::space::EuclideanSpace
Associated Types
type CoordinateSpace: Basis + InnerSpace + FiniteDimensional<N = Self::N>
Required methods
fn origin() -> Self
Provided methods
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>,
Self: FiniteDimensional<N = U1>,
fn from_xy(x: Scalar<Self>, y: Scalar<Self>) -> Self where
Self: FiniteDimensional<N = U2>,
Self: FiniteDimensional<N = U2>,
fn from_xyz(x: Scalar<Self>, y: Scalar<Self>, z: Scalar<Self>) -> Self where
Self: FiniteDimensional<N = U3>,
Self: FiniteDimensional<N = U3>,
fn into_x(self) -> Scalar<Self> where
Self: FiniteDimensional<N = U1>,
Self: FiniteDimensional<N = U1>,
fn into_xy(self) -> (Scalar<Self>, Scalar<Self>) where
Self: FiniteDimensional<N = U2>,
Self: FiniteDimensional<N = U2>,
fn into_xyz(self) -> (Scalar<Self>, Scalar<Self>, Scalar<Self>) where
Self: FiniteDimensional<N = U3>,
Self: FiniteDimensional<N = U3>,
fn from_homogeneous(vector: Self::ProjectiveSpace) -> Option<Self> where
Self: Homogeneous,
Self::ProjectiveSpace: Pop<Output = Self::CoordinateSpace> + VectorSpace<Scalar = Scalar<Self>>,
Self: Homogeneous,
Self::ProjectiveSpace: Pop<Output = Self::CoordinateSpace> + VectorSpace<Scalar = Scalar<Self>>,
fn into_homogeneous(self) -> Self::ProjectiveSpace where
Self: Homogeneous,
Self::CoordinateSpace: Push<Output = Self::ProjectiveSpace>,
Self::ProjectiveSpace: VectorSpace<Scalar = Scalar<Self>>,
Self: Homogeneous,
Self::CoordinateSpace: Push<Output = Self::ProjectiveSpace>,
Self::ProjectiveSpace: VectorSpace<Scalar = Scalar<Self>>,
fn centroid<I>(points: I) -> Option<Self> where
I: IntoIterator<Item = Self>,
I: IntoIterator<Item = Self>,
Implementations on Foreign Types
impl<T> EuclideanSpace for Point2<T> where
T: BaseFloat + Real,
[src]
T: BaseFloat + Real,
type CoordinateSpace = Vector2<T>
fn origin() -> Self
[src]
impl<T> EuclideanSpace for Point3<T> where
T: BaseFloat + Real,
[src]
T: BaseFloat + Real,
type CoordinateSpace = Vector3<T>
fn origin() -> Self
[src]
impl<T, D> EuclideanSpace for Point<T, D> where
T: AddAssign + MulAssign + Real + Scalar + SubAssign,
D: DimName,
D::Value: NonZero,
DefaultAllocator: Allocator<T, D>,
<DefaultAllocator as Allocator<T, D>>::Buffer: Copy,
VectorN<T, D>: FiniteDimensional<N = Self::N>,
[src]
T: AddAssign + MulAssign + Real + Scalar + SubAssign,
D: DimName,
D::Value: NonZero,
DefaultAllocator: Allocator<T, D>,
<DefaultAllocator as Allocator<T, D>>::Buffer: Copy,
VectorN<T, D>: FiniteDimensional<N = Self::N>,