Classes | |
| struct | XYDelaunayOptions |
| Bundle of inputs for triangulateWithDelaunay. More... | |
Functions | |
| std::set< std::size_t > | outerBoundaryIds (MeshGenerator &mg, MeshBase &boundary_mesh, const XYDelaunayOptions &opts) |
| Resolves the outer-boundary selection of the options into the set of ids that define it: the ids of 'input_boundary_names' or of 'input_subdomain_names' in the boundary mesh. | |
| std::unique_ptr< MeshBase > | triangulateWithDelaunay (MeshGenerator &mg, std::unique_ptr< MeshBase > boundary_mesh, std::vector< std::unique_ptr< MeshBase > > hole_meshes, const XYDelaunayOptions &xyd_opts) |
| Performs a 2D Delaunay triangulation (via libMesh::Poly2TriTriangulator) inside a closed boundary mesh with optional holes, optionally stitches the resulting triangulation to each hole mesh that requests it, and applies subdomain / boundary renumbering. | |
| void | finalizeTriangulation (MeshGenerator &mg, UnstructuredMesh &mesh, std::vector< std::unique_ptr< MeshBase > > &holes, const std::vector< bool > &holes_with_midpoints, const XYDelaunayOptions &opts) |
| Performs the subdomain and boundary naming, the boundary id remapping (outer boundary to 0 and hole i to i + 1), and the hole stitching on a mesh that has already been triangulated. | |
| void MeshTriangulationUtils::finalizeTriangulation | ( | MeshGenerator & | mg, |
| UnstructuredMesh & | mesh, | ||
| std::vector< std::unique_ptr< MeshBase > > & | holes, | ||
| const std::vector< bool > & | holes_with_midpoints, | ||
| const XYDelaunayOptions & | opts | ||
| ) |
Performs the subdomain and boundary naming, the boundary id remapping (outer boundary to 0 and hole i to i + 1), and the hole stitching on a mesh that has already been triangulated.
This is shared by the Poly2Tri-backed and the frontal triangulators.
| mg | The calling mesh generator (used for paramError reporting) |
| mesh | The triangulated mesh, modified in place |
| holes | The hole meshes used by the triangulation (empty vector if no holes) |
| holes_with_midpoints | Whether the boundary of each hole carries midpoints, as reported by the libMesh MeshedHole built from that hole before the triangulation |
| opts | Triangulation options (see XYDelaunayOptions) |
Definition at line 186 of file MeshTriangulationUtils.C.
Referenced by triangulateWithDelaunay().
| std::set< std::size_t > MeshTriangulationUtils::outerBoundaryIds | ( | MeshGenerator & | mg, |
| MeshBase & | boundary_mesh, | ||
| const XYDelaunayOptions & | opts | ||
| ) |
Resolves the outer-boundary selection of the options into the set of ids that define it: the ids of 'input_boundary_names' or of 'input_subdomain_names' in the boundary mesh.
This is shared by the Poly2Tri-backed and the frontal triangulators, so that both select the outer boundary the same way.
| mg | The calling mesh generator (used for paramError reporting) |
| boundary_mesh | The mesh the names are resolved against |
| opts | Triangulation options carrying the names (see XYDelaunayOptions) |
Definition at line 29 of file MeshTriangulationUtils.C.
Referenced by XYFrontalDelaunayGenerator::generate(), and triangulateWithDelaunay().
| std::unique_ptr< MeshBase > MeshTriangulationUtils::triangulateWithDelaunay | ( | MeshGenerator & | mg, |
| std::unique_ptr< MeshBase > | boundary_mesh, | ||
| std::vector< std::unique_ptr< MeshBase > > | hole_meshes, | ||
| const XYDelaunayOptions & | xyd_opts | ||
| ) |
Performs a 2D Delaunay triangulation (via libMesh::Poly2TriTriangulator) inside a closed boundary mesh with optional holes, optionally stitches the resulting triangulation to each hole mesh that requests it, and applies subdomain / boundary renumbering.
This is the core algorithm shared by XYDelaunayGenerator and XYTriangleBoundaryLayerGenerator.
| mg | The calling mesh generator (used for paramError reporting and communicator) |
| boundary_mesh | The closed-loop boundary mesh |
| hole_meshes | Optional hole meshes (one mesh per hole; empty vector if no holes) |
| xyd_opts | Triangulation options (see XYDelaunayOptions) |
Definition at line 78 of file MeshTriangulationUtils.C.
Referenced by XYFrontalDelaunayGenerator::buildBackgroundMesh(), BoundaryLayerUtils::buildBoundaryLayerRing(), and XYDelaunayGenerator::generate().