OpenMesh
Loading...
Searching...
No Matches
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.
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 Mesh * mesh_ptr
typedef const Mesh & mesh_ref
Protected Member Functions inherited from OpenMesh::Iterators::GenericCirculatorBaseT< GenericCirculatorT_TraitsT::Mesh >
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 .