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

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

#include <pcl/geometry/mesh_circulators.h>

List of all members.

Public Types

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

Public Member Functions

 FaceAroundVertexCirculator ()
 Constructor resulting in an invalid circulator.
 FaceAroundVertexCirculator (const VertexIndex &idx_vertex, Mesh *const mesh)
 Construct from the vertex around which we want to circulate.
 FaceAroundVertexCirculator (const HalfEdgeIndex &idx_outgoing_half_edge, Mesh *const mesh)
 Construct directly from the outgoing 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)
FaceIndex getTargetIndex () const
 Get the index to the target face.
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_outgoing_half_edge_
 The outgoing half-edge of the vertex around which we want to circulate.

Detailed Description

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

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

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

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 388 of file mesh_circulators.h.


Member Typedef Documentation

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

Definition at line 396 of file mesh_circulators.h.

template<class MeshT >
typedef Mesh::FaceIndex pcl::geometry::FaceAroundVertexCirculator< MeshT >::FaceIndex

Definition at line 400 of file mesh_circulators.h.

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

Definition at line 402 of file mesh_circulators.h.

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

Definition at line 399 of file mesh_circulators.h.

Definition at line 397 of file mesh_circulators.h.

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

Definition at line 401 of file mesh_circulators.h.


Constructor & Destructor Documentation

template<class MeshT >
pcl::geometry::FaceAroundVertexCirculator< MeshT >::FaceAroundVertexCirculator ( ) [inline]

Constructor resulting in an invalid circulator.

Definition at line 405 of file mesh_circulators.h.

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

Construct from the vertex around which we want to circulate.

Definition at line 412 of file mesh_circulators.h.

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

Construct directly from the outgoing half-edge.

Definition at line 420 of file mesh_circulators.h.


Member Function Documentation

template<class MeshT >
HalfEdgeIndex pcl::geometry::FaceAroundVertexCirculator< MeshT >::getCurrentHalfEdgeIndex ( ) const [inline]

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

Definition at line 468 of file mesh_circulators.h.

References pcl::geometry::FaceAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_.

template<class MeshT >
FaceIndex pcl::geometry::FaceAroundVertexCirculator< MeshT >::getTargetIndex ( ) const [inline]
template<class MeshT >
bool pcl::geometry::FaceAroundVertexCirculator< 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 430 of file mesh_circulators.h.

References pcl::geometry::FaceAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_.

template<class MeshT >
Self& pcl::geometry::FaceAroundVertexCirculator< MeshT >::operator++ ( ) [inline]

Increment operators (with boost::operators): ++ (pre and post)

Definition at line 445 of file mesh_circulators.h.

References pcl::geometry::FaceAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_, and pcl::geometry::FaceAroundVertexCirculator< MeshT >::mesh_.

template<class MeshT >
Self& pcl::geometry::FaceAroundVertexCirculator< MeshT >::operator-- ( ) [inline]

Decrement operators (with boost::operators): -- (pre and post)

Definition at line 453 of file mesh_circulators.h.

References pcl::geometry::FaceAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_, and pcl::geometry::FaceAroundVertexCirculator< MeshT >::mesh_.

template<class MeshT >
bool pcl::geometry::FaceAroundVertexCirculator< 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 438 of file mesh_circulators.h.

References pcl::geometry::FaceAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_.


Member Data Documentation

template<class MeshT >
Mesh* pcl::geometry::FaceAroundVertexCirculator< MeshT >::mesh_

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