dune-grid  2.3beta2
Public Types | Public Member Functions | List of all members
Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl > Class Template Reference

Class that wraps IntersectionIteratorImp of a grid and gets it's internal object from a object stack hold by the grid. More...

#include <dune/grid/alugrid/common/intersectioniteratorwrapper.hh>

Inheritance diagram for Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >:
Inheritance graph

Public Types

enum  { dimension = dim }
 dimension More...
enum  { dimensionworld = dimworld }
 dimensionworld More...
typedef
GridImp::GridObjectFactoryType 
FactoryType
typedef GridImp::ctype ctype
 define type used for coordinates in grid module
typedef GridImp::template
Codim< 0 >::Entity 
Entity
 Entity type.
typedef GridImp::template
Codim< 0 >::EntityPointer 
EntityPointer
 type of EntityPointer
typedef GridImp::template
Codim< 1 >::Geometry 
Geometry
 type of intersectionGlobal
typedef GridImp::template
Codim< 1 >::LocalGeometry 
LocalGeometry
 type of intersection*Local
typedef FieldVector< ctype,
dimworld > 
NormalType
 type of normal vector

Public Member Functions

template<class EntityImp >
 IntersectionIteratorWrapper (const EntityImp &en, int wLevel, bool end)
 constructor called from the ibegin and iend method
 IntersectionIteratorWrapper (const ThisType &org)
 The copy constructor.
ThisTypeoperator= (const ThisType &org)
 the f*cking assignment operator
 ~IntersectionIteratorWrapper ()
 The Destructor puts internal object back to stack.
bool equals (const ThisType &i) const
 the equality method
void increment ()
 increment iterator
EntityPointer outside () const
 access neighbor
EntityPointer inside () const
 access entity where iteration started
bool boundary () const
bool neighbor () const
 return true if across the intersection a neighbor on this level exists
int boundaryId () const
 return information about the Boundary
size_t boundarySegmentIndex () const
 return the boundary segment index
LocalGeometry geometryInInside () const
Geometry geometry () const
GeometryType type () const
 obtain the type of reference element for this intersection
int indexInInside () const
LocalGeometry geometryInOutside () const
int indexInOutside () const
int twistInSelf () const
 twist of the face seen from the inner element
int twistInInside () const
 twist of the face seen from the inner element
int twistInNeighbor () const
 twist of the face seen from the outer element
int twistInOutside () const
 twist of the face seen from the outer element
const NormalType unitOuterNormal (const FieldVector< ctype, dim-1 > &local) const
const NormalType centerUnitOuterNormal () const
const NormalType outerNormal (const FieldVector< ctype, dim-1 > &local) const
const NormalType integrationOuterNormal (const FieldVector< ctype, dim-1 > &local) const
int level () const
 return level of iterator
bool conforming () const
 return true if intersection is conform (i.e. only one neighbor)
IntersectionIteratorImp & it ()
 returns reference to underlying intersection iterator implementation
const IntersectionIteratorImp & it () const

Detailed Description

template<class GridImp, class IntersectionIteratorImpl>
class Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >

Class that wraps IntersectionIteratorImp of a grid and gets it's internal object from a object stack hold by the grid.

Member Typedef Documentation

template<class GridImp, class IntersectionIteratorImpl>
typedef GridImp :: ctype Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::ctype

define type used for coordinates in grid module

template<class GridImp, class IntersectionIteratorImpl>
typedef GridImp::template Codim<0>::Entity Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::Entity

Entity type.

template<class GridImp, class IntersectionIteratorImpl>
typedef GridImp::template Codim<0>::EntityPointer Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::EntityPointer

type of EntityPointer

template<class GridImp, class IntersectionIteratorImpl>
typedef GridImp :: GridObjectFactoryType Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::FactoryType
template<class GridImp, class IntersectionIteratorImpl>
typedef GridImp::template Codim<1>::Geometry Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::Geometry

type of intersectionGlobal

template<class GridImp, class IntersectionIteratorImpl>
typedef GridImp::template Codim<1>::LocalGeometry Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::LocalGeometry

type of intersection*Local

template<class GridImp, class IntersectionIteratorImpl>
typedef FieldVector<ctype , dimworld> Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::NormalType

type of normal vector

Member Enumeration Documentation

template<class GridImp, class IntersectionIteratorImpl>
anonymous enum

dimension

Enumerator:
dimension 
template<class GridImp, class IntersectionIteratorImpl>
anonymous enum

dimensionworld

Enumerator:
dimensionworld 

Constructor & Destructor Documentation

template<class GridImp, class IntersectionIteratorImpl>
template<class EntityImp >
Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::IntersectionIteratorWrapper ( const EntityImp &  en,
int  wLevel,
bool  end 
)
inline

constructor called from the ibegin and iend method

template<class GridImp, class IntersectionIteratorImpl>
Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::IntersectionIteratorWrapper ( const ThisType org)
inline

The copy constructor.

template<class GridImp, class IntersectionIteratorImpl>
Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::~IntersectionIteratorWrapper ( )
inline

The Destructor puts internal object back to stack.

Member Function Documentation

template<class GridImp, class IntersectionIteratorImpl>
bool Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::boundary ( ) const
inline

return true if intersection is with boundary.

Todo:
connection with boundary information, processor/outer boundary
template<class GridImp, class IntersectionIteratorImpl>
int Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::boundaryId ( ) const
inline

return information about the Boundary

template<class GridImp, class IntersectionIteratorImpl>
size_t Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::boundarySegmentIndex ( ) const
inline

return the boundary segment index

template<class GridImp, class IntersectionIteratorImpl>
const NormalType Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::centerUnitOuterNormal ( ) const
inline

return unit outer normal, this should be dependent on local coordinates for higher order boundary

template<class GridImp, class IntersectionIteratorImpl>
bool Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::conforming ( ) const
inline

return true if intersection is conform (i.e. only one neighbor)

template<class GridImp, class IntersectionIteratorImpl>
bool Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::equals ( const ThisType i) const
inline
template<class GridImp, class IntersectionIteratorImpl>
Geometry Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::geometry ( ) const
inline

intersection of codimension 1 of this neighbor with element where iteration started. Here returned element is in GLOBAL coordinates of the element where iteration started.

Referenced by Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::centerUnitOuterNormal().

template<class GridImp, class IntersectionIteratorImpl>
LocalGeometry Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::geometryInInside ( ) const
inline

intersection of codimension 1 of this neighbor with element where iteration started. Here returned element is in LOCAL coordinates of the element where iteration started.

template<class GridImp, class IntersectionIteratorImpl>
LocalGeometry Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::geometryInOutside ( ) const
inline

intersection of codimension 1 of this neighbor with element where iteration started. Here returned element is in LOCAL coordinates of neighbor

template<class GridImp, class IntersectionIteratorImpl>
void Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::increment ( )
inline
template<class GridImp, class IntersectionIteratorImpl>
int Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::indexInInside ( ) const
inline

local index of codim 1 entity in self where intersection is contained in

template<class GridImp, class IntersectionIteratorImpl>
int Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::indexInOutside ( ) const
inline

local index of codim 1 entity in neighbor where intersection is contained

template<class GridImp, class IntersectionIteratorImpl>
EntityPointer Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::inside ( ) const
inline

access entity where iteration started

template<class GridImp, class IntersectionIteratorImpl>
const NormalType Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::integrationOuterNormal ( const FieldVector< ctype, dim-1 > &  local) const
inline

return outer normal, this should be dependent on local coordinates for higher order boundary

template<class GridImp, class IntersectionIteratorImpl>
IntersectionIteratorImp& Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::it ( )
inline

returns reference to underlying intersection iterator implementation

Referenced by Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::boundary(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::boundaryId(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::boundarySegmentIndex(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::conforming(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::equals(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::geometry(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::geometryInInside(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::geometryInOutside(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::increment(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::indexInInside(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::indexInOutside(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::inside(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::integrationOuterNormal(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::IntersectionIteratorWrapper(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::level(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::neighbor(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::operator=(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::outerNormal(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::outside(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::twistInInside(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::twistInNeighbor(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::twistInOutside(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::twistInSelf(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::type(), Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::unitOuterNormal(), and Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::~IntersectionIteratorWrapper().

template<class GridImp, class IntersectionIteratorImpl>
const IntersectionIteratorImp& Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::it ( ) const
inline
template<class GridImp, class IntersectionIteratorImpl>
int Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::level ( ) const
inline

return level of iterator

template<class GridImp, class IntersectionIteratorImpl>
bool Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::neighbor ( ) const
inline

return true if across the intersection a neighbor on this level exists

template<class GridImp, class IntersectionIteratorImpl>
ThisType& Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::operator= ( const ThisType org)
inline

the f*cking assignment operator

template<class GridImp, class IntersectionIteratorImpl>
const NormalType Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::outerNormal ( const FieldVector< ctype, dim-1 > &  local) const
inline

return outer normal, this should be dependent on local coordinates for higher order boundary

template<class GridImp, class IntersectionIteratorImpl>
EntityPointer Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::outside ( ) const
inline

access neighbor

template<class GridImp, class IntersectionIteratorImpl>
int Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::twistInInside ( ) const
inline

twist of the face seen from the inner element

template<class GridImp, class IntersectionIteratorImpl>
int Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::twistInNeighbor ( ) const
inline

twist of the face seen from the outer element

template<class GridImp, class IntersectionIteratorImpl>
int Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::twistInOutside ( ) const
inline

twist of the face seen from the outer element

template<class GridImp, class IntersectionIteratorImpl>
int Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::twistInSelf ( ) const
inline

twist of the face seen from the inner element

template<class GridImp, class IntersectionIteratorImpl>
GeometryType Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::type ( ) const
inline

obtain the type of reference element for this intersection

Referenced by Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::centerUnitOuterNormal().

template<class GridImp, class IntersectionIteratorImpl>
const NormalType Dune::IntersectionIteratorWrapper< GridImp, IntersectionIteratorImpl >::unitOuterNormal ( const FieldVector< ctype, dim-1 > &  local) const
inline

return unit outer normal, this should be dependent on local coordinates for higher order boundary

Referenced by Dune::IntersectionIteratorWrapper< GridImp, GridImp::LeafIntersectionIteratorImp >::centerUnitOuterNormal().


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