2019-03-23 21:29:07 +08:00
|
|
|
use crate::base::dimension::{U2, U3};
|
2016-12-05 05:44:42 +08:00
|
|
|
|
2019-03-23 21:29:07 +08:00
|
|
|
use crate::geometry::{TAffine, TGeneral, TProjective, Transform};
|
2017-02-13 01:17:09 +08:00
|
|
|
|
2020-02-23 23:30:11 +08:00
|
|
|
/// A 2D general transformation that may not be invertible. Stored as a homogeneous 3x3 matrix.
|
2018-02-02 19:26:35 +08:00
|
|
|
pub type Transform2<N> = Transform<N, U2, TGeneral>;
|
2020-02-23 23:30:11 +08:00
|
|
|
/// An invertible 2D general transformation. Stored as a homogeneous 3x3 matrix.
|
2017-08-03 01:37:44 +08:00
|
|
|
pub type Projective2<N> = Transform<N, U2, TProjective>;
|
2020-02-23 23:30:11 +08:00
|
|
|
/// A 2D affine transformation. Stored as a homogeneous 3x3 matrix.
|
2018-02-02 19:26:35 +08:00
|
|
|
pub type Affine2<N> = Transform<N, U2, TAffine>;
|
2016-12-05 05:44:42 +08:00
|
|
|
|
2020-02-23 23:30:11 +08:00
|
|
|
/// A 3D general transformation that may not be inversible. Stored as a homogeneous 4x4 matrix.
|
2018-02-02 19:26:35 +08:00
|
|
|
pub type Transform3<N> = Transform<N, U3, TGeneral>;
|
2020-02-23 23:30:11 +08:00
|
|
|
/// An invertible 3D general transformation. Stored as a homogeneous 4x4 matrix.
|
2017-08-03 01:37:44 +08:00
|
|
|
pub type Projective3<N> = Transform<N, U3, TProjective>;
|
2020-02-23 23:30:11 +08:00
|
|
|
/// A 3D affine transformation. Stored as a homogeneous 4x4 matrix.
|
2018-02-02 19:26:35 +08:00
|
|
|
pub type Affine3<N> = Transform<N, U3, TAffine>;
|