#[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.
This is the same as .into()
.
Example
let p = Point2::new(10.0, 20.0);
assert_eq!(p.to_homogeneous(), Vector3::new(10.0, 20.0, 1.0));
// This works in any dimension.
let p = Point3::new(10.0, 20.0, 30.0);
assert_eq!(p.to_homogeneous(), Vector4::new(10.0, 20.0, 30.0, 1.0));
sourcepub fn from_coordinates(coords: VectorN<N, D>) -> Point<N, D>
👎Deprecated: Use Point::from(vector) instead.
pub fn from_coordinates(coords: VectorN<N, D>) -> Point<N, D>
Creates a new point with the given coordinates.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
The dimension of this point.
Example
let p = Point2::new(1.0, 2.0);
assert_eq!(p.len(), 2);
// This works in any dimension.
let p = Point3::new(10.0, 20.0, 30.0);
assert_eq!(p.len(), 3);
sourcepub fn stride(&self) -> usize
👎Deprecated: This methods is no longer significant and will always return 1.
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.
Example
let p = Point3::new(1.0, 2.0, 3.0);
let mut it = p.iter().cloned();
assert_eq!(it.next(), Some(1.0));
assert_eq!(it.next(), Some(2.0));
assert_eq!(it.next(), Some(3.0));
assert_eq!(it.next(), None);
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.
Example
let mut p = Point3::new(1.0, 2.0, 3.0);
for e in p.iter_mut() {
*e *= 10.0;
}
assert_eq!(p, Point3::new(10.0, 20.0, 30.0));
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 origin() -> Selfwhere
N: Zero,
pub fn origin() -> Selfwhere
N: Zero,
Creates a new point with all coordinates equal to zero.
Example
// This works in any dimension.
// The explicit ::<f32> type annotation may not always be needed,
// depending on the context of type inference.
let pt = Point2::<f32>::origin();
assert!(pt.x == 0.0 && pt.y == 0.0);
let pt = Point3::<f32>::origin();
assert!(pt.x == 0.0 && pt.y == 0.0 && pt.z == 0.0);
sourcepub fn from_slice(components: &[N]) -> Self
pub fn from_slice(components: &[N]) -> Self
Creates a new point from a slice.
Example
let data = [ 1.0, 2.0, 3.0 ];
let pt = Point2::from_slice(&data[..2]);
assert_eq!(pt, Point2::new(1.0, 2.0));
let pt = Point3::from_slice(&data);
assert_eq!(pt, Point3::new(1.0, 2.0, 3.0));
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.
Example
let coords = Vector4::new(1.0, 2.0, 3.0, 1.0);
let pt = Point3::from_homogeneous(coords);
assert_eq!(pt, Some(Point3::new(1.0, 2.0, 3.0)));
// All component of the result will be divided by the
// last component of the vector, here 2.0.
let coords = Vector4::new(1.0, 2.0, 3.0, 2.0);
let pt = Point3::from_homogeneous(coords);
assert_eq!(pt, Some(Point3::new(0.5, 1.0, 1.5)));
// Fails because the last component is zero.
let coords = Vector4::new(1.0, 2.0, 3.0, 0.0);
let pt = Point3::from_homogeneous(coords);
assert!(pt.is_none());
// Works also in other dimensions.
let coords = Vector3::new(1.0, 2.0, 1.0);
let pt = Point2::from_homogeneous(coords);
assert_eq!(pt, Some(Point2::new(1.0, 2.0)));
source§impl<N: Scalar, D: DimName> Point<N, D>where
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U0, Output = Greater>,
impl<N: Scalar, D: DimName> Point<N, D>where
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U0, Output = Greater>,
source§impl<N: Scalar, D: DimName> Point<N, D>where
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U1, Output = Greater>,
impl<N: Scalar, D: DimName> Point<N, D>where
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U1, Output = Greater>,
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: Clone + Scalar, D: Clone + DimName> Clone for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Clone + Scalar, D: Clone + DimName> Clone for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
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, D: DimName> From<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar, D: DimName> From<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Point<N, D>where
DefaultAllocator: Allocator<N, D>,
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.