#[repr(C)]pub struct OPoint<T: Scalar, D: DimName>where
DefaultAllocator: Allocator<T, D>,{
pub coords: OVector<T, D>,
}
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: OVector<T, D>
The coordinates of this point, i.e., the shift from the origin.
Implementations
sourceimpl<T: Scalar, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourcepub fn map<T2: Scalar, F: FnMut(T) -> T2>(&self, f: F) -> OPoint<T2, D>where
DefaultAllocator: Allocator<T2, D>,
pub fn map<T2: Scalar, F: FnMut(T) -> T2>(&self, f: F) -> OPoint<T2, D>where
DefaultAllocator: Allocator<T2, D>,
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: FnMut(&mut T)>(&mut self, f: F)
pub fn apply<F: FnMut(&mut T)>(&mut self, f: F)
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) -> OVector<T, DimNameSum<D, U1>>where
T: One,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<D, U1>>,
pub fn to_homogeneous(&self) -> OVector<T, DimNameSum<D, U1>>where
T: One,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<D, U1>>,
Converts this point into a vector in homogeneous coordinates, i.e., appends a 1
at the
end of it.
This is the same as .into()
.
Example
let p = Point2::new(10.0, 20.0);
assert_eq!(p.to_homogeneous(), Vector3::new(10.0, 20.0, 1.0));
// This works in any dimension.
let p = Point3::new(10.0, 20.0, 30.0);
assert_eq!(p.to_homogeneous(), Vector4::new(10.0, 20.0, 30.0, 1.0));
sourcepub fn from_coordinates(coords: OVector<T, D>) -> Self
👎Deprecated: Use Point::from(vector) instead.
pub fn from_coordinates(coords: OVector<T, D>) -> Self
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>>::Buffer>ⓘNotable traits for MatrixIter<'a, T, R, C, S>impl<'a, T, R: Dim, C: Dim, S: 'a + RawStorage<T, R, C>> Iterator for MatrixIter<'a, T, R, C, S> type Item = &'a T;
pub fn iter(
&self
) -> MatrixIter<'_, T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer>ⓘNotable traits for MatrixIter<'a, T, R, C, S>impl<'a, T, R: Dim, C: Dim, S: 'a + RawStorage<T, R, C>> Iterator for MatrixIter<'a, T, R, C, S> 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>, <DefaultAllocator as Allocator<T, D>>::Buffer>ⓘNotable traits for MatrixIterMut<'a, T, R, C, S>impl<'a, T, R: Dim, C: Dim, S: 'a + RawStorageMut<T, R, C>> Iterator for MatrixIterMut<'a, T, R, C, S> type Item = &'a mut T;
pub fn iter_mut(
&mut self
) -> MatrixIterMut<'_, T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer>ⓘNotable traits for MatrixIterMut<'a, T, R, C, S>impl<'a, T, R: Dim, C: Dim, S: 'a + RawStorageMut<T, R, C>> Iterator for MatrixIterMut<'a, T, R, C, S> 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: Scalar + SimdPartialOrd, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + SimdPartialOrd, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourcepub fn origin() -> Selfwhere
T: Zero,
pub fn origin() -> Selfwhere
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]) -> Self
pub fn from_slice(components: &[T]) -> Self
Creates a new point from a slice.
Example
let data = [ 1.0, 2.0, 3.0 ];
let pt = Point2::from_slice(&data[..2]);
assert_eq!(pt, Point2::new(1.0, 2.0));
let pt = Point3::from_slice(&data);
assert_eq!(pt, Point3::new(1.0, 2.0, 3.0));
sourcepub fn from_homogeneous(v: OVector<T, DimNameSum<D, U1>>) -> Option<Self>where
T: Scalar + Zero + One + ClosedDiv,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<D, U1>>,
pub fn from_homogeneous(v: OVector<T, DimNameSum<D, U1>>) -> Option<Self>where
T: Scalar + Zero + One + ClosedDiv,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<D, U1>>,
Creates a new point from its homogeneous vector representation.
In practice, this builds a D-dimensional points with the same first D component as v
divided by the last component of v
. Returns None
if this divisor is zero.
Example
let coords = Vector4::new(1.0, 2.0, 3.0, 1.0);
let pt = Point3::from_homogeneous(coords);
assert_eq!(pt, Some(Point3::new(1.0, 2.0, 3.0)));
// All component of the result will be divided by the
// last component of the vector, here 2.0.
let coords = Vector4::new(1.0, 2.0, 3.0, 2.0);
let pt = Point3::from_homogeneous(coords);
assert_eq!(pt, Some(Point3::new(0.5, 1.0, 1.5)));
// Fails because the last component is zero.
let coords = Vector4::new(1.0, 2.0, 3.0, 0.0);
let pt = Point3::from_homogeneous(coords);
assert!(pt.is_none());
// Works also in other dimensions.
let coords = Vector3::new(1.0, 2.0, 1.0);
let pt = Point2::from_homogeneous(coords);
assert_eq!(pt, Some(Point2::new(1.0, 2.0)));
sourcepub fn cast<To: Scalar>(self) -> OPoint<To, D>where
OPoint<To, D>: SupersetOf<Self>,
DefaultAllocator: Allocator<To, D>,
pub fn cast<To: Scalar>(self) -> OPoint<To, D>where
OPoint<To, D>: SupersetOf<Self>,
DefaultAllocator: Allocator<To, D>,
Cast the components of self
to another type.
Example
let pt = Point2::new(1.0f64, 2.0);
let pt2 = pt.cast::<f32>();
assert_eq!(pt2, Point2::new(1.0f32, 2.0));
sourceimpl<T: Scalar, const D: usize> OPoint<T, Const<D>>where
Const<D>: ToTypenum,
impl<T: Scalar, const D: usize> OPoint<T, Const<D>>where
Const<D>: ToTypenum,
sourcepub fn xx(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U0, Output = Greater>,
pub fn xx(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U0, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xxx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U0, Output = Greater>,
pub fn xxx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U0, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xy(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn xy(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yx(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn yx(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yy(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn yy(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xxy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn xxy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xyx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn xyx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xyy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn xyy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yxx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn yxx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yxy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn yxy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yyx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn yyx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yyy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
pub fn yyy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U1, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xz(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn xz(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yz(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn yz(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zx(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zx(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zy(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zy(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zz(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zz(&self) -> Point2<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xxz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn xxz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xyz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn xyz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xzx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn xzx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xzy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn xzy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn xzz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn xzz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yxz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn yxz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yyz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn yyz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yzx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn yzx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yzy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn yzy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn yzz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn yzz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zxx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zxx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zxy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zxy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zxz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zxz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zyx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zyx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zyy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zyy(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zyz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zyz(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
sourcepub fn zzx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
pub fn zzx(&self) -> Point3<T>where
<Const<D> as ToTypenum>::Typenum: Cmp<U2, Output = Greater>,
Builds a new point from components of self
.
Trait Implementations
sourceimpl<T: Scalar + AbsDiffEq, D: DimName> AbsDiffEq<OPoint<T, D>> for OPoint<T, D>where
T::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + AbsDiffEq, D: DimName> AbsDiffEq<OPoint<T, D>> for OPoint<T, D>where
T::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
sourcefn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
sourcefn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
sourcefn 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,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'a, 'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
sourceimpl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
sourceimpl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
sourceimpl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
sourceimpl<'b, T, D1: DimName, D2: Dim, SB> AddAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'b, T, D1: DimName, D2: Dim, SB> AddAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
sourcefn add_assign(&mut self, right: &'b Vector<T, D2, SB>)
fn add_assign(&mut self, right: &'b Vector<T, D2, SB>)
+=
operation. Read moresourceimpl<T, D1: DimName, D2: Dim, SB> AddAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<T, D1: DimName, D2: Dim, SB> AddAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
sourcefn add_assign(&mut self, right: Vector<T, D2, SB>)
fn add_assign(&mut self, right: Vector<T, D2, SB>)
+=
operation. Read moresourceimpl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
type Translation = Id<Multiplicative>
type Translation = Id<Multiplicative>
sourcefn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
sourcefn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
sourcefn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
sourcefn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
sourcefn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
sourcefn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourcefn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourceimpl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
type Rotation = Unit<Quaternion<T>>
type Rotation = Unit<Quaternion<T>>
type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
type Translation = Translation<T, 3>
type Translation = Translation<T, 3>
sourcefn decompose(&self) -> (Self::Translation, Self::Rotation, Id, Self::Rotation)
fn decompose(&self) -> (Self::Translation, Self::Rotation, Id, Self::Rotation)
sourcefn append_translation(&self, translation: &Self::Translation) -> Self
fn append_translation(&self, translation: &Self::Translation) -> Self
sourcefn prepend_translation(&self, translation: &Self::Translation) -> Self
fn prepend_translation(&self, translation: &Self::Translation) -> Self
sourcefn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
sourcefn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
sourcefn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourcefn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourceimpl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
type Rotation = Unit<Quaternion<T>>
type Rotation = Unit<Quaternion<T>>
type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
type Translation = Id<Multiplicative>
type Translation = Id<Multiplicative>
sourcefn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
sourcefn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
sourcefn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
sourcefn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
sourcefn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
sourcefn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourcefn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourceimpl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
type Rotation = R
type Rotation = R
type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
type Translation = Translation<T, D>
type Translation = Translation<T, D>
sourcefn decompose(&self) -> (Self::Translation, R, Id, R)
fn decompose(&self) -> (Self::Translation, R, Id, R)
sourcefn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
sourcefn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
sourcefn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
sourcefn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
sourcefn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourcefn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourceimpl<T: RealField + RealField, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Rotation<T, D>
impl<T: RealField + RealField, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Rotation<T, D>
type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
type Translation = Id<Multiplicative>
type Translation = Id<Multiplicative>
sourcefn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
sourcefn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
sourcefn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
sourcefn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
sourcefn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
sourcefn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourcefn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourceimpl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
type NonUniformScaling = T
type NonUniformScaling = T
type Rotation = R
type Rotation = R
type Translation = Translation<T, D>
type Translation = Translation<T, D>
sourcefn decompose(&self) -> (Translation<T, D>, R, T, R)
fn decompose(&self) -> (Translation<T, D>, R, T, R)
sourcefn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
sourcefn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
sourcefn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
sourcefn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
sourcefn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
sourcefn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
sourceimpl<T: RealField + RealField, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Translation<T, D>
impl<T: RealField + RealField, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Translation<T, D>
type Rotation = Id<Multiplicative>
type Rotation = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
type NonUniformScaling = Id<Multiplicative>
type Translation = Translation<T, D>
type Translation = Translation<T, D>
sourcefn decompose(&self) -> (Self, Id, Id, Id)
fn decompose(&self) -> (Self, Id, Id, Id)
sourcefn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
sourcefn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
sourcefn append_rotation(&self, _: &Self::Rotation) -> Self
fn append_rotation(&self, _: &Self::Rotation) -> Self
sourcefn prepend_rotation(&self, _: &Self::Rotation) -> Self
fn prepend_rotation(&self, _: &Self::Rotation) -> Self
sourcefn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourcefn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
sourceimpl<T: Scalar + Arbitrary + Send, D: DimName> Arbitrary for OPoint<T, D>where
<DefaultAllocator as Allocator<T, D>>::Buffer: Send,
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + Arbitrary + Send, D: DimName> Arbitrary for OPoint<T, D>where
<DefaultAllocator as Allocator<T, D>>::Buffer: Send,
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar, D: DimName> Archive for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: Archive,
impl<T: Scalar, D: DimName> Archive for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: Archive,
type Archived = ArchivedOPoint<T, D>
type Archived = ArchivedOPoint<T, D>
type Resolver = OPointResolver<T, D>
type Resolver = OPointResolver<T, D>
sourceimpl<T: Scalar + Bounded, D: DimName> Bounded for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + Bounded, D: DimName> Bounded for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<__C: ?Sized, T: Scalar, D: DimName> CheckBytes<__C> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: CheckBytes<__C>,
impl<__C: ?Sized, T: Scalar, D: DimName> CheckBytes<__C> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: CheckBytes<__C>,
type Error = StructCheckError
type Error = StructCheckError
sourceunsafe fn check_bytes<'__bytecheck>(
value: *const Self,
context: &mut __C
) -> Result<&'__bytecheck Self, StructCheckError>
unsafe fn check_bytes<'__bytecheck>(
value: *const Self,
context: &mut __C
) -> Result<&'__bytecheck Self, StructCheckError>
sourceimpl<T: Clone + Scalar, D: Clone + DimName> Clone for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Clone + Scalar, D: Clone + DimName> Clone for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar + Debug, D: DimName> Debug for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + Debug, D: DimName> Debug for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar + Zero, D: DimName> Default for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + Zero, D: DimName> Default for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<'a, T: Scalar, D: DimName> Deserialize<'a> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
<DefaultAllocator as Allocator<T, D>>::Buffer: Deserialize<'a>,
impl<'a, T: Scalar, D: DimName> Deserialize<'a> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
<DefaultAllocator as Allocator<T, D>>::Buffer: Deserialize<'a>,
sourcefn deserialize<Des>(deserializer: Des) -> Result<Self, Des::Error>where
Des: Deserializer<'a>,
fn deserialize<Des>(deserializer: Des) -> Result<Self, Des::Error>where
Des: Deserializer<'a>,
sourceimpl<__D: Fallible + ?Sized, T: Scalar, D: DimName> Deserialize<OPoint<T, D>, __D> for Archived<OPoint<T, D>>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: Archive,
Archived<OVector<T, D>>: Deserialize<OVector<T, D>, __D>,
impl<__D: Fallible + ?Sized, T: Scalar, D: DimName> Deserialize<OPoint<T, D>, __D> for Archived<OPoint<T, D>>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: Archive,
Archived<OVector<T, D>>: Deserialize<OVector<T, D>, __D>,
sourceimpl<T: Scalar + Display, D: DimName> Display for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + Display, D: DimName> Display for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar, D: DimName> Distribution<OPoint<T, D>> for Standardwhere
Standard: Distribution<T>,
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar, D: DimName> Distribution<OPoint<T, D>> for Standardwhere
Standard: Distribution<T>,
DefaultAllocator: Allocator<T, D>,
sourcefn sample<'a, G: Rng + ?Sized>(&self, rng: &mut G) -> OPoint<T, D>
fn sample<'a, G: Rng + ?Sized>(&self, rng: &mut G) -> OPoint<T, D>
Generate a Point
where each coordinate is an independent variate from [0, 1)
.
sourcefn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>where
R: Rng,
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>where
R: Rng,
T
, using rng
as
the source of randomness. Read moresourceimpl<'a, T: Scalar + ClosedDiv, D: DimName> Div<T> for &'a OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<'a, T: Scalar + ClosedDiv, D: DimName> Div<T> for &'a OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar + ClosedDiv, D: DimName> Div<T> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + ClosedDiv, D: DimName> Div<T> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar + ClosedDiv, D: DimName> DivAssign<T> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + ClosedDiv, D: DimName> DivAssign<T> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourcefn div_assign(&mut self, right: T)
fn div_assign(&mut self, right: T)
/=
operation. Read moresourceimpl<T: Scalar, D: DimName> From<Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer>> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar, D: DimName> From<Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D, Const<1>>>::Buffer>> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: SimdRealField, R, const D: usize> From<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> From<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: AbstractRotation<T, D>,
sourceimpl<T: Scalar + Zero + One, D: DimName> From<OPoint<T, D>> for OVector<T, DimNameSum<D, U1>>where
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<D, U1>> + Allocator<T, D>,
impl<T: Scalar + Zero + One, D: DimName> From<OPoint<T, D>> for OVector<T, DimNameSum<D, U1>>where
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<T, DimNameSum<D, U1>> + Allocator<T, D>,
sourceimpl<T: Scalar + Hash, D: DimName> Hash for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + Hash, D: DimName> Hash for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar, D: DimName> Index<usize> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar, D: DimName> Index<usize> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar, D: DimName> IndexMut<usize> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar, D: DimName> IndexMut<usize> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<'a, 'b, T: SimdRealField> Mul<&'b OPoint<T, Const<2>>> for &'a UnitComplex<T>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b OPoint<T, Const<2>>> for &'a UnitComplex<T>where
T::Element: SimdRealField,
sourceimpl<'b, T: SimdRealField> Mul<&'b OPoint<T, Const<2>>> for UnitComplex<T>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b OPoint<T, Const<2>>> for UnitComplex<T>where
T::Element: SimdRealField,
sourceimpl<'a, 'b, T: SimdRealField> Mul<&'b OPoint<T, Const<3>>> for &'a UnitDualQuaternion<T>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b OPoint<T, Const<3>>> for &'a UnitDualQuaternion<T>where
T::Element: SimdRealField,
sourceimpl<'a, 'b, T: SimdRealField> Mul<&'b OPoint<T, Const<3>>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'a, 'b, T: SimdRealField> Mul<&'b OPoint<T, Const<3>>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
sourceimpl<'b, T: SimdRealField> Mul<&'b OPoint<T, Const<3>>> for UnitDualQuaternion<T>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b OPoint<T, Const<3>>> for UnitDualQuaternion<T>where
T::Element: SimdRealField,
sourceimpl<'b, T: SimdRealField> Mul<&'b OPoint<T, Const<3>>> for UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'b, T: SimdRealField> Mul<&'b OPoint<T, Const<3>>> for UnitQuaternion<T>where
T::Element: SimdRealField,
sourceimpl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Isometry<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Isometry<T, R, D>where
T::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 + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Rotation<T, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
sourceimpl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
sourceimpl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T::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 + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
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 + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
sourceimpl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
sourceimpl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Isometry<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Isometry<T, R, D>where
T::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 + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Rotation<T, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
sourceimpl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
sourceimpl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D>where
T::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 + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'b, T, C, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
sourceimpl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
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 + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
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 + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
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 + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
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 + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<f32, D>> for f32where
DefaultAllocator: Allocator<f32, D>,
impl<'b, D: DimName> Mul<&'b OPoint<f32, D>> for f32where
DefaultAllocator: Allocator<f32, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<f64, D>> for f64where
DefaultAllocator: Allocator<f64, D>,
impl<'b, D: DimName> Mul<&'b OPoint<f64, D>> for f64where
DefaultAllocator: Allocator<f64, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<i16, D>> for i16where
DefaultAllocator: Allocator<i16, D>,
impl<'b, D: DimName> Mul<&'b OPoint<i16, D>> for i16where
DefaultAllocator: Allocator<i16, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<i32, D>> for i32where
DefaultAllocator: Allocator<i32, D>,
impl<'b, D: DimName> Mul<&'b OPoint<i32, D>> for i32where
DefaultAllocator: Allocator<i32, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<i64, D>> for i64where
DefaultAllocator: Allocator<i64, D>,
impl<'b, D: DimName> Mul<&'b OPoint<i64, D>> for i64where
DefaultAllocator: Allocator<i64, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<isize, D>> for isizewhere
DefaultAllocator: Allocator<isize, D>,
impl<'b, D: DimName> Mul<&'b OPoint<isize, D>> for isizewhere
DefaultAllocator: Allocator<isize, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<u16, D>> for u16where
DefaultAllocator: Allocator<u16, D>,
impl<'b, D: DimName> Mul<&'b OPoint<u16, D>> for u16where
DefaultAllocator: Allocator<u16, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<u32, D>> for u32where
DefaultAllocator: Allocator<u32, D>,
impl<'b, D: DimName> Mul<&'b OPoint<u32, D>> for u32where
DefaultAllocator: Allocator<u32, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<u64, D>> for u64where
DefaultAllocator: Allocator<u64, D>,
impl<'b, D: DimName> Mul<&'b OPoint<u64, D>> for u64where
DefaultAllocator: Allocator<u64, D>,
sourceimpl<'b, D: DimName> Mul<&'b OPoint<usize, D>> for usizewhere
DefaultAllocator: Allocator<usize, D>,
impl<'b, D: DimName> Mul<&'b OPoint<usize, D>> for usizewhere
DefaultAllocator: Allocator<usize, D>,
sourceimpl<'a, T: SimdRealField> Mul<OPoint<T, Const<2>>> for &'a UnitComplex<T>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<OPoint<T, Const<2>>> for &'a UnitComplex<T>where
T::Element: SimdRealField,
sourceimpl<T: SimdRealField> Mul<OPoint<T, Const<2>>> for UnitComplex<T>where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<OPoint<T, Const<2>>> for UnitComplex<T>where
T::Element: SimdRealField,
sourceimpl<'a, T: SimdRealField> Mul<OPoint<T, Const<3>>> for &'a UnitDualQuaternion<T>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<OPoint<T, Const<3>>> for &'a UnitDualQuaternion<T>where
T::Element: SimdRealField,
sourceimpl<'a, T: SimdRealField> Mul<OPoint<T, Const<3>>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
impl<'a, T: SimdRealField> Mul<OPoint<T, Const<3>>> for &'a UnitQuaternion<T>where
T::Element: SimdRealField,
sourceimpl<T: SimdRealField> Mul<OPoint<T, Const<3>>> for UnitDualQuaternion<T>where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<OPoint<T, Const<3>>> for UnitDualQuaternion<T>where
T::Element: SimdRealField,
sourceimpl<T: SimdRealField> Mul<OPoint<T, Const<3>>> for UnitQuaternion<T>where
T::Element: SimdRealField,
impl<T: SimdRealField> Mul<OPoint<T, Const<3>>> for UnitQuaternion<T>where
T::Element: SimdRealField,
sourceimpl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Isometry<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Isometry<T, R, D>where
T::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 + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Rotation<T, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
sourceimpl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
sourceimpl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D>where
T::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 + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<'a, T, C, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
sourceimpl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
sourceimpl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Isometry<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Isometry<T, R, D>where
T::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 + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
impl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Rotation<T, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
sourceimpl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
impl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
sourceimpl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D>where
T::Element: SimdRealField,
R: AbstractRotation<T, D>,
impl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D>where
T::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 + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
impl<T, C, const D: usize> Mul<OPoint<T, Const<D>>> for Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
sourceimpl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
impl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
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 + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
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 + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
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 + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
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 + ClosedMul,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
sourceimpl<'a, T: Scalar + ClosedMul, D: DimName> Mul<T> for &'a OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<'a, T: Scalar + ClosedMul, D: DimName> Mul<T> for &'a OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar + ClosedMul, D: DimName> Mul<T> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + ClosedMul, D: DimName> Mul<T> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar + ClosedMul, D: DimName> MulAssign<T> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + ClosedMul, D: DimName> MulAssign<T> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourcefn mul_assign(&mut self, right: T)
fn mul_assign(&mut self, right: T)
*=
operation. Read moresourceimpl<'a, T: Scalar + ClosedNeg, D: DimName> Neg for &'a OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<'a, T: Scalar + ClosedNeg, D: DimName> Neg for &'a OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar + ClosedNeg, D: DimName> Neg for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + ClosedNeg, D: DimName> Neg for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar, D: DimName> PartialEq<OPoint<T, D>> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar, D: DimName> PartialEq<OPoint<T, D>> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar + PartialOrd, D: DimName> PartialOrd<OPoint<T, D>> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + PartialOrd, D: DimName> PartialOrd<OPoint<T, D>> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
sourcefn inverse_transform_point(&self, pt: &Point2<T>) -> Point2<T>
fn inverse_transform_point(&self, pt: &Point2<T>) -> Point2<T>
sourcefn inverse_transform_vector(&self, v: &Vector2<T>) -> Vector2<T>
fn inverse_transform_vector(&self, v: &Vector2<T>) -> Vector2<T>
sourceimpl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
sourcefn inverse_transform_point(&self, pt: &Point3<T>) -> Point3<T>
fn inverse_transform_point(&self, pt: &Point3<T>) -> Point3<T>
sourcefn inverse_transform_vector(&self, v: &Vector3<T>) -> Vector3<T>
fn inverse_transform_vector(&self, v: &Vector3<T>) -> Vector3<T>
sourceimpl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
sourcefn inverse_transform_point(&self, pt: &Point3<T>) -> Point3<T>
fn inverse_transform_point(&self, pt: &Point3<T>) -> Point3<T>
sourcefn inverse_transform_vector(&self, v: &Vector3<T>) -> Vector3<T>
fn inverse_transform_vector(&self, v: &Vector3<T>) -> Vector3<T>
sourceimpl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourcefn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: RealField + RealField, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Rotation<T, D>
impl<T: RealField + RealField, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Rotation<T, D>
sourcefn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourcefn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T, C, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Transform<T, C, D>where
Const<D>: DimNameAdd<U1>,
T: RealField + RealField,
C: SubTCategoryOf<TProjective>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T, DimNameSum<Const<D>, U1>>,
impl<T, C, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Transform<T, C, D>where
Const<D>: DimNameAdd<U1>,
T: RealField + RealField,
C: SubTCategoryOf<TProjective>,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T, DimNameSum<Const<D>, U1>>,
sourcefn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: RealField + RealField, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Translation<T, D>
impl<T: RealField + RealField, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Translation<T, D>
sourcefn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn inverse_transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: Scalar + RelativeEq, D: DimName> RelativeEq<OPoint<T, D>> for OPoint<T, D>where
T::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + RelativeEq, D: DimName> RelativeEq<OPoint<T, D>> for OPoint<T, D>where
T::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
sourcefn default_max_relative() -> Self::Epsilon
fn default_max_relative() -> Self::Epsilon
sourcefn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
sourcefn 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: RealField + RealField> Rotation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> Rotation<OPoint<T, Const<2>>> for UnitComplex<T>
sourcefn powf(&self, n: T) -> Option<Self>
fn powf(&self, n: T) -> Option<Self>
n
. Read moresourcefn rotation_between(a: &Vector2<T>, b: &Vector2<T>) -> Option<Self>
fn rotation_between(a: &Vector2<T>, b: &Vector2<T>) -> Option<Self>
a
and b
equal to zero, i.e.,
b.angle(a * delta_rotation(a, b)) = 0
. If a
and b
are collinear, the computed
rotation may not be unique. Returns None
if no such simple rotation exists in the
subgroup represented by Self
. Read moresourceimpl<T: RealField + RealField> Rotation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> Rotation<OPoint<T, Const<3>>> for UnitQuaternion<T>
sourcefn powf(&self, n: T) -> Option<Self>
fn powf(&self, n: T) -> Option<Self>
n
. Read moresourcefn rotation_between(a: &Vector3<T>, b: &Vector3<T>) -> Option<Self>
fn rotation_between(a: &Vector3<T>, b: &Vector3<T>) -> Option<Self>
a
and b
equal to zero, i.e.,
b.angle(a * delta_rotation(a, b)) = 0
. If a
and b
are collinear, the computed
rotation may not be unique. Returns None
if no such simple rotation exists in the
subgroup represented by Self
. Read moresourceimpl<T: RealField + RealField, const D: usize> Rotation<OPoint<T, Const<D>>> for Rotation<T, D>
impl<T: RealField + RealField, const D: usize> Rotation<OPoint<T, Const<D>>> for Rotation<T, D>
Subgroups of the n-dimensional rotation group SO(n)
.
sourcefn powf(&self, _: T) -> Option<Self>
fn powf(&self, _: T) -> Option<Self>
n
. Read moresourcefn rotation_between(_: &SVector<T, D>, _: &SVector<T, D>) -> Option<Self>
fn rotation_between(_: &SVector<T, D>, _: &SVector<T, D>) -> Option<Self>
a
and b
equal to zero, i.e.,
b.angle(a * delta_rotation(a, b)) = 0
. If a
and b
are collinear, the computed
rotation may not be unique. Returns None
if no such simple rotation exists in the
subgroup represented by Self
. Read moresourceimpl<__S: Fallible + ?Sized, T: Scalar, D: DimName> Serialize<__S> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: Serialize<__S>,
impl<__S: Fallible + ?Sized, T: Scalar, D: DimName> Serialize<__S> for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: Serialize<__S>,
sourceimpl<T: Scalar, D: DimName> Serialize for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
<DefaultAllocator as Allocator<T, D>>::Buffer: Serialize,
impl<T: Scalar, D: DimName> Serialize for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
<DefaultAllocator as Allocator<T, D>>::Buffer: Serialize,
sourceimpl<T: RealField + RealField> Similarity<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> Similarity<OPoint<T, Const<2>>> for UnitComplex<T>
type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
sourcefn translation(&self) -> Id
fn translation(&self) -> Id
sourcefn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
sourcefn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
sourcefn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
sourcefn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
sourcefn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
sourcefn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
sourcefn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourceimpl<T: RealField + RealField> Similarity<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> Similarity<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
sourcefn translation(&self) -> Translation3<T>
fn translation(&self) -> Translation3<T>
sourcefn rotation(&self) -> UnitQuaternion<T>
fn rotation(&self) -> UnitQuaternion<T>
sourcefn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
sourcefn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
sourcefn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
sourcefn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
sourcefn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
sourcefn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
sourcefn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourceimpl<T: RealField + RealField> Similarity<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> Similarity<OPoint<T, Const<3>>> for UnitQuaternion<T>
type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
sourcefn translation(&self) -> Id
fn translation(&self) -> Id
sourcefn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
sourcefn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
sourcefn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
sourcefn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
sourcefn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
sourcefn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
sourcefn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourceimpl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
sourcefn translation(&self) -> Translation<T, D>
fn translation(&self) -> Translation<T, D>
sourcefn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
sourcefn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
sourcefn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
sourcefn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
sourcefn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
sourcefn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
sourcefn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourceimpl<T: RealField + RealField, const D: usize> Similarity<OPoint<T, Const<D>>> for Rotation<T, D>
impl<T: RealField + RealField, const D: usize> Similarity<OPoint<T, Const<D>>> for Rotation<T, D>
type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
sourcefn translation(&self) -> Id
fn translation(&self) -> Id
sourcefn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
sourcefn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
sourcefn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
sourcefn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
sourcefn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
sourcefn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
sourcefn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourceimpl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
type Scaling = T
type Scaling = T
sourcefn translation(&self) -> Translation<T, D>
fn translation(&self) -> Translation<T, D>
sourcefn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
sourcefn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
sourcefn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
sourcefn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
sourcefn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
sourcefn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
sourcefn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourceimpl<T: RealField + RealField, const D: usize> Similarity<OPoint<T, Const<D>>> for Translation<T, D>
impl<T: RealField + RealField, const D: usize> Similarity<OPoint<T, Const<D>>> for Translation<T, D>
type Scaling = Id<Multiplicative>
type Scaling = Id<Multiplicative>
sourcefn translation(&self) -> Self
fn translation(&self) -> Self
sourcefn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
sourcefn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
sourcefn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
sourcefn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
sourcefn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
sourcefn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
sourcefn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourcefn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
sourceimpl<'a, 'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'a, 'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
sourceimpl<'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
sourceimpl<'a, 'b, T, D> Sub<&'b OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
impl<'a, 'b, T, D> Sub<&'b OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
sourceimpl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
impl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
sourceimpl<'a, T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'a, T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
sourceimpl<T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
sourceimpl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
impl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
sourceimpl<T, D> Sub<OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
impl<T, D> Sub<OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
sourceimpl<'b, T, D1: DimName, D2: Dim, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'b, T, D1: DimName, D2: Dim, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
sourcefn sub_assign(&mut self, right: &'b Vector<T, D2, SB>)
fn sub_assign(&mut self, right: &'b Vector<T, D2, SB>)
-=
operation. Read moresourceimpl<T, D1: DimName, D2: Dim, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<T, D1: DimName, D2: Dim, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
sourcefn sub_assign(&mut self, right: Vector<T, D2, SB>)
fn sub_assign(&mut self, right: Vector<T, D2, 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<U1>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D> + Allocator<T2, D> + Allocator<T1, DimNameSum<D, U1>> + Allocator<T2, DimNameSum<D, U1>>,
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<U1>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D> + Allocator<T2, D> + Allocator<T1, DimNameSum<D, U1>> + Allocator<T2, DimNameSum<D, U1>>,
sourcefn to_superset(&self) -> OVector<T2, DimNameSum<D, U1>>
fn to_superset(&self) -> OVector<T2, DimNameSum<D, U1>>
self
to the equivalent element of its superset.sourcefn is_in_subset(v: &OVector<T2, DimNameSum<D, U1>>) -> bool
fn is_in_subset(v: &OVector<T2, DimNameSum<D, U1>>) -> bool
element
is actually part of the subset Self
(and can be converted to it).sourcefn from_superset_unchecked(v: &OVector<T2, DimNameSum<D, U1>>) -> Self
fn from_superset_unchecked(v: &OVector<T2, DimNameSum<D, U1>>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn 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: DimName> SubsetOf<OPoint<T2, D>> for OPoint<T1, D>where
T1: Scalar,
T2: Scalar + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D> + Allocator<T2, D>,
impl<T1, T2, D: DimName> SubsetOf<OPoint<T2, D>> for OPoint<T1, D>where
T1: Scalar,
T2: Scalar + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D> + Allocator<T2, D>,
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>) -> Self
fn from_superset_unchecked(m: &OPoint<T2, D>) -> Self
self.to_superset
but without any property checks. Always succeeds.sourcefn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self
from the equivalent element of its
superset. Read moresourceimpl<T: RealField + RealField> Transformation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> Transformation<OPoint<T, Const<2>>> for UnitComplex<T>
sourcefn transform_point(&self, pt: &Point2<T>) -> Point2<T>
fn transform_point(&self, pt: &Point2<T>) -> Point2<T>
sourcefn transform_vector(&self, v: &Vector2<T>) -> Vector2<T>
fn transform_vector(&self, v: &Vector2<T>) -> Vector2<T>
sourceimpl<T: RealField + RealField> Transformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> Transformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
sourcefn transform_point(&self, pt: &Point3<T>) -> Point3<T>
fn transform_point(&self, pt: &Point3<T>) -> Point3<T>
sourcefn transform_vector(&self, v: &Vector3<T>) -> Vector3<T>
fn transform_vector(&self, v: &Vector3<T>) -> Vector3<T>
sourceimpl<T: RealField + RealField> Transformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> Transformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
sourcefn transform_point(&self, pt: &Point3<T>) -> Point3<T>
fn transform_point(&self, pt: &Point3<T>) -> Point3<T>
sourcefn transform_vector(&self, v: &Vector3<T>) -> Vector3<T>
fn transform_vector(&self, v: &Vector3<T>) -> Vector3<T>
sourceimpl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourcefn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: RealField + RealField, const D: usize> Transformation<OPoint<T, Const<D>>> for Rotation<T, D>
impl<T: RealField + RealField, const D: usize> Transformation<OPoint<T, Const<D>>> for Rotation<T, D>
sourcefn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Similarity<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
sourcefn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T, C, const D: usize> Transformation<OPoint<T, Const<D>>> for Transform<T, C, D>where
Const<D>: DimNameAdd<U1>,
T: RealField + RealField,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T, DimNameSum<Const<D>, U1>>,
impl<T, C, const D: usize> Transformation<OPoint<T, Const<D>>> for Transform<T, C, D>where
Const<D>: DimNameAdd<U1>,
T: RealField + RealField,
C: TCategory,
DefaultAllocator: Allocator<T, DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<T, DimNameSum<Const<D>, U1>>,
sourcefn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: RealField + RealField, const D: usize> Transformation<OPoint<T, Const<D>>> for Translation<T, D>
impl<T: RealField + RealField, const D: usize> Transformation<OPoint<T, Const<D>>> for Translation<T, D>
sourcefn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
sourcefn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
fn transform_vector(&self, v: &SVector<T, D>) -> SVector<T, D>
sourceimpl<T: RealField + RealField, const D: usize> Translation<OPoint<T, Const<D>>> for Translation<T, D>
impl<T: RealField + RealField, const D: usize> Translation<OPoint<T, Const<D>>> for Translation<T, D>
Subgroups of the n-dimensional translation group T(n)
.
sourcefn from_vector(v: SVector<T, D>) -> Option<Self>
fn from_vector(v: SVector<T, D>) -> Option<Self>
None
if the translation
represented by v
is not part of the translation subgroup represented by Self
. Read moresourcefn powf(&self, n: T) -> Option<Self>
fn powf(&self, n: T) -> Option<Self>
self.to_superset() * n
. Returns None
if the result is not representable by Self
. Read moresourcefn translation_between(a: &Point<T, D>, b: &Point<T, D>) -> Option<Self>
fn translation_between(a: &Point<T, D>, b: &Point<T, D>) -> Option<Self>
a
coincide with b
, i.e., b = a * translation_to(a, b)
.sourceimpl<T: Scalar + UlpsEq, D: DimName> UlpsEq<OPoint<T, D>> for OPoint<T, D>where
T::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + UlpsEq, D: DimName> UlpsEq<OPoint<T, D>> for OPoint<T, D>where
T::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
sourceimpl<T: Scalar, D: DimName> Zeroable for OPoint<T, D>where
OVector<T, D>: Zeroable,
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar, D: DimName> Zeroable for OPoint<T, D>where
OVector<T, D>: Zeroable,
DefaultAllocator: Allocator<T, D>,
impl<T: Scalar + Copy, D: DimName> Copy for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: Copy,
impl<T: Scalar + DeviceCopy, D: DimName> DeviceCopy for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
OVector<T, D>: DeviceCopy,
impl<T: RealField + RealField> DirectIsometry<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> DirectIsometry<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> DirectIsometry<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField, R, const D: usize> DirectIsometry<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, const D: usize> DirectIsometry<OPoint<T, Const<D>>> for Rotation<T, D>
impl<T: RealField + RealField, const D: usize> DirectIsometry<OPoint<T, Const<D>>> for Translation<T, D>
impl<T: Scalar + Eq, D: DimName> Eq for OPoint<T, D>where
DefaultAllocator: Allocator<T, D>,
impl<T: RealField + RealField> Isometry<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> Isometry<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> Isometry<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField, R, const D: usize> Isometry<OPoint<T, Const<D>>> for Isometry<T, R, D>where
R: Rotation<Point<T, D>> + AbstractRotation<T, D>,
impl<T: RealField + RealField, const D: usize> Isometry<OPoint<T, Const<D>>> for Rotation<T, D>
impl<T: RealField + RealField, const D: usize> Isometry<OPoint<T, Const<D>>> for Translation<T, D>
impl<T: RealField + RealField> OrthogonalTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> OrthogonalTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField, const D: usize> OrthogonalTransformation<OPoint<T, Const<D>>> for Rotation<T, D>
impl<T: Scalar, D: DimName> Pod for OPoint<T, D>where
T: Copy,
OVector<T, D>: Pod,
DefaultAllocator: Allocator<T, D>,
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> ArchivePointee for T
impl<T> ArchivePointee for T
type ArchivedMetadata = ()
type ArchivedMetadata = ()
sourcefn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
fn pointer_metadata(
&<T as ArchivePointee>::ArchivedMetadata
) -> <T as Pointee>::Metadata
sourceimpl<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
sourceimpl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
impl<F, W, T, D> Deserialize<With<T, W>, D> for Fwhere
W: DeserializeWith<F, T, D>,
D: Fallible + ?Sized,
F: ?Sized,
sourceimpl<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>,
sourcefn simd_ge(self, other: T) -> <T as SimdValue>::SimdBool
fn simd_ge(self, other: T) -> <T as SimdValue>::SimdBool
>=
comparison.sourcefn 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
.sourcefn simd_horizontal_min(self) -> <T as SimdValue>::Element
fn simd_horizontal_min(self) -> <T as SimdValue>::Element
self
.sourcefn simd_horizontal_max(self) -> <T as SimdValue>::Element
fn simd_horizontal_max(self) -> <T as SimdValue>::Element
self
.sourceimpl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
sourcefn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresourcefn 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).sourcefn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.sourcefn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.sourceimpl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
sourcefn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moresourcefn 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).sourceunsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.sourcefn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.