libMesh
Public Member Functions | Public Attributes | List of all members
libMesh::TetGenWrapper Class Reference

The TetGenWrapper provides an interface for basic access to TetGen data structures and methods. More...

#include <mesh_tetgen_wrapper.h>

Public Member Functions

 TetGenWrapper ()
 Constructor. More...
 
 ~TetGenWrapper ()
 Destructor. More...
 
void set_switches (std::string_view s)
 Method to set TetGen commandline switches -p Tetrahedralizes a piecewise linear complex (.poly or .smesh file). More...
 
void run_tetgen ()
 Starts the triangulation. More...
 
int get_numberoftetrahedra ()
 
int get_numberoftrifaces ()
 
void set_numberofpoints (int i)
 Sets the number of nodes in the TetGen input. More...
 
int get_numberofpoints ()
 
void set_numberoffacets (int i)
 Sets the number of facets in the TetGen input. More...
 
void set_numberofholes (int i)
 Sets the number of holes in the TetGen input. More...
 
void set_numberofregions (int i)
 Sets the number of regions in the TetGen input. More...
 
void allocate_pointlist (int numofpoints)
 Allocates memory, sets number of nodes in the TetGen input. More...
 
void allocate_facetlist (int numoffacets, int numofholes)
 Allocates memory, sets number of facets, holes in the TetGen input. More...
 
void allocate_regionlist (int numofregions)
 Allocates memory, sets number of regions in the TetGen input. More...
 
void set_node (unsigned i, REAL x, REAL y, REAL z)
 Sets coordinates of point i in the TetGen input. More...
 
void get_output_node (unsigned i, REAL &x, REAL &y, REAL &z)
 
int get_element_node (unsigned i, unsigned j)
 
int get_triface_node (unsigned i, unsigned j)
 
REAL get_element_attribute (unsigned i)
 
void set_hole (unsigned i, REAL x, REAL y, REAL z)
 Sets coordinates of hole i in the TetGen input. More...
 
void set_facet_numberofpolygons (unsigned i, int num)
 Sets the number of polygons for facet i in the TetGen input. More...
 
void set_facet_numberofholes (unsigned i, int num)
 Sets the number of holes for facet i in the TetGen input. More...
 
void allocate_facet_polygonlist (unsigned i, int numofpolygons)
 Allocates memory, sets number of polygons for facet i in the TetGen input. More...
 
void set_polygon_numberofvertices (unsigned i, unsigned j, int num)
 Sets the number of vertices for polygon j, facet i in the TetGen input. More...
 
void allocate_polygon_vertexlist (unsigned i, unsigned j, int numofvertices)
 Allocates memory, sets number of vertices for polygon j, facet i in the TetGen input. More...
 
void set_vertex (unsigned i, unsigned j, unsigned k, int nodeindex)
 Sets index of ith facet, jth polygon, kth vertex in the TetGen input. More...
 
void set_region (unsigned i, REAL x, REAL y, REAL z, REAL attribute, REAL vol_constraint)
 Sets coordinates, attribute, and volume constraint for region i in the TetGen input. More...
 

Public Attributes

tetgenio tetgen_data
 TetGen input structure. More...
 
std::unique_ptr< tetgenio > tetgen_output
 TetGen output structure. More...
 
tetgenmesh tetgen_mesh
 TetGen mesh structure (from the TetGen library). More...
 
tetgenbehavior tetgen_be
 TetGen control class (from the TetGen library). More...
 

Detailed Description

The TetGenWrapper provides an interface for basic access to TetGen data structures and methods.

Author
Steffen Petersen
Date
2004
Author
John W. Peterson
Date
2011

Definition at line 45 of file mesh_tetgen_wrapper.h.

Constructor & Destructor Documentation

◆ TetGenWrapper()

libMesh::TetGenWrapper::TetGenWrapper ( )

Constructor.

Definition at line 32 of file mesh_tetgen_wrapper.C.

References tetgen_data.

32  :
33  tetgen_output(std::make_unique<tetgenio>())
34 {
35  this->tetgen_data.mesh_dim = 3;
36  this->tetgen_data.numberofpointattributes = 0;
37  this->tetgen_data.firstnumber = 0;
38 }
tetgenio tetgen_data
TetGen input structure.
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.

◆ ~TetGenWrapper()

libMesh::TetGenWrapper::~TetGenWrapper ( )
default

Destructor.

Empty.

Member Function Documentation

◆ allocate_facet_polygonlist()

void libMesh::TetGenWrapper::allocate_facet_polygonlist ( unsigned  i,
int  numofpolygons 
)

Allocates memory, sets number of polygons for facet i in the TetGen input.

Definition at line 275 of file mesh_tetgen_wrapper.C.

References set_facet_numberofholes(), set_facet_numberofpolygons(), and tetgen_data.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole().

276 {
277  this->set_facet_numberofpolygons(i, numofpolygons);
278  this->set_facet_numberofholes(i, 0);
279 
280  // Don't try to create an array of size zero, this isn't portable
281  if (numofpolygons > 0)
282  {
283  // Is there previously-allocated memory here?
284  libmesh_error_msg_if(this->tetgen_data.facetlist[i].polygonlist != nullptr,
285  "Cannot allocate on top of previously allocated memory!");
286 
287  // We allocate memory here, the tetgenio destructor cleans it up.
288  this->tetgen_data.facetlist[i].polygonlist = new tetgenio::polygon[numofpolygons];
289 
290  for (int j=0; j<this->tetgen_data.facetlist[i].numberofpolygons; j++)
291  this->tetgen_data.init(&(this->tetgen_data.facetlist[i].polygonlist[j]));
292  }
293 }
void set_facet_numberofpolygons(unsigned i, int num)
Sets the number of polygons for facet i in the TetGen input.
void set_facet_numberofholes(unsigned i, int num)
Sets the number of holes for facet i in the TetGen input.
tetgenio tetgen_data
TetGen input structure.

◆ allocate_facetlist()

void libMesh::TetGenWrapper::allocate_facetlist ( int  numoffacets,
int  numofholes 
)

Allocates memory, sets number of facets, holes in the TetGen input.

Definition at line 206 of file mesh_tetgen_wrapper.C.

References set_numberoffacets(), set_numberofholes(), and tetgen_data.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole().

207 {
208  // These are both stored as ints in TetGen
209  this->set_numberoffacets(numoffacets);
210  this->set_numberofholes(numofholes);
211 
212  // Don't try to allocate an array of size zero, this is not portable...
213  if (this->tetgen_data.numberoffacets > 0)
214  {
215  // Is there previously-allocated memory here?
216  libmesh_error_msg_if(this->tetgen_data.facetlist != nullptr,
217  "Cannot allocate on top of previously allocated memory!");
218 
219  // We allocate memory here, the tetgenio destructor cleans it up.
220  this->tetgen_data.facetlist = new tetgenio::facet[this->tetgen_data.numberoffacets];
221 
222  for (int i=0; i<numoffacets; i++)
223  this->tetgen_data.init(&(this->tetgen_data.facetlist[i]));
224  }
225 
226 
227  // Don't try to allocate an array of size zero, this is not portable...
228  if (this->tetgen_data.numberofholes > 0)
229  {
230  // Is there previously-allocated memory here?
231  libmesh_error_msg_if(this->tetgen_data.holelist != nullptr,
232  "Cannot allocate on top of previously allocated memory!");
233 
234  this->tetgen_data.holelist = new REAL[this->tetgen_data.numberofholes * 3];
235  }
236 }
void set_numberoffacets(int i)
Sets the number of facets in the TetGen input.
tetgenio tetgen_data
TetGen input structure.
void set_numberofholes(int i)
Sets the number of holes in the TetGen input.

◆ allocate_pointlist()

void libMesh::TetGenWrapper::allocate_pointlist ( int  numofpoints)

Allocates memory, sets number of nodes in the TetGen input.

Definition at line 134 of file mesh_tetgen_wrapper.C.

References set_numberofpoints(), and tetgen_data.

Referenced by libMesh::TetGenMeshInterface::fill_pointlist().

135 {
136  // This is stored as an int in tetgen, so we store it that way as well.
137  this->set_numberofpoints(numofpoints);
138 
139  // Don't try to allocate an array of size zero, this is not portable...
140  if (this->tetgen_data.numberofpoints > 0)
141  {
142  // Is there previously-allocated memory here?
143  libmesh_error_msg_if(this->tetgen_data.pointlist != nullptr,
144  "Cannot allocate on top of previously allocated memory!");
145 
146  // We allocate memory here, the tetgenio destructor will delete it.
147  this->tetgen_data.pointlist = new REAL[this->tetgen_data.numberofpoints * 3];
148  }
149 }
void set_numberofpoints(int i)
Sets the number of nodes in the TetGen input.
tetgenio tetgen_data
TetGen input structure.

◆ allocate_polygon_vertexlist()

void libMesh::TetGenWrapper::allocate_polygon_vertexlist ( unsigned  i,
unsigned  j,
int  numofvertices 
)

Allocates memory, sets number of vertices for polygon j, facet i in the TetGen input.

Definition at line 305 of file mesh_tetgen_wrapper.C.

References set_polygon_numberofvertices(), and tetgen_data.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole().

306 {
307  this->set_polygon_numberofvertices(i, j, numofvertices);
308 
309  // Don't try to create an array of size zero, this isn't portable
310  if (numofvertices > 0)
311  {
312  // Is there previously-allocated memory here?
313  libmesh_error_msg_if(this->tetgen_data.facetlist[i].polygonlist[j].vertexlist != nullptr,
314  "Cannot allocate on top of previously allocated memory!");
315 
316  // We allocate memory here, the tetgenio destructor cleans it up.
317  this->tetgen_data.facetlist[i].polygonlist[j].vertexlist = new int[numofvertices];
318  }
319 }
void set_polygon_numberofvertices(unsigned i, unsigned j, int num)
Sets the number of vertices for polygon j, facet i in the TetGen input.
tetgenio tetgen_data
TetGen input structure.

◆ allocate_regionlist()

void libMesh::TetGenWrapper::allocate_regionlist ( int  numofregions)

Allocates memory, sets number of regions in the TetGen input.

Definition at line 240 of file mesh_tetgen_wrapper.C.

References set_numberofregions(), and tetgen_data.

241 {
242  this->set_numberofregions(numofregions);
243 
244  // Don't try to allocate an array of size zero, this is not portable...
245  if (this->tetgen_data.numberofregions > 0)
246  {
247  // Is there previously-allocated memory here?
248  libmesh_error_msg_if(this->tetgen_data.regionlist != nullptr,
249  "Cannot allocate on top of previously allocated memory!");
250 
251  // We allocate memory here, the tetgenio destructor cleans it up.
252  this->tetgen_data.regionlist = new REAL[this->tetgen_data.numberofregions * 5];
253  }
254 }
void set_numberofregions(int i)
Sets the number of regions in the TetGen input.
tetgenio tetgen_data
TetGen input structure.

◆ get_element_attribute()

REAL libMesh::TetGenWrapper::get_element_attribute ( unsigned  i)
Returns
The attribute of element i in the TetGen output.

Definition at line 126 of file mesh_tetgen_wrapper.C.

References libMesh::libmesh_assert(), and tetgen_output.

127 {
128  libmesh_assert(tetgen_output->numberoftetrahedronattributes>0);
129  return tetgen_output->tetrahedronattributelist[tetgen_output->numberoftetrahedronattributes*i];
130 }
libmesh_assert(ctx)
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.

◆ get_element_node()

int libMesh::TetGenWrapper::get_element_node ( unsigned  i,
unsigned  j 
)
Returns
The index of jth node from element i in the TetGen output.

Definition at line 112 of file mesh_tetgen_wrapper.C.

References tetgen_output.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), and libMesh::TetGenMeshInterface::triangulate_pointset().

113 {
114  return tetgen_output->tetrahedronlist[i*4+j];
115 }
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.

◆ get_numberofpoints()

int libMesh::TetGenWrapper::get_numberofpoints ( )
Returns
Number of nodes in the TetGen output.

Definition at line 105 of file mesh_tetgen_wrapper.C.

References tetgen_output.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole().

106 {
107  return tetgen_output->numberofpoints;
108 }
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.

◆ get_numberoftetrahedra()

int libMesh::TetGenWrapper::get_numberoftetrahedra ( )
Returns
Number of tetrahedra in the TetGen output.

Definition at line 91 of file mesh_tetgen_wrapper.C.

References tetgen_output.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), and libMesh::TetGenMeshInterface::triangulate_pointset().

92 {
93  return tetgen_output->numberoftetrahedra;
94 }
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.

◆ get_numberoftrifaces()

int libMesh::TetGenWrapper::get_numberoftrifaces ( )
Returns
Number of triangle surface elements in the TetGen output.

Definition at line 98 of file mesh_tetgen_wrapper.C.

References tetgen_output.

Referenced by libMesh::TetGenMeshInterface::pointset_convexhull().

99 {
100  return tetgen_output->numberoftrifaces;
101 }
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.

◆ get_output_node()

void libMesh::TetGenWrapper::get_output_node ( unsigned  i,
REAL &  x,
REAL &  y,
REAL &  z 
)
Returns
The coordinates of point i in the TetGen output.

Definition at line 74 of file mesh_tetgen_wrapper.C.

References tetgen_output.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole().

75 {
76  // Bounds checking...
77  libmesh_error_msg_if(i >= static_cast<unsigned>(tetgen_output->numberofpoints),
78  "Error, requested point "
79  << i
80  << ", but there are only "
81  << tetgen_output->numberofpoints
82  << " points available.");
83 
84  x = tetgen_output->pointlist[3*i];
85  y = tetgen_output->pointlist[3*i+1];
86  z = tetgen_output->pointlist[3*i+2];
87 }
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.

◆ get_triface_node()

int libMesh::TetGenWrapper::get_triface_node ( unsigned  i,
unsigned  j 
)
Returns
The index of the jth node from surface triangle i in the TetGen output.

Definition at line 119 of file mesh_tetgen_wrapper.C.

References tetgen_output.

Referenced by libMesh::TetGenMeshInterface::pointset_convexhull().

120 {
121  return tetgen_output->trifacelist[i*3+j];
122 }
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.

◆ run_tetgen()

void libMesh::TetGenWrapper::run_tetgen ( )

Starts the triangulation.

Definition at line 174 of file mesh_tetgen_wrapper.C.

References tetgen_be, tetgen_data, and tetgen_output.

Referenced by libMesh::TetGenMeshInterface::pointset_convexhull(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), and libMesh::TetGenMeshInterface::triangulate_pointset().

175 {
176  // Call tetrahedralize from the TetGen library.
177  tetrahedralize(&tetgen_be, &tetgen_data, tetgen_output.get());
178 }
tetgenio tetgen_data
TetGen input structure.
std::unique_ptr< tetgenio > tetgen_output
TetGen output structure.
tetgenbehavior tetgen_be
TetGen control class (from the TetGen library).

◆ set_facet_numberofholes()

void libMesh::TetGenWrapper::set_facet_numberofholes ( unsigned  i,
int  num 
)

Sets the number of holes for facet i in the TetGen input.

Definition at line 266 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by allocate_facet_polygonlist().

267 {
268  // numberofholes is stored as an int in TetGen
269  this->tetgen_data.facetlist[i].numberofholes = num;
270 }
tetgenio tetgen_data
TetGen input structure.

◆ set_facet_numberofpolygons()

void libMesh::TetGenWrapper::set_facet_numberofpolygons ( unsigned  i,
int  num 
)

Sets the number of polygons for facet i in the TetGen input.

Definition at line 258 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by allocate_facet_polygonlist().

259 {
260  // numberofpolygons is stored as an int in TetGen
261  this->tetgen_data.facetlist[i].numberofpolygons = num;
262 }
tetgenio tetgen_data
TetGen input structure.

◆ set_hole()

void libMesh::TetGenWrapper::set_hole ( unsigned  i,
REAL  x,
REAL  y,
REAL  z 
)

Sets coordinates of hole i in the TetGen input.

Definition at line 56 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole().

57 {
58  unsigned index = i*3;
59  tetgen_data.holelist[index++] = x;
60  tetgen_data.holelist[index++] = y;
61  tetgen_data.holelist[index++] = z;
62 }
tetgenio tetgen_data
TetGen input structure.

◆ set_node()

void libMesh::TetGenWrapper::set_node ( unsigned  i,
REAL  x,
REAL  y,
REAL  z 
)

Sets coordinates of point i in the TetGen input.

Definition at line 46 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by libMesh::TetGenMeshInterface::fill_pointlist().

47 {
48  unsigned index = i*3;
49  tetgen_data.pointlist[index++] = x;
50  tetgen_data.pointlist[index++] = y;
51  tetgen_data.pointlist[index++] = z;
52 }
tetgenio tetgen_data
TetGen input structure.

◆ set_numberoffacets()

void libMesh::TetGenWrapper::set_numberoffacets ( int  i)

Sets the number of facets in the TetGen input.

Definition at line 182 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by allocate_facetlist().

183 {
184  // This is stored as an int in TetGen
185  this->tetgen_data.numberoffacets = i;
186 }
tetgenio tetgen_data
TetGen input structure.

◆ set_numberofholes()

void libMesh::TetGenWrapper::set_numberofholes ( int  i)

Sets the number of holes in the TetGen input.

Definition at line 190 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by allocate_facetlist().

191 {
192  // This is stored as an int in TetGen
193  this->tetgen_data.numberofholes = i;
194 }
tetgenio tetgen_data
TetGen input structure.

◆ set_numberofpoints()

void libMesh::TetGenWrapper::set_numberofpoints ( int  i)

Sets the number of nodes in the TetGen input.

Definition at line 66 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by allocate_pointlist().

67 {
68  // This is an int in tetgen, so use an int here even though it should be unsigned
69  tetgen_data.numberofpoints = i;
70 }
tetgenio tetgen_data
TetGen input structure.

◆ set_numberofregions()

void libMesh::TetGenWrapper::set_numberofregions ( int  i)

Sets the number of regions in the TetGen input.

Definition at line 198 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by allocate_regionlist().

199 {
200  // This is stored as an int in TetGen
201  this->tetgen_data.numberofregions = i;
202 }
tetgenio tetgen_data
TetGen input structure.

◆ set_polygon_numberofvertices()

void libMesh::TetGenWrapper::set_polygon_numberofvertices ( unsigned  i,
unsigned  j,
int  num 
)

Sets the number of vertices for polygon j, facet i in the TetGen input.

Definition at line 297 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by allocate_polygon_vertexlist().

298 {
299  // numberofvertices is stored as an int in TetGen
300  this->tetgen_data.facetlist[i].polygonlist[j].numberofvertices = num;
301 }
tetgenio tetgen_data
TetGen input structure.

◆ set_region()

void libMesh::TetGenWrapper::set_region ( unsigned  i,
REAL  x,
REAL  y,
REAL  z,
REAL  attribute,
REAL  vol_constraint 
)

Sets coordinates, attribute, and volume constraint for region i in the TetGen input.

Note
Coordinates and attributes will only be considered if the corresponding switches are enabled. See TetGen documentation for more details.

Definition at line 332 of file mesh_tetgen_wrapper.C.

References tetgen_data.

334 {
335  unsigned index = i*5;
336  tetgen_data.regionlist[index++] = x;
337  tetgen_data.regionlist[index++] = y;
338  tetgen_data.regionlist[index++] = z;
339  tetgen_data.regionlist[index++] = attribute;
340  tetgen_data.regionlist[index++] = vol_constraint;
341 }
tetgenio tetgen_data
TetGen input structure.

◆ set_switches()

void libMesh::TetGenWrapper::set_switches ( std::string_view  s)

Method to set TetGen commandline switches -p Tetrahedralizes a piecewise linear complex (.poly or .smesh file).

-q Quality mesh generation. A minimum radius-edge ratio may be specified (default 2.0). -a Applies a maximum tetrahedron volume constraint. -A Assigns attributes to identify tetrahedra in certain regions. -r Reconstructs and Refines a previously generated mesh. -Y Suppresses boundary facets/segments splitting. -i Inserts a list of additional points into mesh. -M Does not merge coplanar facets. -T Set a tolerance for coplanar test (default 1e-8). -d Detect intersections of PLC facets. -z Numbers all output items starting from zero. -o2 Generates second-order subparametric elements. -f Outputs faces (including non-boundary faces) to .face file. -e Outputs subsegments to .edge file. -n Outputs tetrahedra neighbors to .neigh file. -g Outputs mesh to .mesh file for viewing by Medit. -G Outputs mesh to .msh file for viewing by Gid. -O Outputs mesh to .off file for viewing by Geomview. -J No jettison of unused vertices from output .node file. -B Suppresses output of boundary information. -N Suppresses output of .node file. -E Suppresses output of .ele file. -F Suppresses output of .face file. -I Suppresses mesh iteration numbers. -C Checks the consistency of the final mesh. -Q Quiet: No terminal output except errors. -V Verbose: Detailed information, more terminal output. -v Prints the version information. -h Help: A brief instruction for using TetGen.

Definition at line 153 of file mesh_tetgen_wrapper.C.

References libMesh::out, and tetgen_be.

Referenced by libMesh::TetGenMeshInterface::pointset_convexhull(), libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole(), and libMesh::TetGenMeshInterface::triangulate_pointset().

154 {
155  // A temporary buffer for passing to the C API, it requires
156  // a char *, not a const char *...
157  char buffer[256];
158 
159  // Make sure char buffer has enough room
160  libmesh_error_msg_if(s.size() >= sizeof(buffer)-1,
161  "Fixed size buffer of length "
162  << sizeof(buffer)
163  << " not large enough to hold TetGen switches.");
164 
165  // Copy the string, don't forget to terminate!
166  buffer[ s.copy( buffer , sizeof( buffer ) - 1 ) ] = '\0' ;
167 
168  if (!tetgen_be.parse_commandline(buffer))
169  libMesh::out << "TetGen replies: Wrong switches!" << std::endl;
170 }
OStreamProxy out
tetgenbehavior tetgen_be
TetGen control class (from the TetGen library).

◆ set_vertex()

void libMesh::TetGenWrapper::set_vertex ( unsigned  i,
unsigned  j,
unsigned  k,
int  nodeindex 
)

Sets index of ith facet, jth polygon, kth vertex in the TetGen input.

Definition at line 324 of file mesh_tetgen_wrapper.C.

References tetgen_data.

Referenced by libMesh::TetGenMeshInterface::triangulate_conformingDelaunayMesh_carvehole().

325 {
326  // vertexlist entries are stored as ints in TetGen
327  this->tetgen_data.facetlist[i].polygonlist[j].vertexlist[k] = nodeindex;
328 }
tetgenio tetgen_data
TetGen input structure.

Member Data Documentation

◆ tetgen_be

tetgenbehavior libMesh::TetGenWrapper::tetgen_be

TetGen control class (from the TetGen library).

Definition at line 240 of file mesh_tetgen_wrapper.h.

Referenced by run_tetgen(), and set_switches().

◆ tetgen_data

tetgenio libMesh::TetGenWrapper::tetgen_data

◆ tetgen_mesh

tetgenmesh libMesh::TetGenWrapper::tetgen_mesh

TetGen mesh structure (from the TetGen library).

Definition at line 235 of file mesh_tetgen_wrapper.h.

◆ tetgen_output

std::unique_ptr<tetgenio> libMesh::TetGenWrapper::tetgen_output

The documentation for this class was generated from the following files: