dune-grid 2.9.0
Public Types | Public Member Functions | Protected Types | Static Protected Member Functions | List of all members
Dune::BoundarySegment< dim, dimworld, ctype > Struct Template Referenceabstract

Base class for classes implementing geometries of boundary segments. More...

#include <dune/grid/common/boundarysegment.hh>

Inheritance diagram for Dune::BoundarySegment< dim, dimworld, ctype >:
Inheritance graph

Public Types

typedef BoundarySegment< dim, dimworld, ctype > ThisType
 
typedef BoundarySegmentBackupRestore< BoundarySegment< dim, dimworld, ctype > > BaseType
 
typedef BaseType::ObjectStreamType ObjectStreamType
 

Public Member Functions

virtual ~BoundarySegment ()
 Dummy virtual destructor. More...
 
virtual FieldVector< ctype, dimworld > operator() (const FieldVector< ctype, dim-1 > &local) const =0
 A function mapping local coordinates on a boundary segment to world coordinates. More...
 
virtual void backup (ObjectStreamType &buffer) const
 write BoundarySegment's data to stream buffer More...
 

Protected Types

typedef BoundarySegment< dim, dimworld, ctype > BoundarySegment
 type of BoundarySegment interface class More...
 
typedef Dune::ParameterizedObjectFactory< std::unique_ptr< BoundarySegment >(ObjectStreamType &), int > FactoryType
 type of factory creating a unique_ptr from an ObjectStreamType More...
 

Static Protected Member Functions

static std::unique_ptr< BoundarySegmentrestore (ObjectStreamType &in)
 create an object of BoundarySegment type from a previously registered factory linked to key. More...
 
static int registerFactory ()
 

Detailed Description

template<int dim, int dimworld, class ctype>
struct Dune::BoundarySegment< dim, dimworld, ctype >

Base class for classes implementing geometries of boundary segments.

Some grid implementations, as for example UGGrid, allow to use boundary segments of arbitrary geometry. That means that you can have grid boundaries approach smooth shapes when refining the grid.

Such curved boundary segments are specified by giving classes that implement them. Each boundary segment is implemented by an object of a class derived from BoundarySegment. The set of these objects is handed over to the grid upon grid construction.

Template Parameters
dimDimension of the grid
dimworldDimension of the Euclidean space the grid is embedded in
ctypetype of coordinate storage (default is double)

Member Typedef Documentation

◆ BaseType

template<int dim, int dimworld, class ctype >
typedef BoundarySegmentBackupRestore< BoundarySegment< dim, dimworld, ctype > > Dune::BoundarySegment< dim, dimworld, ctype >::BaseType

◆ BoundarySegment

typedef BoundarySegment< dim, dimworld, ctype > Dune::BoundarySegmentBackupRestore< BoundarySegment< dim, dimworld, ctype > >::BoundarySegment
protectedinherited

type of BoundarySegment interface class

◆ FactoryType

typedef Dune::ParameterizedObjectFactory< std::unique_ptr< BoundarySegment >( ObjectStreamType& ), int > Dune::BoundarySegmentBackupRestore< BoundarySegment< dim, dimworld, ctype > >::FactoryType
protectedinherited

type of factory creating a unique_ptr from an ObjectStreamType

◆ ObjectStreamType

template<int dim, int dimworld, class ctype >
typedef BaseType::ObjectStreamType Dune::BoundarySegment< dim, dimworld, ctype >::ObjectStreamType

◆ ThisType

template<int dim, int dimworld, class ctype >
typedef BoundarySegment< dim, dimworld, ctype > Dune::BoundarySegment< dim, dimworld, ctype >::ThisType

Constructor & Destructor Documentation

◆ ~BoundarySegment()

template<int dim, int dimworld, class ctype >
virtual Dune::BoundarySegment< dim, dimworld, ctype >::~BoundarySegment ( )
inlinevirtual

Dummy virtual destructor.

Member Function Documentation

◆ backup()

template<int dim, int dimworld, class ctype >
virtual void Dune::BoundarySegment< dim, dimworld, ctype >::backup ( ObjectStreamType buffer) const
inlinevirtual

write BoundarySegment's data to stream buffer

Parameters
bufferbuffer to store data

◆ operator()()

template<int dim, int dimworld, class ctype >
virtual FieldVector< ctype, dimworld > Dune::BoundarySegment< dim, dimworld, ctype >::operator() ( const FieldVector< ctype, dim-1 > &  local) const
pure virtual

A function mapping local coordinates on a boundary segment to world coordinates.

◆ registerFactory()

static int Dune::BoundarySegmentBackupRestore< BoundarySegment< dim, dimworld, ctype > >::registerFactory ( )
inlinestaticprotectedinherited

◆ restore()

static std::unique_ptr< BoundarySegment > Dune::BoundarySegmentBackupRestore< BoundarySegment< dim, dimworld, ctype > >::restore ( ObjectStreamType in)
inlinestaticprotectedinherited

create an object of BoundarySegment type from a previously registered factory linked to key.

Parameters
instream buffer previously written with backup containing key and object data
Returns
Object derived from BoundarySegment.

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