Struct nalgebra::Isometry3 [] [src]

pub struct Isometry3<N> {
    pub rotation: Rotation3<N>,
    pub translation: Vector3<N>,
}

Three dimensional direct isometry.

This is the composition of a rotation followed by a translation. Vectors Vector3 are not affected by the translational component of this transformation while points Point3 are. Isometries conserve angles and distances, hence do not allow shearing nor scaling.

Fields

The rotation applicable by this isometry.

The translation applicable by this isometry.

Methods

impl<N: Clone + BaseFloat> Isometry3<N>
[src]

Creates an isometry that corresponds to the local frame of an observer standing at the point eye and looking toward target.

It maps the view direction target - eye to the positive z axis and the origin to the eye.

Arguments

  • eye - The observer position.
  • target - The target position.
  • up - Vertical direction. The only requirement of this parameter is to not be collinear to eye - at. Non-collinearity is not checked.

Builds a right-handed look-at view matrix.

This conforms to the common notion of right handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

Builds a left-handed look-at view matrix.

This conforms to the common notion of left handed look-at matrix from the computer graphics community.

Arguments

  • eye - The eye position.
  • target - The target position.
  • up - A vector approximately aligned with required the vertical axis. The only requirement of this parameter is to not be collinear to target - eye.

impl<N: BaseFloat> Isometry3<N>
[src]

Creates a new isometry from an axis-angle rotation, and a vector.

Creates a new isometry from a rotation matrix and a vector.

Trait Implementations

impl<N: Eq> Eq for Isometry3<N>
[src]

impl<N: PartialEq> PartialEq for Isometry3<N>
[src]

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=.

impl<N: Encodable> Encodable for Isometry3<N>
[src]

impl<N: Decodable> Decodable for Isometry3<N>
[src]

impl<N: Clone> Clone for Isometry3<N>
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl<N: Debug> Debug for Isometry3<N>
[src]

Formats the value using the given formatter.

impl<N: Copy> Copy for Isometry3<N>
[src]

impl<N: Cast<f64> + BaseFloat> RotationMatrix<N, Vector3<N>, Vector3<N>> for Isometry3<N>
[src]

The output rotation matrix type.

Gets the rotation matrix represented by self.

impl<N: Cast<f64> + BaseFloat> Rotation<Vector3<N>> for Isometry3<N>
[src]

Gets the rotation associated with self.

Gets the inverse rotation associated with self.

Appends a rotation to this object.

Appends the rotation amount to a copy of t.

Prepends a rotation to this object.

Prepends the rotation amount to a copy of t.

Sets the rotation of self.

impl<N> Dimension for Isometry3<N>
[src]

The dimension of the object.

impl<N: BaseFloat> One for Isometry3<N>
[src]

Returns the multiplicative identity element of Self, 1. Read more

impl<N: BaseFloat> AbsoluteRotate<Vector3<N>> for Isometry3<N>
[src]

This is the same as: Read more

impl<N: Rand + BaseFloat> Rand for Isometry3<N>
[src]

Generates a random instance of this type using the specified source of randomness. Read more

impl<N: ApproxEq<N>> ApproxEq<N> for Isometry3<N>
[src]

Default epsilon for approximation.

Default ULPs for approximation.

Tests approximate equality using a custom epsilon.

Tests approximate equality using units in the last place (ULPs)

Tests approximate equality.

impl<N: BaseNum> ToHomogeneous<Matrix4<N>> for Isometry3<N>
[src]

Gets the homogeneous coordinates form of this object.

impl<N: BaseNum + Neg<Output=N>> Inverse for Isometry3<N>
[src]

In-place version of inverse.

Returns the inverse of m.

impl<N: BaseNum> Transform<Point3<N>> for Isometry3<N>
[src]

Applies a transformation to v.

Applies an inverse transformation to v.

impl<N: BaseFloat> Transformation<Isometry3<N>> for Isometry3<N>
[src]

Gets the transformation of self.

Gets the inverse transformation of self.

Appends a transformation to this object.

Appends the transformation amount to a copy of t.

Prepends a transformation to this object.

Prepends the transformation amount to a copy of t.

Sets the transformation of self.

impl<N: BaseNum> Rotate<Vector3<N>> for Isometry3<N>
[src]

Applies a rotation to v.

Applies an inverse rotation to v.

impl<N: BaseFloat> Translation<Vector3<N>> for Isometry3<N>
[src]

Gets the translation associated with this object.

Gets the inverse translation associated with this object.

Appends a translation to this object.

Appends the translation amount to a copy of t.

Prepends a translation to this object.

Prepends the translation amount to a copy of t.

Sets the translation.

impl<N: Copy + Add<N, Output=N> + Sub<N, Output=N>> Translate<Point3<N>> for Isometry3<N>
[src]

Apply a translation to an object.

Apply an inverse translation to an object.

impl<N: BaseFloat> Mul<Isometry3<N>> for Isometry3<N>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N: BaseFloat> MulAssign<Isometry3<N>> for Isometry3<N>
[src]

The method for the *= operator

impl<N: BaseFloat> Mul<Rotation3<N>> for Isometry3<N>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N: BaseFloat> MulAssign<Rotation3<N>> for Isometry3<N>
[src]

The method for the *= operator

impl<N: BaseNum> Mul<Point3<N>> for Isometry3<N>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N: BaseNum> Mul<Vector3<N>> for Isometry3<N>
[src]

The resulting type after applying the * operator

The method for the * operator

impl<N: Display + BaseFloat> Display for Isometry3<N>
[src]

Formats the value using the given formatter.

impl<N: BaseFloat> Mul<Similarity3<N>> for Isometry3<N>
[src]

The resulting type after applying the * operator

The method for the * operator