Circulates counter-clockwise around a vertex and returns an index to the terminating vertex of the outgoing half-edge (the target). More...
#include <pcl/geometry/mesh_circulators.h>
Public Types |
|
using | Base = boost::equality_comparable< pcl::geometry::VertexAroundVertexCirculator< MeshT >, boost::unit_steppable< pcl::geometry::VertexAroundVertexCirculator< MeshT > >> |
using | Self = pcl::geometry::VertexAroundVertexCirculator< MeshT > |
using | Mesh = MeshT |
using | VertexIndex = typename Mesh::VertexIndex |
using | HalfEdgeIndex = typename Mesh::HalfEdgeIndex |
Public Member Functions |
|
VertexAroundVertexCirculator () | |
Constructor resulting in an invalid circulator. More... |
|
VertexAroundVertexCirculator (const VertexIndex &idx_vertex, Mesh *const mesh) | |
Construct from the vertex around which we want to circulate. More... |
|
VertexAroundVertexCirculator (const HalfEdgeIndex &idx_outgoing_half_edge, Mesh *const mesh) | |
Construct directly from the outgoing 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_outgoing_half_edge_ |
The outgoing half-edge of the vertex around which we want to circulate. More... |
|
Detailed Description
template<class MeshT>
class pcl::geometry::VertexAroundVertexCirculator< MeshT >
Circulates counter-clockwise around a vertex and returns an index to the terminating vertex of the outgoing half-edge (the target).
The best way to declare the circulator is to use the method pcl::geometry::MeshBase::getVertexAroundVertexCirculator ().
- 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).
Definition at line 66 of file mesh_circulators.h.
Member Typedef Documentation
Base
using pcl::geometry::VertexAroundVertexCirculator< MeshT >::Base = boost::equality_comparable< pcl::geometry::VertexAroundVertexCirculator<MeshT>, boost::unit_steppable<pcl::geometry::VertexAroundVertexCirculator<MeshT> >> |
Definition at line 73 of file mesh_circulators.h.
HalfEdgeIndex
using pcl::geometry::VertexAroundVertexCirculator< MeshT >::HalfEdgeIndex = typename Mesh::HalfEdgeIndex |
Definition at line 78 of file mesh_circulators.h.
Mesh
using pcl::geometry::VertexAroundVertexCirculator< MeshT >::Mesh = MeshT |
Definition at line 76 of file mesh_circulators.h.
Self
using pcl::geometry::VertexAroundVertexCirculator< MeshT >::Self = pcl::geometry::VertexAroundVertexCirculator<MeshT> |
Definition at line 74 of file mesh_circulators.h.
VertexIndex
using pcl::geometry::VertexAroundVertexCirculator< MeshT >::VertexIndex = typename Mesh::VertexIndex |
Definition at line 77 of file mesh_circulators.h.
Constructor & Destructor Documentation
VertexAroundVertexCirculator() [1/3]
|
inline |
Constructor resulting in an invalid circulator.
Definition at line 81 of file mesh_circulators.h.
VertexAroundVertexCirculator() [2/3]
|
inline |
Construct from the vertex around which we want to circulate.
Definition at line 84 of file mesh_circulators.h.
VertexAroundVertexCirculator() [3/3]
|
inline |
Construct directly from the outgoing half-edge.
Definition at line 89 of file mesh_circulators.h.
Member Function Documentation
getCurrentHalfEdgeIndex()
|
inline |
Get the half-edge that is currently stored in the circulator.
Definition at line 139 of file mesh_circulators.h.
References pcl::geometry::VertexAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology1().
getTargetIndex()
|
inline |
Get the index to the target vertex.
Definition at line 132 of file mesh_circulators.h.
References pcl::geometry::VertexAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_, and pcl::geometry::VertexAroundVertexCirculator< MeshT >::mesh_.
Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::checkTopology1().
isValid()
|
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 98 of file mesh_circulators.h.
References pcl::geometry::VertexAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_.
operator++()
|
inline |
Increment operators (with boost::operators): ++ (pre and post)
Definition at line 114 of file mesh_circulators.h.
References pcl::geometry::VertexAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_, and pcl::geometry::VertexAroundVertexCirculator< MeshT >::mesh_.
operator--()
|
inline |
Decrement operators (with boost::operators): – (pre and post)
Definition at line 123 of file mesh_circulators.h.
References pcl::geometry::VertexAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_, and pcl::geometry::VertexAroundVertexCirculator< MeshT >::mesh_.
operator==()
|
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 107 of file mesh_circulators.h.
References pcl::geometry::VertexAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_.
Member Data Documentation
idx_outgoing_half_edge_
HalfEdgeIndex pcl::geometry::VertexAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_ |
The outgoing half-edge of the vertex around which we want to circulate.
Definition at line 148 of file mesh_circulators.h.
Referenced by pcl::geometry::VertexAroundVertexCirculator< MeshT >::getCurrentHalfEdgeIndex(), pcl::geometry::VertexAroundVertexCirculator< MeshT >::getTargetIndex(), pcl::geometry::VertexAroundVertexCirculator< MeshT >::isValid(), pcl::geometry::VertexAroundVertexCirculator< MeshT >::operator++(), pcl::geometry::VertexAroundVertexCirculator< MeshT >::operator--(), and pcl::geometry::VertexAroundVertexCirculator< MeshT >::operator==().
mesh_
Mesh* pcl::geometry::VertexAroundVertexCirculator< MeshT >::mesh_ |
The mesh to which this circulator belongs to.
Definition at line 145 of file mesh_circulators.h.
Referenced by pcl::geometry::VertexAroundVertexCirculator< MeshT >::getTargetIndex(), pcl::geometry::VertexAroundVertexCirculator< MeshT >::operator++(), and pcl::geometry::VertexAroundVertexCirculator< MeshT >::operator--().
The documentation for this class was generated from the following file:
- pcl/geometry/mesh_circulators.h
© 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_vertex_circulator.html