hpp-constraints  4.9.1
Definition of basic geometric constraints for motion planning
matrix-view-operation.hh File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Eigen
 
 Eigen::internal
 

Macros

#define HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW   typename _ArgType, int _Rows, int _Cols, bool _allRows, bool _allCols
 
#define HPP_EIGEN_MATRIX_BLOCK_VIEW   MatrixBlockView<_ArgType, _Rows, _Cols, _allRows, _allCols>
 
#define HPP_EIGEN_SPECIALIZE_CwiseBinaryOpImpl( LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE)
 
#define HPP_EIGEN_DEFINE_CwiseBinaryOpImpl_evalTo( LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE)
 
#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL( LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE, need_to_transpose, EVAL_TO_BODY)
 
#define HPP_EIGEN_EVAL_TO_BODY_NORMAL   other.evalTo(dst);
 
#define HPP_EIGEN_EVAL_TO_BODY_TRANSPOSE   Transpose<ActualDerived> dstTrans(dst); other.evalTo(dstTrans);
 
#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR( LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE)
 
#define HPP_EIGEN_LHS_TPL   typename Lhs
 
#define HPP_EIGEN_LHS_TYPE   Lhs
 
#define HPP_EIGEN_RHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_RHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_LHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_LHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_RHS_TPL   typename Rhs
 
#define HPP_EIGEN_RHS_TYPE   Rhs
 
#define HPP_EIGEN_LHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_LHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW
 
#define HPP_EIGEN_RHS_TPL   typename _ArgType2, int _Rows2, int _Cols2, bool _allRows2, bool _allCols2
 
#define HPP_EIGEN_RHS_TYPE   const MatrixBlockView<_ArgType2, _Rows2, _Cols2, _allRows2, _allCols2>
 

Typedefs

typedef const Rhs_t::template block_t< typename Rhs_t::ArgType >::type Eigen::BlockRhs
 
typedef CwiseBinaryOp< BinaryOp, BlockLhs, BlockRhs > Eigen::BlockCwiseBOp
 

Functions

 Eigen::HPP_EIGEN_SPECIALIZE_CwiseBinaryOpImpl (HPP_EIGEN_LHS_TPL, HPP_EIGEN_LHS_TYPE, HPP_EIGEN_RHS_TPL, HPP_EIGEN_RHS_TYPE) HPP_EIGEN_DEFINE_CwiseBinaryOpImpl_evalTo(HPP_EIGEN_LHS_TPL
 
 Eigen::for (typename Rhs_t::block_iterator block(d.rhs());block.valid();++block)
 
 Eigen::for (typename Lhs_t::block_iterator block(d.lhs());block.valid();++block)
 
 Eigen::assert (d.lhs()._blocks()==d.rhs()._blocks())
 
Lhs_t::block_iterator Eigen::lblock (d.lhs())
 
Rhs_t::block_iterator Eigen::rblock (d.rhs())
 
 Eigen::while (lblock.valid())
 
 Eigen::assert (!lblock.valid() &&!rblock.valid())
 

Variables

 Eigen::HPP_EIGEN_LHS_TYPE
 
 Eigen::HPP_EIGEN_RHS_TPL
 
 Eigen::HPP_EIGEN_RHS_TYPE
 
const Derived & Eigen::d = derived()
 

Macro Definition Documentation

◆ HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW

#define HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW   typename _ArgType, int _Rows, int _Cols, bool _allRows, bool _allCols

Support for CwiseBinaryOp 3 possible cases:

  • view op view
  • matrix op view
  • view op matrix

◆ HPP_EIGEN_DEFINE_CwiseBinaryOpImpl_evalTo

#define HPP_EIGEN_DEFINE_CwiseBinaryOpImpl_evalTo (   LHS_TPL,
  LHS_TYPE,
  RHS_TPL,
  RHS_TYPE 
)
Value:
template <typename BinaryOp, LHS_TPL, RHS_TPL> \
template <typename OtherDerived> \
void CwiseBinaryOpImpl<BinaryOp, LHS_TYPE, RHS_TYPE, Dense>::evalTo \
(MatrixBase<OtherDerived>& other) const

◆ HPP_EIGEN_EVAL_TO_BODY_NORMAL

#define HPP_EIGEN_EVAL_TO_BODY_NORMAL   other.evalTo(dst);

◆ HPP_EIGEN_EVAL_TO_BODY_TRANSPOSE

#define HPP_EIGEN_EVAL_TO_BODY_TRANSPOSE   Transpose<ActualDerived> dstTrans(dst); other.evalTo(dstTrans);

◆ HPP_EIGEN_LHS_TPL [1/3]

#define HPP_EIGEN_LHS_TPL   typename Lhs

◆ HPP_EIGEN_LHS_TPL [2/3]

#define HPP_EIGEN_LHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_LHS_TPL [3/3]

#define HPP_EIGEN_LHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_LHS_TYPE [1/3]

#define HPP_EIGEN_LHS_TYPE   Lhs

◆ HPP_EIGEN_LHS_TYPE [2/3]

#define HPP_EIGEN_LHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_LHS_TYPE [3/3]

#define HPP_EIGEN_LHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_MATRIX_BLOCK_VIEW

#define HPP_EIGEN_MATRIX_BLOCK_VIEW   MatrixBlockView<_ArgType, _Rows, _Cols, _allRows, _allCols>

◆ HPP_EIGEN_RHS_TPL [1/3]

#define HPP_EIGEN_RHS_TPL   HPP_EIGEN_DECLARE_TEMPLATE_ARGS_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_RHS_TPL [2/3]

#define HPP_EIGEN_RHS_TPL   typename Rhs

◆ HPP_EIGEN_RHS_TPL [3/3]

#define HPP_EIGEN_RHS_TPL   typename _ArgType2, int _Rows2, int _Cols2, bool _allRows2, bool _allCols2

◆ HPP_EIGEN_RHS_TYPE [1/3]

#define HPP_EIGEN_RHS_TYPE   const HPP_EIGEN_MATRIX_BLOCK_VIEW

◆ HPP_EIGEN_RHS_TYPE [2/3]

#define HPP_EIGEN_RHS_TYPE   Rhs

◆ HPP_EIGEN_RHS_TYPE [3/3]

#define HPP_EIGEN_RHS_TYPE   const MatrixBlockView<_ArgType2, _Rows2, _Cols2, _allRows2, _allCols2>

◆ HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR

#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR (   LHS_TPL,
  LHS_TYPE,
  RHS_TPL,
  RHS_TYPE 
)
Value:
HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL( \
#define HPP_EIGEN_LHS_TYPE
Definition: matrix-view-operation.hh:183
#define HPP_EIGEN_RHS_TYPE
Definition: matrix-view-operation.hh:185
#define HPP_EIGEN_RHS_TPL
Definition: matrix-view-operation.hh:184
#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL( LHS_TPL, LHS_TYPE, RHS_TPL, RHS_TYPE, need_to_transpose, EVAL_TO_BODY)
Definition: matrix-view-operation.hh:75
#define HPP_EIGEN_EVAL_TO_BODY_TRANSPOSE
Definition: matrix-view-operation.hh:93
#define HPP_EIGEN_EVAL_TO_BODY_NORMAL
Definition: matrix-view-operation.hh:92
#define HPP_EIGEN_LHS_TPL
Definition: matrix-view-operation.hh:182

◆ HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL

#define HPP_EIGEN_SPECIALIZE_ASSIGN_SELECTOR_IMPL (   LHS_TPL,
  LHS_TYPE,
  RHS_TPL,
  RHS_TYPE,
  need_to_transpose,
  EVAL_TO_BODY 
)
Value:
template<typename Derived, typename BinaryOp, LHS_TPL, RHS_TPL> \
struct assign_selector<Derived, \
CwiseBinaryOp<BinaryOp, LHS_TYPE, RHS_TYPE >, \
false,need_to_transpose> { \
typedef CwiseBinaryOp<BinaryOp, LHS_TYPE, RHS_TYPE> CwiseDerived; \
static EIGEN_STRONG_INLINE Derived& run \
(Derived& dst, const CwiseDerived& o) \
{ dst.resize(o.rows(), o.cols()); o.evalTo(dst); return dst; } \
template<typename ActualDerived, typename ActualOtherDerived> \
static EIGEN_STRONG_INLINE Derived& evalTo \
(ActualDerived& dst, const ActualOtherDerived& other) \
{ EVAL_TO_BODY return dst; } \
};
Vec3f o

◆ HPP_EIGEN_SPECIALIZE_CwiseBinaryOpImpl

#define HPP_EIGEN_SPECIALIZE_CwiseBinaryOpImpl (   LHS_TPL,
  LHS_TYPE,
  RHS_TPL,
  RHS_TYPE 
)
Value:
template <typename BinaryOp, LHS_TPL, RHS_TPL> \
class CwiseBinaryOpImpl <BinaryOp, LHS_TYPE, RHS_TYPE, Dense> \
: public internal::dense_xpr_base< \
CwiseBinaryOp<BinaryOp, LHS_TYPE, RHS_TYPE > >::type \
{ \
typedef LHS_TYPE Lhs_t; \
typedef RHS_TYPE Rhs_t; \
typedef CwiseBinaryOp<BinaryOp, LHS_TYPE, RHS_TYPE > Derived; \
public: \
\
typedef typename internal::dense_xpr_base<Derived >::type Base; \
EIGEN_DENSE_PUBLIC_INTERFACE( Derived ) \
\
template <typename OtherDerived> \
void evalTo (MatrixBase<OtherDerived>& other) const; \
};