ug4
ug::IGeometry< dim > Class Template Referenceabstract

provides a grid and access to the coordinates of the vertices More...

#include <geometry.h>

+ Inheritance diagram for ug::IGeometry< dim >:

Public Types

typedef MathVector< dimvector_t
 

Public Member Functions

virtual vector_t element_center (Edge *e) const =0
 
virtual vector_t element_center (Face *e) const =0
 
virtual vector_t element_center (Vertex *e) const =0
 
virtual vector_t element_center (Volume *e) const =0
 
Gridgrid () const
 
 IGeometry (Grid &g)
 
virtual vector_t pos (Vertex *vrt) const =0
 
virtual const IAttachmentposition_attachment () const =0
 
virtual int position_attachment_dim () const =0
 
virtual void set_pos (Vertex *vrt, const vector_t &p)=0
 
virtual ~IGeometry ()
 

Private Attributes

Gridm_grid
 

Detailed Description

template<int dim>
class ug::IGeometry< dim >

provides a grid and access to the coordinates of the vertices

The class serves as a base class for wrappers around grid coordinates. It allows for the implementation of fixed-dim classes which can operate on coordinates arbitrary dimension.

Vertex coordinates of the fixed dimension 'dim' can be accessed through the method 'pos' and can be set through the method 'set_pos'.

For code that has to operate on the original position attachment, the following methods are provided: The dimension of the original 'attached' coordinates can be accessed through 'position_attachment_dim'. The attachement for those original coordinates can be accessed through 'position_attachment'.

If 'attachmentDim == position_attachment_dim()', then the return value of 'position_attachment' must always be castable to 'Attachment<MathVector<attachmentDim> >'.

See also
Geometry

Member Typedef Documentation

◆ vector_t

template<int dim>
typedef MathVector<dim> ug::IGeometry< dim >::vector_t

Constructor & Destructor Documentation

◆ IGeometry()

template<int dim>
ug::IGeometry< dim >::IGeometry ( Grid g)
inline

◆ ~IGeometry()

template<int dim>
virtual ug::IGeometry< dim >::~IGeometry ( )
inlinevirtual

Member Function Documentation

◆ element_center() [1/4]

template<int dim>
virtual vector_t ug::IGeometry< dim >::element_center ( Edge e) const
pure virtual

◆ element_center() [2/4]

template<int dim>
virtual vector_t ug::IGeometry< dim >::element_center ( Face e) const
pure virtual

◆ element_center() [3/4]

template<int dim>
virtual vector_t ug::IGeometry< dim >::element_center ( Vertex e) const
pure virtual

◆ element_center() [4/4]

template<int dim>
virtual vector_t ug::IGeometry< dim >::element_center ( Volume e) const
pure virtual

◆ grid()

◆ pos()

template<int dim>
virtual vector_t ug::IGeometry< dim >::pos ( Vertex vrt) const
pure virtual

◆ position_attachment()

template<int dim>
virtual const IAttachment& ug::IGeometry< dim >::position_attachment ( ) const
pure virtual

◆ position_attachment_dim()

template<int dim>
virtual int ug::IGeometry< dim >::position_attachment_dim ( ) const
pure virtual

◆ set_pos()

template<int dim>
virtual void ug::IGeometry< dim >::set_pos ( Vertex vrt,
const vector_t p 
)
pure virtual

Member Data Documentation

◆ m_grid

template<int dim>
Grid& ug::IGeometry< dim >::m_grid
private

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