OpenMesh::TriConnectivity Class Reference

Connectivity Class for Triangle Meshes. More...

`#include <OpenMesh/Core/Mesh/TriConnectivity.hh>`

Inheritance diagram for OpenMesh::TriConnectivity:
[legend]
Collaboration diagram for OpenMesh::TriConnectivity:
[legend]

## Public Member Functions

void | assign_connectivity (const TriConnectivity &_other)
| assign_connectivity() methods. More...
void | assign_connectivity (const PolyConnectivity &_other)
VertexHandle | opposite_vh (HalfedgeHandle _heh) const
| Returns the opposite vertex to the halfedge _heh in the face referenced by _heh returns InvalidVertexHandle if the _heh is boundary.
VertexHandle | opposite_he_opposite_vh (HalfedgeHandle _heh) const
| Returns the opposite vertex to the opposite halfedge of _heh in the face referenced by it returns InvalidVertexHandle if the opposite halfedge is boundary.
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)
| Returns whether collapsing halfedge _heh is ok or would lead to topological inconsistencies. More...
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)
| Flip edge _eh. More...
void | split (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 (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)
| assign_connectivity() method. More...
FaceHandle | opposite_face_handle (HalfedgeHandle _heh) const
| returns the face handle of the opposite halfedge
void | adjust_outgoing_halfedge (VertexHandle _vh)
| Adjust outgoing halfedge handle for vertices, so that it is a boundary halfedge whenever possible.
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)
| Halfedge collapse: collapse the from-vertex of halfedge _heh into its to-vertex. More...
bool | is_simple_link (EdgeHandle _eh) const
| return true if the this the only link between the faces adjacent to _eh. More...
bool | is_simply_connected (FaceHandle _fh) const
| return true if _fh shares only one edge with all of its adjacent faces. More...
FaceHandle | remove_edge (EdgeHandle _eh)
| Removes the edge _eh. More...
void | reinsert_edge (EdgeHandle _eh)
| Inverse of remove_edge. More...
HalfedgeHandle | insert_edge (HalfedgeHandle _prev_heh, HalfedgeHandle _next_heh)
| Inserts an edge between to_vh(_prev_heh) and from_vh(_next_heh). More...
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)
| Edge split (inserts a vertex on the edge only) More...
void | split_edge_copy (EdgeHandle _eh, VertexHandle _vh)
| Edge split (inserts a vertex on the edge only) More...
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)
| Returns whether collapsing halfedge _heh is ok or would lead to topological inconsistencies. More...
void | delete_vertex (VertexHandle _vh, bool _delete_isolated_vertices=true)
| Mark vertex and all incident edges and faces deleted. More...
void | delete_edge (EdgeHandle _eh, bool _delete_isolated_vertices=true)
| Mark edge (two opposite halfedges) and incident faces deleted. More...
void | delete_face (FaceHandle _fh, bool _delete_isolated_vertices=true)
| Delete face _fh and resulting degenerated empty halfedges as well. More...
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)
| ArrayKernel uses the default copy constructor and assignment operator, which means that the connectivity and all properties are copied, including reference counters, allocated bit status masks, etc. More...
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 ()
| Same as new_vertex() but uses PropertyContainer::resize_if_smaller() to resize the vertex property container. More...
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 StatusInfo & | status (VertexHandle _vh) const
| Status Query API.
StatusInfo & | status (VertexHandle _vh)
void | reset_status ()
| Reinitializes the status of all vertices using the StatusInfo default constructor, i.e. More...
const StatusInfo & | status (HalfedgeHandle _hh) const
StatusInfo & | status (HalfedgeHandle _hh)
const StatusInfo & | status (EdgeHandle _eh) const
StatusInfo & | status (EdgeHandle _eh)
const StatusInfo & | status (FaceHandle _fh) const
StatusInfo & | status (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)
| You should not use this function directly. More...
template<class T >
void | copy_property (HPropHandleT< T > _ph, HalfedgeHandle _hh_from, HalfedgeHandle _hh_to)
| You should not use this function directly. More...
template<class T >
void | copy_property (EPropHandleT< T > _ph, EdgeHandle _eh_from, EdgeHandle _eh_to)
| You should not use this function directly. More...
template<class T >
void | copy_property (FPropHandleT< T > _ph, FaceHandle _fh_from, FaceHandle _fh_to)
| You should not use this function directly. More...
void | copy_all_properties (VertexHandle _vh_from, VertexHandle _vh_to, bool _copyBuildIn=false)
| Copies all properties from one mesh element to another (of the same type) More...
void | copy_all_properties (HalfedgeHandle _hh_from, HalfedgeHandle _hh_to, bool _copyBuildIn=false)
| Copies all properties from one mesh element to another (of the same type) More...
void | copy_all_properties (EdgeHandle _eh_from, EdgeHandle _eh_to, bool _copyBuildIn=false)
| Copies all properties from one mesh element to another (of the same type) More...
void | copy_all_properties (FaceHandle _fh_from, FaceHandle _fh_to, bool _copyBuildIn=false)
| Copies all properties from one mesh element to another (of the same type) More...
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>")
| You should not use this function directly. More...
template<class T >
void | add_property (HPropHandleT< T > &_ph, const std::string &_name="<hprop>")
| You should not use this function directly. More...
template<class T >
void | add_property (EPropHandleT< T > &_ph, const std::string &_name="<eprop>")
| You should not use this function directly. More...
template<class T >
void | add_property (FPropHandleT< T > &_ph, const std::string &_name="<fprop>")
| You should not use this function directly. More...
template<class T >
void | add_property (MPropHandleT< T > &_ph, const std::string &_name="<mprop>")
| You should not use this function directly. More...
template<typename T >
void | remove_property (VPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<typename T >
void | remove_property (HPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<typename T >
void | remove_property (EPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<typename T >
void | remove_property (FPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<typename T >
void | remove_property (MPropHandleT< T > &_ph)
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (VPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (HPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (EPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (FPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
bool | get_property_handle (MPropHandleT< T > &_ph, const std::string &_name) const
| You should not use this function directly. More...
template<class T >
PropertyT< T > & | property (VPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | property (VPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
PropertyT< T > & | property (HPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | property (HPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
PropertyT< T > & | property (EPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | property (EPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
PropertyT< T > & | property (FPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | property (FPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
PropertyT< T > & | mproperty (MPropHandleT< T > _ph)
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
const PropertyT< T > & | mproperty (MPropHandleT< T > _ph) const
| In most cases you should use the convenient PropertyManager wrapper and use of this function should not be necessary. More...
template<class T >
VPropHandleT< T >::reference | property (VPropHandleT< T > _ph, VertexHandle _vh)
| You should not use this function directly. More...
template<class T >
VPropHandleT< T >::const_reference | property (VPropHandleT< T > _ph, VertexHandle _vh) const
| You should not use this function directly. More...
template<class T >
HPropHandleT< T >::reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh)
| You should not use this function directly. More...
template<class T >
HPropHandleT< T >::const_reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) const
| You should not use this function directly. More...
template<class T >
EPropHandleT< T >::reference | property (EPropHandleT< T > _ph, EdgeHandle _eh)
| You should not use this function directly. More...
template<class T >
EPropHandleT< T >::const_reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) const
| You should not use this function directly. More...
template<class T >
FPropHandleT< T >::reference | property (FPropHandleT< T > _ph, FaceHandle _fh)
| You should not use this function directly. More...
template<class T >
FPropHandleT< T >::const_reference | property (FPropHandleT< T > _ph, FaceHandle _fh) const
| You should not use this function directly. More...
template<class T >
MPropHandleT< T >::reference | property (MPropHandleT< T > _ph)
| You should not use this function directly. More...
template<class T >
MPropHandleT< T >::const_reference | property (MPropHandleT< T > _ph) const
| You should not use this function directly. More...

## 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)

## 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
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle > | VertexVertexCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle, false > | VertexVertexCCWIter
| Enumerates 1-ring vertices in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > | VertexOHalfedgeIter
| Enumerates outgoing half edges in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > | VertexOHalfedgeCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > | VertexOHalfedgeCCWIter
| Enumerates outgoing half edges in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle > | VertexIHalfedgeIter
| Enumerates incoming half edges in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle > | VertexIHalfedgeCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeHalfedgeHandle, false > | VertexIHalfedgeCCWIter
| Enumerates incoming half edges in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toFaceHandle > | VertexFaceIter
| Enumerates incident faces in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toFaceHandle > | VertexFaceCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toFaceHandle, false > | VertexFaceCCWIter
| Enumerates incident faces in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::VertexHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > | VertexEdgeIter
| Enumerates incident edges in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > | VertexEdgeCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::VertexHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle, false > | VertexEdgeCCWIter
| Enumerates incident edges in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > | HalfedgeLoopIter
| Identical to FaceHalfedgeIter. More...
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > | HalfedgeLoopCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > | HalfedgeLoopCCWIter
| Identical to FaceHalfedgeIter. More...
typedef VertexVertexIter | ConstVertexVertexIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexVertexCWIter | ConstVertexVertexCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexVertexCCWIter | ConstVertexVertexCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexOHalfedgeIter | ConstVertexOHalfedgeIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexOHalfedgeCWIter | ConstVertexOHalfedgeCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexOHalfedgeCCWIter | ConstVertexOHalfedgeCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexIHalfedgeIter | ConstVertexIHalfedgeIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexIHalfedgeCWIter | ConstVertexIHalfedgeCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexIHalfedgeCCWIter | ConstVertexIHalfedgeCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexFaceIter | ConstVertexFaceIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexFaceCWIter | ConstVertexFaceCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexFaceCCWIter | ConstVertexFaceCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexEdgeIter | ConstVertexEdgeIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexEdgeCWIter | ConstVertexEdgeCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef VertexEdgeCCWIter | ConstVertexEdgeCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle > | FaceVertexIter
| Enumerate incident vertices in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle > | FaceVertexCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::VertexHandle, &Iterators::GenericCirculatorBaseT< This >::toVertexHandle, false > | FaceVertexCWIter
| Enumerate incident vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > | FaceHalfedgeIter
| Enumerate incident half edges in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle > | FaceHalfedgeCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT< This >::toHalfedgeHandle, false > | FaceHalfedgeCWIter
| Enumerate incident half edges in a clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > | FaceEdgeIter
| Enumerate incident edges in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle > | FaceEdgeCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::EdgeHandle, &Iterators::GenericCirculatorBaseT< This >::toEdgeHandle, false > | FaceEdgeCWIter
| Enumerate incident edges in a clockwise fashion.
typedef Iterators::GenericCirculatorT_DEPRECATED< This, This::FaceHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle > | FaceFaceIter
| Enumerate adjacent faces in a counter clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle > | FaceFaceCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef Iterators::GenericCirculatorT< This, This::FaceHandle, This::FaceHandle, &Iterators::GenericCirculatorBaseT< This >::toOppositeFaceHandle, false > | FaceFaceCWIter
| Enumerate adjacent faces in a clockwise fashion.
typedef FaceVertexIter | ConstFaceVertexIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceVertexCWIter | ConstFaceVertexCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceVertexCCWIter | ConstFaceVertexCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceHalfedgeIter | ConstFaceHalfedgeIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceHalfedgeCWIter | ConstFaceHalfedgeCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceHalfedgeCCWIter | ConstFaceHalfedgeCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceEdgeIter | ConstFaceEdgeIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceEdgeCWIter | ConstFaceEdgeCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceEdgeCCWIter | ConstFaceEdgeCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceFaceIter | ConstFaceFaceIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceFaceCWIter | ConstFaceFaceCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef FaceFaceCCWIter | ConstFaceFaceCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef HalfedgeLoopIter | ConstHalfedgeLoopIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef HalfedgeLoopCWIter | ConstHalfedgeLoopCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
typedef HalfedgeLoopCCWIter | ConstHalfedgeLoopCCWIter
| Enumerates 1-ring vertices in a clockwise fashion.
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_end > | ConstVertexRange
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_sbegin, &PolyConnectivity::vertices_end > | ConstVertexRangeSkipping
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_begin, &PolyConnectivity::halfedges_end > | ConstHalfedgeRange
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_sbegin, &PolyConnectivity::halfedges_end > | ConstHalfedgeRangeSkipping
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_begin, &PolyConnectivity::edges_end > | ConstEdgeRange
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_sbegin, &PolyConnectivity::edges_end > | ConstEdgeRangeSkipping
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_begin, &PolyConnectivity::faces_end > | ConstFaceRange
typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_sbegin, &PolyConnectivity::faces_end > | ConstFaceRangeSkipping
typedef CirculatorRange< PolyConnectivity, ConstVertexVertexCWIter, VertexHandle, &PolyConnectivity::cvv_cwbegin, &PolyConnectivity::cvv_cwend > | ConstVertexVertexRange
typedef CirculatorRange< PolyConnectivity, ConstVertexIHalfedgeIter, VertexHandle, &PolyConnectivity::cvih_begin, &PolyConnectivity::cvih_end > | ConstVertexIHalfedgeRange
typedef CirculatorRange< PolyConnectivity, ConstVertexOHalfedgeIter, VertexHandle, &PolyConnectivity::cvoh_begin, &PolyConnectivity::cvoh_end > | ConstVertexOHalfedgeRange
typedef CirculatorRange< PolyConnectivity, ConstVertexEdgeIter, VertexHandle, &PolyConnectivity::cve_begin, &PolyConnectivity::cve_end > | ConstVertexEdgeRange
typedef CirculatorRange< PolyConnectivity, ConstVertexFaceIter, VertexHandle, &PolyConnectivity::cvf_begin, &PolyConnectivity::cvf_end > | ConstVertexFaceRange
typedef CirculatorRange< PolyConnectivity, ConstFaceVertexIter, FaceHandle, &PolyConnectivity::cfv_begin, &PolyConnectivity::cfv_end > | ConstFaceVertexRange
typedef CirculatorRange< PolyConnectivity, ConstFaceHalfedgeIter, FaceHandle, &PolyConnectivity::cfh_begin, &PolyConnectivity::cfh_end > | ConstFaceHalfedgeRange
typedef CirculatorRange< PolyConnectivity, ConstFaceEdgeIter, FaceHandle, &PolyConnectivity::cfe_begin, &PolyConnectivity::cfe_end > | ConstFaceEdgeRange
typedef CirculatorRange< PolyConnectivity, ConstFaceFaceIter, FaceHandle, &PolyConnectivity::cff_begin, &PolyConnectivity::cff_end > | ConstFaceFaceRange
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< StatusInfo > | VertexStatusPropertyHandle
typedef HPropHandleT< StatusInfo > | HalfedgeStatusPropertyHandle
typedef EPropHandleT< StatusInfo > | EdgeStatusPropertyHandle
typedef FPropHandleT< StatusInfo > | FaceStatusPropertyHandle
typedef AutoStatusSetT< VertexHandle > | VertexStatusSet
typedef AutoStatusSetT< EdgeHandle > | EdgeStatusSet
typedef AutoStatusSetT< FaceHandle > | FaceStatusSet
typedef AutoStatusSetT< HalfedgeHandle > | HalfedgeStatusSet
typedef ExtStatusSetT< FaceHandle > | ExtFaceStatusSet
typedef ExtStatusSetT< VertexHandle > | ExtVertexStatusSet
typedef ExtStatusSetT< EdgeHandle > | ExtEdgeStatusSet
typedef ExtStatusSetT< HalfedgeHandle > | ExtHalfedgeStatusSet
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
| Same as vprops_resize() but ignores vertex property vectors that have a size larger than `_n`. More...
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.

## 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

## 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.

## 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

  _vh0 | VertexHandle 1
  _vh1 | VertexHandle 2
  _vh2 | VertexHandle 3

Returns
  FaceHandle of the added face (invalid, if the operation failed)

## 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

## flip()

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

Flip edge _eh.

Check for topological correctness first using is_flip_ok().

## 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.

## 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

  _eh | Edge handle that should be splitted
  _vh | Vertex handle that will be inserted at the edge

## split() [2/2]

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

inline

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

Parameters

  _fh | Face handle that should be splitted
  _vh | Vertex handle that will be inserted at the face

## 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 will be adjusted to the properties of the original edge
  The properties of the new faces and halfedges will be undefined

Parameters

  _eh | Edge handle that should be splitted
  _vh | Vertex handle that will be inserted at the edge

## 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

  _fh | Face handle that should be splitted
  _vh | Vertex handle that will be inserted at the face

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

- OpenMesh/Core/Mesh/TriConnectivity.hh
- OpenMesh/Core/Mesh/TriConnectivity.cc