pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT > Class Template Reference
Module geometry

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

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

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

## Public Types

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

## Public Member Functions

| InnerHalfEdgeAroundFaceCirculator ()
| Constructor resulting in an invalid circulator. More...
| InnerHalfEdgeAroundFaceCirculator (const FaceIndex &idx_face, Mesh *const mesh)
| Construct from the face around which we want to circulate. More...
| InnerHalfEdgeAroundFaceCirculator (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...
HalfEdgeIndex | getTargetIndex () const
| Get the index to the inner half-edge. 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::InnerHalfEdgeAroundFaceCirculator< MeshT >

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

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

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

## Member Typedef Documentation

template<class MeshT >

typedef boost::equality_comparable<pcl::geometry::InnerHalfEdgeAroundFaceCirculator <MeshT> , boost::unit_steppable <pcl::geometry::InnerHalfEdgeAroundFaceCirculator <MeshT> > > pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT >::Base

Definition at line 614 of file mesh_circulators.h.

template<class MeshT >

typedef Mesh::FaceIndex pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT >::FaceIndex

Definition at line 618 of file mesh_circulators.h.

template<class MeshT >

typedef Mesh::HalfEdgeIndex pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT >::HalfEdgeIndex

Definition at line 619 of file mesh_circulators.h.

template<class MeshT >

typedef MeshT pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT >::Mesh

Definition at line 617 of file mesh_circulators.h.

template<class MeshT >

typedef pcl::geometry::InnerHalfEdgeAroundFaceCirculator<MeshT> pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT >::Self

Definition at line 615 of file mesh_circulators.h.

## Constructor & Destructor Documentation

template<class MeshT >

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

inline

Constructor resulting in an invalid circulator.

Definition at line 622 of file mesh_circulators.h.

template<class MeshT >

pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT >::InnerHalfEdgeAroundFaceCirculator | ( | const FaceIndex & | idx_face,
|  | Mesh *const | mesh
| ) |  |

inline

Construct from the face around which we want to circulate.

Definition at line 629 of file mesh_circulators.h.

template<class MeshT >

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

inline

Construct directly from the inner half-edge.

Definition at line 637 of file mesh_circulators.h.

## Member Function Documentation

template<class MeshT >

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

inline

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

Definition at line 685 of file mesh_circulators.h.

template<class MeshT >

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

inline

Get the index to the inner half-edge.

Definition at line 678 of file mesh_circulators.h.

Referenced by pcl::geometry::MeshBase< QuadMesh< MeshTraitsT >, MeshTraitsT, QuadMeshTag >::deleteFace().

template<class MeshT >

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

template<class MeshT >

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

inline

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

Definition at line 662 of file mesh_circulators.h.

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

template<class MeshT >

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

inline

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

Definition at line 670 of file mesh_circulators.h.

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

template<class MeshT >

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

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

## Member Data Documentation

template<class MeshT >

HalfEdgeIndex pcl::geometry::InnerHalfEdgeAroundFaceCirculator< MeshT >::idx_inner_half_edge_

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

Definition at line 694 of file mesh_circulators.h.

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

template<class MeshT >

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

The mesh to which this circulator belongs to.

Definition at line 691 of file mesh_circulators.h.

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

- /build/pcl-0nnAvv/pcl-1.7.2/geometry/include/pcl/geometry/mesh_circulators.h