diff options
author | 2016-09-23 13:41:21 +0200 | |
---|---|---|
committer | 2016-09-23 13:41:21 +0200 | |
commit | 86caba838db00ed977ed160a893d0a749856a215 (patch) | |
tree | fe2ee2a836e931e97ac245ed65eb2f744df064c4 /Eigen/src/Geometry/Transform.h | |
parent | b9f7a17e47b88bb2b63909e9863148b42e8d8c15 (diff) |
bug #1304: fix Projective * scaling and Projective *= scaling
Diffstat (limited to 'Eigen/src/Geometry/Transform.h')
-rw-r--r-- | Eigen/src/Geometry/Transform.h | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Eigen/src/Geometry/Transform.h b/Eigen/src/Geometry/Transform.h index db5fd07c3..8f6c62d63 100644 --- a/Eigen/src/Geometry/Transform.h +++ b/Eigen/src/Geometry/Transform.h @@ -464,7 +464,7 @@ public: operator * (const DiagonalBase<DiagonalDerived> &b) const { TransformTimeDiagonalReturnType res(*this); - res.linear() *= b; + res.linearExt() *= b; return res; } @@ -578,7 +578,7 @@ public: return res; } - inline Transform& operator*=(const DiagonalMatrix<Scalar,Dim>& s) { linear() *= s; return *this; } + inline Transform& operator*=(const DiagonalMatrix<Scalar,Dim>& s) { linearExt() *= s; return *this; } template<typename Derived> inline Transform& operator=(const RotationBase<Derived,Dim>& r); @@ -853,7 +853,7 @@ Transform<Scalar,Dim,Mode,Options>::prescale(const MatrixBase<OtherDerived> &oth { EIGEN_STATIC_ASSERT_VECTOR_SPECIFIC_SIZE(OtherDerived,int(Dim)) EIGEN_STATIC_ASSERT(Mode!=int(Isometry), THIS_METHOD_IS_ONLY_FOR_SPECIFIC_TRANSFORMATIONS) - m_matrix.template block<Dim,HDim>(0,0).noalias() = (other.asDiagonal() * m_matrix.template block<Dim,HDim>(0,0)); + affine().noalias() = (other.asDiagonal() * affine()); return *this; } |