Developer Documentation
Loading...
Searching...
No Matches
OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW > Class Template Reference
Inheritance diagram for OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >:
OpenMesh::Iterators::GenericCirculatorBaseT< GenericCirculatorT_TraitsT::Mesh >

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
 

Private Attributes

smart_value_type pointer_deref_value
 

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_
 

Detailed Description

template<typename GenericCirculatorT_TraitsT, bool CW = true>
class OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >

Definition at line 305 of file CirculatorsT.hh.

Member Typedef Documentation

◆ CenterEntityHandle

template<typename GenericCirculatorT_TraitsT , bool CW = true>
using OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::CenterEntityHandle = typename GenericCirculatorT_TraitsT::CenterEntityHandle

Definition at line 309 of file CirculatorsT.hh.

◆ difference_type

template<typename GenericCirculatorT_TraitsT , bool CW = true>
typedef std::ptrdiff_t OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::difference_type

Definition at line 313 of file CirculatorsT.hh.

◆ GenericCirculator_ValueHandleFns

template<typename GenericCirculatorT_TraitsT , bool CW = true>
typedef GenericCirculator_ValueHandleFnsT<Mesh, CenterEntityHandle, value_type, CW> OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::GenericCirculator_ValueHandleFns

Definition at line 320 of file CirculatorsT.hh.

◆ iterator_category

template<typename GenericCirculatorT_TraitsT , bool CW = true>
typedef std::bidirectional_iterator_tag OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::iterator_category

Definition at line 316 of file CirculatorsT.hh.

◆ Mesh

template<typename GenericCirculatorT_TraitsT , bool CW = true>
using OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::Mesh = typename GenericCirculatorT_TraitsT::Mesh

Definition at line 307 of file CirculatorsT.hh.

◆ mesh_ptr

template<typename GenericCirculatorT_TraitsT , bool CW = true>
typedef GenericCirculatorBaseT<Mesh>::mesh_ptr OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::mesh_ptr

Definition at line 318 of file CirculatorsT.hh.

◆ mesh_ref

template<typename GenericCirculatorT_TraitsT , bool CW = true>
typedef GenericCirculatorBaseT<Mesh>::mesh_ref OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::mesh_ref

Definition at line 319 of file CirculatorsT.hh.

◆ pointer

template<typename GenericCirculatorT_TraitsT , bool CW = true>
typedef const smart_value_type* OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::pointer

Definition at line 315 of file CirculatorsT.hh.

◆ reference

template<typename GenericCirculatorT_TraitsT , bool CW = true>
typedef const value_type& OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::reference

Definition at line 314 of file CirculatorsT.hh.

◆ smart_value_type

template<typename GenericCirculatorT_TraitsT , bool CW = true>
using OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::smart_value_type = decltype(make_smart(std::declval<value_type>(), std::declval<Mesh>()))

Definition at line 311 of file CirculatorsT.hh.

◆ value_type

template<typename GenericCirculatorT_TraitsT , bool CW = true>
using OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::value_type = typename GenericCirculatorT_TraitsT::ValueHandle

Definition at line 308 of file CirculatorsT.hh.

Constructor & Destructor Documentation

◆ GenericCirculatorT() [1/5]

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

Definition at line 325 of file CirculatorsT.hh.

◆ GenericCirculatorT() [2/5]

template<typename GenericCirculatorT_TraitsT , bool CW = true>
OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::GenericCirculatorT ( mesh_ref  mesh,
CenterEntityHandle  start,
bool  end = false 
)
inline

Definition at line 326 of file CirculatorsT.hh.

◆ GenericCirculatorT() [3/5]

template<typename GenericCirculatorT_TraitsT , bool CW = true>
OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::GenericCirculatorT ( mesh_ref  mesh,
typename Mesh::HalfedgeHandle  heh,
bool  end = false 
)
inline

Definition at line 332 of file CirculatorsT.hh.

◆ GenericCirculatorT() [4/5]

template<typename GenericCirculatorT_TraitsT , bool CW = true>
OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::GenericCirculatorT ( const GenericCirculatorT< GenericCirculatorT_TraitsT, CW > &  rhs)
inline

Definition at line 338 of file CirculatorsT.hh.

◆ GenericCirculatorT() [5/5]

template<typename GenericCirculatorT_TraitsT , bool CW = true>
OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::GenericCirculatorT ( const GenericCirculatorT< GenericCirculatorT_TraitsT,!CW > &  rhs)
inlineexplicit

Definition at line 341 of file CirculatorsT.hh.

Member Function Documentation

◆ is_valid()

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

Definition at line 409 of file CirculatorsT.hh.

◆ operator!=()

template<typename GenericCirculatorT_TraitsT , bool CW = true>
bool OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::operator!= ( const GenericCirculatorT< GenericCirculatorT_TraitsT, CW > &  rhs) const
inline

Definition at line 405 of file CirculatorsT.hh.

◆ operator*()

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

Standard dereferencing operator.

Definition at line 372 of file CirculatorsT.hh.

◆ operator++() [1/2]

template<typename GenericCirculatorT_TraitsT , bool CW = true>
GenericCirculatorT & OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::operator++ ( )
inline

Definition at line 344 of file CirculatorsT.hh.

◆ operator++() [2/2]

template<typename GenericCirculatorT_TraitsT , bool CW = true>
GenericCirculatorT OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::operator++ ( int  )
inline

Post-increment.

Definition at line 356 of file CirculatorsT.hh.

◆ operator--() [1/2]

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

Definition at line 349 of file CirculatorsT.hh.

◆ operator--() [2/2]

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

Post-decrement.

Definition at line 364 of file CirculatorsT.hh.

◆ 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.

Definition at line 391 of file CirculatorsT.hh.

◆ operator=()

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

Definition at line 396 of file CirculatorsT.hh.

◆ operator==()

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

Definition at line 401 of file CirculatorsT.hh.

Friends And Related Symbol Documentation

◆ GenericCirculatorT< GenericCirculatorT_TraitsT,!CW >

template<typename GenericCirculatorT_TraitsT , bool CW = true>
friend class GenericCirculatorT< GenericCirculatorT_TraitsT,!CW >
friend

Definition at line 338 of file CirculatorsT.hh.

◆ OpenMesh::CirculatorRange

template<typename GenericCirculatorT_TraitsT , bool CW = true>
template<typename >
friend class OpenMesh::CirculatorRange
friend

Definition at line 322 of file CirculatorsT.hh.

◆ operator<<

template<typename GenericCirculatorT_TraitsT , bool CW = true>
template<typename STREAM >
STREAM & operator<< ( STREAM &  s,
const GenericCirculatorT< GenericCirculatorT_TraitsT, CW > &  self 
)
friend

Definition at line 414 of file CirculatorsT.hh.

Member Data Documentation

◆ pointer_deref_value

template<typename GenericCirculatorT_TraitsT , bool CW = true>
smart_value_type OpenMesh::Iterators::GenericCirculatorT< GenericCirculatorT_TraitsT, CW >::pointer_deref_value
mutableprivate

Definition at line 419 of file CirculatorsT.hh.


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