#[repr(C)]pub struct OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>, {
pub coords: Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>,
}
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: Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>
The coordinates of this point, i.e., the shift from the origin.
Implementations
sourceimpl<T, D> OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourcepub fn map<T2, F>(&self, f: F) -> OPoint<T2, D> where
T2: Scalar,
F: FnMut(T) -> T2,
DefaultAllocator: Allocator<T2, D, Const<1_usize>>,
pub fn map<T2, F>(&self, f: F) -> OPoint<T2, D> where
T2: Scalar,
F: FnMut(T) -> T2,
DefaultAllocator: Allocator<T2, D, Const<1_usize>>,
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));
sourcepub fn apply<F>(&mut self, f: F) where
F: FnMut(&mut T),
pub fn apply<F>(&mut self, f: F) where
F: FnMut(&mut 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 = *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 = *e * 10.0);
assert_eq!(p, Point3::new(10.0, 20.0, 30.0));
sourcepub fn to_homogeneous(
&self
) -> Matrix<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer> where
T: One,
D: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
pub fn to_homogeneous(
&self
) -> Matrix<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer> where
T: One,
D: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <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));
sourcepub fn from_coordinates(
coords: Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>
) -> OPoint<T, D>
👎 Deprecated: Use Point::from(vector) instead.
pub fn from_coordinates(
coords: Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>
) -> OPoint<T, D>
Use Point::from(vector) instead.
Creates a new point with the given coordinates.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
The dimension of this point.
Example
let p = Point2::new(1.0, 2.0);
assert_eq!(p.len(), 2);
// This works in any dimension.
let p = Point3::new(10.0, 20.0, 30.0);
assert_eq!(p.len(), 3);
sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if the point contains no elements.
Example
let p = Point2::new(1.0, 2.0);
assert!(!p.is_empty());
sourcepub fn stride(&self) -> usize
👎 Deprecated: This methods is no longer significant and will always return 1.
pub fn stride(&self) -> usize
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.
sourcepub fn iter(
&self
) -> MatrixIter<'_, T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, 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
R: Dim,
C: Dim,
S: 'a + RawStorage<T, R, C>, type Item = &'a T;
pub fn iter(
&self
) -> MatrixIter<'_, T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, 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
R: Dim,
C: Dim,
S: 'a + RawStorage<T, R, C>, type Item = &'a T;
R: Dim,
C: Dim,
S: 'a + RawStorage<T, R, C>, 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);
sourcepub unsafe fn get_unchecked(&self, i: usize) -> &T
pub unsafe fn get_unchecked(&self, i: usize) -> &T
Gets a reference to i-th element of this point without bound-checking.
sourcepub fn iter_mut(
&mut self
) -> MatrixIterMut<'_, T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, 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
R: Dim,
C: Dim,
S: 'a + RawStorageMut<T, R, C>, type Item = &'a mut T;
pub fn iter_mut(
&mut self
) -> MatrixIterMut<'_, T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, 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
R: Dim,
C: Dim,
S: 'a + RawStorageMut<T, R, C>, type Item = &'a mut T;
R: Dim,
C: Dim,
S: 'a + RawStorageMut<T, R, C>, 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));
sourcepub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut T
pub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut T
Gets a mutable reference to i-th element of this point without bound-checking.
sourcepub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
pub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
Swaps two entries without bound-checking.
sourceimpl<T, D> OPoint<T, D> where
T: Scalar + SimdPartialOrd,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> OPoint<T, D> where
T: Scalar + SimdPartialOrd,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourcepub fn origin() -> OPoint<T, D> where
T: Zero,
pub fn origin() -> OPoint<T, D> where
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);
sourcepub fn from_slice(components: &[T]) -> OPoint<T, D>
pub fn from_slice(components: &[T]) -> OPoint<T, D>
Creates a new point from a slice.
Example
let data = [ 1.0, 2.0, 3.0 ];
let pt = Point2::from_slice(&data[..2]);
assert_eq!(pt, Point2::new(1.0, 2.0));
let pt = Point3::from_slice(&data);
assert_eq!(pt, Point3::new(1.0, 2.0, 3.0));
sourcepub fn from_homogeneous(
v: Matrix<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
) -> Option<OPoint<T, D>> where
T: Scalar + Zero + One + ClosedDiv<T>,
D: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
pub fn from_homogeneous(
v: Matrix<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
) -> Option<OPoint<T, D>> where
T: Scalar + Zero + One + ClosedDiv<T>,
D: DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <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)));
sourcepub fn cast<To>(self) -> OPoint<To, D> where
To: Scalar,
OPoint<To, D>: SupersetOf<OPoint<T, D>>,
DefaultAllocator: Allocator<To, D, Const<1_usize>>,
pub fn cast<To>(self) -> OPoint<To, D> where
To: Scalar,
OPoint<To, D>: SupersetOf<OPoint<T, D>>,
DefaultAllocator: Allocator<To, D, Const<1_usize>>,
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));
sourceimpl<T, const D: usize> OPoint<T, Const<D>> where
T: Scalar,
Const<D>: ToTypenum,
impl<T, const D: usize> OPoint<T, Const<D>> where
T: Scalar,
Const<D>: ToTypenum,
sourcepub fn xx(&self) -> OPoint<T, Const<2_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UTerm>>::Output == Greater,
pub fn xx(&self) -> OPoint<T, Const<2_usize>> where
<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
.
sourcepub fn xxx(&self) -> OPoint<T, Const<3_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UTerm>>::Output == Greater,
pub fn xxx(&self) -> OPoint<T, Const<3_usize>> where
<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
.
sourcepub fn xy(&self) -> OPoint<T, Const<2_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn xy(&self) -> OPoint<T, Const<2_usize>> where
<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
.
sourcepub fn yx(&self) -> OPoint<T, Const<2_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn yx(&self) -> OPoint<T, Const<2_usize>> where
<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
.
sourcepub fn yy(&self) -> OPoint<T, Const<2_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn yy(&self) -> OPoint<T, Const<2_usize>> where
<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
.
sourcepub fn xxy(&self) -> OPoint<T, Const<3_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn xxy(&self) -> OPoint<T, Const<3_usize>> where
<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
.
sourcepub fn xyx(&self) -> OPoint<T, Const<3_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn xyx(&self) -> OPoint<T, Const<3_usize>> where
<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
.
sourcepub fn xyy(&self) -> OPoint<T, Const<3_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn xyy(&self) -> OPoint<T, Const<3_usize>> where
<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
.
sourcepub fn yxx(&self) -> OPoint<T, Const<3_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn yxx(&self) -> OPoint<T, Const<3_usize>> where
<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
.
sourcepub fn yxy(&self) -> OPoint<T, Const<3_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn yxy(&self) -> OPoint<T, Const<3_usize>> where
<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
.
sourcepub fn yyx(&self) -> OPoint<T, Const<3_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn yyx(&self) -> OPoint<T, Const<3_usize>> where
<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
.
sourcepub fn yyy(&self) -> OPoint<T, Const<3_usize>> where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>>,
<<Const<D> as ToTypenum>::Typenum as Cmp<UInt<UTerm, B1>>>::Output == Greater,
pub fn yyy(&self) -> OPoint<T, Const<3_usize>> where
<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
.
sourcepub fn xz(&self) -> OPoint<T, Const<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,
pub fn xz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn yz(&self) -> OPoint<T, Const<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,
pub fn yz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zx(&self) -> OPoint<T, Const<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,
pub fn zx(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zy(&self) -> OPoint<T, Const<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,
pub fn zy(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zz(&self) -> OPoint<T, Const<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,
pub fn zz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn xxz(&self) -> OPoint<T, Const<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,
pub fn xxz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn xyz(&self) -> OPoint<T, Const<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,
pub fn xyz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn xzx(&self) -> OPoint<T, Const<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,
pub fn xzx(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn xzy(&self) -> OPoint<T, Const<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,
pub fn xzy(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn xzz(&self) -> OPoint<T, Const<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,
pub fn xzz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn yxz(&self) -> OPoint<T, Const<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,
pub fn yxz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn yyz(&self) -> OPoint<T, Const<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,
pub fn yyz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn yzx(&self) -> OPoint<T, Const<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,
pub fn yzx(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn yzy(&self) -> OPoint<T, Const<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,
pub fn yzy(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn yzz(&self) -> OPoint<T, Const<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,
pub fn yzz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zxx(&self) -> OPoint<T, Const<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,
pub fn zxx(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zxy(&self) -> OPoint<T, Const<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,
pub fn zxy(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zxz(&self) -> OPoint<T, Const<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,
pub fn zxz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zyx(&self) -> OPoint<T, Const<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,
pub fn zyx(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zyy(&self) -> OPoint<T, Const<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,
pub fn zyy(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zyz(&self) -> OPoint<T, Const<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,
pub fn zyz(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
sourcepub fn zzx(&self) -> OPoint<T, Const<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,
pub fn zzx(&self) -> OPoint<T, Const<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,
Builds a new point from components of self
.
Trait Implementations
sourceimpl<T, D> AbsDiffEq<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + AbsDiffEq<T>,
D: DimName,
<T as AbsDiffEq<T>>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> AbsDiffEq<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + AbsDiffEq<T>,
D: DimName,
<T as AbsDiffEq<T>>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
type Epsilon = <T as AbsDiffEq<T>>::Epsilon
type Epsilon = <T as AbsDiffEq<T>>::Epsilon
Used for specifying relative comparisons.
sourcepub fn default_epsilon() -> <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
pub fn default_epsilon() -> <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
The default tolerance to use when testing values that are close together. Read more
sourcepub fn abs_diff_eq(
&self,
other: &OPoint<T, D>,
epsilon: <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
) -> bool
pub fn abs_diff_eq(
&self,
other: &OPoint<T, D>,
epsilon: <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
) -> bool
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
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
The inverse of [AbsDiffEq::abs_diff_eq
].
sourceimpl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
T: Scalar + ClosedAdd<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
T: Scalar + ClosedAdd<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'a, 'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1_usize>, SB>> for &'a OPoint<T, D1> where
T: Scalar + ClosedAdd<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'a, 'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1_usize>, SB>> for &'a OPoint<T, D1> where
T: Scalar + ClosedAdd<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1_usize>, SB>> for &'a OPoint<T, D1> where
T: Scalar + ClosedAdd<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1_usize>, SB>> for &'a OPoint<T, D1> where
T: Scalar + ClosedAdd<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
T: Scalar + ClosedAdd<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
T: Scalar + ClosedAdd<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'b, T, D1, D2, SB> AddAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd<T>,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
impl<'b, T, D1, D2, SB> AddAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd<T>,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
sourcepub fn add_assign(&mut self, right: &'b Matrix<T, D2, Const<1_usize>, SB>)
pub fn add_assign(&mut self, right: &'b Matrix<T, D2, Const<1_usize>, SB>)
Performs the +=
operation. Read more
sourceimpl<T, D1, D2, SB> AddAssign<Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd<T>,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
impl<T, D1, D2, SB> AddAssign<Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd<T>,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
sourcepub fn add_assign(&mut self, right: Matrix<T, D2, Const<1_usize>, SB>)
pub fn add_assign(&mut self, right: Matrix<T, D2, Const<1_usize>, SB>)
Performs the +=
operation. Read more
sourceimpl<T, D> Bounded for OPoint<T, D> where
T: Scalar + Bounded,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Bounded for OPoint<T, D> where
T: Scalar + Bounded,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> Clone for OPoint<T, D> where
T: Clone + Scalar,
D: Clone + DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Clone for OPoint<T, D> where
T: Clone + Scalar,
D: Clone + DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> Debug for OPoint<T, D> where
T: Scalar + Debug,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Debug for OPoint<T, D> where
T: Scalar + Debug,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> Default for OPoint<T, D> where
T: Scalar + Zero,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Default for OPoint<T, D> where
T: Scalar + Zero,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> Display for OPoint<T, D> where
T: Scalar + Display,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Display for OPoint<T, D> where
T: Scalar + Display,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<'a, T, D> Div<T> for &'a OPoint<T, D> where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<'a, T, D> Div<T> for &'a OPoint<T, D> where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> Div<T> for OPoint<T, D> where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Div<T> for OPoint<T, D> where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> DivAssign<T> for OPoint<T, D> where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> DivAssign<T> for OPoint<T, D> where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourcepub fn div_assign(&mut self, right: T)
pub fn div_assign(&mut self, right: T)
Performs the /=
operation. Read more
sourceimpl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 16]> for OPoint<T, Const<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,
impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 16]> for OPoint<T, Const<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,
sourceimpl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 2]> for OPoint<T, Const<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,
impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 2]> for OPoint<T, Const<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,
sourceimpl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 4]> for OPoint<T, Const<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,
impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 4]> for OPoint<T, Const<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,
sourceimpl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 8]> for OPoint<T, Const<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,
impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 8]> for OPoint<T, Const<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,
sourceimpl<T, D> From<Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>> for OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> From<Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>> for OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, const D: usize> From<OPoint<T, Const<D>>> for Translation<T, D> where
T: Scalar,
impl<T, const D: usize> From<OPoint<T, Const<D>>> for Translation<T, D> where
T: Scalar,
sourcepub fn from(pt: OPoint<T, Const<D>>) -> Translation<T, D>
pub fn from(pt: OPoint<T, Const<D>>) -> Translation<T, D>
Performs the conversion.
sourceimpl<T, R, const D: usize> From<OPoint<T, Const<D>>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
impl<T, R, const D: usize> From<OPoint<T, Const<D>>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
sourceimpl<T, D> From<OPoint<T, D>> for Matrix<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer> where
T: Scalar + Zero + One,
D: DimName + DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> From<OPoint<T, D>> for Matrix<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer> where
T: Scalar + Zero + One,
D: DimName + DimNameAdd<Const<1_usize>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourcepub fn from(
t: OPoint<T, D>
) -> Matrix<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
pub fn from(
t: OPoint<T, D>
) -> Matrix<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
Performs the conversion.
sourceimpl<T, D> Hash for OPoint<T, D> where
T: Scalar + Hash,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Hash for OPoint<T, D> where
T: Scalar + Hash,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> Index<usize> for OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Index<usize> for OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> IndexMut<usize> for OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> IndexMut<usize> for OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<'a, 'b, T> Mul<&'b OPoint<T, Const<2_usize>>> for &'a Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, 'b, T> Mul<&'b OPoint<T, Const<2_usize>>> for &'a Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'b, T> Mul<&'b OPoint<T, Const<2_usize>>> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> Mul<&'b OPoint<T, Const<2_usize>>> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'b, T> Mul<&'b OPoint<T, Const<3_usize>>> for Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> Mul<&'b OPoint<T, Const<3_usize>>> for Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'b, T> Mul<&'b OPoint<T, Const<3_usize>>> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> Mul<&'b OPoint<T, Const<3_usize>>> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, 'b, T> Mul<&'b OPoint<T, Const<3_usize>>> for &'a Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, 'b, T> Mul<&'b OPoint<T, Const<3_usize>>> for &'a Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, 'b, T> Mul<&'b OPoint<T, Const<3_usize>>> for &'a Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, 'b, T> Mul<&'b OPoint<T, Const<3_usize>>> for &'a Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, 'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
impl<'a, 'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<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>>,
impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<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>>,
sourceimpl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<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>>,
impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<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>>,
sourceimpl<'a, 'b, T, C, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
C: TCategory,
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>,
impl<'a, 'b, T, C, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
C: TCategory,
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>,
sourceimpl<'b, T, C, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
C: TCategory,
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>,
impl<'b, T, C, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
C: TCategory,
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>,
sourceimpl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Scale<T, D> where
T: ClosedMul<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>,
impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Scale<T, D> where
T: ClosedMul<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>,
sourceimpl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<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>,
impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<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>,
sourceimpl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Scale<T, D> where
T: ClosedMul<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>,
impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Scale<T, D> where
T: ClosedMul<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>,
sourceimpl<'a, 'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
impl<'a, 'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<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>,
impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<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>,
sourceimpl<'b, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<&'b OPoint<T, Const<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>>,
impl<'b, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<&'b OPoint<T, Const<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>>,
sourceimpl<'a, 'b, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<&'b OPoint<T, Const<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>>,
impl<'a, 'b, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<&'b OPoint<T, Const<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>>,
sourceimpl<T> Mul<OPoint<T, Const<2_usize>>> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> Mul<OPoint<T, Const<2_usize>>> for Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T> Mul<OPoint<T, Const<2_usize>>> for &'a Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, T> Mul<OPoint<T, Const<2_usize>>> for &'a Unit<Complex<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T> Mul<OPoint<T, Const<3_usize>>> for &'a Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, T> Mul<OPoint<T, Const<3_usize>>> for &'a Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T> Mul<OPoint<T, Const<3_usize>>> for &'a Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, T> Mul<OPoint<T, Const<3_usize>>> for &'a Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<T> Mul<OPoint<T, Const<3_usize>>> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> Mul<OPoint<T, Const<3_usize>>> for Unit<Quaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<T> Mul<OPoint<T, Const<3_usize>>> for Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> Mul<OPoint<T, Const<3_usize>>> for Unit<DualQuaternion<T>> where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T, const D: usize> Mul<OPoint<T, Const<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>,
impl<'a, T, const D: usize> Mul<OPoint<T, Const<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>,
sourceimpl<T, R, const D: usize> Mul<OPoint<T, Const<D>>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
impl<T, R, const D: usize> Mul<OPoint<T, Const<D>>> for Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
impl<'a, T, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T, C, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
C: TCategory,
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>,
impl<'a, T, C, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
C: TCategory,
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>,
sourceimpl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Scale<T, D> where
T: ClosedMul<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>,
impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Scale<T, D> where
T: ClosedMul<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>,
sourceimpl<'a, T, const D: usize> Mul<OPoint<T, Const<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>>,
impl<'a, T, const D: usize> Mul<OPoint<T, Const<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>>,
sourceimpl<T, const D: usize> Mul<OPoint<T, Const<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>>,
impl<T, const D: usize> Mul<OPoint<T, Const<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>>,
sourceimpl<'a, T, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
impl<'a, T, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Isometry<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<T, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
impl<T, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D> where
T: SimdRealField,
R: AbstractRotation<T, D>,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<T, const D: usize> Mul<OPoint<T, Const<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>,
impl<T, const D: usize> Mul<OPoint<T, Const<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>,
sourceimpl<T, C, const D: usize> Mul<OPoint<T, Const<D>>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
C: TCategory,
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>,
impl<T, C, const D: usize> Mul<OPoint<T, Const<D>>> for Transform<T, C, D> where
T: Scalar + Zero + One + ClosedAdd<T> + ClosedMul<T> + RealField,
C: TCategory,
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>,
sourceimpl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Scale<T, D> where
T: ClosedMul<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>,
impl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Scale<T, D> where
T: ClosedMul<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>,
sourceimpl<'a, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<OPoint<T, Const<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>>,
impl<'a, T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<OPoint<T, Const<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>>,
sourceimpl<T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<OPoint<T, Const<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>>,
impl<T, SA, const D2: usize, const R1: usize, const C1: usize> Mul<OPoint<T, Const<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>>,
sourceimpl<T, D> Mul<T> for OPoint<T, D> where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Mul<T> for OPoint<T, D> where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<'a, T, D> Mul<T> for &'a OPoint<T, D> where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<'a, T, D> Mul<T> for &'a OPoint<T, D> where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> MulAssign<T> for OPoint<T, D> where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> MulAssign<T> for OPoint<T, D> where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourcepub fn mul_assign(&mut self, right: T)
pub fn mul_assign(&mut self, right: T)
Performs the *=
operation. Read more
sourceimpl<'a, T, D> Neg for &'a OPoint<T, D> where
T: Scalar + ClosedNeg,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<'a, T, D> Neg for &'a OPoint<T, D> where
T: Scalar + ClosedNeg,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> Neg for OPoint<T, D> where
T: Scalar + ClosedNeg,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> Neg for OPoint<T, D> where
T: Scalar + ClosedNeg,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> PartialEq<OPoint<T, D>> for OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> PartialEq<OPoint<T, D>> for OPoint<T, D> where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourceimpl<T, D> PartialOrd<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + PartialOrd<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> PartialOrd<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + PartialOrd<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourcepub fn partial_cmp(&self, other: &OPoint<T, D>) -> Option<Ordering>
pub fn partial_cmp(&self, other: &OPoint<T, D>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
sourcepub fn lt(&self, right: &OPoint<T, D>) -> bool
pub fn lt(&self, right: &OPoint<T, D>) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
sourcepub fn le(&self, right: &OPoint<T, D>) -> bool
pub fn le(&self, right: &OPoint<T, D>) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
sourceimpl<T, D> RelativeEq<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + RelativeEq<T>,
D: DimName,
<T as AbsDiffEq<T>>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> RelativeEq<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + RelativeEq<T>,
D: DimName,
<T as AbsDiffEq<T>>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourcepub fn default_max_relative(
) -> <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
pub fn default_max_relative(
) -> <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
The default relative tolerance for testing values that are far-apart. Read more
sourcepub fn relative_eq(
&self,
other: &OPoint<T, D>,
epsilon: <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon,
max_relative: <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
) -> bool
pub fn relative_eq(
&self,
other: &OPoint<T, D>,
epsilon: <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon,
max_relative: <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
) -> bool
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
fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
The inverse of [RelativeEq::relative_eq
].
sourceimpl<T, const D: usize> SimdValue for OPoint<T, Const<D>> where
T: Scalar + SimdValue,
<T as SimdValue>::Element: Scalar,
impl<T, const D: usize> SimdValue for OPoint<T, Const<D>> where
T: Scalar + SimdValue,
<T as SimdValue>::Element: Scalar,
type Element = OPoint<<T as SimdValue>::Element, Const<D>>
type Element = OPoint<<T as SimdValue>::Element, Const<D>>
The type of the elements of each lane of this SIMD value.
type SimdBool = <T as SimdValue>::SimdBool
type SimdBool = <T as SimdValue>::SimdBool
Type of the result of comparing two SIMD values like self
.
sourcepub fn splat(
val: <OPoint<T, Const<D>> as SimdValue>::Element
) -> OPoint<T, Const<D>>
pub fn splat(
val: <OPoint<T, Const<D>> as SimdValue>::Element
) -> OPoint<T, Const<D>>
Initializes an SIMD value with each lanes set to val
.
sourcepub fn extract(&self, i: usize) -> <OPoint<T, Const<D>> as SimdValue>::Element
pub fn extract(&self, i: usize) -> <OPoint<T, Const<D>> as SimdValue>::Element
Extracts the i-th lane of self
. Read more
sourcepub unsafe fn extract_unchecked(
&self,
i: usize
) -> <OPoint<T, Const<D>> as SimdValue>::Element
pub unsafe fn extract_unchecked(
&self,
i: usize
) -> <OPoint<T, Const<D>> as SimdValue>::Element
Extracts the i-th lane of self
without bound-checking.
sourcepub fn replace(
&mut self,
i: usize,
val: <OPoint<T, Const<D>> as SimdValue>::Element
)
pub fn replace(
&mut self,
i: usize,
val: <OPoint<T, Const<D>> as SimdValue>::Element
)
Replaces the i-th lane of self
by val
. Read more
sourcepub unsafe fn replace_unchecked(
&mut self,
i: usize,
val: <OPoint<T, Const<D>> as SimdValue>::Element
)
pub unsafe fn replace_unchecked(
&mut self,
i: usize,
val: <OPoint<T, Const<D>> as SimdValue>::Element
)
Replaces the i-th lane of self
by val
without bound-checking.
sourcepub fn select(
self,
cond: <OPoint<T, Const<D>> as SimdValue>::SimdBool,
other: OPoint<T, Const<D>>
) -> OPoint<T, Const<D>>
pub fn select(
self,
cond: <OPoint<T, Const<D>> as SimdValue>::SimdBool,
other: OPoint<T, Const<D>>
) -> OPoint<T, Const<D>>
Merges self
and other
depending on the lanes of cond
. Read more
sourceimpl<'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
T: Scalar + ClosedSub<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
T: Scalar + ClosedSub<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'a, 'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1_usize>, SB>> for &'a OPoint<T, D1> where
T: Scalar + ClosedSub<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'a, 'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1_usize>, SB>> for &'a OPoint<T, D1> where
T: Scalar + ClosedSub<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'a, 'b, T, D> Sub<&'b OPoint<T, D>> for &'a OPoint<T, D> where
T: Scalar + ClosedSub<T>,
D: DimName,
ShapeConstraint: SameNumberOfRows<D, D>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D, D>>::Representative == D,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'a, 'b, T, D> Sub<&'b OPoint<T, D>> for &'a OPoint<T, D> where
T: Scalar + ClosedSub<T>,
D: DimName,
ShapeConstraint: SameNumberOfRows<D, D>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D, D>>::Representative == D,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D> where
T: Scalar + ClosedSub<T>,
D: DimName,
ShapeConstraint: SameNumberOfRows<D, D>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D, D>>::Representative == D,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D> where
T: Scalar + ClosedSub<T>,
D: DimName,
ShapeConstraint: SameNumberOfRows<D, D>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D, D>>::Representative == D,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'a, T, D1, D2, SB> Sub<Matrix<T, D2, Const<1_usize>, SB>> for &'a OPoint<T, D1> where
T: Scalar + ClosedSub<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'a, T, D1, D2, SB> Sub<Matrix<T, D2, Const<1_usize>, SB>> for &'a OPoint<T, D1> where
T: Scalar + ClosedSub<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<T, D1, D2, SB> Sub<Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
T: Scalar + ClosedSub<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<T, D1, D2, SB> Sub<Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
T: Scalar + ClosedSub<T>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D1, D2>>::Representative == D1,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D> where
T: Scalar + ClosedSub<T>,
D: DimName,
ShapeConstraint: SameNumberOfRows<D, D>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D, D>>::Representative == D,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D> where
T: Scalar + ClosedSub<T>,
D: DimName,
ShapeConstraint: SameNumberOfRows<D, D>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D, D>>::Representative == D,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<T, D> Sub<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + ClosedSub<T>,
D: DimName,
ShapeConstraint: SameNumberOfRows<D, D>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D, D>>::Representative == D,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
impl<T, D> Sub<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + ClosedSub<T>,
D: DimName,
ShapeConstraint: SameNumberOfRows<D, D>,
ShapeConstraint: SameNumberOfColumns<Const<1_usize>, Const<1_usize>>,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
<ShapeConstraint as SameNumberOfRows<D, D>>::Representative == D,
<ShapeConstraint as SameNumberOfColumns<Const<1_usize>, Const<1_usize>>>::Representative == Const<1_usize>,
sourceimpl<'b, T, D1, D2, SB> SubAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub<T>,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
impl<'b, T, D1, D2, SB> SubAssign<&'b Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub<T>,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
sourcepub fn sub_assign(&mut self, right: &'b Matrix<T, D2, Const<1_usize>, SB>)
pub fn sub_assign(&mut self, right: &'b Matrix<T, D2, Const<1_usize>, SB>)
Performs the -=
operation. Read more
sourceimpl<T, D1, D2, SB> SubAssign<Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub<T>,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
impl<T, D1, D2, SB> SubAssign<Matrix<T, D2, Const<1_usize>, SB>> for OPoint<T, D1> where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub<T>,
SB: Storage<T, D2, Const<1_usize>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1_usize>>,
sourcepub fn sub_assign(&mut self, right: Matrix<T, D2, Const<1_usize>, SB>)
pub fn sub_assign(&mut self, right: Matrix<T, D2, Const<1_usize>, SB>)
Performs the -=
operation. Read more
sourceimpl<T1, T2, D> SubsetOf<Matrix<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>> for OPoint<T1, D> where
D: DimNameAdd<Const<1_usize>>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv<T2> + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D, Const<1_usize>>,
DefaultAllocator: Allocator<T2, D, Const<1_usize>>,
DefaultAllocator: Allocator<T1, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
impl<T1, T2, D> SubsetOf<Matrix<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>> for OPoint<T1, D> where
D: DimNameAdd<Const<1_usize>>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv<T2> + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D, Const<1_usize>>,
DefaultAllocator: Allocator<T2, D, Const<1_usize>>,
DefaultAllocator: Allocator<T1, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
DefaultAllocator: Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>,
sourcepub fn to_superset(
&self
) -> Matrix<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
pub fn to_superset(
&self
) -> Matrix<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
The inclusion map: converts self
to the equivalent element of its superset.
sourcepub fn is_in_subset(
v: &Matrix<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
) -> bool
pub fn is_in_subset(
v: &Matrix<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
) -> bool
Checks if element
is actually part of the subset Self
(and can be converted to it).
sourcepub fn from_superset_unchecked(
v: &Matrix<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
) -> OPoint<T1, D>
pub fn from_superset_unchecked(
v: &Matrix<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1_usize>>>::Output, Const<1_usize>>>::Buffer>
) -> OPoint<T1, D>
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
sourceimpl<T1, T2, D> SubsetOf<OPoint<T2, D>> for OPoint<T1, D> where
D: DimName,
T1: Scalar,
T2: Scalar + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D, Const<1_usize>>,
DefaultAllocator: Allocator<T2, D, Const<1_usize>>,
impl<T1, T2, D> SubsetOf<OPoint<T2, D>> for OPoint<T1, D> where
D: DimName,
T1: Scalar,
T2: Scalar + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D, Const<1_usize>>,
DefaultAllocator: Allocator<T2, D, Const<1_usize>>,
sourcepub fn to_superset(&self) -> OPoint<T2, D>
pub fn to_superset(&self) -> OPoint<T2, D>
The inclusion map: converts self
to the equivalent element of its superset.
sourcepub fn is_in_subset(m: &OPoint<T2, D>) -> bool
pub fn is_in_subset(m: &OPoint<T2, D>) -> bool
Checks if element
is actually part of the subset Self
(and can be converted to it).
sourcepub fn from_superset_unchecked(m: &OPoint<T2, D>) -> OPoint<T1, D>
pub fn from_superset_unchecked(m: &OPoint<T2, D>) -> OPoint<T1, D>
Use with care! Same as self.to_superset
but without any property checks. Always succeeds.
fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
sourceimpl<T, D> UlpsEq<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + UlpsEq<T>,
D: DimName,
<T as AbsDiffEq<T>>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
impl<T, D> UlpsEq<OPoint<T, D>> for OPoint<T, D> where
T: Scalar + UlpsEq<T>,
D: DimName,
<T as AbsDiffEq<T>>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
sourcepub fn default_max_ulps() -> u32
pub fn default_max_ulps() -> u32
The default ULPs to tolerate when testing values that are far-apart. Read more
impl<T, D> Copy for OPoint<T, D> where
T: Scalar + Copy,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
Matrix<T, D, Const<1_usize>, <DefaultAllocator as Allocator<T, D, Const<1_usize>>>::Buffer>: Copy,
impl<T, D> Eq for OPoint<T, D> where
T: Scalar + Eq,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1_usize>>,
Auto Trait Implementations
impl<T, D> !RefUnwindSafe for OPoint<T, D>
impl<T, D> !Send for OPoint<T, D>
impl<T, D> !Sync for OPoint<T, D>
impl<T, D> !Unpin for OPoint<T, D>
impl<T, D> !UnwindSafe for OPoint<T, D>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
impl<T> DynHash for T where
T: DynEq + Hash,
impl<T> DynHash for T where
T: DynEq + Hash,
sourceimpl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Q where
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcepub fn equivalent(&self, key: &K) -> bool
pub fn equivalent(&self, key: &K) -> bool
Compare self to key
and return true
if they are equal.
impl<T> FromWorld for T where
T: Default,
impl<T> FromWorld for T where
T: Default,
pub fn from_world(_world: &mut World) -> T
pub fn from_world(_world: &mut World) -> T
Creates Self
using data from the given [World]
sourceimpl<T> Instrument for T
impl<T> Instrument for T
sourcefn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
sourcefn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
impl<T> Pointable for T
impl<T> Pointable for T
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_ge(self, other: T) -> <T as SimdValue>::SimdBool
pub fn simd_ge(self, other: T) -> <T as SimdValue>::SimdBool
Lanewise greater or equal >=
comparison.
pub fn simd_max(self, other: T) -> T
pub fn simd_max(self, other: T) -> T
Lanewise max value.
pub fn simd_min(self, other: T) -> T
pub fn simd_min(self, other: T) -> T
Lanewise min value.
pub fn simd_clamp(self, min: T, max: T) -> T
pub fn simd_clamp(self, min: T, max: T) -> T
Clamps each lane of self
between the corresponding lane of min
and max
.
pub fn simd_horizontal_min(self) -> <T as SimdValue>::Element
pub fn simd_horizontal_min(self) -> <T as SimdValue>::Element
The min value among all lanes of self
.
pub fn simd_horizontal_max(self) -> <T as SimdValue>::Element
pub fn simd_horizontal_max(self) -> <T as SimdValue>::Element
The max value among all lanes of self
.
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 to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
pub fn is_in_subset(&self) -> bool
pub fn is_in_subset(&self) -> bool
Checks if self
is actually part of its subset T
(and can be converted to it).
pub fn to_subset_unchecked(&self) -> SS
pub fn to_subset_unchecked(&self) -> SS
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
pub fn from_subset(element: &SS) -> SP
pub fn from_subset(element: &SS) -> SP
The inclusion map: converts self
to the equivalent element of its superset.
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcepub fn to_owned(&self) -> T
pub fn to_owned(&self) -> T
Creates owned data from borrowed data, usually by cloning. Read more
sourcepub fn clone_into(&self, target: &mut T)
pub fn clone_into(&self, target: &mut T)
toowned_clone_into
)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
sourceimpl<T> WithSubscriber for T
impl<T> WithSubscriber for T
sourcefn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
sourcefn with_current_subscriber(self) -> WithDispatch<Self>
fn with_current_subscriber(self) -> WithDispatch<Self>
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more