dune-grid  2.4.1
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 More...
 
typedef GridImp::template
Codim< 0 >::Entity 
Entity
 Entity type. More...
 
typedef GridImp::template
Codim< 0 >::EntityPointer 
EntityPointer
 type of EntityPointer More...
 
typedef GridImp::template
Codim< 1 >::Geometry 
Geometry
 type of intersectionGlobal More...
 
typedef GridImp::template
Codim< 1 >::LocalGeometry 
LocalGeometry
 type of intersection*Local More...
 
typedef FieldVector< ctype,
dimworld > 
NormalType
 type of normal vector More...
 

Public Member Functions

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

twist of the face seen from the outer 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: