#[repr(C)]pub struct Point<N: Scalar, D: DimName>where
DefaultAllocator: Allocator<N, D>,{
pub coords: VectorN<N, D>,
}
Expand description
A point in a n-dimensional euclidean space.
Fields§
§coords: VectorN<N, D>
The coordinates of this point, i.e., the shift from the origin.
Implementations§
source§impl<N: Scalar, D: DimName> Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar, D: DimName> Point<N, D>where
DefaultAllocator: Allocator<N, D>,
sourcepub fn to_homogeneous(&self) -> VectorN<N, DimNameSum<D, U1>>where
N: One,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>>,
pub fn to_homogeneous(&self) -> VectorN<N, DimNameSum<D, U1>>where
N: One,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>>,
Converts this point into a vector in homogeneous coordinates, i.e., appends a 1
at the
end of it.
sourcepub fn from_coordinates(coords: VectorN<N, D>) -> Point<N, D>
pub fn from_coordinates(coords: VectorN<N, D>) -> Point<N, D>
Creates a new point with the given coordinates.
sourcepub fn stride(&self) -> usize
pub fn stride(&self) -> usize
The stride of this point. This is the number of buffer element separating each component of this point.
sourcepub fn iter(
&self
) -> MatrixIter<'_, N, D, U1, <DefaultAllocator as Allocator<N, D>>::Buffer> ⓘ
pub fn iter(
&self
) -> MatrixIter<'_, N, D, U1, <DefaultAllocator as Allocator<N, D>>::Buffer> ⓘ
Iterates through this point coordinates.
sourcepub unsafe fn get_unchecked(&self, i: usize) -> &N
pub unsafe fn get_unchecked(&self, i: usize) -> &N
Gets a reference to i-th element of this point without bound-checking.
sourcepub fn iter_mut(
&mut self
) -> MatrixIterMut<'_, N, D, U1, <DefaultAllocator as Allocator<N, D>>::Buffer> ⓘ
pub fn iter_mut(
&mut self
) -> MatrixIterMut<'_, N, D, U1, <DefaultAllocator as Allocator<N, D>>::Buffer> ⓘ
Mutably iterates through this point coordinates.
sourcepub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut N
pub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut N
Gets a mutable reference to i-th element of this point without bound-checking.
sourcepub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
pub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
Swaps two entries without bound-checking.
source§impl<N: Scalar, D: DimName> Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar, D: DimName> Point<N, D>where
DefaultAllocator: Allocator<N, D>,
sourcepub unsafe fn new_uninitialized() -> Self
pub unsafe fn new_uninitialized() -> Self
Creates a new point with uninitialized coordinates.
sourcepub fn from_slice(components: &[N]) -> Self
pub fn from_slice(components: &[N]) -> Self
Creates a new point from a slice.
sourcepub fn from_homogeneous(v: VectorN<N, DimNameSum<D, U1>>) -> Option<Self>where
N: Scalar + Zero + One + ClosedDiv,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>>,
pub fn from_homogeneous(v: VectorN<N, DimNameSum<D, U1>>) -> Option<Self>where
N: Scalar + Zero + One + ClosedDiv,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>>,
Creates a new point from its homogeneous vector representation.
In practice, this builds a D-dimensional points with the same first D component as v
divided by the last component of v
. Returns None
if this divisor is zero.
Trait Implementations§
source§impl<N: Scalar + AbsDiffEq, D: DimName> AbsDiffEq<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
impl<N: Scalar + AbsDiffEq, D: DimName> AbsDiffEq<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
source§fn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
source§impl<'a, 'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<&'b Matrix<N, D2, U1, SB>> for &'a Point<N, D1>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'a, 'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<&'b Matrix<N, D2, U1, SB>> for &'a Point<N, D1>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
source§impl<'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<&'b Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<&'b Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
source§impl<'a, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<Matrix<N, D2, U1, SB>> for &'a Point<N, D1>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'a, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<Matrix<N, D2, U1, SB>> for &'a Point<N, D1>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
source§impl<N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
source§impl<'b, N, D1: DimName, D2: Dim, SB> AddAssign<&'b Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedAdd,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
impl<'b, N, D1: DimName, D2: Dim, SB> AddAssign<&'b Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedAdd,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
source§fn add_assign(&mut self, right: &'b Vector<N, D2, SB>)
fn add_assign(&mut self, right: &'b Vector<N, D2, SB>)
+=
operation. Read moresource§impl<N, D1: DimName, D2: Dim, SB> AddAssign<Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedAdd,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
impl<N, D1: DimName, D2: Dim, SB> AddAssign<Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedAdd,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
source§fn add_assign(&mut self, right: Vector<N, D2, SB>)
fn add_assign(&mut self, right: Vector<N, D2, SB>)
+=
operation. Read moresource§impl<N: Scalar + Field, D: DimName> AffineSpace for Point<N, D>where
N: Scalar + Field,
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + Field, D: DimName> AffineSpace for Point<N, D>where
N: Scalar + Field,
DefaultAllocator: Allocator<N, D>,
§type Translation = Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
type Translation = Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
source§fn translate_by(&self, t: &Self::Translation) -> Self
fn translate_by(&self, t: &Self::Translation) -> Self
*self + *t
. Applies the additive group action of this affine space’s associated
vector space on self
. Read moresource§impl<N: Real, D: DimName, R> AffineTransformation<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> AffineTransformation<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
§type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
§type Translation = Translation<N, D>
type Translation = Translation<N, D>
source§fn decompose(&self) -> (Translation<N, D>, R, Id, R)
fn decompose(&self) -> (Translation<N, D>, R, Id, R)
source§fn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
source§fn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§impl<N: Real, D: DimName> AffineTransformation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: Real, D: DimName> AffineTransformation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
§type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
§type Translation = Id<Multiplicative>
type Translation = Id<Multiplicative>
source§fn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
source§fn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
source§fn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§impl<N: Real, D: DimName, R> AffineTransformation<Point<N, D>> for Similarity<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> AffineTransformation<Point<N, D>> for Similarity<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
§type NonUniformScaling = N
type NonUniformScaling = N
§type Translation = Translation<N, D>
type Translation = Translation<N, D>
source§fn decompose(&self) -> (Translation<N, D>, R, N, R)
fn decompose(&self) -> (Translation<N, D>, R, N, R)
source§fn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
source§fn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
source§fn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
source§fn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
source§impl<N: Real, D: DimName> AffineTransformation<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName> AffineTransformation<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
§type Rotation = Id<Multiplicative>
type Rotation = Id<Multiplicative>
§type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
§type Translation = Translation<N, D>
type Translation = Translation<N, D>
source§fn decompose(&self) -> (Self, Id, Id, Id)
fn decompose(&self) -> (Self, Id, Id, Id)
source§fn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
source§fn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
source§fn append_rotation(&self, _: &Self::Rotation) -> Self
fn append_rotation(&self, _: &Self::Rotation) -> Self
source§fn prepend_rotation(&self, _: &Self::Rotation) -> Self
fn prepend_rotation(&self, _: &Self::Rotation) -> Self
source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§impl<N: Real> AffineTransformation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
impl<N: Real> AffineTransformation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
§type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
§type Translation = Id<Multiplicative>
type Translation = Id<Multiplicative>
source§fn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
source§fn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
source§fn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§impl<N: Real> AffineTransformation<Point<N, U3>> for UnitQuaternion<N>
impl<N: Real> AffineTransformation<Point<N, U3>> for UnitQuaternion<N>
§type Rotation = Unit<Quaternion<N>>
type Rotation = Unit<Quaternion<N>>
§type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
§type Translation = Id<Multiplicative>
type Translation = Id<Multiplicative>
source§fn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
source§fn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
source§fn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
source§impl<N: Scalar + Bounded, D: DimName> Bounded for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + Bounded, D: DimName> Bounded for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar, D: DimName> Clone for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Clone,
impl<N: Scalar, D: DimName> Clone for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Clone,
source§impl<N: Debug + Scalar, D: Debug + DimName> Debug for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Debug + Scalar, D: Debug + DimName> Debug for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar + Display, D: DimName> Display for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + Display, D: DimName> Display for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar, D: DimName> Distribution<Point<N, D>> for Standardwhere
DefaultAllocator: Allocator<N, D>,
Standard: Distribution<N>,
impl<N: Scalar, D: DimName> Distribution<Point<N, D>> for Standardwhere
DefaultAllocator: Allocator<N, D>,
Standard: Distribution<N>,
source§impl<'a, N: Scalar + ClosedDiv, D: DimName> Div<N> for &'a Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<'a, N: Scalar + ClosedDiv, D: DimName> Div<N> for &'a Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar + ClosedDiv, D: DimName> Div<N> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + ClosedDiv, D: DimName> Div<N> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar + ClosedDiv, D: DimName> DivAssign<N> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + ClosedDiv, D: DimName> DivAssign<N> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§fn div_assign(&mut self, right: N)
fn div_assign(&mut self, right: N)
/=
operation. Read moresource§impl<N: Real, D: DimName> EuclideanSpace for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName> EuclideanSpace for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
§type Coordinates = Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
type Coordinates = Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>
source§fn coordinates(&self) -> Self::Coordinates
fn coordinates(&self) -> Self::Coordinates
source§fn from_coordinates(coords: Self::Coordinates) -> Self
fn from_coordinates(coords: Self::Coordinates) -> Self
source§fn distance_squared(&self, b: &Self) -> Self::Real
fn distance_squared(&self, b: &Self) -> Self::Real
source§impl<N: Scalar + Zero + One, D: DimName> From<Point<N, D>> for VectorN<N, DimNameSum<D, U1>>where
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, D> + Allocator<N, DimNameSum<D, U1>>,
impl<N: Scalar + Zero + One, D: DimName> From<Point<N, D>> for VectorN<N, DimNameSum<D, U1>>where
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, D> + Allocator<N, DimNameSum<D, U1>>,
source§impl<N: Scalar + Hash, D: DimName + Hash> Hash for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Hash,
impl<N: Scalar + Hash, D: DimName + Hash> Hash for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Hash,
source§impl<N: Scalar, D: DimName> Index<usize> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar, D: DimName> Index<usize> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar, D: DimName> IndexMut<usize> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar, D: DimName> IndexMut<usize> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N, D: DimName> JoinSemilattice for Point<N, D>where
N: Scalar + JoinSemilattice,
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimName> JoinSemilattice for Point<N, D>where
N: Scalar + JoinSemilattice,
DefaultAllocator: Allocator<N, D>,
source§impl<N, D: DimName> Lattice for Point<N, D>where
N: Scalar + Lattice,
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimName> Lattice for Point<N, D>where
N: Scalar + Lattice,
DefaultAllocator: Allocator<N, D>,
source§fn meet_join(&self, other: &Self) -> (Self, Self)
fn meet_join(&self, other: &Self) -> (Self, Self)
source§fn partial_min<'a>(&'a self, other: &'a Self) -> Option<&'a Self>
fn partial_min<'a>(&'a self, other: &'a Self) -> Option<&'a Self>
self
and other
if they are comparable.source§fn partial_max<'a>(&'a self, other: &'a Self) -> Option<&'a Self>
fn partial_max<'a>(&'a self, other: &'a Self) -> Option<&'a Self>
self
and other
if they are comparable.source§impl<N, D: DimName> MeetSemilattice for Point<N, D>where
N: Scalar + MeetSemilattice,
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimName> MeetSemilattice for Point<N, D>where
N: Scalar + MeetSemilattice,
DefaultAllocator: Allocator<N, D>,
source§impl<'a, 'b, N: Real, D: DimName, R> Mul<&'b Point<N, D>> for &'a Isometry<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'a, 'b, N: Real, D: DimName, R> Mul<&'b Point<N, D>> for &'a Isometry<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<'a, 'b, N, D: DimName> Mul<&'b Point<N, D>> for &'a Rotation<N, D>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
impl<'a, 'b, N, D: DimName> Mul<&'b Point<N, D>> for &'a Rotation<N, D>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
source§impl<'a, 'b, N: Real, D: DimName, R> Mul<&'b Point<N, D>> for &'a Similarity<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'a, 'b, N: Real, D: DimName, R> Mul<&'b Point<N, D>> for &'a Similarity<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategory> Mul<&'b Point<N, D>> for &'a Transform<N, D, C>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategory> Mul<&'b Point<N, D>> for &'a Transform<N, D, C>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
source§impl<'a, 'b, N, D: DimName> Mul<&'b Point<N, D>> for &'a Translation<N, D>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
impl<'a, 'b, N, D: DimName> Mul<&'b Point<N, D>> for &'a Translation<N, D>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
source§impl<'b, N: Real, D: DimName, R> Mul<&'b Point<N, D>> for Isometry<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'b, N: Real, D: DimName, R> Mul<&'b Point<N, D>> for Isometry<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<'b, N, D: DimName> Mul<&'b Point<N, D>> for Rotation<N, D>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
impl<'b, N, D: DimName> Mul<&'b Point<N, D>> for Rotation<N, D>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
source§impl<'b, N: Real, D: DimName, R> Mul<&'b Point<N, D>> for Similarity<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'b, N: Real, D: DimName, R> Mul<&'b Point<N, D>> for Similarity<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<'b, N, D: DimNameAdd<U1>, C: TCategory> Mul<&'b Point<N, D>> for Transform<N, D, C>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
impl<'b, N, D: DimNameAdd<U1>, C: TCategory> Mul<&'b Point<N, D>> for Transform<N, D, C>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
source§impl<'b, N, D: DimName> Mul<&'b Point<N, D>> for Translation<N, D>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D: DimName> Mul<&'b Point<N, D>> for Translation<N, D>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
source§impl<'a, 'b, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<&'b Point<N, D2>> for &'a Matrix<N, R1, C1, SA>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
impl<'a, 'b, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<&'b Point<N, D2>> for &'a Matrix<N, R1, C1, SA>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
source§impl<'b, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<&'b Point<N, D2>> for Matrix<N, R1, C1, SA>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
impl<'b, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<&'b Point<N, D2>> for Matrix<N, R1, C1, SA>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
source§impl<'a, 'b, N: Real> Mul<&'b Point<N, U2>> for &'a UnitComplex<N>where
DefaultAllocator: Allocator<N, U2, U1>,
impl<'a, 'b, N: Real> Mul<&'b Point<N, U2>> for &'a UnitComplex<N>where
DefaultAllocator: Allocator<N, U2, U1>,
source§impl<'b, N: Real> Mul<&'b Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2, U1>,
impl<'b, N: Real> Mul<&'b Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2, U1>,
source§impl<'a, 'b, N: Real> Mul<&'b Point<N, U3>> for &'a UnitQuaternion<N>where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
impl<'a, 'b, N: Real> Mul<&'b Point<N, U3>> for &'a UnitQuaternion<N>where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
source§impl<'b, N: Real> Mul<&'b Point<N, U3>> for UnitQuaternion<N>where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
impl<'b, N: Real> Mul<&'b Point<N, U3>> for UnitQuaternion<N>where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
source§impl<'b, D: DimName> Mul<&'b Point<f32, D>> for f32where
DefaultAllocator: Allocator<f32, D>,
impl<'b, D: DimName> Mul<&'b Point<f32, D>> for f32where
DefaultAllocator: Allocator<f32, D>,
source§impl<'b, D: DimName> Mul<&'b Point<f64, D>> for f64where
DefaultAllocator: Allocator<f64, D>,
impl<'b, D: DimName> Mul<&'b Point<f64, D>> for f64where
DefaultAllocator: Allocator<f64, D>,
source§impl<'b, D: DimName> Mul<&'b Point<i16, D>> for i16where
DefaultAllocator: Allocator<i16, D>,
impl<'b, D: DimName> Mul<&'b Point<i16, D>> for i16where
DefaultAllocator: Allocator<i16, D>,
source§impl<'b, D: DimName> Mul<&'b Point<i32, D>> for i32where
DefaultAllocator: Allocator<i32, D>,
impl<'b, D: DimName> Mul<&'b Point<i32, D>> for i32where
DefaultAllocator: Allocator<i32, D>,
source§impl<'b, D: DimName> Mul<&'b Point<i64, D>> for i64where
DefaultAllocator: Allocator<i64, D>,
impl<'b, D: DimName> Mul<&'b Point<i64, D>> for i64where
DefaultAllocator: Allocator<i64, D>,
source§impl<'b, D: DimName> Mul<&'b Point<isize, D>> for isizewhere
DefaultAllocator: Allocator<isize, D>,
impl<'b, D: DimName> Mul<&'b Point<isize, D>> for isizewhere
DefaultAllocator: Allocator<isize, D>,
source§impl<'b, D: DimName> Mul<&'b Point<u16, D>> for u16where
DefaultAllocator: Allocator<u16, D>,
impl<'b, D: DimName> Mul<&'b Point<u16, D>> for u16where
DefaultAllocator: Allocator<u16, D>,
source§impl<'b, D: DimName> Mul<&'b Point<u32, D>> for u32where
DefaultAllocator: Allocator<u32, D>,
impl<'b, D: DimName> Mul<&'b Point<u32, D>> for u32where
DefaultAllocator: Allocator<u32, D>,
source§impl<'b, D: DimName> Mul<&'b Point<u64, D>> for u64where
DefaultAllocator: Allocator<u64, D>,
impl<'b, D: DimName> Mul<&'b Point<u64, D>> for u64where
DefaultAllocator: Allocator<u64, D>,
source§impl<'b, D: DimName> Mul<&'b Point<usize, D>> for usizewhere
DefaultAllocator: Allocator<usize, D>,
impl<'b, D: DimName> Mul<&'b Point<usize, D>> for usizewhere
DefaultAllocator: Allocator<usize, D>,
source§impl<'a, N: Scalar + ClosedMul, D: DimName> Mul<N> for &'a Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<'a, N: Scalar + ClosedMul, D: DimName> Mul<N> for &'a Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar + ClosedMul, D: DimName> Mul<N> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + ClosedMul, D: DimName> Mul<N> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<'a, N: Real, D: DimName, R> Mul<Point<N, D>> for &'a Isometry<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'a, N: Real, D: DimName, R> Mul<Point<N, D>> for &'a Isometry<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<'a, N, D: DimName> Mul<Point<N, D>> for &'a Rotation<N, D>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
impl<'a, N, D: DimName> Mul<Point<N, D>> for &'a Rotation<N, D>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
source§impl<'a, N: Real, D: DimName, R> Mul<Point<N, D>> for &'a Similarity<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'a, N: Real, D: DimName, R> Mul<Point<N, D>> for &'a Similarity<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<'a, N, D: DimNameAdd<U1>, C: TCategory> Mul<Point<N, D>> for &'a Transform<N, D, C>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
impl<'a, N, D: DimNameAdd<U1>, C: TCategory> Mul<Point<N, D>> for &'a Transform<N, D, C>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
source§impl<'a, N, D: DimName> Mul<Point<N, D>> for &'a Translation<N, D>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
impl<'a, N, D: DimName> Mul<Point<N, D>> for &'a Translation<N, D>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
source§impl<N: Real, D: DimName, R> Mul<Point<N, D>> for Isometry<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> Mul<Point<N, D>> for Isometry<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<N, D: DimName> Mul<Point<N, D>> for Rotation<N, D>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
impl<N, D: DimName> Mul<Point<N, D>> for Rotation<N, D>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
source§impl<N: Real, D: DimName, R> Mul<Point<N, D>> for Similarity<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> Mul<Point<N, D>> for Similarity<N, D, R>where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<N, D: DimNameAdd<U1>, C: TCategory> Mul<Point<N, D>> for Transform<N, D, C>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
impl<N, D: DimNameAdd<U1>, C: TCategory> Mul<Point<N, D>> for Transform<N, D, C>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + Real,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
source§impl<N, D: DimName> Mul<Point<N, D>> for Translation<N, D>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
impl<N, D: DimName> Mul<Point<N, D>> for Translation<N, D>where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
source§impl<'a, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<Point<N, D2>> for &'a Matrix<N, R1, C1, SA>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
impl<'a, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<Point<N, D2>> for &'a Matrix<N, R1, C1, SA>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
source§impl<N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<Point<N, D2>> for Matrix<N, R1, C1, SA>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
impl<N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<Point<N, D2>> for Matrix<N, R1, C1, SA>where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
source§impl<'a, N: Real> Mul<Point<N, U2>> for &'a UnitComplex<N>where
DefaultAllocator: Allocator<N, U2, U1>,
impl<'a, N: Real> Mul<Point<N, U2>> for &'a UnitComplex<N>where
DefaultAllocator: Allocator<N, U2, U1>,
source§impl<N: Real> Mul<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2, U1>,
impl<N: Real> Mul<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2, U1>,
source§impl<'a, N: Real> Mul<Point<N, U3>> for &'a UnitQuaternion<N>where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
impl<'a, N: Real> Mul<Point<N, U3>> for &'a UnitQuaternion<N>where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
source§impl<N: Real> Mul<Point<N, U3>> for UnitQuaternion<N>where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
impl<N: Real> Mul<Point<N, U3>> for UnitQuaternion<N>where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
source§impl<N: Scalar + ClosedMul, D: DimName> MulAssign<N> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + ClosedMul, D: DimName> MulAssign<N> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§fn mul_assign(&mut self, right: N)
fn mul_assign(&mut self, right: N)
*=
operation. Read moresource§impl<'a, N: Scalar + ClosedNeg, D: DimName> Neg for &'a Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<'a, N: Scalar + ClosedNeg, D: DimName> Neg for &'a Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar + ClosedNeg, D: DimName> Neg for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + ClosedNeg, D: DimName> Neg for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar, D: DimName> PartialEq<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar, D: DimName> PartialEq<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Scalar + PartialOrd, D: DimName> PartialOrd<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + PartialOrd, D: DimName> PartialOrd<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Real, D: DimName, R> ProjectiveTransformation<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> ProjectiveTransformation<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
source§impl<N: Real, D: DimName> ProjectiveTransformation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: Real, D: DimName> ProjectiveTransformation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
source§fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
source§impl<N: Real, D: DimName, R> ProjectiveTransformation<Point<N, D>> for Similarity<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> ProjectiveTransformation<Point<N, D>> for Similarity<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
source§impl<N, D: DimNameAdd<U1>, C> ProjectiveTransformation<Point<N, D>> for Transform<N, D, C>where
N: Real,
C: SubTCategoryOf<TProjective>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, D>,
impl<N, D: DimNameAdd<U1>, C> ProjectiveTransformation<Point<N, D>> for Transform<N, D, C>where
N: Real,
C: SubTCategoryOf<TProjective>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, D>,
source§fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
source§impl<N: Real, D: DimName> ProjectiveTransformation<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName> ProjectiveTransformation<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
source§fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
source§impl<N: Real> ProjectiveTransformation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
impl<N: Real> ProjectiveTransformation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
source§impl<N: Real> ProjectiveTransformation<Point<N, U3>> for UnitQuaternion<N>
impl<N: Real> ProjectiveTransformation<Point<N, U3>> for UnitQuaternion<N>
source§impl<N: Scalar + RelativeEq, D: DimName> RelativeEq<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
impl<N: Scalar + RelativeEq, D: DimName> RelativeEq<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
source§fn default_max_relative() -> Self::Epsilon
fn default_max_relative() -> Self::Epsilon
source§impl<N: Real, D: DimName> Rotation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: Real, D: DimName> Rotation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
Subgroups of the n-dimensional rotation group SO(n)
.
source§fn powf(&self, _: N) -> Option<Self>
fn powf(&self, _: N) -> Option<Self>
n
. Read moresource§fn rotation_between(_: &VectorN<N, D>, _: &VectorN<N, D>) -> Option<Self>
fn rotation_between(_: &VectorN<N, D>, _: &VectorN<N, D>) -> Option<Self>
a
and b
equal to zero, i.e.,
b.angle(a * delta_rotation(a, b)) = 0
. If a
and b
are collinear, the computed
rotation may not be unique. Returns None
if no such simple rotation exists in the
subgroup represented by Self
. Read moresource§impl<N: Real> Rotation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
impl<N: Real> Rotation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
source§fn powf(&self, n: N) -> Option<Self>
fn powf(&self, n: N) -> Option<Self>
n
. Read moresource§fn rotation_between(a: &Vector2<N>, b: &Vector2<N>) -> Option<Self>
fn rotation_between(a: &Vector2<N>, b: &Vector2<N>) -> Option<Self>
a
and b
equal to zero, i.e.,
b.angle(a * delta_rotation(a, b)) = 0
. If a
and b
are collinear, the computed
rotation may not be unique. Returns None
if no such simple rotation exists in the
subgroup represented by Self
. Read moresource§impl<N: Real> Rotation<Point<N, U3>> for UnitQuaternion<N>
impl<N: Real> Rotation<Point<N, U3>> for UnitQuaternion<N>
source§fn powf(&self, n: N) -> Option<Self>
fn powf(&self, n: N) -> Option<Self>
n
. Read moresource§fn rotation_between(a: &Vector3<N>, b: &Vector3<N>) -> Option<Self>
fn rotation_between(a: &Vector3<N>, b: &Vector3<N>) -> Option<Self>
a
and b
equal to zero, i.e.,
b.angle(a * delta_rotation(a, b)) = 0
. If a
and b
are collinear, the computed
rotation may not be unique. Returns None
if no such simple rotation exists in the
subgroup represented by Self
. Read moresource§impl<N: Real, D: DimName, R> Similarity<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> Similarity<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
§type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
source§fn translation(&self) -> Translation<N, D>
fn translation(&self) -> Translation<N, D>
source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
source§fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
source§fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§impl<N: Real, D: DimName> Similarity<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: Real, D: DimName> Similarity<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
§type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
source§fn translation(&self) -> Id
fn translation(&self) -> Id
source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
source§fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
source§fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§impl<N: Real, D: DimName, R> Similarity<Point<N, D>> for Similarity<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> Similarity<Point<N, D>> for Similarity<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§fn translation(&self) -> Translation<N, D>
fn translation(&self) -> Translation<N, D>
source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
source§fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
source§fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§impl<N: Real, D: DimName> Similarity<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName> Similarity<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
§type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
source§fn translation(&self) -> Self
fn translation(&self) -> Self
source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
source§fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
source§fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§impl<N: Real> Similarity<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
impl<N: Real> Similarity<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
§type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
source§fn translation(&self) -> Id
fn translation(&self) -> Id
source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
source§fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
source§fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§impl<N: Real> Similarity<Point<N, U3>> for UnitQuaternion<N>
impl<N: Real> Similarity<Point<N, U3>> for UnitQuaternion<N>
§type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
source§fn translation(&self) -> Id
fn translation(&self) -> Id
source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
source§fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
source§fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
source§impl<'a, 'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<&'b Matrix<N, D2, U1, SB>> for &'a Point<N, D1>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'a, 'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<&'b Matrix<N, D2, U1, SB>> for &'a Point<N, D1>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
source§impl<'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<&'b Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<&'b Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
source§impl<'a, 'b, N, D: DimName> Sub<&'b Point<N, D>> for &'a Point<N, D>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
impl<'a, 'b, N, D: DimName> Sub<&'b Point<N, D>> for &'a Point<N, D>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
§type Output = Matrix<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, U1, <DefaultAllocator as Allocator<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, <ShapeConstraint as SameNumberOfColumns<U1, U1>>::Representative>>::Buffer>
type Output = Matrix<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, U1, <DefaultAllocator as Allocator<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, <ShapeConstraint as SameNumberOfColumns<U1, U1>>::Representative>>::Buffer>
-
operator.source§impl<'b, N, D: DimName> Sub<&'b Point<N, D>> for Point<N, D>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D: DimName> Sub<&'b Point<N, D>> for Point<N, D>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
§type Output = Matrix<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, U1, <DefaultAllocator as Allocator<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, <ShapeConstraint as SameNumberOfColumns<U1, U1>>::Representative>>::Buffer>
type Output = Matrix<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, U1, <DefaultAllocator as Allocator<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, <ShapeConstraint as SameNumberOfColumns<U1, U1>>::Representative>>::Buffer>
-
operator.source§impl<'a, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<Matrix<N, D2, U1, SB>> for &'a Point<N, D1>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'a, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<Matrix<N, D2, U1, SB>> for &'a Point<N, D1>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
source§impl<N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
source§impl<'a, N, D: DimName> Sub<Point<N, D>> for &'a Point<N, D>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
impl<'a, N, D: DimName> Sub<Point<N, D>> for &'a Point<N, D>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
§type Output = Matrix<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, U1, <DefaultAllocator as Allocator<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, <ShapeConstraint as SameNumberOfColumns<U1, U1>>::Representative>>::Buffer>
type Output = Matrix<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, U1, <DefaultAllocator as Allocator<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, <ShapeConstraint as SameNumberOfColumns<U1, U1>>::Representative>>::Buffer>
-
operator.source§impl<N, D: DimName> Sub<Point<N, D>> for Point<N, D>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
impl<N, D: DimName> Sub<Point<N, D>> for Point<N, D>where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
§type Output = Matrix<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, U1, <DefaultAllocator as Allocator<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, <ShapeConstraint as SameNumberOfColumns<U1, U1>>::Representative>>::Buffer>
type Output = Matrix<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, U1, <DefaultAllocator as Allocator<N, <ShapeConstraint as SameNumberOfRows<D, D>>::Representative, <ShapeConstraint as SameNumberOfColumns<U1, U1>>::Representative>>::Buffer>
-
operator.source§impl<'b, N, D1: DimName, D2: Dim, SB> SubAssign<&'b Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedSub,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
impl<'b, N, D1: DimName, D2: Dim, SB> SubAssign<&'b Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedSub,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
source§fn sub_assign(&mut self, right: &'b Vector<N, D2, SB>)
fn sub_assign(&mut self, right: &'b Vector<N, D2, SB>)
-=
operation. Read moresource§impl<N, D1: DimName, D2: Dim, SB> SubAssign<Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedSub,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
impl<N, D1: DimName, D2: Dim, SB> SubAssign<Matrix<N, D2, U1, SB>> for Point<N, D1>where
N: Scalar + ClosedSub,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
source§fn sub_assign(&mut self, right: Vector<N, D2, SB>)
fn sub_assign(&mut self, right: Vector<N, D2, SB>)
-=
operation. Read moresource§impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, U1, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, U1>>::Buffer>> for Point<N1, D>where
D: DimNameAdd<U1>,
N1: Scalar,
N2: Scalar + Zero + One + ClosedDiv + SupersetOf<N1>,
DefaultAllocator: Allocator<N1, D> + Allocator<N1, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>> + Allocator<N2, D>,
impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, U1, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, U1>>::Buffer>> for Point<N1, D>where
D: DimNameAdd<U1>,
N1: Scalar,
N2: Scalar + Zero + One + ClosedDiv + SupersetOf<N1>,
DefaultAllocator: Allocator<N1, D> + Allocator<N1, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>> + Allocator<N2, D>,
source§fn to_superset(&self) -> VectorN<N2, DimNameSum<D, U1>>
fn to_superset(&self) -> VectorN<N2, DimNameSum<D, U1>>
self
to the equivalent element of its superset.source§fn is_in_subset(v: &VectorN<N2, DimNameSum<D, U1>>) -> bool
fn is_in_subset(v: &VectorN<N2, DimNameSum<D, U1>>) -> bool
element
is actually part of the subset Self
(and can be converted to it).source§unsafe fn from_superset_unchecked(v: &VectorN<N2, DimNameSum<D, U1>>) -> Self
unsafe fn from_superset_unchecked(v: &VectorN<N2, DimNameSum<D, U1>>) -> Self
self.to_superset
but without any property checks. Always succeeds.source§impl<N1, N2, D> SubsetOf<Point<N2, D>> for Point<N1, D>where
D: DimName,
N1: Scalar,
N2: Scalar + SupersetOf<N1>,
DefaultAllocator: Allocator<N2, D> + Allocator<N1, D>,
impl<N1, N2, D> SubsetOf<Point<N2, D>> for Point<N1, D>where
D: DimName,
N1: Scalar,
N2: Scalar + SupersetOf<N1>,
DefaultAllocator: Allocator<N2, D> + Allocator<N1, D>,
source§fn to_superset(&self) -> Point<N2, D>
fn to_superset(&self) -> Point<N2, D>
self
to the equivalent element of its superset.source§fn is_in_subset(m: &Point<N2, D>) -> bool
fn is_in_subset(m: &Point<N2, D>) -> bool
element
is actually part of the subset Self
(and can be converted to it).source§unsafe fn from_superset_unchecked(m: &Point<N2, D>) -> Self
unsafe fn from_superset_unchecked(m: &Point<N2, D>) -> Self
self.to_superset
but without any property checks. Always succeeds.source§impl<N: Real, D: DimNameSub<U1>> Transformation<Point<N, <D as DimNameSub<U1>>::Output>> for MatrixN<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameDiff<D, U1>> + Allocator<N, DimNameDiff<D, U1>, DimNameDiff<D, U1>>,
impl<N: Real, D: DimNameSub<U1>> Transformation<Point<N, <D as DimNameSub<U1>>::Output>> for MatrixN<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameDiff<D, U1>> + Allocator<N, DimNameDiff<D, U1>, DimNameDiff<D, U1>>,
source§fn transform_vector(
&self,
v: &VectorN<N, DimNameDiff<D, U1>>
) -> VectorN<N, DimNameDiff<D, U1>>
fn transform_vector(
&self,
v: &VectorN<N, DimNameDiff<D, U1>>
) -> VectorN<N, DimNameDiff<D, U1>>
source§fn transform_point(
&self,
pt: &Point<N, DimNameDiff<D, U1>>
) -> Point<N, DimNameDiff<D, U1>>
fn transform_point(
&self,
pt: &Point<N, DimNameDiff<D, U1>>
) -> Point<N, DimNameDiff<D, U1>>
source§impl<N: Real, D: DimName, R> Transformation<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> Transformation<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<N: Real, D: DimName> Transformation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: Real, D: DimName> Transformation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
source§impl<N: Real, D: DimName, R> Transformation<Point<N, D>> for Similarity<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> Transformation<Point<N, D>> for Similarity<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
source§impl<N, D: DimNameAdd<U1>, C> Transformation<Point<N, D>> for Transform<N, D, C>where
N: Real,
C: TCategory,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, D>,
impl<N, D: DimNameAdd<U1>, C> Transformation<Point<N, D>> for Transform<N, D, C>where
N: Real,
C: TCategory,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, D>,
source§impl<N: Real, D: DimName> Transformation<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName> Transformation<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
source§impl<N: Real> Transformation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
impl<N: Real> Transformation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
source§impl<N: Real> Transformation<Point<N, U3>> for UnitQuaternion<N>
impl<N: Real> Transformation<Point<N, U3>> for UnitQuaternion<N>
source§impl<N: Real, D: DimName> Translation<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName> Translation<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
Subgroups of the n-dimensional translation group T(n)
.
source§fn from_vector(v: VectorN<N, D>) -> Option<Self>
fn from_vector(v: VectorN<N, D>) -> Option<Self>
None
if the translation
represented by v
is not part of the translation subgroup represented by Self
. Read moresource§impl<N: Scalar + UlpsEq, D: DimName> UlpsEq<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
impl<N: Scalar + UlpsEq, D: DimName> UlpsEq<Point<N, D>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
impl<N: Scalar, D: DimName> Copy for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Copy,
impl<N: Real, D: DimName, R> DirectIsometry<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName> DirectIsometry<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: Real, D: DimName> DirectIsometry<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real> DirectIsometry<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
impl<N: Real> DirectIsometry<Point<N, U3>> for UnitQuaternion<N>
impl<N: Scalar + Eq, D: DimName> Eq for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName, R> Isometry<Point<N, D>> for Isometry<N, D, R>where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: Real, D: DimName> Isometry<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: Real, D: DimName> Isometry<Point<N, D>> for Translation<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Real> Isometry<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
impl<N: Real> Isometry<Point<N, U3>> for UnitQuaternion<N>
impl<N: Real, D: DimName> OrthogonalTransformation<Point<N, D>> for Rotation<N, D>where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: Real> OrthogonalTransformation<Point<N, U2>> for UnitComplex<N>where
DefaultAllocator: Allocator<N, U2>,
impl<N: Real> OrthogonalTransformation<Point<N, U3>> for UnitQuaternion<N>
Auto Trait Implementations§
impl<N, D> !RefUnwindSafe for Point<N, D>
impl<N, D> !Send for Point<N, D>
impl<N, D> !Sync for Point<N, D>
impl<N, D> !Unpin for Point<N, D>
impl<N, D> !UnwindSafe for Point<N, D>
Blanket Implementations§
source§impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere
T: Bounded,
source§impl<T> Rand for Twhere
Standard: Distribution<T>,
impl<T> Rand for Twhere
Standard: Distribution<T>,
source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.