![]() |
OpenMesh
|
Connectivity Class for polygonal meshes. More...
#include <OpenMesh/Core/Mesh/PolyConnectivity.hh>


Classes | |
| class | CirculatorRange |
| Generic class for iterator ranges. More... | |
| class | EntityRange |
| Generic class for vertex/halfedge/edge/face ranges. More... | |
Public Types | |
| typedef PolyConnectivity | This |
Mesh Iterators | |
Refer to OpenMesh::Mesh::Iterators or Mesh Iterators and Circulators for documentation. | |
|
typedef Iterators::GenericIteratorT < This, This::VertexHandle, ArrayKernel,&This::has_vertex_status,&This::n_vertices > | VertexIter |
| Linear iterator. | |
|
typedef Iterators::GenericIteratorT < This, This::HalfedgeHandle, ArrayKernel,&This::has_halfedge_status,&This::n_halfedges > | HalfedgeIter |
| Linear iterator. | |
|
typedef Iterators::GenericIteratorT < This, This::EdgeHandle, ArrayKernel,&This::has_edge_status,&This::n_edges > | EdgeIter |
| Linear iterator. | |
|
typedef Iterators::GenericIteratorT < This, This::FaceHandle, ArrayKernel,&This::has_face_status,&This::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. | |
Mesh Circulators | |
Refer to OpenMesh::Mesh::Iterators or Mesh Iterators and Circulators for documentation. | |
|
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 > | HalfedgeLoopCWIter |
| Enumerates 1-ring vertices in a clockwise fashion. | |
| typedef Iterators::GenericCirculatorT < This, This::FaceHandle, This::HalfedgeHandle,&Iterators::GenericCirculatorBaseT < This >::toHalfedgeHandle, false > | 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 Shortcuts | |
Provided for convenience only | |
| 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. | |
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 |
Public Member Functions | |
| 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... | |
Adding items to a mesh | |
| 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... | |
Deleting mesh items and other connectivity/topology modifications | |
| 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... | |
Begin and end iterators | |
| 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. | |
Begin for skipping iterators | |
| 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. | |
Vertex and Face circulators | |
| 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 | |
Boundary and manifold tests | |
| bool | is_boundary (HalfedgeHandle _heh) const |
| Check if the halfedge is at the boundary. More... | |
| bool | is_boundary (EdgeHandle _eh) const |
| Is the edge a boundary edge? More... | |
| bool | is_boundary (VertexHandle _vh) const |
| Is vertex _vh a boundary vertex ? More... | |
| bool | is_boundary (FaceHandle _fh, bool _check_vertex=false) const |
| Check if face is at the boundary. More... | |
| bool | is_manifold (VertexHandle _vh) const |
| Is (the mesh at) vertex _vh two-manifold ? More... | |
Generic handle derefertiation. | |
Calls the respective vertex(), halfedge(), edge(), face() method of the mesh kernel. | |
| 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. | |
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) |
| Copies a single property from one mesh element to another (of the same type) More... | |
| template<class T > | |
| void | copy_property (HPropHandleT< T > _ph, HalfedgeHandle _hh_from, HalfedgeHandle _hh_to) |
| Copies a single property from one mesh element to another (of the same type) More... | |
| template<class T > | |
| void | copy_property (EPropHandleT< T > _ph, EdgeHandle _eh_from, EdgeHandle _eh_to) |
| Copies a single property from one mesh element to another (of the same type) More... | |
| template<class T > | |
| void | copy_property (FPropHandleT< T > _ph, FaceHandle _fh_from, FaceHandle _fh_to) |
| Copies a single property from one mesh element to another (of the same type) 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... | |
| 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>") |
| Adds a property. More... | |
| template<class T > | |
| void | add_property (HPropHandleT< T > &_ph, const std::string &_name="<hprop>") |
| Adds a property. More... | |
| template<class T > | |
| void | add_property (EPropHandleT< T > &_ph, const std::string &_name="<eprop>") |
| Adds a property. More... | |
| template<class T > | |
| void | add_property (FPropHandleT< T > &_ph, const std::string &_name="<fprop>") |
| Adds a property. More... | |
| template<class T > | |
| void | add_property (MPropHandleT< T > &_ph, const std::string &_name="<mprop>") |
| Adds a property. More... | |
| template<typename T > | |
| void | remove_property (VPropHandleT< T > &_ph) |
| Remove a property. More... | |
| template<typename T > | |
| void | remove_property (HPropHandleT< T > &_ph) |
| Remove a property. More... | |
| template<typename T > | |
| void | remove_property (EPropHandleT< T > &_ph) |
| Remove a property. More... | |
| template<typename T > | |
| void | remove_property (FPropHandleT< T > &_ph) |
| Remove a property. More... | |
| template<typename T > | |
| void | remove_property (MPropHandleT< T > &_ph) |
| Remove a property. More... | |
| template<class T > | |
| bool | get_property_handle (VPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name. More... | |
| template<class T > | |
| bool | get_property_handle (HPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name. More... | |
| template<class T > | |
| bool | get_property_handle (EPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name. More... | |
| template<class T > | |
| bool | get_property_handle (FPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name. More... | |
| template<class T > | |
| bool | get_property_handle (MPropHandleT< T > &_ph, const std::string &_name) const |
| Retrieves the handle to a named property by it's name. More... | |
| template<class T > | |
| PropertyT< T > & | property (VPropHandleT< T > _ph) |
| Access a property. More... | |
| template<class T > | |
| const PropertyT< T > & | property (VPropHandleT< T > _ph) const |
| Access a property. More... | |
| template<class T > | |
| PropertyT< T > & | property (HPropHandleT< T > _ph) |
| Access a property. More... | |
| template<class T > | |
| const PropertyT< T > & | property (HPropHandleT< T > _ph) const |
| Access a property. More... | |
| template<class T > | |
| PropertyT< T > & | property (EPropHandleT< T > _ph) |
| Access a property. More... | |
| template<class T > | |
| const PropertyT< T > & | property (EPropHandleT< T > _ph) const |
| Access a property. More... | |
| template<class T > | |
| PropertyT< T > & | property (FPropHandleT< T > _ph) |
| Access a property. More... | |
| template<class T > | |
| const PropertyT< T > & | property (FPropHandleT< T > _ph) const |
| Access a property. More... | |
| template<class T > | |
| PropertyT< T > & | mproperty (MPropHandleT< T > _ph) |
| Access a property. More... | |
| template<class T > | |
| const PropertyT< T > & | mproperty (MPropHandleT< T > _ph) const |
| Access a property. More... | |
| template<class T > | |
| VPropHandleT< T >::reference | property (VPropHandleT< T > _ph, VertexHandle _vh) |
| Return value of property for an item. | |
| template<class T > | |
| VPropHandleT< T >::const_reference | property (VPropHandleT< T > _ph, VertexHandle _vh) const |
| Return value of property for an item. | |
| template<class T > | |
| HPropHandleT< T >::reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) |
| Return value of property for an item. | |
| template<class T > | |
| HPropHandleT< T >::const_reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) const |
| Return value of property for an item. | |
| template<class T > | |
| EPropHandleT< T >::reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) |
| Return value of property for an item. | |
| template<class T > | |
| EPropHandleT< T >::const_reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) const |
| Return value of property for an item. | |
| template<class T > | |
| FPropHandleT< T >::reference | property (FPropHandleT< T > _ph, FaceHandle _fh) |
| Return value of property for an item. | |
| template<class T > | |
| FPropHandleT< T >::const_reference | property (FPropHandleT< T > _ph, FaceHandle _fh) const |
| Return value of property for an item. | |
| template<class T > | |
| MPropHandleT< T >::reference | property (MPropHandleT< T > _ph) |
| Return value of property for an item. | |
| template<class T > | |
| MPropHandleT< T >::const_reference | property (MPropHandleT< T > _ph) const |
| Return value of property for an item. | |
Static Public Member Functions | |
| 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) |
Static Public Attributes | |
Mesh Handles | |
| 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 | |
| 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 () |
Connectivity Class for polygonal meshes.
| typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_begin, &PolyConnectivity::edges_end> OpenMesh::PolyConnectivity::ConstEdgeRange |
| typedef CirculatorRange< PolyConnectivity, ConstFaceEdgeIter, FaceHandle, &PolyConnectivity::cfe_begin, &PolyConnectivity::cfe_end> OpenMesh::PolyConnectivity::ConstFaceEdgeRange |
| typedef CirculatorRange< PolyConnectivity, ConstFaceFaceIter, FaceHandle, &PolyConnectivity::cff_begin, &PolyConnectivity::cff_end> OpenMesh::PolyConnectivity::ConstFaceFaceRange |
| typedef CirculatorRange< PolyConnectivity, ConstFaceHalfedgeIter, FaceHandle, &PolyConnectivity::cfh_begin, &PolyConnectivity::cfh_end> OpenMesh::PolyConnectivity::ConstFaceHalfedgeRange |
| typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_begin, &PolyConnectivity::faces_end> OpenMesh::PolyConnectivity::ConstFaceRange |
| typedef CirculatorRange< PolyConnectivity, ConstFaceVertexIter, FaceHandle, &PolyConnectivity::cfv_begin, &PolyConnectivity::cfv_end> OpenMesh::PolyConnectivity::ConstFaceVertexRange |
| typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstHalfedgeIter, &PolyConnectivity::halfedges_begin, &PolyConnectivity::halfedges_end> OpenMesh::PolyConnectivity::ConstHalfedgeRange |
| typedef CirculatorRange< PolyConnectivity, ConstVertexEdgeIter, VertexHandle, &PolyConnectivity::cve_begin, &PolyConnectivity::cve_end> OpenMesh::PolyConnectivity::ConstVertexEdgeRange |
| typedef CirculatorRange< PolyConnectivity, ConstVertexFaceIter, VertexHandle, &PolyConnectivity::cvf_begin, &PolyConnectivity::cvf_end> OpenMesh::PolyConnectivity::ConstVertexFaceRange |
| typedef CirculatorRange< PolyConnectivity, ConstVertexIHalfedgeIter, VertexHandle, &PolyConnectivity::cvih_begin, &PolyConnectivity::cvih_end> OpenMesh::PolyConnectivity::ConstVertexIHalfedgeRange |
| typedef CirculatorRange< PolyConnectivity, ConstVertexOHalfedgeIter, VertexHandle, &PolyConnectivity::cvoh_begin, &PolyConnectivity::cvoh_end> OpenMesh::PolyConnectivity::ConstVertexOHalfedgeRange |
| typedef EntityRange< const PolyConnectivity, PolyConnectivity::ConstVertexIter, &PolyConnectivity::vertices_begin, &PolyConnectivity::vertices_end> OpenMesh::PolyConnectivity::ConstVertexRange |
| typedef CirculatorRange< PolyConnectivity, ConstVertexVertexCWIter, VertexHandle, &PolyConnectivity::cvv_cwbegin, &PolyConnectivity::cvv_cwend> OpenMesh::PolyConnectivity::ConstVertexVertexRange |
| typedef Iterators::GenericCirculatorT<This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT<This>::toHalfedgeHandle, false> OpenMesh::PolyConnectivity::HalfedgeLoopCCWIter |
Identical to FaceHalfedgeIter.
God knows why this typedef exists.
| typedef Iterators::GenericCirculatorT_DEPRECATED<This, This::FaceHandle, This::HalfedgeHandle, &Iterators::GenericCirculatorBaseT<This>::toHalfedgeHandle> OpenMesh::PolyConnectivity::HalfedgeLoopIter |
Identical to FaceHalfedgeIter.
God knows why this typedef exists.
| FaceHandle OpenMesh::PolyConnectivity::add_face | ( | const std::vector< VertexHandle > & | _vhandles | ) |
Add and connect a new face.
Create a new face consisting of the vertices provided by the vertex handle vector. (The vertices have to be already added to the mesh by add_vertex)
| _vhandles | sorted list of vertex handles (also defines order in which the vertices are added to the face) |
| FaceHandle OpenMesh::PolyConnectivity::add_face | ( | VertexHandle | _vh0, |
| VertexHandle | _vh1, | ||
| VertexHandle | _vh2 | ||
| ) |
Add and connect a new face.
Create a new face consisting of three vertices provided by the handles. (The vertices have to be already added to the mesh by add_vertex)
| _vh0 | First vertex handle |
| _vh1 | Second vertex handle |
| _vh2 | Third vertex handle |
| FaceHandle OpenMesh::PolyConnectivity::add_face | ( | VertexHandle | _vh0, |
| VertexHandle | _vh1, | ||
| VertexHandle | _vh2, | ||
| VertexHandle | _vh3 | ||
| ) |
Add and connect a new face.
Create a new face consisting of four vertices provided by the handles. (The vertices have to be already added to the mesh by add_vertex)
| _vh0 | First vertex handle |
| _vh1 | Second vertex handle |
| _vh2 | Third vertex handle |
| _vh3 | Fourth vertex handle |
| PolyConnectivity::FaceHandle OpenMesh::PolyConnectivity::add_face | ( | const VertexHandle * | _vhandles, |
| size_t | _vhs_size | ||
| ) |
Add and connect a new face.
Create a new face consisting of vertices provided by a handle array. (The vertices have to be already added to the mesh by add_vertex)
| _vhandles | pointer to a sorted list of vertex handles (also defines order in which the vertices are added to the face) |
| _vhs_size | number of vertex handles in the array |
|
inline |
assign_connectivity() method.
See ArrayKernel::assign_connectivity() for more details.
| void OpenMesh::PolyConnectivity::collapse | ( | HalfedgeHandle | _heh | ) |
Halfedge collapse: collapse the from-vertex of halfedge _heh into its to-vertex.
| void OpenMesh::PolyConnectivity::delete_edge | ( | EdgeHandle | _eh, |
| bool | _delete_isolated_vertices = true |
||
| ) |
Mark edge (two opposite halfedges) and incident faces deleted.
Resulting isolated vertices are marked deleted if _delete_isolated_vertices is true. Items marked deleted will be removed by garbageCollection().
| void OpenMesh::PolyConnectivity::delete_face | ( | FaceHandle | _fh, |
| bool | _delete_isolated_vertices = true |
||
| ) |
Delete face _fh and resulting degenerated empty halfedges as well.
Resulting isolated vertices will be deleted if _delete_isolated_vertices is true.
| void OpenMesh::PolyConnectivity::delete_vertex | ( | VertexHandle | _vh, |
| bool | _delete_isolated_vertices = true |
||
| ) |
Mark vertex and all incident edges and faces deleted.
Items marked deleted will be removed by garbageCollection().
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| PolyConnectivity::HalfedgeHandle OpenMesh::PolyConnectivity::insert_edge | ( | HalfedgeHandle | _prev_heh, |
| HalfedgeHandle | _next_heh | ||
| ) |
Inserts an edge between to_vh(_prev_heh) and from_vh(_next_heh).
A new face is created started at heh0 of the inserted edge and its halfedges loop includes both _prev_heh and _next_heh. If an old face existed which includes the argument halfedges, it is split at the new edge. heh0 is returned.
|
inline |
Check if the halfedge is at the boundary.
The halfedge is at the boundary, if no face is incident to it.
| _heh | HalfedgeHandle to test |
|
inline |
Is the edge a boundary edge?
Checks it the edge _eh is a boundary edge, i.e. is one of its halfedges a boundary halfedge.
| _eh | Edge handle to test |
|
inline |
Is vertex _vh a boundary vertex ?
Checks if the associated halfedge (which would on a boundary be the outside halfedge), is connected to a face. Which is equivalent, if the vertex is at the boundary of the mesh, as OpenMesh will make sure, that if there is a boundary halfedge at the vertex, the halfedge will be the one which is associated to the vertex.
| _vh | VertexHandle to test |
| bool OpenMesh::PolyConnectivity::is_boundary | ( | FaceHandle | _fh, |
| bool | _check_vertex = false |
||
| ) | const |
Check if face is at the boundary.
Is face _fh at boundary, i.e. is one of its edges (or vertices) a boundary edge?
| _fh | Check this face |
| _check_vertex | If true, check the corner vertices of the face, too. |
| bool OpenMesh::PolyConnectivity::is_collapse_ok | ( | HalfedgeHandle | _he | ) |
Returns whether collapsing halfedge _heh is ok or would lead to topological inconsistencies.
| bool OpenMesh::PolyConnectivity::is_manifold | ( | VertexHandle | _vh | ) | const |
Is (the mesh at) vertex _vh two-manifold ?
The vertex is non-manifold if more than one gap exists, i.e. more than one outgoing boundary halfedge. If (at least) one boundary halfedge exists, the vertex' halfedge must be a boundary halfedge.
| _vh | VertexHandle to test |
| bool OpenMesh::PolyConnectivity::is_simple_link | ( | EdgeHandle | _eh | ) | const |
return true if the this the only link between the faces adjacent to _eh.
_eh is allowed to be boundary, in which case true is returned iff _eh is the only boundary edge of its ajdacent face.
| bool OpenMesh::PolyConnectivity::is_simply_connected | ( | FaceHandle | _fh | ) | const |
return true if _fh shares only one edge with all of its adjacent faces.
Boundary is treated as one face, i.e., the function false if _fh has more than one boundary edge.
| void OpenMesh::PolyConnectivity::reinsert_edge | ( | EdgeHandle | _eh | ) |
Inverse of remove_edge.
_eh should be the handle of the edge and the vertex and halfedge handles pointed by edge(_eh) should be valid.
| PolyConnectivity::FaceHandle OpenMesh::PolyConnectivity::remove_edge | ( | EdgeHandle | _eh | ) |
Removes the edge _eh.
Its adjacent faces are merged. _eh and one of the adjacent faces are set deleted. The handle of the remaining face is returned (InvalidFaceHandle is returned if _eh is a boundary edge).
| void OpenMesh::PolyConnectivity::split | ( | FaceHandle | _fh, |
| VertexHandle | _vh | ||
| ) |
Face split (= 1-to-n split).
Split an arbitrary face into triangles by connecting each vertex of fh to vh.
| _fh | Face handle that should be splitted |
| _vh | Vertex handle of the new vertex that will be inserted in the face |
| void OpenMesh::PolyConnectivity::split_copy | ( | FaceHandle | _fh, |
| VertexHandle | _vh | ||
| ) |
Face split (= 1-to-n split).
Split an arbitrary face into triangles by connecting each vertex of fh to vh.
| _fh | Face handle that should be splitted |
| _vh | Vertex handle of the new vertex that will be inserted in the face |
| void OpenMesh::PolyConnectivity::split_edge | ( | EdgeHandle | _eh, |
| VertexHandle | _vh | ||
| ) |
Edge split (inserts a vertex on the edge only)
This edge split only splits the edge without introducing new faces! As this is for polygonal meshes, we can have valence 2 vertices here.
| _eh | Handle of the edge, that will be splitted |
| _vh | Handle of the vertex that will be inserted at the edge |
| void OpenMesh::PolyConnectivity::split_edge_copy | ( | EdgeHandle | _eh, |
| VertexHandle | _vh | ||
| ) |
Edge split (inserts a vertex on the edge only)
This edge split only splits the edge without introducing new faces! As this is for polygonal meshes, we can have valence 2 vertices here.
| _eh | Handle of the edge, that will be splitted |
| _vh | Handle of the vertex that will be inserted at the edge |
| void OpenMesh::PolyConnectivity::triangulate | ( | FaceHandle | _fh | ) |
Triangulate the face _fh.
Split an arbitrary face into triangles by connecting each vertex of fh after its second to vh.
| _fh | Handle of the face that should be triangulated |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |