#[repr(C)]pub struct OPoint<T, D>{
pub coords: Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer>,
}Expand description
A point in an euclidean space.
The difference between a point and a vector is only semantic. See the user guide
for details on the distinction. The most notable difference that vectors ignore translations.
In particular, an Isometry2 or Isometry3 will
transform points by applying a rotation and a translation on them. However, these isometries
will only apply rotations to vectors (when doing isometry * vector, the translation part of
the isometry is ignored).
§Construction
- From individual components
new… - Swizzling
xx,yxz… - Other construction methods
origin,from_slice,from_homogeneous…
§Transformation
Transforming a point by an Isometry, rotation, etc. can be
achieved by multiplication, e.g., isometry * point or rotation * point. Some of these transformation
may have some other methods, e.g., isometry.inverse_transform_point(&point). See the documentation
of said transformations for details.
Fields§
§coords: Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer>The coordinates of this point, i.e., the shift from the origin.
Implementations§
source§impl<T, D> OPoint<T, D>
impl<T, D> OPoint<T, D>
sourcepub fn map<T2, F>(&self, f: F) -> OPoint<T2, D>
pub fn map<T2, F>(&self, f: F) -> OPoint<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>(&mut self, f: F)
pub fn apply<F>(&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,
) -> Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>where
T: One,
D: DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output>,
pub fn to_homogeneous(
&self,
) -> Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>where
T: One,
D: DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output>,
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: Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer>,
) -> OPoint<T, D>
👎Deprecated: Use Point::from(vector) instead.
pub fn from_coordinates( coords: Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer>, ) -> OPoint<T, D>
Creates a new point with the given coordinates.
sourcepub fn len(&self) -> usize
pub fn len(&self) -> usize
The dimension of this point.
§Example
let p = Point2::new(1.0, 2.0);
assert_eq!(p.len(), 2);
// This works in any dimension.
let p = Point3::new(10.0, 20.0, 30.0);
assert_eq!(p.len(), 3);sourcepub fn is_empty(&self) -> bool
pub fn is_empty(&self) -> bool
Returns true if the point contains no elements.
§Example
let p = Point2::new(1.0, 2.0);
assert!(!p.is_empty());sourcepub fn stride(&self) -> usize
👎Deprecated: This methods is no longer significant and will always return 1.
pub fn stride(&self) -> usize
The stride of this point. This is the number of buffer element separating each component of this point.
sourcepub fn iter(
&self,
) -> MatrixIter<'_, T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer> ⓘ
pub fn iter( &self, ) -> MatrixIter<'_, T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer> ⓘ
Iterates through this point coordinates.
§Example
let p = Point3::new(1.0, 2.0, 3.0);
let mut it = p.iter().cloned();
assert_eq!(it.next(), Some(1.0));
assert_eq!(it.next(), Some(2.0));
assert_eq!(it.next(), Some(3.0));
assert_eq!(it.next(), None);sourcepub unsafe fn get_unchecked(&self, i: usize) -> &T
pub unsafe fn get_unchecked(&self, i: usize) -> &T
Gets a reference to i-th element of this point without bound-checking.
sourcepub fn iter_mut(
&mut self,
) -> MatrixIterMut<'_, T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer> ⓘ
pub fn iter_mut( &mut self, ) -> MatrixIterMut<'_, T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer> ⓘ
Mutably iterates through this point coordinates.
§Example
let mut p = Point3::new(1.0, 2.0, 3.0);
for e in p.iter_mut() {
*e *= 10.0;
}
assert_eq!(p, Point3::new(10.0, 20.0, 30.0));sourcepub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut T
pub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut T
Gets a mutable reference to i-th element of this point without bound-checking.
sourcepub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
pub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
Swaps two entries without bound-checking.
source§impl<T, D> OPoint<T, D>
impl<T, D> OPoint<T, D>
source§impl<T, D> OPoint<T, D>
impl<T, D> OPoint<T, D>
§Other construction methods
sourcepub fn origin() -> OPoint<T, D>where
T: Zero,
pub fn origin() -> OPoint<T, D>where
T: Zero,
Creates a new point with all coordinates equal to zero.
§Example
// This works in any dimension.
// The explicit crate::<f32> type annotation may not always be needed,
// depending on the context of type inference.
let pt = Point2::<f32>::origin();
assert!(pt.x == 0.0 && pt.y == 0.0);
let pt = Point3::<f32>::origin();
assert!(pt.x == 0.0 && pt.y == 0.0 && pt.z == 0.0);sourcepub fn from_slice(components: &[T]) -> OPoint<T, D>
pub fn from_slice(components: &[T]) -> OPoint<T, D>
Creates a new point from a slice.
§Example
let data = [ 1.0, 2.0, 3.0 ];
let pt = Point2::from_slice(&data[..2]);
assert_eq!(pt, Point2::new(1.0, 2.0));
let pt = Point3::from_slice(&data);
assert_eq!(pt, Point3::new(1.0, 2.0, 3.0));sourcepub fn from_homogeneous(
v: Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>,
) -> Option<OPoint<T, D>>where
T: Scalar + Zero + One + ClosedDiv,
D: DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output>,
pub fn from_homogeneous(
v: Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>,
) -> Option<OPoint<T, D>>where
T: Scalar + Zero + One + ClosedDiv,
D: DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output>,
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, const D: usize> OPoint<T, Const<D>>
impl<T, const D: usize> OPoint<T, Const<D>>
§Swizzling
Trait Implementations§
source§impl<T, D> AbsDiffEq for OPoint<T, D>where
T: Scalar + AbsDiffEq,
D: DimName,
<T as AbsDiffEq>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
impl<T, D> AbsDiffEq for OPoint<T, D>where
T: Scalar + AbsDiffEq,
D: DimName,
<T as AbsDiffEq>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
source§fn default_epsilon() -> <OPoint<T, D> as AbsDiffEq>::Epsilon
fn default_epsilon() -> <OPoint<T, D> as AbsDiffEq>::Epsilon
source§fn abs_diff_eq(
&self,
other: &OPoint<T, D>,
epsilon: <OPoint<T, D> as AbsDiffEq>::Epsilon,
) -> bool
fn abs_diff_eq( &self, other: &OPoint<T, D>, epsilon: <OPoint<T, D> as AbsDiffEq>::Epsilon, ) -> bool
§fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
AbsDiffEq::abs_diff_eq].source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
source§impl<'b, T, D1, D2, SB> AddAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'b, T, D1, D2, SB> AddAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
source§impl<T, D1, D2, SB> AddAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<T, D1, D2, SB> AddAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedAdd,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
source§impl<T, D> DivAssign<T> for OPoint<T, D>
impl<T, D> DivAssign<T> for OPoint<T, D>
source§fn div_assign(&mut self, right: T)
fn div_assign(&mut self, right: T)
/= operation. Read moresource§impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 16]> for OPoint<T, Const<D>>
impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 16]> for OPoint<T, Const<D>>
source§impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 2]> for OPoint<T, Const<D>>
impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 2]> for OPoint<T, Const<D>>
source§impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 4]> for OPoint<T, Const<D>>
impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 4]> for OPoint<T, Const<D>>
source§impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 8]> for OPoint<T, Const<D>>
impl<T, const D: usize> From<[OPoint<<T as SimdValue>::Element, Const<D>>; 8]> for OPoint<T, Const<D>>
source§impl<T, D> From<Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer>> for OPoint<T, D>
impl<T, D> From<Matrix<T, D, Const<1>, <DefaultAllocator as Allocator<T, D>>::Buffer>> for OPoint<T, D>
source§impl<T, R, const D: usize> From<OPoint<T, Const<D>>> for Isometry<T, R, D>where
T: SimdRealField,
R: AbstractRotation<T, D>,
impl<T, R, const D: usize> From<OPoint<T, Const<D>>> for Isometry<T, R, D>where
T: SimdRealField,
R: AbstractRotation<T, D>,
source§impl<T, D> From<OPoint<T, D>> for Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>where
T: Scalar + Zero + One,
D: DimName + DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output> + Allocator<T, D>,
impl<T, D> From<OPoint<T, D>> for Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>where
T: Scalar + Zero + One,
D: DimName + DimNameAdd<Const<1>>,
DefaultAllocator: Allocator<T, <D as DimNameAdd<Const<1>>>::Output> + Allocator<T, D>,
source§fn from(
t: OPoint<T, D>,
) -> Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>
fn from( t: OPoint<T, D>, ) -> Matrix<T, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>
source§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<Const<1>, Const<1>, Representative = Const<1>>,
impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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 + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
impl<'a, 'b, T, C, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
impl<'a, 'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for &'a Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
source§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<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
impl<'b, T, C, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
impl<'b, T, const D: usize> Mul<&'b OPoint<T, Const<D>>> for Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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>
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>
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>
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>
source§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<Const<1>, Const<1>, Representative = Const<1>>,
impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Scale<T, D>where
T: Scalar + ClosedMul,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
source§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<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
impl<'a, T, C, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
impl<'a, T, const D: usize> Mul<OPoint<T, Const<D>>> for &'a Translation<T, D>where
T: Scalar + ClosedAdd,
ShapeConstraint: SameNumberOfRows<Const<D>, Const<D>, Representative = Const<D>> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
source§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<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
impl<T, C, const D: usize> Mul<OPoint<T, Const<D>>> for Transform<T, C, D>where
T: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
Const<D>: DimNameAdd<Const<1>>,
C: TCategory,
DefaultAllocator: Allocator<T, <Const<D> as DimNameAdd<Const<1>>>::Output, <Const<D> as DimNameAdd<Const<1>>>::Output>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
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>
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>
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>
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>
source§impl<T, D> MulAssign<T> for OPoint<T, D>
impl<T, D> MulAssign<T> for OPoint<T, D>
source§fn mul_assign(&mut self, right: T)
fn mul_assign(&mut self, right: T)
*= operation. Read moresource§impl<T, D> PartialEq for OPoint<T, D>
impl<T, D> PartialEq for OPoint<T, D>
source§impl<T, D> PartialOrd for OPoint<T, D>
impl<T, D> PartialOrd for OPoint<T, D>
source§fn le(&self, right: &OPoint<T, D>) -> bool
fn le(&self, right: &OPoint<T, D>) -> bool
self and other) and is used by the <=
operator. Read moresource§impl<T, D> RelativeEq for OPoint<T, D>where
T: Scalar + RelativeEq,
D: DimName,
<T as AbsDiffEq>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
impl<T, D> RelativeEq for OPoint<T, D>where
T: Scalar + RelativeEq,
D: DimName,
<T as AbsDiffEq>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
source§fn default_max_relative() -> <OPoint<T, D> as AbsDiffEq>::Epsilon
fn default_max_relative() -> <OPoint<T, D> as AbsDiffEq>::Epsilon
source§fn relative_eq(
&self,
other: &OPoint<T, D>,
epsilon: <OPoint<T, D> as AbsDiffEq>::Epsilon,
max_relative: <OPoint<T, D> as AbsDiffEq>::Epsilon,
) -> bool
fn relative_eq( &self, other: &OPoint<T, D>, epsilon: <OPoint<T, D> as AbsDiffEq>::Epsilon, max_relative: <OPoint<T, D> as AbsDiffEq>::Epsilon, ) -> bool
§fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon,
) -> bool
fn relative_ne( &self, other: &Rhs, epsilon: Self::Epsilon, max_relative: Self::Epsilon, ) -> bool
RelativeEq::relative_eq].source§impl<T, const D: usize> SimdValue for OPoint<T, Const<D>>
impl<T, const D: usize> SimdValue for OPoint<T, Const<D>>
§type Element = OPoint<<T as SimdValue>::Element, Const<D>>
type Element = OPoint<<T as SimdValue>::Element, Const<D>>
§type SimdBool = <T as SimdValue>::SimdBool
type SimdBool = <T as SimdValue>::SimdBool
self.source§fn splat(
val: <OPoint<T, Const<D>> as SimdValue>::Element,
) -> OPoint<T, Const<D>>
fn splat( val: <OPoint<T, Const<D>> as SimdValue>::Element, ) -> OPoint<T, Const<D>>
val.source§fn extract(&self, i: usize) -> <OPoint<T, Const<D>> as SimdValue>::Element
fn extract(&self, i: usize) -> <OPoint<T, Const<D>> as SimdValue>::Element
self. Read moresource§unsafe fn extract_unchecked(
&self,
i: usize,
) -> <OPoint<T, Const<D>> as SimdValue>::Element
unsafe fn extract_unchecked( &self, i: usize, ) -> <OPoint<T, Const<D>> as SimdValue>::Element
self without bound-checking.source§unsafe fn replace_unchecked(
&mut self,
i: usize,
val: <OPoint<T, Const<D>> as SimdValue>::Element,
)
unsafe fn replace_unchecked( &mut self, i: usize, val: <OPoint<T, Const<D>> as SimdValue>::Element, )
self by val without bound-checking.source§fn select(
self,
cond: <OPoint<T, Const<D>> as SimdValue>::SimdBool,
other: OPoint<T, Const<D>>,
) -> OPoint<T, Const<D>>
fn select( self, cond: <OPoint<T, Const<D>> as SimdValue>::SimdBool, other: OPoint<T, Const<D>>, ) -> OPoint<T, Const<D>>
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
source§impl<'b, T, D> Sub<&'b OPoint<T, D>> for OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
source§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<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D1: DimName,
D2: Dim,
SB: Storage<T, D2>,
DefaultAllocator: Allocator<T, D1>,
source§impl<'a, T, D> Sub<OPoint<T, D>> for &'a OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
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<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
source§impl<T, D> Sub for OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
impl<T, D> Sub for OPoint<T, D>where
T: Scalar + ClosedSub,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<Const<1>, Const<1>, Representative = Const<1>>,
D: DimName,
DefaultAllocator: Allocator<T, D>,
source§impl<'b, T, D1, D2, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<'b, T, D1, D2, SB> SubAssign<&'b Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
source§impl<T, D1, D2, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
impl<T, D1, D2, SB> SubAssign<Matrix<T, D2, Const<1>, SB>> for OPoint<T, D1>where
D1: DimName,
D2: Dim,
T: Scalar + ClosedSub,
SB: Storage<T, D2>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
DefaultAllocator: Allocator<T, D1>,
source§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>>::Buffer>> for OPoint<T1, D>where
D: DimNameAdd<Const<1>>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D> + Allocator<T2, D> + Allocator<T1, <D as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <D as DimNameAdd<Const<1>>>::Output>,
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>>::Buffer>> for OPoint<T1, D>where
D: DimNameAdd<Const<1>>,
T1: Scalar,
T2: Scalar + Zero + One + ClosedDiv + SupersetOf<T1>,
DefaultAllocator: Allocator<T1, D> + Allocator<T2, D> + Allocator<T1, <D as DimNameAdd<Const<1>>>::Output> + Allocator<T2, <D as DimNameAdd<Const<1>>>::Output>,
source§fn to_superset(
&self,
) -> Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>
fn to_superset( &self, ) -> Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>
self to the equivalent element of its superset.source§fn is_in_subset(
v: &Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>,
) -> bool
fn is_in_subset( v: &Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>, ) -> bool
element is actually part of the subset Self (and can be converted to it).source§fn from_superset_unchecked(
v: &Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>,
) -> OPoint<T1, D>
fn from_superset_unchecked( v: &Matrix<T2, <D as DimNameAdd<Const<1>>>::Output, Const<1>, <DefaultAllocator as Allocator<T2, <D as DimNameAdd<Const<1>>>::Output>>::Buffer>, ) -> OPoint<T1, D>
self.to_superset but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self from the equivalent element of its
superset. Read moresource§impl<T1, T2, D> SubsetOf<OPoint<T2, D>> for OPoint<T1, D>
impl<T1, T2, D> 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>) -> OPoint<T1, D>
fn from_superset_unchecked(m: &OPoint<T2, D>) -> OPoint<T1, D>
self.to_superset but without any property checks. Always succeeds.§fn from_superset(element: &T) -> Option<Self>
fn from_superset(element: &T) -> Option<Self>
self from the equivalent element of its
superset. Read moresource§impl<T, D> UlpsEq for OPoint<T, D>where
T: Scalar + UlpsEq,
D: DimName,
<T as AbsDiffEq>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
impl<T, D> UlpsEq for OPoint<T, D>where
T: Scalar + UlpsEq,
D: DimName,
<T as AbsDiffEq>::Epsilon: Clone,
DefaultAllocator: Allocator<T, D>,
source§fn default_max_ulps() -> u32
fn default_max_ulps() -> u32
impl<T, D> Copy for OPoint<T, D>
impl<T, D> Eq 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§
§impl<T, U> AsBindGroupShaderType<U> for T
impl<T, U> AsBindGroupShaderType<U> for T
§fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
fn as_bind_group_shader_type(&self, _images: &RenderAssets<Image>) -> U
T [ShaderType] for self. When used in [AsBindGroup]
derives, it is safe to assume that all images in self exist.§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit)§impl<T> Conv for T
impl<T> Conv for T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> DynEq for T
impl<T> DynEq for T
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
fn equivalent(&self, key: &K) -> bool
§impl<T> FmtForward for T
impl<T> FmtForward for T
§fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
fn fmt_binary(self) -> FmtBinary<Self>where
Self: Binary,
self to use its Binary implementation when Debug-formatted.§fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
fn fmt_display(self) -> FmtDisplay<Self>where
Self: Display,
self to use its Display implementation when
Debug-formatted.§fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
fn fmt_lower_exp(self) -> FmtLowerExp<Self>where
Self: LowerExp,
self to use its LowerExp implementation when
Debug-formatted.§fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
fn fmt_lower_hex(self) -> FmtLowerHex<Self>where
Self: LowerHex,
self to use its LowerHex implementation when
Debug-formatted.§fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
fn fmt_octal(self) -> FmtOctal<Self>where
Self: Octal,
self to use its Octal implementation when Debug-formatted.§fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
fn fmt_pointer(self) -> FmtPointer<Self>where
Self: Pointer,
self to use its Pointer implementation when
Debug-formatted.§fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
fn fmt_upper_exp(self) -> FmtUpperExp<Self>where
Self: UpperExp,
self to use its UpperExp implementation when
Debug-formatted.§fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
fn fmt_upper_hex(self) -> FmtUpperHex<Self>where
Self: UpperHex,
self to use its UpperHex implementation when
Debug-formatted.§fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
fn fmt_list(self) -> FmtList<Self>where
&'a Self: for<'a> IntoIterator,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &mut World) -> T
fn from_world(_world: &mut World) -> T
Self using data from the given [World]§impl<T> FromWorld for Twhere
T: Default,
impl<T> FromWorld for Twhere
T: Default,
§fn from_world(_world: &World) -> T
fn from_world(_world: &World) -> T
Self using data from the given World.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
§impl<T> IntoArcAny for T
impl<T> IntoArcAny for T
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 more§impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
impl<F, T> IntoSample<T> for Fwhere
T: FromSample<F>,
fn into_sample(self) -> T
source§impl<T> LowerBounded for Twhere
T: Bounded,
impl<T> LowerBounded for Twhere
T: Bounded,
§impl<T> Pipe for Twhere
T: ?Sized,
impl<T> Pipe for Twhere
T: ?Sized,
§fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> Rwhere
Self: Sized,
§fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> Rwhere
R: 'a,
self and passes that borrow into the pipe function. Read more§fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
§fn pipe_borrow_mut<'a, B, R>(
&'a mut self,
func: impl FnOnce(&'a mut B) -> R,
) -> R
fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
§fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
self, then passes self.as_ref() into the pipe function.§fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
self, then passes self.as_mut() into the pipe
function.§fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
self, then passes self.deref() into the pipe function.§impl<T> Pointable for T
impl<T> Pointable for T
§impl<T> RawDefault for Twhere
T: Default,
impl<T> RawDefault for Twhere
T: Default,
§impl<T> SimdPartialOrd for T
impl<T> SimdPartialOrd for T
§fn simd_clamp(self, min: T, max: T) -> T
fn simd_clamp(self, min: T, max: T) -> T
self between the corresponding lane of min and max.§fn simd_horizontal_min(self) -> <T as SimdValue>::Element
fn simd_horizontal_min(self) -> <T as SimdValue>::Element
self.§fn simd_horizontal_max(self) -> <T as SimdValue>::Element
fn simd_horizontal_max(self) -> <T as SimdValue>::Element
self.§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§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).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.§impl<T> Tap for T
impl<T> Tap for T
§fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
Borrow<B> of a value. Read more§fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
BorrowMut<B> of a value. Read more§fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
AsRef<R> view of a value. Read more§fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
AsMut<R> view of a value. Read more§fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
Deref::Target of a value. Read more§fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
Deref::Target of a value. Read more§fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self
.tap() only in debug builds, and is erased in release builds.§fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self
.tap_mut() only in debug builds, and is erased in release
builds.§fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
.tap_borrow() only in debug builds, and is erased in release
builds.§fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
.tap_borrow_mut() only in debug builds, and is erased in release
builds.§fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
.tap_ref() only in debug builds, and is erased in release
builds.§fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
.tap_ref_mut() only in debug builds, and is erased in release
builds.§fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
.tap_deref() only in debug builds, and is erased in release
builds.