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#include "placeholders.h"
12
34
35#include <Eigen/Sparse>
36#include <vector>
37namespace igl
38{
50 template <
51 typename TX,
52 typename TY,
53 typename DerivedR,
54 typename DerivedC>
56 const Eigen::SparseMatrix<TX>& X,
57 const Eigen::DenseBase<DerivedR> & R,
58 const Eigen::DenseBase<DerivedC> & C,
59 Eigen::SparseMatrix<TY>& Y);
66 template <
67 typename MatX,
68 typename DerivedR,
69 typename MatY>
71 const MatX& X,
72 const Eigen::DenseBase<DerivedR> & R,
73 const int dim,
74 MatY& Y);
76 template< class T >
78 const std::vector<T> & X,
79 std::vector<size_t> const & R,
80 std::vector<T> & Y);
84 template <typename DerivedX, typename DerivedY, typename DerivedR>
86 const Eigen::DenseBase<DerivedX> & X,
87 const Eigen::DenseBase<DerivedR> & R,
88 Eigen::PlainObjectBase<DerivedY> & Y);
94 template <
95 typename DerivedX,
96 typename DerivedR,
97 typename DerivedC,
98 typename DerivedY>
100 const Eigen::DenseBase<DerivedX> & X,
101 const Eigen::DenseBase<DerivedR> & R,
102 const Eigen::DenseBase<DerivedC> & C,
103 Eigen::PlainObjectBase<DerivedY> & Y);
110 template <typename DerivedX, typename DerivedR>
112 const Eigen::DenseBase<DerivedX> & X,
113 const Eigen::DenseBase<DerivedR> & R);
115 template <typename DerivedX, typename DerivedR>
117 const Eigen::DenseBase<DerivedX>& X,
118 const Eigen::DenseBase<DerivedR> & R,
119 const int dim);
120}
121
122#ifndef IGL_STATIC_LIBRARY
123# include "slice.cpp"
124#endif
125
126#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:18
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...