libigl v2.5.0
Loading...
Searching...
No Matches
slice.h
Go to the documentation of this file.
1// This file is part of libigl, a simple c++ geometry processing library.
2//
3// Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
4//
5// This Source Code Form is subject to the terms of the Mozilla Public License
6// v. 2.0. If a copy of the MPL was not distributed with this file, You can
7// obtain one at http://mozilla.org/MPL/2.0/.
8#ifndef IGL_SLICE_H
9#define IGL_SLICE_H
10#include "igl_inline.h"
11
33
34#include <Eigen/Sparse>
35#include <vector>
36namespace igl
37{
49 template <
50 typename TX,
51 typename TY,
52 typename DerivedR,
53 typename DerivedC>
55 const Eigen::SparseMatrix<TX>& X,
56 const Eigen::DenseBase<DerivedR> & R,
57 const Eigen::DenseBase<DerivedC> & C,
58 Eigen::SparseMatrix<TY>& Y);
65 template <
66 typename MatX,
67 typename DerivedR,
68 typename MatY>
70 const MatX& X,
71 const Eigen::DenseBase<DerivedR> & R,
72 const int dim,
73 MatY& Y);
75 template< class T >
77 const std::vector<T> & X,
78 std::vector<size_t> const & R,
79 std::vector<T> & Y);
83 template <typename DerivedX, typename DerivedY, typename DerivedR>
85 const Eigen::DenseBase<DerivedX> & X,
86 const Eigen::DenseBase<DerivedR> & R,
87 Eigen::PlainObjectBase<DerivedY> & Y);
93 template <
94 typename DerivedX,
95 typename DerivedR,
96 typename DerivedC,
97 typename DerivedY>
99 const Eigen::DenseBase<DerivedX> & X,
100 const Eigen::DenseBase<DerivedR> & R,
101 const Eigen::DenseBase<DerivedC> & C,
102 Eigen::PlainObjectBase<DerivedY> & Y);
109 template <typename DerivedX, typename DerivedR>
111 const Eigen::DenseBase<DerivedX> & X,
112 const Eigen::DenseBase<DerivedR> & R);
114 template <typename DerivedX, typename DerivedR>
116 const Eigen::DenseBase<DerivedX>& X,
117 const Eigen::DenseBase<DerivedR> & R,
118 const int dim);
119}
120
121#ifndef IGL_STATIC_LIBRARY
122# include "slice.cpp"
123#endif
124
125#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void slice(const Eigen::SparseMatrix< TX > &X, const Eigen::DenseBase< DerivedR > &R, const Eigen::DenseBase< DerivedC > &C, Eigen::SparseMatrix< TY > &Y)
Act like the matlab X(row_indices,col_indices) operator, where row_indices, col_indices are non-negat...