19#ifndef LIBMESH_MESH_TETGEN_INTERFACE_H
20#define LIBMESH_MESH_TETGEN_INTERFACE_H
22#include "libmesh/libmesh_config.h"
23#ifdef LIBMESH_HAVE_TETGEN
27#include "libmesh/mesh_serializer.h"
28#include "libmesh/mesh_tet_interface.h"
29#include "libmesh/point.h"
40class UnstructuredMesh;
98 double volume_constraint=0.);
106 double quality_constraint=0.,
107 double volume_constraint=0.);
This is the base class from which all geometric element types are derived.
Temporarily serialize a DistributedMesh for non-distributed-mesh capable code paths.
Class MeshTetInterface provides an abstract interface for tetrahedralization of meshes by subclasses.
Class TetGenMeshInterface provides an interface for tetrahedralization of meshes using the TetGen lib...
std::vector< unsigned > _sequential_to_libmesh_node_map
We should not assume libmesh nodes are numbered sequentially... This is not the default behavior of D...
void triangulate_pointset()
Method invokes TetGen library to compute a Delaunay tetrahedralization from the nodes point set.
virtual ~TetGenMeshInterface() override=default
Empty destructor.
void triangulate_conformingDelaunayMesh_carvehole(const std::vector< Point > &holes, double quality_constraint=0., double volume_constraint=0.)
Method invokes TetGen library to compute a Delaunay tetrahedralization from the nodes point set.
virtual void triangulate() override
Method invokes TetGen library to compute a Delaunay tetrahedralization.
void pointset_convexhull()
Method invokes TetGen library to compute a Delaunay tetrahedralization from the nodes point set.
void set_switches(std::string new_switches)
Method to set switches to tetgen, allowing for different behaviours.
void triangulate_conformingDelaunayMesh(double quality_constraint=0., double volume_constraint=0.)
Method invokes TetGen library to compute a Delaunay tetrahedralization from the nodes point set.
void fill_pointlist(TetGenWrapper &wrapper)
This function copies nodes from the _mesh into TetGen's pointlist.
void assign_nodes_to_elem(unsigned *node_labels, Elem *elem)
Assigns the node IDs contained in the 'node_labels' array to 'elem'.
std::string _switches
Parameter controlling the behaviour of tetgen.
MeshSerializer _serializer
Tetgen only operates on serial meshes.
The TetGenWrapper provides an interface for basic access to TetGen data structures and methods.
The UnstructuredMesh class is derived from the MeshBase class.
The libMesh namespace provides an interface to certain functionality in the library.