libigl v2.5.0
Loading...
Searching...
No Matches
upsample.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_UPSAMPLE_H
9#define IGL_UPSAMPLE_H
10#include "igl_inline.h"
11
12#include <Eigen/Core>
13#include <Eigen/Sparse>
14
15// History:
16// changed templates from generic matrices to PlainObjectBase Alec May 7, 2011
17namespace igl
18{
27 template <
28 typename DerivedF,
29 typename SType,
30 typename DerivedNF>
32 const int n_verts,
33 const Eigen::MatrixBase<DerivedF>& F,
34 Eigen::SparseMatrix<SType>& S,
35 Eigen::PlainObjectBase<DerivedNF>& NF);
50 template <
51 typename DerivedV,
52 typename DerivedF,
53 typename DerivedNV,
54 typename DerivedNF>
56 const Eigen::MatrixBase<DerivedV>& V,
57 const Eigen::MatrixBase<DerivedF>& F,
58 Eigen::PlainObjectBase<DerivedNV>& NV,
59 Eigen::PlainObjectBase<DerivedNF>& NF,
60 const int number_of_subdivs = 1);
61
62 // Virtually in place wrapper
63 template <
64 typename MatV,
65 typename MatF>
67 MatV& V,
68 MatF& F,
69 const int number_of_subdivs = 1);
70}
71
72#ifndef IGL_STATIC_LIBRARY
73# include "upsample.cpp"
74#endif
75
76#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:17
void upsample(const int n_verts, const Eigen::MatrixBase< DerivedF > &F, Eigen::SparseMatrix< SType > &S, Eigen::PlainObjectBase< DerivedNF > &NF)
Subdivide without moving vertices: Given the triangle mesh [V, F], where n_verts = V....