Lines Matching refs:MatrixType
21 * \param MatrixType the type of the object in which we are making homogeneous
32 template<typename MatrixType,int Direction>
33 struct traits<Homogeneous<MatrixType,Direction> >
34 : traits<MatrixType>
36 typedef typename traits<MatrixType>::StorageKind StorageKind;
37 typedef typename nested<MatrixType>::type MatrixTypeNested;
40 RowsPlusOne = (MatrixType::RowsAtCompileTime != Dynamic) ?
41 int(MatrixType::RowsAtCompileTime) + 1 : Dynamic,
42 ColsPlusOne = (MatrixType::ColsAtCompileTime != Dynamic) ?
43 int(MatrixType::ColsAtCompileTime) + 1 : Dynamic,
44 RowsAtCompileTime = Direction==Vertical ? RowsPlusOne : MatrixType::RowsAtCompileTime,
45 ColsAtCompileTime = Direction==Horizontal ? ColsPlusOne : MatrixType::ColsAtCompileTime,
56 template<typename MatrixType,typename Lhs> struct homogeneous_left_product_impl;
57 template<typename MatrixType,typename Rhs> struct homogeneous_right_product_impl;
61 template<typename MatrixType,int _Direction> class Homogeneous
62 : public MatrixBase<Homogeneous<MatrixType,_Direction> >
71 inline Homogeneous(const MatrixType& matrix)
111 typename MatrixType::Nested m_matrix;
214 typedef typename TransformType::MatrixType type;
218 template<typename MatrixType,typename Lhs>
219 struct traits<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> >
222 typedef typename remove_all<MatrixType>::type MatrixTypeCleaned;
233 template<typename MatrixType,typename Lhs>
234 struct homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs>
235 : public ReturnByValue<homogeneous_left_product_impl<Homogeneous<MatrixType,Vertical>,Lhs> >
240 typedef typename MatrixType::Index Index;
241 homogeneous_left_product_impl(const Lhs& lhs, const MatrixType& rhs)
257 .template replicate<MatrixType::ColsAtCompileTime>(m_rhs.cols());
261 typename MatrixType::Nested m_rhs;
264 template<typename MatrixType,typename Rhs>
265 struct traits<homogeneous_right_product_impl<Homogeneous<MatrixType,Horizontal>,Rhs> >
267 typedef typename make_proper_matrix_type<typename traits<MatrixType>::Scalar,
268 MatrixType::RowsAtCompileTime,
270 MatrixType::PlainObject::Options,
271 MatrixType::MaxRowsAtCompileTime,
275 template<typename MatrixType,typename Rhs>
276 struct homogeneous_right_product_impl<Homogeneous<MatrixType,Horizontal>,Rhs>
277 : public ReturnByValue<homogeneous_right_product_impl<Homogeneous<MatrixType,Horizontal>,Rhs> >
280 typedef typename MatrixType::Index Index;
281 homogeneous_right_product_impl(const MatrixType& lhs, const Rhs& rhs)
296 .template replicate<MatrixType::RowsAtCompileTime>(m_lhs.rows());
299 typename MatrixType::Nested m_lhs;