CirculatorT< Mesh > Class Template Reference

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

List of all members.

Public Types

typedef Mesh::HalfedgeHandle HalfedgeHandle
typedef Mesh * mesh_ptr
typedef Mesh & mesh_ref
typedef TargetType * pointer
typedef TargetType & reference
typedef TargetHandle value_handle
typedef TargetType value_type

Public Member Functions

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

Private Attributes

bool active_
HalfedgeHandle heh_
mesh_ptr mesh_
HalfedgeHandle start_

Friends

class ConstCircT< Mesh >

Detailed Description

template<class Mesh>
class CirculatorT< Mesh >

Circulator.

Definition at line 9 of file circulators_template.hh.


Member Typedef Documentation

template<class Mesh>
typedef Mesh::HalfedgeHandle CirculatorT< Mesh >::HalfedgeHandle

Definition at line 16 of file circulators_template.hh.

template<class Mesh>
typedef Mesh* CirculatorT< Mesh >::mesh_ptr

Definition at line 28 of file circulators_template.hh.

template<class Mesh>
typedef Mesh& CirculatorT< Mesh >::mesh_ref

Definition at line 27 of file circulators_template.hh.

template<class Mesh>
typedef TargetType* CirculatorT< Mesh >::pointer

Definition at line 30 of file circulators_template.hh.

template<class Mesh>
typedef TargetType& CirculatorT< Mesh >::reference

Definition at line 29 of file circulators_template.hh.

template<class Mesh>
typedef TargetHandle CirculatorT< Mesh >::value_handle

Definition at line 19 of file circulators_template.hh.

template<class Mesh>
typedef TargetType CirculatorT< Mesh >::value_type

Definition at line 18 of file circulators_template.hh.


Constructor & Destructor Documentation

template<class Mesh>
CirculatorT< Mesh >::CirculatorT (  )  [inline]

Default constructor.

Definition at line 36 of file circulators_template.hh.

template<class Mesh>
CirculatorT< Mesh >::CirculatorT ( mesh_ref  _mesh,
SourceHandle  _start 
) [inline]

Construct with mesh and a SourceHandle.

Definition at line 40 of file circulators_template.hh.

template<class Mesh>
CirculatorT< Mesh >::CirculatorT ( mesh_ref  _mesh,
HalfedgeHandle  _heh 
) [inline]

Construct with mesh and start halfedge.

Definition at line 49 of file circulators_template.hh.

template<class Mesh>
CirculatorT< Mesh >::CirculatorT ( const CirculatorT< Mesh > &  _rhs  )  [inline]

Copy constructor.

Definition at line 58 of file circulators_template.hh.


Member Function Documentation

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.

Definition at line 138 of file circulators_template.hh.

template<class Mesh>
TargetHandle CirculatorT< Mesh >::handle (  )  const [inline]

Return the handle of the current target.

Definition at line 144 of file circulators_template.hh.

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.

Definition at line 177 of file circulators_template.hh.

template<class Mesh>
CirculatorT< Mesh >::operator TargetHandle (  )  const [inline]

Cast to the handle of the current target.

Definition at line 151 of file circulators_template.hh.

template<class Mesh>
bool CirculatorT< Mesh >::operator!= ( const CirculatorT< Mesh > &  _rhs  )  const [inline]

Not equal ?

Definition at line 111 of file circulators_template.hh.

template<class Mesh>
reference CirculatorT< Mesh >::operator* (  )  const [inline]

Return a reference to the current target.

Definition at line 158 of file circulators_template.hh.

template<class Mesh>
CirculatorT& CirculatorT< Mesh >::operator++ (  )  [inline]

Pre-Increment (next cw target).

Definition at line 117 of file circulators_template.hh.

template<class Mesh>
CirculatorT& CirculatorT< Mesh >::operator-- (  )  [inline]

Pre-Decrement (next ccw target).

Definition at line 126 of file circulators_template.hh.

template<class Mesh>
pointer CirculatorT< Mesh >::operator-> (  )  const [inline]

Return a pointer to the current target.

Definition at line 165 of file circulators_template.hh.

template<class Mesh>
CirculatorT& CirculatorT< Mesh >::operator= ( const CirculatorT< Mesh > &  _rhs  )  [inline]

Assignment operator.

Definition at line 67 of file circulators_template.hh.

template<class Mesh>
bool CirculatorT< Mesh >::operator== ( const CirculatorT< Mesh > &  _rhs  )  const [inline]

Equal ?

Definition at line 102 of file circulators_template.hh.


Friends And Related Function Documentation

template<class Mesh>
friend class ConstCircT< Mesh > [friend]

Definition at line 97 of file circulators_template.hh.


Member Data Documentation

template<class Mesh>
bool CirculatorT< Mesh >::active_ [private]

Definition at line 186 of file circulators_template.hh.

template<class Mesh>
HalfedgeHandle CirculatorT< Mesh >::heh_ [private]

Definition at line 185 of file circulators_template.hh.

template<class Mesh>
mesh_ptr CirculatorT< Mesh >::mesh_ [private]

Definition at line 184 of file circulators_template.hh.

template<class Mesh>
HalfedgeHandle CirculatorT< Mesh >::start_ [private]

Definition at line 185 of file circulators_template.hh.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


openmesh
Author(s): Benjamin Pitzer
autogenerated on Fri Jan 11 12:11:11 2013