Developer Documentation
OpenMesh::PolyConnectivity Class Reference

Connectivity Class for polygonal meshes. More...

#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/PolyConnectivity.hh>

Inheritance diagram for OpenMesh::PolyConnectivity:
OpenMesh::ArrayKernel OpenMesh::BaseKernel OpenMesh::TriConnectivity

Classes

struct  AddFaceEdgeInfo
 
struct  EdgeFaceTraits
 
struct  EdgeHalfedgeTraits
 
struct  EdgeVertexTraits
 
struct  ElementRange
 
struct  ElementRange< EdgeHandle >
 
struct  ElementRange< FaceHandle >
 
struct  ElementRange< HalfedgeHandle >
 
struct  ElementRange< VertexHandle >
 
struct  FaceEdgeTraits
 
struct  FaceFaceTraits
 
struct  FaceHalfedgeTraits
 
struct  FaceVertexTraits
 
struct  VertexEdgeTraits
 
struct  VertexFaceTraits
 
struct  VertexHalfedgeTraits
 
struct  VertexOppositeHalfedgeTraits
 
struct  VertexVertexTraits
 

Public Types

Mesh Iterators

Refer to OpenMesh::Mesh::Iterators or Mesh Iterators and Circulators for documentation.

typedef Iterators::GenericIteratorT< This, This::VertexHandle, ArrayKernel, &ArrayKernel::has_vertex_status, &ArrayKernel::n_verticesVertexIter
 Linear iterator. More...
 
typedef Iterators::GenericIteratorT< This, This::HalfedgeHandle, ArrayKernel, &ArrayKernel::has_halfedge_status, &ArrayKernel::n_halfedgesHalfedgeIter
 Linear iterator. More...
 
typedef Iterators::GenericIteratorT< This, This::EdgeHandle, ArrayKernel, &ArrayKernel::has_edge_status, &ArrayKernel::n_edgesEdgeIter
 Linear iterator. More...
 
typedef Iterators::GenericIteratorT< This, This::FaceHandle, ArrayKernel, &ArrayKernel::has_face_status, &ArrayKernel::n_facesFaceIter
 Linear iterator. More...
 
typedef VertexIter ConstVertexIter
 Linear iterator. More...
 
typedef HalfedgeIter ConstHalfedgeIter
 Linear iterator. More...
 
typedef EdgeIter ConstEdgeIter
 Linear iterator. More...
 
typedef FaceIter ConstFaceIter
 Linear iterator. More...
 
Mesh Circulators

Refer to OpenMesh::Mesh::Iterators or Mesh Iterators and Circulators for documentation.

typedef Iterators::GenericCirculatorT_DEPRECATED< VertexVertexTraitsVertexVertexIter
 
typedef Iterators::GenericCirculatorT< VertexVertexTraits, true > VertexVertexCWIter
 
typedef Iterators::GenericCirculatorT< VertexVertexTraits, false > VertexVertexCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< VertexHalfedgeTraitsVertexOHalfedgeIter
 
typedef Iterators::GenericCirculatorT< VertexHalfedgeTraits, true > VertexOHalfedgeCWIter
 
typedef Iterators::GenericCirculatorT< VertexHalfedgeTraits, false > VertexOHalfedgeCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< VertexOppositeHalfedgeTraitsVertexIHalfedgeIter
 
typedef Iterators::GenericCirculatorT< VertexOppositeHalfedgeTraits, true > VertexIHalfedgeCWIter
 
typedef Iterators::GenericCirculatorT< VertexOppositeHalfedgeTraits, false > VertexIHalfedgeCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< VertexFaceTraitsVertexFaceIter
 
typedef Iterators::GenericCirculatorT< VertexFaceTraits, true > VertexFaceCWIter
 
typedef Iterators::GenericCirculatorT< VertexFaceTraits, false > VertexFaceCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< VertexEdgeTraitsVertexEdgeIter
 
typedef Iterators::GenericCirculatorT< VertexEdgeTraits, true > VertexEdgeCWIter
 
typedef Iterators::GenericCirculatorT< VertexEdgeTraits, false > VertexEdgeCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< FaceHalfedgeTraitsHalfedgeLoopIter
 
typedef Iterators::GenericCirculatorT< FaceHalfedgeTraits, false > HalfedgeLoopCWIter
 
typedef Iterators::GenericCirculatorT< FaceHalfedgeTraits, true > HalfedgeLoopCCWIter
 
typedef VertexVertexIter ConstVertexVertexIter
 
typedef VertexVertexCWIter ConstVertexVertexCWIter
 
typedef VertexVertexCCWIter ConstVertexVertexCCWIter
 
typedef VertexOHalfedgeIter ConstVertexOHalfedgeIter
 
typedef VertexOHalfedgeCWIter ConstVertexOHalfedgeCWIter
 
typedef VertexOHalfedgeCCWIter ConstVertexOHalfedgeCCWIter
 
typedef VertexIHalfedgeIter ConstVertexIHalfedgeIter
 
typedef VertexIHalfedgeCWIter ConstVertexIHalfedgeCWIter
 
typedef VertexIHalfedgeCCWIter ConstVertexIHalfedgeCCWIter
 
typedef VertexFaceIter ConstVertexFaceIter
 
typedef VertexFaceCWIter ConstVertexFaceCWIter
 
typedef VertexFaceCCWIter ConstVertexFaceCCWIter
 
typedef VertexEdgeIter ConstVertexEdgeIter
 
typedef VertexEdgeCWIter ConstVertexEdgeCWIter
 
typedef VertexEdgeCCWIter ConstVertexEdgeCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< FaceVertexTraitsFaceVertexIter
 
typedef Iterators::GenericCirculatorT< FaceVertexTraits, true > FaceVertexCCWIter
 
typedef Iterators::GenericCirculatorT< FaceVertexTraits, false > FaceVertexCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< FaceHalfedgeTraitsFaceHalfedgeIter
 
typedef Iterators::GenericCirculatorT< FaceHalfedgeTraits, true > FaceHalfedgeCCWIter
 
typedef Iterators::GenericCirculatorT< FaceHalfedgeTraits, false > FaceHalfedgeCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< FaceEdgeTraitsFaceEdgeIter
 
typedef Iterators::GenericCirculatorT< FaceEdgeTraits, true > FaceEdgeCCWIter
 
typedef Iterators::GenericCirculatorT< FaceEdgeTraits, false > FaceEdgeCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< FaceFaceTraitsFaceFaceIter
 
typedef Iterators::GenericCirculatorT< FaceFaceTraits, true > FaceFaceCCWIter
 
typedef Iterators::GenericCirculatorT< FaceFaceTraits, false > FaceFaceCWIter
 
typedef FaceVertexIter ConstFaceVertexIter
 
typedef FaceVertexCWIter ConstFaceVertexCWIter
 
typedef FaceVertexCCWIter ConstFaceVertexCCWIter
 
typedef FaceHalfedgeIter ConstFaceHalfedgeIter
 
typedef FaceHalfedgeCWIter ConstFaceHalfedgeCWIter
 
typedef FaceHalfedgeCCWIter ConstFaceHalfedgeCCWIter
 
typedef FaceEdgeIter ConstFaceEdgeIter
 
typedef FaceEdgeCWIter ConstFaceEdgeCWIter
 
typedef FaceEdgeCCWIter ConstFaceEdgeCCWIter
 
typedef FaceFaceIter ConstFaceFaceIter
 
typedef FaceFaceCWIter ConstFaceFaceCWIter
 
typedef FaceFaceCCWIter ConstFaceFaceCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< EdgeVertexTraitsEdgeVertexIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< EdgeHalfedgeTraitsEdgeHalfedgeIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< EdgeFaceTraitsEdgeFaceIter
 
typedef EdgeVertexIter ConstEdgeVertexIter
 
typedef EdgeHalfedgeIter ConstEdgeHalfedgeIter
 
typedef EdgeFaceIter ConstEdgeFaceIter
 
typedef HalfedgeLoopIter ConstHalfedgeLoopIter
 
typedef HalfedgeLoopCWIter ConstHalfedgeLoopCWIter
 
typedef HalfedgeLoopCCWIter ConstHalfedgeLoopCCWIter
 
- Public Types inherited from OpenMesh::ArrayKernel
typedef OpenMesh::VertexHandle VertexHandle
 
typedef OpenMesh::HalfedgeHandle HalfedgeHandle
 
typedef OpenMesh::EdgeHandle EdgeHandle
 
typedef OpenMesh::FaceHandle FaceHandle
 
typedef Attributes::StatusInfo StatusInfo
 
typedef VPropHandleT< StatusInfoVertexStatusPropertyHandle
 
typedef HPropHandleT< StatusInfoHalfedgeStatusPropertyHandle
 
typedef EPropHandleT< StatusInfoEdgeStatusPropertyHandle
 
typedef FPropHandleT< StatusInfoFaceStatusPropertyHandle
 
typedef AutoStatusSetT< VertexHandleVertexStatusSet
 
typedef AutoStatusSetT< EdgeHandleEdgeStatusSet
 
typedef AutoStatusSetT< FaceHandleFaceStatusSet
 
typedef AutoStatusSetT< HalfedgeHandleHalfedgeStatusSet
 
typedef ExtStatusSetT< FaceHandleExtFaceStatusSet
 
typedef ExtStatusSetT< VertexHandleExtVertexStatusSet
 
typedef ExtStatusSetT< EdgeHandleExtEdgeStatusSet
 
typedef ExtStatusSetT< HalfedgeHandleExtHalfedgeStatusSet
 
- Public Types inherited from OpenMesh::BaseKernel
typedef PropertyContainer::iterator prop_iterator
 
typedef PropertyContainer::const_iterator const_prop_iterator
 

Public Member Functions

void adjust_outgoing_halfedge (VertexHandle _vh)
 
SmartHalfedgeHandle find_halfedge (VertexHandle _start_vh, VertexHandle _end_vh) const
 Find halfedge from _vh0 to _vh1. Returns invalid handle if not found. More...
 
uint valence (VertexHandle _vh) const
 Vertex valence. More...
 
uint valence (FaceHandle _fh) const
 Face valence. More...
 
void collapse (HalfedgeHandle _heh)
 
bool is_simple_link (EdgeHandle _eh) const
 
bool is_simply_connected (FaceHandle _fh) const
 
FaceHandle remove_edge (EdgeHandle _eh)
 
void reinsert_edge (EdgeHandle _eh)
 
HalfedgeHandle insert_edge (HalfedgeHandle _prev_heh, HalfedgeHandle _next_heh)
 
void split (FaceHandle _fh, VertexHandle _vh)
 Face split (= 1-to-n split). More...
 
void split_copy (FaceHandle _fh, VertexHandle _vh)
 Face split (= 1-to-n split). More...
 
void triangulate (FaceHandle _fh)
 Triangulate the face _fh. More...
 
void triangulate ()
 triangulate the entire mesh
More...
 
void split_edge (EdgeHandle _eh, VertexHandle _vh)
 
void split_edge_copy (EdgeHandle _eh, VertexHandle _vh)
 
template<>
PolyConnectivity::ConstVertexRangeSkipping elements () const
 
template<>
PolyConnectivity::ConstVertexRange all_elements () const
 
template<>
PolyConnectivity::ConstHalfedgeRangeSkipping elements () const
 
template<>
PolyConnectivity::ConstHalfedgeRange all_elements () const
 
template<>
PolyConnectivity::ConstEdgeRangeSkipping elements () const
 
template<>
PolyConnectivity::ConstEdgeRange all_elements () const
 
template<>
PolyConnectivity::ConstFaceRangeSkipping elements () const
 
template<>
PolyConnectivity::ConstFaceRange all_elements () const
 
Adding items to a mesh
SmartVertexHandle add_vertex ()
 Add a new vertex. More...
 
SmartFaceHandle add_face (const std::vector< VertexHandle > &_vhandles)
 Add and connect a new face. More...
 
SmartFaceHandle add_face (const std::vector< SmartVertexHandle > &_vhandles)
 Add and connect a new face. More...
 
SmartFaceHandle add_face (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2)
 Add and connect a new face. More...
 
SmartFaceHandle add_face (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2, VertexHandle _vh3)
 Add and connect a new face. More...
 
SmartFaceHandle add_face (const VertexHandle *_vhandles, size_t _vhs_size)
 Add and connect a new face. More...
 
Deleting mesh items and other connectivity/topology modifications
bool is_collapse_ok (HalfedgeHandle _he)
 
void delete_vertex (VertexHandle _vh, bool _delete_isolated_vertices=true)
 
void delete_edge (EdgeHandle _eh, bool _delete_isolated_vertices=true)
 
void delete_face (FaceHandle _fh, bool _delete_isolated_vertices=true)
 
Begin and end iterators
VertexIter vertices_begin ()
 Begin iterator for vertices. More...
 
ConstVertexIter vertices_begin () const
 Const begin iterator for vertices. More...
 
VertexIter vertices_end ()
 End iterator for vertices. More...
 
ConstVertexIter vertices_end () const
 Const end iterator for vertices. More...
 
HalfedgeIter halfedges_begin ()
 Begin iterator for halfedges. More...
 
ConstHalfedgeIter halfedges_begin () const
 Const begin iterator for halfedges. More...
 
HalfedgeIter halfedges_end ()
 End iterator for halfedges. More...
 
ConstHalfedgeIter halfedges_end () const
 Const end iterator for halfedges. More...
 
EdgeIter edges_begin ()
 Begin iterator for edges. More...
 
ConstEdgeIter edges_begin () const
 Const begin iterator for edges. More...
 
EdgeIter edges_end ()
 End iterator for edges. More...
 
ConstEdgeIter edges_end () const
 Const end iterator for edges. More...
 
FaceIter faces_begin ()
 Begin iterator for faces. More...
 
ConstFaceIter faces_begin () const
 Const begin iterator for faces. More...
 
FaceIter faces_end ()
 End iterator for faces. More...
 
ConstFaceIter faces_end () const
 Const end iterator for faces. More...
 
Begin for skipping iterators
VertexIter vertices_sbegin ()
 Begin iterator for vertices. More...
 
ConstVertexIter vertices_sbegin () const
 Const begin iterator for vertices. More...
 
HalfedgeIter halfedges_sbegin ()
 Begin iterator for halfedges. More...
 
ConstHalfedgeIter halfedges_sbegin () const
 Const begin iterator for halfedges. More...
 
EdgeIter edges_sbegin ()
 Begin iterator for edges. More...
 
ConstEdgeIter edges_sbegin () const
 Const begin iterator for edges. More...
 
FaceIter faces_sbegin ()
 Begin iterator for faces. More...
 
ConstFaceIter faces_sbegin () const
 Const begin iterator for faces. More...
 
Vertex, Face, and Edge circulators
VertexVertexIter vv_iter (VertexHandle _vh)
 vertex - vertex circulator More...
 
VertexVertexCWIter vv_cwiter (VertexHandle _vh)
 vertex - vertex circulator cw More...
 
VertexVertexCCWIter vv_ccwiter (VertexHandle _vh)
 vertex - vertex circulator ccw More...
 
VertexIHalfedgeIter vih_iter (VertexHandle _vh)
 vertex - incoming halfedge circulator More...
 
VertexIHalfedgeCWIter vih_cwiter (VertexHandle _vh)
 vertex - incoming halfedge circulator cw More...
 
VertexIHalfedgeCCWIter vih_ccwiter (VertexHandle _vh)
 vertex - incoming halfedge circulator ccw More...
 
VertexOHalfedgeIter voh_iter (VertexHandle _vh)
 vertex - outgoing halfedge circulator More...
 
VertexOHalfedgeCWIter voh_cwiter (VertexHandle _vh)
 vertex - outgoing halfedge circulator cw More...
 
VertexOHalfedgeCCWIter voh_ccwiter (VertexHandle _vh)
 vertex - outgoing halfedge circulator ccw More...
 
VertexEdgeIter ve_iter (VertexHandle _vh)
 vertex - edge circulator More...
 
VertexEdgeCWIter ve_cwiter (VertexHandle _vh)
 vertex - edge circulator cw More...
 
VertexEdgeCCWIter ve_ccwiter (VertexHandle _vh)
 vertex - edge circulator ccw More...
 
VertexFaceIter vf_iter (VertexHandle _vh)
 vertex - face circulator More...
 
VertexFaceCWIter vf_cwiter (VertexHandle _vh)
 vertex - face circulator cw More...
 
VertexFaceCCWIter vf_ccwiter (VertexHandle _vh)
 vertex - face circulator ccw More...
 
ConstVertexVertexIter cvv_iter (VertexHandle _vh) const
 const vertex circulator More...
 
ConstVertexVertexCWIter cvv_cwiter (VertexHandle _vh) const
 const vertex circulator cw More...
 
ConstVertexVertexCCWIter cvv_ccwiter (VertexHandle _vh) const
 const vertex circulator ccw More...
 
ConstVertexIHalfedgeIter cvih_iter (VertexHandle _vh) const
 const vertex - incoming halfedge circulator More...
 
ConstVertexIHalfedgeCWIter cvih_cwiter (VertexHandle _vh) const
 const vertex - incoming halfedge circulator cw More...
 
ConstVertexIHalfedgeCCWIter cvih_ccwiter (VertexHandle _vh) const
 const vertex - incoming halfedge circulator ccw More...
 
ConstVertexOHalfedgeIter cvoh_iter (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator More...
 
ConstVertexOHalfedgeCWIter cvoh_cwiter (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator cw More...
 
ConstVertexOHalfedgeCCWIter cvoh_ccwiter (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator ccw More...
 
ConstVertexEdgeIter cve_iter (VertexHandle _vh) const
 const vertex - edge circulator More...
 
ConstVertexEdgeCWIter cve_cwiter (VertexHandle _vh) const
 const vertex - edge circulator cw More...
 
ConstVertexEdgeCCWIter cve_ccwiter (VertexHandle _vh) const
 const vertex - edge circulator ccw More...
 
ConstVertexFaceIter cvf_iter (VertexHandle _vh) const
 const vertex - face circulator More...
 
ConstVertexFaceCWIter cvf_cwiter (VertexHandle _vh) const
 const vertex - face circulator cw More...
 
ConstVertexFaceCCWIter cvf_ccwiter (VertexHandle _vh) const
 const vertex - face circulator ccw More...
 
FaceVertexIter fv_iter (FaceHandle _fh)
 face - vertex circulator More...
 
FaceVertexCWIter fv_cwiter (FaceHandle _fh)
 face - vertex circulator cw More...
 
FaceVertexCCWIter fv_ccwiter (FaceHandle _fh)
 face - vertex circulator ccw More...
 
FaceHalfedgeIter fh_iter (FaceHandle _fh)
 face - halfedge circulator More...
 
FaceHalfedgeCWIter fh_cwiter (FaceHandle _fh)
 face - halfedge circulator cw More...
 
FaceHalfedgeCCWIter fh_ccwiter (FaceHandle _fh)
 face - halfedge circulator ccw More...
 
FaceEdgeIter fe_iter (FaceHandle _fh)
 face - edge circulator More...
 
FaceEdgeCWIter fe_cwiter (FaceHandle _fh)
 face - edge circulator cw More...
 
FaceEdgeCCWIter fe_ccwiter (FaceHandle _fh)
 face - edge circulator ccw More...
 
FaceFaceIter ff_iter (FaceHandle _fh)
 face - face circulator More...
 
FaceFaceCWIter ff_cwiter (FaceHandle _fh)
 face - face circulator cw More...
 
FaceFaceCCWIter ff_ccwiter (FaceHandle _fh)
 face - face circulator ccw More...
 
ConstFaceVertexIter cfv_iter (FaceHandle _fh) const
 const face - vertex circulator More...
 
ConstFaceVertexCWIter cfv_cwiter (FaceHandle _fh) const
 const face - vertex circulator cw More...
 
ConstFaceVertexCCWIter cfv_ccwiter (FaceHandle _fh) const
 const face - vertex circulator ccw More...
 
ConstFaceHalfedgeIter cfh_iter (FaceHandle _fh) const
 const face - halfedge circulator More...
 
ConstFaceHalfedgeCWIter cfh_cwiter (FaceHandle _fh) const
 const face - halfedge circulator cw More...
 
ConstFaceHalfedgeCCWIter cfh_ccwiter (FaceHandle _fh) const
 const face - halfedge circulator ccw More...
 
ConstFaceEdgeIter cfe_iter (FaceHandle _fh) const
 const face - edge circulator More...
 
ConstFaceEdgeCWIter cfe_cwiter (FaceHandle _fh) const
 const face - edge circulator cw More...
 
ConstFaceEdgeCCWIter cfe_ccwiter (FaceHandle _fh) const
 const face - edge circulator ccw More...
 
ConstFaceFaceIter cff_iter (FaceHandle _fh) const
 const face - face circulator More...
 
ConstFaceFaceCWIter cff_cwiter (FaceHandle _fh) const
 const face - face circulator cw More...
 
ConstFaceFaceCCWIter cff_ccwiter (FaceHandle _fh) const
 const face - face circulator More...
 
EdgeVertexIter ev_iter (EdgeHandle _eh)
 edge - vertex circulator More...
 
EdgeHalfedgeIter eh_iter (EdgeHandle _eh)
 edge - halfedge circulator More...
 
EdgeFaceIter ef_iter (EdgeHandle _eh)
 edge - face circulator More...
 
ConstEdgeVertexIter cev_iter (EdgeHandle _eh) const
 const edge - vertex circulator More...
 
ConstEdgeHalfedgeIter ceh_iter (EdgeHandle _eh) const
 const edge - halfedge circulator More...
 
ConstEdgeFaceIter cef_iter (EdgeHandle _eh) const
 const edge - face circulator More...
 
VertexVertexIter vv_begin (VertexHandle _vh)
 vertex - vertex circulator More...
 
VertexVertexCWIter vv_cwbegin (VertexHandle _vh)
 vertex - vertex circulator cw More...
 
VertexVertexCCWIter vv_ccwbegin (VertexHandle _vh)
 vertex - vertex circulator ccw More...
 
VertexIHalfedgeIter vih_begin (VertexHandle _vh)
 vertex - incoming halfedge circulator More...
 
VertexIHalfedgeCWIter vih_cwbegin (VertexHandle _vh)
 vertex - incoming halfedge circulator cw More...
 
VertexIHalfedgeCCWIter vih_ccwbegin (VertexHandle _vh)
 vertex - incoming halfedge circulator ccw More...
 
VertexOHalfedgeIter voh_begin (VertexHandle _vh)
 vertex - outgoing halfedge circulator More...
 
VertexOHalfedgeCWIter voh_cwbegin (VertexHandle _vh)
 vertex - outgoing halfedge circulator cw More...
 
VertexOHalfedgeCCWIter voh_ccwbegin (VertexHandle _vh)
 vertex - outgoing halfedge circulator ccw More...
 
VertexEdgeIter ve_begin (VertexHandle _vh)
 vertex - edge circulator More...
 
VertexEdgeCWIter ve_cwbegin (VertexHandle _vh)
 vertex - edge circulator cw More...
 
VertexEdgeCCWIter ve_ccwbegin (VertexHandle _vh)
 vertex - edge circulator ccw More...
 
VertexFaceIter vf_begin (VertexHandle _vh)
 vertex - face circulator More...
 
VertexFaceCWIter vf_cwbegin (VertexHandle _vh)
 vertex - face circulator cw More...
 
VertexFaceCCWIter vf_ccwbegin (VertexHandle _vh)
 vertex - face circulator ccw More...
 
ConstVertexVertexIter cvv_begin (VertexHandle _vh) const
 const vertex circulator More...
 
ConstVertexVertexCWIter cvv_cwbegin (VertexHandle _vh) const
 const vertex circulator cw More...
 
ConstVertexVertexCCWIter cvv_ccwbegin (VertexHandle _vh) const
 const vertex circulator ccw More...
 
ConstVertexIHalfedgeIter cvih_begin (VertexHandle _vh) const
 const vertex - incoming halfedge circulator More...
 
ConstVertexIHalfedgeCWIter cvih_cwbegin (VertexHandle _vh) const
 const vertex - incoming halfedge circulator cw More...
 
ConstVertexIHalfedgeCCWIter cvih_ccwbegin (VertexHandle _vh) const
 const vertex - incoming halfedge circulator ccw More...
 
ConstVertexOHalfedgeIter cvoh_begin (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator More...
 
ConstVertexOHalfedgeCWIter cvoh_cwbegin (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator cw More...
 
ConstVertexOHalfedgeCCWIter cvoh_ccwbegin (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator ccw More...
 
ConstVertexEdgeIter cve_begin (VertexHandle _vh) const
 const vertex - edge circulator More...
 
ConstVertexEdgeCWIter cve_cwbegin (VertexHandle _vh) const
 const vertex - edge circulator cw More...
 
ConstVertexEdgeCCWIter cve_ccwbegin (VertexHandle _vh) const
 const vertex - edge circulator ccw More...
 
ConstVertexFaceIter cvf_begin (VertexHandle _vh) const
 const vertex - face circulator More...
 
ConstVertexFaceCWIter cvf_cwbegin (VertexHandle _vh) const
 const vertex - face circulator cw More...
 
ConstVertexFaceCCWIter cvf_ccwbegin (VertexHandle _vh) const
 const vertex - face circulator ccw More...
 
FaceVertexIter fv_begin (FaceHandle _fh)
 face - vertex circulator More...
 
FaceVertexCWIter fv_cwbegin (FaceHandle _fh)
 face - vertex circulator cw More...
 
FaceVertexCCWIter fv_ccwbegin (FaceHandle _fh)
 face - vertex circulator ccw More...
 
FaceHalfedgeIter fh_begin (FaceHandle _fh)
 face - halfedge circulator More...
 
FaceHalfedgeCWIter fh_cwbegin (FaceHandle _fh)
 face - halfedge circulator cw More...
 
FaceHalfedgeCCWIter fh_ccwbegin (FaceHandle _fh)
 face - halfedge circulator ccw More...
 
FaceEdgeIter fe_begin (FaceHandle _fh)
 face - edge circulator More...
 
FaceEdgeCWIter fe_cwbegin (FaceHandle _fh)
 face - edge circulator cw More...
 
FaceEdgeCCWIter fe_ccwbegin (FaceHandle _fh)
 face - edge circulator ccw More...
 
FaceFaceIter ff_begin (FaceHandle _fh)
 face - face circulator More...
 
FaceFaceCWIter ff_cwbegin (FaceHandle _fh)
 face - face circulator cw More...
 
FaceFaceCCWIter ff_ccwbegin (FaceHandle _fh)
 face - face circulator ccw More...
 
HalfedgeLoopIter hl_begin (HalfedgeHandle _heh)
 halfedge circulator More...
 
HalfedgeLoopCWIter hl_cwbegin (HalfedgeHandle _heh)
 halfedge circulator More...
 
HalfedgeLoopCCWIter hl_ccwbegin (HalfedgeHandle _heh)
 halfedge circulator ccw More...
 
ConstFaceVertexIter cfv_begin (FaceHandle _fh) const
 const face - vertex circulator More...
 
ConstFaceVertexCWIter cfv_cwbegin (FaceHandle _fh) const
 const face - vertex circulator cw More...
 
ConstFaceVertexCCWIter cfv_ccwbegin (FaceHandle _fh) const
 const face - vertex circulator ccw More...
 
ConstFaceHalfedgeIter cfh_begin (FaceHandle _fh) const
 const face - halfedge circulator More...
 
ConstFaceHalfedgeCWIter cfh_cwbegin (FaceHandle _fh) const
 const face - halfedge circulator cw More...
 
ConstFaceHalfedgeCCWIter cfh_ccwbegin (FaceHandle _fh) const
 const face - halfedge circulator ccw More...
 
ConstFaceEdgeIter cfe_begin (FaceHandle _fh) const
 const face - edge circulator More...
 
ConstFaceEdgeCWIter cfe_cwbegin (FaceHandle _fh) const
 const face - edge circulator cw More...
 
ConstFaceEdgeCCWIter cfe_ccwbegin (FaceHandle _fh) const
 const face - edge circulator ccw More...
 
ConstFaceFaceIter cff_begin (FaceHandle _fh) const
 const face - face circulator More...
 
ConstFaceFaceCWIter cff_cwbegin (FaceHandle _fh) const
 const face - face circulator cw More...
 
ConstFaceFaceCCWIter cff_ccwbegin (FaceHandle _fh) const
 const face - face circulator ccw More...
 
ConstHalfedgeLoopIter chl_begin (HalfedgeHandle _heh) const
 const halfedge circulator More...
 
ConstHalfedgeLoopCWIter chl_cwbegin (HalfedgeHandle _heh) const
 const halfedge circulator cw More...
 
ConstHalfedgeLoopCCWIter chl_ccwbegin (HalfedgeHandle _heh) const
 const halfedge circulator ccw More...
 
EdgeVertexIter ev_begin (EdgeHandle _eh)
 edge - vertex circulator More...
 
EdgeHalfedgeIter eh_begin (EdgeHandle _eh)
 edge - halfedge circulator More...
 
EdgeFaceIter ef_begin (EdgeHandle _eh)
 edge - face circulator More...
 
ConstEdgeVertexIter cev_begin (EdgeHandle _eh) const
 const edge - vertex circulator More...
 
ConstEdgeHalfedgeIter ceh_begin (EdgeHandle _eh) const
 const edge - halfedge circulator More...
 
ConstEdgeFaceIter cef_begin (EdgeHandle _eh) const
 const edge - face circulator More...
 
VertexVertexIter vv_end (VertexHandle _vh)
 vertex - vertex circulator More...
 
VertexVertexCWIter vv_cwend (VertexHandle _vh)
 vertex - vertex circulator cw More...
 
VertexVertexCCWIter vv_ccwend (VertexHandle _vh)
 vertex - vertex circulator ccw More...
 
VertexIHalfedgeIter vih_end (VertexHandle _vh)
 vertex - incoming halfedge circulator More...
 
VertexIHalfedgeCWIter vih_cwend (VertexHandle _vh)
 vertex - incoming halfedge circulator cw More...
 
VertexIHalfedgeCCWIter vih_ccwend (VertexHandle _vh)
 vertex - incoming halfedge circulator ccw More...
 
VertexOHalfedgeIter voh_end (VertexHandle _vh)
 vertex - outgoing halfedge circulator More...
 
VertexOHalfedgeCWIter voh_cwend (VertexHandle _vh)
 vertex - outgoing halfedge circulator cw More...
 
VertexOHalfedgeCCWIter voh_ccwend (VertexHandle _vh)
 vertex - outgoing halfedge circulator ccw More...
 
VertexEdgeIter ve_end (VertexHandle _vh)
 vertex - edge circulator More...
 
VertexEdgeCWIter ve_cwend (VertexHandle _vh)
 vertex - edge circulator cw More...
 
VertexEdgeCCWIter ve_ccwend (VertexHandle _vh)
 vertex - edge circulator ccw More...
 
VertexFaceIter vf_end (VertexHandle _vh)
 vertex - face circulator More...
 
VertexFaceCWIter vf_cwend (VertexHandle _vh)
 vertex - face circulator cw More...
 
VertexFaceCCWIter vf_ccwend (VertexHandle _vh)
 vertex - face circulator ccw More...
 
ConstVertexVertexIter cvv_end (VertexHandle _vh) const
 const vertex circulator More...
 
ConstVertexVertexCWIter cvv_cwend (VertexHandle _vh) const
 const vertex circulator cw More...
 
ConstVertexVertexCCWIter cvv_ccwend (VertexHandle _vh) const
 const vertex circulator ccw More...
 
ConstVertexIHalfedgeIter cvih_end (VertexHandle _vh) const
 const vertex - incoming halfedge circulator More...
 
ConstVertexIHalfedgeCWIter cvih_cwend (VertexHandle _vh) const
 const vertex - incoming halfedge circulator cw More...
 
ConstVertexIHalfedgeCCWIter cvih_ccwend (VertexHandle _vh) const
 const vertex - incoming halfedge circulator ccw More...
 
ConstVertexOHalfedgeIter cvoh_end (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator More...
 
ConstVertexOHalfedgeCWIter cvoh_cwend (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator cw More...
 
ConstVertexOHalfedgeCCWIter cvoh_ccwend (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator ccw More...
 
ConstVertexEdgeIter cve_end (VertexHandle _vh) const
 const vertex - edge circulator More...
 
ConstVertexEdgeCWIter cve_cwend (VertexHandle _vh) const
 const vertex - edge circulator cw More...
 
ConstVertexEdgeCCWIter cve_ccwend (VertexHandle _vh) const
 const vertex - edge circulator ccw More...
 
ConstVertexFaceIter cvf_end (VertexHandle _vh) const
 const vertex - face circulator More...
 
ConstVertexFaceCWIter cvf_cwend (VertexHandle _vh) const
 const vertex - face circulator cw More...
 
ConstVertexFaceCCWIter cvf_ccwend (VertexHandle _vh) const
 const vertex - face circulator ccw More...
 
FaceVertexIter fv_end (FaceHandle _fh)
 face - vertex circulator More...
 
FaceVertexCWIter fv_cwend (FaceHandle _fh)
 face - vertex circulator cw More...
 
FaceVertexCCWIter fv_ccwend (FaceHandle _fh)
 face - vertex circulator ccw More...
 
FaceHalfedgeIter fh_end (FaceHandle _fh)
 face - halfedge circulator More...
 
FaceHalfedgeCWIter fh_cwend (FaceHandle _fh)
 face - halfedge circulator cw More...
 
FaceHalfedgeCCWIter fh_ccwend (FaceHandle _fh)
 face - halfedge circulator ccw More...
 
FaceEdgeIter fe_end (FaceHandle _fh)
 face - edge circulator More...
 
FaceEdgeCWIter fe_cwend (FaceHandle _fh)
 face - edge circulator cw More...
 
FaceEdgeCCWIter fe_ccwend (FaceHandle _fh)
 face - edge circulator ccw More...
 
FaceFaceIter ff_end (FaceHandle _fh)
 face - face circulator More...
 
FaceFaceCWIter ff_cwend (FaceHandle _fh)
 face - face circulator cw More...
 
FaceFaceCCWIter ff_ccwend (FaceHandle _fh)
 face - face circulator ccw More...
 
HalfedgeLoopIter hl_end (HalfedgeHandle _heh)
 face - face circulator More...
 
HalfedgeLoopCWIter hl_cwend (HalfedgeHandle _heh)
 face - face circulator cw More...
 
HalfedgeLoopCCWIter hl_ccwend (HalfedgeHandle _heh)
 face - face circulator ccw More...
 
ConstFaceVertexIter cfv_end (FaceHandle _fh) const
 const face - vertex circulator More...
 
ConstFaceVertexCWIter cfv_cwend (FaceHandle _fh) const
 const face - vertex circulator cw More...
 
ConstFaceVertexCCWIter cfv_ccwend (FaceHandle _fh) const
 const face - vertex circulator ccw More...
 
ConstFaceHalfedgeIter cfh_end (FaceHandle _fh) const
 const face - halfedge circulator More...
 
ConstFaceHalfedgeCWIter cfh_cwend (FaceHandle _fh) const
 const face - halfedge circulator cw More...
 
ConstFaceHalfedgeCCWIter cfh_ccwend (FaceHandle _fh) const
 const face - halfedge circulator ccw More...
 
ConstFaceEdgeIter cfe_end (FaceHandle _fh) const
 const face - edge circulator More...
 
ConstFaceEdgeCWIter cfe_cwend (FaceHandle _fh) const
 const face - edge circulator cw More...
 
ConstFaceEdgeCCWIter cfe_ccwend (FaceHandle _fh) const
 const face - edge circulator ccw More...
 
ConstFaceFaceIter cff_end (FaceHandle _fh) const
 const face - face circulator More...
 
ConstFaceFaceCWIter cff_cwend (FaceHandle _fh) const
 const face - face circulator More...
 
ConstFaceFaceCCWIter cff_ccwend (FaceHandle _fh) const
 const face - face circulator More...
 
ConstHalfedgeLoopIter chl_end (HalfedgeHandle _heh) const
 const face - face circulator More...
 
ConstHalfedgeLoopCWIter chl_cwend (HalfedgeHandle _heh) const
 const face - face circulator cw More...
 
ConstHalfedgeLoopCCWIter chl_ccwend (HalfedgeHandle _heh) const
 const face - face circulator ccw More...
 
EdgeVertexIter ev_end (EdgeHandle _eh)
 edge - vertex circulator More...
 
EdgeHalfedgeIter eh_end (EdgeHandle _eh)
 edge - halfedge circulator More...
 
EdgeFaceIter ef_end (EdgeHandle _eh)
 edge - face circulator More...
 
ConstEdgeVertexIter cev_end (EdgeHandle _eh) const
 const edge - vertex circulator More...
 
ConstEdgeHalfedgeIter ceh_end (EdgeHandle _eh) const
 const edge - halfedge circulator More...
 
ConstEdgeFaceIter cef_end (EdgeHandle _eh) const
 const edge - face circulator More...
 
Boundary and manifold tests
bool is_boundary (HalfedgeHandle _heh) const
 Check if the halfedge is at the boundary. More...
 
bool is_boundary (EdgeHandle _eh) const
 Is the edge a boundary edge? More...
 
bool is_boundary (VertexHandle _vh) const
 Is vertex _vh a boundary vertex ? More...
 
bool is_boundary (FaceHandle _fh, bool _check_vertex=false) const
 Check if face is at the boundary. More...
 
bool is_manifold (VertexHandle _vh) const
 Is (the mesh at) vertex _vh two-manifold ? More...
 
- Public Member Functions inherited from OpenMesh::ArrayKernel
void assign_connectivity (const ArrayKernel &_other)
 
VertexHandle handle (const Vertex &_v) const
 
HalfedgeHandle handle (const Halfedge &_he) const
 
EdgeHandle handle (const Edge &_e) const
 
FaceHandle handle (const Face &_f) const
 
bool is_valid_handle (VertexHandle _vh) const
 checks handle validity - useful for debugging More...
 
bool is_valid_handle (HalfedgeHandle _heh) const
 checks handle validity - useful for debugging More...
 
bool is_valid_handle (EdgeHandle _eh) const
 checks handle validity - useful for debugging More...
 
bool is_valid_handle (FaceHandle _fh) const
 checks handle validity - useful for debugging More...
 
const Vertex & vertex (VertexHandle _vh) const
 
Vertex & vertex (VertexHandle _vh)
 
const Halfedge & halfedge (HalfedgeHandle _heh) const
 
Halfedge & halfedge (HalfedgeHandle _heh)
 
const Edge & edge (EdgeHandle _eh) const
 
Edge & edge (EdgeHandle _eh)
 
const Face & face (FaceHandle _fh) const
 
Face & face (FaceHandle _fh)
 
VertexHandle vertex_handle (unsigned int _i) const
 
HalfedgeHandle halfedge_handle (unsigned int _i) const
 
EdgeHandle edge_handle (unsigned int _i) const
 
FaceHandle face_handle (unsigned int _i) const
 
VertexHandle new_vertex ()
 Add a new vertex. More...
 
VertexHandle new_vertex_dirty ()
 
HalfedgeHandle new_edge (VertexHandle _start_vh, VertexHandle _end_vh)
 
FaceHandle new_face ()
 
FaceHandle new_face (const Face &_f)
 
void resize (size_t _n_vertices, size_t _n_edges, size_t _n_faces)
 
void reserve (size_t _n_vertices, size_t _n_edges, size_t _n_faces)
 
void garbage_collection (bool _v=true, bool _e=true, bool _f=true)
 garbage collection More...
 
template<typename std_API_Container_VHandlePointer , typename std_API_Container_HHandlePointer , typename std_API_Container_FHandlePointer >
void garbage_collection (std_API_Container_VHandlePointer &vh_to_update, std_API_Container_HHandlePointer &hh_to_update, std_API_Container_FHandlePointer &fh_to_update, bool _v=true, bool _e=true, bool _f=true)
 garbage collection with handle tracking More...
 
void clear ()
 Does the same as clean() and in addition erases all properties. More...
 
void clean ()
 Remove all vertices, edges and faces and deallocates their memory. More...
 
void clean_keep_reservation ()
 Remove all vertices, edges and faces but keep memory allocated. More...
 
size_t n_vertices () const override
 
size_t n_halfedges () const override
 
size_t n_edges () const override
 
size_t n_faces () const override
 
bool vertices_empty () const
 
bool halfedges_empty () const
 
bool edges_empty () const
 
bool faces_empty () const
 
HalfedgeHandle halfedge_handle (VertexHandle _vh) const
 
void set_halfedge_handle (VertexHandle _vh, HalfedgeHandle _heh)
 
bool is_isolated (VertexHandle _vh) const
 
void set_isolated (VertexHandle _vh)
 
unsigned int delete_isolated_vertices ()
 
VertexHandle to_vertex_handle (HalfedgeHandle _heh) const
 
VertexHandle from_vertex_handle (HalfedgeHandle _heh) const
 
void set_vertex_handle (HalfedgeHandle _heh, VertexHandle _vh)
 
FaceHandle face_handle (HalfedgeHandle _heh) const
 
void set_face_handle (HalfedgeHandle _heh, FaceHandle _fh)
 
void set_boundary (HalfedgeHandle _heh)
 
bool is_boundary (HalfedgeHandle _heh) const
 Is halfedge _heh a boundary halfedge (is its face handle invalid) ? More...
 
HalfedgeHandle next_halfedge_handle (HalfedgeHandle _heh) const
 
void set_next_halfedge_handle (HalfedgeHandle _heh, HalfedgeHandle _nheh)
 
void set_prev_halfedge_handle (HalfedgeHandle _heh, HalfedgeHandle _pheh)
 
void set_prev_halfedge_handle (HalfedgeHandle _heh, HalfedgeHandle _pheh, GenProg::TrueType)
 
void set_prev_halfedge_handle (HalfedgeHandle, HalfedgeHandle, GenProg::FalseType)
 
HalfedgeHandle prev_halfedge_handle (HalfedgeHandle _heh) const
 
HalfedgeHandle prev_halfedge_handle (HalfedgeHandle _heh, GenProg::TrueType) const
 
HalfedgeHandle prev_halfedge_handle (HalfedgeHandle _heh, GenProg::FalseType) const
 
HalfedgeHandle opposite_halfedge_handle (HalfedgeHandle _heh) const
 
HalfedgeHandle ccw_rotated_halfedge_handle (HalfedgeHandle _heh) const
 
HalfedgeHandle cw_rotated_halfedge_handle (HalfedgeHandle _heh) const
 
HalfedgeHandle halfedge_handle (EdgeHandle _eh, unsigned int _i=0) const
 
EdgeHandle edge_handle (HalfedgeHandle _heh) const
 
HalfedgeHandle halfedge_handle (FaceHandle _fh) const
 
void set_halfedge_handle (FaceHandle _fh, HalfedgeHandle _heh)
 
const StatusInfostatus (VertexHandle _vh) const
 Status Query API. More...
 
StatusInfostatus (VertexHandle _vh)
 
void reset_status ()
 
const StatusInfostatus (HalfedgeHandle _hh) const
 
StatusInfostatus (HalfedgeHandle _hh)
 
const StatusInfostatus (EdgeHandle _eh) const
 
StatusInfostatus (EdgeHandle _eh)
 
const StatusInfostatus (FaceHandle _fh) const
 
StatusInfostatus (FaceHandle _fh)
 
bool has_vertex_status () const
 
bool has_halfedge_status () const
 
bool has_edge_status () const
 
bool has_face_status () const
 
VertexStatusPropertyHandle vertex_status_pph () const
 
HalfedgeStatusPropertyHandle halfedge_status_pph () const
 
EdgeStatusPropertyHandle edge_status_pph () const
 
FaceStatusPropertyHandle face_status_pph () const
 
VertexStatusPropertyHandle status_pph (VertexHandle) const
 status property by handle More...
 
HalfedgeStatusPropertyHandle status_pph (HalfedgeHandle) const
 
EdgeStatusPropertyHandle status_pph (EdgeHandle) const
 
FaceStatusPropertyHandle status_pph (FaceHandle) const
 
void request_vertex_status ()
 Status Request API. More...
 
void request_halfedge_status ()
 
void request_edge_status ()
 
void request_face_status ()
 
void release_vertex_status ()
 Status Release API. More...
 
void release_halfedge_status ()
 
void release_edge_status ()
 
void release_face_status ()
 
- Public Member Functions inherited from OpenMesh::BaseKernel
template<>
size_t n_elements () const
 
template<>
size_t n_elements () const
 
template<>
size_t n_elements () const
 
template<>
size_t n_elements () const
 
template<class T >
void add_property (VPropHandleT< T > &_ph, const std::string &_name="<vprop>")
 
template<class T >
void add_property (HPropHandleT< T > &_ph, const std::string &_name="<hprop>")
 
template<class T >
void add_property (EPropHandleT< T > &_ph, const std::string &_name="<eprop>")
 
template<class T >
void add_property (FPropHandleT< T > &_ph, const std::string &_name="<fprop>")
 
template<class T >
void add_property (MPropHandleT< T > &_ph, const std::string &_name="<mprop>")
 
template<typename T >
void remove_property (VPropHandleT< T > &_ph)
 
template<typename T >
void remove_property (HPropHandleT< T > &_ph)
 
template<typename T >
void remove_property (EPropHandleT< T > &_ph)
 
template<typename T >
void remove_property (FPropHandleT< T > &_ph)
 
template<typename T >
void remove_property (MPropHandleT< T > &_ph)
 
template<class T >
bool get_property_handle (VPropHandleT< T > &_ph, const std::string &_name) const
 
template<class T >
bool get_property_handle (HPropHandleT< T > &_ph, const std::string &_name) const
 
template<class T >
bool get_property_handle (EPropHandleT< T > &_ph, const std::string &_name) const
 
template<class T >
bool get_property_handle (FPropHandleT< T > &_ph, const std::string &_name) const
 
template<class T >
bool get_property_handle (MPropHandleT< T > &_ph, const std::string &_name) const
 
template<class T >
PropertyT< T > & property (VPropHandleT< T > _ph)
 
template<class T >
const PropertyT< T > & property (VPropHandleT< T > _ph) const
 
template<class T >
PropertyT< T > & property (HPropHandleT< T > _ph)
 
template<class T >
const PropertyT< T > & property (HPropHandleT< T > _ph) const
 
template<class T >
PropertyT< T > & property (EPropHandleT< T > _ph)
 
template<class T >
const PropertyT< T > & property (EPropHandleT< T > _ph) const
 
template<class T >
PropertyT< T > & property (FPropHandleT< T > _ph)
 
template<class T >
const PropertyT< T > & property (FPropHandleT< T > _ph) const
 
template<class T >
PropertyT< T > & mproperty (MPropHandleT< T > _ph)
 
template<class T >
const PropertyT< T > & mproperty (MPropHandleT< T > _ph) const
 
template<class T >
VPropHandleT< T >::reference property (VPropHandleT< T > _ph, VertexHandle _vh)
 
template<class T >
VPropHandleT< T >::const_reference property (VPropHandleT< T > _ph, VertexHandle _vh) const
 
template<class T >
HPropHandleT< T >::reference property (HPropHandleT< T > _ph, HalfedgeHandle _hh)
 
template<class T >
HPropHandleT< T >::const_reference property (HPropHandleT< T > _ph, HalfedgeHandle _hh) const
 
template<class T >
EPropHandleT< T >::reference property (EPropHandleT< T > _ph, EdgeHandle _eh)
 
template<class T >
EPropHandleT< T >::const_reference property (EPropHandleT< T > _ph, EdgeHandle _eh) const
 
template<class T >
FPropHandleT< T >::reference property (FPropHandleT< T > _ph, FaceHandle _fh)
 
template<class T >
FPropHandleT< T >::const_reference property (FPropHandleT< T > _ph, FaceHandle _fh) const
 
template<class T >
MPropHandleT< T >::reference property (MPropHandleT< T > _ph)
 
template<class T >
MPropHandleT< T >::const_reference property (MPropHandleT< T > _ph) const
 
template<class T >
void copy_property (VPropHandleT< T > &_ph, VertexHandle _vh_from, VertexHandle _vh_to)
 
template<class T >
void copy_property (HPropHandleT< T > _ph, HalfedgeHandle _hh_from, HalfedgeHandle _hh_to)
 
template<class T >
void copy_property (EPropHandleT< T > _ph, EdgeHandle _eh_from, EdgeHandle _eh_to)
 
template<class T >
void copy_property (FPropHandleT< T > _ph, FaceHandle _fh_from, FaceHandle _fh_to)
 
void copy_all_properties (VertexHandle _vh_from, VertexHandle _vh_to, bool _copyBuildIn=false)
 
void copy_all_properties (HalfedgeHandle _hh_from, HalfedgeHandle _hh_to, bool _copyBuildIn=false)
 
void copy_all_properties (EdgeHandle _eh_from, EdgeHandle _eh_to, bool _copyBuildIn=false)
 
void copy_all_properties (FaceHandle _fh_from, FaceHandle _fh_to, bool _copyBuildIn=false)
 
void copy_all_kernel_properties (const BaseKernel &_other)
 copy_all_kernel_properties uses the = operator to copy all properties from a given other BaseKernel. More...
 
size_t n_vprops (void) const
 
size_t n_eprops (void) const
 
size_t n_hprops (void) const
 
size_t n_fprops (void) const
 
size_t n_mprops (void) const
 
BaseProperty_get_vprop (const std::string &_name)
 
BaseProperty_get_eprop (const std::string &_name)
 
BaseProperty_get_hprop (const std::string &_name)
 
BaseProperty_get_fprop (const std::string &_name)
 
BaseProperty_get_mprop (const std::string &_name)
 
const BaseProperty_get_vprop (const std::string &_name) const
 
const BaseProperty_get_eprop (const std::string &_name) const
 
const BaseProperty_get_hprop (const std::string &_name) const
 
const BaseProperty_get_fprop (const std::string &_name) const
 
const BaseProperty_get_mprop (const std::string &_name) const
 
BaseProperty_vprop (size_t _idx)
 
BaseProperty_eprop (size_t _idx)
 
BaseProperty_hprop (size_t _idx)
 
BaseProperty_fprop (size_t _idx)
 
BaseProperty_mprop (size_t _idx)
 
const BaseProperty_vprop (size_t _idx) const
 
const BaseProperty_eprop (size_t _idx) const
 
const BaseProperty_hprop (size_t _idx) const
 
const BaseProperty_fprop (size_t _idx) const
 
const BaseProperty_mprop (size_t _idx) const
 
size_t _add_vprop (BaseProperty *_bp)
 
size_t _add_eprop (BaseProperty *_bp)
 
size_t _add_hprop (BaseProperty *_bp)
 
size_t _add_fprop (BaseProperty *_bp)
 
size_t _add_mprop (BaseProperty *_bp)
 
template<typename HandleT >
size_t n_elements () const
 
void property_stats () const
 
void property_stats (std::ostream &_ostr) const
 
void vprop_stats (std::string &_string) const
 
void hprop_stats (std::string &_string) const
 
void eprop_stats (std::string &_string) const
 
void fprop_stats (std::string &_string) const
 
void mprop_stats (std::string &_string) const
 
void vprop_stats () const
 
void hprop_stats () const
 
void eprop_stats () const
 
void fprop_stats () const
 
void mprop_stats () const
 
void vprop_stats (std::ostream &_ostr) const
 
void hprop_stats (std::ostream &_ostr) const
 
void eprop_stats (std::ostream &_ostr) const
 
void fprop_stats (std::ostream &_ostr) const
 
void mprop_stats (std::ostream &_ostr) const
 
prop_iterator vprops_begin ()
 
prop_iterator vprops_end ()
 
const_prop_iterator vprops_begin () const
 
const_prop_iterator vprops_end () const
 
prop_iterator eprops_begin ()
 
prop_iterator eprops_end ()
 
const_prop_iterator eprops_begin () const
 
const_prop_iterator eprops_end () const
 
prop_iterator hprops_begin ()
 
prop_iterator hprops_end ()
 
const_prop_iterator hprops_begin () const
 
const_prop_iterator hprops_end () const
 
prop_iterator fprops_begin ()
 
prop_iterator fprops_end ()
 
const_prop_iterator fprops_begin () const
 
const_prop_iterator fprops_end () const
 
prop_iterator mprops_begin ()
 
prop_iterator mprops_end ()
 
const_prop_iterator mprops_begin () const
 
const_prop_iterator mprops_end () const
 

Mesh Handles

typedef PolyConnectivity This
 Invalid handle. More...
 
static const VertexHandle InvalidVertexHandle
 Invalid handle. More...
 
static const HalfedgeHandle InvalidHalfedgeHandle
 Invalid handle. More...
 
static const EdgeHandle InvalidEdgeHandle
 Invalid handle. More...
 
static const FaceHandle InvalidFaceHandle
 Invalid handle. More...
 

Typedef Shortcuts

Provided for convenience only

typedef VertexHandle VHandle
 Alias typedef. More...
 
typedef HalfedgeHandle HHandle
 Alias typedef. More...
 
typedef EdgeHandle EHandle
 Alias typedef. More...
 
typedef FaceHandle FHandle
 Alias typedef. More...
 
typedef VertexIter VIter
 Alias typedef. More...
 
typedef HalfedgeIter HIter
 Alias typedef. More...
 
typedef EdgeIter EIter
 Alias typedef. More...
 
typedef FaceIter FIter
 Alias typedef. More...
 
typedef ConstVertexIter CVIter
 Alias typedef. More...
 
typedef ConstHalfedgeIter CHIter
 Alias typedef. More...
 
typedef ConstEdgeIter CEIter
 Alias typedef. More...
 
typedef ConstFaceIter CFIter
 Alias typedef. More...
 
typedef VertexVertexIter VVIter
 Alias typedef. More...
 
typedef VertexVertexCWIter VVCWIter
 Alias typedef. More...
 
typedef VertexVertexCCWIter VVCCWIter
 Alias typedef. More...
 
typedef VertexOHalfedgeIter VOHIter
 Alias typedef. More...
 
typedef VertexOHalfedgeCWIter VOHCWIter
 Alias typedef. More...
 
typedef VertexOHalfedgeCCWIter VOHCCWIter
 Alias typedef. More...
 
typedef VertexIHalfedgeIter VIHIter
 Alias typedef. More...
 
typedef VertexIHalfedgeCWIter VIHICWter
 Alias typedef. More...
 
typedef VertexIHalfedgeCCWIter VIHICCWter
 Alias typedef. More...
 
typedef VertexEdgeIter VEIter
 Alias typedef. More...
 
typedef VertexEdgeCWIter VECWIter
 Alias typedef. More...
 
typedef VertexEdgeCCWIter VECCWIter
 Alias typedef. More...
 
typedef VertexFaceIter VFIter
 Alias typedef. More...
 
typedef VertexFaceCWIter VFCWIter
 Alias typedef. More...
 
typedef VertexFaceCCWIter VFCCWIter
 Alias typedef. More...
 
typedef FaceVertexIter FVIter
 Alias typedef. More...
 
typedef FaceVertexCWIter FVCWIter
 Alias typedef. More...
 
typedef FaceVertexCCWIter FVCCWIter
 Alias typedef. More...
 
typedef FaceHalfedgeIter FHIter
 Alias typedef. More...
 
typedef FaceHalfedgeCWIter FHCWIter
 Alias typedef. More...
 
typedef FaceHalfedgeCCWIter FHCWWIter
 Alias typedef. More...
 
typedef FaceEdgeIter FEIter
 Alias typedef. More...
 
typedef FaceEdgeCWIter FECWIter
 Alias typedef. More...
 
typedef FaceEdgeCCWIter FECWWIter
 Alias typedef. More...
 
typedef FaceFaceIter FFIter
 Alias typedef. More...
 
typedef EdgeVertexIter EVIter
 Alias typedef. More...
 
typedef EdgeHalfedgeIter EHIter
 Alias typedef. More...
 
typedef EdgeFaceIter EFIter
 Alias typedef. More...
 
typedef ConstVertexVertexIter CVVIter
 Alias typedef. More...
 
typedef ConstVertexVertexCWIter CVVCWIter
 Alias typedef. More...
 
typedef ConstVertexVertexCCWIter CVVCCWIter
 Alias typedef. More...
 
typedef ConstVertexOHalfedgeIter CVOHIter
 Alias typedef. More...
 
typedef ConstVertexOHalfedgeCWIter CVOHCWIter
 Alias typedef. More...
 
typedef ConstVertexOHalfedgeCCWIter CVOHCCWIter
 Alias typedef. More...
 
typedef ConstVertexIHalfedgeIter CVIHIter
 Alias typedef. More...
 
typedef ConstVertexIHalfedgeCWIter CVIHCWIter
 Alias typedef. More...
 
typedef ConstVertexIHalfedgeCCWIter CVIHCCWIter
 Alias typedef. More...
 
typedef ConstVertexEdgeIter CVEIter
 Alias typedef. More...
 
typedef ConstVertexEdgeCWIter CVECWIter
 Alias typedef. More...
 
typedef ConstVertexEdgeCCWIter CVECCWIter
 Alias typedef. More...
 
typedef ConstVertexFaceIter CVFIter
 Alias typedef. More...
 
typedef ConstVertexFaceCWIter CVFCWIter
 Alias typedef. More...
 
typedef ConstVertexFaceCCWIter CVFCCWIter
 Alias typedef. More...
 
typedef ConstFaceVertexIter CFVIter
 Alias typedef. More...
 
typedef ConstFaceVertexCWIter CFVCWIter
 Alias typedef. More...
 
typedef ConstFaceVertexCCWIter CFVCCWIter
 Alias typedef. More...
 
typedef ConstFaceHalfedgeIter CFHIter
 Alias typedef. More...
 
typedef ConstFaceHalfedgeCWIter CFHCWIter
 Alias typedef. More...
 
typedef ConstFaceHalfedgeCCWIter CFHCCWIter
 Alias typedef. More...
 
typedef ConstFaceEdgeIter CFEIter
 Alias typedef. More...
 
typedef ConstFaceEdgeCWIter CFECWIter
 Alias typedef. More...
 
typedef ConstFaceEdgeCCWIter CFECCWIter
 Alias typedef. More...
 
typedef ConstFaceFaceIter CFFIter
 Alias typedef. More...
 
typedef ConstFaceFaceCWIter CFFCWIter
 Alias typedef. More...
 
typedef ConstFaceFaceCCWIter CFFCCWIter
 Alias typedef. More...
 
typedef ConstEdgeVertexIter CEVIter
 Alias typedef. More...
 
typedef ConstEdgeHalfedgeIter CEHIter
 Alias typedef. More...
 
typedef ConstEdgeFaceIter CEFIter
 Alias typedef. More...
 
 PolyConnectivity ()
 Alias typedef. More...
 
virtual ~PolyConnectivity ()
 Alias typedef. More...
 
void assign_connectivity (const PolyConnectivity &_other)
 
static bool is_triangles ()
 Alias typedef. More...
 

Range based iterators and circulators

typedef EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_begin, &PolyConnectivity::vertices_end > > ConstVertexRange
 
typedef EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_sbegin, &PolyConnectivity::vertices_end > > ConstVertexRangeSkipping
 
typedef EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_begin, &PolyConnectivity::halfedges_end > > ConstHalfedgeRange
 
typedef EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_sbegin, &PolyConnectivity::halfedges_end > > ConstHalfedgeRangeSkipping
 
typedef EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_begin, &PolyConnectivity::edges_end > > ConstEdgeRange
 
typedef EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_sbegin, &PolyConnectivity::edges_end > > ConstEdgeRangeSkipping
 
typedef EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_begin, &PolyConnectivity::faces_end > > ConstFaceRange
 
typedef EntityRange< RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_sbegin, &PolyConnectivity::faces_end > > ConstFaceRangeSkipping
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_begin, &PolyConnectivity::cvv_end > > ConstVertexVertexRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_begin, &PolyConnectivity::cvih_end > > ConstVertexIHalfedgeRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexOHalfedgeIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvoh_begin, &PolyConnectivity::cvoh_end > > ConstVertexOHalfedgeRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexEdgeIter, VertexHandle, EdgeHandle, &PolyConnectivity::cve_begin, &PolyConnectivity::cve_end > > ConstVertexEdgeRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_begin, &PolyConnectivity::cvf_end > > ConstVertexFaceRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_begin, &PolyConnectivity::cfv_end > > ConstFaceVertexRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_begin, &PolyConnectivity::cfh_end > > ConstFaceHalfedgeRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceEdgeIter, FaceHandle, EdgeHandle, &PolyConnectivity::cfe_begin, &PolyConnectivity::cfe_end > > ConstFaceEdgeRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_begin, &PolyConnectivity::cff_end > > ConstFaceFaceRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstEdgeVertexIter, EdgeHandle, VertexHandle, &PolyConnectivity::cev_begin, &PolyConnectivity::cev_end > > ConstEdgeVertexRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstEdgeHalfedgeIter, EdgeHandle, HalfedgeHandle, &PolyConnectivity::ceh_begin, &PolyConnectivity::ceh_end > > ConstEdgeHalfedgeRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstEdgeFaceIter, EdgeHandle, FaceHandle, &PolyConnectivity::cef_begin, &PolyConnectivity::cef_end > > ConstEdgeFaceRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstHalfedgeLoopIter, HalfedgeHandle, HalfedgeHandle, &PolyConnectivity::chl_begin, &PolyConnectivity::chl_end > > ConstHalfedgeLoopRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexCWIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_cwbegin, &PolyConnectivity::cvv_cwend > > ConstVertexVertexCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_cwbegin, &PolyConnectivity::cvih_cwend > > ConstVertexIHalfedgeCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexOHalfedgeCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvoh_cwbegin, &PolyConnectivity::cvoh_cwend > > ConstVertexOHalfedgeCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexEdgeCWIter, VertexHandle, EdgeHandle, &PolyConnectivity::cve_cwbegin, &PolyConnectivity::cve_cwend > > ConstVertexEdgeCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceCWIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_cwbegin, &PolyConnectivity::cvf_cwend > > ConstVertexFaceCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexCWIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_cwbegin, &PolyConnectivity::cfv_cwend > > ConstFaceVertexCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeCWIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_cwbegin, &PolyConnectivity::cfh_cwend > > ConstFaceHalfedgeCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceEdgeCWIter, FaceHandle, EdgeHandle, &PolyConnectivity::cfe_cwbegin, &PolyConnectivity::cfe_cwend > > ConstFaceEdgeCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceCWIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_cwbegin, &PolyConnectivity::cff_cwend > > ConstFaceFaceCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstHalfedgeLoopCWIter, HalfedgeHandle, HalfedgeHandle, &PolyConnectivity::chl_cwbegin, &PolyConnectivity::chl_cwend > > ConstHalfedgeLoopCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexVertexCCWIter, VertexHandle, VertexHandle, &PolyConnectivity::cvv_ccwbegin, &PolyConnectivity::cvv_ccwend > > ConstVertexVertexCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexIHalfedgeCCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvih_ccwbegin, &PolyConnectivity::cvih_ccwend > > ConstVertexIHalfedgeCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexOHalfedgeCCWIter, VertexHandle, HalfedgeHandle, &PolyConnectivity::cvoh_ccwbegin, &PolyConnectivity::cvoh_ccwend > > ConstVertexOHalfedgeCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexEdgeCCWIter, VertexHandle, EdgeHandle, &PolyConnectivity::cve_ccwbegin, &PolyConnectivity::cve_ccwend > > ConstVertexEdgeCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstVertexFaceCCWIter, VertexHandle, FaceHandle, &PolyConnectivity::cvf_ccwbegin, &PolyConnectivity::cvf_ccwend > > ConstVertexFaceCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceVertexCCWIter, FaceHandle, VertexHandle, &PolyConnectivity::cfv_ccwbegin, &PolyConnectivity::cfv_ccwend > > ConstFaceVertexCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceHalfedgeCCWIter, FaceHandle, HalfedgeHandle, &PolyConnectivity::cfh_ccwbegin, &PolyConnectivity::cfh_ccwend > > ConstFaceHalfedgeCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceEdgeCCWIter, FaceHandle, EdgeHandle, &PolyConnectivity::cfe_ccwbegin, &PolyConnectivity::cfe_ccwend > > ConstFaceEdgeCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstFaceFaceCCWIter, FaceHandle, FaceHandle, &PolyConnectivity::cff_ccwbegin, &PolyConnectivity::cff_ccwend > > ConstFaceFaceCCWRange
 
typedef CirculatorRange< CirculatorRangeTraitT< PolyConnectivity, ConstHalfedgeLoopCCWIter, HalfedgeHandle, HalfedgeHandle, &PolyConnectivity::chl_ccwbegin, &PolyConnectivity::chl_ccwend > > ConstHalfedgeLoopCCWRange
 
ConstVertexRangeSkipping vertices () const
 
ConstVertexRange all_vertices () const
 
ConstHalfedgeRangeSkipping halfedges () const
 
ConstHalfedgeRange all_halfedges () const
 
ConstEdgeRangeSkipping edges () const
 
ConstEdgeRange all_edges () const
 
ConstFaceRangeSkipping faces () const
 
ConstFaceRange all_faces () const
 
template<typename HandleType >
ElementRange< HandleType >::RangeSkipping elements () const
 
template<typename HandleType >
ElementRange< HandleType >::Range all_elements () const
 
ConstVertexVertexRange vv_range (VertexHandle _vh) const
 
ConstVertexIHalfedgeRange vih_range (VertexHandle _vh) const
 
ConstVertexIHalfedgeRange vih_range (HalfedgeHandle _heh) const
 
ConstVertexOHalfedgeRange voh_range (VertexHandle _vh) const
 
ConstVertexOHalfedgeRange voh_range (HalfedgeHandle _heh) const
 
ConstVertexEdgeRange ve_range (VertexHandle _vh) const
 
ConstVertexFaceRange vf_range (VertexHandle _vh) const
 
ConstFaceVertexRange fv_range (FaceHandle _fh) const
 
ConstFaceHalfedgeRange fh_range (FaceHandle _fh) const
 
ConstFaceEdgeRange fe_range (FaceHandle _fh) const
 
ConstFaceFaceRange ff_range (FaceHandle _fh) const
 
ConstEdgeVertexRange ev_range (EdgeHandle _eh) const
 
ConstEdgeHalfedgeRange eh_range (EdgeHandle _eh) const
 
ConstEdgeHalfedgeRange eh_range (HalfedgeHandle _heh) const
 
ConstEdgeFaceRange ef_range (EdgeHandle _eh) const
 
ConstHalfedgeLoopRange hl_range (HalfedgeHandle _heh) const
 
ConstVertexVertexCWRange vv_cw_range (VertexHandle _vh) const
 
ConstVertexIHalfedgeCWRange vih_cw_range (VertexHandle _vh) const
 
ConstVertexIHalfedgeCWRange vih_cw_range (HalfedgeHandle _heh) const
 
ConstVertexOHalfedgeCWRange voh_cw_range (VertexHandle _vh) const
 
ConstVertexOHalfedgeCWRange voh_cw_range (HalfedgeHandle _heh) const
 
ConstVertexEdgeCWRange ve_cw_range (VertexHandle _vh) const
 
ConstVertexFaceCWRange vf_cw_range (VertexHandle _vh) const
 
ConstFaceVertexCWRange fv_cw_range (FaceHandle _fh) const
 
ConstFaceHalfedgeCWRange fh_cw_range (FaceHandle _fh) const
 
ConstFaceEdgeCWRange fe_cw_range (FaceHandle _fh) const
 
ConstFaceFaceCWRange ff_cw_range (FaceHandle _fh) const
 
ConstHalfedgeLoopCWRange hl_cw_range (HalfedgeHandle _heh) const
 
ConstVertexVertexCCWRange vv_ccw_range (VertexHandle _vh) const
 
ConstVertexIHalfedgeCCWRange vih_ccw_range (VertexHandle _vh) const
 
ConstVertexIHalfedgeCCWRange vih_ccw_range (HalfedgeHandle _heh) const
 
ConstVertexOHalfedgeCCWRange voh_ccw_range (VertexHandle _vh) const
 
ConstVertexOHalfedgeCCWRange voh_ccw_range (HalfedgeHandle _heh) const
 
ConstVertexEdgeCCWRange ve_ccw_range (VertexHandle _vh) const
 
ConstVertexFaceCCWRange vf_ccw_range (VertexHandle _vh) const
 
ConstFaceVertexCCWRange fv_ccw_range (FaceHandle _fh) const
 
ConstFaceHalfedgeCCWRange fh_ccw_range (FaceHandle _fh) const
 
ConstFaceEdgeCCWRange fe_ccw_range (FaceHandle _fh) const
 
ConstFaceFaceCCWRange ff_ccw_range (FaceHandle _fh) const
 
ConstHalfedgeLoopCCWRange hl_ccw_range (HalfedgeHandle _heh) const
 

Generic handle derefertiation.

Calls the respective vertex(), halfedge(), edge(), face() method of the mesh kernel.

std::vector< AddFaceEdgeInfoedgeData_
 Get item from handle. More...
 
std::vector< std::pair< HalfedgeHandle, HalfedgeHandle > > next_cache_
 Get item from handle. More...
 
const Vertex & deref (VertexHandle _h) const
 Get item from handle. More...
 
Vertex & deref (VertexHandle _h)
 Get item from handle. More...
 
const Halfedge & deref (HalfedgeHandle _h) const
 Get item from handle. More...
 
Halfedge & deref (HalfedgeHandle _h)
 Get item from handle. More...
 
const Edge & deref (EdgeHandle _h) const
 Get item from handle. More...
 
Edge & deref (EdgeHandle _h)
 Get item from handle. More...
 
const Face & deref (FaceHandle _h) const
 Get item from handle. More...
 
Face & deref (FaceHandle _h)
 Get item from handle. More...
 
void collapse_edge (HalfedgeHandle _hh)
 Helper for halfedge collapse. More...
 
void collapse_loop (HalfedgeHandle _hh)
 Helper for halfedge collapse. More...
 

Navigation with smart handles to allow usage of old-style navigation with smart handles

SmartHalfedgeHandle next_halfedge_handle (SmartHalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
SmartHalfedgeHandle prev_halfedge_handle (SmartHalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
SmartHalfedgeHandle opposite_halfedge_handle (SmartHalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
SmartHalfedgeHandle ccw_rotated_halfedge_handle (SmartHalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
SmartHalfedgeHandle cw_rotated_halfedge_handle (SmartHalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
SmartHalfedgeHandle halfedge_handle (SmartEdgeHandle _eh, unsigned int _i=0) const
 returns the face handle of the opposite halfedge More...
 
SmartHalfedgeHandle halfedge_handle (SmartFaceHandle _fh) const
 returns the face handle of the opposite halfedge More...
 
SmartHalfedgeHandle halfedge_handle (SmartVertexHandle _vh) const
 returns the face handle of the opposite halfedge More...
 
SmartEdgeHandle edge_handle (SmartHalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
SmartFaceHandle face_handle (SmartHalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
SmartFaceHandle opposite_face_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle next_halfedge_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle prev_halfedge_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle prev_halfedge_handle (HalfedgeHandle _heh, GenProg::TrueType) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle prev_halfedge_handle (HalfedgeHandle _heh, GenProg::FalseType) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle opposite_halfedge_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle ccw_rotated_halfedge_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle cw_rotated_halfedge_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle halfedge_handle (unsigned int _i) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle halfedge_handle (VertexHandle _vh) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle halfedge_handle (EdgeHandle _eh, unsigned int _i=0) const
 returns the face handle of the opposite halfedge More...
 
HalfedgeHandle halfedge_handle (FaceHandle _fh) const
 returns the face handle of the opposite halfedge More...
 
EdgeHandle edge_handle (unsigned int _i) const
 returns the face handle of the opposite halfedge More...
 
EdgeHandle edge_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
FaceHandle face_handle (unsigned int _i) const
 returns the face handle of the opposite halfedge More...
 
FaceHandle face_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge More...
 
static SmartHalfedgeHandle s_halfedge_handle (SmartEdgeHandle _eh, unsigned int _i=0)
 returns the face handle of the opposite halfedge More...
 
static SmartEdgeHandle s_edge_handle (SmartHalfedgeHandle _heh)
 returns the face handle of the opposite halfedge More...
 
static HalfedgeHandle s_halfedge_handle (EdgeHandle _eh, unsigned int _i=0)
 returns the face handle of the opposite halfedge More...
 
static EdgeHandle s_edge_handle (HalfedgeHandle _heh)
 returns the face handle of the opposite halfedge More...
 

Additional Inherited Members

- Static Public Member Functions inherited from OpenMesh::ArrayKernel
static HalfedgeHandle s_halfedge_handle (EdgeHandle _eh, unsigned int _i=0)
 
static EdgeHandle s_edge_handle (HalfedgeHandle _heh)
 
- Protected Member Functions inherited from OpenMesh::BaseKernel
BaseProperty_vprop (BaseHandle _h)
 
BaseProperty_eprop (BaseHandle _h)
 
BaseProperty_hprop (BaseHandle _h)
 
BaseProperty_fprop (BaseHandle _h)
 
BaseProperty_mprop (BaseHandle _h)
 
const BaseProperty_vprop (BaseHandle _h) const
 
const BaseProperty_eprop (BaseHandle _h) const
 
const BaseProperty_hprop (BaseHandle _h) const
 
const BaseProperty_fprop (BaseHandle _h) const
 
const BaseProperty_mprop (BaseHandle _h) const
 
void vprops_reserve (size_t _n) const
 Reserves space for _n elements in all vertex property vectors. More...
 
void vprops_resize (size_t _n) const
 Resizes all vertex property vectors to the specified size. More...
 
void vprops_resize_if_smaller (size_t _n) const
 
void vprops_clear ()
 
void vprops_swap (unsigned int _i0, unsigned int _i1) const
 
void hprops_reserve (size_t _n) const
 
void hprops_resize (size_t _n) const
 
void hprops_clear ()
 
void hprops_swap (unsigned int _i0, unsigned int _i1) const
 
void eprops_reserve (size_t _n) const
 
void eprops_resize (size_t _n) const
 
void eprops_clear ()
 
void eprops_swap (unsigned int _i0, unsigned int _i1) const
 
void fprops_reserve (size_t _n) const
 
void fprops_resize (size_t _n) const
 
void fprops_clear ()
 
void fprops_swap (unsigned int _i0, unsigned int _i1) const
 
void mprops_resize (size_t _n) const
 
void mprops_clear ()
 
- Protected Attributes inherited from OpenMesh::ArrayKernel
VertexStatusPropertyHandle vertex_status_
 
HalfedgeStatusPropertyHandle halfedge_status_
 
EdgeStatusPropertyHandle edge_status_
 
FaceStatusPropertyHandle face_status_
 
unsigned int refcount_vstatus_
 
unsigned int refcount_hstatus_
 
unsigned int refcount_estatus_
 
unsigned int refcount_fstatus_
 

Detailed Description

Connectivity Class for polygonal meshes.

Definition at line 114 of file PolyConnectivity.hh.

Member Typedef Documentation

◆ CEFIter

Alias typedef.

Definition at line 518 of file PolyConnectivity.hh.

◆ CEHIter

Alias typedef.

Definition at line 517 of file PolyConnectivity.hh.

◆ CEIter

Alias typedef.

Definition at line 457 of file PolyConnectivity.hh.

◆ CEVIter

Alias typedef.

Definition at line 516 of file PolyConnectivity.hh.

◆ CFECCWIter

Alias typedef.

Definition at line 512 of file PolyConnectivity.hh.

◆ CFECWIter

Alias typedef.

Definition at line 511 of file PolyConnectivity.hh.

◆ CFEIter

Alias typedef.

Definition at line 510 of file PolyConnectivity.hh.

◆ CFFCCWIter

Alias typedef.

Definition at line 515 of file PolyConnectivity.hh.

◆ CFFCWIter

Alias typedef.

Definition at line 514 of file PolyConnectivity.hh.

◆ CFFIter

Alias typedef.

Definition at line 513 of file PolyConnectivity.hh.

◆ CFHCCWIter

Alias typedef.

Definition at line 509 of file PolyConnectivity.hh.

◆ CFHCWIter

Alias typedef.

Definition at line 508 of file PolyConnectivity.hh.

◆ CFHIter

Alias typedef.

Definition at line 507 of file PolyConnectivity.hh.

◆ CFIter

Alias typedef.

Definition at line 458 of file PolyConnectivity.hh.

◆ CFVCCWIter

Alias typedef.

Definition at line 506 of file PolyConnectivity.hh.

◆ CFVCWIter

Alias typedef.

Definition at line 505 of file PolyConnectivity.hh.

◆ CFVIter

Alias typedef.

Definition at line 504 of file PolyConnectivity.hh.

◆ CHIter

Alias typedef.

Definition at line 456 of file PolyConnectivity.hh.

◆ ConstEdgeFaceIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 427 of file PolyConnectivity.hh.

◆ ConstEdgeFaceRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1279 of file PolyConnectivity.hh.

◆ ConstEdgeHalfedgeIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 426 of file PolyConnectivity.hh.

◆ ConstEdgeHalfedgeRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1278 of file PolyConnectivity.hh.

◆ ConstEdgeIter

Linear iterator.

Definition at line 146 of file PolyConnectivity.hh.

◆ ConstEdgeRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1184 of file PolyConnectivity.hh.

◆ ConstEdgeRangeSkipping

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1189 of file PolyConnectivity.hh.

◆ ConstEdgeVertexIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 425 of file PolyConnectivity.hh.

◆ ConstEdgeVertexRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1277 of file PolyConnectivity.hh.

◆ ConstFaceEdgeCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 377 of file PolyConnectivity.hh.

◆ ConstFaceEdgeCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1300 of file PolyConnectivity.hh.

◆ ConstFaceEdgeCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 376 of file PolyConnectivity.hh.

◆ ConstFaceEdgeCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1289 of file PolyConnectivity.hh.

◆ ConstFaceEdgeIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 375 of file PolyConnectivity.hh.

◆ ConstFaceEdgeRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1275 of file PolyConnectivity.hh.

◆ ConstFaceFaceCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 380 of file PolyConnectivity.hh.

◆ ConstFaceFaceCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1301 of file PolyConnectivity.hh.

◆ ConstFaceFaceCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 379 of file PolyConnectivity.hh.

◆ ConstFaceFaceCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1290 of file PolyConnectivity.hh.

◆ ConstFaceFaceIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 378 of file PolyConnectivity.hh.

◆ ConstFaceFaceRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1276 of file PolyConnectivity.hh.

◆ ConstFaceHalfedgeCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 374 of file PolyConnectivity.hh.

◆ ConstFaceHalfedgeCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1299 of file PolyConnectivity.hh.

◆ ConstFaceHalfedgeCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 373 of file PolyConnectivity.hh.

◆ ConstFaceHalfedgeCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1288 of file PolyConnectivity.hh.

◆ ConstFaceHalfedgeIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 372 of file PolyConnectivity.hh.

◆ ConstFaceHalfedgeRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1274 of file PolyConnectivity.hh.

◆ ConstFaceIter

Linear iterator.

Definition at line 147 of file PolyConnectivity.hh.

◆ ConstFaceRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1194 of file PolyConnectivity.hh.

◆ ConstFaceRangeSkipping

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1199 of file PolyConnectivity.hh.

◆ ConstFaceVertexCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 371 of file PolyConnectivity.hh.

◆ ConstFaceVertexCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1298 of file PolyConnectivity.hh.

◆ ConstFaceVertexCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 370 of file PolyConnectivity.hh.

◆ ConstFaceVertexCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1287 of file PolyConnectivity.hh.

◆ ConstFaceVertexIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 369 of file PolyConnectivity.hh.

◆ ConstFaceVertexRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1273 of file PolyConnectivity.hh.

◆ ConstHalfedgeIter

Linear iterator.

Definition at line 145 of file PolyConnectivity.hh.

◆ ConstHalfedgeLoopCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 434 of file PolyConnectivity.hh.

◆ ConstHalfedgeLoopCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1302 of file PolyConnectivity.hh.

◆ ConstHalfedgeLoopCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 433 of file PolyConnectivity.hh.

◆ ConstHalfedgeLoopCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1291 of file PolyConnectivity.hh.

◆ ConstHalfedgeLoopIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 432 of file PolyConnectivity.hh.

◆ ConstHalfedgeLoopRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1280 of file PolyConnectivity.hh.

◆ ConstHalfedgeRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1174 of file PolyConnectivity.hh.

◆ ConstHalfedgeRangeSkipping

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1179 of file PolyConnectivity.hh.

◆ ConstVertexEdgeCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 293 of file PolyConnectivity.hh.

◆ ConstVertexEdgeCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1296 of file PolyConnectivity.hh.

◆ ConstVertexEdgeCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 292 of file PolyConnectivity.hh.

◆ ConstVertexEdgeCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1285 of file PolyConnectivity.hh.

◆ ConstVertexEdgeIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 291 of file PolyConnectivity.hh.

◆ ConstVertexEdgeRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1271 of file PolyConnectivity.hh.

◆ ConstVertexFaceCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 290 of file PolyConnectivity.hh.

◆ ConstVertexFaceCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1297 of file PolyConnectivity.hh.

◆ ConstVertexFaceCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 289 of file PolyConnectivity.hh.

◆ ConstVertexFaceCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1286 of file PolyConnectivity.hh.

◆ ConstVertexFaceIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 288 of file PolyConnectivity.hh.

◆ ConstVertexFaceRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1272 of file PolyConnectivity.hh.

◆ ConstVertexIHalfedgeCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 287 of file PolyConnectivity.hh.

◆ ConstVertexIHalfedgeCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1294 of file PolyConnectivity.hh.

◆ ConstVertexIHalfedgeCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 286 of file PolyConnectivity.hh.

◆ ConstVertexIHalfedgeCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1283 of file PolyConnectivity.hh.

◆ ConstVertexIHalfedgeIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 285 of file PolyConnectivity.hh.

◆ ConstVertexIHalfedgeRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1269 of file PolyConnectivity.hh.

◆ ConstVertexIter

Linear iterator.

Definition at line 144 of file PolyConnectivity.hh.

◆ ConstVertexOHalfedgeCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 284 of file PolyConnectivity.hh.

◆ ConstVertexOHalfedgeCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1295 of file PolyConnectivity.hh.

◆ ConstVertexOHalfedgeCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 283 of file PolyConnectivity.hh.

◆ ConstVertexOHalfedgeCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1284 of file PolyConnectivity.hh.

◆ ConstVertexOHalfedgeIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 282 of file PolyConnectivity.hh.

◆ ConstVertexOHalfedgeRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1270 of file PolyConnectivity.hh.

◆ ConstVertexRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1164 of file PolyConnectivity.hh.

◆ ConstVertexRangeSkipping

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1169 of file PolyConnectivity.hh.

◆ ConstVertexVertexCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 281 of file PolyConnectivity.hh.

◆ ConstVertexVertexCCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1293 of file PolyConnectivity.hh.

◆ ConstVertexVertexCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 280 of file PolyConnectivity.hh.

◆ ConstVertexVertexCWRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1282 of file PolyConnectivity.hh.

◆ ConstVertexVertexIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 279 of file PolyConnectivity.hh.

◆ ConstVertexVertexRange

Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 1268 of file PolyConnectivity.hh.

◆ CVECCWIter

Alias typedef.

Definition at line 500 of file PolyConnectivity.hh.

◆ CVECWIter

Alias typedef.

Definition at line 499 of file PolyConnectivity.hh.

◆ CVEIter

Alias typedef.

Definition at line 498 of file PolyConnectivity.hh.

◆ CVFCCWIter

Alias typedef.

Definition at line 503 of file PolyConnectivity.hh.

◆ CVFCWIter

Alias typedef.

Definition at line 502 of file PolyConnectivity.hh.

◆ CVFIter

Alias typedef.

Definition at line 501 of file PolyConnectivity.hh.

◆ CVIHCCWIter

◆ CVIHCWIter

◆ CVIHIter

Alias typedef.

Definition at line 495 of file PolyConnectivity.hh.

◆ CVIter

Alias typedef.

Definition at line 455 of file PolyConnectivity.hh.

◆ CVOHCCWIter

◆ CVOHCWIter

◆ CVOHIter

Alias typedef.

Definition at line 492 of file PolyConnectivity.hh.

◆ CVVCCWIter

Alias typedef.

Definition at line 491 of file PolyConnectivity.hh.

◆ CVVCWIter

Alias typedef.

Definition at line 490 of file PolyConnectivity.hh.

◆ CVVIter

Alias typedef.

Definition at line 489 of file PolyConnectivity.hh.

◆ EdgeFaceIter

Enumerate faces incident to an edge.

Definition at line 423 of file PolyConnectivity.hh.

◆ EdgeHalfedgeIter

◆ EdgeIter

Linear iterator.

Definition at line 141 of file PolyConnectivity.hh.

◆ EdgeVertexIter

Enumerate vertices incident to an edge.

Definition at line 397 of file PolyConnectivity.hh.

◆ EFIter

Alias typedef.

Definition at line 487 of file PolyConnectivity.hh.

◆ EHandle

Alias typedef.

Definition at line 447 of file PolyConnectivity.hh.

◆ EHIter

Alias typedef.

Definition at line 486 of file PolyConnectivity.hh.

◆ EIter

Alias typedef.

Definition at line 452 of file PolyConnectivity.hh.

◆ EVIter

Alias typedef.

Definition at line 485 of file PolyConnectivity.hh.

◆ FaceEdgeCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 342 of file PolyConnectivity.hh.

◆ FaceEdgeCWIter

Enumerate incident edges in a clockwise fashion.

Definition at line 347 of file PolyConnectivity.hh.

◆ FaceEdgeIter

Enumerate incident edges in a counter clockwise fashion.

Definition at line 341 of file PolyConnectivity.hh.

◆ FaceFaceCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 362 of file PolyConnectivity.hh.

◆ FaceFaceCWIter

Enumerate adjacent faces in a clockwise fashion.

Definition at line 367 of file PolyConnectivity.hh.

◆ FaceFaceIter

Enumerate adjacent faces in a counter clockwise fashion.

Definition at line 361 of file PolyConnectivity.hh.

◆ FaceHalfedgeCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 322 of file PolyConnectivity.hh.

◆ FaceHalfedgeCWIter

Enumerate incident half edges in a clockwise fashion.

Definition at line 327 of file PolyConnectivity.hh.

◆ FaceHalfedgeIter

Enumerate incident half edges in a counter clockwise fashion.

Definition at line 321 of file PolyConnectivity.hh.

◆ FaceIter

Linear iterator.

Definition at line 142 of file PolyConnectivity.hh.

◆ FaceVertexCCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 311 of file PolyConnectivity.hh.

◆ FaceVertexCWIter

Enumerate incident vertices in a clockwise fashion.

Definition at line 316 of file PolyConnectivity.hh.

◆ FaceVertexIter

Enumerate incident vertices in a counter clockwise fashion.

Definition at line 310 of file PolyConnectivity.hh.

◆ FECWIter

Alias typedef.

Definition at line 482 of file PolyConnectivity.hh.

◆ FECWWIter

Alias typedef.

Definition at line 483 of file PolyConnectivity.hh.

◆ FEIter

Alias typedef.

Definition at line 481 of file PolyConnectivity.hh.

◆ FFIter

Alias typedef.

Definition at line 484 of file PolyConnectivity.hh.

◆ FHandle

Alias typedef.

Definition at line 448 of file PolyConnectivity.hh.

◆ FHCWIter

Alias typedef.

Definition at line 479 of file PolyConnectivity.hh.

◆ FHCWWIter

Alias typedef.

Definition at line 480 of file PolyConnectivity.hh.

◆ FHIter

Alias typedef.

Definition at line 478 of file PolyConnectivity.hh.

◆ FIter

Alias typedef.

Definition at line 453 of file PolyConnectivity.hh.

◆ FVCCWIter

Alias typedef.

Definition at line 477 of file PolyConnectivity.hh.

◆ FVCWIter

Alias typedef.

Definition at line 476 of file PolyConnectivity.hh.

◆ FVIter

Alias typedef.

Definition at line 475 of file PolyConnectivity.hh.

◆ HalfedgeIter

Linear iterator.

Definition at line 140 of file PolyConnectivity.hh.

◆ HalfedgeLoopCCWIter

Identical to FaceHalfedgeIter. God knows why this typedef exists.

Definition at line 277 of file PolyConnectivity.hh.

◆ HalfedgeLoopCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 273 of file PolyConnectivity.hh.

◆ HalfedgeLoopIter

◆ HHandle

Alias typedef.

Definition at line 446 of file PolyConnectivity.hh.

◆ HIter

Alias typedef.

Definition at line 451 of file PolyConnectivity.hh.

◆ This

Invalid handle.

Definition at line 129 of file PolyConnectivity.hh.

◆ VECCWIter

Alias typedef.

Definition at line 471 of file PolyConnectivity.hh.

◆ VECWIter

Alias typedef.

Definition at line 470 of file PolyConnectivity.hh.

◆ VEIter

Alias typedef.

Definition at line 469 of file PolyConnectivity.hh.

◆ VertexEdgeCCWIter

Enumerates incident edges in a counter clockwise fashion.

Definition at line 258 of file PolyConnectivity.hh.

◆ VertexEdgeCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 254 of file PolyConnectivity.hh.

◆ VertexEdgeIter

Enumerates incident edges in a clockwise fashion.

Definition at line 253 of file PolyConnectivity.hh.

◆ VertexFaceCCWIter

Enumerates incident faces in a counter clockwise fashion.

Definition at line 239 of file PolyConnectivity.hh.

◆ VertexFaceCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 234 of file PolyConnectivity.hh.

◆ VertexFaceIter

Enumerates incident faces in a clockwise fashion.

Definition at line 233 of file PolyConnectivity.hh.

◆ VertexIHalfedgeCCWIter

Enumerates incoming half edges in a counter clockwise fashion.

Definition at line 219 of file PolyConnectivity.hh.

◆ VertexIHalfedgeCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 214 of file PolyConnectivity.hh.

◆ VertexIHalfedgeIter

Enumerates incoming half edges in a clockwise fashion.

Definition at line 213 of file PolyConnectivity.hh.

◆ VertexIter

Linear iterator.

Definition at line 139 of file PolyConnectivity.hh.

◆ VertexOHalfedgeCCWIter

Enumerates outgoing half edges in a counter clockwise fashion.

Definition at line 200 of file PolyConnectivity.hh.

◆ VertexOHalfedgeCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 195 of file PolyConnectivity.hh.

◆ VertexOHalfedgeIter

Enumerates outgoing half edges in a clockwise fashion.

Definition at line 194 of file PolyConnectivity.hh.

◆ VertexVertexCCWIter

Enumerates 1-ring vertices in a counter clockwise fashion.

Definition at line 180 of file PolyConnectivity.hh.

◆ VertexVertexCWIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 175 of file PolyConnectivity.hh.

◆ VertexVertexIter

Enumerates 1-ring vertices in a clockwise fashion.

Definition at line 174 of file PolyConnectivity.hh.

◆ VFCCWIter

Alias typedef.

Definition at line 474 of file PolyConnectivity.hh.

◆ VFCWIter

Alias typedef.

Definition at line 473 of file PolyConnectivity.hh.

◆ VFIter

Alias typedef.

Definition at line 472 of file PolyConnectivity.hh.

◆ VHandle

Alias typedef.

Definition at line 445 of file PolyConnectivity.hh.

◆ VIHICCWter

Alias typedef.

Definition at line 468 of file PolyConnectivity.hh.

◆ VIHICWter

Alias typedef.

Definition at line 467 of file PolyConnectivity.hh.

◆ VIHIter

Alias typedef.

Definition at line 466 of file PolyConnectivity.hh.

◆ VIter

Alias typedef.

Definition at line 450 of file PolyConnectivity.hh.

◆ VOHCCWIter

Alias typedef.

Definition at line 465 of file PolyConnectivity.hh.

◆ VOHCWIter

Alias typedef.

Definition at line 464 of file PolyConnectivity.hh.

◆ VOHIter

Alias typedef.

Definition at line 463 of file PolyConnectivity.hh.

◆ VVCCWIter

Alias typedef.

Definition at line 462 of file PolyConnectivity.hh.

◆ VVCWIter

Alias typedef.

Definition at line 461 of file PolyConnectivity.hh.

◆ VVIter

Alias typedef.

Definition at line 460 of file PolyConnectivity.hh.

Constructor & Destructor Documentation

◆ PolyConnectivity()

OpenMesh::PolyConnectivity::PolyConnectivity ( )
inline

Alias typedef.

Definition at line 523 of file PolyConnectivity.hh.

◆ ~PolyConnectivity()

virtual OpenMesh::PolyConnectivity::~PolyConnectivity ( )
inlinevirtual

Alias typedef.

Definition at line 524 of file PolyConnectivity.hh.

Member Function Documentation

◆ add_face() [1/5]

SmartFaceHandle OpenMesh::PolyConnectivity::add_face ( const std::vector< SmartVertexHandle > &  _vhandles)

Add and connect a new face.

Create a new face consisting of the vertices provided by the vertex handle vector. (The vertices have to be already added to the mesh by add_vertex)

Parameters
_vhandlessorted list of vertex handles (also defines order in which the vertices are added to the face)

Definition at line 339 of file PolyConnectivity.cc.

◆ add_face() [2/5]

SmartFaceHandle OpenMesh::PolyConnectivity::add_face ( const std::vector< VertexHandle > &  _vhandles)

Add and connect a new face.

Create a new face consisting of the vertices provided by the vertex handle vector. (The vertices have to be already added to the mesh by add_vertex)

Parameters
_vhandlessorted list of vertex handles (also defines order in which the vertices are added to the face)

Definition at line 334 of file PolyConnectivity.cc.

◆ add_face() [3/5]

SmartFaceHandle OpenMesh::PolyConnectivity::add_face ( const VertexHandle _vhandles,
size_t  _vhs_size 
)

Add and connect a new face.

Create a new face consisting of vertices provided by a handle array. (The vertices have to be already added to the mesh by add_vertex)

Parameters
_vhandlespointer to a sorted list of vertex handles (also defines order in which the vertices are added to the face)
_vhs_sizenumber of vertex handles in the array

Definition at line 117 of file PolyConnectivity.cc.

◆ add_face() [4/5]

SmartFaceHandle OpenMesh::PolyConnectivity::add_face ( VertexHandle  _vh0,
VertexHandle  _vh1,
VertexHandle  _vh2 
)

Add and connect a new face.

Create a new face consisting of three vertices provided by the handles. (The vertices have to be already added to the mesh by add_vertex)

Parameters
_vh0First vertex handle
_vh1Second vertex handle
_vh2Third vertex handle

Definition at line 321 of file PolyConnectivity.cc.

◆ add_face() [5/5]

SmartFaceHandle OpenMesh::PolyConnectivity::add_face ( VertexHandle  _vh0,
VertexHandle  _vh1,
VertexHandle  _vh2,
VertexHandle  _vh3 
)

Add and connect a new face.

Create a new face consisting of four vertices provided by the handles. (The vertices have to be already added to the mesh by add_vertex)

Parameters
_vh0First vertex handle
_vh1Second vertex handle
_vh2Third vertex handle
_vh3Fourth vertex handle

Definition at line 305 of file PolyConnectivity.cc.

◆ add_vertex()

SmartVertexHandle OpenMesh::PolyConnectivity::add_vertex ( )
inline

Add a new vertex.

Definition at line 53 of file PolyConnectivity_inline_impl.hh.

◆ adjust_outgoing_halfedge()

void OpenMesh::PolyConnectivity::adjust_outgoing_halfedge ( VertexHandle  _vh)

Adjust outgoing halfedge handle for vertices, so that it is a boundary halfedge whenever possible.

Definition at line 102 of file PolyConnectivity.cc.

◆ all_edges()

PolyConnectivity::ConstEdgeRange OpenMesh::PolyConnectivity::all_edges ( ) const
inline
Returns
The edges as a range object suitable for C++11 range based for loops. Will include deleted edges.

Definition at line 128 of file PolyConnectivity_inline_impl.hh.

◆ all_elements() [1/5]

template<typename HandleType >
ElementRange< HandleType >::Range OpenMesh::PolyConnectivity::all_elements ( ) const
Returns
The elements corresponding to the template type as a range object suitable for C++11 range based for loops. Will include deleted faces.

◆ all_elements() [2/5]

template<>
PolyConnectivity::ConstVertexRange OpenMesh::PolyConnectivity::all_elements ( ) const
inline

Definition at line 133 of file PolyConnectivity_inline_impl.hh.

◆ all_elements() [3/5]

template<>
PolyConnectivity::ConstHalfedgeRange OpenMesh::PolyConnectivity::all_elements ( ) const
inline

Definition at line 135 of file PolyConnectivity_inline_impl.hh.

◆ all_elements() [4/5]

template<>
PolyConnectivity::ConstEdgeRange OpenMesh::PolyConnectivity::all_elements ( ) const
inline

Definition at line 137 of file PolyConnectivity_inline_impl.hh.

◆ all_elements() [5/5]

template<>
PolyConnectivity::ConstFaceRange OpenMesh::PolyConnectivity::all_elements ( ) const
inline

Definition at line 139 of file PolyConnectivity_inline_impl.hh.

◆ all_faces()

PolyConnectivity::ConstFaceRange OpenMesh::PolyConnectivity::all_faces ( ) const
inline
Returns
The faces as a range object suitable for C++11 range based for loops. Will include deleted faces.

Definition at line 130 of file PolyConnectivity_inline_impl.hh.

◆ all_halfedges()

PolyConnectivity::ConstHalfedgeRange OpenMesh::PolyConnectivity::all_halfedges ( ) const
inline
Returns
The halfedges as a range object suitable for C++11 range based for loops. Will include deleted halfedges.

Definition at line 126 of file PolyConnectivity_inline_impl.hh.

◆ all_vertices()

PolyConnectivity::ConstVertexRange OpenMesh::PolyConnectivity::all_vertices ( ) const
inline
Returns
The vertices as a range object suitable for C++11 range based for loops. Will include deleted vertices.

Definition at line 124 of file PolyConnectivity_inline_impl.hh.

◆ assign_connectivity()

void OpenMesh::PolyConnectivity::assign_connectivity ( const PolyConnectivity _other)
inline

assign_connectivity() method. See ArrayKernel::assign_connectivity() for more details.

Definition at line 531 of file PolyConnectivity.hh.

◆ ccw_rotated_halfedge_handle() [1/2]

HalfedgeHandle OpenMesh::ArrayKernel::ccw_rotated_halfedge_handle ( HalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 466 of file ArrayKernel.hh.

◆ ccw_rotated_halfedge_handle() [2/2]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::ccw_rotated_halfedge_handle ( SmartHalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 58 of file PolyConnectivity_inline_impl.hh.

◆ cef_begin()

PolyConnectivity::ConstEdgeFaceIter OpenMesh::PolyConnectivity::cef_begin ( EdgeHandle  _eh) const
inline

const edge - face circulator

Definition at line 762 of file PolyConnectivity_inline_impl.hh.

◆ cef_end()

PolyConnectivity::ConstEdgeFaceIter OpenMesh::PolyConnectivity::cef_end ( EdgeHandle  _eh) const
inline

const edge - face circulator

Definition at line 968 of file PolyConnectivity_inline_impl.hh.

◆ cef_iter()

PolyConnectivity::ConstEdgeFaceIter OpenMesh::PolyConnectivity::cef_iter ( ArrayKernel::EdgeHandle  _eh) const
inline

const edge - face circulator

Definition at line 558 of file PolyConnectivity_inline_impl.hh.

◆ ceh_begin()

PolyConnectivity::ConstEdgeHalfedgeIter OpenMesh::PolyConnectivity::ceh_begin ( EdgeHandle  _eh) const
inline

const edge - halfedge circulator

Definition at line 759 of file PolyConnectivity_inline_impl.hh.

◆ ceh_end()

PolyConnectivity::ConstEdgeHalfedgeIter OpenMesh::PolyConnectivity::ceh_end ( EdgeHandle  _eh) const
inline

const edge - halfedge circulator

Definition at line 965 of file PolyConnectivity_inline_impl.hh.

◆ ceh_iter()

PolyConnectivity::ConstEdgeHalfedgeIter OpenMesh::PolyConnectivity::ceh_iter ( ArrayKernel::EdgeHandle  _eh) const
inline

const edge - halfedge circulator

Definition at line 555 of file PolyConnectivity_inline_impl.hh.

◆ cev_begin()

PolyConnectivity::ConstEdgeVertexIter OpenMesh::PolyConnectivity::cev_begin ( EdgeHandle  _eh) const
inline

const edge - vertex circulator

Definition at line 756 of file PolyConnectivity_inline_impl.hh.

◆ cev_end()

PolyConnectivity::ConstEdgeVertexIter OpenMesh::PolyConnectivity::cev_end ( EdgeHandle  _eh) const
inline

const edge - vertex circulator

Definition at line 962 of file PolyConnectivity_inline_impl.hh.

◆ cev_iter()

PolyConnectivity::ConstEdgeVertexIter OpenMesh::PolyConnectivity::cev_iter ( ArrayKernel::EdgeHandle  _eh) const
inline

const edge - vertex circulator

Definition at line 552 of file PolyConnectivity_inline_impl.hh.

◆ cfe_begin()

PolyConnectivity::ConstFaceEdgeIter OpenMesh::PolyConnectivity::cfe_begin ( FaceHandle  _fh) const
inline

const face - edge circulator

Definition at line 718 of file PolyConnectivity_inline_impl.hh.

◆ cfe_ccwbegin()

PolyConnectivity::ConstFaceEdgeCCWIter OpenMesh::PolyConnectivity::cfe_ccwbegin ( FaceHandle  _fh) const
inline

const face - edge circulator ccw

Definition at line 724 of file PolyConnectivity_inline_impl.hh.

◆ cfe_ccwend()

PolyConnectivity::ConstFaceEdgeCCWIter OpenMesh::PolyConnectivity::cfe_ccwend ( FaceHandle  _fh) const
inline

const face - edge circulator ccw

Definition at line 930 of file PolyConnectivity_inline_impl.hh.

◆ cfe_ccwiter()

PolyConnectivity::ConstFaceEdgeCCWIter OpenMesh::PolyConnectivity::cfe_ccwiter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - edge circulator ccw

Definition at line 531 of file PolyConnectivity_inline_impl.hh.

◆ cfe_cwbegin()

PolyConnectivity::ConstFaceEdgeCWIter OpenMesh::PolyConnectivity::cfe_cwbegin ( FaceHandle  _fh) const
inline

const face - edge circulator cw

Definition at line 721 of file PolyConnectivity_inline_impl.hh.

◆ cfe_cwend()

PolyConnectivity::ConstFaceEdgeCWIter OpenMesh::PolyConnectivity::cfe_cwend ( FaceHandle  _fh) const
inline

const face - edge circulator cw

Definition at line 927 of file PolyConnectivity_inline_impl.hh.

◆ cfe_cwiter()

PolyConnectivity::ConstFaceEdgeCWIter OpenMesh::PolyConnectivity::cfe_cwiter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - edge circulator cw

Definition at line 528 of file PolyConnectivity_inline_impl.hh.

◆ cfe_end()

PolyConnectivity::ConstFaceEdgeIter OpenMesh::PolyConnectivity::cfe_end ( FaceHandle  _fh) const
inline

const face - edge circulator

Definition at line 924 of file PolyConnectivity_inline_impl.hh.

◆ cfe_iter()

PolyConnectivity::ConstFaceEdgeIter OpenMesh::PolyConnectivity::cfe_iter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - edge circulator

Definition at line 525 of file PolyConnectivity_inline_impl.hh.

◆ cff_begin()

PolyConnectivity::ConstFaceFaceIter OpenMesh::PolyConnectivity::cff_begin ( FaceHandle  _fh) const
inline

const face - face circulator

Definition at line 727 of file PolyConnectivity_inline_impl.hh.

◆ cff_ccwbegin()

PolyConnectivity::ConstFaceFaceCCWIter OpenMesh::PolyConnectivity::cff_ccwbegin ( FaceHandle  _fh) const
inline

const face - face circulator ccw

Definition at line 733 of file PolyConnectivity_inline_impl.hh.

◆ cff_ccwend()

PolyConnectivity::ConstFaceFaceCCWIter OpenMesh::PolyConnectivity::cff_ccwend ( FaceHandle  _fh) const
inline

const face - face circulator

Definition at line 939 of file PolyConnectivity_inline_impl.hh.

◆ cff_ccwiter()

PolyConnectivity::ConstFaceFaceCCWIter OpenMesh::PolyConnectivity::cff_ccwiter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - face circulator

Definition at line 540 of file PolyConnectivity_inline_impl.hh.

◆ cff_cwbegin()

PolyConnectivity::ConstFaceFaceCWIter OpenMesh::PolyConnectivity::cff_cwbegin ( FaceHandle  _fh) const
inline

const face - face circulator cw

Definition at line 730 of file PolyConnectivity_inline_impl.hh.

◆ cff_cwend()

PolyConnectivity::ConstFaceFaceCWIter OpenMesh::PolyConnectivity::cff_cwend ( FaceHandle  _fh) const
inline

const face - face circulator

Definition at line 936 of file PolyConnectivity_inline_impl.hh.

◆ cff_cwiter()

PolyConnectivity::ConstFaceFaceCWIter OpenMesh::PolyConnectivity::cff_cwiter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - face circulator cw

Definition at line 537 of file PolyConnectivity_inline_impl.hh.

◆ cff_end()

PolyConnectivity::ConstFaceFaceIter OpenMesh::PolyConnectivity::cff_end ( FaceHandle  _fh) const
inline

const face - face circulator

Definition at line 933 of file PolyConnectivity_inline_impl.hh.

◆ cff_iter()

PolyConnectivity::ConstFaceFaceIter OpenMesh::PolyConnectivity::cff_iter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - face circulator

Definition at line 534 of file PolyConnectivity_inline_impl.hh.

◆ cfh_begin()

PolyConnectivity::ConstFaceHalfedgeIter OpenMesh::PolyConnectivity::cfh_begin ( FaceHandle  _fh) const
inline

const face - halfedge circulator

Definition at line 709 of file PolyConnectivity_inline_impl.hh.

◆ cfh_ccwbegin()

PolyConnectivity::ConstFaceHalfedgeCCWIter OpenMesh::PolyConnectivity::cfh_ccwbegin ( FaceHandle  _fh) const
inline

const face - halfedge circulator ccw

Definition at line 715 of file PolyConnectivity_inline_impl.hh.

◆ cfh_ccwend()

PolyConnectivity::ConstFaceHalfedgeCCWIter OpenMesh::PolyConnectivity::cfh_ccwend ( FaceHandle  _fh) const
inline

const face - halfedge circulator ccw

Definition at line 921 of file PolyConnectivity_inline_impl.hh.

◆ cfh_ccwiter()

PolyConnectivity::ConstFaceHalfedgeCCWIter OpenMesh::PolyConnectivity::cfh_ccwiter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - halfedge circulator ccw

Definition at line 522 of file PolyConnectivity_inline_impl.hh.

◆ cfh_cwbegin()

PolyConnectivity::ConstFaceHalfedgeCWIter OpenMesh::PolyConnectivity::cfh_cwbegin ( FaceHandle  _fh) const
inline

const face - halfedge circulator cw

Definition at line 712 of file PolyConnectivity_inline_impl.hh.

◆ cfh_cwend()

PolyConnectivity::ConstFaceHalfedgeCWIter OpenMesh::PolyConnectivity::cfh_cwend ( FaceHandle  _fh) const
inline

const face - halfedge circulator cw

Definition at line 918 of file PolyConnectivity_inline_impl.hh.

◆ cfh_cwiter()

PolyConnectivity::ConstFaceHalfedgeCWIter OpenMesh::PolyConnectivity::cfh_cwiter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - halfedge circulator cw

Definition at line 519 of file PolyConnectivity_inline_impl.hh.

◆ cfh_end()

PolyConnectivity::ConstFaceHalfedgeIter OpenMesh::PolyConnectivity::cfh_end ( FaceHandle  _fh) const
inline

const face - halfedge circulator

Definition at line 915 of file PolyConnectivity_inline_impl.hh.

◆ cfh_iter()

PolyConnectivity::ConstFaceHalfedgeIter OpenMesh::PolyConnectivity::cfh_iter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - halfedge circulator

Definition at line 516 of file PolyConnectivity_inline_impl.hh.

◆ cfv_begin()

PolyConnectivity::ConstFaceVertexIter OpenMesh::PolyConnectivity::cfv_begin ( FaceHandle  _fh) const
inline

const face - vertex circulator

Definition at line 700 of file PolyConnectivity_inline_impl.hh.

◆ cfv_ccwbegin()

PolyConnectivity::ConstFaceVertexCCWIter OpenMesh::PolyConnectivity::cfv_ccwbegin ( FaceHandle  _fh) const
inline

const face - vertex circulator ccw

Definition at line 706 of file PolyConnectivity_inline_impl.hh.

◆ cfv_ccwend()

PolyConnectivity::ConstFaceVertexCCWIter OpenMesh::PolyConnectivity::cfv_ccwend ( FaceHandle  _fh) const
inline

const face - vertex circulator ccw

Definition at line 912 of file PolyConnectivity_inline_impl.hh.

◆ cfv_ccwiter()

PolyConnectivity::ConstFaceVertexCCWIter OpenMesh::PolyConnectivity::cfv_ccwiter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - vertex circulator ccw

Definition at line 513 of file PolyConnectivity_inline_impl.hh.

◆ cfv_cwbegin()

PolyConnectivity::ConstFaceVertexCWIter OpenMesh::PolyConnectivity::cfv_cwbegin ( FaceHandle  _fh) const
inline

const face - vertex circulator cw

Definition at line 703 of file PolyConnectivity_inline_impl.hh.

◆ cfv_cwend()

PolyConnectivity::ConstFaceVertexCWIter OpenMesh::PolyConnectivity::cfv_cwend ( FaceHandle  _fh) const
inline

const face - vertex circulator cw

Definition at line 909 of file PolyConnectivity_inline_impl.hh.

◆ cfv_cwiter()

PolyConnectivity::ConstFaceVertexCWIter OpenMesh::PolyConnectivity::cfv_cwiter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - vertex circulator cw

Definition at line 510 of file PolyConnectivity_inline_impl.hh.

◆ cfv_end()

PolyConnectivity::ConstFaceVertexIter OpenMesh::PolyConnectivity::cfv_end ( FaceHandle  _fh) const
inline

const face - vertex circulator

Definition at line 906 of file PolyConnectivity_inline_impl.hh.

◆ cfv_iter()

PolyConnectivity::ConstFaceVertexIter OpenMesh::PolyConnectivity::cfv_iter ( ArrayKernel::FaceHandle  _fh) const
inline

const face - vertex circulator

Definition at line 507 of file PolyConnectivity_inline_impl.hh.

◆ chl_begin()

PolyConnectivity::ConstHalfedgeLoopIter OpenMesh::PolyConnectivity::chl_begin ( HalfedgeHandle  _heh) const
inline

const halfedge circulator

Definition at line 736 of file PolyConnectivity_inline_impl.hh.

◆ chl_ccwbegin()

PolyConnectivity::ConstHalfedgeLoopCCWIter OpenMesh::PolyConnectivity::chl_ccwbegin ( HalfedgeHandle  _heh) const
inline

const halfedge circulator ccw

Definition at line 742 of file PolyConnectivity_inline_impl.hh.

◆ chl_ccwend()

PolyConnectivity::ConstHalfedgeLoopCCWIter OpenMesh::PolyConnectivity::chl_ccwend ( HalfedgeHandle  _heh) const
inline

const face - face circulator ccw

Definition at line 948 of file PolyConnectivity_inline_impl.hh.

◆ chl_cwbegin()

PolyConnectivity::ConstHalfedgeLoopCWIter OpenMesh::PolyConnectivity::chl_cwbegin ( HalfedgeHandle  _heh) const
inline

const halfedge circulator cw

Definition at line 739 of file PolyConnectivity_inline_impl.hh.

◆ chl_cwend()

PolyConnectivity::ConstHalfedgeLoopCWIter OpenMesh::PolyConnectivity::chl_cwend ( HalfedgeHandle  _heh) const
inline

const face - face circulator cw

Definition at line 945 of file PolyConnectivity_inline_impl.hh.

◆ chl_end()

PolyConnectivity::ConstHalfedgeLoopIter OpenMesh::PolyConnectivity::chl_end ( HalfedgeHandle  _heh) const
inline

const face - face circulator

Definition at line 942 of file PolyConnectivity_inline_impl.hh.

◆ collapse()

void OpenMesh::PolyConnectivity::collapse ( HalfedgeHandle  _heh)

Halfedge collapse: collapse the from-vertex of halfedge _heh into its to-vertex.

Attention
Needs vertex/edge/face status attribute in order to delete the items that degenerate.
Note
The from vertex is marked as deleted while the to vertex will still exist.
This function does not perform a garbage collection. It only marks degenerate items as deleted.
Attention
A halfedge collapse may lead to topological inconsistencies. Therefore you should check this using is_collapse_ok().

Definition at line 646 of file PolyConnectivity.cc.

◆ collapse_edge()

void OpenMesh::PolyConnectivity::collapse_edge ( HalfedgeHandle  _hh)
protected

Helper for halfedge collapse.

Definition at line 664 of file PolyConnectivity.cc.

◆ collapse_loop()

void OpenMesh::PolyConnectivity::collapse_loop ( HalfedgeHandle  _hh)
protected

Helper for halfedge collapse.

Definition at line 713 of file PolyConnectivity.cc.

◆ cve_begin()

PolyConnectivity::ConstVertexEdgeIter OpenMesh::PolyConnectivity::cve_begin ( VertexHandle  _vh) const
inline

const vertex - edge circulator

Definition at line 635 of file PolyConnectivity_inline_impl.hh.

◆ cve_ccwbegin()

PolyConnectivity::ConstVertexEdgeCCWIter OpenMesh::PolyConnectivity::cve_ccwbegin ( VertexHandle  _vh) const
inline

const vertex - edge circulator ccw

Definition at line 641 of file PolyConnectivity_inline_impl.hh.

◆ cve_ccwend()

PolyConnectivity::ConstVertexEdgeCCWIter OpenMesh::PolyConnectivity::cve_ccwend ( VertexHandle  _vh) const
inline

const vertex - edge circulator ccw

Definition at line 847 of file PolyConnectivity_inline_impl.hh.

◆ cve_ccwiter()

PolyConnectivity::ConstVertexEdgeCCWIter OpenMesh::PolyConnectivity::cve_ccwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - edge circulator ccw

Definition at line 459 of file PolyConnectivity_inline_impl.hh.

◆ cve_cwbegin()

PolyConnectivity::ConstVertexEdgeCWIter OpenMesh::PolyConnectivity::cve_cwbegin ( VertexHandle  _vh) const
inline

const vertex - edge circulator cw

Definition at line 638 of file PolyConnectivity_inline_impl.hh.

◆ cve_cwend()

PolyConnectivity::ConstVertexEdgeCWIter OpenMesh::PolyConnectivity::cve_cwend ( VertexHandle  _vh) const
inline

const vertex - edge circulator cw

Definition at line 844 of file PolyConnectivity_inline_impl.hh.

◆ cve_cwiter()

PolyConnectivity::ConstVertexEdgeCWIter OpenMesh::PolyConnectivity::cve_cwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - edge circulator cw

Definition at line 456 of file PolyConnectivity_inline_impl.hh.

◆ cve_end()

PolyConnectivity::ConstVertexEdgeIter OpenMesh::PolyConnectivity::cve_end ( VertexHandle  _vh) const
inline

const vertex - edge circulator

Definition at line 841 of file PolyConnectivity_inline_impl.hh.

◆ cve_iter()

PolyConnectivity::ConstVertexEdgeIter OpenMesh::PolyConnectivity::cve_iter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - edge circulator

Definition at line 453 of file PolyConnectivity_inline_impl.hh.

◆ cvf_begin()

PolyConnectivity::ConstVertexFaceIter OpenMesh::PolyConnectivity::cvf_begin ( VertexHandle  _vh) const
inline

const vertex - face circulator

Definition at line 644 of file PolyConnectivity_inline_impl.hh.

◆ cvf_ccwbegin()

PolyConnectivity::ConstVertexFaceCCWIter OpenMesh::PolyConnectivity::cvf_ccwbegin ( VertexHandle  _vh) const
inline

const vertex - face circulator ccw

Definition at line 650 of file PolyConnectivity_inline_impl.hh.

◆ cvf_ccwend()

PolyConnectivity::ConstVertexFaceCCWIter OpenMesh::PolyConnectivity::cvf_ccwend ( VertexHandle  _vh) const
inline

const vertex - face circulator ccw

Definition at line 856 of file PolyConnectivity_inline_impl.hh.

◆ cvf_ccwiter()

PolyConnectivity::ConstVertexFaceCCWIter OpenMesh::PolyConnectivity::cvf_ccwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - face circulator ccw

Definition at line 468 of file PolyConnectivity_inline_impl.hh.

◆ cvf_cwbegin()

PolyConnectivity::ConstVertexFaceCWIter OpenMesh::PolyConnectivity::cvf_cwbegin ( VertexHandle  _vh) const
inline

const vertex - face circulator cw

Definition at line 647 of file PolyConnectivity_inline_impl.hh.

◆ cvf_cwend()

PolyConnectivity::ConstVertexFaceCWIter OpenMesh::PolyConnectivity::cvf_cwend ( VertexHandle  _vh) const
inline

const vertex - face circulator cw

Definition at line 853 of file PolyConnectivity_inline_impl.hh.

◆ cvf_cwiter()

PolyConnectivity::ConstVertexFaceCWIter OpenMesh::PolyConnectivity::cvf_cwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - face circulator cw

Definition at line 465 of file PolyConnectivity_inline_impl.hh.

◆ cvf_end()

PolyConnectivity::ConstVertexFaceIter OpenMesh::PolyConnectivity::cvf_end ( VertexHandle  _vh) const
inline

const vertex - face circulator

Definition at line 850 of file PolyConnectivity_inline_impl.hh.

◆ cvf_iter()

PolyConnectivity::ConstVertexFaceIter OpenMesh::PolyConnectivity::cvf_iter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - face circulator

Definition at line 462 of file PolyConnectivity_inline_impl.hh.

◆ cvih_begin()

PolyConnectivity::ConstVertexIHalfedgeIter OpenMesh::PolyConnectivity::cvih_begin ( VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator

Definition at line 617 of file PolyConnectivity_inline_impl.hh.

◆ cvih_ccwbegin()

PolyConnectivity::ConstVertexIHalfedgeCCWIter OpenMesh::PolyConnectivity::cvih_ccwbegin ( VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator ccw

Definition at line 623 of file PolyConnectivity_inline_impl.hh.

◆ cvih_ccwend()

PolyConnectivity::ConstVertexIHalfedgeCCWIter OpenMesh::PolyConnectivity::cvih_ccwend ( VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator ccw

Definition at line 829 of file PolyConnectivity_inline_impl.hh.

◆ cvih_ccwiter()

PolyConnectivity::ConstVertexIHalfedgeCCWIter OpenMesh::PolyConnectivity::cvih_ccwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator ccw

Definition at line 441 of file PolyConnectivity_inline_impl.hh.

◆ cvih_cwbegin()

PolyConnectivity::ConstVertexIHalfedgeCWIter OpenMesh::PolyConnectivity::cvih_cwbegin ( VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator cw

Definition at line 620 of file PolyConnectivity_inline_impl.hh.

◆ cvih_cwend()

PolyConnectivity::ConstVertexIHalfedgeCWIter OpenMesh::PolyConnectivity::cvih_cwend ( VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator cw

Definition at line 826 of file PolyConnectivity_inline_impl.hh.

◆ cvih_cwiter()

PolyConnectivity::ConstVertexIHalfedgeCWIter OpenMesh::PolyConnectivity::cvih_cwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator cw

Definition at line 438 of file PolyConnectivity_inline_impl.hh.

◆ cvih_end()

PolyConnectivity::ConstVertexIHalfedgeIter OpenMesh::PolyConnectivity::cvih_end ( VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator

Definition at line 823 of file PolyConnectivity_inline_impl.hh.

◆ cvih_iter()

PolyConnectivity::ConstVertexIHalfedgeIter OpenMesh::PolyConnectivity::cvih_iter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - incoming halfedge circulator

Definition at line 435 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_begin()

PolyConnectivity::ConstVertexOHalfedgeIter OpenMesh::PolyConnectivity::cvoh_begin ( VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator

Definition at line 626 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_ccwbegin()

PolyConnectivity::ConstVertexOHalfedgeCCWIter OpenMesh::PolyConnectivity::cvoh_ccwbegin ( VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator ccw

Definition at line 632 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_ccwend()

PolyConnectivity::ConstVertexOHalfedgeCCWIter OpenMesh::PolyConnectivity::cvoh_ccwend ( VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator ccw

Definition at line 838 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_ccwiter()

PolyConnectivity::ConstVertexOHalfedgeCCWIter OpenMesh::PolyConnectivity::cvoh_ccwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator ccw

Definition at line 450 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_cwbegin()

PolyConnectivity::ConstVertexOHalfedgeCWIter OpenMesh::PolyConnectivity::cvoh_cwbegin ( VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator cw

Definition at line 629 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_cwend()

PolyConnectivity::ConstVertexOHalfedgeCWIter OpenMesh::PolyConnectivity::cvoh_cwend ( VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator cw

Definition at line 835 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_cwiter()

PolyConnectivity::ConstVertexOHalfedgeCWIter OpenMesh::PolyConnectivity::cvoh_cwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator cw

Definition at line 447 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_end()

PolyConnectivity::ConstVertexOHalfedgeIter OpenMesh::PolyConnectivity::cvoh_end ( VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator

Definition at line 832 of file PolyConnectivity_inline_impl.hh.

◆ cvoh_iter()

PolyConnectivity::ConstVertexOHalfedgeIter OpenMesh::PolyConnectivity::cvoh_iter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex - outgoing halfedge circulator

Definition at line 444 of file PolyConnectivity_inline_impl.hh.

◆ cvv_begin()

PolyConnectivity::ConstVertexVertexIter OpenMesh::PolyConnectivity::cvv_begin ( VertexHandle  _vh) const
inline

const vertex circulator

Definition at line 608 of file PolyConnectivity_inline_impl.hh.

◆ cvv_ccwbegin()

PolyConnectivity::ConstVertexVertexCCWIter OpenMesh::PolyConnectivity::cvv_ccwbegin ( VertexHandle  _vh) const
inline

const vertex circulator ccw

Definition at line 614 of file PolyConnectivity_inline_impl.hh.

◆ cvv_ccwend()

PolyConnectivity::ConstVertexVertexCCWIter OpenMesh::PolyConnectivity::cvv_ccwend ( VertexHandle  _vh) const
inline

const vertex circulator ccw

Definition at line 820 of file PolyConnectivity_inline_impl.hh.

◆ cvv_ccwiter()

PolyConnectivity::ConstVertexVertexCCWIter OpenMesh::PolyConnectivity::cvv_ccwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex circulator ccw

Definition at line 432 of file PolyConnectivity_inline_impl.hh.

◆ cvv_cwbegin()

PolyConnectivity::ConstVertexVertexCWIter OpenMesh::PolyConnectivity::cvv_cwbegin ( VertexHandle  _vh) const
inline

const vertex circulator cw

Definition at line 611 of file PolyConnectivity_inline_impl.hh.

◆ cvv_cwend()

PolyConnectivity::ConstVertexVertexCWIter OpenMesh::PolyConnectivity::cvv_cwend ( VertexHandle  _vh) const
inline

const vertex circulator cw

Definition at line 817 of file PolyConnectivity_inline_impl.hh.

◆ cvv_cwiter()

PolyConnectivity::ConstVertexVertexCWIter OpenMesh::PolyConnectivity::cvv_cwiter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex circulator cw

Definition at line 429 of file PolyConnectivity_inline_impl.hh.

◆ cvv_end()

PolyConnectivity::ConstVertexVertexIter OpenMesh::PolyConnectivity::cvv_end ( VertexHandle  _vh) const
inline

const vertex circulator

Definition at line 814 of file PolyConnectivity_inline_impl.hh.

◆ cvv_iter()

PolyConnectivity::ConstVertexVertexIter OpenMesh::PolyConnectivity::cvv_iter ( ArrayKernel::VertexHandle  _vh) const
inline

const vertex circulator

Definition at line 426 of file PolyConnectivity_inline_impl.hh.

◆ cw_rotated_halfedge_handle() [1/2]

HalfedgeHandle OpenMesh::ArrayKernel::cw_rotated_halfedge_handle ( HalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 470 of file ArrayKernel.hh.

◆ cw_rotated_halfedge_handle() [2/2]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::cw_rotated_halfedge_handle ( SmartHalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 59 of file PolyConnectivity_inline_impl.hh.

◆ delete_edge()

void OpenMesh::PolyConnectivity::delete_edge ( EdgeHandle  _eh,
bool  _delete_isolated_vertices = true 
)

Mark edge (two opposite halfedges) and incident faces deleted. Resulting isolated vertices are marked deleted if _delete_isolated_vertices is true. Items marked deleted will be removed by garbageCollection().

Attention
Needs the Attributes::Status attribute for vertices, edges and faces.

Definition at line 505 of file PolyConnectivity.cc.

◆ delete_face()

void OpenMesh::PolyConnectivity::delete_face ( FaceHandle  _fh,
bool  _delete_isolated_vertices = true 
)

Delete face _fh and resulting degenerated empty halfedges as well. Resulting isolated vertices will be deleted if _delete_isolated_vertices is true.

Attention
All item will only be marked to be deleted. They will actually be removed by calling garbage_collection().
Needs the Attributes::Status attribute for vertices, edges and faces.

Definition at line 532 of file PolyConnectivity.cc.

◆ delete_vertex()

void OpenMesh::PolyConnectivity::delete_vertex ( VertexHandle  _vh,
bool  _delete_isolated_vertices = true 
)

Mark vertex and all incident edges and faces deleted. Items marked deleted will be removed by garbageCollection().

Attention
Needs the Attributes::Status attribute for vertices, edges and faces.

Definition at line 487 of file PolyConnectivity.cc.

◆ deref() [1/8]

Edge & OpenMesh::PolyConnectivity::deref ( EdgeHandle  _h)
inline

Get item from handle.

Definition at line 1781 of file PolyConnectivity.hh.

◆ deref() [2/8]

const Edge & OpenMesh::PolyConnectivity::deref ( EdgeHandle  _h) const
inline

Get item from handle.

Definition at line 1780 of file PolyConnectivity.hh.

◆ deref() [3/8]

Face & OpenMesh::PolyConnectivity::deref ( FaceHandle  _h)
inline

Get item from handle.

Definition at line 1783 of file PolyConnectivity.hh.

◆ deref() [4/8]

const Face & OpenMesh::PolyConnectivity::deref ( FaceHandle  _h) const
inline

Get item from handle.

Definition at line 1782 of file PolyConnectivity.hh.

◆ deref() [5/8]

Halfedge & OpenMesh::PolyConnectivity::deref ( HalfedgeHandle  _h)
inline

Get item from handle.

Definition at line 1779 of file PolyConnectivity.hh.

◆ deref() [6/8]

const Halfedge & OpenMesh::PolyConnectivity::deref ( HalfedgeHandle  _h) const
inline

Get item from handle.

Definition at line 1778 of file PolyConnectivity.hh.

◆ deref() [7/8]

Vertex & OpenMesh::PolyConnectivity::deref ( VertexHandle  _h)
inline

Get item from handle.

Definition at line 1777 of file PolyConnectivity.hh.

◆ deref() [8/8]

const Vertex & OpenMesh::PolyConnectivity::deref ( VertexHandle  _h) const
inline

Get item from handle.

Definition at line 1776 of file PolyConnectivity.hh.

◆ edge_handle() [1/3]

EdgeHandle OpenMesh::ArrayKernel::edge_handle ( HalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 488 of file ArrayKernel.hh.

◆ edge_handle() [2/3]

SmartEdgeHandle OpenMesh::PolyConnectivity::edge_handle ( SmartHalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 65 of file PolyConnectivity_inline_impl.hh.

◆ edge_handle() [3/3]

EdgeHandle OpenMesh::ArrayKernel::edge_handle ( unsigned int  _i) const
inline

returns the face handle of the opposite halfedge

Definition at line 199 of file ArrayKernel.hh.

◆ edges()

PolyConnectivity::ConstEdgeRangeSkipping OpenMesh::PolyConnectivity::edges ( ) const
inline
Returns
The edges as a range object suitable for C++11 range based for loops. Will skip deleted edges.

Definition at line 127 of file PolyConnectivity_inline_impl.hh.

◆ edges_begin() [1/2]

PolyConnectivity::EdgeIter OpenMesh::PolyConnectivity::edges_begin ( )
inline

Begin iterator for edges.

Definition at line 332 of file PolyConnectivity_inline_impl.hh.

◆ edges_begin() [2/2]

PolyConnectivity::ConstEdgeIter OpenMesh::PolyConnectivity::edges_begin ( ) const
inline

Const begin iterator for edges.

Definition at line 335 of file PolyConnectivity_inline_impl.hh.

◆ edges_end() [1/2]

PolyConnectivity::EdgeIter OpenMesh::PolyConnectivity::edges_end ( )
inline

End iterator for edges.

Definition at line 338 of file PolyConnectivity_inline_impl.hh.

◆ edges_end() [2/2]

PolyConnectivity::ConstEdgeIter OpenMesh::PolyConnectivity::edges_end ( ) const
inline

Const end iterator for edges.

Definition at line 341 of file PolyConnectivity_inline_impl.hh.

◆ edges_sbegin() [1/2]

PolyConnectivity::EdgeIter OpenMesh::PolyConnectivity::edges_sbegin ( )
inline

Begin iterator for edges.

Definition at line 369 of file PolyConnectivity_inline_impl.hh.

◆ edges_sbegin() [2/2]

PolyConnectivity::ConstEdgeIter OpenMesh::PolyConnectivity::edges_sbegin ( ) const
inline

Const begin iterator for edges.

Definition at line 372 of file PolyConnectivity_inline_impl.hh.

◆ ef_begin()

PolyConnectivity::EdgeFaceIter OpenMesh::PolyConnectivity::ef_begin ( EdgeHandle  _eh)
inline

edge - face circulator

Definition at line 752 of file PolyConnectivity_inline_impl.hh.

◆ ef_end()

PolyConnectivity::EdgeFaceIter OpenMesh::PolyConnectivity::ef_end ( EdgeHandle  _eh)
inline

edge - face circulator

Definition at line 958 of file PolyConnectivity_inline_impl.hh.

◆ ef_iter()

PolyConnectivity::EdgeFaceIter OpenMesh::PolyConnectivity::ef_iter ( ArrayKernel::EdgeHandle  _eh)
inline

edge - face circulator

Definition at line 549 of file PolyConnectivity_inline_impl.hh.

◆ ef_range()

PolyConnectivity::ConstEdgeFaceRange OpenMesh::PolyConnectivity::ef_range ( EdgeHandle  _eh) const
inline
Returns
The faces incident to the specified edge as a range object suitable for C++11 range based for loops.

Definition at line 198 of file PolyConnectivity_inline_impl.hh.

◆ eh_begin()

PolyConnectivity::EdgeHalfedgeIter OpenMesh::PolyConnectivity::eh_begin ( EdgeHandle  _eh)
inline

edge - halfedge circulator

Definition at line 749 of file PolyConnectivity_inline_impl.hh.

◆ eh_end()

PolyConnectivity::EdgeHalfedgeIter OpenMesh::PolyConnectivity::eh_end ( EdgeHandle  _eh)
inline

edge - halfedge circulator

Definition at line 955 of file PolyConnectivity_inline_impl.hh.

◆ eh_iter()

PolyConnectivity::EdgeHalfedgeIter OpenMesh::PolyConnectivity::eh_iter ( ArrayKernel::EdgeHandle  _eh)
inline

edge - halfedge circulator

Definition at line 546 of file PolyConnectivity_inline_impl.hh.

◆ eh_range() [1/2]

PolyConnectivity::ConstEdgeHalfedgeRange OpenMesh::PolyConnectivity::eh_range ( EdgeHandle  _eh) const
inline
Returns
The halfedges of the specified edge as a range object suitable for C++11 range based for loops.

Definition at line 190 of file PolyConnectivity_inline_impl.hh.

◆ eh_range() [2/2]

PolyConnectivity::ConstEdgeHalfedgeRange OpenMesh::PolyConnectivity::eh_range ( HalfedgeHandle  _heh) const
inline
Returns
The halfedges of the specified edge as a range object suitable for C++11 range based for loops. Like eh_range(_heh.edge()) but starts iteration at _heh

Definition at line 194 of file PolyConnectivity_inline_impl.hh.

◆ elements() [1/5]

template<typename HandleType >
ElementRange< HandleType >::RangeSkipping OpenMesh::PolyConnectivity::elements ( ) const
Returns
The elements corresponding to the template type as a range object suitable for C++11 range based for loops. Will skip deleted faces.

◆ elements() [2/5]

template<>
PolyConnectivity::ConstVertexRangeSkipping OpenMesh::PolyConnectivity::elements ( ) const
inline

Definition at line 132 of file PolyConnectivity_inline_impl.hh.

◆ elements() [3/5]

template<>
PolyConnectivity::ConstHalfedgeRangeSkipping OpenMesh::PolyConnectivity::elements ( ) const
inline

Definition at line 134 of file PolyConnectivity_inline_impl.hh.

◆ elements() [4/5]

template<>
PolyConnectivity::ConstEdgeRangeSkipping OpenMesh::PolyConnectivity::elements ( ) const
inline

Definition at line 136 of file PolyConnectivity_inline_impl.hh.

◆ elements() [5/5]

template<>
PolyConnectivity::ConstFaceRangeSkipping OpenMesh::PolyConnectivity::elements ( ) const
inline

Definition at line 138 of file PolyConnectivity_inline_impl.hh.

◆ ev_begin()

PolyConnectivity::EdgeVertexIter OpenMesh::PolyConnectivity::ev_begin ( EdgeHandle  _eh)
inline

edge - vertex circulator

Definition at line 746 of file PolyConnectivity_inline_impl.hh.

◆ ev_end()

PolyConnectivity::EdgeVertexIter OpenMesh::PolyConnectivity::ev_end ( EdgeHandle  _eh)
inline

edge - vertex circulator

Definition at line 952 of file PolyConnectivity_inline_impl.hh.

◆ ev_iter()

PolyConnectivity::EdgeVertexIter OpenMesh::PolyConnectivity::ev_iter ( ArrayKernel::EdgeHandle  _eh)
inline

edge - vertex circulator

Definition at line 543 of file PolyConnectivity_inline_impl.hh.

◆ ev_range()

PolyConnectivity::ConstEdgeVertexRange OpenMesh::PolyConnectivity::ev_range ( EdgeHandle  _eh) const
inline
Returns
The vertices incident to the specified edge as a range object suitable for C++11 range based for loops.

Definition at line 186 of file PolyConnectivity_inline_impl.hh.

◆ face_handle() [1/3]

FaceHandle OpenMesh::ArrayKernel::face_handle ( HalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 387 of file ArrayKernel.hh.

◆ face_handle() [2/3]

SmartFaceHandle OpenMesh::PolyConnectivity::face_handle ( SmartHalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 69 of file PolyConnectivity_inline_impl.hh.

◆ face_handle() [3/3]

FaceHandle OpenMesh::ArrayKernel::face_handle ( unsigned int  _i) const
inline

returns the face handle of the opposite halfedge

Definition at line 202 of file ArrayKernel.hh.

◆ faces()

PolyConnectivity::ConstFaceRangeSkipping OpenMesh::PolyConnectivity::faces ( ) const
inline
Returns
The faces as a range object suitable for C++11 range based for loops. Will skip deleted faces.

Definition at line 129 of file PolyConnectivity_inline_impl.hh.

◆ faces_begin() [1/2]

PolyConnectivity::FaceIter OpenMesh::PolyConnectivity::faces_begin ( )
inline

Begin iterator for faces.

Definition at line 344 of file PolyConnectivity_inline_impl.hh.

◆ faces_begin() [2/2]

PolyConnectivity::ConstFaceIter OpenMesh::PolyConnectivity::faces_begin ( ) const
inline

Const begin iterator for faces.

Definition at line 347 of file PolyConnectivity_inline_impl.hh.

◆ faces_end() [1/2]

PolyConnectivity::FaceIter OpenMesh::PolyConnectivity::faces_end ( )
inline

End iterator for faces.

Definition at line 350 of file PolyConnectivity_inline_impl.hh.

◆ faces_end() [2/2]

PolyConnectivity::ConstFaceIter OpenMesh::PolyConnectivity::faces_end ( ) const
inline

Const end iterator for faces.

Definition at line 354 of file PolyConnectivity_inline_impl.hh.

◆ faces_sbegin() [1/2]

PolyConnectivity::FaceIter OpenMesh::PolyConnectivity::faces_sbegin ( )
inline

Begin iterator for faces.

Definition at line 375 of file PolyConnectivity_inline_impl.hh.

◆ faces_sbegin() [2/2]

PolyConnectivity::ConstFaceIter OpenMesh::PolyConnectivity::faces_sbegin ( ) const
inline

Const begin iterator for faces.

Definition at line 378 of file PolyConnectivity_inline_impl.hh.

◆ fe_begin()

PolyConnectivity::FaceEdgeIter OpenMesh::PolyConnectivity::fe_begin ( FaceHandle  _fh)
inline

face - edge circulator

Definition at line 672 of file PolyConnectivity_inline_impl.hh.

◆ fe_ccw_range()

PolyConnectivity::ConstFaceEdgeCCWRange OpenMesh::PolyConnectivity::fe_ccw_range ( FaceHandle  _fh) const
inline
Returns
The edges incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 293 of file PolyConnectivity_inline_impl.hh.

◆ fe_ccwbegin()

PolyConnectivity::FaceEdgeCCWIter OpenMesh::PolyConnectivity::fe_ccwbegin ( FaceHandle  _fh)
inline

face - edge circulator ccw

Definition at line 678 of file PolyConnectivity_inline_impl.hh.

◆ fe_ccwend()

PolyConnectivity::FaceEdgeCCWIter OpenMesh::PolyConnectivity::fe_ccwend ( FaceHandle  _fh)
inline

face - edge circulator ccw

Definition at line 884 of file PolyConnectivity_inline_impl.hh.

◆ fe_ccwiter()

PolyConnectivity::FaceEdgeCCWIter OpenMesh::PolyConnectivity::fe_ccwiter ( ArrayKernel::FaceHandle  _fh)
inline

face - edge circulator ccw

Definition at line 495 of file PolyConnectivity_inline_impl.hh.

◆ fe_cw_range()

PolyConnectivity::ConstFaceEdgeCWRange OpenMesh::PolyConnectivity::fe_cw_range ( FaceHandle  _fh) const
inline
Returns
The edges incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 243 of file PolyConnectivity_inline_impl.hh.

◆ fe_cwbegin()

PolyConnectivity::FaceEdgeCWIter OpenMesh::PolyConnectivity::fe_cwbegin ( FaceHandle  _fh)
inline

face - edge circulator cw

Definition at line 675 of file PolyConnectivity_inline_impl.hh.

◆ fe_cwend()

PolyConnectivity::FaceEdgeCWIter OpenMesh::PolyConnectivity::fe_cwend ( FaceHandle  _fh)
inline

face - edge circulator cw

Definition at line 881 of file PolyConnectivity_inline_impl.hh.

◆ fe_cwiter()

PolyConnectivity::FaceEdgeCWIter OpenMesh::PolyConnectivity::fe_cwiter ( ArrayKernel::FaceHandle  _fh)
inline

face - edge circulator cw

Definition at line 492 of file PolyConnectivity_inline_impl.hh.

◆ fe_end()

PolyConnectivity::FaceEdgeIter OpenMesh::PolyConnectivity::fe_end ( FaceHandle  _fh)
inline

face - edge circulator

Definition at line 878 of file PolyConnectivity_inline_impl.hh.

◆ fe_iter()

PolyConnectivity::FaceEdgeIter OpenMesh::PolyConnectivity::fe_iter ( ArrayKernel::FaceHandle  _fh)
inline

face - edge circulator

Definition at line 489 of file PolyConnectivity_inline_impl.hh.

◆ fe_range()

PolyConnectivity::ConstFaceEdgeRange OpenMesh::PolyConnectivity::fe_range ( FaceHandle  _fh) const
inline
Returns
The edges incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 178 of file PolyConnectivity_inline_impl.hh.

◆ ff_begin()

PolyConnectivity::FaceFaceIter OpenMesh::PolyConnectivity::ff_begin ( FaceHandle  _fh)
inline

face - face circulator

Definition at line 681 of file PolyConnectivity_inline_impl.hh.

◆ ff_ccw_range()

PolyConnectivity::ConstFaceFaceCCWRange OpenMesh::PolyConnectivity::ff_ccw_range ( FaceHandle  _fh) const
inline
Returns
The faces adjacent to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 297 of file PolyConnectivity_inline_impl.hh.

◆ ff_ccwbegin()

PolyConnectivity::FaceFaceCCWIter OpenMesh::PolyConnectivity::ff_ccwbegin ( FaceHandle  _fh)
inline

face - face circulator ccw

Definition at line 687 of file PolyConnectivity_inline_impl.hh.

◆ ff_ccwend()

PolyConnectivity::FaceFaceCCWIter OpenMesh::PolyConnectivity::ff_ccwend ( FaceHandle  _fh)
inline

face - face circulator ccw

Definition at line 893 of file PolyConnectivity_inline_impl.hh.

◆ ff_ccwiter()

PolyConnectivity::FaceFaceCCWIter OpenMesh::PolyConnectivity::ff_ccwiter ( ArrayKernel::FaceHandle  _fh)
inline

face - face circulator ccw

Definition at line 504 of file PolyConnectivity_inline_impl.hh.

◆ ff_cw_range()

PolyConnectivity::ConstFaceFaceCWRange OpenMesh::PolyConnectivity::ff_cw_range ( FaceHandle  _fh) const
inline
Returns
The faces adjacent to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 247 of file PolyConnectivity_inline_impl.hh.

◆ ff_cwbegin()

PolyConnectivity::FaceFaceCWIter OpenMesh::PolyConnectivity::ff_cwbegin ( FaceHandle  _fh)
inline

face - face circulator cw

Definition at line 684 of file PolyConnectivity_inline_impl.hh.

◆ ff_cwend()

PolyConnectivity::FaceFaceCWIter OpenMesh::PolyConnectivity::ff_cwend ( FaceHandle  _fh)
inline

face - face circulator cw

Definition at line 890 of file PolyConnectivity_inline_impl.hh.

◆ ff_cwiter()

PolyConnectivity::FaceFaceCWIter OpenMesh::PolyConnectivity::ff_cwiter ( ArrayKernel::FaceHandle  _fh)
inline

face - face circulator cw

Definition at line 501 of file PolyConnectivity_inline_impl.hh.

◆ ff_end()

PolyConnectivity::FaceFaceIter OpenMesh::PolyConnectivity::ff_end ( FaceHandle  _fh)
inline

face - face circulator

Definition at line 887 of file PolyConnectivity_inline_impl.hh.

◆ ff_iter()

PolyConnectivity::FaceFaceIter OpenMesh::PolyConnectivity::ff_iter ( ArrayKernel::FaceHandle  _fh)
inline

face - face circulator

Definition at line 498 of file PolyConnectivity_inline_impl.hh.

◆ ff_range()

PolyConnectivity::ConstFaceFaceRange OpenMesh::PolyConnectivity::ff_range ( FaceHandle  _fh) const
inline
Returns
The faces adjacent to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 182 of file PolyConnectivity_inline_impl.hh.

◆ fh_begin()

PolyConnectivity::FaceHalfedgeIter OpenMesh::PolyConnectivity::fh_begin ( FaceHandle  _fh)
inline

face - halfedge circulator

Definition at line 663 of file PolyConnectivity_inline_impl.hh.

◆ fh_ccw_range()

PolyConnectivity::ConstFaceHalfedgeCCWRange OpenMesh::PolyConnectivity::fh_ccw_range ( FaceHandle  _fh) const
inline
Returns
The halfedges incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 289 of file PolyConnectivity_inline_impl.hh.

◆ fh_ccwbegin()

PolyConnectivity::FaceHalfedgeCCWIter OpenMesh::PolyConnectivity::fh_ccwbegin ( FaceHandle  _fh)
inline

face - halfedge circulator ccw

Definition at line 669 of file PolyConnectivity_inline_impl.hh.

◆ fh_ccwend()

PolyConnectivity::FaceHalfedgeCCWIter OpenMesh::PolyConnectivity::fh_ccwend ( FaceHandle  _fh)
inline

face - halfedge circulator ccw

Definition at line 875 of file PolyConnectivity_inline_impl.hh.

◆ fh_ccwiter()

PolyConnectivity::FaceHalfedgeCCWIter OpenMesh::PolyConnectivity::fh_ccwiter ( ArrayKernel::FaceHandle  _fh)
inline

face - halfedge circulator ccw

Definition at line 486 of file PolyConnectivity_inline_impl.hh.

◆ fh_cw_range()

PolyConnectivity::ConstFaceHalfedgeCWRange OpenMesh::PolyConnectivity::fh_cw_range ( FaceHandle  _fh) const
inline
Returns
The halfedges incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 239 of file PolyConnectivity_inline_impl.hh.

◆ fh_cwbegin()

PolyConnectivity::FaceHalfedgeCWIter OpenMesh::PolyConnectivity::fh_cwbegin ( FaceHandle  _fh)
inline

face - halfedge circulator cw

Definition at line 666 of file PolyConnectivity_inline_impl.hh.

◆ fh_cwend()

PolyConnectivity::FaceHalfedgeCWIter OpenMesh::PolyConnectivity::fh_cwend ( FaceHandle  _fh)
inline

face - halfedge circulator cw

Definition at line 872 of file PolyConnectivity_inline_impl.hh.

◆ fh_cwiter()

PolyConnectivity::FaceHalfedgeCWIter OpenMesh::PolyConnectivity::fh_cwiter ( ArrayKernel::FaceHandle  _fh)
inline

face - halfedge circulator cw

Definition at line 483 of file PolyConnectivity_inline_impl.hh.

◆ fh_end()

PolyConnectivity::FaceHalfedgeIter OpenMesh::PolyConnectivity::fh_end ( FaceHandle  _fh)
inline

face - halfedge circulator

Definition at line 869 of file PolyConnectivity_inline_impl.hh.

◆ fh_iter()

PolyConnectivity::FaceHalfedgeIter OpenMesh::PolyConnectivity::fh_iter ( ArrayKernel::FaceHandle  _fh)
inline

face - halfedge circulator

Definition at line 480 of file PolyConnectivity_inline_impl.hh.

◆ fh_range()

PolyConnectivity::ConstFaceHalfedgeRange OpenMesh::PolyConnectivity::fh_range ( FaceHandle  _fh) const
inline
Returns
The halfedges incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 174 of file PolyConnectivity_inline_impl.hh.

◆ find_halfedge()

SmartHalfedgeHandle OpenMesh::PolyConnectivity::find_halfedge ( VertexHandle  _start_vh,
VertexHandle  _end_vh 
) const

Find halfedge from _vh0 to _vh1. Returns invalid handle if not found.

Definition at line 57 of file PolyConnectivity.cc.

◆ fv_begin()

PolyConnectivity::FaceVertexIter OpenMesh::PolyConnectivity::fv_begin ( FaceHandle  _fh)
inline

face - vertex circulator

Definition at line 654 of file PolyConnectivity_inline_impl.hh.

◆ fv_ccw_range()

PolyConnectivity::ConstFaceVertexCCWRange OpenMesh::PolyConnectivity::fv_ccw_range ( FaceHandle  _fh) const
inline
Returns
The vertices incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 285 of file PolyConnectivity_inline_impl.hh.

◆ fv_ccwbegin()

PolyConnectivity::FaceVertexCCWIter OpenMesh::PolyConnectivity::fv_ccwbegin ( FaceHandle  _fh)
inline

face - vertex circulator ccw

Definition at line 660 of file PolyConnectivity_inline_impl.hh.

◆ fv_ccwend()

PolyConnectivity::FaceVertexCCWIter OpenMesh::PolyConnectivity::fv_ccwend ( FaceHandle  _fh)
inline

face - vertex circulator ccw

Definition at line 866 of file PolyConnectivity_inline_impl.hh.

◆ fv_ccwiter()

PolyConnectivity::FaceVertexCCWIter OpenMesh::PolyConnectivity::fv_ccwiter ( ArrayKernel::FaceHandle  _fh)
inline

face - vertex circulator ccw

Definition at line 477 of file PolyConnectivity_inline_impl.hh.

◆ fv_cw_range()

PolyConnectivity::ConstFaceVertexCWRange OpenMesh::PolyConnectivity::fv_cw_range ( FaceHandle  _fh) const
inline
Returns
The vertices incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 235 of file PolyConnectivity_inline_impl.hh.

◆ fv_cwbegin()

PolyConnectivity::FaceVertexCWIter OpenMesh::PolyConnectivity::fv_cwbegin ( FaceHandle  _fh)
inline

face - vertex circulator cw

Definition at line 657 of file PolyConnectivity_inline_impl.hh.

◆ fv_cwend()

PolyConnectivity::FaceVertexCWIter OpenMesh::PolyConnectivity::fv_cwend ( FaceHandle  _fh)
inline

face - vertex circulator cw

Definition at line 863 of file PolyConnectivity_inline_impl.hh.

◆ fv_cwiter()

PolyConnectivity::FaceVertexCWIter OpenMesh::PolyConnectivity::fv_cwiter ( ArrayKernel::FaceHandle  _fh)
inline

face - vertex circulator cw

Definition at line 474 of file PolyConnectivity_inline_impl.hh.

◆ fv_end()

PolyConnectivity::FaceVertexIter OpenMesh::PolyConnectivity::fv_end ( FaceHandle  _fh)
inline

face - vertex circulator

Definition at line 860 of file PolyConnectivity_inline_impl.hh.

◆ fv_iter()

PolyConnectivity::FaceVertexIter OpenMesh::PolyConnectivity::fv_iter ( ArrayKernel::FaceHandle  _fh)
inline

face - vertex circulator

Definition at line 471 of file PolyConnectivity_inline_impl.hh.

◆ fv_range()

PolyConnectivity::ConstFaceVertexRange OpenMesh::PolyConnectivity::fv_range ( FaceHandle  _fh) const
inline
Returns
The vertices incident to the specified face as a range object suitable for C++11 range based for loops.

Definition at line 170 of file PolyConnectivity_inline_impl.hh.

◆ halfedge_handle() [1/7]

HalfedgeHandle OpenMesh::ArrayKernel::halfedge_handle ( EdgeHandle  _eh,
unsigned int  _i = 0 
) const
inline

returns the face handle of the opposite halfedge

Definition at line 483 of file ArrayKernel.hh.

◆ halfedge_handle() [2/7]

HalfedgeHandle OpenMesh::ArrayKernel::halfedge_handle ( FaceHandle  _fh) const
inline

returns the face handle of the opposite halfedge

Definition at line 492 of file ArrayKernel.hh.

◆ halfedge_handle() [3/7]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::halfedge_handle ( SmartEdgeHandle  _eh,
unsigned int  _i = 0 
) const
inline

returns the face handle of the opposite halfedge

Definition at line 64 of file PolyConnectivity_inline_impl.hh.

◆ halfedge_handle() [4/7]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::halfedge_handle ( SmartFaceHandle  _fh) const
inline

returns the face handle of the opposite halfedge

Definition at line 66 of file PolyConnectivity_inline_impl.hh.

◆ halfedge_handle() [5/7]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::halfedge_handle ( SmartVertexHandle  _vh) const
inline

returns the face handle of the opposite halfedge

Definition at line 67 of file PolyConnectivity_inline_impl.hh.

◆ halfedge_handle() [6/7]

HalfedgeHandle OpenMesh::ArrayKernel::halfedge_handle ( unsigned int  _i) const
inline

returns the face handle of the opposite halfedge

Definition at line 193 of file ArrayKernel.hh.

◆ halfedge_handle() [7/7]

HalfedgeHandle OpenMesh::ArrayKernel::halfedge_handle ( VertexHandle  _vh) const
inline

returns the face handle of the opposite halfedge

Definition at line 357 of file ArrayKernel.hh.

◆ halfedges()

PolyConnectivity::ConstHalfedgeRangeSkipping OpenMesh::PolyConnectivity::halfedges ( ) const
inline
Returns
The halfedges as a range object suitable for C++11 range based for loops. Will skip deleted halfedges.

Definition at line 125 of file PolyConnectivity_inline_impl.hh.

◆ halfedges_begin() [1/2]

PolyConnectivity::HalfedgeIter OpenMesh::PolyConnectivity::halfedges_begin ( )
inline

Begin iterator for halfedges.

Definition at line 320 of file PolyConnectivity_inline_impl.hh.

◆ halfedges_begin() [2/2]

PolyConnectivity::ConstHalfedgeIter OpenMesh::PolyConnectivity::halfedges_begin ( ) const
inline

Const begin iterator for halfedges.

Definition at line 323 of file PolyConnectivity_inline_impl.hh.

◆ halfedges_end() [1/2]

PolyConnectivity::HalfedgeIter OpenMesh::PolyConnectivity::halfedges_end ( )
inline

End iterator for halfedges.

Definition at line 326 of file PolyConnectivity_inline_impl.hh.

◆ halfedges_end() [2/2]

PolyConnectivity::ConstHalfedgeIter OpenMesh::PolyConnectivity::halfedges_end ( ) const
inline

Const end iterator for halfedges.

Definition at line 329 of file PolyConnectivity_inline_impl.hh.

◆ halfedges_sbegin() [1/2]

PolyConnectivity::HalfedgeIter OpenMesh::PolyConnectivity::halfedges_sbegin ( )
inline

Begin iterator for halfedges.

Definition at line 363 of file PolyConnectivity_inline_impl.hh.

◆ halfedges_sbegin() [2/2]

PolyConnectivity::ConstHalfedgeIter OpenMesh::PolyConnectivity::halfedges_sbegin ( ) const
inline

Const begin iterator for halfedges.

Definition at line 366 of file PolyConnectivity_inline_impl.hh.

◆ hl_begin()

PolyConnectivity::HalfedgeLoopIter OpenMesh::PolyConnectivity::hl_begin ( HalfedgeHandle  _heh)
inline

halfedge circulator

Definition at line 690 of file PolyConnectivity_inline_impl.hh.

◆ hl_ccw_range()

PolyConnectivity::ConstHalfedgeLoopCCWRange OpenMesh::PolyConnectivity::hl_ccw_range ( HalfedgeHandle  _heh) const
inline
Returns
The halfedges in the face as a range object suitable for C++11 range based for loops.

Definition at line 302 of file PolyConnectivity_inline_impl.hh.

◆ hl_ccwbegin()

PolyConnectivity::HalfedgeLoopCCWIter OpenMesh::PolyConnectivity::hl_ccwbegin ( HalfedgeHandle  _heh)
inline

halfedge circulator ccw

Definition at line 696 of file PolyConnectivity_inline_impl.hh.

◆ hl_ccwend()

PolyConnectivity::HalfedgeLoopCCWIter OpenMesh::PolyConnectivity::hl_ccwend ( HalfedgeHandle  _heh)
inline

face - face circulator ccw

Definition at line 902 of file PolyConnectivity_inline_impl.hh.

◆ hl_cw_range()

PolyConnectivity::ConstHalfedgeLoopCWRange OpenMesh::PolyConnectivity::hl_cw_range ( HalfedgeHandle  _heh) const
inline
Returns
The halfedges in the face as a range object suitable for C++11 range based for loops.

Definition at line 251 of file PolyConnectivity_inline_impl.hh.

◆ hl_cwbegin()

PolyConnectivity::HalfedgeLoopCWIter OpenMesh::PolyConnectivity::hl_cwbegin ( HalfedgeHandle  _heh)
inline

halfedge circulator

Definition at line 693 of file PolyConnectivity_inline_impl.hh.

◆ hl_cwend()

PolyConnectivity::HalfedgeLoopCWIter OpenMesh::PolyConnectivity::hl_cwend ( HalfedgeHandle  _heh)
inline

face - face circulator cw

Definition at line 899 of file PolyConnectivity_inline_impl.hh.

◆ hl_end()

PolyConnectivity::HalfedgeLoopIter OpenMesh::PolyConnectivity::hl_end ( HalfedgeHandle  _heh)
inline

face - face circulator

Definition at line 896 of file PolyConnectivity_inline_impl.hh.

◆ hl_range()

PolyConnectivity::ConstHalfedgeLoopRange OpenMesh::PolyConnectivity::hl_range ( HalfedgeHandle  _heh) const
inline
Returns
The halfedges in the face as a range object suitable for C++11 range based for loops.

Definition at line 202 of file PolyConnectivity_inline_impl.hh.

◆ insert_edge()

PolyConnectivity::HalfedgeHandle OpenMesh::PolyConnectivity::insert_edge ( HalfedgeHandle  _prev_heh,
HalfedgeHandle  _next_heh 
)

Inserts an edge between to_vh(_prev_heh) and from_vh(_next_heh). A new face is created started at heh0 of the inserted edge and its halfedges loop includes both _prev_heh and _next_heh. If an old face existed which includes the argument halfedges, it is split at the new edge. heh0 is returned.

Note
assumes _prev_heh and _next_heh are either boundary or pointed to the same face

Definition at line 921 of file PolyConnectivity.cc.

◆ is_boundary() [1/4]

bool OpenMesh::PolyConnectivity::is_boundary ( EdgeHandle  _eh) const
inline

Is the edge a boundary edge?

Checks it the edge _eh is a boundary edge, i.e. is one of its halfedges a boundary halfedge.

Parameters
_ehEdge handle to test
Returns
boundary?

Definition at line 1579 of file PolyConnectivity.hh.

◆ is_boundary() [2/4]

bool OpenMesh::PolyConnectivity::is_boundary ( FaceHandle  _fh,
bool  _check_vertex = false 
) const

Check if face is at the boundary.

Is face _fh at boundary, i.e. is one of its edges (or vertices) a boundary edge?

Parameters
_fhCheck this face
_check_vertexIf true, check the corner vertices of the face, too.
Returns
boundary?

Definition at line 69 of file PolyConnectivity.cc.

◆ is_boundary() [3/4]

bool OpenMesh::PolyConnectivity::is_boundary ( HalfedgeHandle  _heh) const
inline

Check if the halfedge is at the boundary.

The halfedge is at the boundary, if no face is incident to it.

Parameters
_hehHalfedgeHandle to test
Returns
boundary?

Definition at line 1568 of file PolyConnectivity.hh.

◆ is_boundary() [4/4]

bool OpenMesh::PolyConnectivity::is_boundary ( VertexHandle  _vh) const
inline

Is vertex _vh a boundary vertex ?

Checks if the associated halfedge (which would on a boundary be the outside halfedge), is connected to a face. Which is equivalent, if the vertex is at the boundary of the mesh, as OpenMesh will make sure, that if there is a boundary halfedge at the vertex, the halfedge will be the one which is associated to the vertex.

Parameters
_vhVertexHandle to test
Returns
boundary?

Definition at line 1596 of file PolyConnectivity.hh.

◆ is_collapse_ok()

bool OpenMesh::PolyConnectivity::is_collapse_ok ( HalfedgeHandle  _he)

Returns whether collapsing halfedge _heh is ok or would lead to topological inconsistencies.

Attention
This method need the Attributes::Status attribute and changes the tagged bit.

Definition at line 347 of file PolyConnectivity.cc.

◆ is_manifold()

bool OpenMesh::PolyConnectivity::is_manifold ( VertexHandle  _vh) const

Is (the mesh at) vertex _vh two-manifold ?

The vertex is non-manifold if more than one gap exists, i.e. more than one outgoing boundary halfedge. If (at least) one boundary halfedge exists, the vertex' halfedge must be a boundary halfedge.

Parameters
_vhVertexHandle to test
Returns
manifold?

Definition at line 84 of file PolyConnectivity.cc.

◆ is_simple_link()

bool OpenMesh::PolyConnectivity::is_simple_link ( EdgeHandle  _eh) const

return true if the this the only link between the faces adjacent to _eh. _eh is allowed to be boundary, in which case true is returned iff _eh is the only boundary edge of its ajdacent face.

Definition at line 768 of file PolyConnectivity.cc.

◆ is_simply_connected()

bool OpenMesh::PolyConnectivity::is_simply_connected ( FaceHandle  _fh) const

return true if _fh shares only one edge with all of its adjacent faces. Boundary is treated as one face, i.e., the function false if _fh has more than one boundary edge.

Definition at line 789 of file PolyConnectivity.cc.

◆ is_triangles()

static bool OpenMesh::PolyConnectivity::is_triangles ( )
inlinestatic

Alias typedef.

Definition at line 526 of file PolyConnectivity.hh.

◆ next_halfedge_handle() [1/2]

HalfedgeHandle OpenMesh::ArrayKernel::next_halfedge_handle ( HalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 403 of file ArrayKernel.hh.

◆ next_halfedge_handle() [2/2]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::next_halfedge_handle ( SmartHalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 55 of file PolyConnectivity_inline_impl.hh.

◆ opposite_face_handle()

SmartFaceHandle OpenMesh::PolyConnectivity::opposite_face_handle ( HalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 71 of file PolyConnectivity_inline_impl.hh.

◆ opposite_halfedge_handle() [1/2]

HalfedgeHandle OpenMesh::ArrayKernel::opposite_halfedge_handle ( HalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 462 of file ArrayKernel.hh.

◆ opposite_halfedge_handle() [2/2]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::opposite_halfedge_handle ( SmartHalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 57 of file PolyConnectivity_inline_impl.hh.

◆ prev_halfedge_handle() [1/4]

HalfedgeHandle OpenMesh::ArrayKernel::prev_halfedge_handle ( HalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 429 of file ArrayKernel.hh.

◆ prev_halfedge_handle() [2/4]

HalfedgeHandle OpenMesh::ArrayKernel::prev_halfedge_handle ( HalfedgeHandle  _heh,
GenProg::FalseType   
) const
inline

returns the face handle of the opposite halfedge

Definition at line 435 of file ArrayKernel.hh.

◆ prev_halfedge_handle() [3/4]

HalfedgeHandle OpenMesh::ArrayKernel::prev_halfedge_handle ( HalfedgeHandle  _heh,
GenProg::TrueType   
) const
inline

returns the face handle of the opposite halfedge

Definition at line 432 of file ArrayKernel.hh.

◆ prev_halfedge_handle() [4/4]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::prev_halfedge_handle ( SmartHalfedgeHandle  _heh) const
inline

returns the face handle of the opposite halfedge

Definition at line 56 of file PolyConnectivity_inline_impl.hh.

◆ reinsert_edge()

void OpenMesh::PolyConnectivity::reinsert_edge ( EdgeHandle  _eh)

Inverse of remove_edge. _eh should be the handle of the edge and the vertex and halfedge handles pointed by edge(_eh) should be valid.

Definition at line 869 of file PolyConnectivity.cc.

◆ remove_edge()

PolyConnectivity::FaceHandle OpenMesh::PolyConnectivity::remove_edge ( EdgeHandle  _eh)

Removes the edge _eh. Its adjacent faces are merged. _eh and one of the adjacent faces are set deleted. The handle of the remaining face is returned (InvalidFaceHandle is returned if _eh is a boundary edge).

Precondition
is_simple_link(_eh). This ensures that there are no hole faces or isolated vertices appearing in result of the operation.
Attention
Needs the Attributes::Status attribute for edges and faces.
Note
This function does not perform a garbage collection. It only marks items as deleted.

Definition at line 808 of file PolyConnectivity.cc.

◆ s_edge_handle() [1/2]

static EdgeHandle OpenMesh::ArrayKernel::s_edge_handle ( HalfedgeHandle  _heh)
inlinestatic

returns the face handle of the opposite halfedge

Definition at line 480 of file ArrayKernel.hh.

◆ s_edge_handle() [2/2]

SmartEdgeHandle OpenMesh::PolyConnectivity::s_edge_handle ( SmartHalfedgeHandle  _heh)
inlinestatic

returns the face handle of the opposite halfedge

Definition at line 62 of file PolyConnectivity_inline_impl.hh.

◆ s_halfedge_handle() [1/2]

static HalfedgeHandle OpenMesh::ArrayKernel::s_halfedge_handle ( EdgeHandle  _eh,
unsigned int  _i = 0 
)
inlinestatic

returns the face handle of the opposite halfedge

Definition at line 474 of file ArrayKernel.hh.

◆ s_halfedge_handle() [2/2]

SmartHalfedgeHandle OpenMesh::PolyConnectivity::s_halfedge_handle ( SmartEdgeHandle  _eh,
unsigned int  _i = 0 
)
inlinestatic

returns the face handle of the opposite halfedge

Definition at line 61 of file PolyConnectivity_inline_impl.hh.

◆ split()

void OpenMesh::PolyConnectivity::split ( FaceHandle  _fh,
VertexHandle  _vh 
)

Face split (= 1-to-n split).

Split an arbitrary face into triangles by connecting each vertex of fh to vh.

Note
fh will remain valid (it will become one of the triangles)
the halfedge handles of the new triangles will point to the old halfeges
The properties of the new faces and all other new primitives will be undefined!
Parameters
_fhFace handle that should be splitted
_vhVertex handle of the new vertex that will be inserted in the face

Definition at line 1018 of file PolyConnectivity.cc.

◆ split_copy()

void OpenMesh::PolyConnectivity::split_copy ( FaceHandle  _fh,
VertexHandle  _vh 
)

Face split (= 1-to-n split).

Split an arbitrary face into triangles by connecting each vertex of fh to vh.

Note
fh will remain valid (it will become one of the triangles)
the halfedge handles of the new triangles will point to the old halfeges
The properties of the new faces will be adjusted to the properties of the original faces
Properties of the new edges and halfedges will be undefined
Parameters
_fhFace handle that should be splitted
_vhVertex handle of the new vertex that will be inserted in the face

Definition at line 1061 of file PolyConnectivity.cc.

◆ split_edge()

void OpenMesh::PolyConnectivity::split_edge ( EdgeHandle  _eh,
VertexHandle  _vh 
)

Edge split (inserts a vertex on the edge only)

This edge split only splits the edge without introducing new faces! As this is for polygonal meshes, we can have valence 2 vertices here.

Note
The properties of the new edges and halfedges will be undefined!
Parameters
_ehHandle of the edge, that will be splitted
_vhHandle of the vertex that will be inserted at the edge

Definition at line 1090 of file PolyConnectivity.cc.

◆ split_edge_copy()

void OpenMesh::PolyConnectivity::split_edge_copy ( EdgeHandle  _eh,
VertexHandle  _vh 
)

Edge split (inserts a vertex on the edge only)

This edge split only splits the edge without introducing new faces! As this is for polygonal meshes, we can have valence 2 vertices here.

Note
The properties of the new edge will be copied from the splitted edge
Properties of the new halfedges will be undefined
Parameters
_ehHandle of the edge, that will be splitted
_vhHandle of the vertex that will be inserted at the edge

Definition at line 1155 of file PolyConnectivity.cc.

◆ triangulate() [1/2]

void OpenMesh::PolyConnectivity::triangulate ( )

triangulate the entire mesh

Definition at line 1006 of file PolyConnectivity.cc.

◆ triangulate() [2/2]

void OpenMesh::PolyConnectivity::triangulate ( FaceHandle  _fh)

Triangulate the face _fh.

Split an arbitrary face into triangles by connecting each vertex of fh after its second to vh.

Note
_fh will remain valid (it will become one of the triangles)
The halfedge handles of the new triangles will point to the old halfedges
Parameters
_fhHandle of the face that should be triangulated

Definition at line 956 of file PolyConnectivity.cc.

◆ valence() [1/2]

uint OpenMesh::PolyConnectivity::valence ( FaceHandle  _fh) const

Face valence.

Definition at line 1081 of file PolyConnectivity.cc.

◆ valence() [2/2]

uint OpenMesh::PolyConnectivity::valence ( VertexHandle  _vh) const

Vertex valence.

Definition at line 1072 of file PolyConnectivity.cc.

◆ ve_begin()

PolyConnectivity::VertexEdgeIter OpenMesh::PolyConnectivity::ve_begin ( VertexHandle  _vh)
inline

vertex - edge circulator

Definition at line 589 of file PolyConnectivity_inline_impl.hh.

◆ ve_ccw_range()

PolyConnectivity::ConstVertexEdgeCCWRange OpenMesh::PolyConnectivity::ve_ccw_range ( VertexHandle  _vh) const
inline
Returns
The edges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 277 of file PolyConnectivity_inline_impl.hh.

◆ ve_ccwbegin()

PolyConnectivity::VertexEdgeCCWIter OpenMesh::PolyConnectivity::ve_ccwbegin ( VertexHandle  _vh)
inline

vertex - edge circulator ccw

Definition at line 595 of file PolyConnectivity_inline_impl.hh.

◆ ve_ccwend()

PolyConnectivity::VertexEdgeCCWIter OpenMesh::PolyConnectivity::ve_ccwend ( VertexHandle  _vh)
inline

vertex - edge circulator ccw

Definition at line 801 of file PolyConnectivity_inline_impl.hh.

◆ ve_ccwiter()

PolyConnectivity::VertexEdgeCCWIter OpenMesh::PolyConnectivity::ve_ccwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - edge circulator ccw

Definition at line 414 of file PolyConnectivity_inline_impl.hh.

◆ ve_cw_range()

PolyConnectivity::ConstVertexEdgeCWRange OpenMesh::PolyConnectivity::ve_cw_range ( VertexHandle  _vh) const
inline
Returns
The edges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 227 of file PolyConnectivity_inline_impl.hh.

◆ ve_cwbegin()

PolyConnectivity::VertexEdgeCWIter OpenMesh::PolyConnectivity::ve_cwbegin ( VertexHandle  _vh)
inline

vertex - edge circulator cw

Definition at line 592 of file PolyConnectivity_inline_impl.hh.

◆ ve_cwend()

PolyConnectivity::VertexEdgeCWIter OpenMesh::PolyConnectivity::ve_cwend ( VertexHandle  _vh)
inline

vertex - edge circulator cw

Definition at line 798 of file PolyConnectivity_inline_impl.hh.

◆ ve_cwiter()

PolyConnectivity::VertexEdgeCWIter OpenMesh::PolyConnectivity::ve_cwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - edge circulator cw

Definition at line 411 of file PolyConnectivity_inline_impl.hh.

◆ ve_end()

PolyConnectivity::VertexEdgeIter OpenMesh::PolyConnectivity::ve_end ( VertexHandle  _vh)
inline

vertex - edge circulator

Definition at line 795 of file PolyConnectivity_inline_impl.hh.

◆ ve_iter()

PolyConnectivity::VertexEdgeIter OpenMesh::PolyConnectivity::ve_iter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - edge circulator

Definition at line 408 of file PolyConnectivity_inline_impl.hh.

◆ ve_range()

PolyConnectivity::ConstVertexEdgeRange OpenMesh::PolyConnectivity::ve_range ( VertexHandle  _vh) const
inline
Returns
The edges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 162 of file PolyConnectivity_inline_impl.hh.

◆ vertices()

PolyConnectivity::ConstVertexRangeSkipping OpenMesh::PolyConnectivity::vertices ( ) const
inline
Returns
The vertices as a range object suitable for C++11 range based for loops. Will skip deleted vertices.

Definition at line 123 of file PolyConnectivity_inline_impl.hh.

◆ vertices_begin() [1/2]

PolyConnectivity::VertexIter OpenMesh::PolyConnectivity::vertices_begin ( )
inline

Begin iterator for vertices.

Definition at line 308 of file PolyConnectivity_inline_impl.hh.

◆ vertices_begin() [2/2]

PolyConnectivity::ConstVertexIter OpenMesh::PolyConnectivity::vertices_begin ( ) const
inline

Const begin iterator for vertices.

Definition at line 311 of file PolyConnectivity_inline_impl.hh.

◆ vertices_end() [1/2]

PolyConnectivity::VertexIter OpenMesh::PolyConnectivity::vertices_end ( )
inline

End iterator for vertices.

Definition at line 314 of file PolyConnectivity_inline_impl.hh.

◆ vertices_end() [2/2]

PolyConnectivity::ConstVertexIter OpenMesh::PolyConnectivity::vertices_end ( ) const
inline

Const end iterator for vertices.

Definition at line 317 of file PolyConnectivity_inline_impl.hh.

◆ vertices_sbegin() [1/2]

PolyConnectivity::VertexIter OpenMesh::PolyConnectivity::vertices_sbegin ( )
inline

Begin iterator for vertices.

Definition at line 357 of file PolyConnectivity_inline_impl.hh.

◆ vertices_sbegin() [2/2]

PolyConnectivity::ConstVertexIter OpenMesh::PolyConnectivity::vertices_sbegin ( ) const
inline

Const begin iterator for vertices.

Definition at line 360 of file PolyConnectivity_inline_impl.hh.

◆ vf_begin()

PolyConnectivity::VertexFaceIter OpenMesh::PolyConnectivity::vf_begin ( VertexHandle  _vh)
inline

vertex - face circulator

Definition at line 598 of file PolyConnectivity_inline_impl.hh.

◆ vf_ccw_range()

PolyConnectivity::ConstVertexFaceCCWRange OpenMesh::PolyConnectivity::vf_ccw_range ( VertexHandle  _vh) const
inline
Returns
The faces incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 281 of file PolyConnectivity_inline_impl.hh.

◆ vf_ccwbegin()

PolyConnectivity::VertexFaceCCWIter OpenMesh::PolyConnectivity::vf_ccwbegin ( VertexHandle  _vh)
inline

vertex - face circulator ccw

Definition at line 604 of file PolyConnectivity_inline_impl.hh.

◆ vf_ccwend()

PolyConnectivity::VertexFaceCCWIter OpenMesh::PolyConnectivity::vf_ccwend ( VertexHandle  _vh)
inline

vertex - face circulator ccw

Definition at line 810 of file PolyConnectivity_inline_impl.hh.

◆ vf_ccwiter()

PolyConnectivity::VertexFaceCCWIter OpenMesh::PolyConnectivity::vf_ccwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - face circulator ccw

Definition at line 423 of file PolyConnectivity_inline_impl.hh.

◆ vf_cw_range()

PolyConnectivity::ConstVertexFaceCWRange OpenMesh::PolyConnectivity::vf_cw_range ( VertexHandle  _vh) const
inline
Returns
The faces incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 231 of file PolyConnectivity_inline_impl.hh.

◆ vf_cwbegin()

PolyConnectivity::VertexFaceCWIter OpenMesh::PolyConnectivity::vf_cwbegin ( VertexHandle  _vh)
inline

vertex - face circulator cw

Definition at line 601 of file PolyConnectivity_inline_impl.hh.

◆ vf_cwend()

PolyConnectivity::VertexFaceCWIter OpenMesh::PolyConnectivity::vf_cwend ( VertexHandle  _vh)
inline

vertex - face circulator cw

Definition at line 807 of file PolyConnectivity_inline_impl.hh.

◆ vf_cwiter()

PolyConnectivity::VertexFaceCWIter OpenMesh::PolyConnectivity::vf_cwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - face circulator cw

Definition at line 420 of file PolyConnectivity_inline_impl.hh.

◆ vf_end()

PolyConnectivity::VertexFaceIter OpenMesh::PolyConnectivity::vf_end ( VertexHandle  _vh)
inline

vertex - face circulator

Definition at line 804 of file PolyConnectivity_inline_impl.hh.

◆ vf_iter()

PolyConnectivity::VertexFaceIter OpenMesh::PolyConnectivity::vf_iter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - face circulator

Definition at line 417 of file PolyConnectivity_inline_impl.hh.

◆ vf_range()

PolyConnectivity::ConstVertexFaceRange OpenMesh::PolyConnectivity::vf_range ( VertexHandle  _vh) const
inline
Returns
The faces incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 166 of file PolyConnectivity_inline_impl.hh.

◆ vih_begin()

PolyConnectivity::VertexIHalfedgeIter OpenMesh::PolyConnectivity::vih_begin ( VertexHandle  _vh)
inline

vertex - incoming halfedge circulator

Definition at line 571 of file PolyConnectivity_inline_impl.hh.

◆ vih_ccw_range() [1/2]

PolyConnectivity::ConstVertexIHalfedgeCCWRange OpenMesh::PolyConnectivity::vih_ccw_range ( HalfedgeHandle  _heh) const
inline
Returns
The incoming halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops. Like vih_ccw_range(VertexHandle _heh.to()) but starts iteration at _heh

Definition at line 265 of file PolyConnectivity_inline_impl.hh.

◆ vih_ccw_range() [2/2]

PolyConnectivity::ConstVertexIHalfedgeCCWRange OpenMesh::PolyConnectivity::vih_ccw_range ( VertexHandle  _vh) const
inline
Returns
The incoming halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 261 of file PolyConnectivity_inline_impl.hh.

◆ vih_ccwbegin()

PolyConnectivity::VertexIHalfedgeCCWIter OpenMesh::PolyConnectivity::vih_ccwbegin ( VertexHandle  _vh)
inline

vertex - incoming halfedge circulator ccw

Definition at line 577 of file PolyConnectivity_inline_impl.hh.

◆ vih_ccwend()

PolyConnectivity::VertexIHalfedgeCCWIter OpenMesh::PolyConnectivity::vih_ccwend ( VertexHandle  _vh)
inline

vertex - incoming halfedge circulator ccw

Definition at line 783 of file PolyConnectivity_inline_impl.hh.

◆ vih_ccwiter()

PolyConnectivity::VertexIHalfedgeCCWIter OpenMesh::PolyConnectivity::vih_ccwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - incoming halfedge circulator ccw

Definition at line 396 of file PolyConnectivity_inline_impl.hh.

◆ vih_cw_range() [1/2]

PolyConnectivity::ConstVertexIHalfedgeCWRange OpenMesh::PolyConnectivity::vih_cw_range ( HalfedgeHandle  _heh) const
inline
Returns
The incoming halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops. Like vih_cw_range(VertexHandle _heh.to()) but starts iteration at _heh

Definition at line 215 of file PolyConnectivity_inline_impl.hh.

◆ vih_cw_range() [2/2]

PolyConnectivity::ConstVertexIHalfedgeCWRange OpenMesh::PolyConnectivity::vih_cw_range ( VertexHandle  _vh) const
inline
Returns
The incoming halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 211 of file PolyConnectivity_inline_impl.hh.

◆ vih_cwbegin()

PolyConnectivity::VertexIHalfedgeCWIter OpenMesh::PolyConnectivity::vih_cwbegin ( VertexHandle  _vh)
inline

vertex - incoming halfedge circulator cw

Definition at line 574 of file PolyConnectivity_inline_impl.hh.

◆ vih_cwend()

PolyConnectivity::VertexIHalfedgeCWIter OpenMesh::PolyConnectivity::vih_cwend ( VertexHandle  _vh)
inline

vertex - incoming halfedge circulator cw

Definition at line 780 of file PolyConnectivity_inline_impl.hh.

◆ vih_cwiter()

PolyConnectivity::VertexIHalfedgeCWIter OpenMesh::PolyConnectivity::vih_cwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - incoming halfedge circulator cw

Definition at line 393 of file PolyConnectivity_inline_impl.hh.

◆ vih_end()

PolyConnectivity::VertexIHalfedgeIter OpenMesh::PolyConnectivity::vih_end ( VertexHandle  _vh)
inline

vertex - incoming halfedge circulator

Definition at line 777 of file PolyConnectivity_inline_impl.hh.

◆ vih_iter()

PolyConnectivity::VertexIHalfedgeIter OpenMesh::PolyConnectivity::vih_iter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - incoming halfedge circulator

Definition at line 390 of file PolyConnectivity_inline_impl.hh.

◆ vih_range() [1/2]

PolyConnectivity::ConstVertexIHalfedgeRange OpenMesh::PolyConnectivity::vih_range ( HalfedgeHandle  _heh) const
inline
Returns
The incoming halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops. Like vih_range(VertexHandle _heh.to()) but starts iteration at _heh

Definition at line 150 of file PolyConnectivity_inline_impl.hh.

◆ vih_range() [2/2]

PolyConnectivity::ConstVertexIHalfedgeRange OpenMesh::PolyConnectivity::vih_range ( VertexHandle  _vh) const
inline
Returns
The incoming halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 146 of file PolyConnectivity_inline_impl.hh.

◆ voh_begin()

PolyConnectivity::VertexOHalfedgeIter OpenMesh::PolyConnectivity::voh_begin ( VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator

Definition at line 580 of file PolyConnectivity_inline_impl.hh.

◆ voh_ccw_range() [1/2]

PolyConnectivity::ConstVertexOHalfedgeCCWRange OpenMesh::PolyConnectivity::voh_ccw_range ( HalfedgeHandle  _heh) const
inline
Returns
The outgoing halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops. Like voh_ccw_range(VertexHandle _heh.from()) but starts iteration at _heh

Definition at line 273 of file PolyConnectivity_inline_impl.hh.

◆ voh_ccw_range() [2/2]

PolyConnectivity::ConstVertexOHalfedgeCCWRange OpenMesh::PolyConnectivity::voh_ccw_range ( VertexHandle  _vh) const
inline
Returns
The outgoing halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 269 of file PolyConnectivity_inline_impl.hh.

◆ voh_ccwbegin()

PolyConnectivity::VertexOHalfedgeCCWIter OpenMesh::PolyConnectivity::voh_ccwbegin ( VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator ccw

Definition at line 586 of file PolyConnectivity_inline_impl.hh.

◆ voh_ccwend()

PolyConnectivity::VertexOHalfedgeCCWIter OpenMesh::PolyConnectivity::voh_ccwend ( VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator ccw

Definition at line 792 of file PolyConnectivity_inline_impl.hh.

◆ voh_ccwiter()

PolyConnectivity::VertexOHalfedgeCCWIter OpenMesh::PolyConnectivity::voh_ccwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator ccw

Definition at line 405 of file PolyConnectivity_inline_impl.hh.

◆ voh_cw_range() [1/2]

PolyConnectivity::ConstVertexOHalfedgeCWRange OpenMesh::PolyConnectivity::voh_cw_range ( HalfedgeHandle  _heh) const
inline
Returns
The outgoing halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops. Like voh_cw_range(VertexHandle _heh.from()) but starts iteration at _heh

Definition at line 223 of file PolyConnectivity_inline_impl.hh.

◆ voh_cw_range() [2/2]

PolyConnectivity::ConstVertexOHalfedgeCWRange OpenMesh::PolyConnectivity::voh_cw_range ( VertexHandle  _vh) const
inline
Returns
The outgoing halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 219 of file PolyConnectivity_inline_impl.hh.

◆ voh_cwbegin()

PolyConnectivity::VertexOHalfedgeCWIter OpenMesh::PolyConnectivity::voh_cwbegin ( VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator cw

Definition at line 583 of file PolyConnectivity_inline_impl.hh.

◆ voh_cwend()

PolyConnectivity::VertexOHalfedgeCWIter OpenMesh::PolyConnectivity::voh_cwend ( VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator cw

Definition at line 789 of file PolyConnectivity_inline_impl.hh.

◆ voh_cwiter()

PolyConnectivity::VertexOHalfedgeCWIter OpenMesh::PolyConnectivity::voh_cwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator cw

Definition at line 402 of file PolyConnectivity_inline_impl.hh.

◆ voh_end()

PolyConnectivity::VertexOHalfedgeIter OpenMesh::PolyConnectivity::voh_end ( VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator

Definition at line 786 of file PolyConnectivity_inline_impl.hh.

◆ voh_iter()

PolyConnectivity::VertexOHalfedgeIter OpenMesh::PolyConnectivity::voh_iter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - outgoing halfedge circulator

Definition at line 399 of file PolyConnectivity_inline_impl.hh.

◆ voh_range() [1/2]

PolyConnectivity::ConstVertexOHalfedgeRange OpenMesh::PolyConnectivity::voh_range ( HalfedgeHandle  _heh) const
inline
Returns
The outgoing halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops. Like voh_range(VertexHandle _heh.from()) but starts iteration at _heh

Definition at line 158 of file PolyConnectivity_inline_impl.hh.

◆ voh_range() [2/2]

PolyConnectivity::ConstVertexOHalfedgeRange OpenMesh::PolyConnectivity::voh_range ( VertexHandle  _vh) const
inline
Returns
The outgoing halfedges incident to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 154 of file PolyConnectivity_inline_impl.hh.

◆ vv_begin()

PolyConnectivity::VertexVertexIter OpenMesh::PolyConnectivity::vv_begin ( VertexHandle  _vh)
inline

vertex - vertex circulator

Definition at line 562 of file PolyConnectivity_inline_impl.hh.

◆ vv_ccw_range()

PolyConnectivity::ConstVertexVertexCCWRange OpenMesh::PolyConnectivity::vv_ccw_range ( VertexHandle  _vh) const
inline
Returns
The vertices adjacent to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 257 of file PolyConnectivity_inline_impl.hh.

◆ vv_ccwbegin()

PolyConnectivity::VertexVertexCCWIter OpenMesh::PolyConnectivity::vv_ccwbegin ( VertexHandle  _vh)
inline

vertex - vertex circulator ccw

Definition at line 568 of file PolyConnectivity_inline_impl.hh.

◆ vv_ccwend()

PolyConnectivity::VertexVertexCCWIter OpenMesh::PolyConnectivity::vv_ccwend ( VertexHandle  _vh)
inline

vertex - vertex circulator ccw

Definition at line 774 of file PolyConnectivity_inline_impl.hh.

◆ vv_ccwiter()

PolyConnectivity::VertexVertexCCWIter OpenMesh::PolyConnectivity::vv_ccwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - vertex circulator ccw

Definition at line 387 of file PolyConnectivity_inline_impl.hh.

◆ vv_cw_range()

PolyConnectivity::ConstVertexVertexCWRange OpenMesh::PolyConnectivity::vv_cw_range ( VertexHandle  _vh) const
inline
Returns
The vertices adjacent to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 207 of file PolyConnectivity_inline_impl.hh.

◆ vv_cwbegin()

PolyConnectivity::VertexVertexCWIter OpenMesh::PolyConnectivity::vv_cwbegin ( VertexHandle  _vh)
inline

vertex - vertex circulator cw

Definition at line 565 of file PolyConnectivity_inline_impl.hh.

◆ vv_cwend()

PolyConnectivity::VertexVertexCWIter OpenMesh::PolyConnectivity::vv_cwend ( VertexHandle  _vh)
inline

vertex - vertex circulator cw

Definition at line 771 of file PolyConnectivity_inline_impl.hh.

◆ vv_cwiter()

PolyConnectivity::VertexVertexCWIter OpenMesh::PolyConnectivity::vv_cwiter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - vertex circulator cw

Definition at line 384 of file PolyConnectivity_inline_impl.hh.

◆ vv_end()

PolyConnectivity::VertexVertexIter OpenMesh::PolyConnectivity::vv_end ( VertexHandle  _vh)
inline

vertex - vertex circulator

Definition at line 768 of file PolyConnectivity_inline_impl.hh.

◆ vv_iter()

PolyConnectivity::VertexVertexIter OpenMesh::PolyConnectivity::vv_iter ( ArrayKernel::VertexHandle  _vh)
inline

vertex - vertex circulator

Definition at line 381 of file PolyConnectivity_inline_impl.hh.

◆ vv_range()

PolyConnectivity::ConstVertexVertexRange OpenMesh::PolyConnectivity::vv_range ( VertexHandle  _vh) const
inline
Returns
The vertices adjacent to the specified vertex as a range object suitable for C++11 range based for loops.

Definition at line 142 of file PolyConnectivity_inline_impl.hh.

Member Data Documentation

◆ edgeData_

std::vector<AddFaceEdgeInfo> OpenMesh::PolyConnectivity::edgeData_
private

Get item from handle.

Definition at line 1801 of file PolyConnectivity.hh.

◆ InvalidEdgeHandle

const PolyConnectivity::EdgeHandle OpenMesh::PolyConnectivity::InvalidEdgeHandle
static

Invalid handle.

Definition at line 124 of file PolyConnectivity.hh.

◆ InvalidFaceHandle

const PolyConnectivity::FaceHandle OpenMesh::PolyConnectivity::InvalidFaceHandle
static

Invalid handle.

Definition at line 126 of file PolyConnectivity.hh.

◆ InvalidHalfedgeHandle

const PolyConnectivity::HalfedgeHandle OpenMesh::PolyConnectivity::InvalidHalfedgeHandle
static

Invalid handle.

Definition at line 122 of file PolyConnectivity.hh.

◆ InvalidVertexHandle

const PolyConnectivity::VertexHandle OpenMesh::PolyConnectivity::InvalidVertexHandle
static

Invalid handle.

Definition at line 120 of file PolyConnectivity.hh.

◆ next_cache_

std::vector<std::pair<HalfedgeHandle, HalfedgeHandle> > OpenMesh::PolyConnectivity::next_cache_
private

Get item from handle.

Definition at line 1802 of file PolyConnectivity.hh.


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