11#ifndef REGION_LAYOUT_H
12#define REGION_LAYOUT_H
48template <
class T,
unsigned Dim,
class MeshType>
class RegionLayout;
49template <
class T,
unsigned Dim,
class MeshType>
54template <
class T,
unsigned Dim,
class MeshType=UniformCartesian<Dim,T> >
88 const PRegion<T>& i3, MeshType& mesh,
int vnodes=-1);
118 MeshType& mesh,
int vnodes=-1);
304 while (!this->empty()) {
std::ostream & operator<<(std::ostream &, const RegionLayout< T, Dim, MeshType > &)
RegionLayout(const Index &i1, int vnodes=-1)
NDIndex< Dim > MeshVertices
void RepartitionLayout(NDIndex< Dim > &domain)
const MeshType & getMesh() const
void changeDomain(FieldLayout< Dim > &)
void setup(const NDRegion< T, Dim > &, int)
void RepartitionLayout(NDIndex< Dim > *, NDIndex< Dim > *)
ac_domain_vnodes::iterator iterator_dv
const_iterator_iv begin_iv() const
RegionLayout(const NDIndex< Dim > &domain, MeshType &mesh, int vnodes=-1)
void make_rnodes(const NDRegion< T, Dim > &, FieldLayout< Dim > &)
ac_domain_vnodes::const_iterator const_iterator_dv
void changeDomain(const NDIndex< Dim > &, int vnodes=-1)
const_iterator_dv end_rdv() const
bool operator==(const RegionLayout< T, Dim, MeshType > &x)
NDRegion< T, Dim > getMeshDomain(MeshType *)
NDIndex< Dim > convert_region(const NDRegion< T, Dim > &) const
const_iterator_iv end_iv() const
NDRegion< T, Dim > convert_index(const NDIndex< Dim > &) const
ac_id_vnodes::size_type size_iv() const
RegionLayout(const PRegion< T > &i1, const PRegion< T > &i2, const PRegion< T > &i3, MeshType &mesh, int vnodes=-1)
RegionLayout(const RegionLayout< T, Dim, MeshType > &)
void changeDomain(const NDRegion< T, Dim > &, int vnodes=-1)
NDRegion< T, Dim > Domain
virtual void notifyUserOfDelete(UserList *)
touch_range_dv touch_range_rdv(const NDRegion< T, Dim > &domain)
ac_id_vnodes::const_iterator const_iterator_iv
RegionLayout(const PRegion< T > &i1, const PRegion< T > &i2, MeshType &mesh, int vnodes=-1)
RegionLayout(const Index &i1, const Index &i2, int vnodes=-1)
ac_domain_vnodes::size_type size_rdv() const
ac_id_vnodes::iterator iterator_iv
virtual void Repartition(UserList *)
const FieldLayout< Dim > & getFieldLayout() const
FieldLayout< Dim > * FLayout
vmap< Unique::type, Rnode< T, Dim > * > ac_id_vnodes
RegionLayout(const PRegion< T > &i1, MeshType &mesh, int vnodes=-1)
RegionLayout(const Index &i1, const Index &i2, MeshType &mesh, int vnodes=-1)
DomainMap< NDRegion< T, Dim >, Rnode< T, Dim > *, TouchesRegion< T, Dim >, ContainsRegion< T, Dim >, SplitRegion< T, Dim > > ac_domain_vnodes
void checkin(FieldLayoutUser &f)
UserList::ID_t get_Id() const
RegionLayout(const Index &i1, const Index &i2, const Index &i3, int vnodes=-1)
const NDRegion< T, Dim > & getDomain() const
ac_domain_vnodes::touch_iterator touch_iterator_dv
RegionLayout(const NDIndex< Dim > &domain, int vnodes=-1)
static RnodePool StaticRnodePool
std::pair< touch_iterator_dv, touch_iterator_dv > touch_range_dv
NDIndex< Dim > getMeshVertices(MeshType *)
ac_domain_vnodes * Remote_ac
RegionLayout(const Index &i1, const Index &i2, const Index &i3, MeshType &mesh, int vnodes=-1)
RegionLayout(const Index &i1, MeshType &mesh, int vnodes=-1)
RegionLayout(FieldLayout< Dim > &, MeshType &)
const_iterator_dv begin_rdv() const
void checkout(FieldLayoutUser &f)
RegionLayout(FieldLayout< Dim > &)
RegionLayout(const NDRegion< T, Dim > &domain, MeshType &mesh, int vnodes=-1)
FieldLayout< Dim > & getFieldLayout()
void store_flayout(FieldLayout< Dim > *, bool WeOwn)
void store_mesh(MeshType *, bool WeOwn)
Rnode< T, Dim > * create_rnode(const NDRegion< T, Dim > &nr, int node)
Rnode< T, Dim > * create_rnode(const NDRegion< T, Dim > &nr, const Vektor< T, Dim > &v, int node)
ID_t getUserListID() const
virtual void checkoutUser(Key key, bool informuser=false)
virtual ID_t checkinUser(User &user)
rep_type::iterator iterator
rep_type::size_type size_type
rep_type::const_iterator const_iterator