Loading...
Searching...
No Matches
pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT > Class Template Reference
Module geometry

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

`#include <pcl/geometry/mesh_circulators.h>`

Inheritance diagram for pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >:

## Public Types

using | Base = boost::equality_comparable< pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >, boost::unit_steppable< pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT > > >
using | Self = pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >
using | Mesh = MeshT
using | VertexIndex = typename Mesh::VertexIndex
using | HalfEdgeIndex = typename Mesh::HalfEdgeIndex

## Public Member Functions

| OutgoingHalfEdgeAroundVertexCirculator ()
| Constructor resulting in an invalid circulator.
| OutgoingHalfEdgeAroundVertexCirculator (const VertexIndex &idx_vertex, Mesh *const mesh)
| Construct from the vertex around which we want to circulate.
| OutgoingHalfEdgeAroundVertexCirculator (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): == !=.
Self & | operator++ ()
| Increment operators (with boost::operators): ++ (pre and post)
Self & | operator-- ()
| Decrement operators (with boost::operators): – (pre and post)
HalfEdgeIndex | getTargetIndex () const
| Get the index to the outgoing half-edge.
HalfEdgeIndex | getCurrentHalfEdgeIndex () const
| Get the half-edge that is currently stored in the circulator.

## Public Attributes

Mesh * | mesh_
| 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::OutgoingHalfEdgeAroundVertexCirculator< MeshT >

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

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

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

## Member Typedef Documentation

## Base

template<class MeshT >

using pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::Base = boost::equality_comparable< pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator<MeshT>, boost::unit_steppable< pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator<MeshT> >>

Definition at line 176 of file mesh_circulators.h.

## HalfEdgeIndex

template<class MeshT >

using pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::HalfEdgeIndex = typename Mesh::HalfEdgeIndex

Definition at line 184 of file mesh_circulators.h.

## Mesh

template<class MeshT >

using pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::Mesh = MeshT

Definition at line 182 of file mesh_circulators.h.

## Self

template<class MeshT >

using pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::Self = pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator<MeshT>

Definition at line 180 of file mesh_circulators.h.

## VertexIndex

template<class MeshT >

using pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::VertexIndex = typename Mesh::VertexIndex

Definition at line 183 of file mesh_circulators.h.

## Constructor & Destructor Documentation

## OutgoingHalfEdgeAroundVertexCirculator() [1/3]

template<class MeshT >

pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::OutgoingHalfEdgeAroundVertexCirculator | ( |  | ) |

inline

Constructor resulting in an invalid circulator.

Definition at line 187 of file mesh_circulators.h.

## OutgoingHalfEdgeAroundVertexCirculator() [2/3]

template<class MeshT >

pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::OutgoingHalfEdgeAroundVertexCirculator | ( | const VertexIndex & | idx_vertex,
|  | Mesh *const | mesh
| ) |  |

inline

Construct from the vertex around which we want to circulate.

Definition at line 191 of file mesh_circulators.h.

## OutgoingHalfEdgeAroundVertexCirculator() [3/3]

template<class MeshT >

pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::OutgoingHalfEdgeAroundVertexCirculator | ( | const HalfEdgeIndex & | idx_outgoing_half_edge,
|  | Mesh *const | mesh
| ) |  |

inline

Construct directly from the outgoing half-edge.

Definition at line 197 of file mesh_circulators.h.

## Member Function Documentation

## getCurrentHalfEdgeIndex()

template<class MeshT >

HalfEdgeIndex pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::getCurrentHalfEdgeIndex | ( |  | ) | const

inline

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

Definition at line 247 of file mesh_circulators.h.

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

## getTargetIndex()

template<class MeshT >

HalfEdgeIndex pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::getTargetIndex | ( |  | ) | const

inline

Get the index to the outgoing half-edge.

Definition at line 240 of file mesh_circulators.h.

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

Referenced by pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::connectOldOld(), and pcl::geometry::MeshBase< DerivedT, MeshTraitsT, MeshTagT >::isManifold().

## isValid()

template<class MeshT >

bool pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< 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 206 of file mesh_circulators.h.

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

## operator++()

template<class MeshT >

Self & pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::operator++ | ( |  | ) |

inline

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

Definition at line 222 of file mesh_circulators.h.

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

## operator--()

template<class MeshT >

Self & pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::operator-- | ( |  | ) |

inline

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

Definition at line 231 of file mesh_circulators.h.

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

## operator==()

template<class MeshT >

bool pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< 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 215 of file mesh_circulators.h.

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

## Member Data Documentation

## idx_outgoing_half_edge_

template<class MeshT >

HalfEdgeIndex pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::idx_outgoing_half_edge_

The outgoing half-edge of the vertex around which we want to circulate.

Definition at line 256 of file mesh_circulators.h.

Referenced by pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::getCurrentHalfEdgeIndex(), pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::getTargetIndex(), pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::isValid(), pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::operator++(), pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::operator--(), and pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::operator==().

## mesh_

template<class MeshT >

Mesh* pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::mesh_

The mesh to which this circulator belongs to.

Definition at line 253 of file mesh_circulators.h.

Referenced by pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::operator++(), and pcl::geometry::OutgoingHalfEdgeAroundVertexCirculator< MeshT >::operator--().

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

- pcl/geometry/mesh_circulators.h