Dune::Entity< 0, dim, GridImp, EntityImp > Class Template Reference
[Entity]

#include <entity.hh>

List of all members.


Detailed Description

template<int dim, class GridImp, template< int, int, class > class EntityImp>
class Dune::Entity< 0, dim, GridImp, EntityImp >

Template specialization of Dune::Entity for Elements (codim==0).

See also:
Dune::Entity (general version) for the full documentation


Exported types and constants

enum  { codimension = 0 }
enum  { dimension = dim }
enum  { mydimension = dim }
enum  { dimensionworld = dimworld }
typedef GridImp::template
Codim< 0 >::Geometry 
Geometry
 The geometry type of this entity.
typedef GridImp::template
Codim< 0 >::LocalGeometry 
LocalGeometry
 The geometry type of this entity when the geometry is expressed embedded in the father element. This differs from Geometry only when dim != dimworld.
typedef GridImp::template
Codim< 0 >::EntityPointer 
EntityPointer
 The codim==0 EntityPointer type.
typedef GridImp::template
Codim< 0 >::LeafIntersectionIterator 
LeafIntersectionIterator
 The LeafIntersectionIterator type.
typedef GridImp::template
Codim< 0 >::LevelIntersectionIterator 
LevelIntersectionIterator
 The LevelIntersectionIterator type.
typedef GridImp::template
Codim< 0 >::HierarchicIterator 
HierarchicIterator
 The HierarchicIterator type.
typedef ct ctype
 Type used for coordinates in grid module.

Protected methods

EntityImp< 0, dim, GridImp > & getRealImp ()
 return reference to the real implementation
const EntityImp< 0, dim, GridImp > & getRealImp () const
 return reference to the real implementation
 Entity (const Entity &rhs)
Entityoperator= (const Entity &rhs)

Methods shared by entities of all codimensions

int level () const
 The level of this entity.
PartitionType partitionType () const
 Partition type of this entity.
const Geometrygeometry () const
 Each entity encapsulates an object of type Dune::Geometry<dimension-codimension,dimensionworld,...> that gives (among other things) the map from a reference element to world coordinates. This method delivers a const reference to such a geometry.

Note:
Be careful when storing such references. If the state of any object is changed, e.g. an iterator is advanced, there is no guarantee that the reference remains valid.


Extended interface of entities of codimension 0

template<int cc>
int count () const
 Number of subentities with codimension cc. This method is in principle redundant because this information can be obtained via the reference element of the geometry. It is there for efficiency reasons and to make the interface self-contained.
template<int cc>
Codim< cc >::EntityPointer entity (int i) const
 Access to subentity i of codimension cc.
LeafIntersectionIterator ileafbegin () const
 Access to intersections with neighboring leaf elements. A neighbor is an entity of codimension 0 which has an intersection of codimension 1 in common with this entity. Access to those neighbors is provided using the IntersectionIterator. This method returns an iterator refering to the first neighbor.
LeafIntersectionIterator ileafend () const
 Reference to an IntersectionIterator one past the last intersection.
LevelIntersectionIterator ilevelbegin () const
 Intra-level access to intersections with neighboring elements. A neighbor is an entity of codimension 0 which has an intersection of codimension 1 in common with this entity. Access to those neighbors is provided using the IntersectionIterator. This method returns an iterator refering to the first neighbor.
LevelIntersectionIterator ilevelend () const
 Reference to an IntersectionIterator one past the last intersection.
EntityPointer father () const
 Inter-level access to father entity on the next-coarser grid. The given entity resulted directly from a subdivision of its father entity. For the macro elements dereferencing the EntityPointer is undefined.
bool isLeaf () const
 Returns true if the entity is contained in the leaf grid.
bool isRegular () const
 Returns true if element is of regular type in red/green type refinement. In bisection or hanging node refinement this is always true.
const LocalGeometrygeometryInFather () const
 Provides information how this element has been subdivided from its father element. The returned LocalGeometry is a model of Dune::Geometry<dimension,dimension,...> mapping from the reference element of the given element to the reference element of the father element. This is sufficient to interpolate all degrees of freedom in the conforming case. Nonconforming may require access to neighbors of father and computations with local coordinates. On the fly case is somewhat inefficient since degrees of freedom may be visited several times. If we store interpolation matrices, this is tolerable. We assume that on-the-fly implementation of interpolation is only done for simple discretizations.
HierarchicIterator hbegin (int maxlevel) const
 Inter-level access to elements that resulted from (recursive) subdivision of this element.
HierarchicIterator hend (int maxlevel) const
 Returns iterator to one past the last son element.
bool wasRefined () const
 Returns true, if entity was refined during last adaptation cycle.
bool mightBeCoarsened () const
 Returns true, if entity might be coarsened during next adaption cycle.

Interface for the implementor

bool hasBoundaryIntersections () const
 Returns true, if entity has intersections with boundary, see default implementation.
 Entity (const EntityImp< 0, dim, GridImp > &e)
 Copy constructor from EntityImp.

Public Member Functions

GeometryType type () const
 Return the name of the reference element. The type can be used to access the Dune::ReferenceElement.

Classes

struct  Codim
 EntityPointer types of the different codimensions. More...

Member Enumeration Documentation

template<int dim, class GridImp, template< int, int, class > class EntityImp>
anonymous enum

Enumerator:
codimension  Know your own codimension.

template<int dim, class GridImp, template< int, int, class > class EntityImp>
anonymous enum

Enumerator:
dimension  Know the grid's dimension.

template<int dim, class GridImp, template< int, int, class > class EntityImp>
anonymous enum

Enumerator:
mydimension  Know dimension of the entity.

template<int dim, class GridImp, template< int, int, class > class EntityImp>
anonymous enum

Enumerator:
dimensionworld  Know the world dimension.


Constructor & Destructor Documentation

template<int dim, class GridImp, template< int, int, class > class EntityImp>
Dune::Entity< 0, dim, GridImp, EntityImp >::Entity ( const Entity< 0, dim, GridImp, EntityImp > &  rhs  )  [inline, protected]

hide copy constructor


Member Function Documentation

template<int dim, class GridImp, template< int, int, class > class EntityImp>
HierarchicIterator Dune::Entity< 0, dim, GridImp, EntityImp >::hbegin ( int  maxlevel  )  const [inline]

Inter-level access to elements that resulted from (recursive) subdivision of this element.

Parameters:
[in] maxlevel Iterator does not stop at elements with level greater than maxlevel.
Returns:
Iterator to the first son (level is not greater than maxlevel)

template<int dim, class GridImp, template< int, int, class > class EntityImp>
Entity& Dune::Entity< 0, dim, GridImp, EntityImp >::operator= ( const Entity< 0, dim, GridImp, EntityImp > &  rhs  )  [inline, protected]

hide assignement operator


The documentation for this class was generated from the following file:

Generated on 12 Dec 2007 with Doxygen (ver 1.5.1)