nalgebra::geometry - Rust
Description: [Reexported at the root of this crate.] Data structures for points and usual transformations (rotations, isometries, etc.)
Keywords: rust, rustlang, rust-lang, geometry

# Module nalgebra::geometry

source ·
Expand description

[Reexported at the root of this crate.] Data structures for points and usual transformations (rotations, isometries, etc.)

## Structs

DualQuaternion
A dual quaternion.
Isometry
A direct isometry, i.e., a rotation followed by a translation (aka. a rigid-body motion).
OPoint
A point in an euclidean space.
Orthographic3
A 3D orthographic projection stored as a homogeneous 4x4 matrix.
Perspective3
A 3D perspective projection stored as a homogeneous 4x4 matrix.
Quaternion
A quaternion. See the type alias `UnitQuaternion = Unit<Quaternion>` for a quaternion that may be used as a rotation.
Reflection
A reflection wrt. a plane.
Rotation
A rotation matrix.
Scale
A scale which supports non-uniform scaling.
Similarity
A similarity, i.e., an uniform scaling, followed by a rotation, followed by a translation.
Transform
A transformation matrix in homogeneous coordinates.
Translation
A translation.

## Enums

TAffine
Tag representing an affine `Transform`. Its bottom-row is equal to `(0, 0 ... 0, 1)`.
TGeneral
Tag representing the most general (not necessarily inversible) `Transform` type.
TProjective
Tag representing the most general inversible `Transform` type.

## Traits

AbstractRotation
Trait implemented by rotations that can be used inside of an `Isometry` or `Similarity`.
SubTCategoryOf
Indicates that `Self` is a more specific `Transform` category than `Other`.
SuperTCategoryOf
Indicates that `Self` is a more general `Transform` category than `Other`.
TCategory
Trait implemented by phantom types identifying the projective transformation type.
TCategoryMul
Traits that gives the `Transform` category that is compatible with the result of the multiplication of transformations with categories `Self` and `Other`.

## Type Definitions

Affine2
A 2D affine transformation. Stored as a homogeneous 3x3 matrix.
Affine3
A 3D affine transformation. Stored as a homogeneous 4x4 matrix.
Isometry2
A 2-dimensional direct isometry using a unit complex number for its rotational part.
Isometry3
A 3-dimensional direct isometry using a unit quaternion for its rotational part.
IsometryMatrix2
A 2-dimensional direct isometry using a rotation matrix for its rotational part.
IsometryMatrix3
A 3-dimensional direct isometry using a rotation matrix for its rotational part.
Point
A point with `D` elements.
Point1
A statically sized 1-dimensional column point.
Point2
A statically sized 2-dimensional column point.
Point3
A statically sized 3-dimensional column point.
Point4
A statically sized 4-dimensional column point.
Point5
A statically sized 5-dimensional column point.
Point6
A statically sized 6-dimensional column point.
Projective2
An invertible 2D general transformation. Stored as a homogeneous 3x3 matrix.
Projective3
An invertible 3D general transformation. Stored as a homogeneous 4x4 matrix.
Reflection1
A 1-dimensional reflection.
Reflection2
A 2-dimensional reflection.
Reflection3
A 3-dimensional reflection.
Reflection4
A 4-dimensional reflection.
Reflection5
A 5-dimensional reflection.
Reflection6
A 6-dimensional reflection.
Rotation2
A 2-dimensional rotation matrix.
Rotation3
A 3-dimensional rotation matrix.
Scale1
A 1-dimensional scale.
Scale2
A 2-dimensional scale.
Scale3
A 3-dimensional scale.
Scale4
A 4-dimensional scale.
Scale5
A 5-dimensional scale.
Scale6
A 6-dimensional scale.
Similarity2
A 2-dimensional similarity.
Similarity3
A 3-dimensional similarity.
SimilarityMatrix2
A 2-dimensional similarity using a rotation matrix for its rotation part.
SimilarityMatrix3
A 3-dimensional similarity using a rotation matrix for its rotation part.
Transform2
A 2D general transformation that may not be invertible. Stored as a homogeneous 3x3 matrix.
Transform3
A 3D general transformation that may not be inversible. Stored as a homogeneous 4x4 matrix.
Translation1
A 1-dimensional translation.
Translation2
A 2-dimensional translation.
Translation3
A 3-dimensional translation.
Translation4
A 4-dimensional translation.
Translation5
A 5-dimensional translation.
Translation6
A 6-dimensional translation.
UnitComplex
A 2D rotation represented as a complex number with magnitude 1.
UnitDualQuaternion
A unit dual quaternion. May be used to represent a rotation followed by a translation.
UnitQuaternion
A unit quaternions. May be used to represent a rotation.