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

this class circulates through all one-ring neighbors of a vertex. More...

#include <pmp/SurfaceMesh.h>

Public Member Functions

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

Detailed Description

this class circulates through all one-ring neighbors of a vertex.

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

See also
HalfedgeAroundVertexCirculator, vertices(Vertex)

Constructor & Destructor Documentation

◆ VertexAroundVertexCirculator()

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

default constructor

Member Function Documentation

◆ halfedge()

Halfedge halfedge ( ) const
inline

return current halfedge

◆ operator bool()

operator bool ( ) const
inline

cast to bool: true if vertex is not isolated

◆ operator!=()

bool operator!= ( const VertexAroundVertexCirculator rhs) const
inline

are two circulators different?

◆ operator*()

Vertex operator* ( ) const
inline

get the vertex the circulator refers to

◆ operator++() [1/2]

VertexAroundVertexCirculator & operator++ ( )
inline

pre-increment (rotate counter-clockwise)

◆ operator++() [2/2]

VertexAroundVertexCirculator operator++ ( int  )
inline

post-increment (rotate counter-clockwise)

◆ operator--() [1/2]

VertexAroundVertexCirculator & operator-- ( )
inline

pre-decrement (rotate clockwise)

◆ operator--() [2/2]

VertexAroundVertexCirculator operator-- ( int  )
inline

post-decrement (rotate clockwise)

◆ operator==()

bool operator== ( const VertexAroundVertexCirculator rhs) const
inline

are two circulators equal?