TopTools_MapOfShape aMapMultiConnectEdges;
Standard_Boolean isFreeBoundaries = Standard_False;
for(Standard_Integer k = 1; k <= aMapEdgeFaces.Extent(); k++) {
- Standard_Integer aFaceCount = aMapEdgeFaces.FindFromIndex(k).Extent();
+ const Standard_Integer aFaceCount = aMapEdgeFaces.FindFromIndex(k).Extent();
+ if (!isFreeBoundaries && aFaceCount == 1) {
+ TopoDS_Edge E = TopoDS::Edge(aMapEdgeFaces.FindKey(k));
+ if (!BRep_Tool::Degenerated(E))
+ isFreeBoundaries = Standard_True;
+ }
//Finds multishared edges
- if (isAccountMultiConex && aFaceCount > 2)
+ else if (isAccountMultiConex && aFaceCount > 2)
aMapMultiConnectEdges.Add(aMapEdgeFaces.FindKey(k));
- if (aFaceCount == 1)
- isFreeBoundaries = Standard_True;
}
- if (BRep_Tool::IsClosed (myShell) == isFreeBoundaries)
+ if (BRep_Tool::IsClosed(myShell)? isFreeBoundaries : !isFreeBoundaries)
{
myShell.Closed (!isFreeBoundaries);
SendWarning (Message_Msg ("FixAdvShell.FixClosedFlag.MSG0"));//Shell has incorrect flag isClosed
# !!!! This file is generated automatically, do not edit manually! See end script
-puts "TODO CR23096 ALL: TPSTAT : Faulty"
-
set filename db_exhaust-A.stp
# !!!! This file is generated automatically, do not edit manually! See end script
-puts "TODO CR23096 ALL: TPSTAT : Faulty"
-
set filename db_exhaust-B.stp