Module 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 Aliases§

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.