1#ifndef _RHEOLEF_GEO_DOMAIN_H
2#define _RHEOLEF_GEO_DOMAIN_H
44#include "rheolef/geo.h"
45#include "rheolef/geo_domain_indirect.h"
52template <
class T,
class M>
93template <
class T,
class M>
102template <
class T,
class M>
104const domain_indirect_basic<M>&
109template <
class T,
class M>
111const domain_indirect_basic<M>&
119template <
class T,
class M>
124#define _RHEOLEF_get_bgd_geo(M) \
127const geo_basic<T,M>& \
128geo_basic<T,M>::get_background_geo() const \
130 if (variant() == geo_abstract_base_rep<T>::geo_domain) { \
131 const geo_domain_rep<T,M>& dom \
132 = dynamic_cast<const geo_domain_rep<T,M>&>(base::data()); \
133 return dom.get_background_geo(); \
135 if (variant() == geo_abstract_base_rep<T>::geo_domain_indirect) { \
136 const geo_domain_indirect_rep<T,M>& dom \
137 = dynamic_cast<const geo_domain_indirect_rep<T,M>&>(base::data()); \
138 return dom.get_background_geo(); \
143#define _RHEOLEF_get_bgd_domain(M) \
147geo_basic<T,M>::get_background_domain() const \
149 if (variant() == geo_abstract_base_rep<T>::geo_domain) { \
150 const geo_domain_rep<T,M>& dom \
151 = dynamic_cast<const geo_domain_rep<T,M>&>(base::data()); \
152 return dom.get_background_domain(); \
154 if (variant() == geo_abstract_base_rep<T>::geo_domain_indirect) { \
164#ifdef _RHEOLEF_HAVE_MPI
169#undef _RHEOLEF_get_bgd_geo
170#undef _RHEOLEF_get_bgd_domain
field::size_type size_type
the finite element boundary domain
abstract base interface class
generic mesh with rerefence counting
const geo_basic< T, M > & get_background_geo() const
const geo_element & dom2bgd_geo_element(const geo_element &dom_K) const
const domain_indirect_basic< M > & get_domain_indirect(size_type i) const
size_type bgd_ie2dom_ie(size_type bgd_ie) const
geo_domain_indirect_rep< T, M > _dom
std::map< size_type, size_type > _bgd_ie2dom_ie
base::size_type size_type
geo_abstract_rep< T, M > * clone() const
size_type dis_bgd_ie2dis_dom_ie(size_type dis_bgd_ie) const
size_type n_domain_indirect() const
size_type variant() const
std::map< size_type, size_type > _dis_bgd_ie2dis_dom_ie
geo_basic< T, M > get_background_domain() const
const geo_element & bgd2dom_geo_element(const geo_element &bgd_K) const
see the geo_element page for the full documentation
sequential mesh representation
This file is part of Rheolef.
geo_basic< T, M > compact(const geo_basic< T, M > &gamma)