How to iterate TopTools_IndexedMapOfShape
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.