OpenMesh
OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW > Class Template Reference
Inheritance diagram for OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >:
Collaboration diagram for OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >:

Public Types

using Mesh = typename GenericCirculatorT_TraitsT::Mesh
 
using value_type = typename GenericCirculatorT_TraitsT::ValueHandle
 
using CenterEntityHandle = typename GenericCirculatorT_TraitsT::CenterEntityHandle
 
using smart_value_type = decltype(make_smart(std::declval< value_type >(), std::declval< Mesh >()))
 
typedef std::ptrdiff_t difference_type
 
typedef const value_type & reference
 
typedef const smart_value_type * pointer
 
typedef std::bidirectional_iterator_tag iterator_category
 
typedef GenericCirculatorBaseT< Mesh >::mesh_ptr mesh_ptr
 
typedef GenericCirculatorBaseT< Mesh >::mesh_ref mesh_ref
 
typedef GenericCirculator_ValueHandleFnsT< Mesh, CenterEntityHandle, value_type, CW > GenericCirculator_ValueHandleFns
 

Public Member Functions

 GenericCirculatorT (mesh_ref mesh, CenterEntityHandle start, bool end=false)
 
 GenericCirculatorT (mesh_ref mesh, typename Mesh::HalfedgeHandle heh, bool end=false)
 
 GenericCirculatorT (const GenericCirculatorT &rhs)
 
 GenericCirculatorT (const GenericCirculatorT< GenericCirculatorT_TraitsT,!CW > &rhs)
 
GenericCirculatorToperator++ ()
 
GenericCirculatorToperator-- ()
 
GenericCirculatorT operator++ (int)
 Post-increment.
 
GenericCirculatorT operator-- (int)
 Post-decrement.
 
smart_value_type operator* () const
 Standard dereferencing operator.
 
pointer operator-> () const
 Pointer dereferentiation. More...
 
GenericCirculatorToperator= (const GenericCirculatorT &rhs)
 
bool operator== (const GenericCirculatorT &rhs) const
 
bool operator!= (const GenericCirculatorT &rhs) const
 
bool is_valid () const
 

Friends

template<typename >
class OpenMesh::CirculatorRange
 
template<typename STREAM >
STREAM & operator<< (STREAM &s, const GenericCirculatorT &self)
 

Additional Inherited Members

- Protected Types inherited from OpenMesh::Iterators::GenericCirculatorBaseT< GenericCirculatorT_TraitsT::Mesh >
typedef const GenericCirculatorT_TraitsT::Mesh * mesh_ptr
 
typedef const GenericCirculatorT_TraitsT::Mesh & mesh_ref
 
- Protected Member Functions inherited from OpenMesh::Iterators::GenericCirculatorBaseT< GenericCirculatorT_TraitsT::Mesh >
 GenericCirculatorBaseT (mesh_ref mesh, typename Mesh::HalfedgeHandle heh, bool end=false)
 
 GenericCirculatorBaseT (const GenericCirculatorBaseT &rhs)
 
Mesh::FaceHandle toFaceHandle () const
 
Mesh::FaceHandle toOppositeFaceHandle () const
 
Mesh::EdgeHandle toEdgeHandle () const
 
Mesh::HalfedgeHandle toHalfedgeHandle () const
 
Mesh::HalfedgeHandle toOppositeHalfedgeHandle () const
 
Mesh::VertexHandle toVertexHandle () const
 
GenericCirculatorBaseToperator= (const GenericCirculatorBaseT &rhs)
 
bool operator== (const GenericCirculatorBaseT &rhs) const
 
bool operator!= (const GenericCirculatorBaseT &rhs) const
 
- Protected Attributes inherited from OpenMesh::Iterators::GenericCirculatorBaseT< GenericCirculatorT_TraitsT::Mesh >
mesh_ptr mesh_
 
Mesh::HalfedgeHandle start_
 
Mesh::HalfedgeHandle heh_
 
int lap_counter_
 

Member Function Documentation

◆ operator->()

template<typename GenericCirculatorT_TraitsT , bool CW = true>
pointer OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::operator-> ( ) const
inline

Pointer dereferentiation.

This returns a pointer which points to a handle that loses its validity once this dereferentiation is invoked again. Thus, do not store the result of this operation.


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

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