|
OPALX (Object Oriented Parallel Accelerator Library for Exascale) MINIorX
OPALX
|
Base class for meshing routines. More...
#include <Mesh.h>


Classes | |
| class | Iterator |
| Used to loop over some, or all, points in the mesh, as in stl Enables e.g. More... | |
Public Member Functions | |
| Mesh () | |
| Constructor (does nothing) More... | |
| virtual Mesh::Iterator | begin () const =0 |
| Return the first point on the mesh. More... | |
| virtual Mesh::Iterator | end () const =0 |
| Return the last+1 point on the mesh. More... | |
| virtual Mesh * | clone ()=0 |
| Return a copy of child object. More... | |
| virtual Mesh * | dual () const =0 |
| Return the "Dual" of the mesh or nullptr if not implemented. More... | |
| virtual | ~Mesh () |
| Destructor - does nothing. More... | |
| virtual void | getPosition (const Mesh::Iterator &it, double *position) const =0 |
| Return the position of a point in the mesh. More... | |
| virtual int | getPositionDimension () const =0 |
| Return the dimension of the mesh. More... | |
| virtual int | toInteger (const Mesh::Iterator &lhs) const =0 |
| Map from iterator to an integer used to index the iterator. More... | |
| virtual Mesh::Iterator | getNearest (const double *position) const =0 |
| Find the point on the mesh nearest to given point. More... | |
Protected Member Functions | |
| virtual Mesh::Iterator & | addEquals (Mesh::Iterator &lhs, int difference) const =0 |
| Add difference to lhs and then return lhs. More... | |
| virtual Mesh::Iterator & | subEquals (Mesh::Iterator &lhs, int difference) const =0 |
| Subtract difference from lhs and then return lhs. More... | |
| virtual Mesh::Iterator & | addEquals (Mesh::Iterator &lhs, const Mesh::Iterator &rhs) const =0 |
| Add difference to lhs and then return lhs. More... | |
| virtual Mesh::Iterator & | subEquals (Mesh::Iterator &lhs, const Mesh::Iterator &rhs) const =0 |
| Subtract difference from lhs and then return lhs. More... | |
| virtual Mesh::Iterator & | addOne (Mesh::Iterator &lhs) const =0 |
| Increment position of lhs by one and then return lhs. More... | |
| virtual Mesh::Iterator & | subOne (Mesh::Iterator &lhs) const =0 |
| Decrement position of lhs by one and then return lhs. More... | |
| virtual bool | isGreater (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) const =0 |
| Return true if rhs is greater than lhs. More... | |
Friends | |
| Mesh::Iterator | operator++ (Mesh::Iterator &lhs, int) |
| Postfix increment operator it++ advances iterator by one. More... | |
| Mesh::Iterator | operator-- (Mesh::Iterator &lhs, int) |
| Postfix decrement operator it– retreats iterator by one. More... | |
| Mesh::Iterator & | operator++ (Mesh::Iterator &lhs) |
| Prefix increment operator ++it. More... | |
| Mesh::Iterator & | operator-- (Mesh::Iterator &lhs) |
| Prefix decrement operator –it retreats iterator by one More... | |
| Mesh::Iterator | operator- (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Subtraction operator - subtracts offset of rhs relative to Begin() from lhs. More... | |
| Mesh::Iterator | operator+ (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Addition operator - adds offset of rhs of rhs relative to Begin() to lhs. More... | |
| Mesh::Iterator & | operator-= (Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Subtraction operator - subtracts offset of rhs relative to Begin() from lhs and returns lhs. More... | |
| Mesh::Iterator & | operator+= (Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Addition operator - adds offset of rhs of rhs relative to Begin() to lhs and returns lhs. More... | |
| Mesh::Iterator | operator- (const Mesh::Iterator &lhs, const int &rhs) |
| Subtraction operator - subtracts from lhs and returns copy of lhs. More... | |
| Mesh::Iterator | operator+ (const Mesh::Iterator &lhs, const int &rhs) |
| Addition operator - adds rhs to lhs and returns copy of lhs. More... | |
| Mesh::Iterator & | operator-= (Mesh::Iterator &lhs, const int &rhs) |
| Subtraction operator - subtracts rhs from lhs and returns lhs. More... | |
| Mesh::Iterator & | operator+= (Mesh::Iterator &lhs, const int &rhs) |
| Addition operator - subtracts rhs from lhs and returns lhs. More... | |
| bool | operator== (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Return true if lhs indexes the same position as rhs. More... | |
| bool | operator!= (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Return true if lhs does not index the same position as rhs. More... | |
| bool | operator>= (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Return true if lhs indexes a position greater than or equal to rhs i.e. More... | |
| bool | operator<= (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Return true if lhs indexes a position less than or equal to rhs i.e. More... | |
| bool | operator< (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Return true if lhs indexes a position less than rhs i.e. More... | |
| bool | operator> (const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) |
| Return true if lhs indexes a position greater than rhs i.e. More... | |
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 opalx/src/Fields/Interpolation/Mesh.h.
|
inline |
Constructor (does nothing)
|
inlinevirtual |
Destructor - does nothing.
|
protectedpure virtual |
Add difference to lhs and then return lhs.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
protectedpure virtual |
Add difference to lhs and then return lhs.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
protectedpure virtual |
Increment position of lhs by one and then return lhs.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
pure virtual |
Return the first point on the mesh.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
Referenced by interpolation::PPSolveFactory::outOfBoundsPosition(), and interpolation::PPSolveFactory::solve().
|
pure virtual |
Return a copy of child object.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
Referenced by interpolation::PolynomialPatch::clone().
|
pure virtual |
Return the "Dual" of the mesh or nullptr if not implemented.
Dual is a polyhedron that has centre of each face as a point on the mesh
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
Referenced by interpolation::PPSolveFactory::PPSolveFactory().
|
pure virtual |
Return the last+1 point on the mesh.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
Referenced by interpolation::PPSolveFactory::getDerivs(), interpolation::PPSolveFactory::getValues(), interpolation::PPSolveFactory::outOfBoundsPosition(), interpolation::PolynomialPatch::PolynomialPatch(), interpolation::PPSolveFactory::PPSolveFactory(), and interpolation::PPSolveFactory::solve().
|
pure virtual |
Find the point on the mesh nearest to given point.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
Referenced by interpolation::PolynomialPatch::function(), and interpolation::PolynomialPatch::getPolynomialVector().
|
pure virtual |
Return the position of a point in the mesh.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
pure virtual |
Return the dimension of the mesh.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
Referenced by interpolation::PPSolveFactory::getDerivPoints(), interpolation::PPSolveFactory::getPoints(), interpolation::PolynomialPatch::PolynomialPatch(), interpolation::PPSolveFactory::PPSolveFactory(), and interpolation::PPSolveFactory::solve().
|
protectedpure virtual |
Return true if rhs is greater than lhs.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
protectedpure virtual |
Subtract difference from lhs and then return lhs.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
protectedpure virtual |
Subtract difference from lhs and then return lhs.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
protectedpure virtual |
Decrement position of lhs by one and then return lhs.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
pure virtual |
Map from iterator to an integer used to index the iterator.
Implemented in interpolation::NDGrid, and interpolation::ThreeDGrid.
|
friend |
Return true if lhs does not index the same position as rhs.
|
friend |
Addition operator - adds rhs to lhs and returns copy of lhs.
|
friend |
Addition operator - adds offset of rhs of rhs relative to Begin() to lhs.
|
friend |
Prefix increment operator ++it.
|
friend |
Postfix increment operator it++ advances iterator by one.
|
friend |
Addition operator - subtracts rhs from lhs and returns lhs.
|
friend |
Addition operator - adds offset of rhs of rhs relative to Begin() to lhs and returns lhs.
|
friend |
Subtraction operator - subtracts from lhs and returns copy of lhs.
|
friend |
Subtraction operator - subtracts offset of rhs relative to Begin() from lhs.
|
friend |
Prefix decrement operator –it retreats iterator by one
|
friend |
Postfix decrement operator it– retreats iterator by one.
|
friend |
Subtraction operator - subtracts rhs from lhs and returns lhs.
|
friend |
Subtraction operator - subtracts offset of rhs relative to Begin() from lhs and returns lhs.
|
friend |
Return true if lhs indexes a position less than rhs i.e.
successive operation of decrement operator would eventually reach lhs
|
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
|
friend |
Return true if lhs indexes the same position as rhs.
|
friend |
Return true if lhs indexes a position greater than rhs i.e.
successive operation of increment operator would eventually reach lhs
|
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