DOLFIN
DOLFIN C++ interface
BoundaryMesh.h
1 // Copyright (C) 2006-2012 Anders Logg
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 // Modified by Joachim B Haga 2012.
20 //
21 // First added: 2006-06-21
22 // Last changed: 2012-10-30
23 
24 #ifndef __BOUNDARY_MESH_H
25 #define __BOUNDARY_MESH_H
26 
27 #include <string>
28 #include "MeshFunction.h"
29 #include "Mesh.h"
30 
31 namespace dolfin
32 {
33 
38 
39  class BoundaryMesh : public Mesh
40  {
41  public:
42 
60  BoundaryMesh(const Mesh& mesh, std::string type, bool order=true);
61 
63  ~BoundaryMesh();
64 
67  MeshFunction<std::size_t>& entity_map(std::size_t d);
68 
71  const MeshFunction<std::size_t>& entity_map(std::size_t d) const;
72 
73  private:
74 
75  BoundaryMesh() {}
76 
77  MeshFunction<std::size_t> _cell_map;
78 
79  MeshFunction<std::size_t> _vertex_map;
80 
81  };
82 
83 }
84 
85 #endif
~BoundaryMesh()
Destructor.
Definition: BoundaryMesh.cpp:52
Definition: adapt.h:29
MeshFunction< std::size_t > & entity_map(std::size_t d)
Definition: BoundaryMesh.cpp:57
CellType & type()
Definition: Mesh.h:283
void order()
Definition: Mesh.cpp:247
Definition: BoundaryMesh.h:39
Definition: Mesh.h:82