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

this class circulates through all incident faces of a vertex. More...

#include <pmp/SurfaceMesh.h>

Public Member Functions

 FaceAroundVertexCirculator (const SurfaceMesh *m=nullptr, Vertex v=Vertex())
 construct with mesh and vertex (vertex should not be isolated!) More...
 
bool operator== (const FaceAroundVertexCirculator &rhs) const
 are two circulators equal? More...
 
bool operator!= (const FaceAroundVertexCirculator &rhs) const
 are two circulators different? More...
 
FaceAroundVertexCirculatoroperator++ ()
 pre-increment (rotates counter-clockwise) More...
 
FaceAroundVertexCirculator operator++ (int)
 post-increment (rotate counter-clockwise) More...
 
FaceAroundVertexCirculatoroperator-- ()
 pre-decrement (rotate clockwise) More...
 
FaceAroundVertexCirculator operator-- (int)
 post-decrement (rotate clockwise) More...
 
Face operator* () const
 get the face 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 incident faces of a vertex.

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

See also
VertexAroundVertexCirculator, HalfedgeAroundVertexCirculator, faces(Vertex)

Constructor & Destructor Documentation

◆ FaceAroundVertexCirculator()

FaceAroundVertexCirculator ( const SurfaceMesh m = nullptr,
Vertex  v = Vertex() 
)
inline

construct with mesh and vertex (vertex should not be isolated!)

Member Function Documentation

◆ operator bool()

operator bool ( ) const
inline

cast to bool: true if vertex is not isolated

◆ operator!=()

bool operator!= ( const FaceAroundVertexCirculator rhs) const
inline

are two circulators different?

◆ operator*()

Face operator* ( ) const
inline

get the face the circulator refers to

◆ operator++() [1/2]

FaceAroundVertexCirculator & operator++ ( )
inline

pre-increment (rotates counter-clockwise)

◆ operator++() [2/2]

FaceAroundVertexCirculator operator++ ( int  )
inline

post-increment (rotate counter-clockwise)

◆ operator--() [1/2]

FaceAroundVertexCirculator & operator-- ( )
inline

pre-decrement (rotate clockwise)

◆ operator--() [2/2]

FaceAroundVertexCirculator operator-- ( int  )
inline

post-decrement (rotate clockwise)

◆ operator==()

bool operator== ( const FaceAroundVertexCirculator rhs) const
inline

are two circulators equal?