aboutsummaryrefslogtreecommitdiffhomepage
path: root/Eigen/src/Geometry/Scaling.h
diff options
context:
space:
mode:
authorGravatar Gael Guennebaud <g.gael@free.fr>2008-08-30 12:42:06 +0000
committerGravatar Gael Guennebaud <g.gael@free.fr>2008-08-30 12:42:06 +0000
commit236b7a545d139a32b6cd0984044ce91d737094a5 (patch)
tree4392f9104cdaace755cc8a7c56cf70a01f36a891 /Eigen/src/Geometry/Scaling.h
parent9e7a9cde14fc8d20e9aaf41619a23dfb420fc973 (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/Scaling.h')
-rw-r--r--Eigen/src/Geometry/Scaling.h9
1 files changed, 7 insertions, 2 deletions
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<typename _Scalar, int _Dim>
class Scaling
{
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 translation type */
typedef Translation<Scalar,Dim> TranslationType;
+ /** corresponding affine transformation type */
typedef Transform<Scalar,Dim> TransformType;
protected: