Point Cloud Library (PCL)  1.9.1-dev
List of all members | Public Types | Public Member Functions | Public Attributes
pcl::geometry::VertexAroundFaceCirculator< MeshT > Class Template Reference

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

#include <pcl/geometry/mesh_circulators.h>

+ Inheritance diagram for pcl::geometry::VertexAroundFaceCirculator< MeshT >:

Public Types

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

Public Member Functions

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

Public Attributes

Meshmesh_
 The mesh to which this circulator belongs to. More...
 
HalfEdgeIndex idx_inner_half_edge_
 The inner half-edge of the face around which we want to circulate. More...
 

Detailed Description

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

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

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

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

Member Typedef Documentation

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

Definition at line 504 of file mesh_circulators.h.

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

Definition at line 509 of file mesh_circulators.h.

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

Definition at line 510 of file mesh_circulators.h.

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

Definition at line 507 of file mesh_circulators.h.

Definition at line 505 of file mesh_circulators.h.

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

Definition at line 508 of file mesh_circulators.h.

Constructor & Destructor Documentation

template<class MeshT >
pcl::geometry::VertexAroundFaceCirculator< MeshT >::VertexAroundFaceCirculator ( )
inline

Constructor resulting in an invalid circulator.

Definition at line 513 of file mesh_circulators.h.

template<class MeshT >
pcl::geometry::VertexAroundFaceCirculator< MeshT >::VertexAroundFaceCirculator ( const FaceIndex idx_face,
Mesh *const  mesh 
)
inline

Construct from the face around which we want to circulate.

Definition at line 520 of file mesh_circulators.h.

template<class MeshT >
pcl::geometry::VertexAroundFaceCirculator< MeshT >::VertexAroundFaceCirculator ( const HalfEdgeIndex idx_inner_half_edge,
Mesh *const  mesh 
)
inline

Construct directly from the inner half-edge.

Definition at line 528 of file mesh_circulators.h.

Member Function Documentation

template<class MeshT >
HalfEdgeIndex pcl::geometry::VertexAroundFaceCirculator< MeshT >::getCurrentHalfEdgeIndex ( ) const
inline

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

Definition at line 576 of file mesh_circulators.h.

template<class MeshT >
VertexIndex pcl::geometry::VertexAroundFaceCirculator< MeshT >::getTargetIndex ( ) const
inline
template<class MeshT >
bool pcl::geometry::VertexAroundFaceCirculator< 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 538 of file mesh_circulators.h.

template<class MeshT >
Self& pcl::geometry::VertexAroundFaceCirculator< MeshT >::operator++ ( )
inline

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

Definition at line 553 of file mesh_circulators.h.

References pcl::geometry::VertexAroundVertexCirculator< MeshT >::mesh_.

template<class MeshT >
Self& pcl::geometry::VertexAroundFaceCirculator< MeshT >::operator-- ( )
inline

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

Definition at line 561 of file mesh_circulators.h.

References pcl::geometry::VertexAroundVertexCirculator< MeshT >::mesh_.

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

References pcl::geometry::VertexAroundFaceCirculator< MeshT >::idx_inner_half_edge_.

Member Data Documentation

template<class MeshT >
HalfEdgeIndex pcl::geometry::VertexAroundFaceCirculator< MeshT >::idx_inner_half_edge_

The inner half-edge of the face around which we want to circulate.

Definition at line 585 of file mesh_circulators.h.

Referenced by pcl::geometry::VertexAroundFaceCirculator< MeshT >::operator==().

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

The mesh to which this circulator belongs to.

Definition at line 582 of file mesh_circulators.h.


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