Retrieving internal and external domains from a TopoDS_Shell

Hi everybody,

I have been looking for a way identify the Edges belonging to the Outer Boundary and to the Inner Boundary of a TopoDS_Shell (e.g. a list of the Edges at the contour of the Shell and a list of the Edges lying inside the contour).

Does anyone tried this before and could give me a hint?

Thank you in advance.

Kind regards,

Evgeny Lodyzhehsky's picture

Dear Fernando Ghedin.

It is quite simple to find the edges of free boundaries for the shell.
//about like that ...
Standard_Integer i, aNbE, aNbF;
TopTools_IndexedDataMapOfShapeListOfShape M;
TopTools_ListOfShape LE;
TopExp::MapShapesAndAncestors(aS, TopAbs_EDGE, TopAbs_FACE, M);
for (i=1; i<=aNbE; ++i) {
const TopoDS_Edge aE=TopoDS::Edge(M.FindKey(i));
const TopTools_ListOfShape& LF=M(i);
if (aNbF==1) {
As for classifying on Outer and Inner parts, try to think over the pb yourself. I hope you'll publish the results here.