OpenMesh
|
Circulator. More...
#include <OpenMesh/Mesh/Iterators/CirculatorsT.hh>
Public Types | |
typedef Mesh::HalfedgeHandle | HalfedgeHandle |
typedef Mesh::Edge | value_type |
typedef Mesh::EdgeHandle | 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::Edge & | reference |
typedef Mesh::Edge * | pointer |
Public Member Functions | |
VertexEdgeIterT () | |
Default constructor. | |
VertexEdgeIterT (mesh_ref _mesh, typename Mesh::VertexHandle _start, bool _end=false) | |
Construct with mesh and a typename Mesh::VertexHandle. | |
VertexEdgeIterT (mesh_ref _mesh, HalfedgeHandle _heh, bool _end=false) | |
Construct with mesh and start halfedge. | |
VertexEdgeIterT (const VertexEdgeIterT &_rhs) | |
Copy constructor. | |
VertexEdgeIterT & | operator= (const VertexEdgeIterT< Mesh > &_rhs) |
Assignment operator. | |
bool | operator== (const VertexEdgeIterT &_rhs) const |
Equal ? | |
bool | operator!= (const VertexEdgeIterT &_rhs) const |
Not equal ? | |
VertexEdgeIterT & | operator++ () |
Pre-Increment (next cw target) | |
VertexEdgeIterT & | operator-- () |
Pre-Decrement (next ccw target) | |
HalfedgeHandle | current_halfedge_handle () const |
Get the current halfedge. | |
Mesh::EdgeHandle | handle () const |
Return the handle of the current target. | |
operator typename Mesh::EdgeHandle () 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 | ConstVertexEdgeIterT< Mesh > |
Circulator.
HalfedgeHandle OpenMesh::Iterators::VertexEdgeIterT< 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.
OpenMesh::Iterators::VertexEdgeIterT< 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.