diff options
author | 2008-08-30 12:42:06 +0000 | |
---|---|---|
committer | 2008-08-30 12:42:06 +0000 | |
commit | 236b7a545d139a32b6cd0984044ce91d737094a5 (patch) | |
tree | 4392f9104cdaace755cc8a7c56cf70a01f36a891 /Eigen/src/Geometry/Translation.h | |
parent | 9e7a9cde14fc8d20e9aaf41619a23dfb420fc973 (diff) |
update Transform::inverse() to take an optional argument stating whether the transformation is:
NonAffine, Affine (default), contains NoShear, contains NoScaling
that allows significant speed improvements. If you like it, this concept could be applied to
Transform::extractRotation (or to a more advanced decomposition function) and to Hyperplane::transformed()
and maybe to some other places... e.g., I think a Transform::normalMatrix() function would not harm and
warn user that the transformation of normals is not that trivial (I saw this mistake much too often)
Diffstat (limited to 'Eigen/src/Geometry/Translation.h')
-rw-r--r-- | Eigen/src/Geometry/Translation.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/Eigen/src/Geometry/Translation.h b/Eigen/src/Geometry/Translation.h index ad63b835f..b65aca9eb 100644 --- a/Eigen/src/Geometry/Translation.h +++ b/Eigen/src/Geometry/Translation.h @@ -41,12 +41,17 @@ template<typename _Scalar, int _Dim> class Translation { public: + /** dimension of the space */ enum { Dim = _Dim }; /** the scalar type of the coefficients */ typedef _Scalar Scalar; - typedef Matrix<Scalar,Dim,Dim> LinearMatrixType; + /** corresponding vector type */ typedef Matrix<Scalar,Dim,1> VectorType; + /** corresponding linear transformation matrix type */ + typedef Matrix<Scalar,Dim,Dim> LinearMatrixType; + /** corresponding scaling transformation type */ typedef Scaling<Scalar,Dim> ScalingType; + /** corresponding affine transformation type */ typedef Transform<Scalar,Dim> TransformType; protected: |