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 {
72 template <
73 typename DerivedV,
74 typename DerivedF,
75 typename DerivedH,
76 typename DerivedVM,
77 typename DerivedFM,
78 typename DerivedR,
79 typename DerivedTV,
80 typename DerivedTT,
81 typename DerivedTF,
82 typename DerivedTM,
83 typename DerivedTR,
84 typename DerivedTN,
85 typename DerivedPT,
86 typename DerivedFT>
88 const Eigen::MatrixBase<DerivedV>& V,
89 const Eigen::MatrixBase<DerivedF>& F,
90 const Eigen::MatrixBase<DerivedH>& H,
91 const Eigen::MatrixBase<DerivedVM>& VM,
92 const Eigen::MatrixBase<DerivedFM>& FM,
93 const Eigen::MatrixBase<DerivedR>& R,
94 const std::string switches,
95 Eigen::PlainObjectBase<DerivedTV>& TV,
96 Eigen::PlainObjectBase<DerivedTT>& TT,
97 Eigen::PlainObjectBase<DerivedTF>& TF,
98 Eigen::PlainObjectBase<DerivedTM>& TM,
99 Eigen::PlainObjectBase<DerivedTR>& TR,
100 Eigen::PlainObjectBase<DerivedTN>& TN,
101 Eigen::PlainObjectBase<DerivedPT>& PT,
102 Eigen::PlainObjectBase<DerivedFT>& FT,
103 int & num_regions);
105 template <
106 typename DerivedV,
107 typename DerivedF,
108 typename DerivedTV,
109 typename DerivedTT,
110 typename DerivedTF>
112 const Eigen::MatrixBase<DerivedV>& V,
113 const Eigen::MatrixBase<DerivedF>& F,
114 const std::string switches,
115 Eigen::PlainObjectBase<DerivedTV>& TV,
116 Eigen::PlainObjectBase<DerivedTT>& TT,
117 Eigen::PlainObjectBase<DerivedTF>& TF);
118 }
119 }
120}
121
122
123#ifndef IGL_STATIC_LIBRARY
124# include "tetrahedralize.cpp"
125#endif
126
127#endif
128
#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:17