Add Edge circulators

This commit is contained in:
Janis Born
2023-11-14 07:57:17 +00:00
committed by Jan Möbius
parent 9c5298260d
commit 80d39234fa
15 changed files with 828 additions and 10 deletions

View File

@@ -32,3 +32,16 @@ FaceEdgeIter OpenMesh::PolyConnectivity::fe_iter (FaceHandle _fh);
// Get the face-face circulator of face _fh
FaceFaceIter OpenMesh::PolyConnectivity::ff_iter (FaceHandle _fh);
/**************************************************
* Edge circulators
**************************************************/
// Get the edge-vertex circulator of edge _eh
EdgeVertexIter OpenMesh::PolyConnectivity::ev_iter (EdgeHandle _eh);
// Get the edge-halfedge circulator of edge _eh
EdgeHalfedgeIter OpenMesh::PolyConnectivity::eh_iter (EdgeHandle _eh);
// Get the edge-face circulator of of edge _eh
EdgeFaceIter OpenMesh::PolyConnectivity::ef_iter (EdgeHandle _eh);

View File

@@ -19,6 +19,8 @@
<li>legacy vector min max now take const args to avoid matching std implementations</li>
<li>Fixed several warnings</li>
<li>Make Previous Halfedge Attribute optional again </li>
<li>Added edge-halfedge, edge-vertex, and edge-face circulators</li>
<li>Added default argument: mesh.halfedge_handle(eh) is now equivalent to mesh.halfedge_handle(eh, 0)</li>
</ul>
<b>Tools</b>

View File

@@ -899,6 +899,12 @@ The circulators around a face are:
\arg \c FaceEdgeIter: iterate over the face's edges.
\arg \c FaceFaceIter: iterate over all edge-neighboring faces.
The circulators around an edge are:
\arg \c EdgeVertexIter: iterate over the edge's incident vertices.
\arg \c EdgeHalfedgeIter: iterate over the edge's halfedges.
\arg \c EdgeFaceIter: iterate over the edge's incident faces.
Other circulators:
\arg \c HalfedgeLoopIter: iterate over a sequence of Halfedges. (all Halfedges over a face or a hole)