Point Cloud Library (PCL)  1.7.0
Public Types | Public Member Functions | Public Attributes
pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT > Class Template Reference

Circulates counter-clockwise around a vertex and returns an index to the incoming half-edge (the target). More...

#include <pcl/geometry/mesh_circulators.h>

List of all members.

Public Types

typedef
boost::equality_comparable
< pcl::geometry::IncomingHalfEdgeAroundVertexCirculator
< MeshT >
, boost::unit_steppable
< pcl::geometry::IncomingHalfEdgeAroundVertexCirculator
< MeshT > > > 
Base
typedef
pcl::geometry::IncomingHalfEdgeAroundVertexCirculator
< MeshT > 
Self
typedef MeshT Mesh
typedef Mesh::VertexIndex VertexIndex
typedef Mesh::HalfEdgeIndex HalfEdgeIndex

Public Member Functions

 IncomingHalfEdgeAroundVertexCirculator ()
 Constructor resulting in an invalid circulator.
 IncomingHalfEdgeAroundVertexCirculator (const VertexIndex &idx_vertex, Mesh *const mesh)
 Construct from the vertex around which we want to circulate.
 IncomingHalfEdgeAroundVertexCirculator (const HalfEdgeIndex &idx_incoming_half_edge, Mesh *const mesh)
 Construct directly from the incoming half-edge.
bool isValid () const
 Check if the circulator is valid.
bool operator== (const Self &other) const
 Comparison operators (with boost::operators): == !=.
Selfoperator++ ()
 Increment operators (with boost::operators): ++ (pre and post)
Selfoperator-- ()
 Decrement operators (with boost::operators): -- (pre and post)
HalfEdgeIndex getTargetIndex () const
 Get the index to the incoming half-edge.
HalfEdgeIndex getCurrentHalfEdgeIndex () const
 Get the half-edge that is currently stored in the circulator.

Public Attributes

Meshmesh_
 The mesh to which this circulator belongs to.
HalfEdgeIndex idx_incoming_half_edge_
 The incoming half-edge of the vertex around which we want to circulate.

Detailed Description

template<class MeshT>
class pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >

Circulates counter-clockwise around a vertex and returns an index to the incoming half-edge (the target).

The best way to declare the circulator is to use the method pcl::geometry::MeshBase::getIncomingHalfEdgeAroundVertexCirculator ().

Template Parameters:
MeshTMesh to which this circulator belongs to.
Note:
The circulator can't be used to change the connectivity in the mesh (only const circulators are valid).
Author:
Martin Saelzle

Definition at line 280 of file mesh_circulators.h.


Member Typedef Documentation

template<class MeshT >
typedef boost::equality_comparable<pcl::geometry::IncomingHalfEdgeAroundVertexCirculator <MeshT> , boost::unit_steppable <pcl::geometry::IncomingHalfEdgeAroundVertexCirculator <MeshT> > > pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::Base

Definition at line 288 of file mesh_circulators.h.

template<class MeshT >
typedef Mesh::HalfEdgeIndex pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::HalfEdgeIndex

Definition at line 293 of file mesh_circulators.h.

template<class MeshT >
typedef MeshT pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::Mesh

Definition at line 291 of file mesh_circulators.h.

Definition at line 289 of file mesh_circulators.h.

template<class MeshT >
typedef Mesh::VertexIndex pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::VertexIndex

Definition at line 292 of file mesh_circulators.h.


Constructor & Destructor Documentation

Constructor resulting in an invalid circulator.

Definition at line 296 of file mesh_circulators.h.

template<class MeshT >
pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::IncomingHalfEdgeAroundVertexCirculator ( const VertexIndex idx_vertex,
Mesh *const  mesh 
) [inline]

Construct from the vertex around which we want to circulate.

Definition at line 303 of file mesh_circulators.h.

template<class MeshT >
pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::IncomingHalfEdgeAroundVertexCirculator ( const HalfEdgeIndex idx_incoming_half_edge,
Mesh *const  mesh 
) [inline]

Construct directly from the incoming half-edge.

Definition at line 311 of file mesh_circulators.h.


Member Function Documentation

Get the half-edge that is currently stored in the circulator.

Definition at line 359 of file mesh_circulators.h.

References pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::idx_incoming_half_edge_.

template<class MeshT >
HalfEdgeIndex pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::getTargetIndex ( ) const [inline]
template<class MeshT >
bool pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::isValid ( ) const [inline]

Check if the circulator is valid.

Warning:
Does NOT check if the stored mesh pointer is valid. You have to ensure this yourself when constructing the circulator.

Definition at line 321 of file mesh_circulators.h.

References pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::idx_incoming_half_edge_.

template<class MeshT >
Self& pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::operator++ ( ) [inline]
template<class MeshT >
Self& pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::operator-- ( ) [inline]
template<class MeshT >
bool pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::operator== ( const Self other) const [inline]

Comparison operators (with boost::operators): == !=.

Warning:
Does NOT check if the circulators belong to the same mesh. Please check this yourself.

Definition at line 329 of file mesh_circulators.h.

References pcl::geometry::IncomingHalfEdgeAroundVertexCirculator< MeshT >::idx_incoming_half_edge_.


Member Data Documentation


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