Developer Documentation
OpenMesh::TriConnectivity Class Reference

Connectivity Class for Triangle Meshes. More...

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

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

Public Member Functions

void assign_connectivity (const TriConnectivity &_other)
 
void assign_connectivity (const PolyConnectivity &_other)
 
VertexHandle opposite_vh (HalfedgeHandle _heh) const
 
VertexHandle opposite_he_opposite_vh (HalfedgeHandle _heh) const
 
Addding items to a mesh
FaceHandle add_face (const VertexHandle *_vhandles, size_t _vhs_size)
 Add a face with arbitrary valence to the triangle mesh. More...
 
FaceHandle add_face (const std::vector< VertexHandle > &_vhandles)
 Add a face with arbitrary valence to the triangle mesh. More...
 
FaceHandle add_face (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2)
 Add a face to the mesh (triangle) More...
 
Topology modifying operators
bool is_collapse_ok (HalfedgeHandle _heh)
 
HalfedgeHandle vertex_split (VertexHandle v0, VertexHandle v1, VertexHandle vl, VertexHandle vr)
 Vertex Split: inverse operation to collapse().
 
bool is_flip_ok (EdgeHandle _eh) const
 Check whether flipping _eh is topologically correct.
 
void flip (EdgeHandle _eh)
 
void split (EdgeHandle _eh, VertexHandle _vh)
 Edge split (= 2-to-4 split) More...
 
void split_edge (EdgeHandle _eh, VertexHandle _vh)
 Edge split (= 2-to-4 split) More...
 
void split_copy (EdgeHandle _eh, VertexHandle _vh)
 Edge split (= 2-to-4 split) More...
 
void split_edge_copy (EdgeHandle _eh, VertexHandle _vh)
 Edge split (= 2-to-4 split) More...
 
void split (FaceHandle _fh, VertexHandle _vh)
 Face split (= 1-to-3) split, calls corresponding PolyMeshT function). More...
 
void split_copy (FaceHandle _fh, VertexHandle _vh)
 Face split (= 1-to-3) split, calls corresponding PolyMeshT function). More...
 
- Public Member Functions inherited from OpenMesh::PolyConnectivity
void assign_connectivity (const PolyConnectivity &_other)
 
FaceHandle opposite_face_handle (HalfedgeHandle _heh) const
 returns the face handle of the opposite halfedge
 
void adjust_outgoing_halfedge (VertexHandle _vh)
 
HalfedgeHandle find_halfedge (VertexHandle _start_vh, VertexHandle _end_vh) const
 Find halfedge from _vh0 to _vh1. Returns invalid handle if not found.
 
uint valence (VertexHandle _vh) const
 Vertex valence.
 
uint valence (FaceHandle _fh) const
 Face valence.
 
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
 
void split_edge (EdgeHandle _eh, VertexHandle _vh)
 
void split_edge_copy (EdgeHandle _eh, VertexHandle _vh)
 
VertexHandle add_vertex ()
 Add a new vertex.
 
FaceHandle add_face (const std::vector< VertexHandle > &_vhandles)
 Add and connect a new face. More...
 
FaceHandle add_face (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2)
 Add and connect a new face. More...
 
FaceHandle add_face (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2, VertexHandle _vh3)
 Add and connect a new face. More...
 
FaceHandle add_face (const VertexHandle *_vhandles, size_t _vhs_size)
 Add and connect a new face. More...
 
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)
 
VertexIter vertices_begin ()
 Begin iterator for vertices.
 
ConstVertexIter vertices_begin () const
 Const begin iterator for vertices.
 
VertexIter vertices_end ()
 End iterator for vertices.
 
ConstVertexIter vertices_end () const
 Const end iterator for vertices.
 
HalfedgeIter halfedges_begin ()
 Begin iterator for halfedges.
 
ConstHalfedgeIter halfedges_begin () const
 Const begin iterator for halfedges.
 
HalfedgeIter halfedges_end ()
 End iterator for halfedges.
 
ConstHalfedgeIter halfedges_end () const
 Const end iterator for halfedges.
 
EdgeIter edges_begin ()
 Begin iterator for edges.
 
ConstEdgeIter edges_begin () const
 Const begin iterator for edges.
 
EdgeIter edges_end ()
 End iterator for edges.
 
ConstEdgeIter edges_end () const
 Const end iterator for edges.
 
FaceIter faces_begin ()
 Begin iterator for faces.
 
ConstFaceIter faces_begin () const
 Const begin iterator for faces.
 
FaceIter faces_end ()
 End iterator for faces.
 
ConstFaceIter faces_end () const
 Const end iterator for faces.
 
VertexIter vertices_sbegin ()
 Begin iterator for vertices.
 
ConstVertexIter vertices_sbegin () const
 Const begin iterator for vertices.
 
HalfedgeIter halfedges_sbegin ()
 Begin iterator for halfedges.
 
ConstHalfedgeIter halfedges_sbegin () const
 Const begin iterator for halfedges.
 
EdgeIter edges_sbegin ()
 Begin iterator for edges.
 
ConstEdgeIter edges_sbegin () const
 Const begin iterator for edges.
 
FaceIter faces_sbegin ()
 Begin iterator for faces.
 
ConstFaceIter faces_sbegin () const
 Const begin iterator for faces.
 
VertexVertexIter vv_iter (VertexHandle _vh)
 vertex - vertex circulator
 
VertexVertexCWIter vv_cwiter (VertexHandle _vh)
 vertex - vertex circulator cw
 
VertexVertexCCWIter vv_ccwiter (VertexHandle _vh)
 vertex - vertex circulator ccw
 
VertexIHalfedgeIter vih_iter (VertexHandle _vh)
 vertex - incoming halfedge circulator
 
VertexIHalfedgeCWIter vih_cwiter (VertexHandle _vh)
 vertex - incoming halfedge circulator cw
 
VertexIHalfedgeCCWIter vih_ccwiter (VertexHandle _vh)
 vertex - incoming halfedge circulator ccw
 
VertexOHalfedgeIter voh_iter (VertexHandle _vh)
 vertex - outgoing halfedge circulator
 
VertexOHalfedgeCWIter voh_cwiter (VertexHandle _vh)
 vertex - outgoing halfedge circulator cw
 
VertexOHalfedgeCCWIter voh_ccwiter (VertexHandle _vh)
 vertex - outgoing halfedge circulator ccw
 
VertexEdgeIter ve_iter (VertexHandle _vh)
 vertex - edge circulator
 
VertexEdgeCWIter ve_cwiter (VertexHandle _vh)
 vertex - edge circulator cw
 
VertexEdgeCCWIter ve_ccwiter (VertexHandle _vh)
 vertex - edge circulator ccw
 
VertexFaceIter vf_iter (VertexHandle _vh)
 vertex - face circulator
 
VertexFaceCWIter vf_cwiter (VertexHandle _vh)
 vertex - face circulator cw
 
VertexFaceCCWIter vf_ccwiter (VertexHandle _vh)
 vertex - face circulator ccw
 
ConstVertexVertexIter cvv_iter (VertexHandle _vh) const
 const vertex circulator
 
ConstVertexVertexCWIter cvv_cwiter (VertexHandle _vh) const
 const vertex circulator cw
 
ConstVertexVertexCCWIter cvv_ccwiter (VertexHandle _vh) const
 const vertex circulator ccw
 
ConstVertexIHalfedgeIter cvih_iter (VertexHandle _vh) const
 const vertex - incoming halfedge circulator
 
ConstVertexIHalfedgeCWIter cvih_cwiter (VertexHandle _vh) const
 const vertex - incoming halfedge circulator cw
 
ConstVertexIHalfedgeCCWIter cvih_ccwiter (VertexHandle _vh) const
 const vertex - incoming halfedge circulator ccw
 
ConstVertexOHalfedgeIter cvoh_iter (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator
 
ConstVertexOHalfedgeCWIter cvoh_cwiter (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator cw
 
ConstVertexOHalfedgeCCWIter cvoh_ccwiter (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator ccw
 
ConstVertexEdgeIter cve_iter (VertexHandle _vh) const
 const vertex - edge circulator
 
ConstVertexEdgeCWIter cve_cwiter (VertexHandle _vh) const
 const vertex - edge circulator cw
 
ConstVertexEdgeCCWIter cve_ccwiter (VertexHandle _vh) const
 const vertex - edge circulator ccw
 
ConstVertexFaceIter cvf_iter (VertexHandle _vh) const
 const vertex - face circulator
 
ConstVertexFaceCWIter cvf_cwiter (VertexHandle _vh) const
 const vertex - face circulator cw
 
ConstVertexFaceCCWIter cvf_ccwiter (VertexHandle _vh) const
 const vertex - face circulator ccw
 
FaceVertexIter fv_iter (FaceHandle _fh)
 face - vertex circulator
 
FaceVertexCWIter fv_cwiter (FaceHandle _fh)
 face - vertex circulator cw
 
FaceVertexCCWIter fv_ccwiter (FaceHandle _fh)
 face - vertex circulator ccw
 
FaceHalfedgeIter fh_iter (FaceHandle _fh)
 face - halfedge circulator
 
FaceHalfedgeCWIter fh_cwiter (FaceHandle _fh)
 face - halfedge circulator cw
 
FaceHalfedgeCCWIter fh_ccwiter (FaceHandle _fh)
 face - halfedge circulator ccw
 
FaceEdgeIter fe_iter (FaceHandle _fh)
 face - edge circulator
 
FaceEdgeCWIter fe_cwiter (FaceHandle _fh)
 face - edge circulator cw
 
FaceEdgeCCWIter fe_ccwiter (FaceHandle _fh)
 face - edge circulator ccw
 
FaceFaceIter ff_iter (FaceHandle _fh)
 face - face circulator
 
FaceFaceCWIter ff_cwiter (FaceHandle _fh)
 face - face circulator cw
 
FaceFaceCCWIter ff_ccwiter (FaceHandle _fh)
 face - face circulator ccw
 
ConstFaceVertexIter cfv_iter (FaceHandle _fh) const
 const face - vertex circulator
 
ConstFaceVertexCWIter cfv_cwiter (FaceHandle _fh) const
 const face - vertex circulator cw
 
ConstFaceVertexCCWIter cfv_ccwiter (FaceHandle _fh) const
 const face - vertex circulator ccw
 
ConstFaceHalfedgeIter cfh_iter (FaceHandle _fh) const
 const face - halfedge circulator
 
ConstFaceHalfedgeCWIter cfh_cwiter (FaceHandle _fh) const
 const face - halfedge circulator cw
 
ConstFaceHalfedgeCCWIter cfh_ccwiter (FaceHandle _fh) const
 const face - halfedge circulator ccw
 
ConstFaceEdgeIter cfe_iter (FaceHandle _fh) const
 const face - edge circulator
 
ConstFaceEdgeCWIter cfe_cwiter (FaceHandle _fh) const
 const face - edge circulator cw
 
ConstFaceEdgeCCWIter cfe_ccwiter (FaceHandle _fh) const
 const face - edge circulator ccw
 
ConstFaceFaceIter cff_iter (FaceHandle _fh) const
 const face - face circulator
 
ConstFaceFaceCWIter cff_cwiter (FaceHandle _fh) const
 const face - face circulator cw
 
ConstFaceFaceCCWIter cff_ccwiter (FaceHandle _fh) const
 const face - face circulator
 
VertexVertexIter vv_begin (VertexHandle _vh)
 vertex - vertex circulator
 
VertexVertexCWIter vv_cwbegin (VertexHandle _vh)
 vertex - vertex circulator cw
 
VertexVertexCCWIter vv_ccwbegin (VertexHandle _vh)
 vertex - vertex circulator ccw
 
VertexIHalfedgeIter vih_begin (VertexHandle _vh)
 vertex - incoming halfedge circulator
 
VertexIHalfedgeCWIter vih_cwbegin (VertexHandle _vh)
 vertex - incoming halfedge circulator cw
 
VertexIHalfedgeCCWIter vih_ccwbegin (VertexHandle _vh)
 vertex - incoming halfedge circulator ccw
 
VertexOHalfedgeIter voh_begin (VertexHandle _vh)
 vertex - outgoing halfedge circulator
 
VertexOHalfedgeCWIter voh_cwbegin (VertexHandle _vh)
 vertex - outgoing halfedge circulator cw
 
VertexOHalfedgeCCWIter voh_ccwbegin (VertexHandle _vh)
 vertex - outgoing halfedge circulator ccw
 
VertexEdgeIter ve_begin (VertexHandle _vh)
 vertex - edge circulator
 
VertexEdgeCWIter ve_cwbegin (VertexHandle _vh)
 vertex - edge circulator cw
 
VertexEdgeCCWIter ve_ccwbegin (VertexHandle _vh)
 vertex - edge circulator ccw
 
VertexFaceIter vf_begin (VertexHandle _vh)
 vertex - face circulator
 
VertexFaceCWIter vf_cwbegin (VertexHandle _vh)
 vertex - face circulator cw
 
VertexFaceCCWIter vf_ccwbegin (VertexHandle _vh)
 vertex - face circulator ccw
 
ConstVertexVertexIter cvv_begin (VertexHandle _vh) const
 const vertex circulator
 
ConstVertexVertexCWIter cvv_cwbegin (VertexHandle _vh) const
 const vertex circulator cw
 
ConstVertexVertexCCWIter cvv_ccwbegin (VertexHandle _vh) const
 const vertex circulator ccw
 
ConstVertexIHalfedgeIter cvih_begin (VertexHandle _vh) const
 const vertex - incoming halfedge circulator
 
ConstVertexIHalfedgeCWIter cvih_cwbegin (VertexHandle _vh) const
 const vertex - incoming halfedge circulator cw
 
ConstVertexIHalfedgeCCWIter cvih_ccwbegin (VertexHandle _vh) const
 const vertex - incoming halfedge circulator ccw
 
ConstVertexOHalfedgeIter cvoh_begin (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator
 
ConstVertexOHalfedgeCWIter cvoh_cwbegin (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator cw
 
ConstVertexOHalfedgeCCWIter cvoh_ccwbegin (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator ccw
 
ConstVertexEdgeIter cve_begin (VertexHandle _vh) const
 const vertex - edge circulator
 
ConstVertexEdgeCWIter cve_cwbegin (VertexHandle _vh) const
 const vertex - edge circulator cw
 
ConstVertexEdgeCCWIter cve_ccwbegin (VertexHandle _vh) const
 const vertex - edge circulator ccw
 
ConstVertexFaceIter cvf_begin (VertexHandle _vh) const
 const vertex - face circulator
 
ConstVertexFaceCWIter cvf_cwbegin (VertexHandle _vh) const
 const vertex - face circulator cw
 
ConstVertexFaceCCWIter cvf_ccwbegin (VertexHandle _vh) const
 const vertex - face circulator ccw
 
FaceVertexIter fv_begin (FaceHandle _fh)
 face - vertex circulator
 
FaceVertexCWIter fv_cwbegin (FaceHandle _fh)
 face - vertex circulator cw
 
FaceVertexCCWIter fv_ccwbegin (FaceHandle _fh)
 face - vertex circulator ccw
 
FaceHalfedgeIter fh_begin (FaceHandle _fh)
 face - halfedge circulator
 
FaceHalfedgeCWIter fh_cwbegin (FaceHandle _fh)
 face - halfedge circulator cw
 
FaceHalfedgeCCWIter fh_ccwbegin (FaceHandle _fh)
 face - halfedge circulator ccw
 
FaceEdgeIter fe_begin (FaceHandle _fh)
 face - edge circulator
 
FaceEdgeCWIter fe_cwbegin (FaceHandle _fh)
 face - edge circulator cw
 
FaceEdgeCCWIter fe_ccwbegin (FaceHandle _fh)
 face - edge circulator ccw
 
FaceFaceIter ff_begin (FaceHandle _fh)
 face - face circulator
 
FaceFaceCWIter ff_cwbegin (FaceHandle _fh)
 face - face circulator cw
 
FaceFaceCCWIter ff_ccwbegin (FaceHandle _fh)
 face - face circulator ccw
 
HalfedgeLoopIter hl_begin (HalfedgeHandle _heh)
 halfedge circulator
 
HalfedgeLoopCWIter hl_cwbegin (HalfedgeHandle _heh)
 halfedge circulator
 
HalfedgeLoopCCWIter hl_ccwbegin (HalfedgeHandle _heh)
 halfedge circulator ccw
 
ConstFaceVertexIter cfv_begin (FaceHandle _fh) const
 const face - vertex circulator
 
ConstFaceVertexCWIter cfv_cwbegin (FaceHandle _fh) const
 const face - vertex circulator cw
 
ConstFaceVertexCCWIter cfv_ccwbegin (FaceHandle _fh) const
 const face - vertex circulator ccw
 
ConstFaceHalfedgeIter cfh_begin (FaceHandle _fh) const
 const face - halfedge circulator
 
ConstFaceHalfedgeCWIter cfh_cwbegin (FaceHandle _fh) const
 const face - halfedge circulator cw
 
ConstFaceHalfedgeCCWIter cfh_ccwbegin (FaceHandle _fh) const
 const face - halfedge circulator ccw
 
ConstFaceEdgeIter cfe_begin (FaceHandle _fh) const
 const face - edge circulator
 
ConstFaceEdgeCWIter cfe_cwbegin (FaceHandle _fh) const
 const face - edge circulator cw
 
ConstFaceEdgeCCWIter cfe_ccwbegin (FaceHandle _fh) const
 const face - edge circulator ccw
 
ConstFaceFaceIter cff_begin (FaceHandle _fh) const
 const face - face circulator
 
ConstFaceFaceCWIter cff_cwbegin (FaceHandle _fh) const
 const face - face circulator cw
 
ConstFaceFaceCCWIter cff_ccwbegin (FaceHandle _fh) const
 const face - face circulator ccw
 
ConstHalfedgeLoopIter chl_begin (HalfedgeHandle _heh) const
 const halfedge circulator
 
ConstHalfedgeLoopCWIter chl_cwbegin (HalfedgeHandle _heh) const
 const halfedge circulator cw
 
ConstHalfedgeLoopCCWIter chl_ccwbegin (HalfedgeHandle _heh) const
 const halfedge circulator ccw
 
VertexVertexIter vv_end (VertexHandle _vh)
 vertex - vertex circulator
 
VertexVertexCWIter vv_cwend (VertexHandle _vh)
 vertex - vertex circulator cw
 
VertexVertexCCWIter vv_ccwend (VertexHandle _vh)
 vertex - vertex circulator ccw
 
VertexIHalfedgeIter vih_end (VertexHandle _vh)
 vertex - incoming halfedge circulator
 
VertexIHalfedgeCWIter vih_cwend (VertexHandle _vh)
 vertex - incoming halfedge circulator cw
 
VertexIHalfedgeCCWIter vih_ccwend (VertexHandle _vh)
 vertex - incoming halfedge circulator ccw
 
VertexOHalfedgeIter voh_end (VertexHandle _vh)
 vertex - outgoing halfedge circulator
 
VertexOHalfedgeCWIter voh_cwend (VertexHandle _vh)
 vertex - outgoing halfedge circulator cw
 
VertexOHalfedgeCCWIter voh_ccwend (VertexHandle _vh)
 vertex - outgoing halfedge circulator ccw
 
VertexEdgeIter ve_end (VertexHandle _vh)
 vertex - edge circulator
 
VertexEdgeCWIter ve_cwend (VertexHandle _vh)
 vertex - edge circulator cw
 
VertexEdgeCCWIter ve_ccwend (VertexHandle _vh)
 vertex - edge circulator ccw
 
VertexFaceIter vf_end (VertexHandle _vh)
 vertex - face circulator
 
VertexFaceCWIter vf_cwend (VertexHandle _vh)
 vertex - face circulator cw
 
VertexFaceCCWIter vf_ccwend (VertexHandle _vh)
 vertex - face circulator ccw
 
ConstVertexVertexIter cvv_end (VertexHandle _vh) const
 const vertex circulator
 
ConstVertexVertexCWIter cvv_cwend (VertexHandle _vh) const
 const vertex circulator cw
 
ConstVertexVertexCCWIter cvv_ccwend (VertexHandle _vh) const
 const vertex circulator ccw
 
ConstVertexIHalfedgeIter cvih_end (VertexHandle _vh) const
 const vertex - incoming halfedge circulator
 
ConstVertexIHalfedgeCWIter cvih_cwend (VertexHandle _vh) const
 const vertex - incoming halfedge circulator cw
 
ConstVertexIHalfedgeCCWIter cvih_ccwend (VertexHandle _vh) const
 const vertex - incoming halfedge circulator ccw
 
ConstVertexOHalfedgeIter cvoh_end (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator
 
ConstVertexOHalfedgeCWIter cvoh_cwend (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator cw
 
ConstVertexOHalfedgeCCWIter cvoh_ccwend (VertexHandle _vh) const
 const vertex - outgoing halfedge circulator ccw
 
ConstVertexEdgeIter cve_end (VertexHandle _vh) const
 const vertex - edge circulator
 
ConstVertexEdgeCWIter cve_cwend (VertexHandle _vh) const
 const vertex - edge circulator cw
 
ConstVertexEdgeCCWIter cve_ccwend (VertexHandle _vh) const
 const vertex - edge circulator ccw
 
ConstVertexFaceIter cvf_end (VertexHandle _vh) const
 const vertex - face circulator
 
ConstVertexFaceCWIter cvf_cwend (VertexHandle _vh) const
 const vertex - face circulator cw
 
ConstVertexFaceCCWIter cvf_ccwend (VertexHandle _vh) const
 const vertex - face circulator ccw
 
FaceVertexIter fv_end (FaceHandle _fh)
 face - vertex circulator
 
FaceVertexCWIter fv_cwend (FaceHandle _fh)
 face - vertex circulator cw
 
FaceVertexCCWIter fv_ccwend (FaceHandle _fh)
 face - vertex circulator ccw
 
FaceHalfedgeIter fh_end (FaceHandle _fh)
 face - halfedge circulator
 
FaceHalfedgeCWIter fh_cwend (FaceHandle _fh)
 face - halfedge circulator cw
 
FaceHalfedgeCCWIter fh_ccwend (FaceHandle _fh)
 face - halfedge circulator ccw
 
FaceEdgeIter fe_end (FaceHandle _fh)
 face - edge circulator
 
FaceEdgeCWIter fe_cwend (FaceHandle _fh)
 face - edge circulator cw
 
FaceEdgeCCWIter fe_ccwend (FaceHandle _fh)
 face - edge circulator ccw
 
FaceFaceIter ff_end (FaceHandle _fh)
 face - face circulator
 
FaceFaceCWIter ff_cwend (FaceHandle _fh)
 face - face circulator cw
 
FaceFaceCCWIter ff_ccwend (FaceHandle _fh)
 face - face circulator ccw
 
HalfedgeLoopIter hl_end (HalfedgeHandle _heh)
 face - face circulator
 
HalfedgeLoopCWIter hl_cwend (HalfedgeHandle _heh)
 face - face circulator cw
 
HalfedgeLoopCCWIter hl_ccwend (HalfedgeHandle _heh)
 face - face circulator ccw
 
ConstFaceVertexIter cfv_end (FaceHandle _fh) const
 const face - vertex circulator
 
ConstFaceVertexCWIter cfv_cwend (FaceHandle _fh) const
 const face - vertex circulator cw
 
ConstFaceVertexCCWIter cfv_ccwend (FaceHandle _fh) const
 const face - vertex circulator ccw
 
ConstFaceHalfedgeIter cfh_end (FaceHandle _fh) const
 const face - halfedge circulator
 
ConstFaceHalfedgeCWIter cfh_cwend (FaceHandle _fh) const
 const face - halfedge circulator cw
 
ConstFaceHalfedgeCCWIter cfh_ccwend (FaceHandle _fh) const
 const face - halfedge circulator ccw
 
ConstFaceEdgeIter cfe_end (FaceHandle _fh) const
 const face - edge circulator
 
ConstFaceEdgeCWIter cfe_cwend (FaceHandle _fh) const
 const face - edge circulator cw
 
ConstFaceEdgeCCWIter cfe_ccwend (FaceHandle _fh) const
 const face - edge circulator ccw
 
ConstFaceFaceIter cff_end (FaceHandle _fh) const
 const face - face circulator
 
ConstFaceFaceCWIter cff_cwend (FaceHandle _fh) const
 const face - face circulator
 
ConstFaceFaceCCWIter cff_ccwend (FaceHandle _fh) const
 const face - face circulator
 
ConstHalfedgeLoopIter chl_end (HalfedgeHandle _heh) const
 const face - face circulator
 
ConstHalfedgeLoopCWIter chl_cwend (HalfedgeHandle _heh) const
 const face - face circulator cw
 
ConstHalfedgeLoopCCWIter chl_ccwend (HalfedgeHandle _heh) const
 const face - face circulator ccw
 
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...
 
const Vertex & deref (VertexHandle _h) const
 Get item from handle.
 
Vertex & deref (VertexHandle _h)
 Get item from handle.
 
const Halfedge & deref (HalfedgeHandle _h) const
 Get item from handle.
 
Halfedge & deref (HalfedgeHandle _h)
 Get item from handle.
 
const Edge & deref (EdgeHandle _h) const
 Get item from handle.
 
Edge & deref (EdgeHandle _h)
 Get item from handle.
 
const Face & deref (FaceHandle _h) const
 Get item from handle.
 
Face & deref (FaceHandle _h)
 Get item from handle.
 
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
 
ConstVertexVertexRange vv_range (VertexHandle _vh) const
 
ConstVertexIHalfedgeRange vih_range (VertexHandle _vh) const
 
ConstVertexOHalfedgeRange voh_range (VertexHandle _vh) 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
 
- 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
 
bool is_valid_handle (HalfedgeHandle _heh) const
 checks handle validity - useful for debugging
 
bool is_valid_handle (EdgeHandle _eh) const
 checks handle validity - useful for debugging
 
bool is_valid_handle (FaceHandle _fh) const
 checks handle validity - useful for debugging
 
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.
 
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
 
size_t n_halfedges () const
 
size_t n_edges () const
 
size_t n_faces () const
 
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) ?
 
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) 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.
 
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
 
HalfedgeStatusPropertyHandle status_pph (HalfedgeHandle) const
 
EdgeStatusPropertyHandle status_pph (EdgeHandle) const
 
FaceStatusPropertyHandle status_pph (FaceHandle) const
 
void request_vertex_status ()
 Status Request API.
 
void request_halfedge_status ()
 
void request_edge_status ()
 
void request_face_status ()
 
void release_vertex_status ()
 Status Release API.
 
void release_halfedge_status ()
 
void release_edge_status ()
 
void release_face_status ()
 
- Public Member Functions inherited from OpenMesh::BaseKernel
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)
 
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
 
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
 

Static Public Member Functions

static bool is_triangles ()
 
- Static Public Member Functions inherited from OpenMesh::PolyConnectivity
static bool is_triangles ()
 
- Static Public Member Functions inherited from OpenMesh::ArrayKernel
static HalfedgeHandle s_halfedge_handle (EdgeHandle _eh, unsigned int _i)
 
static EdgeHandle s_edge_handle (HalfedgeHandle _heh)
 

Private Member Functions

HalfedgeHandle insert_loop (HalfedgeHandle _hh)
 Helper for vertex split.
 
HalfedgeHandle insert_edge (VertexHandle _vh, HalfedgeHandle _h0, HalfedgeHandle _h1)
 Helper for vertex split.
 

Additional Inherited Members

- Public Types inherited from OpenMesh::PolyConnectivity
typedef PolyConnectivity This
 
typedef Iterators::GenericIteratorT< This, This::VertexHandle, ArrayKernel, &ArrayKernel::has_vertex_status, &ArrayKernel::n_vertices > VertexIter
 Linear iterator.
 
typedef Iterators::GenericIteratorT< This, This::HalfedgeHandle, ArrayKernel, &ArrayKernel::has_halfedge_status, &ArrayKernel::n_halfedges > HalfedgeIter
 Linear iterator.
 
typedef Iterators::GenericIteratorT< This, This::EdgeHandle, ArrayKernel, &ArrayKernel::has_edge_status, &ArrayKernel::n_edges > EdgeIter
 Linear iterator.
 
typedef Iterators::GenericIteratorT< This, This::FaceHandle, ArrayKernel, &ArrayKernel::has_face_status, &ArrayKernel::n_faces > FaceIter
 Linear iterator.
 
typedef VertexIter ConstVertexIter
 Linear iterator.
 
typedef HalfedgeIter ConstHalfedgeIter
 Linear iterator.
 
typedef EdgeIter ConstEdgeIter
 Linear iterator.
 
typedef FaceIter ConstFaceIter
 Linear iterator.
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle > VertexVertexIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle > VertexVertexCWIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle, false > VertexVertexCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > VertexOHalfedgeIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > VertexOHalfedgeCWIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > VertexOHalfedgeCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle > VertexIHalfedgeIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle > VertexIHalfedgeCWIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle, false > VertexIHalfedgeCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toFaceHandle > VertexFaceIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toFaceHandle > VertexFaceCWIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toFaceHandle, false > VertexFaceCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > VertexEdgeIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > VertexEdgeCWIter
 
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle, false > VertexEdgeCCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > HalfedgeLoopIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > HalfedgeLoopCWIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > 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< This, This::FaceHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle > FaceVertexIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle > FaceVertexCCWIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle, false > FaceVertexCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > FaceHalfedgeIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > FaceHalfedgeCCWIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > FaceHalfedgeCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > FaceEdgeIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > FaceEdgeCCWIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle, false > FaceEdgeCWIter
 
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle > FaceFaceIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle > FaceFaceCCWIter
 
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle, 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 HalfedgeLoopIter ConstHalfedgeLoopIter
 
typedef HalfedgeLoopCWIter ConstHalfedgeLoopCWIter
 
typedef HalfedgeLoopCCWIter ConstHalfedgeLoopCCWIter
 
typedef VertexHandle VHandle
 Alias typedef.
 
typedef HalfedgeHandle HHandle
 Alias typedef.
 
typedef EdgeHandle EHandle
 Alias typedef.
 
typedef FaceHandle FHandle
 Alias typedef.
 
typedef VertexIter VIter
 Alias typedef.
 
typedef HalfedgeIter HIter
 Alias typedef.
 
typedef EdgeIter EIter
 Alias typedef.
 
typedef FaceIter FIter
 Alias typedef.
 
typedef ConstVertexIter CVIter
 Alias typedef.
 
typedef ConstHalfedgeIter CHIter
 Alias typedef.
 
typedef ConstEdgeIter CEIter
 Alias typedef.
 
typedef ConstFaceIter CFIter
 Alias typedef.
 
typedef VertexVertexIter VVIter
 Alias typedef.
 
typedef VertexVertexCWIter VVCWIter
 Alias typedef.
 
typedef VertexVertexCCWIter VVCCWIter
 Alias typedef.
 
typedef VertexOHalfedgeIter VOHIter
 Alias typedef.
 
typedef VertexOHalfedgeCWIter VOHCWIter
 Alias typedef.
 
typedef VertexOHalfedgeCCWIter VOHCCWIter
 Alias typedef.
 
typedef VertexIHalfedgeIter VIHIter
 Alias typedef.
 
typedef VertexIHalfedgeCWIter VIHICWter
 Alias typedef.
 
typedef VertexIHalfedgeCCWIter VIHICCWter
 Alias typedef.
 
typedef VertexEdgeIter VEIter
 Alias typedef.
 
typedef VertexEdgeCWIter VECWIter
 Alias typedef.
 
typedef VertexEdgeCCWIter VECCWIter
 Alias typedef.
 
typedef VertexFaceIter VFIter
 Alias typedef.
 
typedef VertexFaceCWIter VFCWIter
 Alias typedef.
 
typedef VertexFaceCCWIter VFCCWIter
 Alias typedef.
 
typedef FaceVertexIter FVIter
 Alias typedef.
 
typedef FaceVertexCWIter FVCWIter
 Alias typedef.
 
typedef FaceVertexCCWIter FVCCWIter
 Alias typedef.
 
typedef FaceHalfedgeIter FHIter
 Alias typedef.
 
typedef FaceHalfedgeCWIter FHCWIter
 Alias typedef.
 
typedef FaceHalfedgeCCWIter FHCWWIter
 Alias typedef.
 
typedef FaceEdgeIter FEIter
 Alias typedef.
 
typedef FaceEdgeCWIter FECWIter
 Alias typedef.
 
typedef FaceEdgeCCWIter FECWWIter
 Alias typedef.
 
typedef FaceFaceIter FFIter
 Alias typedef.
 
typedef ConstVertexVertexIter CVVIter
 Alias typedef.
 
typedef ConstVertexVertexCWIter CVVCWIter
 Alias typedef.
 
typedef ConstVertexVertexCCWIter CVVCCWIter
 Alias typedef.
 
typedef ConstVertexOHalfedgeIter CVOHIter
 Alias typedef.
 
typedef ConstVertexOHalfedgeCWIter CVOHCWIter
 Alias typedef.
 
typedef ConstVertexOHalfedgeCCWIter CVOHCCWIter
 Alias typedef.
 
typedef ConstVertexIHalfedgeIter CVIHIter
 Alias typedef.
 
typedef ConstVertexIHalfedgeCWIter CVIHCWIter
 Alias typedef.
 
typedef ConstVertexIHalfedgeCCWIter CVIHCCWIter
 Alias typedef.
 
typedef ConstVertexEdgeIter CVEIter
 Alias typedef.
 
typedef ConstVertexEdgeCWIter CVECWIter
 Alias typedef.
 
typedef ConstVertexEdgeCCWIter CVECCWIter
 Alias typedef.
 
typedef ConstVertexFaceIter CVFIter
 Alias typedef.
 
typedef ConstVertexFaceCWIter CVFCWIter
 Alias typedef.
 
typedef ConstVertexFaceCCWIter CVFCCWIter
 Alias typedef.
 
typedef ConstFaceVertexIter CFVIter
 Alias typedef.
 
typedef ConstFaceVertexCWIter CFVCWIter
 Alias typedef.
 
typedef ConstFaceVertexCCWIter CFVCCWIter
 Alias typedef.
 
typedef ConstFaceHalfedgeIter CFHIter
 Alias typedef.
 
typedef ConstFaceHalfedgeCWIter CFHCWIter
 Alias typedef.
 
typedef ConstFaceHalfedgeCCWIter CFHCCWIter
 Alias typedef.
 
typedef ConstFaceEdgeIter CFEIter
 Alias typedef.
 
typedef ConstFaceEdgeCWIter CFECWIter
 Alias typedef.
 
typedef ConstFaceEdgeCCWIter CFECCWIter
 Alias typedef.
 
typedef ConstFaceFaceIter CFFIter
 Alias typedef.
 
typedef ConstFaceFaceCWIter CFFCWIter
 Alias typedef.
 
typedef ConstFaceFaceCCWIter CFFCCWIter
 Alias typedef.
 
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_begin, &PolyConnectivity::vertices_endConstVertexRange
 
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_sbegin, &PolyConnectivity::vertices_endConstVertexRangeSkipping
 
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_begin, &PolyConnectivity::halfedges_endConstHalfedgeRange
 
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_sbegin, &PolyConnectivity::halfedges_endConstHalfedgeRangeSkipping
 
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_begin, &PolyConnectivity::edges_endConstEdgeRange
 
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_sbegin, &PolyConnectivity::edges_endConstEdgeRangeSkipping
 
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_begin, &PolyConnectivity::faces_endConstFaceRange
 
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_sbegin, &PolyConnectivity::faces_endConstFaceRangeSkipping
 
typedef CirculatorRange< PolyConnectivity, ConstVertexVertexCWIter, VertexHandle, &PolyConnectivity::cvv_cwbegin, &PolyConnectivity::cvv_cwendConstVertexVertexRange
 
typedef CirculatorRange< PolyConnectivity, ConstVertexIHalfedgeIter, VertexHandle, &PolyConnectivity::cvih_begin, &PolyConnectivity::cvih_endConstVertexIHalfedgeRange
 
typedef CirculatorRange< PolyConnectivity, ConstVertexOHalfedgeIter, VertexHandle, &PolyConnectivity::cvoh_begin, &PolyConnectivity::cvoh_endConstVertexOHalfedgeRange
 
typedef CirculatorRange< PolyConnectivity, ConstVertexEdgeIter, VertexHandle, &PolyConnectivity::cve_begin, &PolyConnectivity::cve_endConstVertexEdgeRange
 
typedef CirculatorRange< PolyConnectivity, ConstVertexFaceIter, VertexHandle, &PolyConnectivity::cvf_begin, &PolyConnectivity::cvf_endConstVertexFaceRange
 
typedef CirculatorRange< PolyConnectivity, ConstFaceVertexIter, FaceHandle, &PolyConnectivity::cfv_begin, &PolyConnectivity::cfv_endConstFaceVertexRange
 
typedef CirculatorRange< PolyConnectivity, ConstFaceHalfedgeIter, FaceHandle, &PolyConnectivity::cfh_begin, &PolyConnectivity::cfh_endConstFaceHalfedgeRange
 
typedef CirculatorRange< PolyConnectivity, ConstFaceEdgeIter, FaceHandle, &PolyConnectivity::cfe_begin, &PolyConnectivity::cfe_endConstFaceEdgeRange
 
typedef CirculatorRange< PolyConnectivity, ConstFaceFaceIter, FaceHandle, &PolyConnectivity::cff_begin, &PolyConnectivity::cff_endConstFaceFaceRange
 
- 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
 
- Static Public Attributes inherited from OpenMesh::PolyConnectivity
static const VertexHandle InvalidVertexHandle
 Invalid handle.
 
static const HalfedgeHandle InvalidHalfedgeHandle
 Invalid handle.
 
static const EdgeHandle InvalidEdgeHandle
 Invalid handle.
 
static const FaceHandle InvalidFaceHandle
 Invalid handle.
 
- Protected Member Functions inherited from OpenMesh::PolyConnectivity
void collapse_edge (HalfedgeHandle _hh)
 Helper for halfedge collapse.
 
void collapse_loop (HalfedgeHandle _hh)
 Helper for halfedge collapse.
 
- 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.
 
void vprops_resize (size_t _n) const
 Resizes all vertex property vectors to the specified size.
 
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 Triangle Meshes.

Definition at line 53 of file TriConnectivity.hh.

Member Function Documentation

◆ add_face() [1/3]

TriConnectivity::FaceHandle OpenMesh::TriConnectivity::add_face ( const VertexHandle _vhandles,
size_t  _vhs_size 
)

Add a face with arbitrary valence to the triangle mesh.

Override OpenMesh::Mesh::PolyMeshT::add_face(). Faces that aren't triangles will be triangulated and added. In this case an invalid face handle will be returned.

face is triangle -> ok

face is not a triangle -> triangulate

Definition at line 53 of file TriConnectivity.cc.

◆ add_face() [2/3]

FaceHandle OpenMesh::TriConnectivity::add_face ( const std::vector< VertexHandle > &  _vhandles)

Add a face with arbitrary valence to the triangle mesh.

Override OpenMesh::Mesh::PolyMeshT::add_face(). Faces that aren't triangles will be triangulated and added. In this case an invalid face handle will be returned.

Definition at line 87 of file TriConnectivity.cc.

◆ add_face() [3/3]

FaceHandle OpenMesh::TriConnectivity::add_face ( VertexHandle  _vh0,
VertexHandle  _vh1,
VertexHandle  _vh2 
)

Add a face to the mesh (triangle)

This function adds a triangle to the mesh. The triangle is passed directly to the underlying PolyConnectivity as we don't explicitly need to triangulate something.

Parameters
_vh0VertexHandle 1
_vh1VertexHandle 2
_vh2VertexHandle 3
Returns
FaceHandle of the added face (invalid, if the operation failed)

Definition at line 95 of file TriConnectivity.cc.

◆ assign_connectivity()

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

assign_connectivity() methods. See ArrayKernel::assign_connectivity() for more details. When the source connectivity is not triangles, in addition "fan" connectivity triangulation is performed

Definition at line 66 of file TriConnectivity.hh.

◆ flip()

void OpenMesh::TriConnectivity::flip ( EdgeHandle  _eh)

Flip edge _eh. Check for topological correctness first using is_flip_ok().

Definition at line 335 of file TriConnectivity.cc.

◆ is_collapse_ok()

bool OpenMesh::TriConnectivity::is_collapse_ok ( HalfedgeHandle  _heh)

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 103 of file TriConnectivity.cc.

◆ opposite_he_opposite_vh()

OpenMesh::TriConnectivity::opposite_he_opposite_vh ( HalfedgeHandle  _heh) const
inline

Returns the opposite vertex to the opposite halfedge of _heh in the face referenced by it returns InvalidVertexHandle if the opposite halfedge is boundary

Definition at line 126 of file TriConnectivity.hh.

◆ opposite_vh()

OpenMesh::TriConnectivity::opposite_vh ( HalfedgeHandle  _heh) const
inline

Returns the opposite vertex to the halfedge _heh in the face referenced by _heh returns InvalidVertexHandle if the _heh is boundary

Definition at line 117 of file TriConnectivity.hh.

◆ split() [1/2]

void OpenMesh::TriConnectivity::split ( EdgeHandle  _eh,
VertexHandle  _vh 
)

Edge split (= 2-to-4 split)

The function will introduce two new faces ( non-boundary case) or one additional face (if edge is boundary)

Note
The properties of the new edges, halfedges, and faces will be undefined!
Parameters
_ehEdge handle that should be split
_vhVertex handle that will be inserted at the edge

Definition at line 387 of file TriConnectivity.cc.

◆ split() [2/2]

void OpenMesh::TriConnectivity::split ( FaceHandle  _fh,
VertexHandle  _vh 
)
inline

Face split (= 1-to-3) split, calls corresponding PolyMeshT function).

Parameters
_fhFace handle that should be split
_vhVertex handle that will be inserted at the face

Definition at line 219 of file TriConnectivity.hh.

◆ split_copy() [1/2]

void OpenMesh::TriConnectivity::split_copy ( EdgeHandle  _eh,
VertexHandle  _vh 
)

Edge split (= 2-to-4 split)

The function will introduce two new faces ( non-boundary case) or one additional face (if edge is boundary)

Note
The properties of the new edges and faces will be adjusted to the properties of the original edge and face
The properties of the new halfedges will be undefined
Parameters
_ehEdge handle that should be split
_vhVertex handle that will be inserted at the edge

Definition at line 484 of file TriConnectivity.cc.

◆ split_copy() [2/2]

void OpenMesh::TriConnectivity::split_copy ( FaceHandle  _fh,
VertexHandle  _vh 
)
inline

Face split (= 1-to-3) split, calls corresponding PolyMeshT function).

Parameters
_fhFace handle that should be split
_vhVertex handle that will be inserted at the face

Definition at line 227 of file TriConnectivity.hh.

◆ split_edge()

void OpenMesh::TriConnectivity::split_edge ( EdgeHandle  _eh,
VertexHandle  _vh 
)
inline

Edge split (= 2-to-4 split)

The function will introduce two new faces ( non-boundary case) or one additional face (if edge is boundary)

Note
The properties of the new edges, halfedges, and faces will be undefined!
This is an override to prevent a direct call to PolyConnectivity split_edge, which would introduce a singular vertex with valence 2 which is not allowed on TriMeshes
Parameters
_ehEdge handle that should be split
_vhVertex handle that will be inserted at the edge

Definition at line 180 of file TriConnectivity.hh.

◆ split_edge_copy()

void OpenMesh::TriConnectivity::split_edge_copy ( EdgeHandle  _eh,
VertexHandle  _vh 
)
inline

Edge split (= 2-to-4 split)

The function will introduce two new faces ( non-boundary case) or one additional face (if edge is boundary)

Note
The properties of the new edges and faces will be adjusted to the properties of the original edge and face
The properties of the new halfedges will be undefined
This is an override to prevent a direct call to PolyConnectivity split_edge_copy, which would introduce a singular vertex with valence 2 which is not allowed on TriMeshes
Parameters
_ehEdge handle that should be split
_vhVertex handle that will be inserted at the edge

Definition at line 212 of file TriConnectivity.hh.


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