Struct lnkit::prelude::Point [−][src]
#[repr(C)]pub struct Point<T, const D: usize> { pub coords: Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>, }
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: Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
The coordinates of this point, i.e., the shift from the origin.
Implementations
impl<T, const D: usize> Point<T, D> where
T: Scalar,
[src]
impl<T, const D: usize> Point<T, D> where
T: Scalar,
[src]pub fn map<T2, F>(&self, f: F) -> Point<T2, D> where
F: FnMut(T) -> T2,
T2: Scalar,
[src]
F: FnMut(T) -> T2,
T2: Scalar,
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>(&mut self, f: F) where
F: FnMut(T) -> T,
[src]
F: FnMut(T) -> T,
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
) -> Matrix<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer> where
T: One,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
[src]
&self
) -> Matrix<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer> where
T: One,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
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: Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Point<T, D>
[src]
coords: Matrix<T, Const<D>, Const<1_usize>, ArrayStorage<T, D, 1_usize>>
) -> Point<T, D>
Use Point::from(vector) instead.
Creates a new point with the given coordinates.
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]
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]
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_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>ⓘNotable traits for MatrixIter<'a, T, R, C, S>
impl<'a, T, R, C, S> Iterator for MatrixIter<'a, T, R, C, S> where
C: Dim,
T: Scalar,
S: 'a + Storage<T, R, C>,
R: Dim, type Item = &'a T;
[src]
&self
) -> MatrixIter<'_, T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>ⓘ
Notable traits for MatrixIter<'a, T, R, C, S>
impl<'a, T, R, C, S> Iterator for MatrixIter<'a, T, R, C, S> where
C: Dim,
T: Scalar,
S: 'a + Storage<T, R, C>,
R: Dim, type Item = &'a T;
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]
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_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>ⓘNotable traits for MatrixIterMut<'a, T, R, C, S>
impl<'a, T, R, C, S> Iterator for MatrixIterMut<'a, T, R, C, S> where
C: Dim,
T: Scalar,
S: 'a + StorageMut<T, R, C>,
R: Dim, type Item = &'a mut T;
[src]
&mut self
) -> MatrixIterMut<'_, T, Const<D>, Const<1_usize>, <DefaultAllocator as Allocator<T, Const<D>, Const<1_usize>>>::Buffer>ⓘ
Notable traits for MatrixIterMut<'a, T, R, C, S>
impl<'a, T, R, C, S> Iterator for MatrixIterMut<'a, T, R, C, S> where
C: Dim,
T: Scalar,
S: 'a + StorageMut<T, R, C>,
R: Dim, type Item = &'a mut T;
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]
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]
Swaps two entries without bound-checking.
impl<T, const D: usize> Point<T, D> where
T: Scalar + SimdPartialOrd,
[src]
impl<T, const D: usize> Point<T, D> where
T: Scalar + SimdPartialOrd,
[src]pub fn inf(&self, other: &Point<T, D>) -> Point<T, D>
[src]
Computes the infimum (aka. componentwise min) of two points.
pub fn sup(&self, other: &Point<T, D>) -> Point<T, D>
[src]
Computes the supremum (aka. componentwise max) of two points.
pub fn inf_sup(&self, other: &Point<T, D>) -> (Point<T, D>, Point<T, D>)
[src]
Computes the (infimum, supremum) of two points.
impl<T, const D: usize> Point<T, D> where
T: Scalar,
[src]
impl<T, const D: usize> Point<T, D> where
T: Scalar,
[src]pub unsafe fn new_uninitialized() -> Point<T, D>
[src]
Creates a new point with uninitialized coordinates.
pub fn origin() -> Point<T, D> where
T: Zero,
[src]
T: Zero,
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]) -> Point<T, D>
[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: Matrix<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
) -> Option<Point<T, D>> where
T: Scalar + Zero + One + ClosedDiv<T>,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
[src]
v: Matrix<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
) -> Option<Point<T, D>> where
T: Scalar + Zero + One + ClosedDiv<T>,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
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)));
pub fn cast<To>(self) -> Point<To, D> where
To: Scalar,
Point<To, D>: SupersetOf<Point<T, D>>,
[src]
To: Scalar,
Point<To, D>: SupersetOf<Point<T, D>>,
Cast the components of self
to another type.
Example
let pt = Point2::new(1.0f64, 2.0); let pt2 = pt.cast::<f32>(); assert_eq!(pt2, Point2::new(1.0f32, 2.0));
impl<T, const D: usize> Point<T, D> where
T: Scalar,
Const<D>: ToTypenum,
[src]
impl<T, const D: usize> Point<T, D> where
T: Scalar,
Const<D>: ToTypenum,
[src]pub fn xx(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UTerm>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UTerm>>::Output == Greater,
Builds a new point from components of self
.
pub fn xxx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UTerm>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UTerm>>::Output == Greater,
Builds a new point from components of self
.
pub fn xy(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yx(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yy(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xxy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xyx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xyy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yxx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yxy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yyx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yyy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xz(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yz(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zx(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zy(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zz(&self) -> Point<T, 2_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xxz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xyz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xzx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xzy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn xzz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yxz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yyz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yzx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yzy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn yzz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zxx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zxy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zxz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zyx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zyy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zyz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zzx(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zzy(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
pub fn zzz(&self) -> Point<T, 3_usize> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
[src]
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UInt<UTerm, B1>, B0>>>::Output == Greater,
Builds a new point from components of self
.
Trait Implementations
impl<T, const D: usize> AbsDiffEq<Point<T, D>> for Point<T, D> where
T: Scalar + AbsDiffEq<T>,
<T as AbsDiffEq<T>>::Epsilon: Copy,
[src]
impl<T, const D: usize> AbsDiffEq<Point<T, D>> for Point<T, D> where
T: Scalar + AbsDiffEq<T>,
<T as AbsDiffEq<T>>::Epsilon: Copy,
[src]type Epsilon = <T as AbsDiffEq<T>>::Epsilon
Used for specifying relative comparisons.
pub fn default_epsilon() -> <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon
[src]
pub fn abs_diff_eq(
&self,
other: &Point<T, D>,
epsilon: <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon
) -> bool
[src]
&self,
other: &Point<T, D>,
epsilon: <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon
) -> bool
pub fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<T, D2, SB, const D1: usize> Add<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<T, D2, SB, const D1: usize> Add<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<'b, T, D2, SB, const D1: usize> AddAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]
impl<'b, T, D2, SB, const D1: usize> AddAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]pub fn add_assign(&mut self, right: &'b Matrix<T, D2, Const<1_usize>, SB>)
[src]
impl<T, D2, SB, const D1: usize> AddAssign<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]
impl<T, D2, SB, const D1: usize> AddAssign<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedAdd<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]pub fn add_assign(&mut self, right: Matrix<T, D2, Const<1_usize>, SB>)
[src]
impl<'a, T, const D: usize> Deserialize<'a> for Point<T, D> where
T: Scalar + Deserialize<'a>,
[src]
impl<'a, T, const D: usize> Deserialize<'a> for Point<T, D> where
T: Scalar + Deserialize<'a>,
[src]pub fn deserialize<Des>(
deserializer: Des
) -> Result<Point<T, D>, <Des as Deserializer<'a>>::Error> where
Des: Deserializer<'a>,
[src]
deserializer: Des
) -> Result<Point<T, D>, <Des as Deserializer<'a>>::Error> where
Des: Deserializer<'a>,
impl<T, const D: usize> DivAssign<T> for Point<T, D> where
T: Scalar + ClosedDiv<T>,
[src]
impl<T, const D: usize> DivAssign<T> for Point<T, D> where
T: Scalar + ClosedDiv<T>,
[src]pub fn div_assign(&mut self, right: T)
[src]
impl<T, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 16]> for Point<T, D> where
T: Scalar + Copy + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 16]>,
<T as SimdValue>::Element: Scalar,
<T as SimdValue>::Element: Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1_usize>>>::Buffer: Copy,
[src]
impl<T, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 16]> for Point<T, D> where
T: Scalar + Copy + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 16]>,
<T as SimdValue>::Element: Scalar,
<T as SimdValue>::Element: Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1_usize>>>::Buffer: Copy,
[src]impl<T, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 2]> for Point<T, D> where
T: Scalar + Copy + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 2]>,
<T as SimdValue>::Element: Scalar,
<T as SimdValue>::Element: Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1_usize>>>::Buffer: Copy,
[src]
impl<T, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 2]> for Point<T, D> where
T: Scalar + Copy + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 2]>,
<T as SimdValue>::Element: Scalar,
<T as SimdValue>::Element: Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1_usize>>>::Buffer: Copy,
[src]impl<T, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 4]> for Point<T, D> where
T: Scalar + Copy + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 4]>,
<T as SimdValue>::Element: Scalar,
<T as SimdValue>::Element: Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1_usize>>>::Buffer: Copy,
[src]
impl<T, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 4]> for Point<T, D> where
T: Scalar + Copy + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 4]>,
<T as SimdValue>::Element: Scalar,
<T as SimdValue>::Element: Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1_usize>>>::Buffer: Copy,
[src]impl<T, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 8]> for Point<T, D> where
T: Scalar + Copy + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 8]>,
<T as SimdValue>::Element: Scalar,
<T as SimdValue>::Element: Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1_usize>>>::Buffer: Copy,
[src]
impl<T, const D: usize> From<[Point<<T as SimdValue>::Element, D>; 8]> for Point<T, D> where
T: Scalar + Copy + PrimitiveSimdValue + From<[<T as SimdValue>::Element; 8]>,
<T as SimdValue>::Element: Scalar,
<T as SimdValue>::Element: Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1_usize>>>::Buffer: Copy,
[src]impl<T, 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> where
T: Scalar,
[src]
impl<T, 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> where
T: Scalar,
[src]impl<T, const D: usize> From<Point<T, D>> for Matrix<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer> where
T: Scalar + Zero + One,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
[src]
impl<T, const D: usize> From<Point<T, D>> for Matrix<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer> where
T: Scalar + Zero + One,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
[src]impl<'a, 'b, T> Mul<&'b Point<T, 2_usize>> for &'a Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, 'b, T> Mul<&'b Point<T, 2_usize>> for &'a Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'b, T> Mul<&'b Point<T, 2_usize>> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'b, T> Mul<&'b Point<T, 2_usize>> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'b, T> Mul<&'b Point<T, 3_usize>> for Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'b, T> Mul<&'b Point<T, 3_usize>> for Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'a, 'b, T> Mul<&'b Point<T, 3_usize>> for &'a Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, 'b, T> Mul<&'b Point<T, 3_usize>> for &'a Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'b, T> Mul<&'b Point<T, 3_usize>> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'b, T> Mul<&'b Point<T, 3_usize>> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'a, 'b, T> Mul<&'b Point<T, 3_usize>> for &'a Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, 'b, T> Mul<&'b Point<T, 3_usize>> for &'a Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'b, T, const D: usize> Mul<&'b Point<T, D>> for Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T>,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, Const<1_usize>>,
[src]
impl<'b, T, const D: usize> Mul<&'b Point<T, D>> for Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T>,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, Const<1_usize>>,
[src]impl<'a, 'b, T, const D: usize> Mul<&'b Point<T, D>> for &'a Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T>,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, Const<1_usize>>,
[src]
impl<'a, 'b, T, const D: usize> Mul<&'b Point<T, D>> for &'a Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T>,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, Const<1_usize>>,
[src]impl<'a, 'b, T, const D: usize> Mul<&'b Point<T, D>> for &'a Translation<T, D> where
T: ClosedAdd<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<'a, 'b, T, const D: usize> Mul<&'b Point<T, D>> for &'a Translation<T, D> where
T: ClosedAdd<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<'a, 'b, T, R, const D: usize> Mul<&'b Point<T, D>> for &'a Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, 'b, T, R, const D: usize> Mul<&'b Point<T, D>> for &'a Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'b, T, C, const D: usize> Mul<&'b Point<T, D>> for Transform<T, C, D> where
C: TCategory,
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>,
[src]
impl<'b, T, C, const D: usize> Mul<&'b Point<T, D>> for Transform<T, C, D> where
C: TCategory,
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>,
[src]impl<'a, 'b, T, C, const D: usize> Mul<&'b Point<T, D>> for &'a Transform<T, C, D> where
C: TCategory,
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>,
[src]
impl<'a, 'b, T, C, const D: usize> Mul<&'b Point<T, D>> for &'a Transform<T, C, D> where
C: TCategory,
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>,
[src]impl<'b, T, R, const D: usize> Mul<&'b Point<T, D>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'b, T, R, const D: usize> Mul<&'b Point<T, D>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'b, T, R, const D: usize> Mul<&'b Point<T, D>> for Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'b, T, R, const D: usize> Mul<&'b Point<T, D>> for Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'a, 'b, T, R, const D: usize> Mul<&'b Point<T, D>> for &'a Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, 'b, T, R, const D: usize> Mul<&'b Point<T, D>> for &'a Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'b, T, const D: usize> Mul<&'b Point<T, D>> for Translation<T, D> where
T: ClosedAdd<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<'b, T, const D: usize> Mul<&'b Point<T, D>> for Translation<T, D> where
T: ClosedAdd<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T> + ClosedMul<T>,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, Const<1_usize>>,
[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<T> + ClosedMul<T>,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, Const<1_usize>>,
[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<T> + ClosedMul<T>,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, Const<1_usize>>,
[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<T> + ClosedMul<T>,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, Const<1_usize>>,
[src]impl<T> Mul<Point<T, 2_usize>> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<T> Mul<Point<T, 2_usize>> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'a, T> Mul<Point<T, 2_usize>> for &'a Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, T> Mul<Point<T, 2_usize>> for &'a Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<T> Mul<Point<T, 3_usize>> for Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<T> Mul<Point<T, 3_usize>> for Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<T> Mul<Point<T, 3_usize>> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<T> Mul<Point<T, 3_usize>> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'a, T> Mul<Point<T, 3_usize>> for &'a Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, T> Mul<Point<T, 3_usize>> for &'a Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'a, T> Mul<Point<T, 3_usize>> for &'a Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, T> Mul<Point<T, 3_usize>> for &'a Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
[src]impl<'a, T, const D: usize> Mul<Point<T, D>> for &'a Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T>,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, Const<1_usize>>,
[src]
impl<'a, T, const D: usize> Mul<Point<T, D>> for &'a Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T>,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, Const<1_usize>>,
[src]impl<'a, T, const D: usize> Mul<Point<T, D>> for &'a Translation<T, D> where
T: ClosedAdd<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<'a, T, const D: usize> Mul<Point<T, D>> for &'a Translation<T, D> where
T: ClosedAdd<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<T, R, const D: usize> Mul<Point<T, D>> for Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<T, R, const D: usize> Mul<Point<T, D>> for Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]impl<T, const D: usize> Mul<Point<T, D>> for Translation<T, D> where
T: ClosedAdd<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<T, const D: usize> Mul<Point<T, D>> for Translation<T, D> where
T: ClosedAdd<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<T, R, const D: usize> Mul<Point<T, D>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<T, R, const D: usize> Mul<Point<T, D>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]impl<T, C, const D: usize> Mul<Point<T, D>> for Transform<T, C, D> where
C: TCategory,
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>,
[src]
impl<T, C, const D: usize> Mul<Point<T, D>> for Transform<T, C, D> where
C: TCategory,
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>,
[src]impl<'a, T, R, const D: usize> Mul<Point<T, D>> for &'a Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, T, R, const D: usize> Mul<Point<T, D>> for &'a Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]impl<T, const D: usize> Mul<Point<T, D>> for Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T>,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, Const<1_usize>>,
[src]
impl<T, const D: usize> Mul<Point<T, D>> for Rotation<T, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T>,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, Const<1_usize>>,
[src]impl<'a, T, C, const D: usize> Mul<Point<T, D>> for &'a Transform<T, C, D> where
C: TCategory,
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>,
[src]
impl<'a, T, C, const D: usize> Mul<Point<T, D>> for &'a Transform<T, C, D> where
C: TCategory,
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, <Const<D> as DimNameAdd<Const<1_usize>>>::Output>,
[src]impl<'a, T, R, const D: usize> Mul<Point<T, D>> for &'a Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[src]
impl<'a, T, R, const D: usize> Mul<Point<T, D>> for &'a Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
[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<T> + ClosedMul<T>,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, Const<1_usize>>,
[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<T> + ClosedMul<T>,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, Const<1_usize>>,
[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<T> + ClosedMul<T>,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, Const<1_usize>>,
[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<T> + ClosedMul<T>,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, Const<1_usize>>,
[src]impl<T, const D: usize> MulAssign<T> for Point<T, D> where
T: Scalar + ClosedMul<T>,
[src]
impl<T, const D: usize> MulAssign<T> for Point<T, D> where
T: Scalar + ClosedMul<T>,
[src]pub fn mul_assign(&mut self, right: T)
[src]
impl<T, const D: usize> PartialOrd<Point<T, D>> for Point<T, D> where
T: Scalar + PartialOrd<T>,
[src]
impl<T, const D: usize> PartialOrd<Point<T, D>> for Point<T, D> where
T: Scalar + PartialOrd<T>,
[src]impl<T, const D: usize> RelativeEq<Point<T, D>> for Point<T, D> where
T: Scalar + RelativeEq<T>,
<T as AbsDiffEq<T>>::Epsilon: Copy,
[src]
impl<T, const D: usize> RelativeEq<Point<T, D>> for Point<T, D> where
T: Scalar + RelativeEq<T>,
<T as AbsDiffEq<T>>::Epsilon: Copy,
[src]pub fn default_max_relative(
) -> <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon
[src]
) -> <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon
pub fn relative_eq(
&self,
other: &Point<T, D>,
epsilon: <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon,
max_relative: <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon
) -> bool
[src]
&self,
other: &Point<T, D>,
epsilon: <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon,
max_relative: <Point<T, D> as AbsDiffEq<Point<T, D>>>::Epsilon
) -> bool
pub fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
impl<T, const D: usize> Serialize for Point<T, D> where
T: Scalar + Serialize,
[src]
impl<T, const D: usize> Serialize for Point<T, D> where
T: Scalar + Serialize,
[src]pub fn serialize<S>(
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
[src]
&self,
serializer: S
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error> where
S: Serializer,
impl<T, const D: usize> SimdValue for Point<T, D> where
T: Scalar + SimdValue,
<T as SimdValue>::Element: Scalar,
[src]
impl<T, const D: usize> SimdValue for Point<T, D> where
T: Scalar + SimdValue,
<T as SimdValue>::Element: Scalar,
[src]type Element = Point<<T as SimdValue>::Element, D>
The type of the elements of each lane of this SIMD value.
type SimdBool = <T as SimdValue>::SimdBool
Type of the result of comparing two SIMD values like self
.
pub fn lanes() -> usize
[src]
pub fn splat(val: <Point<T, D> as SimdValue>::Element) -> Point<T, D>
[src]
pub fn extract(&self, i: usize) -> <Point<T, D> as SimdValue>::Element
[src]
pub unsafe fn extract_unchecked(
&self,
i: usize
) -> <Point<T, D> as SimdValue>::Element
[src]
&self,
i: usize
) -> <Point<T, D> as SimdValue>::Element
pub fn replace(&mut self, i: usize, val: <Point<T, D> as SimdValue>::Element)
[src]
pub unsafe fn replace_unchecked(
&mut self,
i: usize,
val: <Point<T, D> as SimdValue>::Element
)
[src]
&mut self,
i: usize,
val: <Point<T, D> as SimdValue>::Element
)
pub fn select(
self,
cond: <Point<T, D> as SimdValue>::SimdBool,
other: Point<T, D>
) -> Point<T, D>
[src]
self,
cond: <Point<T, D> as SimdValue>::SimdBool,
other: Point<T, D>
) -> Point<T, D>
pub fn map_lanes(self, f: impl Fn(Self::Element) -> Self::Element) -> Self where
Self: Clone,
Self: Clone,
pub fn zip_map_lanes(
self,
b: Self,
f: impl Fn(Self::Element, Self::Element) -> Self::Element
) -> Self where
Self: Clone,
self,
b: Self,
f: impl Fn(Self::Element, Self::Element) -> Self::Element
) -> Self where
Self: Clone,
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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<'a, 'b, T, const D: usize> Sub<&'b Point<T, D>> for &'a Point<T, D> where
T: ClosedSub<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<'a, 'b, T, const D: usize> Sub<&'b Point<T, D>> for &'a Point<T, D> where
T: ClosedSub<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<'b, T, const D: usize> Sub<&'b Point<T, D>> for Point<T, D> where
T: ClosedSub<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<'b, T, const D: usize> Sub<&'b Point<T, D>> for Point<T, D> where
T: ClosedSub<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<T, D2, SB, const D1: usize> Sub<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<T, D2, SB, const D1: usize> Sub<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[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<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D1>, D2>>::Representative == Const<D1>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<'a, T, const D: usize> Sub<Point<T, D>> for &'a Point<T, D> where
T: ClosedSub<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<'a, T, const D: usize> Sub<Point<T, D>> for &'a Point<T, D> where
T: ClosedSub<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<T, const D: usize> Sub<Point<T, D>> for Point<T, D> where
T: ClosedSub<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]
impl<T, const D: usize> Sub<Point<T, D>> for Point<T, D> where
T: ClosedSub<T> + Scalar,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<Const<D>, Const<D>>>::Representative == Const<D>,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
[src]impl<'b, T, D2, SB, const D1: usize> SubAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]
impl<'b, T, D2, SB, const D1: usize> SubAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]pub fn sub_assign(&mut self, right: &'b Matrix<T, D2, Const<1_usize>, SB>)
[src]
impl<T, D2, SB, const D1: usize> SubAssign<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]
impl<T, D2, SB, const D1: usize> SubAssign<Matrix<T, D2, Const<1_usize>, SB>> for Point<T, D1> where
T: Scalar + ClosedSub<T>,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<Const<D1>, D2>,
[src]pub fn sub_assign(&mut self, right: Matrix<T, D2, Const<1_usize>, SB>)
[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
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv<T2> + SupersetOf<T1>,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
[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
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv<T2> + SupersetOf<T1>,
Const<D>: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T1, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T2, <Const<D> as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
[src]pub fn to_superset(
&self
) -> 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>
[src]
&self
) -> 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>
pub fn is_in_subset(
v: &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>
) -> bool
[src]
v: &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>
) -> bool
pub fn from_superset_unchecked(
v: &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>
) -> Point<T1, D>
[src]
v: &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>
) -> Point<T1, D>
pub fn from_superset(element: &T) -> Option<Self>
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]pub fn to_superset(&self) -> Point<T2, D>
[src]
pub fn is_in_subset(m: &Point<T2, D>) -> bool
[src]
pub fn from_superset_unchecked(m: &Point<T2, D>) -> Point<T1, D>
[src]
pub fn from_superset(element: &T) -> Option<Self>
Auto Trait Implementations
impl<T, const D: usize> RefUnwindSafe for Point<T, D> where
T: RefUnwindSafe,
impl<T, const D: usize> RefUnwindSafe for Point<T, D> where
T: RefUnwindSafe,
impl<T, const D: usize> UnwindSafe for Point<T, D> where
T: UnwindSafe,
impl<T, const D: usize> UnwindSafe for Point<T, D> where
T: UnwindSafe,
Blanket Implementations
impl<T, U> Cast<U> for T where
U: FromCast<T>,
impl<T, U> Cast<U> for T where
U: FromCast<T>,
pub fn cast(self) -> U
impl<T> ClosedNeg for T where
T: Neg<Output = T>,
impl<T> ClosedNeg for T where
T: Neg<Output = T>,
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
impl<T> FromBits<T> for T
impl<T> FromBits<T> for T
pub fn from_bits(t: T) -> T
impl<T> FromCast<T> for T
impl<T> FromCast<T> for T
pub fn from_cast(t: T) -> T
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
impl<T, U> IntoBits<U> for T where
U: FromBits<T>,
pub fn into_bits(self) -> U
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SimdPartialOrd for T where
T: SimdValue<Element = T, SimdBool = bool> + PartialOrd<T>,
impl<T> SimdPartialOrd for T where
T: SimdValue<Element = T, SimdBool = bool> + PartialOrd<T>,
pub fn simd_gt(self, other: T) -> <T as SimdValue>::SimdBool
pub fn simd_lt(self, other: T) -> <T as SimdValue>::SimdBool
pub fn simd_ge(self, other: T) -> <T as SimdValue>::SimdBool
pub fn simd_le(self, other: T) -> <T as SimdValue>::SimdBool
pub fn simd_eq(self, other: T) -> <T as SimdValue>::SimdBool
pub fn simd_ne(self, other: T) -> <T as SimdValue>::SimdBool
pub fn simd_max(self, other: T) -> T
pub fn simd_min(self, other: T) -> T
pub fn simd_clamp(self, min: T, max: T) -> T
pub fn simd_horizontal_min(self) -> <T as SimdValue>::Element
pub fn simd_horizontal_max(self) -> <T as SimdValue>::Element
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,