BEM++  2.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Groups Pages
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Bempp::ConcreteSubentityIterator< DuneEntity, codimSub > Class Template Reference

Iterator over the subentities of codimension codimSub of a given Dune entity of type DuneEntity. More...

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

Inheritance diagram for Bempp::ConcreteSubentityIterator< DuneEntity, codimSub >:
Bempp::EntityIterator< codimSub > Bempp::EntityPointer< codim >

Public Types

typedef DuneEntity::template
Codim< codimSub >
::EntityPointer 
DuneSubentityPointer
 Type of the Dune entity pointer corresponding to DuneEntity.
 
typedef
DuneSubentityPointer::Entity 
DuneSubentity
 Type of the appropriate subentity of DuneEntity.
 
- Public Types inherited from Bempp::EntityPointer< codim >
enum  { codimension = codim }
 Entity codimension.
 

Public Member Functions

 ConcreteSubentityIterator (const DuneEntity *dune_entity, const DomainIndex &domain_index)
 Constructor. More...
 
virtual void next ()
 Increment iterator.
 
virtual const Entity
< ConcreteSubentityIterator::codimension > & 
entity () const
 Read-only access to the entity referenced by the iterator.
 
virtual std::auto_ptr
< EntityPointer
< ConcreteSubentityIterator::codimension > > 
frozen () const
 A stable pointer to the entity currently referenced by the iterator. More...
 
- Public Member Functions inherited from Bempp::EntityIterator< codimSub >
bool finished () const
 True if iterator points past the end of the iteration range.
 
- Public Member Functions inherited from Bempp::EntityPointer< codim >
virtual ~EntityPointer ()
 Destructor.
 

Private Member Functions

 dune_static_assert (DuneEntity::codimension==0,"ConcreteSubentityIterator: only codim-0 entities ""support iteration over subentities")
 
 dune_static_assert ((int) DuneEntity::codimension< (int) ConcreteSubentityIterator::codimension,"ConcreteSubentityIterator: subentity codimension ""must exceed entity codimension")
 
void updateFinished ()
 
void updateSubentity ()
 

Private Attributes

const DuneEntity * m_dune_entity
 
DuneSubentityPointer m_dune_subentity_ptr
 
ConcreteEntity
< ConcreteSubentityIterator::codimension,
DuneSubentity
m_subentity
 
const DomainIndexm_domain_index
 
int m_cur_n
 

Additional Inherited Members

- Protected Attributes inherited from Bempp::EntityIterator< codimSub >
bool m_finished
 

Detailed Description

template<typename DuneEntity, int codimSub>
class Bempp::ConcreteSubentityIterator< DuneEntity, codimSub >

Iterator over the subentities of codimension codimSub of a given Dune entity of type DuneEntity.

Constructor & Destructor Documentation

template<typename DuneEntity , int codimSub>
Bempp::ConcreteSubentityIterator< DuneEntity, codimSub >::ConcreteSubentityIterator ( const DuneEntity *  dune_entity,
const DomainIndex domain_index 
)
inlineexplicit

Constructor.

Parameters
dune_entityEntity whose subentities will be iterated over

Member Function Documentation

template<typename DuneEntity , int codimSub>
virtual std::auto_ptr<EntityPointer<ConcreteSubentityIterator::codimension> > Bempp::ConcreteSubentityIterator< DuneEntity, codimSub >::frozen ( ) const
inlinevirtual

A stable pointer to the entity currently referenced by the iterator.

The returned pointer is guaranteed to keep referring to the same entity even if the iterator is incremented or destroyed, as long as the grid is not adapted and the grid object itself stays alive.

Implements Bempp::EntityIterator< codimSub >.


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