libigl v2.5.0
Loading...
Searching...
No Matches
remesh_along_isoline.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) 2018 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_REMESH_ALONG_ISOLINE_H
9#define IGL_REMESH_ALONG_ISOLINE_H
10#include "igl_inline.h"
11
12#include <Eigen/Dense>
13#include <Eigen/Sparse>
14
15#include <cassert>
16
17namespace igl
18{
34 template <
35 typename DerivedV,
36 typename DerivedF,
37 typename DerivedS,
38 typename DerivedU,
39 typename DerivedG,
40 typename DerivedJ,
41 typename BCtype,
42 typename DerivedSU,
43 typename DerivedL>
45 const Eigen::MatrixBase<DerivedV> & V,
46 const Eigen::MatrixBase<DerivedF> & F,
47 const Eigen::MatrixBase<DerivedS> & S,
48 const typename DerivedS::Scalar val,
49 Eigen::PlainObjectBase<DerivedU> & U,
50 Eigen::PlainObjectBase<DerivedG> & G,
51 Eigen::PlainObjectBase<DerivedSU> & SU,
52 Eigen::PlainObjectBase<DerivedJ> & J,
53 Eigen::SparseMatrix<BCtype> & BC,
54 Eigen::PlainObjectBase<DerivedL> & L);
57 template <
58 typename DerivedF,
59 typename DerivedS,
60 typename DerivedG,
61 typename DerivedJ,
62 typename BCtype,
63 typename DerivedSU,
64 typename DerivedL>
66 const int n,
67 const Eigen::MatrixBase<DerivedF> & F,
68 const Eigen::MatrixBase<DerivedS> & S,
69 const typename DerivedS::Scalar val,
70 Eigen::PlainObjectBase<DerivedG> & G,
71 Eigen::PlainObjectBase<DerivedSU> & SU,
72 Eigen::PlainObjectBase<DerivedJ> & J,
73 Eigen::SparseMatrix<BCtype> & BC,
74 Eigen::PlainObjectBase<DerivedL> & L);
75}
76
77#ifndef IGL_STATIC_LIBRARY
78# include "remesh_along_isoline.cpp"
79#endif
80
81#endif
#define IGL_INLINE
Definition igl_inline.h:15
Definition AABB.h:18
void remesh_along_isoline(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedS > &S, const typename DerivedS::Scalar val, Eigen::PlainObjectBase< DerivedU > &U, Eigen::PlainObjectBase< DerivedG > &G, Eigen::PlainObjectBase< DerivedSU > &SU, Eigen::PlainObjectBase< DerivedJ > &J, Eigen::SparseMatrix< BCtype > &BC, Eigen::PlainObjectBase< DerivedL > &L)
Given a triangle mesh and a scalar field, remesh so that a given isovalue of the scalar field follows...