diff --git a/Eigen/src/Geometry/Transform.h b/Eigen/src/Geometry/Transform.h index 16e552fdd..1b68a37e5 100644 --- a/Eigen/src/Geometry/Transform.h +++ b/Eigen/src/Geometry/Transform.h @@ -388,7 +388,7 @@ Transform::fromPositionOrientationScale(const MatrixBase &scale) { linear() = ToRotationMatrix::convert(orientation); - for(int i = 0; i < Dim; i++) linear().col(i) *= scale.coeff(i); + linear() *= scale.asDiagonal(); translation() = position; m_matrix(Dim,Dim) = 1.; m_matrix.template block<1,Dim>(Dim,0).setZero();