OpenMesh
CirculatorT< Mesh > Class Template Reference

Circulator. More...

#include <OpenMesh/Mesh/Iterators/CirculatorsT.hh>

Public Types

typedef Mesh::HalfedgeHandle HalfedgeHandle
 
typedef TargetType value_type
 
typedef TargetHandle value_handle
 
typedef Meshmesh_ref
 
typedef Meshmesh_ptr
 
typedef TargetType & reference
 
typedef TargetType * pointer
 

Public Member Functions

 CirculatorT ()
 Default constructor.
 
 CirculatorT (mesh_ref _mesh, SourceHandle _start)
 Construct with mesh and a SourceHandle.
 
 CirculatorT (mesh_ref _mesh, HalfedgeHandle _heh)
 Construct with mesh and start halfedge.
 
 CirculatorT (const CirculatorT &_rhs)
 Copy constructor.
 
CirculatorToperator= (const CirculatorT< Mesh > &_rhs)
 Assignment operator.
 
bool operator== (const CirculatorT &_rhs) const
 Equal ?
 
bool operator!= (const CirculatorT &_rhs) const
 Not equal ?
 
CirculatorToperator++ ()
 Pre-Increment (next cw target)
 
CirculatorToperator-- ()
 Pre-Decrement (next ccw target)
 
HalfedgeHandle current_halfedge_handle () const
 Get the current halfedge. More...
 
TargetHandle handle () const
 Return the handle of the current target.
 
 operator TargetHandle () const
 Cast to the handle of the current target.
 
reference operator* () const
 Return a reference to the current target.
 
pointer operator-> () const
 Return a pointer to the current target.
 
 operator bool () const
 Returns whether the circulator is still valid. More...
 

Friends

class ConstCircT< Mesh >
 

Detailed Description

template<class Mesh>
class CirculatorT< Mesh >

Circulator.

Member Function Documentation

◆ current_halfedge_handle()

template<class Mesh >
HalfedgeHandle CirculatorT< Mesh >::current_halfedge_handle ( ) const
inline

Get the current halfedge.

There are Vertex*Iters and Face*Iters. For both the current state is defined by the current halfedge. This is what this method returns.

◆ operator bool()

template<class Mesh >
CirculatorT< Mesh >::operator bool ( ) const
inline

Returns whether the circulator is still valid.

After one complete round around a vertex/face the circulator becomes invalid, i.e. this function will return false. Nevertheless you can continue circulating. This method just tells you whether you have completed the first round.


The documentation for this class was generated from the following file:

Project OpenMesh, ©  Visual Computing Institute, RWTH Aachen. Documentation generated using doxygen .