OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Classes | Public Member Functions | Protected Member Functions | Friends | List of all members
interpolation::Mesh Class Referenceabstract

Base class for meshing routines. More...

#include <Mesh.h>

Inheritance diagram for interpolation::Mesh:
Inheritance graph
[legend]

Classes

class  Iterator
 

Public Member Functions

 Mesh ()
 
virtual Mesh::Iterator begin () const =0
 
virtual Mesh::Iterator end () const =0
 
virtual Meshclone ()=0
 
virtual Meshdual () const =0
 
virtual ~Mesh ()
 
virtual void getPosition (const Mesh::Iterator &it, double *position) const =0
 
virtual int getPositionDimension () const =0
 
virtual int toInteger (const Mesh::Iterator &lhs) const =0
 
virtual Mesh::Iterator getNearest (const double *position) const =0
 

Protected Member Functions

virtual Mesh::IteratoraddEquals (Mesh::Iterator &lhs, int difference) const =0
 
virtual Mesh::IteratorsubEquals (Mesh::Iterator &lhs, int difference) const =0
 
virtual Mesh::IteratoraddEquals (Mesh::Iterator &lhs, const Mesh::Iterator &rhs) const =0
 
virtual Mesh::IteratorsubEquals (Mesh::Iterator &lhs, const Mesh::Iterator &rhs) const =0
 
virtual Mesh::IteratoraddOne (Mesh::Iterator &lhs) const =0
 
virtual Mesh::IteratorsubOne (Mesh::Iterator &lhs) const =0
 
virtual bool isGreater (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) const =0
 

Friends

Mesh::Iterator operator++ (Mesh::Iterator &lhs, int)
 
Mesh::Iterator operator-- (Mesh::Iterator &lhs, int)
 
Mesh::Iteratoroperator++ (Mesh::Iterator &lhs)
 
Mesh::Iteratoroperator-- (Mesh::Iterator &lhs)
 
Mesh::Iterator operator- (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
Mesh::Iterator operator+ (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
Mesh::Iteratoroperator-= (Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
Mesh::Iteratoroperator+= (Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
Mesh::Iterator operator- (const Mesh::Iterator &lhs, const int &rhs)
 
Mesh::Iterator operator+ (const Mesh::Iterator &lhs, const int &rhs)
 
Mesh::Iteratoroperator-= (Mesh::Iterator &lhs, const int &rhs)
 
Mesh::Iteratoroperator+= (Mesh::Iterator &lhs, const int &rhs)
 
bool operator== (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
bool operator!= (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
bool operator>= (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
bool operator<= (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
bool operator< (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 
bool operator> (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
 

Detailed Description

Base class for meshing routines.

Aim is to describe a set of points in various dimensions etc for use in interpolation routines. Concrete classes are TwoDGrid, ThreeDGrid, NDGrid and TriangularMesh (two dimensional delaunay mesh).

Iterator is defined for easy access to all member data (e.g. for IO) but no const_iterator type.

Definition at line 49 of file Mesh.h.

Constructor & Destructor Documentation

interpolation::Mesh::Mesh ( )
inline

Constructor (does nothing)

virtual interpolation::Mesh::~Mesh ( )
inlinevirtual

Destructor - does nothing

Member Function Documentation

virtual Mesh::Iterator& interpolation::Mesh::addEquals ( Mesh::Iterator lhs,
int  difference 
) const
protectedpure virtual

Add difference to lhs and then return lhs

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

virtual Mesh::Iterator& interpolation::Mesh::addEquals ( Mesh::Iterator lhs,
const Mesh::Iterator rhs 
) const
protectedpure virtual

Add difference to lhs and then return lhs

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

virtual Mesh::Iterator& interpolation::Mesh::addOne ( Mesh::Iterator lhs) const
protectedpure virtual

Increment position of lhs by one and then return lhs

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

virtual Mesh::Iterator interpolation::Mesh::begin ( ) const
pure virtual
virtual Mesh* interpolation::Mesh::clone ( )
pure virtual

Return a copy of child object

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

Referenced by interpolation::PolynomialPatch::clone().

virtual Mesh* interpolation::Mesh::dual ( ) const
pure virtual

Return the "Dual" of the mesh or NULL if not implemented

Dual is a polyhedron that has centre of each face as a point on the mesh

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

Referenced by interpolation::PPSolveFactory::PPSolveFactory().

virtual Mesh::Iterator interpolation::Mesh::end ( ) const
pure virtual
virtual Mesh::Iterator interpolation::Mesh::getNearest ( const double *  position) const
pure virtual

Find the point on the mesh nearest to given point

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

Referenced by interpolation::PolynomialPatch::function(), and interpolation::PolynomialPatch::getPolynomialVector().

virtual void interpolation::Mesh::getPosition ( const Mesh::Iterator it,
double *  position 
) const
pure virtual

Return the position of a point in the mesh

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

virtual int interpolation::Mesh::getPositionDimension ( ) const
pure virtual
virtual bool interpolation::Mesh::isGreater ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
) const
protectedpure virtual

Return true if rhs is greater than lhs

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

virtual Mesh::Iterator& interpolation::Mesh::subEquals ( Mesh::Iterator lhs,
int  difference 
) const
protectedpure virtual

Subtract difference from lhs and then return lhs

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

virtual Mesh::Iterator& interpolation::Mesh::subEquals ( Mesh::Iterator lhs,
const Mesh::Iterator rhs 
) const
protectedpure virtual

Subtract difference from lhs and then return lhs

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

virtual Mesh::Iterator& interpolation::Mesh::subOne ( Mesh::Iterator lhs) const
protectedpure virtual

Decrement position of lhs by one and then return lhs

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

virtual int interpolation::Mesh::toInteger ( const Mesh::Iterator lhs) const
pure virtual

Map from iterator to an integer used to index the iterator

Implemented in interpolation::ThreeDGrid, and interpolation::NDGrid.

Friends And Related Function Documentation

bool operator!= ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Return true if lhs does not index the same position as rhs

Mesh::Iterator operator+ ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Addition operator - adds offset of rhs of rhs relative to Begin() to lhs

Mesh::Iterator operator+ ( const Mesh::Iterator lhs,
const int &  rhs 
)
friend

Addition operator - adds rhs to lhs and returns copy of lhs

Mesh::Iterator operator++ ( Mesh::Iterator lhs,
int   
)
friend

Postfix increment operator it++ advances iterator by one

Mesh::Iterator& operator++ ( Mesh::Iterator lhs)
friend

Prefix increment operator ++it

Mesh::Iterator& operator+= ( Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Addition operator - adds offset of rhs of rhs relative to Begin() to lhs and returns lhs

Mesh::Iterator& operator+= ( Mesh::Iterator lhs,
const int &  rhs 
)
friend

Addition operator - subtracts rhs from lhs and returns lhs

Mesh::Iterator operator- ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Subtraction operator - subtracts offset of rhs relative to Begin() from lhs

Mesh::Iterator operator- ( const Mesh::Iterator lhs,
const int &  rhs 
)
friend

Subtraction operator - subtracts from lhs and returns copy of lhs

Mesh::Iterator operator-- ( Mesh::Iterator lhs,
int   
)
friend

Postfix decrement operator it– retreats iterator by one

Mesh::Iterator& operator-- ( Mesh::Iterator lhs)
friend

Prefix decrement operator –it retreats iterator by one

Mesh::Iterator& operator-= ( Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Subtraction operator - subtracts offset of rhs relative to Begin() from lhs and returns lhs

Mesh::Iterator& operator-= ( Mesh::Iterator lhs,
const int &  rhs 
)
friend

Subtraction operator - subtracts rhs from lhs and returns lhs

bool operator< ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Return true if lhs indexes a position less than rhs i.e. successive operation of decrement operator would eventually reach lhs

bool operator<= ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Return true if lhs indexes a position less than or equal to rhs i.e. successive operation of decrement operator would eventually reach lhs

bool operator== ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Return true if lhs indexes the same position as rhs

bool operator> ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Return true if lhs indexes a position greater than rhs i.e. successive operation of increment operator would eventually reach lhs

bool operator>= ( const Mesh::Iterator lhs,
const Mesh::Iterator rhs 
)
friend

Return true if lhs indexes a position greater than or equal to rhs i.e. successive operation of increment operator would eventually reach lhs


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