libigl v2.5.0
Loading...
Searching...
No Matches
tetrahedralize.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_COPYLEFT_TETGEN_TETRAHEDRALIZE_H
9#define IGL_COPYLEFT_TETGEN_TETRAHEDRALIZE_H
10#include "../../igl_inline.h"
11
12#include <vector>
13#include <string>
14#include <Eigen/Core>
15#ifndef TETLIBRARY
16#define TETLIBRARY
17#endif
18#include <tetgen.h> // Defined REAL
19
20namespace igl
21{
22 namespace copyleft
23 {
24 namespace tetgen
25 {
77 template <
78 typename DerivedV,
79 typename DerivedF,
80 typename DerivedH,
81 typename DerivedVM,
82 typename DerivedFM,
83 typename DerivedR,
84 typename DerivedTV,
85 typename DerivedTT,
86 typename DerivedTF,
87 typename DerivedTM,
88 typename DerivedTR,
89 typename DerivedTN,
90 typename DerivedPT,
91 typename DerivedFT>
93 const Eigen::MatrixBase<DerivedV>& V,
94 const Eigen::MatrixBase<DerivedF>& F,
95 const Eigen::MatrixBase<DerivedH>& H,
96 const Eigen::MatrixBase<DerivedVM>& VM,
97 const Eigen::MatrixBase<DerivedFM>& FM,
98 const Eigen::MatrixBase<DerivedR>& R,
99 const std::string switches,
100 Eigen::PlainObjectBase<DerivedTV>& TV,
101 Eigen::PlainObjectBase<DerivedTT>& TT,
102 Eigen::PlainObjectBase<DerivedTF>& TF,
103 Eigen::PlainObjectBase<DerivedTM>& TM,
104 Eigen::PlainObjectBase<DerivedTR>& TR,
105 Eigen::PlainObjectBase<DerivedTN>& TN,
106 Eigen::PlainObjectBase<DerivedPT>& PT,
107 Eigen::PlainObjectBase<DerivedFT>& FT,
108 int & num_regions);
110 template <
111 typename DerivedV,
112 typename DerivedF,
113 typename DerivedTV,
114 typename DerivedTT,
115 typename DerivedTF>
117 const Eigen::MatrixBase<DerivedV>& V,
118 const Eigen::MatrixBase<DerivedF>& F,
119 const std::string switches,
120 Eigen::PlainObjectBase<DerivedTV>& TV,
121 Eigen::PlainObjectBase<DerivedTT>& TT,
122 Eigen::PlainObjectBase<DerivedTF>& TF);
123 }
124 }
125}
126
127
128#ifndef IGL_STATIC_LIBRARY
129# include "tetrahedralize.cpp"
130#endif
131
132#endif
133
#define IGL_INLINE
Definition igl_inline.h:15
int tetrahedralize(const Eigen::MatrixBase< DerivedV > &V, const Eigen::MatrixBase< DerivedF > &F, const Eigen::MatrixBase< DerivedH > &H, const Eigen::MatrixBase< DerivedVM > &VM, const Eigen::MatrixBase< DerivedFM > &FM, const Eigen::MatrixBase< DerivedR > &R, const std::string switches, Eigen::PlainObjectBase< DerivedTV > &TV, Eigen::PlainObjectBase< DerivedTT > &TT, Eigen::PlainObjectBase< DerivedTF > &TF, Eigen::PlainObjectBase< DerivedTM > &TM, Eigen::PlainObjectBase< DerivedTR > &TR, Eigen::PlainObjectBase< DerivedTN > &TN, Eigen::PlainObjectBase< DerivedPT > &PT, Eigen::PlainObjectBase< DerivedFT > &FT, int &num_regions)
Mesh the interior of a surface mesh (V,F) using tetgen.
Definition AABB.h:18