diff options
author | 2011-03-02 19:27:13 +0100 | |
---|---|---|
committer | 2011-03-02 19:27:13 +0100 | |
commit | 703c8a0cc62c2d5ebbd1c826cfd428fcb8aee667 (patch) | |
tree | 3e8bb21c35ff9d3dd37419cf6ac413ad94a19380 /Eigen/src/Geometry/Homogeneous.h | |
parent | d30f0c0953fa544bb4271234da6853a947ac1a7c (diff) |
fix compilation when mixing CompactAffine with Homogeneous objects
Diffstat (limited to 'Eigen/src/Geometry/Homogeneous.h')
-rw-r--r-- | Eigen/src/Geometry/Homogeneous.h | 19 |
1 files 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<typename MatrixType,typename Lhs> struct traits<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> > { typedef typename take_matrix_for_product<Lhs>::type LhsMatrixType; + typedef typename remove_all<MatrixType>::type MatrixTypeCleaned; + typedef typename remove_all<LhsMatrixType>::type LhsMatrixTypeCleaned; typedef typename make_proper_matrix_type< - typename traits<MatrixType>::Scalar, - LhsMatrixType::RowsAtCompileTime, - MatrixType::ColsAtCompileTime, - MatrixType::PlainObject::Options, - LhsMatrixType::MaxRowsAtCompileTime, - MatrixType::MaxColsAtCompileTime>::type ReturnType; + typename traits<MatrixTypeCleaned>::Scalar, + LhsMatrixTypeCleaned::RowsAtCompileTime, + MatrixTypeCleaned::ColsAtCompileTime, + MatrixTypeCleaned::PlainObject::Options, + LhsMatrixTypeCleaned::MaxRowsAtCompileTime, + MatrixTypeCleaned::MaxColsAtCompileTime>::type ReturnType; }; template<typename MatrixType,typename Lhs> @@ -246,7 +248,8 @@ struct homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> : public ReturnByValue<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> > { typedef typename traits<homogeneous_left_product_impl>::LhsMatrixType LhsMatrixType; - typedef typename remove_all<typename LhsMatrixType::Nested>::type LhsMatrixTypeNested; + typedef typename remove_all<LhsMatrixType>::type LhsMatrixTypeCleaned; + typedef typename remove_all<typename LhsMatrixTypeCleaned::Nested>::type LhsMatrixTypeNested; typedef typename MatrixType::Index Index; homogeneous_left_product_impl(const Lhs& lhs, const MatrixType& rhs) : m_lhs(take_matrix_for_product<Lhs>::run(lhs)), @@ -267,7 +270,7 @@ struct homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> .template replicate<MatrixType::ColsAtCompileTime>(m_rhs.cols()); } - const typename LhsMatrixType::Nested m_lhs; + const typename LhsMatrixTypeCleaned::Nested m_lhs; const typename MatrixType::Nested m_rhs; }; |