11 #ifndef REGION_LAYOUT_H
12 #define REGION_LAYOUT_H
48 template <
class T,
unsigned Dim,
class MeshType>
class RegionLayout;
49 template <
class T,
unsigned Dim,
class MeshType>
50 std::ostream& operator<<(std::ostream&, const RegionLayout<T,Dim,MeshType>&);
54 template <
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);
200 #ifdef IPPL_USE_MEMBER_TEMPLATES
203 template <
unsigned D >
210 PInsist(D==
Dim,
"Dimension of input NDIndex does not match RegionLayout!!");
216 template <
unsigned D >
223 PInsist(D==
Dim,
"Dimension of input NDRegion does not match RegionLayout!!");
318 #if defined(__MWERKS__)
319 #if __MWERKS__ < 0x2300
340 while (this->size() > 0) {
382 #endif // REGION_LAYOUT_H
rep_type::size_type size_type
void changeDomain(FieldLayout< Dim > &)
void checkin(FieldLayoutUser &f)
FieldLayout< Dim > * FLayout
const_iterator_dv end_rdv() const
void setup(const NDRegion< T, Dim > &, int)
void store_mesh(MeshType *, bool WeOwn)
void make_rnodes(const NDRegion< T, Dim > &, FieldLayout< Dim > &)
const NDRegion< T, Dim > & getDomain() const
virtual void Repartition(UserList *)
ID_t getUserListID() const
ac_domain_vnodes * Remote_ac
const_iterator_iv begin_iv() const
ac_id_vnodes::iterator iterator_iv
const_iterator_iv end_iv() const
ac_domain_vnodes::touch_iterator touch_iterator_dv
DomainMap< NDRegion< T, Dim >, Rnode< T, Dim > *, TouchesRegion< T, Dim >, ContainsRegion< T, Dim >, SplitRegion< T, Dim > > ac_domain_vnodes
NDIndex< Dim > getMeshVertices(MeshType *)
ac_id_vnodes::size_type size_iv() const
static RnodePool StaticRnodePool
ac_domain_vnodes::size_type size_rdv() const
NDIndex< Dim > MeshVertices
bool operator==(const RegionLayout< T, Dim, MeshType > &x)
const FieldLayout< Dim > & getFieldLayout() const
void RepartitionLayout(NDIndex< Dim > &domain)
Rnode< T, Dim > * create_rnode(const NDRegion< T, Dim > &nr, int node)
NDRegion< T, Dim > convert_index(const NDIndex< Dim > &) const
NDRegion< T, Dim > getMeshDomain(MeshType *)
UserList::ID_t get_Id() const
std::pair< touch_iterator, touch_iterator > touch_range(const Key &t) const
void checkout(FieldLayoutUser &f)
const MeshType & getMesh() const
virtual void notifyUserOfDelete(UserList *)
virtual void checkoutUser(Key key, bool informuser=false)
ac_id_vnodes::const_iterator const_iterator_iv
const_iterator_dv begin_rdv() const
NDRegion< T, Dim > Domain
touch_range_dv touch_range_rdv(const NDRegion< T, Dim > &domain)
FieldLayout< Dim > & getFieldLayout()
void RepartitionLayout(NDIndex< Dim > *, NDIndex< Dim > *)
std::pair< touch_iterator_dv, touch_iterator_dv > touch_range_dv
Rnode< T, Dim > * create_rnode(const NDRegion< T, Dim > &nr, const Vektor< T, Dim > &v, int node)
vmap< Unique::type, Rnode< T, Dim > * > ac_id_vnodes
NDIndex< Dim > convert_region(const NDRegion< T, Dim > &) const
rep_type::iterator iterator
virtual ID_t checkinUser(User &user)
ac_domain_vnodes::iterator iterator_dv
ac_domain_vnodes::const_iterator const_iterator_dv
rep_type::const_iterator const_iterator
void store_flayout(FieldLayout< Dim > *, bool WeOwn)