From 703c8a0cc62c2d5ebbd1c826cfd428fcb8aee667 Mon Sep 17 00:00:00 2001 From: Gael Guennebaud Date: Wed, 2 Mar 2011 19:27:13 +0100 Subject: [PATCH] fix compilation when mixing CompactAffine with Homogeneous objects --- Eigen/src/Geometry/Homogeneous.h | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/Eigen/src/Geometry/Homogeneous.h b/Eigen/src/Geometry/Homogeneous.h index 5c4f26042..2bc4f7e87 100644 --- a/Eigen/src/Geometry/Homogeneous.h +++ b/Eigen/src/Geometry/Homogeneous.h @@ -232,13 +232,15 @@ template struct traits,Lhs> > { typedef typename take_matrix_for_product::type LhsMatrixType; + typedef typename remove_all::type MatrixTypeCleaned; + typedef typename remove_all::type LhsMatrixTypeCleaned; typedef typename make_proper_matrix_type< - typename traits::Scalar, - LhsMatrixType::RowsAtCompileTime, - MatrixType::ColsAtCompileTime, - MatrixType::PlainObject::Options, - LhsMatrixType::MaxRowsAtCompileTime, - MatrixType::MaxColsAtCompileTime>::type ReturnType; + typename traits::Scalar, + LhsMatrixTypeCleaned::RowsAtCompileTime, + MatrixTypeCleaned::ColsAtCompileTime, + MatrixTypeCleaned::PlainObject::Options, + LhsMatrixTypeCleaned::MaxRowsAtCompileTime, + MatrixTypeCleaned::MaxColsAtCompileTime>::type ReturnType; }; template @@ -246,7 +248,8 @@ struct homogeneous_left_product_impl,Lhs> : public ReturnByValue,Lhs> > { typedef typename traits::LhsMatrixType LhsMatrixType; - typedef typename remove_all::type LhsMatrixTypeNested; + typedef typename remove_all::type LhsMatrixTypeCleaned; + typedef typename remove_all::type LhsMatrixTypeNested; typedef typename MatrixType::Index Index; homogeneous_left_product_impl(const Lhs& lhs, const MatrixType& rhs) : m_lhs(take_matrix_for_product::run(lhs)), @@ -267,7 +270,7 @@ struct homogeneous_left_product_impl,Lhs> .template replicate(m_rhs.cols()); } - const typename LhsMatrixType::Nested m_lhs; + const typename LhsMatrixTypeCleaned::Nested m_lhs; const typename MatrixType::Nested m_rhs; };