2
2
// Licensed under the GNU LGPL Version 2.1.
4
4
// First added: 2006-06-21
5
// Last changed: 2008-05-02
5
// Last changed: 2008-05-28
7
7
#ifndef __BOUNDARY_COMPUTATION_H
8
8
#define __BOUNDARY_COMPUTATION_H
27
27
/// Compute the boundary of a given mesh
28
28
static void computeBoundary(Mesh& mesh, BoundaryMesh& boundary);
30
/// Compute the boundary of a given mesh, including a mapping from
31
/// the vertices of the boundary to the corresponding mesh
32
/// entities in the original mesh
33
static void computeBoundary(Mesh& mesh, BoundaryMesh& boundary,
34
MeshFunction<uint>& vertex_map);
36
/// Compute the boundary of a given mesh, including a pair of mappings
37
/// from the vertices and cells of the boundary to the corresponding
38
/// mesh entities in the original mesh
39
static void computeBoundary(Mesh& mesh, BoundaryMesh& boundary,
40
MeshFunction<uint>& vertex_map,
41
MeshFunction<uint>& cell_map);
45
/// Compute boundary and optionally the mappings if requested
46
static void computeBoundaryCommon(Mesh& mesh, BoundaryMesh& boundary,
47
MeshFunction<uint>* vertex_map,
48
MeshFunction<uint>* cell_map);
50
32
/// Reorder vertices so facet is right-oriented w.r.t. facet normal
51
33
static void reorder(Array<uint>& vertices, Facet& facet);