Developer Documentation
|
Connectivity Class for polygonal meshes. More...
#include <OpenFlipper/libs_required/OpenMesh/src/OpenMesh/Core/Mesh/PolyConnectivity.hh>
Classes | |
struct | AddFaceEdgeInfo |
struct | ElementRange |
struct | ElementRange< EdgeHandle > |
struct | ElementRange< FaceHandle > |
struct | ElementRange< HalfedgeHandle > |
struct | ElementRange< VertexHandle > |
struct | FaceEdgeTraits |
struct | FaceFaceTraits |
struct | FaceHalfedgeTraits |
struct | FaceVertexTraits |
struct | VertexEdgeTraits |
struct | VertexFaceTraits |
struct | VertexHalfedgeTraits |
struct | VertexOppositeHalfedgeTraits |
struct | VertexVertexTraits |
Public Member Functions | |
void | assign_connectivity (const PolyConnectivity &_other) |
void | adjust_outgoing_halfedge (VertexHandle _vh) |
SmartHalfedgeHandle | find_halfedge (VertexHandle _start_vh, VertexHandle _end_vh) const |
Find halfedge from _vh0 to _vh1. Returns invalid handle if not found. | |
uint | valence (VertexHandle _vh) const |
Vertex valence. | |
uint | valence (FaceHandle _fh) const |
Face valence. | |
void | collapse (HalfedgeHandle _heh) |
bool | is_simple_link (EdgeHandle _eh) const |
bool | is_simply_connected (FaceHandle _fh) const |
FaceHandle | remove_edge (EdgeHandle _eh) |
void | reinsert_edge (EdgeHandle _eh) |
HalfedgeHandle | insert_edge (HalfedgeHandle _prev_heh, HalfedgeHandle _next_heh) |
void | split (FaceHandle _fh, VertexHandle _vh) |
Face split (= 1-to-n split). More... | |
void | split_copy (FaceHandle _fh, VertexHandle _vh) |
Face split (= 1-to-n split). More... | |
void | triangulate (FaceHandle _fh) |
Triangulate the face _fh. More... | |
void | triangulate () |
triangulate the entire mesh | |
void | split_edge (EdgeHandle _eh, VertexHandle _vh) |
void | split_edge_copy (EdgeHandle _eh, VertexHandle _vh) |
template<> | |
PolyConnectivity::ConstVertexRangeSkipping | elements () const |
template<> | |
PolyConnectivity::ConstVertexRange | all_elements () const |
template<> | |
PolyConnectivity::ConstHalfedgeRangeSkipping | elements () const |
template<> | |
PolyConnectivity::ConstHalfedgeRange | all_elements () const |
template<> | |
PolyConnectivity::ConstEdgeRangeSkipping | elements () const |
template<> | |
PolyConnectivity::ConstEdgeRange | all_elements () const |
template<> | |
PolyConnectivity::ConstFaceRangeSkipping | elements () const |
template<> | |
PolyConnectivity::ConstFaceRange | all_elements () const |
Adding items to a mesh | |
SmartVertexHandle | add_vertex () |
Add a new vertex. | |
SmartFaceHandle | add_face (const std::vector< VertexHandle > &_vhandles) |
Add and connect a new face. More... | |
SmartFaceHandle | add_face (const std::vector< SmartVertexHandle > &_vhandles) |
Add and connect a new face. More... | |
SmartFaceHandle | add_face (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2) |
Add and connect a new face. More... | |
SmartFaceHandle | add_face (VertexHandle _vh0, VertexHandle _vh1, VertexHandle _vh2, VertexHandle _vh3) |
Add and connect a new face. More... | |
SmartFaceHandle | add_face (const VertexHandle *_vhandles, size_t _vhs_size) |
Add and connect a new face. More... | |
Deleting mesh items and other connectivity/topology modifications | |
bool | is_collapse_ok (HalfedgeHandle _he) |
void | delete_vertex (VertexHandle _vh, bool _delete_isolated_vertices=true) |
void | delete_edge (EdgeHandle _eh, bool _delete_isolated_vertices=true) |
void | delete_face (FaceHandle _fh, bool _delete_isolated_vertices=true) |
Begin and end iterators | |
VertexIter | vertices_begin () |
Begin iterator for vertices. | |
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) |
VertexHandle | handle (const Vertex &_v) const |
HalfedgeHandle | handle (const Halfedge &_he) const |
EdgeHandle | handle (const Edge &_e) const |
FaceHandle | handle (const Face &_f) const |
bool | is_valid_handle (VertexHandle _vh) const |
checks handle validity - useful for debugging | |
bool | is_valid_handle (HalfedgeHandle _heh) const |
checks handle validity - useful for debugging | |
bool | is_valid_handle (EdgeHandle _eh) const |
checks handle validity - useful for debugging | |
bool | is_valid_handle (FaceHandle _fh) const |
checks handle validity - useful for debugging | |
const Vertex & | vertex (VertexHandle _vh) const |
Vertex & | vertex (VertexHandle _vh) |
const Halfedge & | halfedge (HalfedgeHandle _heh) const |
Halfedge & | halfedge (HalfedgeHandle _heh) |
const Edge & | edge (EdgeHandle _eh) const |
Edge & | edge (EdgeHandle _eh) |
const Face & | face (FaceHandle _fh) const |
Face & | face (FaceHandle _fh) |
VertexHandle | vertex_handle (unsigned int _i) const |
HalfedgeHandle | halfedge_handle (unsigned int _i) const |
EdgeHandle | edge_handle (unsigned int _i) const |
FaceHandle | face_handle (unsigned int _i) const |
VertexHandle | new_vertex () |
Add a new vertex. More... | |
VertexHandle | new_vertex_dirty () |
HalfedgeHandle | new_edge (VertexHandle _start_vh, VertexHandle _end_vh) |
FaceHandle | new_face () |
FaceHandle | new_face (const Face &_f) |
void | resize (size_t _n_vertices, size_t _n_edges, size_t _n_faces) |
void | reserve (size_t _n_vertices, size_t _n_edges, size_t _n_faces) |
void | garbage_collection (bool _v=true, bool _e=true, bool _f=true) |
garbage collection More... | |
template<typename std_API_Container_VHandlePointer , typename std_API_Container_HHandlePointer , typename std_API_Container_FHandlePointer > | |
void | garbage_collection (std_API_Container_VHandlePointer &vh_to_update, std_API_Container_HHandlePointer &hh_to_update, std_API_Container_FHandlePointer &fh_to_update, bool _v=true, bool _e=true, bool _f=true) |
garbage collection with handle tracking More... | |
void | clear () |
Does the same as clean() and in addition erases all properties. | |
void | clean () |
Remove all vertices, edges and faces and deallocates their memory. More... | |
void | clean_keep_reservation () |
Remove all vertices, edges and faces but keep memory allocated. More... | |
size_t | n_vertices () const override |
size_t | n_halfedges () const override |
size_t | n_edges () const override |
size_t | n_faces () const override |
bool | vertices_empty () const |
bool | halfedges_empty () const |
bool | edges_empty () const |
bool | faces_empty () const |
HalfedgeHandle | halfedge_handle (VertexHandle _vh) const |
void | set_halfedge_handle (VertexHandle _vh, HalfedgeHandle _heh) |
bool | is_isolated (VertexHandle _vh) const |
void | set_isolated (VertexHandle _vh) |
unsigned int | delete_isolated_vertices () |
VertexHandle | to_vertex_handle (HalfedgeHandle _heh) const |
VertexHandle | from_vertex_handle (HalfedgeHandle _heh) const |
void | set_vertex_handle (HalfedgeHandle _heh, VertexHandle _vh) |
FaceHandle | face_handle (HalfedgeHandle _heh) const |
void | set_face_handle (HalfedgeHandle _heh, FaceHandle _fh) |
void | set_boundary (HalfedgeHandle _heh) |
bool | is_boundary (HalfedgeHandle _heh) const |
Is halfedge _heh a boundary halfedge (is its face handle invalid) ? | |
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 () |
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) |
template<class T > | |
void | copy_property (HPropHandleT< T > _ph, HalfedgeHandle _hh_from, HalfedgeHandle _hh_to) |
template<class T > | |
void | copy_property (EPropHandleT< T > _ph, EdgeHandle _eh_from, EdgeHandle _eh_to) |
template<class T > | |
void | copy_property (FPropHandleT< T > _ph, FaceHandle _fh_from, FaceHandle _fh_to) |
void | copy_all_properties (VertexHandle _vh_from, VertexHandle _vh_to, bool _copyBuildIn=false) |
void | copy_all_properties (HalfedgeHandle _hh_from, HalfedgeHandle _hh_to, bool _copyBuildIn=false) |
void | copy_all_properties (EdgeHandle _eh_from, EdgeHandle _eh_to, bool _copyBuildIn=false) |
void | copy_all_properties (FaceHandle _fh_from, FaceHandle _fh_to, bool _copyBuildIn=false) |
void | copy_all_kernel_properties (const BaseKernel &_other) |
copy_all_kernel_properties uses the = operator to copy all properties from a given other BaseKernel. More... | |
size_t | n_vprops (void) const |
size_t | n_eprops (void) const |
size_t | n_hprops (void) const |
size_t | n_fprops (void) const |
size_t | n_mprops (void) const |
BaseProperty * | _get_vprop (const std::string &_name) |
BaseProperty * | _get_eprop (const std::string &_name) |
BaseProperty * | _get_hprop (const std::string &_name) |
BaseProperty * | _get_fprop (const std::string &_name) |
BaseProperty * | _get_mprop (const std::string &_name) |
const BaseProperty * | _get_vprop (const std::string &_name) const |
const BaseProperty * | _get_eprop (const std::string &_name) const |
const BaseProperty * | _get_hprop (const std::string &_name) const |
const BaseProperty * | _get_fprop (const std::string &_name) const |
const BaseProperty * | _get_mprop (const std::string &_name) const |
BaseProperty & | _vprop (size_t _idx) |
BaseProperty & | _eprop (size_t _idx) |
BaseProperty & | _hprop (size_t _idx) |
BaseProperty & | _fprop (size_t _idx) |
BaseProperty & | _mprop (size_t _idx) |
const BaseProperty & | _vprop (size_t _idx) const |
const BaseProperty & | _eprop (size_t _idx) const |
const BaseProperty & | _hprop (size_t _idx) const |
const BaseProperty & | _fprop (size_t _idx) const |
const BaseProperty & | _mprop (size_t _idx) const |
size_t | _add_vprop (BaseProperty *_bp) |
size_t | _add_eprop (BaseProperty *_bp) |
size_t | _add_hprop (BaseProperty *_bp) |
size_t | _add_fprop (BaseProperty *_bp) |
size_t | _add_mprop (BaseProperty *_bp) |
template<typename HandleT > | |
size_t | n_elements () const |
void | property_stats () const |
void | property_stats (std::ostream &_ostr) const |
void | vprop_stats (std::string &_string) const |
void | hprop_stats (std::string &_string) const |
void | eprop_stats (std::string &_string) const |
void | fprop_stats (std::string &_string) const |
void | mprop_stats (std::string &_string) const |
void | vprop_stats () const |
void | hprop_stats () const |
void | eprop_stats () const |
void | fprop_stats () const |
void | mprop_stats () const |
void | vprop_stats (std::ostream &_ostr) const |
void | hprop_stats (std::ostream &_ostr) const |
void | eprop_stats (std::ostream &_ostr) const |
void | fprop_stats (std::ostream &_ostr) const |
void | mprop_stats (std::ostream &_ostr) const |
prop_iterator | vprops_begin () |
prop_iterator | vprops_end () |
const_prop_iterator | vprops_begin () const |
const_prop_iterator | vprops_end () const |
prop_iterator | eprops_begin () |
prop_iterator | eprops_end () |
const_prop_iterator | eprops_begin () const |
const_prop_iterator | eprops_end () const |
prop_iterator | hprops_begin () |
prop_iterator | hprops_end () |
const_prop_iterator | hprops_begin () const |
const_prop_iterator | hprops_end () const |
prop_iterator | fprops_begin () |
prop_iterator | fprops_end () |
const_prop_iterator | fprops_begin () const |
const_prop_iterator | fprops_end () const |
prop_iterator | mprops_begin () |
prop_iterator | mprops_end () |
const_prop_iterator | mprops_begin () const |
const_prop_iterator | mprops_end () const |
template<> | |
size_t | n_elements () const |
template<> | |
size_t | n_elements () const |
template<> | |
size_t | n_elements () const |
template<> | |
size_t | n_elements () const |
template<class T > | |
void | add_property (VPropHandleT< T > &_ph, const std::string &_name="<vprop>") |
template<class T > | |
void | add_property (HPropHandleT< T > &_ph, const std::string &_name="<hprop>") |
template<class T > | |
void | add_property (EPropHandleT< T > &_ph, const std::string &_name="<eprop>") |
template<class T > | |
void | add_property (FPropHandleT< T > &_ph, const std::string &_name="<fprop>") |
template<class T > | |
void | add_property (MPropHandleT< T > &_ph, const std::string &_name="<mprop>") |
template<typename T > | |
void | remove_property (VPropHandleT< T > &_ph) |
template<typename T > | |
void | remove_property (HPropHandleT< T > &_ph) |
template<typename T > | |
void | remove_property (EPropHandleT< T > &_ph) |
template<typename T > | |
void | remove_property (FPropHandleT< T > &_ph) |
template<typename T > | |
void | remove_property (MPropHandleT< T > &_ph) |
template<class T > | |
bool | get_property_handle (VPropHandleT< T > &_ph, const std::string &_name) const |
template<class T > | |
bool | get_property_handle (HPropHandleT< T > &_ph, const std::string &_name) const |
template<class T > | |
bool | get_property_handle (EPropHandleT< T > &_ph, const std::string &_name) const |
template<class T > | |
bool | get_property_handle (FPropHandleT< T > &_ph, const std::string &_name) const |
template<class T > | |
bool | get_property_handle (MPropHandleT< T > &_ph, const std::string &_name) const |
template<class T > | |
PropertyT< T > & | property (VPropHandleT< T > _ph) |
template<class T > | |
const PropertyT< T > & | property (VPropHandleT< T > _ph) const |
template<class T > | |
PropertyT< T > & | property (HPropHandleT< T > _ph) |
template<class T > | |
const PropertyT< T > & | property (HPropHandleT< T > _ph) const |
template<class T > | |
PropertyT< T > & | property (EPropHandleT< T > _ph) |
template<class T > | |
const PropertyT< T > & | property (EPropHandleT< T > _ph) const |
template<class T > | |
PropertyT< T > & | property (FPropHandleT< T > _ph) |
template<class T > | |
const PropertyT< T > & | property (FPropHandleT< T > _ph) const |
template<class T > | |
PropertyT< T > & | mproperty (MPropHandleT< T > _ph) |
template<class T > | |
const PropertyT< T > & | mproperty (MPropHandleT< T > _ph) const |
template<class T > | |
VPropHandleT< T >::reference | property (VPropHandleT< T > _ph, VertexHandle _vh) |
template<class T > | |
VPropHandleT< T >::const_reference | property (VPropHandleT< T > _ph, VertexHandle _vh) const |
template<class T > | |
HPropHandleT< T >::reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) |
template<class T > | |
HPropHandleT< T >::const_reference | property (HPropHandleT< T > _ph, HalfedgeHandle _hh) const |
template<class T > | |
EPropHandleT< T >::reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) |
template<class T > | |
EPropHandleT< T >::const_reference | property (EPropHandleT< T > _ph, EdgeHandle _eh) const |
template<class T > | |
FPropHandleT< T >::reference | property (FPropHandleT< T > _ph, FaceHandle _fh) |
template<class T > | |
FPropHandleT< T >::const_reference | property (FPropHandleT< T > _ph, FaceHandle _fh) const |
template<class T > | |
MPropHandleT< T >::reference | property (MPropHandleT< T > _ph) |
template<class T > | |
MPropHandleT< T >::const_reference | property (MPropHandleT< T > _ph) const |
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 |
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 () |
Private Attributes | |
std::vector< AddFaceEdgeInfo > | edgeData_ |
std::vector< std::pair< HalfedgeHandle, HalfedgeHandle > > | next_cache_ |
Navigation with smart handles to allow usage of old-style navigation with smart handles | |
SmartHalfedgeHandle | next_halfedge_handle (SmartHalfedgeHandle _heh) const |
returns the face handle of the opposite halfedge | |
SmartHalfedgeHandle | prev_halfedge_handle (SmartHalfedgeHandle _heh) const |
returns the face handle of the opposite halfedge | |
SmartHalfedgeHandle | opposite_halfedge_handle (SmartHalfedgeHandle _heh) const |
returns the face handle of the opposite halfedge | |
SmartHalfedgeHandle | ccw_rotated_halfedge_handle (SmartHalfedgeHandle _heh) const |
returns the face handle of the opposite halfedge | |
SmartHalfedgeHandle | cw_rotated_halfedge_handle (SmartHalfedgeHandle _heh) const |
returns the face handle of the opposite halfedge | |
SmartHalfedgeHandle | halfedge_handle (SmartEdgeHandle _eh, unsigned int _i) const |
returns the face handle of the opposite halfedge | |
SmartHalfedgeHandle | halfedge_handle (SmartFaceHandle _fh) const |
returns the face handle of the opposite halfedge | |
SmartHalfedgeHandle | halfedge_handle (SmartVertexHandle _vh) const |
returns the face handle of the opposite halfedge | |
SmartEdgeHandle | edge_handle (SmartHalfedgeHandle _heh) const |
returns the face handle of the opposite halfedge | |
SmartFaceHandle | face_handle (SmartHalfedgeHandle _heh) const |
returns the face handle of the opposite halfedge | |
SmartFaceHandle | opposite_face_handle (HalfedgeHandle _heh) const |
returns the face handle of the opposite halfedge | |
static SmartHalfedgeHandle | s_halfedge_handle (SmartEdgeHandle _eh, unsigned int _i) |
returns the face handle of the opposite halfedge | |
static SmartEdgeHandle | s_edge_handle (SmartHalfedgeHandle _heh) |
returns the face handle of the opposite halfedge | |
Additional Inherited Members | |
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_ |
Connectivity Class for polygonal meshes.
Definition at line 112 of file PolyConnectivity.hh.
typedef EntityRange<RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstEdgeIter, &PolyConnectivity::edges_begin, &PolyConnectivity::edges_end> > OpenMesh::PolyConnectivity::ConstEdgeRange |
Definition at line 1086 of file PolyConnectivity.hh.
Definition at line 1091 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 375 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 374 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 373 of file PolyConnectivity.hh.
Definition at line 1225 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 378 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 377 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 376 of file PolyConnectivity.hh.
Definition at line 1232 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 372 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 371 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 370 of file PolyConnectivity.hh.
Definition at line 1218 of file PolyConnectivity.hh.
typedef EntityRange<RangeTraitT< const PolyConnectivity, PolyConnectivity::ConstFaceIter, &PolyConnectivity::faces_begin, &PolyConnectivity::faces_end> > OpenMesh::PolyConnectivity::ConstFaceRange |
Definition at line 1096 of file PolyConnectivity.hh.
Definition at line 1101 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 369 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 368 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 367 of file PolyConnectivity.hh.
Definition at line 1211 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 385 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 384 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 383 of file PolyConnectivity.hh.
Definition at line 1239 of file PolyConnectivity.hh.
Definition at line 1076 of file PolyConnectivity.hh.
Definition at line 1081 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 291 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 290 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 289 of file PolyConnectivity.hh.
Definition at line 1197 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 288 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 287 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 286 of file PolyConnectivity.hh.
Definition at line 1204 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 285 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 284 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 283 of file PolyConnectivity.hh.
Definition at line 1183 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 282 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 281 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 280 of file PolyConnectivity.hh.
Definition at line 1190 of file PolyConnectivity.hh.
Definition at line 1066 of file PolyConnectivity.hh.
Definition at line 1071 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 279 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 278 of file PolyConnectivity.hh.
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 277 of file PolyConnectivity.hh.
Definition at line 1176 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceEdgeTraits, true> OpenMesh::PolyConnectivity::FaceEdgeCCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 340 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceEdgeTraits, false> OpenMesh::PolyConnectivity::FaceEdgeCWIter |
Enumerate incident edges in a clockwise fashion.
Definition at line 345 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<FaceEdgeTraits> OpenMesh::PolyConnectivity::FaceEdgeIter |
Enumerate incident edges in a counter clockwise fashion.
Definition at line 339 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceFaceTraits, true> OpenMesh::PolyConnectivity::FaceFaceCCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 360 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceFaceTraits, false> OpenMesh::PolyConnectivity::FaceFaceCWIter |
Enumerate adjacent faces in a clockwise fashion.
Definition at line 365 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<FaceFaceTraits> OpenMesh::PolyConnectivity::FaceFaceIter |
Enumerate adjacent faces in a counter clockwise fashion.
Definition at line 359 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceHalfedgeTraits, true> OpenMesh::PolyConnectivity::FaceHalfedgeCCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 320 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceHalfedgeTraits, false> OpenMesh::PolyConnectivity::FaceHalfedgeCWIter |
Enumerate incident half edges in a clockwise fashion.
Definition at line 325 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<FaceHalfedgeTraits> OpenMesh::PolyConnectivity::FaceHalfedgeIter |
Enumerate incident half edges in a counter clockwise fashion.
Definition at line 319 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceVertexTraits, true> OpenMesh::PolyConnectivity::FaceVertexCCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 309 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceVertexTraits, false> OpenMesh::PolyConnectivity::FaceVertexCWIter |
Enumerate incident vertices in a clockwise fashion.
Definition at line 314 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<FaceVertexTraits> OpenMesh::PolyConnectivity::FaceVertexIter |
Enumerate incident vertices in a counter clockwise fashion.
Definition at line 308 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceHalfedgeTraits, true> OpenMesh::PolyConnectivity::HalfedgeLoopCCWIter |
Identical to FaceHalfedgeIter. God knows why this typedef exists.
Definition at line 275 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<FaceHalfedgeTraits, false> OpenMesh::PolyConnectivity::HalfedgeLoopCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 271 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<FaceHalfedgeTraits> OpenMesh::PolyConnectivity::HalfedgeLoopIter |
Identical to FaceHalfedgeIter. God knows why this typedef exists.
Definition at line 270 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexEdgeTraits, false> OpenMesh::PolyConnectivity::VertexEdgeCCWIter |
Enumerates incident edges in a counter clockwise fashion.
Definition at line 256 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexEdgeTraits, true> OpenMesh::PolyConnectivity::VertexEdgeCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 252 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<VertexEdgeTraits> OpenMesh::PolyConnectivity::VertexEdgeIter |
Enumerates incident edges in a clockwise fashion.
Definition at line 251 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexFaceTraits, false> OpenMesh::PolyConnectivity::VertexFaceCCWIter |
Enumerates incident faces in a counter clockwise fashion.
Definition at line 237 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexFaceTraits, true> OpenMesh::PolyConnectivity::VertexFaceCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 232 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<VertexFaceTraits> OpenMesh::PolyConnectivity::VertexFaceIter |
Enumerates incident faces in a clockwise fashion.
Definition at line 231 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexOppositeHalfedgeTraits, false> OpenMesh::PolyConnectivity::VertexIHalfedgeCCWIter |
Enumerates incoming half edges in a counter clockwise fashion.
Definition at line 217 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexOppositeHalfedgeTraits, true> OpenMesh::PolyConnectivity::VertexIHalfedgeCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 212 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<VertexOppositeHalfedgeTraits> OpenMesh::PolyConnectivity::VertexIHalfedgeIter |
Enumerates incoming half edges in a clockwise fashion.
Definition at line 211 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexHalfedgeTraits, false> OpenMesh::PolyConnectivity::VertexOHalfedgeCCWIter |
Enumerates outgoing half edges in a counter clockwise fashion.
Definition at line 198 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexHalfedgeTraits, true> OpenMesh::PolyConnectivity::VertexOHalfedgeCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 193 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<VertexHalfedgeTraits> OpenMesh::PolyConnectivity::VertexOHalfedgeIter |
Enumerates outgoing half edges in a clockwise fashion.
Definition at line 192 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexVertexTraits, false> OpenMesh::PolyConnectivity::VertexVertexCCWIter |
Enumerates 1-ring vertices in a counter clockwise fashion.
Definition at line 178 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT<VertexVertexTraits, true> OpenMesh::PolyConnectivity::VertexVertexCWIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 173 of file PolyConnectivity.hh.
typedef Iterators::GenericCirculatorT_DEPRECATED<VertexVertexTraits> OpenMesh::PolyConnectivity::VertexVertexIter |
Enumerates 1-ring vertices in a clockwise fashion.
Definition at line 172 of file PolyConnectivity.hh.
SmartFaceHandle OpenMesh::PolyConnectivity::add_face | ( | const std::vector< VertexHandle > & | _vhandles | ) |
Add and connect a new face.
Create a new face consisting of the vertices provided by the vertex handle vector. (The vertices have to be already added to the mesh by add_vertex)
_vhandles | sorted list of vertex handles (also defines order in which the vertices are added to the face) |
Definition at line 334 of file PolyConnectivity.cc.
SmartFaceHandle OpenMesh::PolyConnectivity::add_face | ( | const std::vector< SmartVertexHandle > & | _vhandles | ) |
Add and connect a new face.
Create a new face consisting of the vertices provided by the vertex handle vector. (The vertices have to be already added to the mesh by add_vertex)
_vhandles | sorted list of vertex handles (also defines order in which the vertices are added to the face) |
Definition at line 339 of file PolyConnectivity.cc.
SmartFaceHandle OpenMesh::PolyConnectivity::add_face | ( | VertexHandle | _vh0, |
VertexHandle | _vh1, | ||
VertexHandle | _vh2 | ||
) |
Add and connect a new face.
Create a new face consisting of three vertices provided by the handles. (The vertices have to be already added to the mesh by add_vertex)
_vh0 | First vertex handle |
_vh1 | Second vertex handle |
_vh2 | Third vertex handle |
Definition at line 321 of file PolyConnectivity.cc.
SmartFaceHandle OpenMesh::PolyConnectivity::add_face | ( | VertexHandle | _vh0, |
VertexHandle | _vh1, | ||
VertexHandle | _vh2, | ||
VertexHandle | _vh3 | ||
) |
Add and connect a new face.
Create a new face consisting of four vertices provided by the handles. (The vertices have to be already added to the mesh by add_vertex)
_vh0 | First vertex handle |
_vh1 | Second vertex handle |
_vh2 | Third vertex handle |
_vh3 | Fourth vertex handle |
Definition at line 305 of file PolyConnectivity.cc.
SmartFaceHandle OpenMesh::PolyConnectivity::add_face | ( | const VertexHandle * | _vhandles, |
size_t | _vhs_size | ||
) |
Add and connect a new face.
Create a new face consisting of vertices provided by a handle array. (The vertices have to be already added to the mesh by add_vertex)
_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 |
Definition at line 117 of file PolyConnectivity.cc.
void OpenMesh::PolyConnectivity::adjust_outgoing_halfedge | ( | VertexHandle | _vh | ) |
Adjust outgoing halfedge handle for vertices, so that it is a boundary halfedge whenever possible.
Definition at line 102 of file PolyConnectivity.cc.
|
inline |
Definition at line 117 of file PolyConnectivity_inline_impl.hh.
ElementRange<HandleType>::Range OpenMesh::PolyConnectivity::all_elements | ( | ) | const |
|
inline |
Definition at line 119 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 115 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 113 of file PolyConnectivity_inline_impl.hh.
|
inline |
assign_connectivity() method. See ArrayKernel::assign_connectivity() for more details.
Definition at line 476 of file PolyConnectivity.hh.
void OpenMesh::PolyConnectivity::collapse | ( | HalfedgeHandle | _heh | ) |
Halfedge collapse: collapse the from-vertex of halfedge _heh into its to-vertex.
Definition at line 649 of file PolyConnectivity.cc.
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().
Definition at line 508 of file PolyConnectivity.cc.
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.
Definition at line 535 of file PolyConnectivity.cc.
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().
Definition at line 487 of file PolyConnectivity.cc.
|
inline |
Definition at line 116 of file PolyConnectivity_inline_impl.hh.
ElementRange<HandleType>::RangeSkipping OpenMesh::PolyConnectivity::elements | ( | ) | const |
|
inline |
Definition at line 118 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 159 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 163 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 155 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 151 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 114 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 167 of file PolyConnectivity_inline_impl.hh.
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.
Definition at line 924 of file PolyConnectivity.cc.
|
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 |
Definition at line 1315 of file PolyConnectivity.hh.
|
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 |
Definition at line 1326 of file PolyConnectivity.hh.
|
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 |
Definition at line 1343 of file PolyConnectivity.hh.
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. |
Definition at line 69 of file PolyConnectivity.cc.
bool OpenMesh::PolyConnectivity::is_collapse_ok | ( | HalfedgeHandle | _he | ) |
Returns whether collapsing halfedge _heh is ok or would lead to topological inconsistencies.
Definition at line 347 of file PolyConnectivity.cc.
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 |
Definition at line 84 of file PolyConnectivity.cc.
bool OpenMesh::PolyConnectivity::is_simple_link | ( | EdgeHandle | _eh | ) | const |
return true if the this the only link between the faces adjacent to _eh. _eh is allowed to be boundary, in which case true is returned iff _eh is the only boundary edge of its ajdacent face.
Definition at line 771 of file PolyConnectivity.cc.
bool OpenMesh::PolyConnectivity::is_simply_connected | ( | FaceHandle | _fh | ) | const |
return true if _fh shares only one edge with all of its adjacent faces. Boundary is treated as one face, i.e., the function false if _fh has more than one boundary edge.
Definition at line 792 of file PolyConnectivity.cc.
void OpenMesh::PolyConnectivity::reinsert_edge | ( | EdgeHandle | _eh | ) |
Inverse of remove_edge. _eh should be the handle of the edge and the vertex and halfedge handles pointed by edge(_eh) should be valid.
Definition at line 872 of file PolyConnectivity.cc.
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).
Definition at line 811 of file PolyConnectivity.cc.
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 |
Definition at line 1021 of file PolyConnectivity.cc.
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 |
Definition at line 1064 of file PolyConnectivity.cc.
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 |
Definition at line 1093 of file PolyConnectivity.cc.
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 |
Definition at line 1158 of file PolyConnectivity.cc.
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 |
Definition at line 959 of file PolyConnectivity.cc.
|
inline |
Definition at line 143 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 112 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 147 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 135 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 139 of file PolyConnectivity_inline_impl.hh.
|
inline |
Definition at line 131 of file PolyConnectivity_inline_impl.hh.