Module na::geometry

source · []
Expand description

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

Structs

A dual quaternion.

A direct isometry, i.e., a rotation followed by a translation (aka. a rigid-body motion).

A point in an euclidean space.

A 3D orthographic projection stored as a homogeneous 4x4 matrix.

A 3D perspective projection stored as a homogeneous 4x4 matrix.

A quaternion. See the type alias UnitQuaternion = Unit<Quaternion> for a quaternion that may be used as a rotation.

A reflection wrt. a plane.

A rotation matrix.

A scale which supports non-uniform scaling.

A similarity, i.e., an uniform scaling, followed by a rotation, followed by a translation.

A transformation matrix in homogeneous coordinates.

A translation.

Enums

Tag representing an affine Transform. Its bottom-row is equal to (0, 0 ... 0, 1).

Tag representing the most general (not necessarily inversible) Transform type.

Tag representing the most general inversible Transform type.

Traits

Trait implemented by rotations that can be used inside of an Isometry or Similarity.

Indicates that Self is a more specific Transform category than Other.

Indicates that Self is a more general Transform category than Other.

Trait implemented by phantom types identifying the projective transformation type.

Traits that gives the Transform category that is compatible with the result of the multiplication of transformations with categories Self and Other.

Type Definitions

A 2D affine transformation. Stored as a homogeneous 3x3 matrix.

A 3D affine transformation. Stored as a homogeneous 4x4 matrix.

A 2-dimensional direct isometry using a unit complex number for its rotational part.

A 3-dimensional direct isometry using a unit quaternion for its rotational part.

A 2-dimensional direct isometry using a rotation matrix for its rotational part.

A 3-dimensional direct isometry using a rotation matrix for its rotational part.

A point with D elements.

A statically sized 1-dimensional column point.

A statically sized 2-dimensional column point.

A statically sized 3-dimensional column point.

A statically sized 4-dimensional column point.

A statically sized 5-dimensional column point.

A statically sized 6-dimensional column point.

An invertible 2D general transformation. Stored as a homogeneous 3x3 matrix.

An invertible 3D general transformation. Stored as a homogeneous 4x4 matrix.

A 1-dimensional reflection.

A 2-dimensional reflection.

A 3-dimensional reflection.

A 4-dimensional reflection.

A 5-dimensional reflection.

A 6-dimensional reflection.

A 2-dimensional rotation matrix.

A 3-dimensional rotation matrix.

A 1-dimensional scale.

A 2-dimensional scale.

A 3-dimensional scale.

A 4-dimensional scale.

A 5-dimensional scale.

A 6-dimensional scale.

A 2-dimensional similarity.

A 3-dimensional similarity.

A 2-dimensional similarity using a rotation matrix for its rotation part.

A 3-dimensional similarity using a rotation matrix for its rotation part.

A 2D general transformation that may not be invertible. Stored as a homogeneous 3x3 matrix.

A 3D general transformation that may not be inversible. Stored as a homogeneous 4x4 matrix.

A 1-dimensional translation.

A 2-dimensional translation.

A 3-dimensional translation.

A 4-dimensional translation.

A 5-dimensional translation.

A 6-dimensional translation.

A 2D rotation represented as a complex number with magnitude 1.

A unit dual quaternion. May be used to represent a rotation followed by a translation.

A unit quaternions. May be used to represent a rotation.