12 #ifndef EBGeometry_DCEL_Iterator
13 #define EBGeometry_DCEL_Iterator
26 template <
class T,
class Meta>
98 operator()() const noexcept;
111 operator++() noexcept;
140 #include "EBGeometry_NamespaceFooter.hpp"
142 #include "EBGeometry_DCEL_IteratorImplem.hpp"
Edge iterator class.
Definition: EBGeometry_DCEL_Iterator.hpp:28
std::shared_ptr< Edge > m_curEdge
Current half-edge.
Definition: EBGeometry_DCEL_Iterator.hpp:136
void reset() noexcept
Reset function for the iterator. This resets the iterator so that it begins from the starting half-ed...
EdgeIteratorT(const Face &a_face)
Constructor, taking a face as argument. The iterator begins at the half-edge pointer contained in the...
bool m_fullLoop
If true, a full loop has been made around the polygon face.
Definition: EBGeometry_DCEL_Iterator.hpp:126
std::shared_ptr< Edge > m_startEdge
Starting half-edge.
Definition: EBGeometry_DCEL_Iterator.hpp:131
EdgeIteratorT(Face &a_face)
Constructor, taking a face as argument. The iterator begins at the half-edge pointer contained in the...
virtual ~EdgeIteratorT()=default
Destructor.
EdgePtr & operator()() noexcept
Operator returning a pointer to the current half-edge.
std::shared_ptr< Edge > EdgePtr
Alias for edge pointer.
Definition: EBGeometry_DCEL_Iterator.hpp:53
bool ok() const noexcept
Function which checks if the iteration can be continued.
std::shared_ptr< Face > FacePtr
Alias for face pointer.
Definition: EBGeometry_DCEL_Iterator.hpp:58
std::shared_ptr< Vertex > VertexPtr
Alias for vertex pointer.
Definition: EBGeometry_DCEL_Iterator.hpp:48
EdgeIteratorT()=delete
Default construction is not allowed. Use one of the full constructors.
Edge class.
Definition: EBGeometry_DCEL_Edge.hpp:47
Face class.
Definition: EBGeometry_DCEL_Face.hpp:49
Vertex class.
Definition: EBGeometry_DCEL_Vertex.hpp:40
Namespace containing various double-connected edge list (DCEL) functionality.