1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-08-14 13:30:48 +03:00

Treatment of the shells with free edges has been changed to keep the faces with internal edges.

This commit is contained in:
emv
2015-06-17 11:30:10 +03:00
parent 999dacb4d0
commit ee5d676aee

View File

@@ -52,8 +52,16 @@ TopoDS_Shape BRepAlgo_Tool::Deboucle3D(const TopoDS_Shape& S,
Standard_Boolean JeGarde = Standard_True; Standard_Boolean JeGarde = Standard_True;
for ( Standard_Integer i = 1; i <= Map.Extent() && JeGarde; i++) { for ( Standard_Integer i = 1; i <= Map.Extent() && JeGarde; i++) {
if (Map(i).Extent() < 2) { const TopTools_ListOfShape& aLF = Map(i);
if (aLF.Extent() < 2) {
const TopoDS_Edge& anEdge = TopoDS::Edge(Map.FindKey(i)); const TopoDS_Edge& anEdge = TopoDS::Edge(Map.FindKey(i));
if (anEdge.Orientation() == TopAbs_INTERNAL) {
const TopoDS_Face& aFace = TopoDS::Face(aLF.First());
if (aFace.Orientation() != TopAbs_INTERNAL) {
continue;
}
}
//
if (!Boundary.Contains(anEdge) && if (!Boundary.Contains(anEdge) &&
!BRep_Tool::Degenerated(anEdge) ) !BRep_Tool::Degenerated(anEdge) )
JeGarde = Standard_False; JeGarde = Standard_False;