In OpenCASCADE, you can get e.g. a list of edges for a TopoDS_Shape
using
TopTools_IndexedMapOfShape edges; TopExp::MapShapes (shape, TopAbs_EDGE, edges);
How can you iterate edges
?
The easiest way is to use indexing like this:
for (size_t i = 1; i <= edges.Extent(); i++) { TopoDS_Shape& edge = edges(i); /* ... */ }
If you want to get the TopoDS_Edge
from the TopoDS_Shape
in the above example, use TopoDS::Edge(edge)
inside the loop.