19 #ifndef LIBMESH_MESH_TET_INTERFACE_H 20 #define LIBMESH_MESH_TET_INTERFACE_H 22 #include "libmesh/libmesh_config.h" 25 #include "libmesh/bounding_box.h" 26 #include "libmesh/enum_elem_type.h" 27 #include "libmesh/point.h" 39 class UnstructuredMesh;
88 void attach_hole_list(std::unique_ptr<std::vector<std::unique_ptr<UnstructuredMesh>>> holes);
160 std::unique_ptr<std::vector<std::unique_ptr<UnstructuredMesh>>>
_holes;
165 #endif // LIBMESH_MESH_TET_INTERFACE_H ElemType
Defines an enum for geometric element types.
ElemType _elem_type
The exact type of tetrahedra we intend to construct.
std::unique_ptr< std::vector< std::unique_ptr< UnstructuredMesh > > > _holes
A pointer to a vector of meshes each defining a hole.
Real & desired_volume()
Sets and/or gets the desired tetrahedron volume.
unsigned check_hull_integrity()
This function checks the integrity of the current set of elements in the Mesh to see if they comprise...
The libMesh namespace provides an interface to certain functionality in the library.
MeshTetInterface(UnstructuredMesh &mesh)
Constructor.
ElemType & elem_type()
Sets and/or gets the desired element type.
The UnstructuredMesh class is derived from the MeshBase class.
virtual ~MeshTetInterface()
Default destructor in base class.
static BoundingBox volume_to_surface_mesh(UnstructuredMesh &mesh)
Remove volume elements from the given mesh, after converting their outer boundary faces to surface el...
void attach_hole_list(std::unique_ptr< std::vector< std::unique_ptr< UnstructuredMesh >>> holes)
Attaches a vector of Mesh pointers defining holes which will be meshed around.
Defines a Cartesian bounding box by the two corner extremum.
Real _desired_volume
The desired volume for the elements in the resulting mesh.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
void process_hull_integrity_result(unsigned result)
This function prints an informative message and crashes based on the output of the check_hull_integri...
virtual void triangulate()=0
This is the main public interface for this function.
bool & smooth_after_generating()
Sets/gets flag which tells whether to do two steps of Laplace mesh smoothing after generating the gri...
UnstructuredMesh & _mesh
Local reference to the mesh we are working with.
void delete_2D_hull_elements()
Delete original convex hull elements from the Mesh after performing a Delaunay tetrahedralization.
bool _smooth_after_generating
Flag which tells whether we should smooth the mesh after it is generated.
Class MeshTetInterface provides an abstract interface for tetrahedralization of meshes by subclasses...