Struct nalgebra::geometry::Point [−][src]
Expand description
A point in an euclidean space.
The difference between a point and a vector is only semantic. See the user guide
for details on the distinction. The most notable difference that vectors ignore translations.
In particular, an Isometry2
or Isometry3
will
transform points by applying a rotation and a translation on them. However, these isometries
will only apply rotations to vectors (when doing isometry * vector
, the translation part of
the isometry is ignored).
Construction
- From individual components
new
… - Swizzling
xx
,yxz
… - Other construction methods
origin
,from_slice
,from_homogeneous
…
Transformation
Transforming a point by an Isometry, rotation, etc. can be
achieved by multiplication, e.g., isometry * point
or rotation * point
. Some of these transformation
may have some other methods, e.g., isometry.inverse_transform_point(&point)
. See the documentation
of said transformations for details.
Fields
coords: SVector<T, D>
The coordinates of this point, i.e., the shift from the origin.
Implementations
impl<T: Scalar, const D: usize> Point<T, D>
[src]
impl<T: Scalar, const D: usize> Point<T, D>
[src]pub fn map<T2: Scalar, F: FnMut(T) -> T2>(&self, f: F) -> Point<T2, D>
[src]
pub fn map<T2: Scalar, F: FnMut(T) -> T2>(&self, f: F) -> Point<T2, D>
[src]Returns a point containing the result of f
applied to each of its entries.
Example
let p = Point2::new(1.0, 2.0); assert_eq!(p.map(|e| e * 10.0), Point2::new(10.0, 20.0)); // This works in any dimension. let p = Point3::new(1.1, 2.1, 3.1); assert_eq!(p.map(|e| e as u32), Point3::new(1, 2, 3));
pub fn apply<F: FnMut(T) -> T>(&mut self, f: F)
[src]
pub fn apply<F: FnMut(T) -> T>(&mut self, f: F)
[src]Replaces each component of self
by the result of a closure f
applied on it.
Example
let mut p = Point2::new(1.0, 2.0); p.apply(|e| e * 10.0); assert_eq!(p, Point2::new(10.0, 20.0)); // This works in any dimension. let mut p = Point3::new(1.0, 2.0, 3.0); p.apply(|e| e * 10.0); assert_eq!(p, Point3::new(10.0, 20.0, 30.0));
pub fn to_homogeneous(&self) -> OVector<T, DimNameSum<Const<D>, U1>> where
T: One,
Const<D>: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>>,
[src]
pub fn to_homogeneous(&self) -> OVector<T, DimNameSum<Const<D>, U1>> where
T: One,
Const<D>: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>>,
[src]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));
pub fn from_coordinates(coords: SVector<T, D>) -> Self
[src]
👎 Deprecated: Use Point::from(vector) instead.
pub fn from_coordinates(coords: SVector<T, D>) -> Self
[src]Use Point::from(vector) instead.
Creates a new point with the given coordinates.
pub fn len(&self) -> usize
[src]
pub fn len(&self) -> usize
[src]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);
pub fn is_empty(&self) -> bool
[src]
pub fn is_empty(&self) -> bool
[src]Returns true if the point contains no elements.
Example
let p = Point2::new(1.0, 2.0); assert!(!p.is_empty());
pub fn stride(&self) -> usize
[src]
👎 Deprecated: This methods is no longer significant and will always return 1.
pub fn stride(&self) -> usize
[src]This methods is no longer significant and will always return 1.
The stride of this point. This is the number of buffer element separating each component of this point.
pub fn iter(
&self
) -> MatrixIter<'_, T, Const<D>, Const<1>, <DefaultAllocator as Allocator<T, Const<D>>>::Buffer>ⓘNotable traits for MatrixIter<'a, T, R, C, S>
impl<'a, T: Scalar, R: Dim, C: Dim, S: 'a + Storage<T, R, C>> Iterator for MatrixIter<'a, T, R, C, S> type Item = &'a T;
[src]
pub fn iter(
&self
) -> MatrixIter<'_, T, Const<D>, Const<1>, <DefaultAllocator as Allocator<T, Const<D>>>::Buffer>ⓘNotable traits for MatrixIter<'a, T, R, C, S>
impl<'a, T: Scalar, R: Dim, C: Dim, S: 'a + Storage<T, R, C>> Iterator for MatrixIter<'a, T, R, C, S> type Item = &'a T;
[src]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);
pub unsafe fn get_unchecked(&self, i: usize) -> &T
[src]
pub unsafe fn get_unchecked(&self, i: usize) -> &T
[src]Gets a reference to i-th element of this point without bound-checking.
pub fn iter_mut(
&mut self
) -> MatrixIterMut<'_, T, Const<D>, Const<1>, <DefaultAllocator as Allocator<T, Const<D>>>::Buffer>ⓘNotable traits for MatrixIterMut<'a, T, R, C, S>
impl<'a, T: Scalar, R: Dim, C: Dim, S: 'a + StorageMut<T, R, C>> Iterator for MatrixIterMut<'a, T, R, C, S> type Item = &'a mut T;
[src]
pub fn iter_mut(
&mut self
) -> MatrixIterMut<'_, T, Const<D>, Const<1>, <DefaultAllocator as Allocator<T, Const<D>>>::Buffer>ⓘNotable traits for MatrixIterMut<'a, T, R, C, S>
impl<'a, T: Scalar, R: Dim, C: Dim, S: 'a + StorageMut<T, R, C>> Iterator for MatrixIterMut<'a, T, R, C, S> type Item = &'a mut T;
[src]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));
pub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut T
[src]
pub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut T
[src]Gets a mutable reference to i-th element of this point without bound-checking.
pub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
[src]
pub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
[src]Swaps two entries without bound-checking.
impl<T: Scalar + SimdPartialOrd, const D: usize> Point<T, D>
[src]
impl<T: Scalar + SimdPartialOrd, const D: usize> Point<T, D>
[src]impl<T: Scalar, const D: usize> Point<T, D>
[src]
impl<T: Scalar, const D: usize> Point<T, D>
[src]pub unsafe fn new_uninitialized() -> Self
[src]
pub unsafe fn new_uninitialized() -> Self
[src]Creates a new point with uninitialized coordinates.
pub fn origin() -> Self where
T: Zero,
[src]
pub fn origin() -> Self where
T: Zero,
[src]Creates a new point with all coordinates equal to zero.
Example
// This works in any dimension. // The explicit crate::<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);
pub fn from_slice(components: &[T]) -> Self
[src]
pub fn from_slice(components: &[T]) -> Self
[src]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));
pub fn from_homogeneous(v: OVector<T, DimNameSum<Const<D>, U1>>) -> Option<Self> where
T: Scalar + Zero + One + ClosedDiv,
Const<D>: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>>,
[src]
pub fn from_homogeneous(v: OVector<T, DimNameSum<Const<D>, U1>>) -> Option<Self> where
T: Scalar + Zero + One + ClosedDiv,
Const<D>: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>>,
[src]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)));
impl<T: Scalar, const D: usize> Point<T, D> where
Const<D>: ToTypenum,
[src]
impl<T: Scalar, const D: usize> Point<T, D> where
Const<D>: ToTypenum,
[src]pub fn xx(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U0, Output = Greater>,
[src]
pub fn xx(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U0, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xxx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U0, Output = Greater>,
[src]
pub fn xxx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U0, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xy(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn xy(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yx(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn yx(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yy(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn yy(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xxy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn xxy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xyx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn xyx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xyy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn xyy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yxx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn yxx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yxy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn yxy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yyx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn yyx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yyy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]
pub fn yyy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xz(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn xz(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yz(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn yz(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zx(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zx(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zy(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zy(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zz(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zz(&self) -> Point2<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xxz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn xxz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xyz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn xyz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xzx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn xzx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xzy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn xzy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn xzz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn xzz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yxz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn yxz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yyz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn yyz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yzx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn yzx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yzy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn yzy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn yzz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn yzz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zxx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zxx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zxy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zxy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zxz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zxz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zyx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zyx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zyy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zyy(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zyz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zyz(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
pub fn zzx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]
pub fn zzx(&self) -> Point3<T> where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
[src]Builds a new point from components of self
.
Trait Implementations
impl<T: Scalar + AbsDiffEq, const D: usize> AbsDiffEq<Point<T, D>> for Point<T, D> where
T::Epsilon: Copy,
[src]
impl<T: Scalar + AbsDiffEq, const D: usize> AbsDiffEq<Point<T, D>> for Point<T, D> where
T::Epsilon: Copy,
[src]fn default_epsilon() -> Self::Epsilon
[src]
fn default_epsilon() -> Self::Epsilon
[src]The default tolerance to use when testing values that are close together. Read more
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]A test for equality that uses the absolute difference to compute the approximate equality of two numbers. Read more
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]The inverse of AbsDiffEq::abs_diff_eq
.
impl<'a, 'b, T, D2, SB, const D1: usize> Add<&'b Matrix<T, D2, Const<1_usize>, SB>> for &'a Point<T, D1> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]
impl<'a, 'b, T, D2, SB, const D1: usize> Add<&'b Matrix<T, D2, Const<1_usize>, SB>> for &'a Point<T, D1> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]impl<'b, T, D2, SB, const D1: usize> Add<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]
impl<'b, T, D2, SB, const D1: usize> Add<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]impl<'a, T, D2, SB, const D1: usize> Add<Matrix<T, D2, Const<1_usize>, SB>> for &'a Point<T, D1> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]
impl<'a, T, D2, SB, const D1: usize> Add<Matrix<T, D2, Const<1_usize>, SB>> for &'a Point<T, D1> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]impl<T, D2, SB, const D1: usize> Add<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]
impl<T, D2, SB, const D1: usize> Add<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]impl<'b, T, D2: Dim, SB, const D1: usize> AddAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]
impl<'b, T, D2: Dim, SB, const D1: usize> AddAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]fn add_assign(&mut self, right: &'b Vector<T, D2, SB>)
[src]
fn add_assign(&mut self, right: &'b Vector<T, D2, SB>)
[src]Performs the +=
operation. Read more
impl<T, D2: Dim, SB, const D1: usize> AddAssign<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]
impl<T, D2: Dim, SB, const D1: usize> AddAssign<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]fn add_assign(&mut self, right: Vector<T, D2, SB>)
[src]
fn add_assign(&mut self, right: Vector<T, D2, SB>)
[src]Performs the +=
operation. Read more
impl<T: Scalar + ClosedDiv, const D: usize> DivAssign<T> for Point<T, D>
[src]
impl<T: Scalar + ClosedDiv, const D: usize> DivAssign<T> for Point<T, D>
[src]fn div_assign(&mut self, right: T)
[src]
fn div_assign(&mut self, right: T)
[src]Performs the /=
operation. Read more
impl<T: Scalar + Copy + PrimitiveSimdValue, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 16]> for Point<T, D> where
T: From<[<T as SimdValue>::Element; 16]>,
T::Element: Scalar + Copy,
<DefaultAllocator as Allocator<T::Element, Const<D>>>::Buffer: Copy,
[src]
impl<T: Scalar + Copy + PrimitiveSimdValue, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 16]> for Point<T, D> where
T: From<[<T as SimdValue>::Element; 16]>,
T::Element: Scalar + Copy,
<DefaultAllocator as Allocator<T::Element, Const<D>>>::Buffer: Copy,
[src]impl<T: Scalar + Copy + PrimitiveSimdValue, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 2]> for Point<T, D> where
T: From<[<T as SimdValue>::Element; 2]>,
T::Element: Scalar + Copy,
<DefaultAllocator as Allocator<T::Element, Const<D>>>::Buffer: Copy,
[src]
impl<T: Scalar + Copy + PrimitiveSimdValue, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 2]> for Point<T, D> where
T: From<[<T as SimdValue>::Element; 2]>,
T::Element: Scalar + Copy,
<DefaultAllocator as Allocator<T::Element, Const<D>>>::Buffer: Copy,
[src]impl<T: Scalar + Copy + PrimitiveSimdValue, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 4]> for Point<T, D> where
T: From<[<T as SimdValue>::Element; 4]>,
T::Element: Scalar + Copy,
<DefaultAllocator as Allocator<T::Element, Const<D>>>::Buffer: Copy,
[src]
impl<T: Scalar + Copy + PrimitiveSimdValue, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 4]> for Point<T, D> where
T: From<[<T as SimdValue>::Element; 4]>,
T::Element: Scalar + Copy,
<DefaultAllocator as Allocator<T::Element, Const<D>>>::Buffer: Copy,
[src]impl<T: Scalar + Copy + PrimitiveSimdValue, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 8]> for Point<T, D> where
T: From<[<T as SimdValue>::Element; 8]>,
T::Element: Scalar + Copy,
<DefaultAllocator as Allocator<T::Element, Const<D>>>::Buffer: Copy,
[src]
impl<T: Scalar + Copy + PrimitiveSimdValue, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 8]> for Point<T, D> where
T: From<[<T as SimdValue>::Element; 8]>,
T::Element: Scalar + Copy,
<DefaultAllocator as Allocator<T::Element, Const<D>>>::Buffer: Copy,
[src]impl<T: Scalar, const D: usize> From<Matrix<T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>> for Point<T, D>
[src]
impl<T: Scalar, const D: usize> From<Matrix<T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>> for Point<T, D>
[src]impl<T: Scalar + Zero + One, const D: usize> From<Point<T, D>> for OVector<T, DimNameSum<Const<D>, U1>> where
Const<D>: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>>,
[src]
impl<T: Scalar + Zero + One, const D: usize> From<Point<T, D>> for OVector<T, DimNameSum<Const<D>, U1>> where
Const<D>: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>>,
[src]impl<T: SimdRealField, R, const D: usize> From<Point<T, D>> for Isometry<T, R, D> where
R: AbstractRotation<T, D>,
[src]
impl<T: SimdRealField, R, const D: usize> From<Point<T, D>> for Isometry<T, R, D> where
R: AbstractRotation<T, D>,
[src]impl<'b, T: SimdRealField> Mul<&'b Point<T, 2_usize>> for UnitComplex<T> where
T::Element: SimdRealField,
[src]
impl<'b, T: SimdRealField> Mul<&'b Point<T, 2_usize>> for UnitComplex<T> where
T::Element: SimdRealField,
[src]impl<'a, 'b, T: SimdRealField> Mul<&'b Point<T, 2_usize>> for &'a UnitComplex<T> where
T::Element: SimdRealField,
[src]
impl<'a, 'b, T: SimdRealField> Mul<&'b Point<T, 2_usize>> for &'a UnitComplex<T> where
T::Element: SimdRealField,
[src]impl<'a, 'b, T: SimdRealField> Mul<&'b Point<T, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
[src]
impl<'a, 'b, T: SimdRealField> Mul<&'b Point<T, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
[src]impl<'b, T: SimdRealField> Mul<&'b Point<T, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
[src]
impl<'b, T: SimdRealField> Mul<&'b Point<T, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
[src]impl<'a, 'b, T: SimdRealField> Mul<&'b Point<T, 3_usize>> for &'a UnitDualQuaternion<T> where
T::Element: SimdRealField,
[src]
impl<'a, 'b, T: SimdRealField> Mul<&'b Point<T, 3_usize>> for &'a UnitDualQuaternion<T> where
T::Element: SimdRealField,
[src]impl<'b, T: SimdRealField> Mul<&'b Point<T, 3_usize>> for UnitDualQuaternion<T> where
T::Element: SimdRealField,
[src]
impl<'b, T: SimdRealField> Mul<&'b Point<T, 3_usize>> for UnitDualQuaternion<T> where
T::Element: SimdRealField,
[src]impl<'b, T, const D: usize> Mul<&'b Point<T, D>> for Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
[src]
impl<'b, T, const D: usize> Mul<&'b Point<T, D>> for Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
[src]impl<'a, 'b, T, const D: usize> Mul<&'b Point<T, D>> for &'a Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
[src]
impl<'a, 'b, T, const D: usize> Mul<&'b Point<T, D>> for &'a Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
[src]impl<'a, 'b, T, const D: usize> Mul<&'b Point<T, D>> for &'a Translation<T, D> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]
impl<'a, 'b, T, const D: usize> Mul<&'b Point<T, D>> for &'a Translation<T, D> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]impl<'b, T, const D: usize> Mul<&'b Point<T, D>> for Translation<T, D> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]
impl<'b, T, const D: usize> Mul<&'b Point<T, D>> for Translation<T, D> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b Point<T, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]impl<'b, T, C, const D: usize> Mul<&'b Point<T, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
[src]
impl<'b, T, C, const D: usize> Mul<&'b Point<T, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
[src]impl<'a, 'b, T, C, const D: usize> Mul<&'b Point<T, D>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
[src]
impl<'a, 'b, T, C, const D: usize> Mul<&'b Point<T, D>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
[src]impl<'b, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<&'b Point<T, D2>> for Matrix<T, Const<R1>, Const<C1>, SA> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
[src]
impl<'b, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<&'b Point<T, D2>> for Matrix<T, Const<R1>, Const<C1>, SA> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
[src]impl<'a, 'b, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<&'b Point<T, D2>> for &'a Matrix<T, Const<R1>, Const<C1>, SA> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
[src]
impl<'a, 'b, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<&'b Point<T, D2>> for &'a Matrix<T, Const<R1>, Const<C1>, SA> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
[src]impl<T: SimdRealField> Mul<Point<T, 2_usize>> for UnitComplex<T> where
T::Element: SimdRealField,
[src]
impl<T: SimdRealField> Mul<Point<T, 2_usize>> for UnitComplex<T> where
T::Element: SimdRealField,
[src]impl<'a, T: SimdRealField> Mul<Point<T, 2_usize>> for &'a UnitComplex<T> where
T::Element: SimdRealField,
[src]
impl<'a, T: SimdRealField> Mul<Point<T, 2_usize>> for &'a UnitComplex<T> where
T::Element: SimdRealField,
[src]impl<'a, T: SimdRealField> Mul<Point<T, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
[src]
impl<'a, T: SimdRealField> Mul<Point<T, 3_usize>> for &'a UnitQuaternion<T> where
T::Element: SimdRealField,
[src]impl<T: SimdRealField> Mul<Point<T, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
[src]
impl<T: SimdRealField> Mul<Point<T, 3_usize>> for UnitQuaternion<T> where
T::Element: SimdRealField,
[src]impl<'a, T: SimdRealField> Mul<Point<T, 3_usize>> for &'a UnitDualQuaternion<T> where
T::Element: SimdRealField,
[src]
impl<'a, T: SimdRealField> Mul<Point<T, 3_usize>> for &'a UnitDualQuaternion<T> where
T::Element: SimdRealField,
[src]impl<T: SimdRealField> Mul<Point<T, 3_usize>> for UnitDualQuaternion<T> where
T::Element: SimdRealField,
[src]
impl<T: SimdRealField> Mul<Point<T, 3_usize>> for UnitDualQuaternion<T> where
T::Element: SimdRealField,
[src]impl<T, const D: usize> Mul<Point<T, D>> for Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
[src]
impl<T, const D: usize> Mul<Point<T, D>> for Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
[src]impl<'a, T, const D: usize> Mul<Point<T, D>> for &'a Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
[src]
impl<'a, T, const D: usize> Mul<Point<T, D>> for &'a Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
[src]impl<'a, T, const D: usize> Mul<Point<T, D>> for &'a Translation<T, D> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]
impl<'a, T, const D: usize> Mul<Point<T, D>> for &'a Translation<T, D> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]impl<T, const D: usize> Mul<Point<T, D>> for Translation<T, D> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]
impl<T, const D: usize> Mul<Point<T, D>> for Translation<T, D> where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]impl<T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]
impl<T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]impl<'a, T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]
impl<'a, T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for &'a Isometry<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]impl<T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]
impl<T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]impl<'a, T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]
impl<'a, T: SimdRealField, R, const D: usize> Mul<Point<T, D>> for &'a Similarity<T, R, D> where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
[src]impl<T, C, const D: usize> Mul<Point<T, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
[src]
impl<T, C, const D: usize> Mul<Point<T, D>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
[src]impl<'a, T, C, const D: usize> Mul<Point<T, D>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
[src]
impl<'a, T, C, const D: usize> Mul<Point<T, D>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
[src]impl<T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<Point<T, D2>> for Matrix<T, Const<R1>, Const<C1>, SA> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
[src]
impl<T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<Point<T, D2>> for Matrix<T, Const<R1>, Const<C1>, SA> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
[src]impl<'a, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<Point<T, D2>> for &'a Matrix<T, Const<R1>, Const<C1>, SA> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
[src]
impl<'a, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<Point<T, D2>> for &'a Matrix<T, Const<R1>, Const<C1>, SA> where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
[src]impl<T: Scalar + ClosedMul, const D: usize> MulAssign<T> for Point<T, D>
[src]
impl<T: Scalar + ClosedMul, const D: usize> MulAssign<T> for Point<T, D>
[src]fn mul_assign(&mut self, right: T)
[src]
fn mul_assign(&mut self, right: T)
[src]Performs the *=
operation. Read more
impl<T: Scalar + PartialOrd, const D: usize> PartialOrd<Point<T, D>> for Point<T, D>
[src]
impl<T: Scalar + PartialOrd, const D: usize> PartialOrd<Point<T, D>> for Point<T, D>
[src]fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, right: &Self) -> bool
[src]
fn lt(&self, right: &Self) -> bool
[src]This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, right: &Self) -> bool
[src]
fn le(&self, right: &Self) -> bool
[src]This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl<T: Scalar + RelativeEq, const D: usize> RelativeEq<Point<T, D>> for Point<T, D> where
T::Epsilon: Copy,
[src]
impl<T: Scalar + RelativeEq, const D: usize> RelativeEq<Point<T, D>> for Point<T, D> where
T::Epsilon: Copy,
[src]fn default_max_relative() -> Self::Epsilon
[src]
fn default_max_relative() -> Self::Epsilon
[src]The default relative tolerance for testing values that are far-apart. Read more
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]A test for equality that uses a relative comparison if the values are far apart.
fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]The inverse of RelativeEq::relative_eq
.
impl<T: Scalar + SimdValue, const D: usize> SimdValue for Point<T, D> where
T::Element: Scalar,
[src]
impl<T: Scalar + SimdValue, const D: usize> SimdValue for Point<T, D> where
T::Element: Scalar,
[src]unsafe fn extract_unchecked(&self, i: usize) -> Self::Element
[src]
unsafe fn extract_unchecked(&self, i: usize) -> Self::Element
[src]Extracts the i-th lane of self
without bound-checking.
fn replace(&mut self, i: usize, val: Self::Element)
[src]
fn replace(&mut self, i: usize, val: Self::Element)
[src]Replaces the i-th lane of self
by val
. Read more
unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)
[src]
unsafe fn replace_unchecked(&mut self, i: usize, val: Self::Element)
[src]Replaces the i-th lane of self
by val
without bound-checking.
fn select(self, cond: Self::SimdBool, other: Self) -> Self
[src]
fn select(self, cond: Self::SimdBool, other: Self) -> Self
[src]Merges self
and other
depending on the lanes of cond
. Read more
impl<'a, 'b, T, D2, SB, const D1: usize> Sub<&'b Matrix<T, D2, Const<1_usize>, SB>> for &'a Point<T, D1> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]
impl<'a, 'b, T, D2, SB, const D1: usize> Sub<&'b Matrix<T, D2, Const<1_usize>, SB>> for &'a Point<T, D1> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]impl<'b, T, D2, SB, const D1: usize> Sub<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]
impl<'b, T, D2, SB, const D1: usize> Sub<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]impl<'a, 'b, T, const D: usize> Sub<&'b Point<T, D>> for &'a Point<T, D> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]
impl<'a, 'b, T, const D: usize> Sub<&'b Point<T, D>> for &'a Point<T, D> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]impl<'b, T, const D: usize> Sub<&'b Point<T, D>> for Point<T, D> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]
impl<'b, T, const D: usize> Sub<&'b Point<T, D>> for Point<T, D> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]impl<'a, T, D2, SB, const D1: usize> Sub<Matrix<T, D2, Const<1_usize>, SB>> for &'a Point<T, D1> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]
impl<'a, T, D2, SB, const D1: usize> Sub<Matrix<T, D2, Const<1_usize>, SB>> for &'a Point<T, D1> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]impl<T, D2, SB, const D1: usize> Sub<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]
impl<T, D2, SB, const D1: usize> Sub<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2, Representative = Const<D1>> + SameNumberOfColumns<U1, U1, Representative = U1>,
D2: Dim,
SB: Storage<T, D2>,
[src]impl<'a, T, const D: usize> Sub<Point<T, D>> for &'a Point<T, D> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]
impl<'a, T, const D: usize> Sub<Point<T, D>> for &'a Point<T, D> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]impl<T, const D: usize> Sub<Point<T, D>> for Point<T, D> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]
impl<T, const D: usize> Sub<Point<T, D>> for Point<T, D> where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
[src]impl<'b, T, D2: Dim, SB, const D1: usize> SubAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]
impl<'b, T, D2: Dim, SB, const D1: usize> SubAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]fn sub_assign(&mut self, right: &'b Vector<T, D2, SB>)
[src]
fn sub_assign(&mut self, right: &'b Vector<T, D2, SB>)
[src]Performs the -=
operation. Read more
impl<T, D2: Dim, SB, const D1: usize> SubAssign<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]
impl<T, D2: Dim, SB, const D1: usize> SubAssign<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]fn sub_assign(&mut self, right: Vector<T, D2, SB>)
[src]
fn sub_assign(&mut self, right: Vector<T, D2, SB>)
[src]Performs the -=
operation. Read more
impl<T1, T2, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>> for Point<T1, D> where
Const<D>: DimNameAdd<U1>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>>,
[src]
impl<T1, T2, const D: usize> SubsetOf<Matrix<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>> for Point<T1, D> where
Const<D>: DimNameAdd<U1>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, DimNameSum<Const<D>, U1>> + Allocator<T2, DimNameSum<Const<D>, U1>>,
[src]fn to_superset(&self) -> OVector<T2, DimNameSum<Const<D>, U1>>
[src]
fn to_superset(&self) -> OVector<T2, DimNameSum<Const<D>, U1>>
[src]The inclusion map: converts self
to the equivalent element of its superset.
fn is_in_subset(v: &OVector<T2, DimNameSum<Const<D>, U1>>) -> bool
[src]
fn is_in_subset(v: &OVector<T2, DimNameSum<Const<D>, U1>>) -> bool
[src]Checks if element
is actually part of the subset Self
(and can be converted to it).
fn from_superset_unchecked(v: &OVector<T2, DimNameSum<Const<D>, U1>>) -> Self
[src]
fn from_superset_unchecked(v: &OVector<T2, DimNameSum<Const<D>, U1>>) -> Self
[src]Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
[src]
fn from_superset(element: &T) -> Option<Self>
[src]The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T1, T2, const D: usize> SubsetOf<Point<T2, D>> for Point<T1, D> where
T1: Scalar,
T2: Scalar + SupersetOf<T1>,
[src]
impl<T1, T2, const D: usize> SubsetOf<Point<T2, D>> for Point<T1, D> where
T1: Scalar,
T2: Scalar + SupersetOf<T1>,
[src]fn to_superset(&self) -> Point<T2, D>
[src]
fn to_superset(&self) -> Point<T2, D>
[src]The inclusion map: converts self
to the equivalent element of its superset.
fn is_in_subset(m: &Point<T2, D>) -> bool
[src]
fn is_in_subset(m: &Point<T2, D>) -> bool
[src]Checks if element
is actually part of the subset Self
(and can be converted to it).
fn from_superset_unchecked(m: &Point<T2, D>) -> Self
[src]
fn from_superset_unchecked(m: &Point<T2, D>) -> Self
[src]Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
[src]
fn from_superset(element: &T) -> Option<Self>
[src]The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
impl<T: Scalar + UlpsEq, const D: usize> UlpsEq<Point<T, D>> for Point<T, D> where
T::Epsilon: Copy,
[src]
impl<T: Scalar + UlpsEq, const D: usize> UlpsEq<Point<T, D>> for Point<T, D> where
T::Epsilon: Copy,
[src]impl<T: Scalar + Copy, const D: usize> Copy for Point<T, D>
[src]
impl<T: Scalar + Eq, const D: usize> Eq for Point<T, D>
[src]
Auto Trait Implementations
impl<T, const D: usize> RefUnwindSafe for Point<T, D> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T, const D: usize> Send for Point<T, D> where
T: Send,
T: Send,
impl<T, const D: usize> Sync for Point<T, D> where
T: Sync,
T: Sync,
impl<T, const D: usize> Unpin for Point<T, D> where
T: Unpin,
T: Unpin,
impl<T, const D: usize> UnwindSafe for Point<T, D> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> SimdPartialOrd for T where
T: SimdValue<Element = T, SimdBool = bool> + PartialOrd<T>,
[src]
impl<T> SimdPartialOrd for T where
T: SimdValue<Element = T, SimdBool = bool> + PartialOrd<T>,
[src]pub fn simd_gt(self, other: T) -> <T as SimdValue>::SimdBool
[src]
pub fn simd_gt(self, other: T) -> <T as SimdValue>::SimdBool
[src]Lanewise greater than >
comparison.
pub fn simd_ge(self, other: T) -> <T as SimdValue>::SimdBool
[src]
pub fn simd_ge(self, other: T) -> <T as SimdValue>::SimdBool
[src]Lanewise greater or equal >=
comparison.
pub fn simd_le(self, other: T) -> <T as SimdValue>::SimdBool
[src]
pub fn simd_le(self, other: T) -> <T as SimdValue>::SimdBool
[src]Lanewise less or equal <=
comparison.
pub fn simd_clamp(self, min: T, max: T) -> T
[src]
pub fn simd_clamp(self, min: T, max: T) -> T
[src]Clamps each lane of self
between the corresponding lane of min
and max
.
pub fn simd_horizontal_min(self) -> <T as SimdValue>::Element
[src]
pub fn simd_horizontal_min(self) -> <T as SimdValue>::Element
[src]The min value among all lanes of self
.
pub fn simd_horizontal_max(self) -> <T as SimdValue>::Element
[src]
pub fn simd_horizontal_max(self) -> <T as SimdValue>::Element
[src]The max value among all lanes of self
.
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn to_subset(&self) -> Option<SS>
[src]The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
[src]
pub fn is_in_subset(&self) -> bool
[src]Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
[src]
pub fn from_subset(element: &SS) -> SP
[src]The inclusion map: converts self
to the equivalent element of its superset.
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
pub fn vzip(self) -> V
impl<T, Right> ClosedAdd<Right> for T where
T: Add<Right, Output = T> + AddAssign<Right>,
[src]
T: Add<Right, Output = T> + AddAssign<Right>,
impl<T, Right> ClosedDiv<Right> for T where
T: Div<Right, Output = T> + DivAssign<Right>,
[src]
T: Div<Right, Output = T> + DivAssign<Right>,
impl<T, Right> ClosedMul<Right> for T where
T: Mul<Right, Output = T> + MulAssign<Right>,
[src]
T: Mul<Right, Output = T> + MulAssign<Right>,
impl<T> ClosedNeg for T where
T: Neg<Output = T>,
[src]
T: Neg<Output = T>,
impl<T, Right> ClosedSub<Right> for T where
T: Sub<Right, Output = T> + SubAssign<Right>,
[src]
T: Sub<Right, Output = T> + SubAssign<Right>,