band.h
Go to the documentation of this file.
#ifndef _RHEOLEF_BAND_H
#define _RHEOLEF_BAND_H
//
// This file is part of Rheolef.
//
// Copyright (C) 2000-2009 Pierre Saramito <Pierre.Saramito@imag.fr>
//
// Rheolef is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// Rheolef is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Rheolef; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// =========================================================================
namespace rheolef {
} // namespace rheolef
#include "rheolef/field.h"
#include "rheolef/level_set.h"
namespace rheolef {
// [verbatim_band_basic]
template <class T, class M = rheo_default_memory_model>
class band_basic {
public:
typedef typename geo_basic<T,M>::size_type size_type;
// allocators:
band_basic();
band_basic(const field_basic<T,M>& fh,
const level_set_option& opt = level_set_option());
// accessors:
const geo_basic<T,M>& band() const { return _band; }
const geo_basic<T,M>& level_set() const { return _gamma; }
size_type sid_ie2bnd_ie (size_type sid_ie) const { return _sid_ie2bnd_ie [sid_ie]; }
size_type n_connected_component() const { return _ncc; }
// [verbatim_band_basic]
// data:
protected:
geo_basic<T,M> _gamma;
geo_basic<T,M> _band;
disarray<size_type,M> _sid_ie2bnd_ie;
size_type _ncc;
// [verbatim_band_basic_cont]
};
// [verbatim_band_basic_cont]
// [verbatim_band]
typedef band_basic<Float> band;
// [verbatim_band]
// ----------------------------------------------------------------------------
// inlined
// ----------------------------------------------------------------------------
template<class T, class M>
inline
band_basic<T,M>::band_basic ()
: _gamma(),
_band(),
_sid_ie2bnd_ie(),
_ncc(0)
{
}
} // namespace
#endif // _RHEOLEF_BAND_H
rheolef::geo_basic
generic mesh with rerefence counting
Definition: domain_indirect.h:64
rheolef::band_basic::level_set
const geo_basic< T, M > & level_set() const
Definition: band.h:109
rheolef::band_basic::_ncc
size_type _ncc
Definition: band.h:119
rheolef::band_basic::band_basic
band_basic()
Definition: band.h:133
rheolef::level_set_option
Definition: level_set.h:66
rheolef::band_basic::size_type
geo_basic< T, M >::size_type size_type
Definition: band.h:98
rheolef::band_basic::band
const geo_basic< T, M > & band() const
Definition: band.h:108
rheolef::field_basic
Definition: field_expr_utilities.h:38
rheolef::band_basic::_band
geo_basic< T, M > _band
Definition: band.h:117
rheolef::band_basic::_gamma
geo_basic< T, M > _gamma
Definition: band.h:116
rheolef::band_basic
Definition: band.h:95
rheolef
This file is part of Rheolef.
Definition: compiler_eigen.h:37
rheolef::disarray< size_type, M >
rheolef::band_basic::sid_ie2bnd_ie
size_type sid_ie2bnd_ie(size_type sid_ie) const
Definition: band.h:110
rheolef::band_basic::_sid_ie2bnd_ie
disarray< size_type, M > _sid_ie2bnd_ie
Definition: band.h:118
rheolef::band
band_basic< Float > band
Definition: band.h:125
rheolef::band_basic::n_connected_component
size_type n_connected_component() const
Definition: band.h:111