1#ifndef included_AMP_TriangleMeshIterators
2#define included_AMP_TriangleMeshIterators
5#include "AMP/mesh/MeshIterator.h"
6#include "AMP/mesh/triangle/TriangleMeshElement.h"
29 std::shared_ptr<
const std::vector<ElementID>> list,
69 std::unique_ptr<MeshIteratorBase>
clone()
const override;
71 using MeshIteratorBase::operator==;
72 using MeshIteratorBase::operator!=;
84 std::shared_ptr<const std::vector<ElementID>>
d_list;
Class to manage reading/writing restart data.
A base class used to iterate over elements in a Mesh.
size_t pos() const
Return the current position (from the beginning) in the iterator.
A class used to iterate over elements in a Mesh.
A derived class used to define a mesh element.
TriangleMeshIterator & operator=(const TriangleMeshIterator &)
Assignment operator.
TriangleMeshIterator()
Empty MeshIterator constructor.
MeshIteratorBase & operator--() override
void registerChildObjects(AMP::IO::RestartManager *) const override
TriangleMeshIterator(const TriangleMeshIterator &)
Copy constructor.
MeshIteratorBase & operator++() override
const AMP::Mesh::TriangleMesh< NG > * d_mesh
TriangleMeshElement< NG > d_cur_element
MeshIteratorBase & operator+=(int N) override
MeshIterator begin() const override
Return an iterator to the beginning.
bool operator!=(const MeshIteratorBase &rhs) const override
Check if two iterators are not equal.
std::unique_ptr< MeshIteratorBase > clone() const override
Clone the iterator.
bool operator==(const MeshIteratorBase &rhs) const override
Check if two iterators are equal.
void setPos(size_t) override
Set the position in the iterator.
void writeRestart(int64_t) const override
TriangleMeshIterator(int64_t, AMP::IO::RestartManager *)
TriangleMeshIterator(const AMP::Mesh::TriangleMesh< NG > *mesh, std::shared_ptr< const std::vector< ElementID > > list, size_t pos=0)
virtual ~TriangleMeshIterator()=default
Deconstructor.
std::shared_ptr< const std::vector< ElementID > > d_list
std::string className() const override
Return the class name.
auto getList() const
Access the list of elements.
A class used to represent an unstructured mesh of Triangles/Tetrahedrals.