31 #ifndef _CLASSIC_FIELDS_MESH_H_
32 #define _CLASSIC_FIELDS_MESH_H_
34 namespace interpolation {
72 inline virtual ~Mesh();
138 friend bool operator==
140 friend bool operator!=
142 friend bool operator>=
144 friend bool operator<=
146 friend bool operator<
148 friend bool operator>
183 inline Iterator(std::vector<int> state,
const Mesh* mesh);
195 inline virtual void getPosition(
double* point)
const;
201 inline virtual std::vector<double>
getPosition()
const;
213 inline std::vector<int>
getState()
const;
251 friend bool operator==
253 friend bool operator!=
255 friend bool operator>=
257 friend bool operator<=
259 friend bool operator<
261 friend bool operator>
346 #include "Fields/Interpolation/Mesh-inl.icc"
virtual void getPosition(const Mesh::Iterator &it, double *position) const =0
bool operator>=(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
friend Mesh::Iterator operator--(Mesh::Iterator &lhs, int)
const Mesh::Iterator & operator=(const Mesh::Iterator &rhs)
virtual Mesh::Iterator getNearest(const double *position) const =0
std::vector< int > state_m
friend Mesh::Iterator operator--(Mesh::Iterator &lhs, int)
Mesh::Iterator & operator++(Mesh::Iterator &lhs)
Mesh::Iterator & operator+=(Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
virtual Mesh::Iterator & subEquals(Mesh::Iterator &lhs, int difference) const =0
virtual Mesh::Iterator end() const =0
virtual Mesh * dual() const =0
Mesh::Iterator & operator--(Mesh::Iterator &lhs)
virtual int toInteger(const Mesh::Iterator &lhs) const =0
Mesh::Iterator & operator-=(Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
virtual Mesh::Iterator & addEquals(Mesh::Iterator &lhs, int difference) const =0
bool operator!=(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
Mesh::Iterator operator+(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
virtual Mesh::Iterator & addOne(Mesh::Iterator &lhs) const =0
friend Mesh::Iterator operator++(Mesh::Iterator &lhs, int)
virtual Mesh::Iterator begin() const =0
Mesh::Iterator operator-(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
bool operator>(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
Base class for meshing routines.
friend class TriangularMesh
virtual std::vector< double > getPosition() const
std::vector< int > getState() const
virtual bool isGreater(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs) const =0
virtual Mesh::Iterator & subOne(Mesh::Iterator &lhs) const =0
bool operator<=(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
const Mesh * getMesh() const
bool operator==(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)
virtual int getPositionDimension() const =0
friend Mesh::Iterator operator++(Mesh::Iterator &lhs, int)
std::ostream & operator<<(std::ostream &out, const Mesh::Iterator &it)
bool operator<(const Mesh::Iterator &lhs, const Mesh::Iterator &rhs)