DOLFIN
DOLFIN C++ interface
BoundaryComputation.h
1 // Copyright (C) 2006-2013 Anders Logg and Garth N. Wells
2 //
3 // This file is part of DOLFIN.
4 //
5 // DOLFIN is free software: you can redistribute it and/or modify
6 // it under the terms of the GNU Lesser General Public License as published by
7 // the Free Software Foundation, either version 3 of the License, or
8 // (at your option) any later version.
9 //
10 // DOLFIN is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 // GNU Lesser General Public License for more details.
14 //
15 // You should have received a copy of the GNU Lesser General Public License
16 // along with DOLFIN. If not, see <http://www.gnu.org/licenses/>.
17 //
18 // Modified by Niclas Jansson 2009.
19 //
20 
21 #ifndef __BOUNDARY_COMPUTATION_H
22 #define __BOUNDARY_COMPUTATION_H
23 
24 #include <string>
25 #include <vector>
26 
27 namespace dolfin
28 {
29 
30  class BoundaryMesh;
31  class Facet;
32  class Mesh;
33  template <typename T> class MeshFunction;
34 
36 
38  {
39  public:
40 
45  static void compute_boundary(const Mesh& mesh, const std::string type,
46  BoundaryMesh& boundary);
47 
48  private:
49 
50  // Reorder vertices so facet is right-oriented w.r.t. facet normal
51  static void reorder(std::vector<std::size_t>& vertices, const Facet& facet);
52 
53  };
54 
55 }
56 
57 #endif
Definition: adapt.h:29
static void compute_boundary(const Mesh &mesh, const std::string type, BoundaryMesh &boundary)
Definition: BoundaryComputation.cpp:43
A Facet is a MeshEntity of topological codimension 1.
Definition: Facet.h:39
Provide a set of basic algorithms for the computation of boundaries.
Definition: BoundaryComputation.h:37
Definition: BoundaryMesh.h:39
Definition: Mesh.h:82