Rheolef  7.1
an efficient C++ finite element environment
band.h
Go to the documentation of this file.
1 #ifndef _RHEOLEF_BAND_H
2 #define _RHEOLEF_BAND_H
3 //
4 // This file is part of Rheolef.
5 //
6 // Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
7 //
8 // Rheolef is free software; you can redistribute it and/or modify
9 // it under the terms of the GNU General Public License as published by
10 // the Free Software Foundation; either version 2 of the License, or
11 // (at your option) any later version.
12 //
13 // Rheolef is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 // GNU General Public License for more details.
17 //
18 // You should have received a copy of the GNU General Public License
19 // along with Rheolef; if not, write to the Free Software
20 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21 //
22 // =========================================================================
23 
24 namespace rheolef {
87 } // namespace rheolef
88 
89 #include "rheolef/field.h"
90 #include "rheolef/level_set.h"
91 
92 namespace rheolef {
93 // [verbatim_band_basic]
94 template <class T, class M = rheo_default_memory_model>
95 class band_basic {
96 public:
97 
99 
100 // allocators:
101 
103  band_basic(const field_basic<T,M>& fh,
104  const level_set_option& opt = level_set_option());
105 
106 // accessors:
107 
108  const geo_basic<T,M>& band() const { return _band; }
109  const geo_basic<T,M>& level_set() const { return _gamma; }
110  size_type sid_ie2bnd_ie (size_type sid_ie) const { return _sid_ie2bnd_ie [sid_ie]; }
112 // [verbatim_band_basic]
113 
114 // data:
115 protected:
120 // [verbatim_band_basic_cont]
121 };
122 // [verbatim_band_basic_cont]
123 
124 // [verbatim_band]
125 typedef band_basic<Float> band;
126 // [verbatim_band]
127 
128 // ----------------------------------------------------------------------------
129 // inlined
130 // ----------------------------------------------------------------------------
131 template<class T, class M>
132 inline
134  : _gamma(),
135  _band(),
136  _sid_ie2bnd_ie(),
137  _ncc(0)
138 {
139 }
140 
141 } // namespace
142 #endif // _RHEOLEF_BAND_H
geo_basic< T, M > _gamma
Definition: band.h:116
size_type sid_ie2bnd_ie(size_type sid_ie) const
Definition: band.h:110
size_type n_connected_component() const
Definition: band.h:111
geo_basic< T, M > _band
Definition: band.h:117
disarray< size_type, M > _sid_ie2bnd_ie
Definition: band.h:118
size_type _ncc
Definition: band.h:119
const geo_basic< T, M > & level_set() const
Definition: band.h:109
geo_basic< T, M >::size_type size_type
Definition: band.h:98
const geo_basic< T, M > & band() const
Definition: band.h:108
generic mesh with rerefence counting
Definition: geo.h:1089
band_basic< Float > band
Definition: band.h:125
This file is part of Rheolef.