8#ifndef IGL_SLICE_INTO_H
9#define IGL_SLICE_INTO_H
12#define EIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET
14#include <Eigen/Sparse>
27 template <
typename T,
typename DerivedR,
typename DerivedC>
29 const Eigen::SparseMatrix<T>& X,
30 const Eigen::MatrixBase<DerivedR> & R,
31 const Eigen::MatrixBase<DerivedC> & C,
32 Eigen::SparseMatrix<T>& Y);
39 template <
typename MatX,
typename MatY,
typename DerivedR>
42 const Eigen::MatrixBase<DerivedR> & R,
50 template <
typename DerivedX,
typename DerivedY,
typename DerivedR,
typename DerivedC>
52 const Eigen::MatrixBase<DerivedX> & X,
53 const Eigen::MatrixBase<DerivedR> & R,
54 const Eigen::MatrixBase<DerivedC> & C,
55 Eigen::PlainObjectBase<DerivedY> & Y);
58 template <
typename DerivedX,
typename DerivedR,
typename DerivedY>
60 const Eigen::MatrixBase<DerivedX>& X,
61 const Eigen::MatrixBase<DerivedR>& R,
62 Eigen::PlainObjectBase<DerivedY>& Y);
65#ifndef IGL_STATIC_LIBRARY
66# include "slice_into.cpp"
#define IGL_INLINE
Definition igl_inline.h:15
void slice_into(const Eigen::SparseMatrix< T > &X, const Eigen::MatrixBase< DerivedR > &R, const Eigen::MatrixBase< DerivedC > &C, Eigen::SparseMatrix< T > &Y)
Act like the matlab Y(row_indices,col_indices) = X.