OpenMesh
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
OpenMesh::Iterators::VertexVertexIterT< Mesh > Class Template Reference

Circulator. More...

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

Collaboration diagram for OpenMesh::Iterators::VertexVertexIterT< Mesh >:

Public Types

typedef Mesh::HalfedgeHandle HalfedgeHandle
typedef Mesh::Vertex value_type
typedef Mesh::VertexHandle value_handle
typedef
std::bidirectional_iterator_tag 
iterator_category
typedef std::ptrdiff_t difference_type
typedef Mesh & mesh_ref
typedef Mesh * mesh_ptr
typedef Mesh::Vertex & reference
typedef Mesh::Vertex * pointer

Public Member Functions

 VertexVertexIterT ()
 Default constructor.
 VertexVertexIterT (mesh_ref _mesh, typename Mesh::VertexHandle _start, bool _end=false)
 Construct with mesh and a typename Mesh::VertexHandle.
 VertexVertexIterT (mesh_ref _mesh, HalfedgeHandle _heh, bool _end=false)
 Construct with mesh and start halfedge.
 VertexVertexIterT (const VertexVertexIterT &_rhs)
 Copy constructor.
VertexVertexIterToperator= (const VertexVertexIterT< Mesh > &_rhs)
 Assignment operator.
bool operator== (const VertexVertexIterT &_rhs) const
 Equal ?
bool operator!= (const VertexVertexIterT &_rhs) const
 Not equal ?
VertexVertexIterToperator++ ()
 Pre-Increment (next cw target)
VertexVertexIterToperator-- ()
 Pre-Decrement (next ccw target)
HalfedgeHandle current_halfedge_handle () const
 Get the current halfedge.
Mesh::VertexHandle handle () const
 Return the handle of the current target.
 operator typename Mesh::VertexHandle () 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.

Protected Attributes

mesh_ptr mesh_
HalfedgeHandle start_
HalfedgeHandle heh_
int lap_counter_

Friends

class ConstVertexVertexIterT< Mesh >

Detailed Description

template<class Mesh>
class OpenMesh::Iterators::VertexVertexIterT< Mesh >

Circulator.

Member Function Documentation

template<class Mesh>
HalfedgeHandle OpenMesh::Iterators::VertexVertexIterT< 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.

template<class Mesh>
OpenMesh::Iterators::VertexVertexIterT< 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:

acg pic Project OpenMesh, ©  Computer Graphics Group, RWTH Aachen. Documentation generated using doxygen .