point_cloud_library / 1.12.1 / classpcl_1_1geometry_1_1_vertex_around_face_circulator.html /

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>

Public Types

using Base = boost::equality_comparable< pcl::geometry::VertexAroundFaceCirculator< MeshT >, boost::unit_steppable< pcl::geometry::VertexAroundFaceCirculator< MeshT > >>
using Self = pcl::geometry::VertexAroundFaceCirculator< MeshT >
using Mesh = MeshT
using VertexIndex = typename Mesh::VertexIndex
using FaceIndex = typename Mesh::FaceIndex
using HalfEdgeIndex = typename Mesh::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...
Self & operator++ ()
Increment operators (with boost::operators): ++ (pre and post) More...
Self & operator-- ()
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

Mesh * mesh_
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
MeshT Mesh 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 487 of file mesh_circulators.h.

Member Typedef Documentation

Base

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

Definition at line 494 of file mesh_circulators.h.

FaceIndex

template<class MeshT >
using pcl::geometry::VertexAroundFaceCirculator< MeshT >::FaceIndex = typename Mesh::FaceIndex

Definition at line 499 of file mesh_circulators.h.

HalfEdgeIndex

template<class MeshT >
using pcl::geometry::VertexAroundFaceCirculator< MeshT >::HalfEdgeIndex = typename Mesh::HalfEdgeIndex

Definition at line 500 of file mesh_circulators.h.

Mesh

template<class MeshT >
using pcl::geometry::VertexAroundFaceCirculator< MeshT >::Mesh = MeshT

Definition at line 497 of file mesh_circulators.h.

Self

Definition at line 495 of file mesh_circulators.h.

VertexIndex

template<class MeshT >
using pcl::geometry::VertexAroundFaceCirculator< MeshT >::VertexIndex = typename Mesh::VertexIndex

Definition at line 498 of file mesh_circulators.h.

Constructor & Destructor Documentation

VertexAroundFaceCirculator() [1/3]

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

Constructor resulting in an invalid circulator.

Definition at line 503 of file mesh_circulators.h.

VertexAroundFaceCirculator() [2/3]

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

VertexAroundFaceCirculator() [3/3]

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

Member Function Documentation

getCurrentHalfEdgeIndex()

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

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

getTargetIndex()

isValid()

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

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

operator++()

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

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

Definition at line 535 of file mesh_circulators.h.

References pcl::geometry::VertexAroundFaceCirculator< MeshT >::idx_inner_half_edge_, and pcl::geometry::VertexAroundFaceCirculator< MeshT >::mesh_.

operator--()

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

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

Definition at line 543 of file mesh_circulators.h.

References pcl::geometry::VertexAroundFaceCirculator< MeshT >::idx_inner_half_edge_, and pcl::geometry::VertexAroundFaceCirculator< MeshT >::mesh_.

operator==()

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

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

Member Data Documentation

idx_inner_half_edge_

mesh_


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

© 2009–2012, Willow Garage, Inc.
© 2012–, Open Perception, Inc.
Licensed under the BSD License.
https://pointclouds.org/documentation/classpcl_1_1geometry_1_1_vertex_around_face_circulator.html