DUNE-FEM (unstable)
Wrapper class for wrapped entities added a cast operator to the host entity. More...
#include <dune/fem/gridpart/common/extendedentity.hh>
Public Types | |
typedef EntityImp< cd, dim, GridImp > | Implementation |
type of underlying implementation More... | |
Public Member Functions | |
operator const HostEntityType & () const | |
cast to HostEntityType if such type exists otherwise return implementation | |
operator const GridEntityType & () const | |
cast to HostEntityType if such type exists otherwise return implementation | |
Implementation & | impl () |
access to the underlying implementation More... | |
const Implementation & | impl () const |
access to the underlying implementation More... | |
Methods shared by entities of all codimensions | |
int | level () const |
The level of this entity. | |
PartitionType | partitionType () const |
Partition type of this entity. | |
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. | |
unsigned int | subEntities (unsigned int codim) const |
Number of subentities for a given codimension. More... | |
EntitySeed | seed () const |
Return the entity seed which contains sufficient information to generate the entity again and uses as little memory as possible. | |
bool | operator== (const Entity &other) const |
Compares two entities for equality. | |
bool | operator!= (const Entity &other) const |
Compares two entities for inequality. | |
Related Functions | |
(Note that these are not member functions.) | |
template<int cd, int dim, class GridImp , template< int, int, class > class EntityImp> | |
auto | referenceElement (const Entity< cd, dim, GridImp, EntityImp > &entity) -> decltype(referenceElement< typename GridImp::ctype, GridImp::template Codim< cd >::Geometry::mydimension >(entity.type())) |
Second-level dispatch to select the correct reference element for a grid entity. More... | |
Generic entity ranges for non-standard parallel partitions | |
These Entity ranges allow for the maximum flexibility; they are parameterized on both the co(cimension) and the parallel PartitionSet. | |
template<typename E , int codim> | |
IteratorRange<... > | subEntities (const E &e, Codim< codim > c) |
Iterates over all sub-entities of an entity given the codimension of the sub-entities. More... | |
Intersection Range | |
Iterator range for intersections . | |
template<typename GV , typename Entity > | |
IteratorRange<... > | intersections (const GV &gv, const Entity &e) |
Iterates over all Intersections of an Entity with respect to the given GridView. More... | |
Hierarchic Entity range | |
Iterator range for hierarchic access to the more-refined entities that result from the subdivision of a given element. | |
template<typename Entity > | |
IteratorRange<... > | descendantElements (const Entity &e, int maxLevel) |
Iterates over all descendant elements of the given element up to a maximum level. More... | |
Exported types and constants | |
typedef GridImp::template Codim< cd >::Geometry | Geometry |
The corresponding geometry type. | |
typedef GridImp::template Codim< cd >::EntitySeed | EntitySeed |
The corresponding entity seed (for storage of entities) | |
static constexpr int | codimension = cd |
Know your own codimension. | |
static constexpr int | dimension = dim |
Know the grid dimension. | |
static constexpr int | mydimension = dim - cd |
Dimensionality of the reference element of the entity. | |
Detailed Description
class Dune::ExtendedEntity< cd, dim, GridImp, EntityImp >
Wrapper class for wrapped entities added a cast operator to the host entity.
- Template Parameters
-
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
Member Typedef Documentation
◆ Implementation
|
inherited |
type of underlying implementation
- Warning
- Implementation details may change without prior notification.
Member Function Documentation
◆ geometry()
|
inlineinherited |
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.
- Note
- Previously, the geometry was encapsulated in the entity object and a const reference was returned.
- The returned geometry object is guaranteed to remain valid until the grid is modified (or deleted).
Referenced by Dune::Fem::EntityGeometryStorageImpl< Entity, storeGeometry >::bind(), Dune::Fem::RestrictProlongInterface< Traits >::calcWeight(), and Dune::Fem::RadialFilter< ct, dimw >::contains().
◆ impl() [1/2]
|
inlineinherited |
access to the underlying implementation
- Warning
- Implementation details may change without prior notification.
Referenced by Dune::IdentityGrid< HostGrid >::getHostEntity(), Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::ileafbegin(), Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::ileafend(), Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::ilevelbegin(), Dune::GridDefaultImplementation< dim, dimworld, ct, GridFamily >::ilevelend(), and Dune::ExtendedEntity< cd, dim, GridImp, EntityImp >::operator const HostEntityType &().
◆ impl() [2/2]
|
inlineinherited |
access to the underlying implementation
- Warning
- Implementation details may change without prior notification.
◆ subEntities()
|
inlineinherited |
Number of subentities for a given codimension.
- Parameters
-
codim codimension to obtain number of subentities for
- Note
- The codimension is specified with respect to the grid dimension.
- Unless the geometry type is None, this method is redundant and the same information can be obtained from the corresponding reference element.
Friends And Related Function Documentation
◆ referenceElement()
|
related |
Second-level dispatch to select the correct reference element for a grid entity.
This function is the default implementation of the second-level reference element dispatch performed by Entity.
When referenceElement() is called with an Entity, it will forward the call to referenceElement<ctype, mydim>(const GeometryType&)
. This default implementation will do the right thing as long as your geometry is based on a standard Dune ReferenceElement. If it is not and you want to supply your own reference element implementation, provide an override of this function for your specific geometry implementation.
The documentation for this class was generated from the following file:
- dune/fem/gridpart/common/extendedentity.hh