[−][src]Struct nalgebra::geometry::Point
A point in a n-dimensional euclidean space.
Fields
coords: VectorN<N, D>
The coordinates of this point, i.e., the shift from the origin.
Methods
impl<N: Scalar, D: DimName> Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][−]
DefaultAllocator: Allocator<N, D>,
pub fn to_homogeneous(&self) -> VectorN<N, DimNameSum<D, U1>> where
N: One,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>>,
[src][−]
N: One,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, 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));
pub fn from_coordinates(coords: VectorN<N, D>) -> Self
[src][−]
Use Point::from(vector) instead.
Creates a new point with the given coordinates.
pub fn len(&self) -> usize
[src][−]
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);
pub fn stride(&self) -> usize
[src][−]
This methods is no longer significant and will always return 1.
The stride of this point. This is the number of buffer element separating each component of this point.
pub fn iter(
&self
) -> MatrixIter<N, D, U1, <DefaultAllocator as Allocator<N, D>>::Buffer>
[src][−]
&self
) -> MatrixIter<N, D, U1, <DefaultAllocator as Allocator<N, 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);
pub unsafe fn get_unchecked(&self, i: usize) -> &N
[src][−]
Gets a reference to i-th element of this point without bound-checking.
pub fn iter_mut(
&mut self
) -> MatrixIterMut<N, D, U1, <DefaultAllocator as Allocator<N, D>>::Buffer>
[src][−]
&mut self
) -> MatrixIterMut<N, D, U1, <DefaultAllocator as Allocator<N, 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));
pub unsafe fn get_unchecked_mut(&mut self, i: usize) -> &mut N
[src][−]
Gets a mutable reference to i-th element of this point without bound-checking.
pub unsafe fn swap_unchecked(&mut self, i1: usize, i2: usize)
[src][−]
Swaps two entries without bound-checking.
impl<N: Scalar, D: DimName> Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][−]
DefaultAllocator: Allocator<N, D>,
pub unsafe fn new_uninitialized() -> Self
[src][−]
Creates a new point with uninitialized coordinates.
pub fn origin() -> Self where
N: Zero,
[src][−]
N: 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);
pub fn from_slice(components: &[N]) -> Self
[src][−]
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));
pub fn from_homogeneous(v: VectorN<N, DimNameSum<D, U1>>) -> Option<Self> where
N: Scalar + Zero + One + ClosedDiv,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>>,
[src][−]
N: Scalar + Zero + One + ClosedDiv,
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, 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)));
impl<N: Scalar> Point<N, U1> where
DefaultAllocator: Allocator<N, U1>,
[src][−]
DefaultAllocator: Allocator<N, U1>,
impl<N: Scalar> Point<N, U2> where
DefaultAllocator: Allocator<N, U2>,
[src][−]
DefaultAllocator: Allocator<N, U2>,
pub fn new(x: N, y: N) -> Self
[src][−]
Initializes this point from its components.
Example
let p = Point2::new(1.0, 2.0); assert!(p.x == 1.0 && p.y == 2.0);
impl<N: Scalar> Point<N, U3> where
DefaultAllocator: Allocator<N, U3>,
[src][−]
DefaultAllocator: Allocator<N, U3>,
pub fn new(x: N, y: N, z: N) -> Self
[src][−]
Initializes this point from its components.
Example
let p = Point3::new(1.0, 2.0, 3.0); assert!(p.x == 1.0 && p.y == 2.0 && p.z == 3.0);
impl<N: Scalar> Point<N, U4> where
DefaultAllocator: Allocator<N, U4>,
[src][−]
DefaultAllocator: Allocator<N, U4>,
pub fn new(x: N, y: N, z: N, w: N) -> Self
[src][−]
Initializes this point from its components.
Example
let p = Point4::new(1.0, 2.0, 3.0, 4.0); assert!(p.x == 1.0 && p.y == 2.0 && p.z == 3.0 && p.w == 4.0);
impl<N: Scalar> Point<N, U5> where
DefaultAllocator: Allocator<N, U5>,
[src][−]
DefaultAllocator: Allocator<N, U5>,
pub fn new(x: N, y: N, z: N, w: N, a: N) -> Self
[src][−]
Initializes this point from its components.
Example
let p = Point5::new(1.0, 2.0, 3.0, 4.0, 5.0); assert!(p.x == 1.0 && p.y == 2.0 && p.z == 3.0 && p.w == 4.0 && p.a == 5.0);
impl<N: Scalar> Point<N, U6> where
DefaultAllocator: Allocator<N, U6>,
[src][−]
DefaultAllocator: Allocator<N, U6>,
pub fn new(x: N, y: N, z: N, w: N, a: N, b: N) -> Self
[src][−]
Initializes this point from its components.
Example
let p = Point6::new(1.0, 2.0, 3.0, 4.0, 5.0, 6.0); assert!(p.x == 1.0 && p.y == 2.0 && p.z == 3.0 && p.w == 4.0 && p.a == 5.0 && p.b == 6.0);
impl<N: Scalar, D: DimName> Point<N, D> where
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U0, Output = Greater>,
[src][−]
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U0, Output = Greater>,
pub fn xx(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn xxx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
impl<N: Scalar, D: DimName> Point<N, D> where
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U1, Output = Greater>,
[src][−]
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U1, Output = Greater>,
pub fn xy(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn yx(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn yy(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn xxy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn xyx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn xyy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yxx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yxy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yyx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yyy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
impl<N: Scalar, D: DimName> Point<N, D> where
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U2, Output = Greater>,
[src][−]
DefaultAllocator: Allocator<N, D>,
D::Value: Cmp<U2, Output = Greater>,
pub fn xz(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn yz(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn zx(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn zy(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn zz(&self) -> Point2<N>
[src][−]
Builds a new point from components of self
.
pub fn xxz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn xyz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn xzx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn xzy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn xzz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yxz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yyz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yzx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yzy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn yzz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zxx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zxy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zxz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zyx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zyy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zyz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zzx(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zzy(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
pub fn zzz(&self) -> Point3<N>
[src][−]
Builds a new point from components of self
.
Trait Implementations
impl<N: Scalar + AbsDiffEq, D: DimName> AbsDiffEq<Point<N, D>> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src][+]
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
impl<'a, 'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<&'b Matrix<N, D2, U1, SB>> for &'a Point<N, D1> where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<&'b Matrix<N, D2, U1, SB>> for Point<N, D1> where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'a, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<Matrix<N, D2, U1, SB>> for &'a Point<N, D1> where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Add<Matrix<N, D2, U1, SB>> for Point<N, D1> where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D1: DimName, D2: Dim, SB> AddAssign<&'b Matrix<N, D2, U1, SB>> for Point<N, D1> where
N: Scalar + ClosedAdd,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
[src][+]
N: Scalar + ClosedAdd,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
impl<N, D1: DimName, D2: Dim, SB> AddAssign<Matrix<N, D2, U1, SB>> for Point<N, D1> where
N: Scalar + ClosedAdd,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
[src][+]
N: Scalar + ClosedAdd,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
impl<N: Scalar + Field, D: DimName> AffineSpace for Point<N, D> where
N: Scalar + Field,
DefaultAllocator: Allocator<N, D>,
[src][+]
N: Scalar + Field,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName> AffineTransformation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField, D: DimName> AffineTransformation<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> AffineTransformation<Point<N, D>> for Isometry<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> AffineTransformation<Point<N, D>> for Similarity<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField> AffineTransformation<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src][+]
DefaultAllocator: Allocator<N, U2>,
impl<N: RealField> AffineTransformation<Point<N, U3>> for UnitQuaternion<N>
[src][+]
impl<N: Scalar + Bounded, D: DimName> Bounded for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Clone + Scalar, D: Clone + DimName> Clone for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + Copy, D: DimName> Copy for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Copy,
[src]
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Copy,
impl<N: Debug + Scalar, D: Debug + DimName> Debug for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar> Deref for Point<N, U1> where
DefaultAllocator: Allocator<N, U1>,
[src][+]
DefaultAllocator: Allocator<N, U1>,
impl<N: Scalar> Deref for Point<N, U2> where
DefaultAllocator: Allocator<N, U2>,
[src][+]
DefaultAllocator: Allocator<N, U2>,
impl<N: Scalar> Deref for Point<N, U3> where
DefaultAllocator: Allocator<N, U3>,
[src][+]
DefaultAllocator: Allocator<N, U3>,
impl<N: Scalar> Deref for Point<N, U4> where
DefaultAllocator: Allocator<N, U4>,
[src][+]
DefaultAllocator: Allocator<N, U4>,
impl<N: Scalar> Deref for Point<N, U5> where
DefaultAllocator: Allocator<N, U5>,
[src][+]
DefaultAllocator: Allocator<N, U5>,
impl<N: Scalar> Deref for Point<N, U6> where
DefaultAllocator: Allocator<N, U6>,
[src][+]
DefaultAllocator: Allocator<N, U6>,
impl<N: Scalar> DerefMut for Point<N, U1> where
DefaultAllocator: Allocator<N, U1>,
[src][+]
DefaultAllocator: Allocator<N, U1>,
impl<N: Scalar> DerefMut for Point<N, U2> where
DefaultAllocator: Allocator<N, U2>,
[src][+]
DefaultAllocator: Allocator<N, U2>,
impl<N: Scalar> DerefMut for Point<N, U3> where
DefaultAllocator: Allocator<N, U3>,
[src][+]
DefaultAllocator: Allocator<N, U3>,
impl<N: Scalar> DerefMut for Point<N, U4> where
DefaultAllocator: Allocator<N, U4>,
[src][+]
DefaultAllocator: Allocator<N, U4>,
impl<N: Scalar> DerefMut for Point<N, U5> where
DefaultAllocator: Allocator<N, U5>,
[src][+]
DefaultAllocator: Allocator<N, U5>,
impl<N: Scalar> DerefMut for Point<N, U6> where
DefaultAllocator: Allocator<N, U6>,
[src][+]
DefaultAllocator: Allocator<N, U6>,
impl<N: RealField, D: DimName> DirectIsometry<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField, D: DimName> DirectIsometry<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> DirectIsometry<Point<N, D>> for Isometry<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField> DirectIsometry<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src]
DefaultAllocator: Allocator<N, U2>,
impl<N: RealField> DirectIsometry<Point<N, U3>> for UnitQuaternion<N>
[src]
impl<N: Scalar + Display, D: DimName> Display for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar, D: DimName> Distribution<Point<N, D>> for Standard where
DefaultAllocator: Allocator<N, D>,
Standard: Distribution<N>,
[src][+]
DefaultAllocator: Allocator<N, D>,
Standard: Distribution<N>,
impl<N: Scalar + ClosedDiv, D: DimName> Div<N> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<'a, N: Scalar + ClosedDiv, D: DimName> Div<N> for &'a Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + ClosedDiv, D: DimName> DivAssign<N> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + Eq, D: DimName> Eq for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName> EuclideanSpace for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar> From<[N; 1]> for Point<N, U1>
[src][+]
impl<N: Scalar> From<[N; 2]> for Point<N, U2>
[src][+]
impl<N: Scalar> From<[N; 3]> for Point<N, U3>
[src][+]
impl<N: Scalar> From<[N; 4]> for Point<N, U4>
[src][+]
impl<N: Scalar> From<[N; 5]> for Point<N, U5>
[src][+]
impl<N: Scalar> From<[N; 6]> for Point<N, U6>
[src][+]
impl<N: Scalar, D: DimName> From<Matrix<N, D, U1, <DefaultAllocator as Allocator<N, D, U1>>::Buffer>> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + Zero + One, D: DimName> From<Point<N, D>> for VectorN<N, DimNameSum<D, U1>> where
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, D> + Allocator<N, DimNameSum<D, U1>>,
[src][+]
D: DimNameAdd<U1>,
DefaultAllocator: Allocator<N, D> + Allocator<N, DimNameSum<D, U1>>,
impl<N: Scalar + Hash, D: DimName + Hash> Hash for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Hash,
[src][+]
DefaultAllocator: Allocator<N, D>,
<DefaultAllocator as Allocator<N, D>>::Buffer: Hash,
impl<N: Scalar, D: DimName> Index<usize> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar, D: DimName> IndexMut<usize> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName> Isometry<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField, D: DimName> Isometry<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> Isometry<Point<N, D>> for Isometry<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField> Isometry<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src]
DefaultAllocator: Allocator<N, U2>,
impl<N: RealField> Isometry<Point<N, U3>> for UnitQuaternion<N>
[src]
impl<N, D: DimName> JoinSemilattice for Point<N, D> where
N: Scalar + JoinSemilattice,
DefaultAllocator: Allocator<N, D>,
[src][+]
N: Scalar + JoinSemilattice,
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimName> Lattice for Point<N, D> where
N: Scalar + Lattice,
DefaultAllocator: Allocator<N, D>,
[src][+]
N: Scalar + Lattice,
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimName> MeetSemilattice for Point<N, D> where
N: Scalar + MeetSemilattice,
DefaultAllocator: Allocator<N, D>,
[src][+]
N: Scalar + MeetSemilattice,
DefaultAllocator: Allocator<N, D>,
impl<'b, N, D: DimName> Mul<&'b Point<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
impl<'a, 'b, N, D: DimName> Mul<&'b Point<N, D>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
impl<'a, 'b, N, D: DimName> Mul<&'b Point<N, D>> for &'a Translation<N, D> where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D: DimName> Mul<&'b Point<N, D>> for Translation<N, D> where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
impl<'b, N: RealField, D: DimName, R> Mul<&'b Point<N, D>> for Isometry<N, D, R> where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'a, 'b, N: RealField, D: DimName, R> Mul<&'b Point<N, D>> for &'a Isometry<N, D, R> where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'b, N: RealField, D: DimName, R> Mul<&'b Point<N, D>> for Similarity<N, D, R> where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'a, 'b, N: RealField, D: DimName, R> Mul<&'b Point<N, D>> for &'a Similarity<N, D, R> where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'b, N, D: DimNameAdd<U1>, C: TCategory> Mul<&'b Point<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
impl<'a, 'b, N, D: DimNameAdd<U1>, C: TCategory> Mul<&'b Point<N, D>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
impl<'b, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<&'b Point<N, D2>> for Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
impl<'a, 'b, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<&'b Point<N, D2>> for &'a Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
impl<'b, N: RealField> Mul<&'b Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U1>,
[src][+]
DefaultAllocator: Allocator<N, U2, U1>,
impl<'a, 'b, N: RealField> Mul<&'b Point<N, U2>> for &'a UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U1>,
[src][+]
DefaultAllocator: Allocator<N, U2, U1>,
impl<'a, 'b, N: RealField> Mul<&'b Point<N, U3>> for &'a UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src][+]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
impl<'b, N: RealField> Mul<&'b Point<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src][+]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
impl<'b, D: DimName> Mul<&'b Point<f32, D>> for f32 where
DefaultAllocator: Allocator<f32, D>,
[src][+]
DefaultAllocator: Allocator<f32, D>,
impl<'b, D: DimName> Mul<&'b Point<f64, D>> for f64 where
DefaultAllocator: Allocator<f64, D>,
[src][+]
DefaultAllocator: Allocator<f64, D>,
impl<'b, D: DimName> Mul<&'b Point<i16, D>> for i16 where
DefaultAllocator: Allocator<i16, D>,
[src][+]
DefaultAllocator: Allocator<i16, D>,
impl<'b, D: DimName> Mul<&'b Point<i32, D>> for i32 where
DefaultAllocator: Allocator<i32, D>,
[src][+]
DefaultAllocator: Allocator<i32, D>,
impl<'b, D: DimName> Mul<&'b Point<i64, D>> for i64 where
DefaultAllocator: Allocator<i64, D>,
[src][+]
DefaultAllocator: Allocator<i64, D>,
impl<'b, D: DimName> Mul<&'b Point<i8, D>> for i8 where
DefaultAllocator: Allocator<i8, D>,
[src][+]
DefaultAllocator: Allocator<i8, D>,
impl<'b, D: DimName> Mul<&'b Point<isize, D>> for isize where
DefaultAllocator: Allocator<isize, D>,
[src][+]
DefaultAllocator: Allocator<isize, D>,
impl<'b, D: DimName> Mul<&'b Point<u16, D>> for u16 where
DefaultAllocator: Allocator<u16, D>,
[src][+]
DefaultAllocator: Allocator<u16, D>,
impl<'b, D: DimName> Mul<&'b Point<u32, D>> for u32 where
DefaultAllocator: Allocator<u32, D>,
[src][+]
DefaultAllocator: Allocator<u32, D>,
impl<'b, D: DimName> Mul<&'b Point<u64, D>> for u64 where
DefaultAllocator: Allocator<u64, D>,
[src][+]
DefaultAllocator: Allocator<u64, D>,
impl<'b, D: DimName> Mul<&'b Point<u8, D>> for u8 where
DefaultAllocator: Allocator<u8, D>,
[src][+]
DefaultAllocator: Allocator<u8, D>,
impl<'b, D: DimName> Mul<&'b Point<usize, D>> for usize where
DefaultAllocator: Allocator<usize, D>,
[src][+]
DefaultAllocator: Allocator<usize, D>,
impl<N: Scalar + ClosedMul, D: DimName> Mul<N> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<'a, N: Scalar + ClosedMul, D: DimName> Mul<N> for &'a Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimName> Mul<Point<N, D>> for Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
impl<'a, N, D: DimName> Mul<Point<N, D>> for &'a Rotation<N, D> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D, U1>,
DefaultAllocator: Allocator<N, D>,
ShapeConstraint: AreMultipliable<D, D, D, U1>,
impl<'a, N, D: DimName> Mul<Point<N, D>> for &'a Translation<N, D> where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
impl<N, D: DimName> Mul<Point<N, D>> for Translation<N, D> where
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedAdd,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D, Representative = D> + SameNumberOfColumns<U1, U1>,
impl<N: RealField, D: DimName, R> Mul<Point<N, D>> for Isometry<N, D, R> where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'a, N: RealField, D: DimName, R> Mul<Point<N, D>> for &'a Isometry<N, D, R> where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> Mul<Point<N, D>> for Similarity<N, D, R> where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<'a, N: RealField, D: DimName, R> Mul<Point<N, D>> for &'a Similarity<N, D, R> where
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: AlgaRotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimNameAdd<U1>, C: TCategory> Mul<Point<N, D>> for Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
impl<'a, N, D: DimNameAdd<U1>, C: TCategory> Mul<Point<N, D>> for &'a Transform<N, D, C> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul + RealField,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, D, U1> + Allocator<N, DimNameSum<D, U1>, U1>,
DefaultAllocator: Allocator<N, D, D>,
impl<N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<Point<N, D2>> for Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
impl<'a, N, R1: DimName, C1: Dim, D2: DimName, SA: Storage<N, R1, C1>> Mul<Point<N, D2>> for &'a Matrix<N, R1, C1, SA> where
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
[src][+]
N: Scalar + Zero + One + ClosedAdd + ClosedMul,
DefaultAllocator: Allocator<N, R1, C1> + Allocator<N, D2, U1> + Allocator<N, R1, U1>,
ShapeConstraint: AreMultipliable<R1, C1, D2, U1>,
impl<N: RealField> Mul<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U1>,
[src][+]
DefaultAllocator: Allocator<N, U2, U1>,
impl<'a, N: RealField> Mul<Point<N, U2>> for &'a UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U1>,
[src][+]
DefaultAllocator: Allocator<N, U2, U1>,
impl<'a, N: RealField> Mul<Point<N, U3>> for &'a UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src][+]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
impl<N: RealField> Mul<Point<N, U3>> for UnitQuaternion<N> where
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
[src][+]
DefaultAllocator: Allocator<N, U4, U1> + Allocator<N, U3, U1>,
impl<D: DimName> Mul<Point<f32, D>> for f32 where
DefaultAllocator: Allocator<f32, D>,
[src][+]
DefaultAllocator: Allocator<f32, D>,
impl<D: DimName> Mul<Point<f64, D>> for f64 where
DefaultAllocator: Allocator<f64, D>,
[src][+]
DefaultAllocator: Allocator<f64, D>,
impl<D: DimName> Mul<Point<i16, D>> for i16 where
DefaultAllocator: Allocator<i16, D>,
[src][+]
DefaultAllocator: Allocator<i16, D>,
impl<D: DimName> Mul<Point<i32, D>> for i32 where
DefaultAllocator: Allocator<i32, D>,
[src][+]
DefaultAllocator: Allocator<i32, D>,
impl<D: DimName> Mul<Point<i64, D>> for i64 where
DefaultAllocator: Allocator<i64, D>,
[src][+]
DefaultAllocator: Allocator<i64, D>,
impl<D: DimName> Mul<Point<i8, D>> for i8 where
DefaultAllocator: Allocator<i8, D>,
[src][+]
DefaultAllocator: Allocator<i8, D>,
impl<D: DimName> Mul<Point<isize, D>> for isize where
DefaultAllocator: Allocator<isize, D>,
[src][+]
DefaultAllocator: Allocator<isize, D>,
impl<D: DimName> Mul<Point<u16, D>> for u16 where
DefaultAllocator: Allocator<u16, D>,
[src][+]
DefaultAllocator: Allocator<u16, D>,
impl<D: DimName> Mul<Point<u32, D>> for u32 where
DefaultAllocator: Allocator<u32, D>,
[src][+]
DefaultAllocator: Allocator<u32, D>,
impl<D: DimName> Mul<Point<u64, D>> for u64 where
DefaultAllocator: Allocator<u64, D>,
[src][+]
DefaultAllocator: Allocator<u64, D>,
impl<D: DimName> Mul<Point<u8, D>> for u8 where
DefaultAllocator: Allocator<u8, D>,
[src][+]
DefaultAllocator: Allocator<u8, D>,
impl<D: DimName> Mul<Point<usize, D>> for usize where
DefaultAllocator: Allocator<usize, D>,
[src][+]
DefaultAllocator: Allocator<usize, D>,
impl<N: Scalar + ClosedMul, D: DimName> MulAssign<N> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + ClosedNeg, D: DimName> Neg for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<'a, N: Scalar + ClosedNeg, D: DimName> Neg for &'a Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName> OrthogonalTransformation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField> OrthogonalTransformation<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src]
DefaultAllocator: Allocator<N, U2>,
impl<N: RealField> OrthogonalTransformation<Point<N, U3>> for UnitQuaternion<N>
[src]
impl<N: Scalar, D: DimName> PartialEq<Point<N, D>> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: Scalar + PartialOrd, D: DimName> PartialOrd<Point<N, D>> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName> ProjectiveTransformation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField, D: DimName> ProjectiveTransformation<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> ProjectiveTransformation<Point<N, D>> for Isometry<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> ProjectiveTransformation<Point<N, D>> for Similarity<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimNameAdd<U1>, C> ProjectiveTransformation<Point<N, D>> for Transform<N, D, C> where
N: RealField,
C: SubTCategoryOf<TProjective>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, D>,
[src][+]
N: RealField,
C: SubTCategoryOf<TProjective>,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField> ProjectiveTransformation<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src][+]
DefaultAllocator: Allocator<N, U2>,
impl<N: RealField> ProjectiveTransformation<Point<N, U3>> for UnitQuaternion<N>
[src][+]
impl<N: Scalar + RelativeEq, D: DimName> RelativeEq<Point<N, D>> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src][+]
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
impl<N: RealField, D: DimName> Rotation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
fn powf(&self, _: N) -> Option<Self>
[src][−]
fn rotation_between(_: &VectorN<N, D>, _: &VectorN<N, D>) -> Option<Self>
[src][−]
fn scaled_rotation_between(
_: &VectorN<N, D>,
_: &VectorN<N, D>,
_: N
) -> Option<Self>
[src][−]
_: &VectorN<N, D>,
_: &VectorN<N, D>,
_: N
) -> Option<Self>
impl<N: RealField> Rotation<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src][+]
DefaultAllocator: Allocator<N, U2>,
impl<N: RealField> Rotation<Point<N, U3>> for UnitQuaternion<N>
[src][+]
impl<N: RealField, D: DimName> Similarity<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField, D: DimName> Similarity<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> Similarity<Point<N, D>> for Isometry<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> Similarity<Point<N, D>> for Similarity<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField> Similarity<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src][+]
DefaultAllocator: Allocator<N, U2>,
impl<N: RealField> Similarity<Point<N, U3>> for UnitQuaternion<N>
[src][+]
impl<'a, 'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<&'b Matrix<N, D2, U1, SB>> for &'a Point<N, D1> where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<&'b Matrix<N, D2, U1, SB>> for Point<N, D1> where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'a, 'b, N, D: DimName> Sub<&'b Point<N, D>> for &'a Point<N, D> where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D: DimName> Sub<&'b Point<N, D>> for Point<N, D> where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
impl<'a, N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<Matrix<N, D2, U1, SB>> for &'a Point<N, D1> where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<N, D1: DimName, D2: Dim, SB: Storage<N, D2>> Sub<Matrix<N, D2, U1, SB>> for Point<N, D1> where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D1, U1> + Allocator<N, D2, U1> + SameShapeAllocator<N, D1, U1, D2, U1>,
ShapeConstraint: SameNumberOfRows<D1, D2, Representative = D1> + SameNumberOfColumns<U1, U1>,
impl<'a, N, D: DimName> Sub<Point<N, D>> for &'a Point<N, D> where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
impl<N, D: DimName> Sub<Point<N, D>> for Point<N, D> where
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
[src][+]
N: Scalar + ClosedSub,
DefaultAllocator: Allocator<N, D, U1> + SameShapeAllocator<N, D, U1, D, U1>,
ShapeConstraint: SameNumberOfRows<D, D> + SameNumberOfColumns<U1, U1>,
impl<'b, N, D1: DimName, D2: Dim, SB> SubAssign<&'b Matrix<N, D2, U1, SB>> for Point<N, D1> where
N: Scalar + ClosedSub,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
[src][+]
N: Scalar + ClosedSub,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
impl<N, D1: DimName, D2: Dim, SB> SubAssign<Matrix<N, D2, U1, SB>> for Point<N, D1> where
N: Scalar + ClosedSub,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
[src][+]
N: Scalar + ClosedSub,
SB: Storage<N, D2>,
DefaultAllocator: Allocator<N, D1>,
ShapeConstraint: SameNumberOfRows<D1, D2>,
impl<N1, N2, D> SubsetOf<Matrix<N2, <D as DimNameAdd<U1>>::Output, U1, <DefaultAllocator as Allocator<N2, <D as DimNameAdd<U1>>::Output, U1>>::Buffer>> for Point<N1, D> where
D: DimNameAdd<U1>,
N1: Scalar,
N2: Scalar + Zero + One + ClosedDiv + SupersetOf<N1>,
DefaultAllocator: Allocator<N1, D> + Allocator<N1, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>> + Allocator<N2, D>,
[src][+]
D: DimNameAdd<U1>,
N1: Scalar,
N2: Scalar + Zero + One + ClosedDiv + SupersetOf<N1>,
DefaultAllocator: Allocator<N1, D> + Allocator<N1, DimNameSum<D, U1>> + Allocator<N2, DimNameSum<D, U1>> + Allocator<N2, D>,
impl<N1, N2, D> SubsetOf<Point<N2, D>> for Point<N1, D> where
D: DimName,
N1: Scalar,
N2: Scalar + SupersetOf<N1>,
DefaultAllocator: Allocator<N2, D> + Allocator<N1, D>,
[src][+]
D: DimName,
N1: Scalar,
N2: Scalar + SupersetOf<N1>,
DefaultAllocator: Allocator<N2, D> + Allocator<N1, D>,
impl<N: RealField, D: DimNameSub<U1>> Transformation<Point<N, <D as DimNameSub<U1>>::Output>> for MatrixN<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameDiff<D, U1>> + Allocator<N, DimNameDiff<D, U1>, DimNameDiff<D, U1>>,
[src][+]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, DimNameDiff<D, U1>> + Allocator<N, DimNameDiff<D, U1>, DimNameDiff<D, U1>>,
impl<N: RealField, D: DimName> Transformation<Point<N, D>> for Rotation<N, D> where
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField, D: DimName> Transformation<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> Transformation<Point<N, D>> for Isometry<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N: RealField, D: DimName, R> Transformation<Point<N, D>> for Similarity<N, D, R> where
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
[src][+]
R: Rotation<Point<N, D>>,
DefaultAllocator: Allocator<N, D>,
impl<N, D: DimNameAdd<U1>, C> Transformation<Point<N, D>> for Transform<N, D, C> where
N: RealField,
C: TCategory,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, D>,
[src][+]
N: RealField,
C: TCategory,
DefaultAllocator: Allocator<N, DimNameSum<D, U1>, DimNameSum<D, U1>> + Allocator<N, DimNameSum<D, U1>> + Allocator<N, D, D> + Allocator<N, D>,
impl<N: RealField> Transformation<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src][+]
DefaultAllocator: Allocator<N, U2>,
impl<N: RealField> Transformation<Point<N, U3>> for UnitQuaternion<N>
[src][+]
impl<N: RealField, D: DimName> Translation<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src][+]
DefaultAllocator: Allocator<N, D>,
fn to_vector(&self) -> VectorN<N, D>
[src][−]
fn from_vector(v: VectorN<N, D>) -> Option<Self>
[src][−]
fn powf(&self, n: N) -> Option<Self>
[src][−]
fn translation_between(a: &Point<N, D>, b: &Point<N, D>) -> Option<Self>
[src][−]
impl<N: Scalar + UlpsEq, D: DimName> UlpsEq<Point<N, D>> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
[src][+]
DefaultAllocator: Allocator<N, D>,
N::Epsilon: Copy,
Auto Trait Implementations
impl<N, D> !RefUnwindSafe for Point<N, D>
impl<N, D> !Send for Point<N, D>
impl<N, D> !Sync for Point<N, D>
impl<N, D> !Unpin for Point<N, D>
impl<N, D> !UnwindSafe for Point<N, D>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src][+]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src][+]
T: ?Sized,
impl<T, Right> ClosedAdd<Right> for T where
T: Add<Right, Output = T> + AddAssign<Right>,
[src]
T: Add<Right, Output = T> + AddAssign<Right>,
impl<T, Right> ClosedDiv<Right> for T where
T: Div<Right, Output = T> + DivAssign<Right>,
[src]
T: Div<Right, Output = T> + DivAssign<Right>,
impl<T, Right> ClosedMul<Right> for T where
T: Mul<Right, Output = T> + MulAssign<Right>,
[src]
T: Mul<Right, Output = T> + MulAssign<Right>,
impl<T> ClosedNeg for T where
T: Neg<Output = T>,
[src]
T: Neg<Output = T>,
impl<T, Right> ClosedSub<Right> for T where
T: Sub<Right, Output = T> + SubAssign<Right>,
[src]
T: Sub<Right, Output = T> + SubAssign<Right>,
impl<T> From<T> for T
[src][+]
impl<T, U> Into<U> for T where
U: From<T>,
[src][+]
U: From<T>,
impl<T> Same<T> for T
[src]
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src][+]
SS: SubsetOf<SP>,
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl<T> ToString for T where
T: Display + ?Sized,
[src][+]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src][+]
U: Into<T>,
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src][+]
U: TryFrom<T>,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src][+]
V: MultiLane<T>,