dune-mmesh 1.4.1-git
Loading...
Searching...
No Matches
Dune::MMeshEntity< 0, dim, GridImp > Class Template Reference

The implementation of entities in MMesh. More...

#include <dune/mmesh/grid/entity.hh>

Inheritance diagram for Dune::MMeshEntity< 0, dim, GridImp >:
Inheritance graph

Public Types

typedef GridImp::template HostGridEntity< 0 > HostGridEntity
 
typedef GridImp::template Codim< 0 >::Geometry Geometry
 
typedef GridImp::template Codim< 0 >::LocalGeometry LocalGeometry
 
typedef Geometry::GlobalCoordinate GlobalCoordinate
 
typedef GridImp::ctype ctype
 
typedef GridImp Grid
 
typedef MMeshLeafIntersectionIterator< GridImp > LeafIntersectionIterator
 The Iterator over intersections on the leaf level.
 
typedef MMeshHierarchicIterator< GridImp > HierarchicIterator
 Iterator over descendants of the entity.
 
typedef GridImp::template Codim< 0 >::EntitySeed EntitySeed
 The type of the EntitySeed interface class.
 
using ConnectedComponent = MMeshConnectedComponent< GridImp >
 The type of a ConnectedComponent.
 
using IdType = MMeshImpl::MultiId
 define the type used for persistent indices
 
using VertexStorage = std::array< GlobalCoordinate, dim+1 >
 define the type used for storage the vertices of a caching entity
 

Public Member Functions

 MMeshEntity ()
 
 MMeshEntity (const GridImp *mMesh, const HostGridEntity &hostEntity)
 
 MMeshEntity (const GridImp *mMesh, HostGridEntity &&hostEntity)
 
 MMeshEntity (const GridImp *mMesh, const HostGridEntity &hostEntity, const IdType &id)
 
 MMeshEntity (const GridImp *mMesh, const VertexStorage &vertex)
 
 MMeshEntity (const MMeshEntity &original)
 
 MMeshEntity (MMeshEntity &&original)
 
MMeshEntityoperator= (const MMeshEntity &original)
 
MMeshEntityoperator= (MMeshEntity &&original)
 
bool equals (const MMeshEntity &other) const
 returns true if host entities are equal
 
bool operator== (const MMeshEntity &other) const
 returns true if host entities are equal
 
bool operator< (const MMeshEntity &other) const
 returns true if host entities are equal
 
MMeshEntity father () const
 returns the father entity
 
bool hasFather () const
 returns true if father entity exists
 
const ConnectedComponentconnectedComponent () const
 
const bool isNew () const
 returns true if this entity is new after adaptation
 
void setIsNew (bool isNew) const
 set if this entity is new after adaptation
 
const bool mightVanish () const
 returns true if this entity will vanish after adaptation
 
void setWillVanish (bool mightVanish) const
 set if this entity will vanish after adaptation
 
void mark (int refCount) const
 mark entity for refine or coarse
 
int getMark () const
 get mark of entity
 
EntitySeed seed () const
 Create EntitySeed.
 
int level () const
 Level of this element.
 
PartitionType partitionType () const
 The partition type for parallel computing.
 
Geometry geometry () const
 Geometry of this entity.
 
void bindFather (const EntityType &father)
 
LocalGeometry geometryInFather () const
 
unsigned int subEntities (unsigned int cc) const
 Return the number of subEntities of codimension cc.
 
template<int cc>
std::enable_if_t< cc==0, typename GridImp::template Codim< cc >::EntitysubEntity (unsigned int i) const
 Provide access to sub entity i of given codimension. Entities are numbered 0 ... subEntities(cc)-1.
 
template<int cc>
std::enable_if_t< cc==dim, typename GridImp::template Codim< cc >::EntitysubEntity (unsigned int i) const
 
template<int cc>
std::enable_if_t< cc==1, typename GridImp::template Codim< cc >::EntitysubEntity (unsigned int i) const
 
template<int cc>
std::enable_if_t< cc==2 &&dim==3, typename GridImp::template Codim< cc >::EntitysubEntity (unsigned int i) const
 
MMeshLeafIntersectionIterator< GridImp > ileafbegin () const
 First leaf intersection.
 
MMeshLeafIntersectionIterator< GridImp > ileafend () const
 Reference to one past the last leaf intersection.
 
MMeshLeafIntersectionIterator< GridImp > ilevelbegin () const
 We only have one level.
 
MMeshLeafIntersectionIterator< GridImp > ilevelend () const
 
MMeshHierarchicIterator< GridImp > hbegin (int maxlevel) const
 First hierarchic entity, i.e. this entity, because we only have one level.
 
MMeshHierarchicIterator< GridImp > hend (int maxlevel) const
 Reference to one past the last hierarchic entity.
 
bool isLeaf () const
 returns true if Entity has no children
 
bool wasRefined () const
 returns if grid was refined
 
bool mightBeCoarsened () const
 returns if grid might be coarsened
 
GeometryType type () const
 returns the geometry type
 
std::size_t domainMarker () const
 Return domain marker of entity.
 
const HostGridEntityhostEntity () const
 Return the host entity.
 
HostGridEntityhostEntity ()
 Return the host entity.
 
const GridImp & grid () const
 Return the host grid.
 
IdType id () const
 Return id computed by vertex ids.
 

Protected Attributes

VertexStorage vertex_
 the vertices of the host entity object of this entity (for caching entity)
 
const EntityType * father_
 

Friends

struct HostGridAccess< typename std::remove_const< GridImp >::type >
 

Detailed Description

template<int dim, class GridImp>
class Dune::MMeshEntity< 0, dim, GridImp >

The implementation of entities in MMesh.

Member Typedef Documentation

◆ ConnectedComponent

template<int dim, class GridImp >
using Dune::MMeshEntity< 0, dim, GridImp >::ConnectedComponent = MMeshConnectedComponent<GridImp>

The type of a ConnectedComponent.

◆ ctype

template<int dim, class GridImp >
typedef GridImp::ctype Dune::MMeshEntity< 0, dim, GridImp >::ctype

◆ EntitySeed

template<int dim, class GridImp >
typedef GridImp::template Codim<0>::EntitySeed Dune::MMeshEntity< 0, dim, GridImp >::EntitySeed

The type of the EntitySeed interface class.

◆ Geometry

template<int dim, class GridImp >
typedef GridImp::template Codim<0>::Geometry Dune::MMeshEntity< 0, dim, GridImp >::Geometry

◆ GlobalCoordinate

template<int dim, class GridImp >
typedef Geometry::GlobalCoordinate Dune::MMeshEntity< 0, dim, GridImp >::GlobalCoordinate

◆ Grid

template<int dim, class GridImp >
typedef GridImp Dune::MMeshEntity< 0, dim, GridImp >::Grid

◆ HierarchicIterator

template<int dim, class GridImp >
typedef MMeshHierarchicIterator<GridImp> Dune::MMeshEntity< 0, dim, GridImp >::HierarchicIterator

Iterator over descendants of the entity.

◆ HostGridEntity

template<int dim, class GridImp >
typedef GridImp::template HostGridEntity<0> Dune::MMeshEntity< 0, dim, GridImp >::HostGridEntity

◆ IdType

template<int dim, class GridImp >
using Dune::MMeshEntity< 0, dim, GridImp >::IdType = MMeshImpl::MultiId

define the type used for persistent indices

◆ LeafIntersectionIterator

template<int dim, class GridImp >
typedef MMeshLeafIntersectionIterator<GridImp> Dune::MMeshEntity< 0, dim, GridImp >::LeafIntersectionIterator

The Iterator over intersections on the leaf level.

◆ LocalGeometry

template<int dim, class GridImp >
typedef GridImp::template Codim<0>::LocalGeometry Dune::MMeshEntity< 0, dim, GridImp >::LocalGeometry

◆ VertexStorage

template<int dim, class GridImp >
using Dune::MMeshEntity< 0, dim, GridImp >::VertexStorage = std::array<GlobalCoordinate, dim + 1>

define the type used for storage the vertices of a caching entity

Constructor & Destructor Documentation

◆ MMeshEntity() [1/7]

template<int dim, class GridImp >
Dune::MMeshEntity< 0, dim, GridImp >::MMeshEntity ( )
inline

◆ MMeshEntity() [2/7]

template<int dim, class GridImp >
Dune::MMeshEntity< 0, dim, GridImp >::MMeshEntity ( const GridImp *  mMesh,
const HostGridEntity hostEntity 
)
inline

◆ MMeshEntity() [3/7]

template<int dim, class GridImp >
Dune::MMeshEntity< 0, dim, GridImp >::MMeshEntity ( const GridImp *  mMesh,
HostGridEntity &&  hostEntity 
)
inline

◆ MMeshEntity() [4/7]

template<int dim, class GridImp >
Dune::MMeshEntity< 0, dim, GridImp >::MMeshEntity ( const GridImp *  mMesh,
const HostGridEntity hostEntity,
const IdType id 
)
inline

◆ MMeshEntity() [5/7]

template<int dim, class GridImp >
Dune::MMeshEntity< 0, dim, GridImp >::MMeshEntity ( const GridImp *  mMesh,
const VertexStorage vertex 
)
inline

◆ MMeshEntity() [6/7]

template<int dim, class GridImp >
Dune::MMeshEntity< 0, dim, GridImp >::MMeshEntity ( const MMeshEntity< 0, dim, GridImp > &  original)
inline

◆ MMeshEntity() [7/7]

template<int dim, class GridImp >
Dune::MMeshEntity< 0, dim, GridImp >::MMeshEntity ( MMeshEntity< 0, dim, GridImp > &&  original)
inline

Member Function Documentation

◆ bindFather()

template<int dim, class GridImp >
void Dune::MMeshEntity< 0, dim, GridImp >::bindFather ( const EntityType &  father)
inline

◆ connectedComponent()

template<int dim, class GridImp >
const ConnectedComponent & Dune::MMeshEntity< 0, dim, GridImp >::connectedComponent ( ) const
inline

◆ domainMarker()

template<int dim, class GridImp >
std::size_t Dune::MMeshEntity< 0, dim, GridImp >::domainMarker ( ) const
inline

Return domain marker of entity.

◆ equals()

template<int dim, class GridImp >
bool Dune::MMeshEntity< 0, dim, GridImp >::equals ( const MMeshEntity< 0, dim, GridImp > &  other) const
inline

returns true if host entities are equal

◆ father()

template<int dim, class GridImp >
MMeshEntity Dune::MMeshEntity< 0, dim, GridImp >::father ( ) const
inline

returns the father entity

◆ geometry()

template<int dim, class GridImp >
Geometry Dune::MMeshEntity< 0, dim, GridImp >::geometry ( ) const
inline

Geometry of this entity.

◆ geometryInFather()

template<int dim, class GridImp >
LocalGeometry Dune::MMeshEntity< 0, dim, GridImp >::geometryInFather ( ) const
inline

Geometry of this entity in bounded father entity ( assumption: this \subset father )

◆ getMark()

template<int dim, class GridImp >
int Dune::MMeshEntity< 0, dim, GridImp >::getMark ( ) const
inline

get mark of entity

◆ grid()

template<int dim, class GridImp >
const GridImp & Dune::MMeshEntity< 0, dim, GridImp >::grid ( ) const
inline

Return the host grid.

◆ hasFather()

template<int dim, class GridImp >
bool Dune::MMeshEntity< 0, dim, GridImp >::hasFather ( ) const
inline

returns true if father entity exists

◆ hbegin()

template<int dim, class GridImp >
MMeshHierarchicIterator< GridImp > Dune::MMeshEntity< 0, dim, GridImp >::hbegin ( int  maxlevel) const
inline

First hierarchic entity, i.e. this entity, because we only have one level.

◆ hend()

template<int dim, class GridImp >
MMeshHierarchicIterator< GridImp > Dune::MMeshEntity< 0, dim, GridImp >::hend ( int  maxlevel) const
inline

Reference to one past the last hierarchic entity.

◆ hostEntity() [1/2]

template<int dim, class GridImp >
HostGridEntity & Dune::MMeshEntity< 0, dim, GridImp >::hostEntity ( )
inline

Return the host entity.

◆ hostEntity() [2/2]

template<int dim, class GridImp >
const HostGridEntity & Dune::MMeshEntity< 0, dim, GridImp >::hostEntity ( ) const
inline

Return the host entity.

◆ id()

template<int dim, class GridImp >
IdType Dune::MMeshEntity< 0, dim, GridImp >::id ( ) const
inline

Return id computed by vertex ids.

◆ ileafbegin()

template<int dim, class GridImp >
MMeshLeafIntersectionIterator< GridImp > Dune::MMeshEntity< 0, dim, GridImp >::ileafbegin ( ) const
inline

First leaf intersection.

◆ ileafend()

template<int dim, class GridImp >
MMeshLeafIntersectionIterator< GridImp > Dune::MMeshEntity< 0, dim, GridImp >::ileafend ( ) const
inline

Reference to one past the last leaf intersection.

◆ ilevelbegin()

template<int dim, class GridImp >
MMeshLeafIntersectionIterator< GridImp > Dune::MMeshEntity< 0, dim, GridImp >::ilevelbegin ( ) const
inline

We only have one level.

◆ ilevelend()

template<int dim, class GridImp >
MMeshLeafIntersectionIterator< GridImp > Dune::MMeshEntity< 0, dim, GridImp >::ilevelend ( ) const
inline

◆ isLeaf()

template<int dim, class GridImp >
bool Dune::MMeshEntity< 0, dim, GridImp >::isLeaf ( ) const
inline

returns true if Entity has no children

◆ isNew()

template<int dim, class GridImp >
const bool Dune::MMeshEntity< 0, dim, GridImp >::isNew ( ) const
inline

returns true if this entity is new after adaptation

◆ level()

template<int dim, class GridImp >
int Dune::MMeshEntity< 0, dim, GridImp >::level ( ) const
inline

Level of this element.

◆ mark()

template<int dim, class GridImp >
void Dune::MMeshEntity< 0, dim, GridImp >::mark ( int  refCount) const
inline

mark entity for refine or coarse

◆ mightBeCoarsened()

template<int dim, class GridImp >
bool Dune::MMeshEntity< 0, dim, GridImp >::mightBeCoarsened ( ) const
inline

returns if grid might be coarsened

◆ mightVanish()

template<int dim, class GridImp >
const bool Dune::MMeshEntity< 0, dim, GridImp >::mightVanish ( ) const
inline

returns true if this entity will vanish after adaptation

◆ operator<()

template<int dim, class GridImp >
bool Dune::MMeshEntity< 0, dim, GridImp >::operator< ( const MMeshEntity< 0, dim, GridImp > &  other) const
inline

returns true if host entities are equal

◆ operator=() [1/2]

template<int dim, class GridImp >
MMeshEntity & Dune::MMeshEntity< 0, dim, GridImp >::operator= ( const MMeshEntity< 0, dim, GridImp > &  original)
inline

◆ operator=() [2/2]

template<int dim, class GridImp >
MMeshEntity & Dune::MMeshEntity< 0, dim, GridImp >::operator= ( MMeshEntity< 0, dim, GridImp > &&  original)
inline

◆ operator==()

template<int dim, class GridImp >
bool Dune::MMeshEntity< 0, dim, GridImp >::operator== ( const MMeshEntity< 0, dim, GridImp > &  other) const
inline

returns true if host entities are equal

◆ partitionType()

template<int dim, class GridImp >
PartitionType Dune::MMeshEntity< 0, dim, GridImp >::partitionType ( ) const
inline

The partition type for parallel computing.

◆ seed()

template<int dim, class GridImp >
EntitySeed Dune::MMeshEntity< 0, dim, GridImp >::seed ( ) const
inline

Create EntitySeed.

◆ setIsNew()

template<int dim, class GridImp >
void Dune::MMeshEntity< 0, dim, GridImp >::setIsNew ( bool  isNew) const
inline

set if this entity is new after adaptation

◆ setWillVanish()

template<int dim, class GridImp >
void Dune::MMeshEntity< 0, dim, GridImp >::setWillVanish ( bool  mightVanish) const
inline

set if this entity will vanish after adaptation

◆ subEntities()

template<int dim, class GridImp >
unsigned int Dune::MMeshEntity< 0, dim, GridImp >::subEntities ( unsigned int  cc) const
inline

Return the number of subEntities of codimension cc.

◆ subEntity() [1/4]

template<int dim, class GridImp >
template<int cc>
std::enable_if_t< cc==0, typename GridImp::template Codim< cc >::Entity > Dune::MMeshEntity< 0, dim, GridImp >::subEntity ( unsigned int  i) const
inline

Provide access to sub entity i of given codimension. Entities are numbered 0 ... subEntities(cc)-1.

◆ subEntity() [2/4]

template<int dim, class GridImp >
template<int cc>
std::enable_if_t< cc==dim, typename GridImp::template Codim< cc >::Entity > Dune::MMeshEntity< 0, dim, GridImp >::subEntity ( unsigned int  i) const
inline

◆ subEntity() [3/4]

template<int dim, class GridImp >
template<int cc>
std::enable_if_t< cc==1, typename GridImp::template Codim< cc >::Entity > Dune::MMeshEntity< 0, dim, GridImp >::subEntity ( unsigned int  i) const
inline

◆ subEntity() [4/4]

template<int dim, class GridImp >
template<int cc>
std::enable_if_t< cc==2 &&dim==3, typename GridImp::template Codim< cc >::Entity > Dune::MMeshEntity< 0, dim, GridImp >::subEntity ( unsigned int  i) const
inline

◆ type()

template<int dim, class GridImp >
GeometryType Dune::MMeshEntity< 0, dim, GridImp >::type ( ) const
inline

returns the geometry type

◆ wasRefined()

template<int dim, class GridImp >
bool Dune::MMeshEntity< 0, dim, GridImp >::wasRefined ( ) const
inline

returns if grid was refined

Friends And Related Symbol Documentation

◆ HostGridAccess< typename std::remove_const< GridImp >::type >

template<int dim, class GridImp >
friend struct HostGridAccess< typename std::remove_const< GridImp >::type >
friend

Member Data Documentation

◆ father_

template<int dim, class GridImp >
const EntityType* Dune::MMeshEntity< 0, dim, GridImp >::father_
protected

◆ vertex_

template<int dim, class GridImp >
VertexStorage Dune::MMeshEntity< 0, dim, GridImp >::vertex_
protected

the vertices of the host entity object of this entity (for caching entity)


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