From 236b7a545d139a32b6cd0984044ce91d737094a5 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Sat, 30 Aug 2008 12:42:06 +0000 Subject: 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) --- Eigen/src/Geometry/Scaling.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'Eigen/src/Geometry/Scaling.h') diff --git a/Eigen/src/Geometry/Scaling.h b/Eigen/src/Geometry/Scaling.h index fcf1c0437..73938ac8b 100644 --- a/Eigen/src/Geometry/Scaling.h +++ b/Eigen/src/Geometry/Scaling.h @@ -35,18 +35,23 @@ * \param _Dim the dimension of the space, can be a compile time value or Dynamic * * - * \sa class Translate, class Transform + * \sa class Translation, class Transform */ template class Scaling { public: + /** dimension of the space */ enum { Dim = _Dim }; /** the scalar type of the coefficients */ typedef _Scalar Scalar; - typedef Matrix LinearMatrixType; + /** corresponding vector type */ typedef Matrix VectorType; + /** corresponding linear transformation matrix type */ + typedef Matrix LinearMatrixType; + /** corresponding translation type */ typedef Translation TranslationType; + /** corresponding affine transformation type */ typedef Transform TransformType; protected: -- cgit v1.2.3