
Fri, 09/05/2008 - 17:29
Forums:
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,
Fernando
Mon, 09/08/2008 - 08:57
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);
aNbE=M.Extent();
for (i=1; i<=aNbE; ++i) {
const TopoDS_Edge aE=TopoDS::Edge(M.FindKey(i));
const TopTools_ListOfShape& LF=M(i);
aNbF=LF.Extent();
if (aNbF==1) {
LE.Append(aE);
}
}
//
As for classifying on Outer and Inner parts, try to think over the pb yourself. I hope you'll publish the results here.