GitHub link
Polygon Mesh Processing Library
SurfaceMesh::HalfedgeAroundVertexCirculator Class Reference

this class circulates through all outgoing halfedges of a vertex. More...

#include <pmp/SurfaceMesh.h>

Public Member Functions

 HalfedgeAroundVertexCirculator (const SurfaceMesh *mesh=nullptr, Vertex v=Vertex())
 default constructor More...
 
bool operator== (const HalfedgeAroundVertexCirculator &rhs) const
 are two circulators equal? More...
 
bool operator!= (const HalfedgeAroundVertexCirculator &rhs) const
 are two circulators different? More...
 
HalfedgeAroundVertexCirculatoroperator++ ()
 pre-increment (rotate counter-clockwise) More...
 
HalfedgeAroundVertexCirculator operator++ (int)
 post-increment (rotate counter-clockwise) More...
 
HalfedgeAroundVertexCirculatoroperator-- ()
 pre-decrement (rotate clockwise) More...
 
HalfedgeAroundVertexCirculator operator-- (int)
 post-decrement (rotate clockwise) More...
 
Halfedge operator* () const
 get the halfedge the circulator refers to More...
 
 operator bool () const
 cast to bool: true if vertex is not isolated More...
 

Detailed Description

this class circulates through all outgoing halfedges of a vertex.

it also acts as a container-concept for C++11 range-based for loops.

See also
VertexAroundVertexCirculator, halfedges(Vertex)

Constructor & Destructor Documentation

◆ HalfedgeAroundVertexCirculator()

HalfedgeAroundVertexCirculator ( const SurfaceMesh mesh = nullptr,
Vertex  v = Vertex() 
)
inline

default constructor

Member Function Documentation

◆ operator bool()

operator bool ( ) const
inline

cast to bool: true if vertex is not isolated

◆ operator!=()

bool operator!= ( const HalfedgeAroundVertexCirculator rhs) const
inline

are two circulators different?

◆ operator*()

Halfedge operator* ( ) const
inline

get the halfedge the circulator refers to

◆ operator++() [1/2]

HalfedgeAroundVertexCirculator & operator++ ( )
inline

pre-increment (rotate counter-clockwise)

◆ operator++() [2/2]

HalfedgeAroundVertexCirculator operator++ ( int  )
inline

post-increment (rotate counter-clockwise)

◆ operator--() [1/2]

HalfedgeAroundVertexCirculator & operator-- ( )
inline

pre-decrement (rotate clockwise)

◆ operator--() [2/2]

HalfedgeAroundVertexCirculator operator-- ( int  )
inline

post-decrement (rotate clockwise)

◆ operator==()

bool operator== ( const HalfedgeAroundVertexCirculator rhs) const
inline

are two circulators equal?