#[repr(C)]pub struct OPoint<T: Scalar, D: DimName>where
DefaultAllocator: Allocator<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§
Source§impl<T: Scalar, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Sourcepub fn map<T2: Scalar, F: FnMut(T) -> T2>(&self, f: F) -> OPoint<T2, D>where
DefaultAllocator: Allocator<D>,
pub fn map<T2: Scalar, F: FnMut(T) -> T2>(&self, f: F) -> OPoint<T2, D>where
DefaultAllocator: Allocator<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>>
pub fn to_homogeneous(&self) -> OVector<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 lerp(&self, rhs: &OPoint<T, D>, t: T) -> OPoint<T, D>
pub fn lerp(&self, rhs: &OPoint<T, D>, t: T) -> OPoint<T, D>
Linear interpolation between two points.
Returns self * (1.0 - t) + rhs.coords * t
, i.e., the linear blend of the points
self
and rhs
using the scalar value t
.
The value for a is not restricted to the range [0, 1]
.
§Examples:
let a = Point3::new(1.0, 2.0, 3.0);
let b = Point3::new(10.0, 20.0, 30.0);
assert_eq!(a.lerp(&b, 0.1), Point3::new(1.9, 3.8, 5.7));
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<D>>::Buffer<T>> ⓘ
pub fn iter( &self, ) -> MatrixIter<'_, T, D, Const<1>, <DefaultAllocator as Allocator<D>>::Buffer<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.
§Safety
i
must be less than self.len()
.
Sourcepub fn iter_mut(
&mut self,
) -> MatrixIterMut<'_, T, D, Const<1>, <DefaultAllocator as Allocator<D>>::Buffer<T>> ⓘ
pub fn iter_mut( &mut self, ) -> MatrixIterMut<'_, T, D, Const<1>, <DefaultAllocator as Allocator<D>>::Buffer<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.
§Safety
i
must be less than self.len()
.
Sourcepub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
pub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
Source§impl<T: Scalar + SimdPartialOrd, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + SimdPartialOrd, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<D>,
§Other construction methods
impl<T: Scalar, D: DimName> OPoint<T, D>where
DefaultAllocator: Allocator<D>,
§Other construction methods
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 + ClosedDivAssign,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<DimNameSum<D, U1>>,
pub fn from_homogeneous(v: OVector<T, DimNameSum<D, U1>>) -> Option<Self>where
T: Scalar + Zero + One + ClosedDivAssign,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<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)));
Source§impl<T: Scalar, const D: usize> OPoint<T, Const<D>>
§Swizzling
impl<T: Scalar, const D: usize> OPoint<T, Const<D>>
§Swizzling
Trait Implementations§
Source§impl<T: Scalar + AbsDiffEq, D: DimName> AbsDiffEq for OPoint<T, D>
impl<T: Scalar + AbsDiffEq, D: DimName> AbsDiffEq for OPoint<T, D>
Source§fn default_epsilon() -> Self::Epsilon
fn default_epsilon() -> Self::Epsilon
Source§fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
Source§fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq
.Source§impl<'a, 'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
impl<'a, 'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
Source§impl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
impl<'b, T, D1, D2, SB> Add<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
Source§impl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
impl<'a, T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
Source§impl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
impl<T, D1, D2, SB> Add<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
Source§impl<'b, T, D1: DimName, D2: Dim, SB> AddAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<D1>,
impl<'b, T, D1: DimName, D2: Dim, SB> AddAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<D1>,
Source§fn add_assign(&mut self, right: &'b Vector<T, D2, SB>)
fn add_assign(&mut self, right: &'b Vector<T, D2, SB>)
+=
operation. Read moreSource§impl<T, D1: DimName, D2: Dim, SB> AddAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<D1>,
impl<T, D1: DimName, D2: Dim, SB> AddAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedAddAssign,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<D1>,
Source§fn add_assign(&mut self, right: Vector<T, D2, SB>)
fn add_assign(&mut self, right: Vector<T, D2, SB>)
+=
operation. Read moreSource§impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
Source§type NonUniformScaling = Id
type NonUniformScaling = Id
Source§type Translation = Id
type Translation = Id
Source§fn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
Source§fn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
Source§fn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
Source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
Source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
Source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
Source§type Rotation = Unit<Quaternion<T>>
type Rotation = Unit<Quaternion<T>>
Source§type NonUniformScaling = Id
type NonUniformScaling = Id
Source§type Translation = Translation<T, 3>
type Translation = Translation<T, 3>
Source§fn decompose(&self) -> (Self::Translation, Self::Rotation, Id, Self::Rotation)
fn decompose(&self) -> (Self::Translation, Self::Rotation, Id, Self::Rotation)
Source§fn append_translation(&self, translation: &Self::Translation) -> Self
fn append_translation(&self, translation: &Self::Translation) -> Self
Source§fn prepend_translation(&self, translation: &Self::Translation) -> Self
fn prepend_translation(&self, translation: &Self::Translation) -> Self
Source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
Source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
Source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> AffineTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
Source§type Rotation = Unit<Quaternion<T>>
type Rotation = Unit<Quaternion<T>>
Source§type NonUniformScaling = Id
type NonUniformScaling = Id
Source§type Translation = Id
type Translation = Id
Source§fn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
Source§fn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
Source§fn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
Source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
Source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
Source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§impl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Isometry<T, R, D>
impl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Isometry<T, R, D>
Source§type NonUniformScaling = Id
type NonUniformScaling = Id
Source§type Translation = Translation<T, D>
type Translation = Translation<T, D>
Source§fn decompose(&self) -> (Self::Translation, R, Id, R)
fn decompose(&self) -> (Self::Translation, R, Id, R)
Source§fn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
Source§fn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
Source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
Source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
Source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§impl<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>
Source§type NonUniformScaling = Id
type NonUniformScaling = Id
Source§type Translation = Id
type Translation = Id
Source§fn decompose(&self) -> (Id, Self, Id, Self)
fn decompose(&self) -> (Id, Self, Id, Self)
Source§fn append_translation(&self, _: &Self::Translation) -> Self
fn append_translation(&self, _: &Self::Translation) -> Self
Source§fn prepend_translation(&self, _: &Self::Translation) -> Self
fn prepend_translation(&self, _: &Self::Translation) -> Self
Source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
Source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
Source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§impl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>
impl<T: RealField + RealField, R, const D: usize> AffineTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>
Source§type NonUniformScaling = T
type NonUniformScaling = T
Source§type Translation = Translation<T, D>
type Translation = Translation<T, D>
Source§fn decompose(&self) -> (Translation<T, D>, R, T, R)
fn decompose(&self) -> (Translation<T, D>, R, T, R)
Source§fn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
Source§fn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
Source§fn append_rotation(&self, r: &Self::Rotation) -> Self
fn append_rotation(&self, r: &Self::Rotation) -> Self
Source§fn prepend_rotation(&self, r: &Self::Rotation) -> Self
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
Source§fn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
Source§fn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
Source§impl<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>
Source§type NonUniformScaling = Id
type NonUniformScaling = Id
Source§type Translation = Translation<T, D>
type Translation = Translation<T, D>
Source§fn decompose(&self) -> (Self, Id, Id, Id)
fn decompose(&self) -> (Self, Id, Id, Id)
Source§fn append_translation(&self, t: &Self::Translation) -> Self
fn append_translation(&self, t: &Self::Translation) -> Self
Source§fn prepend_translation(&self, t: &Self::Translation) -> Self
fn prepend_translation(&self, t: &Self::Translation) -> Self
Source§fn append_rotation(&self, _: &Self::Rotation) -> Self
fn append_rotation(&self, _: &Self::Rotation) -> Self
Source§fn prepend_rotation(&self, _: &Self::Rotation) -> Self
fn prepend_rotation(&self, _: &Self::Rotation) -> Self
Source§fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
Source§impl<T, D: DimName> Archive for OPoint<T, D>
impl<T, D: DimName> Archive for OPoint<T, D>
Source§impl<T: Scalar + Bounded, D: DimName> Bounded for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + Bounded, D: DimName> Bounded for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<__C: ?Sized, T: Scalar, D: DimName> CheckBytes<__C> for OPoint<T, D>
impl<__C: ?Sized, T: Scalar, D: DimName> CheckBytes<__C> for OPoint<T, D>
Source§type Error = StructCheckError
type Error = StructCheckError
Source§unsafe 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>
Source§impl<T: Clone + Scalar, D: Clone + DimName> Clone for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Clone + Scalar, D: Clone + DimName> Clone for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar + Debug, D: DimName> Debug for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + Debug, D: DimName> Debug for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar + Zero, D: DimName> Default for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + Zero, D: DimName> Default for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<'a, T: Scalar, D: DimName> Deserialize<'a> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
<DefaultAllocator as Allocator<D>>::Buffer<T>: Deserialize<'a>,
impl<'a, T: Scalar, D: DimName> Deserialize<'a> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
<DefaultAllocator as Allocator<D>>::Buffer<T>: Deserialize<'a>,
Source§fn 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>,
Source§impl<__D: Fallible + ?Sized, T, D: DimName> Deserialize<OPoint<T, D>, __D> for Archived<OPoint<T, D>>
impl<__D: Fallible + ?Sized, T, D: DimName> Deserialize<OPoint<T, D>, __D> for Archived<OPoint<T, D>>
Source§impl<T: Scalar + Display, D: DimName> Display for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + Display, D: DimName> Display for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar, D: DimName> Distribution<OPoint<T, D>> for Standard
impl<T: Scalar, D: DimName> Distribution<OPoint<T, D>> for Standard
Source§fn 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)
.
Source§fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
fn sample_iter<R>(self, rng: R) -> DistIter<Self, R, T>
T
, using rng
as
the source of randomness. Read moreSource§impl<'a, T: Scalar + ClosedDivAssign, D: DimName> Div<T> for &'a OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<'a, T: Scalar + ClosedDivAssign, D: DimName> Div<T> for &'a OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar + ClosedDivAssign, D: DimName> Div<T> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + ClosedDivAssign, D: DimName> Div<T> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar + ClosedDivAssign, D: DimName> DivAssign<T> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + ClosedDivAssign, D: DimName> DivAssign<T> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§fn div_assign(&mut self, right: T)
fn div_assign(&mut self, right: T)
/=
operation. Read moreSource§impl<T: Scalar, D: DimName> From<Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<D>>::Buffer<T>>> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar, D: DimName> From<Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<D>>::Buffer<T>>> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<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>,
Source§impl<T: Scalar + Hash, D: DimName> Hash for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + Hash, D: DimName> Hash for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar, D: DimName> Index<usize> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar, D: DimName> Index<usize> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar, D: DimName> IndexMut<usize> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar, D: DimName> IndexMut<usize> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<'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,
Source§impl<'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,
Source§impl<'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,
Source§impl<'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,
Source§impl<'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,
Source§impl<'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,
Source§impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Isometry<T, R, D>
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Isometry<T, R, D>
Source§impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Rotation<T, D>where
T: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign,
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 + ClosedAddAssign + ClosedMulAssign,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
Source§impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Scale<T, D>where
T: Scalar + ClosedMulAssign,
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 + ClosedMulAssign,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
Source§impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D>
impl<'a, 'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Similarity<T, R, D>
Source§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 + ClosedAddAssign + ClosedMulAssign + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<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 + ClosedAddAssign + ClosedMulAssign + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
Source§impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Translation<T, D>where
T: Scalar + ClosedAddAssign,
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 + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
Source§impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Isometry<T, R, D>
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Isometry<T, R, D>
Source§impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Rotation<T, D>where
T: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign,
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 + ClosedAddAssign + ClosedMulAssign,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
Source§impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Scale<T, D>where
T: Scalar + ClosedMulAssign,
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 + ClosedMulAssign,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
Source§impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D>
impl<'b, T: SimdRealField, R, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Similarity<T, R, D>
Source§impl<'b, T, C, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<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 + ClosedAddAssign + ClosedMulAssign + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
Source§impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Translation<T, D>where
T: Scalar + ClosedAddAssign,
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 + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
Source§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 + ClosedAddAssign + ClosedMulAssign,
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 + ClosedAddAssign + ClosedMulAssign,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
Source§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 + ClosedAddAssign + ClosedMulAssign,
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 + ClosedAddAssign + ClosedMulAssign,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
Source§impl<'b, D: DimName> Mul<&'b OPoint<isize, D>> for isizewhere
DefaultAllocator: Allocator<D>,
impl<'b, D: DimName> Mul<&'b OPoint<isize, D>> for isizewhere
DefaultAllocator: Allocator<D>,
Source§impl<'b, D: DimName> Mul<&'b OPoint<usize, D>> for usizewhere
DefaultAllocator: Allocator<D>,
impl<'b, D: DimName> Mul<&'b OPoint<usize, D>> for usizewhere
DefaultAllocator: Allocator<D>,
Source§impl<'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,
Source§impl<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,
Source§impl<'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,
Source§impl<'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,
Source§impl<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,
Source§impl<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,
Source§impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Isometry<T, R, D>
impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Isometry<T, R, D>
Source§impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Rotation<T, D>where
T: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign,
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 + ClosedAddAssign + ClosedMulAssign,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
Source§impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Scale<T, D>where
T: Scalar + ClosedMulAssign,
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 + ClosedMulAssign,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
Source§impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D>
impl<'a, T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Similarity<T, R, D>
Source§impl<'a, T, C, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<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 + ClosedAddAssign + ClosedMulAssign + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
Source§impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Translation<T, D>where
T: Scalar + ClosedAddAssign,
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 + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
Source§impl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Rotation<T, D>where
T: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign,
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 + ClosedAddAssign + ClosedMulAssign,
ShapeConstraint: AreMultipliable<Const<D>, Const<D>, Const<D>, U1>,
Source§impl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Scale<T, D>where
T: Scalar + ClosedMulAssign,
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 + ClosedMulAssign,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
Source§impl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D>
impl<T: SimdRealField, R, const D: usize> Mul<OPoint<T, Const<D>>> for Similarity<T, R, D>
Source§impl<T, C, const D: usize> Mul<OPoint<T, Const<D>>> for Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAddAssign + ClosedMulAssign + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<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 + ClosedAddAssign + ClosedMulAssign + RealField,
Const<D>: DimNameAdd<U1>,
C: TCategory,
DefaultAllocator: Allocator<DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>>,
Source§impl<T, const D: usize> Mul<OPoint<T, Const<D>>> for Translation<T, D>where
T: Scalar + ClosedAddAssign,
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 + ClosedAddAssign,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<U1, U1, Representative = U1>,
Source§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 + ClosedAddAssign + ClosedMulAssign,
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 + ClosedAddAssign + ClosedMulAssign,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
Source§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 + ClosedAddAssign + ClosedMulAssign,
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 + ClosedAddAssign + ClosedMulAssign,
SA: Storage<T, Const<R1>, Const<C1>>,
ShapeConstraint: AreMultipliable<Const<R1>, Const<C1>, Const<D2>, U1>,
Source§impl<'a, T: Scalar + ClosedMulAssign, D: DimName> Mul<T> for &'a OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<'a, T: Scalar + ClosedMulAssign, D: DimName> Mul<T> for &'a OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar + ClosedMulAssign, D: DimName> Mul<T> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + ClosedMulAssign, D: DimName> Mul<T> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar + ClosedMulAssign, D: DimName> MulAssign<T> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + ClosedMulAssign, D: DimName> MulAssign<T> for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§fn mul_assign(&mut self, right: T)
fn mul_assign(&mut self, right: T)
*=
operation. Read moreSource§impl<'a, T: Scalar + ClosedNeg, D: DimName> Neg for &'a OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<'a, T: Scalar + ClosedNeg, D: DimName> Neg for &'a OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar + ClosedNeg, D: DimName> Neg for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + ClosedNeg, D: DimName> Neg for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: Scalar + PartialOrd, D: DimName> PartialOrd for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
impl<T: Scalar + PartialOrd, D: DimName> PartialOrd for OPoint<T, D>where
DefaultAllocator: Allocator<D>,
Source§impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<2>>> for UnitComplex<T>
Source§fn inverse_transform_point(&self, pt: &Point2<T>) -> Point2<T>
fn inverse_transform_point(&self, pt: &Point2<T>) -> Point2<T>
Source§impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
Source§fn inverse_transform_point(&self, pt: &Point3<T>) -> Point3<T>
fn inverse_transform_point(&self, pt: &Point3<T>) -> Point3<T>
Source§impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> ProjectiveTransformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
Source§fn inverse_transform_point(&self, pt: &Point3<T>) -> Point3<T>
fn inverse_transform_point(&self, pt: &Point3<T>) -> Point3<T>
Source§impl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Isometry<T, R, D>
impl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Isometry<T, R, D>
Source§fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
Source§impl<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>
Source§fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
Source§impl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>
impl<T: RealField + RealField, R, const D: usize> ProjectiveTransformation<OPoint<T, Const<D>>> for Similarity<T, R, D>
Source§fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
Source§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<DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<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<DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<DimNameSum<Const<D>, U1>>,
Source§fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
Source§impl<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>
Source§fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
fn inverse_transform_point(&self, pt: &Point<T, D>) -> Point<T, D>
Source§impl<T: Scalar + RelativeEq, D: DimName> RelativeEq for OPoint<T, D>
impl<T: Scalar + RelativeEq, D: DimName> RelativeEq for OPoint<T, D>
Source§fn default_max_relative() -> Self::Epsilon
fn default_max_relative() -> Self::Epsilon
Source§fn 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
Source§fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_ne( &self, other: &Rhs, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
RelativeEq::relative_eq
.Source§impl<T: RealField + RealField> Rotation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> Rotation<OPoint<T, Const<2>>> for UnitComplex<T>
Source§fn powf(&self, n: T) -> Option<Self>
fn powf(&self, n: T) -> Option<Self>
n
.Source§fn 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
.Source§impl<T: RealField + RealField> Rotation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> Rotation<OPoint<T, Const<3>>> for UnitQuaternion<T>
Source§fn powf(&self, n: T) -> Option<Self>
fn powf(&self, n: T) -> Option<Self>
n
.Source§fn 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
.Source§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)
.
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)
.
Source§fn powf(&self, _: T) -> Option<Self>
fn powf(&self, _: T) -> Option<Self>
n
.Source§fn 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
.Source§impl<T: RealField + RealField> Similarity<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> Similarity<OPoint<T, Const<2>>> for UnitComplex<T>
Source§type Scaling = Id
type Scaling = Id
Source§fn translation(&self) -> Id
fn translation(&self) -> Id
Source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
Source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
Source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
Source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
Source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§impl<T: RealField + RealField> Similarity<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> Similarity<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
Source§type Scaling = Id
type Scaling = Id
Source§fn translation(&self) -> Translation3<T>
fn translation(&self) -> Translation3<T>
Source§fn rotation(&self) -> UnitQuaternion<T>
fn rotation(&self) -> UnitQuaternion<T>
Source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
Source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
Source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
Source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
Source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§impl<T: RealField + RealField> Similarity<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> Similarity<OPoint<T, Const<3>>> for UnitQuaternion<T>
Source§type Scaling = Id
type Scaling = Id
Source§fn translation(&self) -> Id
fn translation(&self) -> Id
Source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
Source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
Source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
Source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
Source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§impl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Isometry<T, R, D>
impl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Isometry<T, R, D>
Source§type Scaling = Id
type Scaling = Id
Source§fn translation(&self) -> Translation<T, D>
fn translation(&self) -> Translation<T, D>
Source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
Source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
Source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
Source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
Source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§impl<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>
Source§type Scaling = Id
type Scaling = Id
Source§fn translation(&self) -> Id
fn translation(&self) -> Id
Source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
Source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
Source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
Source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
Source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§impl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Similarity<T, R, D>
impl<T: RealField + RealField, R, const D: usize> Similarity<OPoint<T, Const<D>>> for Similarity<T, R, D>
Source§type Scaling = T
type Scaling = T
Source§fn translation(&self) -> Translation<T, D>
fn translation(&self) -> Translation<T, D>
Source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
Source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
Source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
Source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
Source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§impl<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>
Source§type Scaling = Id
type Scaling = Id
Source§fn translation(&self) -> Self
fn translation(&self) -> Self
Source§fn translate_point(&self, pt: &E) -> E
fn translate_point(&self, pt: &E) -> E
Source§fn rotate_point(&self, pt: &E) -> E
fn rotate_point(&self, pt: &E) -> E
Source§fn scale_point(&self, pt: &E) -> E
fn scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§fn inverse_translate_point(&self, pt: &E) -> E
fn inverse_translate_point(&self, pt: &E) -> E
Source§fn inverse_rotate_point(&self, pt: &E) -> E
fn inverse_rotate_point(&self, pt: &E) -> E
Source§fn inverse_scale_point(&self, pt: &E) -> E
fn inverse_scale_point(&self, pt: &E) -> E
Source§fn 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
Source§fn 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
Source§impl<'a, 'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
impl<'a, 'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
Source§impl<'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
impl<'b, T, D1, D2, SB> Sub<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
Source§impl<'a, 'b, T, D> Sub<&'b OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<D>,
impl<'a, 'b, T, D> Sub<&'b OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<D>,
Source§impl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<D>,
impl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<D>,
Source§impl<'a, T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
impl<'a, T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for &'a OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
Source§impl<T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
impl<T, D1, D2, SB> Sub<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1, Representative = U1>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<D1>,
Source§impl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<D>,
impl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<D>,
Source§impl<T, D> Sub for OPoint<T, D>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<D>,
impl<T, D> Sub for OPoint<T, D>where
T: Scalar + ClosedSubAssign,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1, Representative = U1>,
D: DimName,
DefaultAllocator: Allocator<D>,
Source§impl<'b, T, D1: DimName, D2: Dim, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<D1>,
impl<'b, T, D1: DimName, D2: Dim, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<D1>,
Source§fn sub_assign(&mut self, right: &'b Vector<T, D2, SB>)
fn sub_assign(&mut self, right: &'b Vector<T, D2, SB>)
-=
operation. Read moreSource§impl<T, D1: DimName, D2: Dim, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<D1>,
impl<T, D1: DimName, D2: Dim, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
T: Scalar + ClosedSubAssign,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<D1>,
Source§fn sub_assign(&mut self, right: Vector<T, D2, SB>)
fn sub_assign(&mut self, right: Vector<T, D2, SB>)
-=
operation. Read moreSource§impl<T1, T2, D> SubsetOf<Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<<D as DimNameAdd<Const<1>>>::Output>>::Buffer<T2>>> for OPoint<T1, D>where
D: DimNameAdd<U1>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDivAssign + SupersetOf<T1>,
DefaultAllocator: Allocator<D> + Allocator<DimNameSum<D, U1>>,
impl<T1, T2, D> SubsetOf<Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<<D as DimNameAdd<Const<1>>>::Output>>::Buffer<T2>>> for OPoint<T1, D>where
D: DimNameAdd<U1>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDivAssign + SupersetOf<T1>,
DefaultAllocator: Allocator<D> + Allocator<DimNameSum<D, U1>>,
Source§fn 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.Source§fn 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).Source§fn 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.Source§impl<T1, T2, D: DimName> SubsetOf<OPoint<T2, D>> for OPoint<T1, D>
impl<T1, T2, D: DimName> SubsetOf<OPoint<T2, D>> for OPoint<T1, D>
Source§fn to_superset(&self) -> OPoint<T2, D>
fn to_superset(&self) -> OPoint<T2, D>
self
to the equivalent element of its superset.Source§fn 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).Source§fn 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.Source§impl<T: RealField + RealField> Transformation<OPoint<T, Const<2>>> for UnitComplex<T>
impl<T: RealField + RealField> Transformation<OPoint<T, Const<2>>> for UnitComplex<T>
Source§impl<T: RealField + RealField> Transformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
impl<T: RealField + RealField> Transformation<OPoint<T, Const<3>>> for UnitDualQuaternion<T>
Source§impl<T: RealField + RealField> Transformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
impl<T: RealField + RealField> Transformation<OPoint<T, Const<3>>> for UnitQuaternion<T>
Source§impl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Isometry<T, R, D>
impl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Isometry<T, R, D>
Source§impl<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>
Source§impl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Similarity<T, R, D>
impl<T: RealField + RealField, R, const D: usize> Transformation<OPoint<T, Const<D>>> for Similarity<T, R, D>
Source§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<DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<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<DimNameSum<Const<D>, U1>, DimNameSum<Const<D>, U1>> + Allocator<DimNameSum<Const<D>, U1>>,
Source§impl<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>
Source§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)
.
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)
.
Source§fn 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
.Source§impl<T: Scalar + UlpsEq, D: DimName> UlpsEq for OPoint<T, D>
impl<T: Scalar + UlpsEq, D: DimName> UlpsEq for OPoint<T, D>
impl<T: Scalar + Copy, D: DimName> Copy for OPoint<T, D>
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>
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<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>
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, D: DimName> Pod for OPoint<T, D>
Auto Trait Implementations§
impl<T, D> !Freeze for OPoint<T, D>
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§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Source§impl<T> ArchiveUnsized for Twhere
T: Archive,
impl<T> ArchiveUnsized for Twhere
T: Archive,
Source§type Archived = <T as Archive>::Archived
type Archived = <T as Archive>::Archived
Archive
, it may be unsized. Read moreSource§type MetadataResolver = ()
type MetadataResolver = ()
Source§unsafe fn resolve_metadata(
&self,
_: usize,
_: <T as ArchiveUnsized>::MetadataResolver,
_: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata,
)
unsafe fn resolve_metadata( &self, _: usize, _: <T as ArchiveUnsized>::MetadataResolver, _: *mut <<T as ArchiveUnsized>::Archived as ArchivePointee>::ArchivedMetadata, )
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CallHasher for T
impl<T> CallHasher for T
Source§impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
impl<T> CheckedBitPattern for Twhere
T: AnyBitPattern,
Source§type Bits = T
type Bits = T
Self
must have the same layout as the specified Bits
except for
the possible invalid bit patterns being checked during
is_valid_bit_pattern
.Source§fn is_valid_bit_pattern(_bits: &T) -> bool
fn is_valid_bit_pattern(_bits: &T) -> bool
bits
as &Self
.Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<F, W, T, D> Deserialize<With<T, W>, D> for F
impl<F, W, T, D> Deserialize<With<T, W>, D> for F
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Source§impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere
T: Bounded,
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T, S> SerializeUnsized<S> for T
impl<T, S> SerializeUnsized<S> for T
Source§impl<T> SimdPartialOrd for T
impl<T> SimdPartialOrd for T
Source§fn simd_ge(self, other: T) -> <T as SimdValue>::SimdBool
fn simd_ge(self, other: T) -> <T as SimdValue>::SimdBool
>=
comparison.Source§fn simd_le(self, other: T) -> <T as SimdValue>::SimdBool
fn simd_le(self, other: T) -> <T as SimdValue>::SimdBool
<=
comparison.Source§fn simd_clamp(self, min: T, max: T) -> T
fn simd_clamp(self, min: T, max: T) -> T
self
between the corresponding lane of min
and max
.Source§fn simd_horizontal_min(self) -> <T as SimdValue>::Element
fn simd_horizontal_min(self) -> <T as SimdValue>::Element
self
.Source§fn simd_horizontal_max(self) -> <T as SimdValue>::Element
fn simd_horizontal_max(self) -> <T as SimdValue>::Element
self
.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn 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).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self
from the equivalent element of its
superset. Read moreSource§fn 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).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self
to the equivalent element of its superset.