3#ifndef DUNE_GRID_ENTITY_HH
4#define DUNE_GRID_ENTITY_HH
6#include <dune/common/iteratorrange.hh>
7#include <dune/common/typetraits.hh>
9#include <dune/geometry/dimension.hh>
60 template<
int cd,
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
63#if DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
69 GridImp::
dimension, GridImp::dimensionworld,
70 typename GridImp::ctype,
71 typename GridImp::GridFamily> ;
97 typedef typename GridImp::template Codim<cd>::Geometry
Geometry;
100 typedef typename GridImp::template Codim<cd>::EntitySeed
EntitySeed;
230 template<
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
233#if DUNE_GRID_EXPERIMENTAL_GRID_EXTENSIONS
239 GridImp::
dimension, GridImp::dimensionworld,
240 typename GridImp::ctype,
241 typename GridImp::GridFamily> ;
267 typedef typename GridImp::template Codim<0>::Geometry
Geometry;
270 typedef typename GridImp::template Codim<0>::EntitySeed
EntitySeed;
398 template<
int codim >
399 typename Codim< codim >::Entity
402 return realEntity.template subEntity< codim >( i );
542 template<
int cd,
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
556 typedef typename GridImp::template Codim<cd>::EntitySeed
EntitySeed;
561 GeometryType
type ()
const {
return asImp().geometry().type(); }
565 EntityImp<cd,dim,GridImp>& asImp ()
567 return static_cast<EntityImp<cd,dim,GridImp>&
>(*this);
569 const EntityImp<cd,dim,GridImp>& asImp ()
const
571 return static_cast<const EntityImp<cd,dim,GridImp>&
>(*this);
586 template<
int dim,
class Gr
idImp,
template<
int,
int,
class>
class EntityImp>
600 typedef typename GridImp::template Codim<0>::EntitySeed
EntitySeed;
610 GeometryType
type ()
const {
return asImp().geometry().type(); }
614 bool isNew ()
const {
return false; }
637 EntityImp<0,dim,GridImp>& asImp () {
return static_cast<EntityImp<0,dim,GridImp>&
>(*this); }
638 const EntityImp<0,dim,GridImp>& asImp ()
const {
return static_cast<const EntityImp<0,dim,GridImp>&
>(*this); }
PartitionType
Attributes used in the generic overlap model.
Definition gridenums.hh:28
Include standard header files.
Definition agrid.hh:60
Definition defaultgridview.hh:73
Definition defaultgridview.hh:270
Wrapper class for entities.
Definition common/entity.hh:62
const Implementation & impl() const
Return const reference to the real implementation.
Definition common/entity.hh:83
bool operator!=(const Entity &other) const
Compares two entities for inequality.
Definition common/entity.hh:161
PartitionType partitionType() const
Partition type of this entity.
Definition common/entity.hh:128
Entity & operator=(Entity &&other)
Move assignment operator from an existing entity.
Definition common/entity.hh:187
Entity(Entity &&other)
Move constructor from an existing entity.
Definition common/entity.hh:175
EntitySeed seed() const
Return the entity seed which contains sufficient information to generate the entity again and uses as...
Definition common/entity.hh:152
@ mydimension
Dimensionality of the reference element of the entity.
Definition common/entity.hh:112
Geometry geometry() const
obtain geometric realization of the entity
Definition common/entity.hh:142
Entity & operator=(const Entity &other)
Copy assignment operator from an existing entity.
Definition common/entity.hh:180
GridImp::template Codim< cd >::Geometry Geometry
The corresponding geometry type.
Definition common/entity.hh:97
GridImp::template Codim< cd >::EntitySeed EntitySeed
The corresponding entity seed (for storage of entities)
Definition common/entity.hh:100
@ dimension
Know the grid dimension.
Definition common/entity.hh:108
int level() const
The level of this entity.
Definition common/entity.hh:125
@ codimension
Know your own codimension.
Definition common/entity.hh:104
Implementation realEntity
Definition common/entity.hh:86
Entity()
Definition common/entity.hh:166
Implementation & impl()
Return reference to the real implementation.
Definition common/entity.hh:81
Entity(const Entity &other)
Copy constructor from an existing entity.
Definition common/entity.hh:170
bool operator==(const Entity &other) const
Compares two entities for equality.
Definition common/entity.hh:155
Entity(const EntityImp< cd, dim, GridImp > &e)
Copy constructor from EntityImp.
Definition common/entity.hh:202
EntityImp< cd, dim, GridImp > Implementation
Definition common/entity.hh:78
GeometryType type() const
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
Definition common/entity.hh:147
Entity(EntityImp< cd, dim, GridImp > &&e)
Move constructor from EntityImp.
Definition common/entity.hh:205
GeometryType type() const
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
Definition common/entity.hh:324
bool mightVanish() const
Returns true, if entity might disappear during the next call to adapt(). If the method returns false,...
Definition common/entity.hh:502
Implementation realEntity
Definition common/entity.hh:256
HierarchicIterator hend(int maxLevel) const
Returns iterator to one past the last son element.
Definition common/entity.hh:489
GridImp::template Codim< 0 >::Geometry Geometry
The geometry type of this entity.
Definition common/entity.hh:267
Entity & operator=(const Entity &other)
Copy assignment operator from an existing entity.
Definition common/entity.hh:357
unsigned int subEntities(unsigned int codim) const
Number of subentities with codimension codim.
Definition common/entity.hh:383
Codim< codim >::Entity subEntity(int i) const
Obtain a subentity.
Definition common/entity.hh:400
Entity(EntityImp< 0, dim, GridImp > &&e)
Move constructor from EntityImp.
Definition common/entity.hh:519
Entity(Entity &&other)
Move constructor from an existing entity.
Definition common/entity.hh:352
Entity father() const
Inter-level access to father entity on the next-coarser grid. The given entity resulted directly from...
Definition common/entity.hh:415
Entity & operator=(Entity &&other)
Move assignment operator from an existing entity.
Definition common/entity.hh:364
Entity(const EntityImp< 0, dim, GridImp > &e)
Copy constructor from EntityImp.
Definition common/entity.hh:516
HierarchicIterator hbegin(int maxLevel) const
Inter-level access to elements that resulted from (recursive) subdivision of this element.
Definition common/entity.hh:477
bool hasBoundaryIntersections() const
Returns true, if entity has intersections with boundary.
Definition common/entity.hh:506
EntitySeed seed() const
Return the entity seed which contains sufficient information to generate the entity again and uses as...
Definition common/entity.hh:329
Entity(const Entity &other)
Copy constructor from an existing entity.
Definition common/entity.hh:347
Geometry geometry() const
obtain geometric realization of the entity
Definition common/entity.hh:319
bool operator==(const Entity &other) const
Compares two entities for equality.
Definition common/entity.hh:332
bool hasFather() const
Return true if entity has a father entity which can be accessed using the father() method.
Definition common/entity.hh:423
int level() const
The level of this entity.
Definition common/entity.hh:313
Entity()
Definition common/entity.hh:343
GridImp::template Codim< 0 >::EntitySeed EntitySeed
The corresponding entity seed (for storage of entities)
Definition common/entity.hh:270
GridImp::template Codim< 0 >::LocalGeometry LocalGeometry
The geometry type of this entity when the geometry is expressed embedded in the father element.
Definition common/entity.hh:279
bool isNew() const
Returns true, if the entity has been created during the last call to adapt()
Definition common/entity.hh:496
bool isLeaf() const
Returns true if the entity is contained in the leaf grid.
Definition common/entity.hh:429
PartitionType partitionType() const
Partition type of this entity.
Definition common/entity.hh:316
const Implementation & impl() const
Return const reference to the real implementation.
Definition common/entity.hh:253
bool isRegular() const
Returns true if element is of regular type in red/green type refinement. In bisection or hanging node...
Definition common/entity.hh:437
bool operator!=(const Entity &other) const
Compares two entities for inequality.
Definition common/entity.hh:338
LocalGeometry geometryInFather() const
Provides information how this element has been subdivided from its father element.
Definition common/entity.hh:464
EntityImp< 0, dim, GridImp > Implementation
Definition common/entity.hh:248
GridImp::HierarchicIterator HierarchicIterator
The HierarchicIterator type.
Definition common/entity.hh:289
GridImp::template Codim< cd >::Entity Entity
Definition common/entity.hh:285
Default Implementations for EntityImp.
Definition common/entity.hh:544
GridImp::template Codim< cd >::EntitySeed EntitySeed
The corresponding entity seed (for storage of entities)
Definition common/entity.hh:556
@ dimension
Definition common/entity.hh:550
@ codimension
Definition common/entity.hh:547
@ mydimension
Definition common/entity.hh:553
GeometryType type() const
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
Definition common/entity.hh:561
bool isNew() const
Returns true, if the entity has been created during the last call to adapt()
Definition common/entity.hh:614
bool isRegular() const
Returns true if element is of regular type in red/green type refinement. In bisection or hanging node...
Definition common/entity.hh:605
bool hasBoundaryIntersections() const
Returns true, if entity has intersections with boundary, this implementation uses the Level- and Leaf...
Definition common/entity.hh:624
GridImp::template Codim< 0 >::EntitySeed EntitySeed
The corresponding entity seed (for storage of entities)
Definition common/entity.hh:600
GeometryType type() const
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
Definition common/entity.hh:610
bool mightVanish() const
Returns true, if entity might disappear during the next call to adapt()
Definition common/entity.hh:618
Wrapper class for pointers to entities.
Definition common/entitypointer.hh:114
Definition common/grid.hh:924
Mesh entities of codimension 0 ("elements") allow to visit all intersections with "neighboring" eleme...
Definition common/intersectioniterator.hh:81
Wrapper and interface class for a static iterator (EntityPointer)