diff options
-rw-r--r-- | Eigen/src/Core/util/ForwardDeclarations.h | 2 | ||||
-rw-r--r-- | Eigen/src/Geometry/RotationBase.h | 5 | ||||
-rw-r--r-- | Eigen/src/Geometry/Transform.h | 5 | ||||
-rw-r--r-- | Eigen/src/Geometry/Translation.h | 3 |
4 files changed, 9 insertions, 6 deletions
diff --git a/Eigen/src/Core/util/ForwardDeclarations.h b/Eigen/src/Core/util/ForwardDeclarations.h index ed4b8e6d9..423aa110e 100644 --- a/Eigen/src/Core/util/ForwardDeclarations.h +++ b/Eigen/src/Core/util/ForwardDeclarations.h @@ -180,7 +180,7 @@ template<typename Derived> class QuaternionBase; template<typename Scalar> class Quaternion; template<typename Scalar> class Rotation2D; template<typename Scalar> class AngleAxis; -template<typename Scalar,int Dim,int Mode=Affine> class Transform; +template<typename Scalar,int Dim,int Mode=Projective> class Transform; template <typename _Scalar, int _AmbientDim> class ParametrizedLine; template <typename _Scalar, int _AmbientDim> class Hyperplane; template<typename Scalar,int Dim> class Translation; diff --git a/Eigen/src/Geometry/RotationBase.h b/Eigen/src/Geometry/RotationBase.h index 5b6d10649..4f0eeca20 100644 --- a/Eigen/src/Geometry/RotationBase.h +++ b/Eigen/src/Geometry/RotationBase.h @@ -55,6 +55,11 @@ class RotationBase /** \returns an equivalent rotation matrix */ inline RotationMatrixType toRotationMatrix() const { return derived().toRotationMatrix(); } + /** \returns an equivalent rotation matrix + * This function is added to be conform with the Transform class' naming scheme. + */ + inline RotationMatrixType matrix() const { return derived().toRotationMatrix(); } + /** \returns the inverse rotation */ inline Derived inverse() const { return derived().inverse(); } diff --git a/Eigen/src/Geometry/Transform.h b/Eigen/src/Geometry/Transform.h index 70d172c10..68fda1323 100644 --- a/Eigen/src/Geometry/Transform.h +++ b/Eigen/src/Geometry/Transform.h @@ -954,11 +954,6 @@ Transform<Scalar,Dim,Mode>::inverse(TransformTraits hint) const // translation and remaining parts res.matrix().template topRightCorner<Dim,1>() = - res.matrix().template topLeftCorner<Dim,Dim>() * translation(); - if(int(Mode)!=int(AffineCompact)) - { - res.matrix().template block<1,Dim>(Dim,0).setZero(); - res.matrix().coeffRef(Dim,Dim) = 1; - } } return res; } diff --git a/Eigen/src/Geometry/Translation.h b/Eigen/src/Geometry/Translation.h index 8b8c9c25c..06db9956e 100644 --- a/Eigen/src/Geometry/Translation.h +++ b/Eigen/src/Geometry/Translation.h @@ -98,6 +98,9 @@ public: const VectorType& vector() const { return m_coeffs; } VectorType& vector() { return m_coeffs; } + const VectorType& translation() const { return m_coeffs; } + VectorType& translation() { return m_coeffs; } + /** Concatenates two translation */ inline Translation operator* (const Translation& other) const { return Translation(m_coeffs + other.m_coeffs); } |