8#ifndef IGL_SLICE_MASK_H
9#define IGL_SLICE_MASK_H
12#include <Eigen/Sparse>
25 template <
typename XType,
typename YType>
27 const Eigen::SparseMatrix<XType> & X,
28 const Eigen::Array<bool,Eigen::Dynamic,1> & R,
29 const Eigen::Array<bool,Eigen::Dynamic,1> & C,
30 Eigen::SparseMatrix<YType> & Y);
36 template <
typename XType,
typename YType>
38 const Eigen::SparseMatrix<XType> & X,
39 const Eigen::Array<bool,Eigen::Dynamic,1> & R,
41 Eigen::SparseMatrix<YType> & Y);
47 template <
typename DerivedX,
typename DerivedY>
49 const Eigen::DenseBase<DerivedX> & X,
50 const Eigen::Array<bool,Eigen::Dynamic,1> & R,
51 const Eigen::Array<bool,Eigen::Dynamic,1> & C,
52 Eigen::PlainObjectBase<DerivedY> & Y);
53 template <
typename DerivedX,
typename DerivedY>
55 const Eigen::DenseBase<DerivedX> & X,
56 const Eigen::Array<bool,Eigen::Dynamic,1> & R,
58 Eigen::PlainObjectBase<DerivedY> & Y);
64 template <
typename DerivedX>
66 const Eigen::DenseBase<DerivedX> & X,
67 const Eigen::Array<bool,Eigen::Dynamic,1> & R,
68 const Eigen::Array<bool,Eigen::Dynamic,1> & C);
70 template <
typename DerivedX>
72 const Eigen::DenseBase<DerivedX> & X,
73 const Eigen::Array<bool,Eigen::Dynamic,1> & R,
78#ifndef IGL_STATIC_LIBRARY
79# include "slice_mask.cpp"
#define IGL_INLINE
Definition igl_inline.h:15
void slice_mask(const Eigen::SparseMatrix< XType > &X, const Eigen::Array< bool, Eigen::Dynamic, 1 > &R, const Eigen::Array< bool, Eigen::Dynamic, 1 > &C, Eigen::SparseMatrix< YType > &Y)
Act like the matlab X(row_mask,col_mask) operator, where row_mask, col_mask are non-negative integer ...