dune-grid
2.3.1
|
Wrapper class for entities. More...
#include <dune/grid/common/entity.hh>
Protected Types | |
typedef EntityImp< cd, dim, GridImp > | Implementation |
Protected Member Functions | |
Implementation & | impl () |
Return reference to the real implementation. More... | |
const Implementation & | impl () const |
Return const reference to the real implementation. More... | |
Entity (const Entity &rhs) | |
Entity & | operator= (const Entity &rhs) |
Protected Attributes | |
Implementation | realEntity |
Friends | |
class | GridDefaultImplementation< GridImp::dimension, GridImp::dimensionworld, typename GridImp::ctype, typename GridImp::GridFamily > |
template<class , PartitionIteratorType > | |
class | DefaultLevelGridView |
template<class , PartitionIteratorType > | |
class | DefaultLeafGridView |
template<class , class > | |
class | Dune::EntityPointer |
Exported types and constants | |
enum | { codimension =cd } |
enum | { dimension =dim } |
enum | { mydimension =dim-cd } |
typedef GridImp::template Codim< cd >::Geometry | Geometry |
The corresponding geometry type. More... | |
typedef GridImp::template Codim< cd >::EntitySeed | EntitySeed |
The corresponding entity seed (for storage of entities) More... | |
typedef GridImp::ctype | ctype |
coordinate type of the Grid More... | |
static const int | dimensionworld =GridImp::dimensionworld |
Know the dimension of world. More... | |
Methods shared by entities of all codimensions | |
int | level () const |
The level of this entity. More... | |
PartitionType | partitionType () const |
Partition type of this entity. More... | |
Geometry | geometry () const |
obtain geometric realization of the entity More... | |
GeometryType | type () const |
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement. More... | |
EntitySeed | seed () const |
Return the entity seed which contains sufficient information to generate the entity again and uses as little memory as possible. More... | |
Interface for the implementor | |
Entity (const EntityImp< cd, dim, GridImp > &e) | |
Copy constructor from EntityImp. More... | |
Wrapper class for entities.
cd | Codimension of the entity |
dim | Dimension of the grid |
GridImp | Type that is a model of Dune::Grid |
EntityImp | Class template that is a model of Dune::Entity |
This class wraps a object of type EntityImp and forwards all member function calls to corresponding members of this class. In that sense Entity defines the interface and EntityImp supplies the implementation. For various reasons we do not use an inheritance hierarchy and the Barton-Nackman trick here.
The Entity class template is specialized for cd=0
(elements, Dune::Entity<0,dim,GridImp,EntityImp>). This case has an extended interface. The methods defined in the general template are provided by the specialization as well. We did not use inheritance because different implementations for different codimensions may be required and virtual functions had to be avoided.
Entities can not be created, assigned or otherwise modified outside the interface in the user code. They are only accessible by immutable iterators provided on the corresponding grid class.
The only way to modify the entities of a grid is through grid adaptation which consists of tagging entities (of codimension 0) for refinement and then calling the adapt() method on the grid.
typedef GridImp::ctype Dune::Entity< cd, dim, GridImp, EntityImp >::ctype |
coordinate type of the Grid
typedef GridImp::template Codim<cd>::EntitySeed Dune::Entity< cd, dim, GridImp, EntityImp >::EntitySeed |
The corresponding entity seed (for storage of entities)
typedef GridImp::template Codim<cd>::Geometry Dune::Entity< cd, dim, GridImp, EntityImp >::Geometry |
The corresponding geometry type.
|
protected |
anonymous enum |
anonymous enum |
anonymous enum |
|
inlineexplicit |
Copy constructor from EntityImp.
|
inlineprotected |
hide copy constructor
|
inline |
obtain geometric realization of the entity
Each entity provides an object of type Dune::Geometry< dimension-codimension, dimensionworld, ... > that represents the map from a reference element to world coordinates.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
|
inlineprotected |
Return reference to the real implementation.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
|
inlineprotected |
Return const reference to the real implementation.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
|
inline |
The level of this entity.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
Referenced by Dune::gridleaflist(), and Dune::gridlevellist().
|
inlineprotected |
hide assignment operator
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
|
inline |
Partition type of this entity.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
|
inline |
Return the entity seed which contains sufficient information to generate the entity again and uses as little memory as possible.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
|
inline |
Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.
References Dune::Entity< cd, dim, GridImp, EntityImp >::realEntity.
|
friend |
|
friend |
|
friend |
|
friend |
|
static |
Know the dimension of world.
|
protected |
Referenced by Dune::Entity< 0, dim, GridImp, EntityImp >::count(), Dune::Entity< 0, dim, GridImp, EntityImp >::father(), Dune::Entity< cd, dim, GridImp, EntityImp >::geometry(), Dune::Entity< 0, dim, GridImp, EntityImp >::geometry(), Dune::Entity< 0, dim, GridImp, EntityImp >::geometryInFather(), Dune::Entity< 0, dim, GridImp, EntityImp >::hasBoundaryIntersections(), Dune::Entity< 0, dim, GridImp, EntityImp >::hasFather(), Dune::Entity< 0, dim, GridImp, EntityImp >::hbegin(), Dune::Entity< 0, dim, GridImp, EntityImp >::hend(), Dune::Entity< 0, dim, GridImp, EntityImp >::ileafbegin(), Dune::Entity< 0, dim, GridImp, EntityImp >::ileafend(), Dune::Entity< 0, dim, GridImp, EntityImp >::ilevelbegin(), Dune::Entity< 0, dim, GridImp, EntityImp >::ilevelend(), Dune::Entity< cd, dim, GridImp, EntityImp >::impl(), Dune::Entity< 0, dim, GridImp, EntityImp >::impl(), Dune::Entity< 0, dim, GridImp, EntityImp >::isLeaf(), Dune::Entity< 0, dim, GridImp, EntityImp >::isNew(), Dune::Entity< 0, dim, GridImp, EntityImp >::isRegular(), Dune::Entity< cd, dim, GridImp, EntityImp >::level(), Dune::Entity< 0, dim, GridImp, EntityImp >::level(), Dune::Entity< 0, dim, GridImp, EntityImp >::mightVanish(), Dune::Entity< cd, dim, GridImp, EntityImp >::operator=(), Dune::Entity< 0, dim, GridImp, EntityImp >::operator=(), Dune::Entity< cd, dim, GridImp, EntityImp >::partitionType(), Dune::Entity< 0, dim, GridImp, EntityImp >::partitionType(), Dune::Entity< cd, dim, GridImp, EntityImp >::seed(), Dune::Entity< 0, dim, GridImp, EntityImp >::seed(), Dune::Entity< 0, dim, GridImp, EntityImp >::subEntity(), Dune::Entity< cd, dim, GridImp, EntityImp >::type(), and Dune::Entity< 0, dim, GridImp, EntityImp >::type().