BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | Private Member Functions | List of all members
Bempp::Entity< 0 > Class Template Referenceabstract

Abstract wrapper of an entity of codimension 0. More...

#include </home/wojtek/Projects/BEM/bempp-sven/bempp/lib/grid/entity.hpp>

Inheritance diagram for Bempp::Entity< 0 >:
Bempp::ConcreteEntity< 0, DuneEntity >

Public Types

enum  { codimension = 0 }
 Entity codimension.
 

Public Member Functions

virtual ~Entity ()
 Destructor.
 
template<int codimSub>
size_t subEntityCount () const
 Number of subentities of codimension codimSub.
 
template<int codimSub>
std::auto_ptr< EntityIterator
< codimSub > > 
subEntityIterator () const
 Iterator over subentities of codimension codimSub. More...
 
virtual std::auto_ptr
< EntityPointer< 0 > > 
father () const =0
 Inter-level access to father entity on the next-coarser grid. More...
 
virtual bool hasFather () const =0
 True if entity has a father entity which can be accessed using the father() method.
 
virtual bool isLeaf () const =0
 True if the entity is contained in the leaf grid.
 
virtual bool isRegular () const =0
 True if the element is of regular type in red/green type refinement. More...
 
virtual std::auto_ptr
< EntityIterator< 0 > > 
sonIterator (int maxlevel) const =0
 Inter-level access to elements that resulted from (recursive) subdivision of this element. More...
 
virtual bool isNew () const =0
 True if the entity has been created during the last call to adapt().
 
virtual bool mightVanish () const =0
 True if the entity might disappear during the next call to adapt(). More...
 
virtual int domain () const =0
 Entity level
 
template<>
std::auto_ptr< EntityIterator< 1 > > subEntityIterator () const
 
template<>
std::auto_ptr< EntityIterator< 2 > > subEntityIterator () const
 
template<>
std::auto_ptr< EntityIterator< 3 > > subEntityIterator () const
 
template<>
size_t subEntityCount () const
 
Methods shared by entities of all codimensions
virtual size_t level () const =0
 Entity level
 
virtual const Geometrygeometry () const =0
 Reference to the geometry of this entity. More...
 
virtual GeometryType type () const =0
 Type of the reference element. More...
 

Private Member Functions

virtual std::auto_ptr
< EntityIterator< 1 > > 
subEntityCodim1Iterator () const =0
 Iterator over subentities of codimension 1.
 
virtual std::auto_ptr
< EntityIterator< 2 > > 
subEntityCodim2Iterator () const =0
 Iterator over subentities of codimension 2.
 
virtual std::auto_ptr
< EntityIterator< 3 > > 
subEntityCodim3Iterator () const =0
 Iterator over subentities of codimension 3.
 
virtual size_t subEntityCodim1Count () const =0
 Number of subentities of codimension 1.
 
virtual size_t subEntityCodim2Count () const =0
 Number of subentities of codimension 1.
 
virtual size_t subEntityCodim3Count () const =0
 Number of subentities of codimension 1.
 

Detailed Description

template<>
class Bempp::Entity< 0 >

Abstract wrapper of an entity of codimension 0.

Member Function Documentation

virtual std::auto_ptr<EntityPointer<0> > Bempp::Entity< 0 >::father ( ) const
pure virtual

Inter-level access to father entity on the next-coarser grid.

The given entity resulted directly from a subdivision of its father entity. For macro (level-0) elements a null auto_ptr is returned.

Implemented in Bempp::ConcreteEntity< 0, DuneEntity >.

virtual const Geometry& Bempp::Entity< 0 >::geometry ( ) const
pure virtual

Reference to the geometry of this entity.

This object gives, among other things, the map from a reference element to world coordinates.

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.

Implemented in Bempp::ConcreteEntity< 0, DuneEntity >.

Referenced by Bempp::Grid::areInside(), Bempp::GridFunction< BasisFunctionType, ResultType >::evaluate(), Bempp::GridFunction< BasisFunctionType, ResultType >::exportToGmsh(), Bempp::UnitScalarSpace< BasisFunctionType >::getFlatLocalDofBoundingBoxes(), Bempp::PiecewiseConstantDualGridDiscontinuousScalarSpace< BasisFunctionType >::getFlatLocalDofBoundingBoxes(), Bempp::PiecewiseLinearContinuousScalarSpace< BasisFunctionType >::getFlatLocalDofBoundingBoxes(), Bempp::PiecewiseConstantDualGridScalarSpace< BasisFunctionType >::getFlatLocalDofBoundingBoxes(), Bempp::PiecewiseLinearDiscontinuousScalarSpaceBarycentric< BasisFunctionType >::getFlatLocalDofBoundingBoxes(), Bempp::PiecewiseLinearContinuousScalarSpaceBarycentric< BasisFunctionType >::getFlatLocalDofBoundingBoxes(), Bempp::RaviartThomas0VectorSpace< BasisFunctionType >::getFlatLocalDofBoundingBoxes(), Bempp::PiecewiseConstantDualGridDiscontinuousScalarSpace< BasisFunctionType >::getFlatLocalDofNormals(), Bempp::PiecewiseConstantDualGridScalarSpace< BasisFunctionType >::getFlatLocalDofNormals(), Bempp::PiecewiseLinearContinuousScalarSpace< BasisFunctionType >::getFlatLocalDofNormals(), Bempp::PiecewiseConstantScalarSpaceBarycentric< BasisFunctionType >::getFlatLocalDofNormals(), Bempp::PiecewiseConstantDiscontinuousScalarSpaceBarycentric< BasisFunctionType >::getFlatLocalDofNormals(), Bempp::PiecewiseLinearDiscontinuousScalarSpaceBarycentric< BasisFunctionType >::getFlatLocalDofNormals(), Bempp::PiecewiseLinearContinuousScalarSpaceBarycentric< BasisFunctionType >::getFlatLocalDofNormals(), Bempp::RaviartThomas0VectorSpace< BasisFunctionType >::getFlatLocalDofNormals(), Bempp::UnitScalarSpace< BasisFunctionType >::getFlatLocalDofPositions(), Bempp::UnitScalarSpace< BasisFunctionType >::getGlobalDofBoundingBoxes(), Bempp::PiecewiseConstantScalarSpace< BasisFunctionType >::getGlobalDofBoundingBoxes(), Bempp::PiecewiseLinearDiscontinuousScalarSpaceBarycentric< BasisFunctionType >::getGlobalDofNormals(), Bempp::PiecewiseLinearContinuousScalarSpaceBarycentric< BasisFunctionType >::getGlobalDofNormals(), Bempp::RaviartThomas0VectorSpace< BasisFunctionType >::getGlobalDofNormals(), and Bempp::UnitScalarSpace< BasisFunctionType >::getGlobalDofPositions().

virtual bool Bempp::Entity< 0 >::isRegular ( ) const
pure virtual

True if the element is of regular type in red/green type refinement.

In bisection or hanging node refinement this is always true.

Implemented in Bempp::ConcreteEntity< 0, DuneEntity >.

virtual bool Bempp::Entity< 0 >::mightVanish ( ) const
pure virtual

True if the entity might disappear during the next call to adapt().

If the method returns false, the entity is guaranteed to still be present after adaptation.

Implemented in Bempp::ConcreteEntity< 0, DuneEntity >.

virtual std::auto_ptr<EntityIterator<0> > Bempp::Entity< 0 >::sonIterator ( int  maxlevel) const
pure virtual

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

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

Implemented in Bempp::ConcreteEntity< 0, DuneEntity >.

template<int codimSub>
std::auto_ptr<EntityIterator<codimSub> > Bempp::Entity< 0 >::subEntityIterator ( ) const
inline

Iterator over subentities of codimension codimSub.

Note
codimSub must be greater than 0 and less than the dimension of the grid.
virtual GeometryType Bempp::Entity< 0 >::type ( ) const
pure virtual

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