Struct nalgebra::geometry::Point [−][src]
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.
Implementations
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>ⓘNotable traits for MatrixIter<'a, N, R, C, S>
impl<'a, N: Scalar, R: Dim, C: Dim, S: 'a + Storage<N, R, C>> Iterator for MatrixIter<'a, N, R, C, S> type Item = &'a N;
[src]
&self
) -> MatrixIter<'_, N, D, U1, <DefaultAllocator as Allocator<N, D>>::Buffer>ⓘ
Notable traits for MatrixIter<'a, N, R, C, S>
impl<'a, N: Scalar, R: Dim, C: Dim, S: 'a + Storage<N, R, C>> Iterator for MatrixIter<'a, N, R, C, S> type Item = &'a N;
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>ⓘNotable traits for MatrixIterMut<'a, N, R, C, S>
impl<'a, N: Scalar, R: Dim, C: Dim, S: 'a + StorageMut<N, R, C>> Iterator for MatrixIterMut<'a, N, R, C, S> type Item = &'a mut N;
[src]
&mut self
) -> MatrixIterMut<'_, N, D, U1, <DefaultAllocator as Allocator<N, D>>::Buffer>ⓘ
Notable traits for MatrixIterMut<'a, N, R, C, S>
impl<'a, N: Scalar, R: Dim, C: Dim, S: 'a + StorageMut<N, R, C>> Iterator for MatrixIterMut<'a, N, R, C, S> type Item = &'a mut N;
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,
type Epsilon = N::Epsilon
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
[src]
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]
pub fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]
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>,
type Output = Point<N, D1>
The resulting type after applying the +
operator.
fn add(self, right: &'b Vector<N, D2, SB>) -> Self::Output
[src]
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>,
type Output = Point<N, D1>
The resulting type after applying the +
operator.
fn add(self, right: &'b Vector<N, D2, SB>) -> Self::Output
[src]
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>,
type Output = Point<N, D1>
The resulting type after applying the +
operator.
fn add(self, right: Vector<N, D2, SB>) -> Self::Output
[src]
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>,
type Output = Point<N, D1>
The resulting type after applying the +
operator.
fn add(self, right: Vector<N, D2, SB>) -> Self::Output
[src]
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>,
fn add_assign(&mut self, right: &'b Vector<N, D2, SB>)
[src]
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>,
fn add_assign(&mut self, right: Vector<N, D2, SB>)
[src]
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>,
type Translation = VectorN<N, D>
The associated vector space.
pub fn translate_by(&self, t: &Self::Translation) -> Self
[src]
pub fn subtract(&self, right: &Self) -> Self::Translation
[src]
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>,
type Rotation = Self
Type of the first rotation to be applied.
type NonUniformScaling = Id
Type of the non-uniform scaling to be applied.
type Translation = Id
The type of the pure translation part of this affine transformation.
fn decompose(&self) -> (Id, Self, Id, Self)
[src]
fn append_translation(&self, _: &Self::Translation) -> Self
[src]
fn prepend_translation(&self, _: &Self::Translation) -> Self
[src]
fn append_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
pub fn append_rotation_wrt_point(
&self,
r: &Self::Rotation,
p: &E
) -> Option<Self>
[src]
&self,
r: &Self::Rotation,
p: &E
) -> Option<Self>
impl<N: RealField, D: DimName> AffineTransformation<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
type Rotation = Id
Type of the first rotation to be applied.
type NonUniformScaling = Id
Type of the non-uniform scaling to be applied.
type Translation = Self
The type of the pure translation part of this affine transformation.
fn decompose(&self) -> (Self, Id, Id, Id)
[src]
fn append_translation(&self, t: &Self::Translation) -> Self
[src]
fn prepend_translation(&self, t: &Self::Translation) -> Self
[src]
fn append_rotation(&self, _: &Self::Rotation) -> Self
[src]
fn prepend_rotation(&self, _: &Self::Rotation) -> Self
[src]
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
pub fn append_rotation_wrt_point(
&self,
r: &Self::Rotation,
p: &E
) -> Option<Self>
[src]
&self,
r: &Self::Rotation,
p: &E
) -> Option<Self>
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>,
type Rotation = R
Type of the first rotation to be applied.
type NonUniformScaling = Id
Type of the non-uniform scaling to be applied.
type Translation = Translation<N, D>
The type of the pure translation part of this affine transformation.
fn decompose(&self) -> (Self::Translation, R, Id, R)
[src]
fn append_translation(&self, t: &Self::Translation) -> Self
[src]
fn prepend_translation(&self, t: &Self::Translation) -> Self
[src]
fn append_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
fn append_rotation_wrt_point(
&self,
r: &Self::Rotation,
p: &Point<N, D>
) -> Option<Self>
[src]
&self,
r: &Self::Rotation,
p: &Point<N, D>
) -> Option<Self>
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>,
type NonUniformScaling = N
Type of the non-uniform scaling to be applied.
type Rotation = R
Type of the first rotation to be applied.
type Translation = Translation<N, D>
The type of the pure translation part of this affine transformation.
fn decompose(&self) -> (Translation<N, D>, R, N, R)
[src]
fn append_translation(&self, t: &Self::Translation) -> Self
[src]
fn prepend_translation(&self, t: &Self::Translation) -> Self
[src]
fn append_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn append_scaling(&self, s: &Self::NonUniformScaling) -> Self
[src]
fn prepend_scaling(&self, s: &Self::NonUniformScaling) -> Self
[src]
fn append_rotation_wrt_point(
&self,
r: &Self::Rotation,
p: &Point<N, D>
) -> Option<Self>
[src]
&self,
r: &Self::Rotation,
p: &Point<N, D>
) -> Option<Self>
impl<N: RealField> AffineTransformation<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src]
DefaultAllocator: Allocator<N, U2>,
type Rotation = Self
Type of the first rotation to be applied.
type NonUniformScaling = Id
Type of the non-uniform scaling to be applied.
type Translation = Id
The type of the pure translation part of this affine transformation.
fn decompose(&self) -> (Id, Self, Id, Self)
[src]
fn append_translation(&self, _: &Self::Translation) -> Self
[src]
fn prepend_translation(&self, _: &Self::Translation) -> Self
[src]
fn append_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
pub fn append_rotation_wrt_point(
&self,
r: &Self::Rotation,
p: &E
) -> Option<Self>
[src]
&self,
r: &Self::Rotation,
p: &E
) -> Option<Self>
impl<N: RealField> AffineTransformation<Point<N, U3>> for UnitQuaternion<N>
[src]
type Rotation = Self
Type of the first rotation to be applied.
type NonUniformScaling = Id
Type of the non-uniform scaling to be applied.
type Translation = Id
The type of the pure translation part of this affine transformation.
fn decompose(&self) -> (Id, Self, Id, Self)
[src]
fn append_translation(&self, _: &Self::Translation) -> Self
[src]
fn prepend_translation(&self, _: &Self::Translation) -> Self
[src]
fn append_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn prepend_rotation(&self, r: &Self::Rotation) -> Self
[src]
fn append_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
fn prepend_scaling(&self, _: &Self::NonUniformScaling) -> Self
[src]
pub fn append_rotation_wrt_point(
&self,
r: &Self::Rotation,
p: &E
) -> Option<Self>
[src]
&self,
r: &Self::Rotation,
p: &E
) -> Option<Self>
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, 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>,
type Target = XYZWAB<N>
The resulting type after dereferencing.
fn deref(&self) -> &Self::Target
[src]
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 + ClosedDiv, D: DimName> Div<N> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
type Output = Point<N, D>
The resulting type after applying the /
operator.
fn div(self, right: N) -> Self::Output
[src]
impl<'a, N: Scalar + ClosedDiv, D: DimName> Div<N> for &'a Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
type Output = Point<N, D>
The resulting type after applying the /
operator.
fn div(self, right: N) -> Self::Output
[src]
impl<N: Scalar + ClosedDiv, D: DimName> DivAssign<N> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
fn div_assign(&mut self, right: N)
[src]
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>,
type Coordinates = VectorN<N, D>
The underlying finite vector space.
type RealField = N
The underlying reals.
fn origin() -> Self
[src]
fn coordinates(&self) -> Self::Coordinates
[src]
fn from_coordinates(coords: Self::Coordinates) -> Self
[src]
fn scale_by(&self, n: N) -> Self
[src]
pub fn distance_squared(&self, b: &Self) -> Self::RealField
[src]
pub fn distance(&self, b: &Self) -> Self::RealField
[src]
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,
fn hash<H: Hasher>(&self, state: &mut H)
[src]
pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
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>,
fn meet_join(&self, other: &Self) -> (Self, Self)
[src]
pub fn partial_min(&'a self, other: &'a Self) -> Option<&'a Self>
[src]
pub fn partial_max(&'a self, other: &'a Self) -> Option<&'a Self>
[src]
pub fn partial_sort2(&'a self, other: &'a Self) -> Option<(&'a Self, &'a Self)>
[src]
pub fn partial_clamp(&'a self, min: &'a Self, max: &'a Self) -> Option<&'a Self>
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, R1>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D2>) -> Self::Output
[src]
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>,
type Output = Point<N, R1>
The resulting type after applying the *
operator.
fn mul(self, right: &'b Point<N, D2>) -> Self::Output
[src]
impl<'b, N: RealField> Mul<&'b Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U1>,
[src]
DefaultAllocator: Allocator<N, U2, U1>,
type Output = Point2<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Point2<N>) -> Self::Output
[src]
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>,
type Output = Point2<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Point2<N>) -> Self::Output
[src]
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>,
type Output = Point3<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Point3<N>) -> Self::Output
[src]
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>,
type Output = Point3<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: &'b Point3<N>) -> Self::Output
[src]
impl<N: Scalar + ClosedMul, D: DimName> Mul<N> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: N) -> Self::Output
[src]
impl<'a, N: Scalar + ClosedMul, D: DimName> Mul<N> for &'a Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: N) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, rhs: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D>
The resulting type after applying the *
operator.
fn mul(self, rhs: Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, R1>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D2>) -> Self::Output
[src]
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>,
type Output = Point<N, R1>
The resulting type after applying the *
operator.
fn mul(self, right: Point<N, D2>) -> Self::Output
[src]
impl<N: RealField> Mul<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U1>,
[src]
DefaultAllocator: Allocator<N, U2, U1>,
type Output = Point2<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Point2<N>) -> Self::Output
[src]
impl<'a, N: RealField> Mul<Point<N, U2>> for &'a UnitComplex<N> where
DefaultAllocator: Allocator<N, U2, U1>,
[src]
DefaultAllocator: Allocator<N, U2, U1>,
type Output = Point2<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Point2<N>) -> Self::Output
[src]
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>,
type Output = Point3<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Point3<N>) -> Self::Output
[src]
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>,
type Output = Point3<N>
The resulting type after applying the *
operator.
fn mul(self, rhs: Point3<N>) -> Self::Output
[src]
impl<N: Scalar + ClosedMul, D: DimName> MulAssign<N> for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
fn mul_assign(&mut self, right: N)
[src]
impl<N: Scalar + ClosedNeg, D: DimName> Neg for Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
type Output = Self
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
impl<'a, N: Scalar + ClosedNeg, D: DimName> Neg for &'a Point<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
type Output = Point<N, D>
The resulting type after applying the -
operator.
fn neg(self) -> Self::Output
[src]
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>,
fn partial_cmp(&self, other: &Self) -> Option<Ordering>
[src]
fn lt(&self, right: &Self) -> bool
[src]
fn le(&self, right: &Self) -> bool
[src]
fn gt(&self, right: &Self) -> bool
[src]
fn ge(&self, right: &Self) -> bool
[src]
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>,
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
impl<N: RealField, D: DimName> ProjectiveTransformation<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
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>,
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
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>,
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
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>,
fn inverse_transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn inverse_transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
impl<N: RealField> ProjectiveTransformation<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src]
DefaultAllocator: Allocator<N, U2>,
fn inverse_transform_point(&self, pt: &Point2<N>) -> Point2<N>
[src]
fn inverse_transform_vector(&self, v: &Vector2<N>) -> Vector2<N>
[src]
impl<N: RealField> ProjectiveTransformation<Point<N, U3>> for UnitQuaternion<N>
[src]
fn inverse_transform_point(&self, pt: &Point3<N>) -> Point3<N>
[src]
fn inverse_transform_vector(&self, v: &Vector3<N>) -> Vector3<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,
fn default_max_relative() -> Self::Epsilon
[src]
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
pub fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
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>,
Subgroups of the n-dimensional rotation group SO(n)
.
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>,
fn powf(&self, n: N) -> Option<Self>
[src]
fn rotation_between(a: &Vector2<N>, b: &Vector2<N>) -> Option<Self>
[src]
fn scaled_rotation_between(a: &Vector2<N>, b: &Vector2<N>, s: N) -> Option<Self>
[src]
impl<N: RealField> Rotation<Point<N, U3>> for UnitQuaternion<N>
[src]
fn powf(&self, n: N) -> Option<Self>
[src]
fn rotation_between(a: &Vector3<N>, b: &Vector3<N>) -> Option<Self>
[src]
fn scaled_rotation_between(a: &Vector3<N>, b: &Vector3<N>, s: N) -> Option<Self>
[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>,
type Scaling = Id
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> Id
[src]
fn rotation(&self) -> Self
[src]
fn scaling(&self) -> Id
[src]
pub fn translate_point(&self, pt: &E) -> E
[src]
pub fn rotate_point(&self, pt: &E) -> E
[src]
pub fn scale_point(&self, pt: &E) -> E
[src]
pub fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_translate_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_point(&self, pt: &E) -> E
[src]
pub fn inverse_scale_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
impl<N: RealField, D: DimName> Similarity<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
type Scaling = Id
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> Self
[src]
fn rotation(&self) -> Id
[src]
fn scaling(&self) -> Id
[src]
pub fn translate_point(&self, pt: &E) -> E
[src]
pub fn rotate_point(&self, pt: &E) -> E
[src]
pub fn scale_point(&self, pt: &E) -> E
[src]
pub fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_translate_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_point(&self, pt: &E) -> E
[src]
pub fn inverse_scale_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
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>,
type Scaling = Id
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> Translation<N, D>
[src]
fn rotation(&self) -> R
[src]
fn scaling(&self) -> Id
[src]
pub fn translate_point(&self, pt: &E) -> E
[src]
pub fn rotate_point(&self, pt: &E) -> E
[src]
pub fn scale_point(&self, pt: &E) -> E
[src]
pub fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_translate_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_point(&self, pt: &E) -> E
[src]
pub fn inverse_scale_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
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>,
type Scaling = N
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> Translation<N, D>
[src]
fn rotation(&self) -> R
[src]
fn scaling(&self) -> N
[src]
pub fn translate_point(&self, pt: &E) -> E
[src]
pub fn rotate_point(&self, pt: &E) -> E
[src]
pub fn scale_point(&self, pt: &E) -> E
[src]
pub fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_translate_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_point(&self, pt: &E) -> E
[src]
pub fn inverse_scale_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
impl<N: RealField> Similarity<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src]
DefaultAllocator: Allocator<N, U2>,
type Scaling = Id
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> Id
[src]
fn rotation(&self) -> Self
[src]
fn scaling(&self) -> Id
[src]
pub fn translate_point(&self, pt: &E) -> E
[src]
pub fn rotate_point(&self, pt: &E) -> E
[src]
pub fn scale_point(&self, pt: &E) -> E
[src]
pub fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_translate_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_point(&self, pt: &E) -> E
[src]
pub fn inverse_scale_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
impl<N: RealField> Similarity<Point<N, U3>> for UnitQuaternion<N>
[src]
type Scaling = Id
The type of the pure (uniform) scaling part of this similarity transformation.
fn translation(&self) -> Id
[src]
fn rotation(&self) -> Self
[src]
fn scaling(&self) -> Id
[src]
pub fn translate_point(&self, pt: &E) -> E
[src]
pub fn rotate_point(&self, pt: &E) -> E
[src]
pub fn scale_point(&self, pt: &E) -> E
[src]
pub fn rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_translate_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_point(&self, pt: &E) -> E
[src]
pub fn inverse_scale_point(&self, pt: &E) -> E
[src]
pub fn inverse_rotate_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
pub fn inverse_scale_vector(
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
[src]
&self,
pt: &<E as EuclideanSpace>::Coordinates
) -> <E as EuclideanSpace>::Coordinates
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>,
type Output = Point<N, D1>
The resulting type after applying the -
operator.
fn sub(self, right: &'b Vector<N, D2, SB>) -> Self::Output
[src]
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>,
type Output = Point<N, D1>
The resulting type after applying the -
operator.
fn sub(self, right: &'b Vector<N, D2, SB>) -> Self::Output
[src]
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>,
type Output = VectorSum<N, D, D>
The resulting type after applying the -
operator.
fn sub(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = VectorSum<N, D, D>
The resulting type after applying the -
operator.
fn sub(self, right: &'b Point<N, D>) -> Self::Output
[src]
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>,
type Output = Point<N, D1>
The resulting type after applying the -
operator.
fn sub(self, right: Vector<N, D2, SB>) -> Self::Output
[src]
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>,
type Output = Point<N, D1>
The resulting type after applying the -
operator.
fn sub(self, right: Vector<N, D2, SB>) -> Self::Output
[src]
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>,
type Output = VectorSum<N, D, D>
The resulting type after applying the -
operator.
fn sub(self, right: Point<N, D>) -> Self::Output
[src]
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>,
type Output = VectorSum<N, D, D>
The resulting type after applying the -
operator.
fn sub(self, right: Point<N, D>) -> Self::Output
[src]
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>,
fn sub_assign(&mut self, right: &'b Vector<N, D2, SB>)
[src]
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>,
fn sub_assign(&mut self, right: Vector<N, D2, SB>)
[src]
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>,
fn to_superset(&self) -> VectorN<N2, DimNameSum<D, U1>>
[src]
fn is_in_subset(v: &VectorN<N2, DimNameSum<D, U1>>) -> bool
[src]
unsafe fn from_superset_unchecked(v: &VectorN<N2, DimNameSum<D, U1>>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
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>,
fn to_superset(&self) -> Point<N2, D>
[src]
fn is_in_subset(m: &Point<N2, D>) -> bool
[src]
unsafe fn from_superset_unchecked(m: &Point<N2, D>) -> Self
[src]
pub fn from_superset(element: &T) -> Option<Self>
[src]
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>>,
fn transform_vector(
&self,
v: &VectorN<N, DimNameDiff<D, U1>>
) -> VectorN<N, DimNameDiff<D, U1>>
[src]
&self,
v: &VectorN<N, DimNameDiff<D, U1>>
) -> VectorN<N, DimNameDiff<D, U1>>
fn transform_point(
&self,
pt: &Point<N, DimNameDiff<D, U1>>
) -> Point<N, DimNameDiff<D, U1>>
[src]
&self,
pt: &Point<N, DimNameDiff<D, U1>>
) -> Point<N, 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>,
fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
impl<N: RealField, D: DimName> Transformation<Point<N, D>> for Translation<N, D> where
DefaultAllocator: Allocator<N, D>,
[src]
DefaultAllocator: Allocator<N, D>,
fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
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>,
fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
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>,
fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
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>,
fn transform_point(&self, pt: &Point<N, D>) -> Point<N, D>
[src]
fn transform_vector(&self, v: &VectorN<N, D>) -> VectorN<N, D>
[src]
impl<N: RealField> Transformation<Point<N, U2>> for UnitComplex<N> where
DefaultAllocator: Allocator<N, U2>,
[src]
DefaultAllocator: Allocator<N, U2>,
fn transform_point(&self, pt: &Point2<N>) -> Point2<N>
[src]
fn transform_vector(&self, v: &Vector2<N>) -> Vector2<N>
[src]
impl<N: RealField> Transformation<Point<N, U3>> for UnitQuaternion<N>
[src]
fn transform_point(&self, pt: &Point3<N>) -> Point3<N>
[src]
fn transform_vector(&self, v: &Vector3<N>) -> Vector3<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>,
Subgroups of the n-dimensional translation group T(n)
.
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,
pub fn borrow_mut(&mut self) -> &mut T
[src]
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>,
pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub unsafe fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
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>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,