Go to the documentation of this file.
19 #ifndef LIBMESH_MESH_TRIANGLE_INTERFACE_H
20 #define LIBMESH_MESH_TRIANGLE_INTERFACE_H
23 #include "libmesh/libmesh_config.h"
25 #ifdef LIBMESH_HAVE_TRIANGLE
28 #include "libmesh/libmesh.h"
29 #include "libmesh/mesh_serializer.h"
31 #ifdef LIBMESH_FORWARD_DECLARE_ENUMS
37 #include "libmesh/enum_elem_type.h"
48 class UnstructuredMesh;
187 std::vector<std::pair<unsigned int, unsigned int>>
segments;
281 #endif // LIBMESH_HAVE_TRIANGLE
283 #endif // ifndef LIBMESH_MESH_TRIANGLE_INTERFACE_H
Real _minimum_angle
Minimum angle in triangles.
const std::vector< Hole * > * _holes
A pointer to a vector of Hole*s.
std::vector< std::pair< unsigned int, unsigned int > > segments
When constructing a PSLG, it is often not possible to do so implicitly through the ordering of the po...
MeshSerializer _serializer
Triangle only operates on serial meshes.
const std::vector< int > * _markers
Boundary markers.
std::string & extra_flags()
Sets and/or gets additional flags to be passed to triangle.
The libMesh namespace provides an interface to certain functionality in the library.
TriangulationType & triangulation_type()
Sets and/or gets the desired triangulation type.
bool _smooth_after_generating
Flag which tells whether we should smooth the mesh after it is generated.
bool & insert_extra_points()
Sets and/or gets the flag for inserting add'l points.
ElemType _elem_type
The type of elements to generate.
Temporarily serialize a DistributedMesh for output; a distributed mesh is allgathered by the MeshSeri...
~TriangleInterface()
Empty destructor.
TriangleInterface(UnstructuredMesh &mesh)
The constructor.
ElemType & elem_type()
Sets and/or gets the desired element type.
Real _desired_area
The desired area for the elements in the resulting mesh.
Uses the triangle library to first generate a convex hull from the set of points passed in,...
bool _quiet
Flag which tells if we want to suppress Triangle outputs.
bool & smooth_after_generating()
Sets/gets flag which tells whether to do Delaunay mesh smoothing after generating the grid.
void attach_hole_list(const std::vector< Hole * > *holes)
Attaches a vector of Hole* pointers which will be meshed around.
Does nothing, used as a default value.
The UnstructuredMesh class is derived from the MeshBase class.
void attach_region_list(const std::vector< Region * > *regions)
Attaches regions for using attribute to set subdomain IDs and better controlling the triangle sizes w...
void attach_boundary_marker(const std::vector< int > *markers)
Attaches boundary markers.
Real & desired_area()
Sets and/or gets the desired triangle area.
Real & minimum_angle()
Sets and/or gets the minimum angle.
UnstructuredMesh & _mesh
Reference to the mesh which is to be created by triangle.
std::string _extra_flags
Additional flags to be passed to triangle.
A C++ interface between LibMesh and the Triangle library written by J.R.
Use the triangle library to triangulate a Planar Straight Line Graph which is defined implicitly by t...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
bool & quiet()
Whether or not to make Triangle quiet.
const std::vector< Region * > * _regions
A pointer to a vector of Regions*s.
bool _insert_extra_points
Flag which tells whether or not to insert additional nodes before triangulation.
TriangulationType _triangulation_type
The type of triangulation to perform: choices are: convex hull PSLG.
void triangulate()
This is the main public interface for this function.
void ErrorVector unsigned int
TriangulationType
The TriangulationType is used with the general triangulate function defined below.
ElemType
Defines an enum for geometric element types.