pub struct OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,{
pub coords: Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::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>, <DefaultAllocator as Allocator<T, D, Const<1>>>::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>>,
impl<T, D> OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourcepub fn map<T2, F>(&self, f: F) -> OPoint<T2, D>where
T2: Scalar,
F: FnMut(T) -> T2,
DefaultAllocator: Allocator<T2, D, Const<1>>,
pub fn map<T2, F>(&self, f: F) -> OPoint<T2, D>where
T2: Scalar,
F: FnMut(T) -> T2,
DefaultAllocator: Allocator<T2, D, Const<1>>,
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>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>where
T: One,
D: DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>,
pub fn to_homogeneous(
&self
) -> Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>where
T: One,
D: DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>,
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>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer>
) -> OPoint<T, D>
👎Deprecated: Use Point::from(vector) instead.
pub fn from_coordinates(
coords: Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer>
) -> OPoint<T, D>
Creates a new point with the given coordinates.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
The dimension of this point.
Example
let p = Point2::new(1.0, 2.0);
assert_eq!(p.len(), 2);
// This works in any dimension.
let p = Point3::new(10.0, 20.0, 30.0);
assert_eq!(p.len(), 3);
sourcepub fn 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
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>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer> ⓘ
pub fn iter(
&self
) -> MatrixIter<'_, T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer> ⓘ
Iterates through this point coordinates.
Example
let p = Point3::new(1.0, 2.0, 3.0);
let mut it = p.iter().cloned();
assert_eq!(it.next(), Some(1.0));
assert_eq!(it.next(), Some(2.0));
assert_eq!(it.next(), Some(3.0));
assert_eq!(it.next(), None);
sourcepub unsafe fn get_unchecked(&self, i: usize) -> &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>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer> ⓘ
pub fn iter_mut(
&mut self
) -> MatrixIterMut<'_, T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer> ⓘ
Mutably iterates through this point coordinates.
Example
let mut p = Point3::new(1.0, 2.0, 3.0);
for e in p.iter_mut() {
*e *= 10.0;
}
assert_eq!(p, Point3::new(10.0, 20.0, 30.0));
sourcepub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut 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>>,
impl<T, D> OPoint<T, D>where
T: Scalar + SimdPartialOrd,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
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>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
) -> Option<OPoint<T, D>>where
T: Scalar + Zero + One + ClosedDiv<T>,
D: DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>,
pub fn from_homogeneous(
v: Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
) -> Option<OPoint<T, D>>where
T: Scalar + Zero + One + ClosedDiv<T>,
D: DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>,
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>>,
pub fn cast<To>(self) -> OPoint<To, D>where
To: Scalar,
OPoint<To, D>: SupersetOf<OPoint<T, D>>,
DefaultAllocator: Allocator<To, D, Const<1>>,
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>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm, Output = Greater>,
pub fn xx(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xxx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm, Output = Greater>,
pub fn xxx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UTerm, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xy(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn xy(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yx(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn yx(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yy(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn yy(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xxy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn xxy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xyx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn xyx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xyy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn xyy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yxx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn yxx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yxy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn yxy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yyx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn yyx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yyy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
pub fn yyy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UTerm, B1>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xz(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn xz(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yz(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn yz(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zx(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zx(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zy(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zy(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zz(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zz(&self) -> OPoint<T, Const<2>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xxz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn xxz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xyz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn xyz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xzx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn xzx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xzy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn xzy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xzz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn xzz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yxz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn yxz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yyz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn yyz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yzx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn yzx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yzy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn yzy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yzz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn yzz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zxx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zxx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zxy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zxy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zxz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zxz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zyx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zyx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zyy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zyy(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zyz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zyz(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zzx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: Cmp<UInt<UInt<UTerm, B1>, B0>, Output = Greater>,
pub fn zzx(&self) -> OPoint<T, Const<3>>where
<Const<D> as ToTypenum>::Typenum: 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>>,
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>>,
type Epsilon = <T as AbsDiffEq<T>>::Epsilon
type Epsilon = <T as AbsDiffEq<T>>::Epsilon
sourcefn default_epsilon() -> <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
fn default_epsilon() -> <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
sourcefn abs_diff_eq(
&self,
other: &OPoint<T, D>,
epsilon: <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
) -> bool
fn abs_diff_eq(
&self,
other: &OPoint<T, D>,
epsilon: <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq
].sourceimpl<'a, 'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAdd<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<'a, 'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAdd<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourceimpl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourceimpl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAdd<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAdd<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourceimpl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourceimpl<'b, T, D1, D2, SB> AddAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd<T>,
SB: Storage<T, D2, Const<1>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<'b, T, D1, D2, SB> AddAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd<T>,
SB: Storage<T, D2, Const<1>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourcefn add_assign(&mut self, right: &'b Matrix<T, D2, Const<1>, SB>)
fn add_assign(&mut self, right: &'b Matrix<T, D2, Const<1>, SB>)
+=
operation. Read moresourceimpl<T, D1, D2, SB> AddAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd<T>,
SB: Storage<T, D2, Const<1>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<T, D1, D2, SB> AddAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd<T>,
SB: Storage<T, D2, Const<1>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourcefn add_assign(&mut self, right: Matrix<T, D2, Const<1>, SB>)
fn add_assign(&mut self, right: Matrix<T, D2, Const<1>, SB>)
+=
operation. Read moresourceimpl<T, D> Bounded for OPoint<T, D>where
T: Scalar + Bounded,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Bounded for OPoint<T, D>where
T: Scalar + Bounded,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Clone for OPoint<T, D>where
T: Clone + Scalar,
D: Clone + DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Clone for OPoint<T, D>where
T: Clone + Scalar,
D: Clone + DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Debug for OPoint<T, D>where
T: Scalar + Debug,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Debug for OPoint<T, D>where
T: Scalar + Debug,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Default for OPoint<T, D>where
T: Scalar + Zero,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Default for OPoint<T, D>where
T: Scalar + Zero,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Display for OPoint<T, D>where
T: Scalar + Display,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Display for OPoint<T, D>where
T: Scalar + Display,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<'a, T, D> Div<T> for &'a OPoint<T, D>where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<'a, T, D> Div<T> for &'a OPoint<T, D>where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Div<T> for OPoint<T, D>where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Div<T> for OPoint<T, D>where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> DivAssign<T> for OPoint<T, D>where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> DivAssign<T> for OPoint<T, D>where
T: Scalar + ClosedDiv<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourcefn div_assign(&mut self, right: T)
fn div_assign(&mut self, right: T)
/=
operation. Read moresourceimpl<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 + Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1>>>::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 + Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1>>>::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 + Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1>>>::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 + Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1>>>::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 + Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1>>>::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 + Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1>>>::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 + Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1>>>::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 + Copy,
<DefaultAllocator as Allocator<<T as SimdValue>::Element, Const<D>, Const<1>>>::Buffer: Copy,
sourceimpl<T, D> From<Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer>> for OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> From<Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer>> for OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
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, 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,
sourcefn from(pt: OPoint<T, Const<D>>) -> Translation<T, D>
fn from(pt: OPoint<T, Const<D>>) -> Translation<T, D>
sourceimpl<T, D> From<OPoint<T, D>> for Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>where
T: Scalar + Zero + One,
D: DimName + DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>> + Allocator<T, D, Const<1>>,
impl<T, D> From<OPoint<T, D>> for Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>where
T: Scalar + Zero + One,
D: DimName + DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>> + Allocator<T, D, Const<1>>,
sourcefn from(
t: OPoint<T, D>
) -> Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
fn from(
t: OPoint<T, D>
) -> Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
sourceimpl<T, D> Hash for OPoint<T, D>where
T: Scalar + Hash,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Hash for OPoint<T, D>where
T: Scalar + Hash,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Index<usize> for OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Index<usize> for OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> IndexMut<usize> for OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> IndexMut<usize> for OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl IntoRapier<OPoint<f32, Const<2>>> for Vec2
impl IntoRapier<OPoint<f32, Const<2>>> for Vec2
fn into_rapier(self) -> OPoint<f32, Const<2>>
sourceimpl IntoRapier<OPoint<f32, Const<2>>> for Vec3
impl IntoRapier<OPoint<f32, Const<2>>> for Vec3
fn into_rapier(self) -> OPoint<f32, Const<2>>
sourceimpl IntoRapier<OPoint<f32, Const<3>>> for Vec3
impl IntoRapier<OPoint<f32, Const<3>>> for Vec3
fn into_rapier(self) -> OPoint<f32, Const<3>>
sourceimpl<'a, 'b, T> Mul<&'b OPoint<T, Const<2>>> for &'a Unit<Complex<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, 'b, T> Mul<&'b OPoint<T, Const<2>>> for &'a Unit<Complex<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'b, T> Mul<&'b OPoint<T, Const<2>>> for Unit<Complex<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> Mul<&'b OPoint<T, Const<2>>> for Unit<Complex<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, 'b, T> Mul<&'b OPoint<T, Const<3>>> for &'a Unit<DualQuaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, 'b, T> Mul<&'b OPoint<T, Const<3>>> for &'a Unit<DualQuaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, 'b, T> Mul<&'b OPoint<T, Const<3>>> for &'a Unit<Quaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, 'b, T> Mul<&'b OPoint<T, Const<3>>> for &'a Unit<Quaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'b, T> Mul<&'b OPoint<T, Const<3>>> for Unit<DualQuaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> Mul<&'b OPoint<T, Const<3>>> for Unit<DualQuaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'b, T> Mul<&'b OPoint<T, Const<3>>> for Unit<Quaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'b, T> Mul<&'b OPoint<T, Const<3>>> for 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,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Isometry<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>>,
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>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
sourceimpl<'a, 'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
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,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::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,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
sourceimpl<'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Isometry<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Isometry<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>>,
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>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
sourceimpl<'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
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,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::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,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>>,
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>>,
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>>,
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>>,
sourceimpl<'a, T> Mul<OPoint<T, Const<2>>> for &'a Unit<Complex<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, T> Mul<OPoint<T, Const<2>>> for &'a Unit<Complex<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<T> Mul<OPoint<T, Const<2>>> for Unit<Complex<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> Mul<OPoint<T, Const<2>>> for Unit<Complex<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T> Mul<OPoint<T, Const<3>>> for &'a Unit<DualQuaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, T> Mul<OPoint<T, Const<3>>> for &'a Unit<DualQuaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T> Mul<OPoint<T, Const<3>>> for &'a Unit<Quaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<'a, T> Mul<OPoint<T, Const<3>>> for &'a Unit<Quaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<T> Mul<OPoint<T, Const<3>>> for Unit<DualQuaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> Mul<OPoint<T, Const<3>>> for Unit<DualQuaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<T> Mul<OPoint<T, Const<3>>> for Unit<Quaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
impl<T> Mul<OPoint<T, Const<3>>> for Unit<Quaternion<T>>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
sourceimpl<'a, T, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Isometry<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Isometry<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>>,
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>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
sourceimpl<'a, T, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
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,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::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,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
sourceimpl<T, R, const D: usize> Mul<OPoint<T, Const<D>>> for Isometry<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T, R, const D: usize> Mul<OPoint<T, Const<D>>> for Isometry<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
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>>,
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>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
sourceimpl<T, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D>where
T: SimdRealField,
<T as SimdValue>::Element: SimdRealField,
R: AbstractRotation<T, D>,
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,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::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,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>>,
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>>,
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>>,
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>>,
sourceimpl<'a, T, D> Mul<T> for &'a OPoint<T, D>where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<'a, T, D> Mul<T> for &'a OPoint<T, D>where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Mul<T> for OPoint<T, D>where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Mul<T> for OPoint<T, D>where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> MulAssign<T> for OPoint<T, D>where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> MulAssign<T> for OPoint<T, D>where
T: Scalar + ClosedMul<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourcefn mul_assign(&mut self, right: T)
fn mul_assign(&mut self, right: T)
*=
operation. Read moresourceimpl<'a, T, D> Neg for &'a OPoint<T, D>where
T: Scalar + ClosedNeg,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<'a, T, D> Neg for &'a OPoint<T, D>where
T: Scalar + ClosedNeg,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Neg for OPoint<T, D>where
T: Scalar + ClosedNeg,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Neg for OPoint<T, D>where
T: Scalar + ClosedNeg,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> PartialEq<OPoint<T, D>> for OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> PartialEq<OPoint<T, D>> for OPoint<T, D>where
T: Scalar,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> PartialOrd<OPoint<T, D>> for OPoint<T, D>where
T: Scalar + PartialOrd<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> PartialOrd<OPoint<T, D>> for OPoint<T, D>where
T: Scalar + PartialOrd<T>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourcefn partial_cmp(&self, other: &OPoint<T, D>) -> Option<Ordering>
fn partial_cmp(&self, other: &OPoint<T, D>) -> Option<Ordering>
sourcefn le(&self, right: &OPoint<T, D>) -> bool
fn le(&self, right: &OPoint<T, D>) -> bool
self
and other
) and is used by the <=
operator. Read moresourceimpl<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>>,
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>>,
sourcefn default_max_relative() -> <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
fn default_max_relative() -> <OPoint<T, D> as AbsDiffEq<OPoint<T, D>>>::Epsilon
sourcefn 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
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
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
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>>
type SimdBool = <T as SimdValue>::SimdBool
type SimdBool = <T as SimdValue>::SimdBool
self
.sourcefn splat(
val: <OPoint<T, Const<D>> as SimdValue>::Element
) -> OPoint<T, Const<D>>
fn splat(
val: <OPoint<T, Const<D>> as SimdValue>::Element
) -> OPoint<T, Const<D>>
val
.sourcefn extract(&self, i: usize) -> <OPoint<T, Const<D>> as SimdValue>::Element
fn extract(&self, i: usize) -> <OPoint<T, Const<D>> as SimdValue>::Element
self
. Read moresourceunsafe fn extract_unchecked(
&self,
i: usize
) -> <OPoint<T, Const<D>> as SimdValue>::Element
unsafe fn extract_unchecked(
&self,
i: usize
) -> <OPoint<T, Const<D>> as SimdValue>::Element
self
without bound-checking.sourceunsafe fn replace_unchecked(
&mut self,
i: usize,
val: <OPoint<T, Const<D>> as SimdValue>::Element
)
unsafe fn replace_unchecked(
&mut self,
i: usize,
val: <OPoint<T, Const<D>> as SimdValue>::Element
)
self
by val
without bound-checking.sourcefn select(
self,
cond: <OPoint<T, Const<D>> as SimdValue>::SimdBool,
other: OPoint<T, Const<D>>
) -> OPoint<T, Const<D>>
fn select(
self,
cond: <OPoint<T, Const<D>> as SimdValue>::SimdBool,
other: OPoint<T, Const<D>>
) -> OPoint<T, Const<D>>
sourceimpl<'a, 'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<'a, 'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourceimpl<'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourceimpl<'a, 'b, T, D> Sub<&'b OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<'a, 'b, T, D> Sub<&'b OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<'a, T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<'a, T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourceimpl<T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2, Const<1>>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourceimpl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<T, D> Sub<OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
impl<T, D> Sub<OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub<T>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
sourceimpl<'b, T, D1, D2, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub<T>,
SB: Storage<T, D2, Const<1>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<'b, T, D1, D2, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub<T>,
SB: Storage<T, D2, Const<1>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourcefn sub_assign(&mut self, right: &'b Matrix<T, D2, Const<1>, SB>)
fn sub_assign(&mut self, right: &'b Matrix<T, D2, Const<1>, SB>)
-=
operation. Read moresourceimpl<T, D1, D2, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub<T>,
SB: Storage<T, D2, Const<1>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
impl<T, D1, D2, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub<T>,
SB: Storage<T, D2, Const<1>>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1, Const<1>>,
sourcefn sub_assign(&mut self, right: Matrix<T, D2, Const<1>, SB>)
fn sub_assign(&mut self, right: Matrix<T, D2, Const<1>, SB>)
-=
operation. Read moresourceimpl<T1, T2, D> SubsetOf<Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>> for OPoint<T1, D>where
D: DimNameAdd<Const<1>>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv<T2> + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D, Const<1>> + Allocator<T2, D, Const<1>> + Allocator<T1, <D as DimNameAdd<Const<1>>>::Output, Const<1>> + Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>,
impl<T1, T2, D> SubsetOf<Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>> for OPoint<T1, D>where
D: DimNameAdd<Const<1>>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv<T2> + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D, Const<1>> + Allocator<T2, D, Const<1>> + Allocator<T1, <D as DimNameAdd<Const<1>>>::Output, Const<1>> + Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>,
sourcefn to_superset(
&self
) -> Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
fn to_superset(
&self
) -> Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
self
to the equivalent element of its superset.sourcefn is_in_subset(
v: &Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
) -> bool
fn is_in_subset(
v: &Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(
v: &Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
) -> OPoint<T1, D>
fn from_superset_unchecked(
v: &Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>>>::Buffer>
) -> OPoint<T1, D>
self.to_superset
but without any property checks. Always succeeds.fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<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>> + Allocator<T2, D, Const<1>>,
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>> + Allocator<T2, D, Const<1>>,
sourcefn to_superset(&self) -> OPoint<T2, D>
fn to_superset(&self) -> OPoint<T2, D>
self
to the equivalent element of its superset.sourcefn is_in_subset(m: &OPoint<T2, D>) -> bool
fn is_in_subset(m: &OPoint<T2, D>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(m: &OPoint<T2, D>) -> OPoint<T1, D>
fn from_superset_unchecked(m: &OPoint<T2, D>) -> OPoint<T1, D>
self.to_superset
but without any property checks. Always succeeds.fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<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>>,
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>>,
sourcefn default_max_ulps() -> u32
fn default_max_ulps() -> u32
impl<T, D> Copy for OPoint<T, D>where
T: Scalar + Copy,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer>: Copy,
impl<T, D> Eq for OPoint<T, D>where
T: Scalar + Eq,
D: DimName,
DefaultAllocator: Allocator<T, D, Const<1>>,
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
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
impl<T, U> AsBindGroupShaderType<U> for Twhere
U: ShaderType,
&'a T: for<'a> Into<U>,
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
fn as_bind_group_shader_type(
&self,
_images: &HashMap<Handle<Image>, <Image as RenderAsset>::PreparedAsset, RandomState, Global>
) -> U
T
[ShaderType
] for self
. When used in [AsBindGroup
]
derives, it is safe to assume that all images in self
exist. Read moresourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
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 morefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read morefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read morefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read moreimpl<T> DynHash for Twhere
T: DynEq + Hash,
impl<T> DynHash for Twhere
T: DynEq + Hash,
sourceimpl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
sourcefn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
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>
sourceimpl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> Pointable for T
impl<T> Pointable for T
impl<T> SimdPartialOrd for Twhere
T: SimdValue<Element = T, SimdBool = bool> + PartialOrd<T>,
impl<T> SimdPartialOrd for Twhere
T: SimdValue<Element = T, SimdBool = bool> + PartialOrd<T>,
fn simd_max(self, other: T) -> T
fn simd_max(self, other: T) -> T
fn simd_min(self, other: T) -> T
fn simd_min(self, other: T) -> T
fn simd_clamp(self, min: T, max: T) -> T
fn simd_clamp(self, min: T, max: T) -> T
self
between the corresponding lane of min
and max
.fn simd_horizontal_min(self) -> <T as SimdValue>::Element
fn simd_horizontal_min(self) -> <T as SimdValue>::Element
self
.fn simd_horizontal_max(self) -> <T as SimdValue>::Element
fn simd_horizontal_max(self) -> <T as SimdValue>::Element
self
.impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read morefn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self
is actually part of its subset T
(and can be converted to it).fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.