]> OCCT Git - occt.git/commitdiff
0033356: Data Exchange - Wrong half of sphere is imported CR33356_763
authorika <ika@opencascade.com>
Fri, 12 May 2023 10:57:21 +0000 (11:57 +0100)
committerika <ika@opencascade.com>
Fri, 12 May 2023 12:10:35 +0000 (13:10 +0100)
Do the check of tail-head ordered wire not only for bi-periodical surface.

src/ShapeFix/ShapeFix_Wire.cxx
src/StepToTopoDS/StepToTopoDS_TranslateEdgeLoop.cxx

index fcfe71b8e973994b4cc3b3cd75f9052081edb86c..a81d9d7624011ea79d8c3e21080b1511eec18b62 100644 (file)
@@ -442,14 +442,12 @@ Standard_Boolean ShapeFix_Wire::FixReorder()
   ShapeAnalysis_WireOrder sawo;
   myAnalyzer->CheckOrder ( sawo, myClosedMode, Standard_True );
   
-  //:abv revolCuts.sat -23: in case of bi-periodic surface check case
-  // of reversed wire specifically. This is necessary because degenerated
+  // Check case of reversed wire specifically. This is necessary because degenerated
   // cases are possible when direct evaluation will give bad result.
   Standard_Boolean isReorder = Standard_False;
-  if ( sawo.Status() != 0 &&
-       ! myAnalyzer->Surface().IsNull() &&
-       myAnalyzer->Surface()->Surface()->IsUPeriodic() &&
-       myAnalyzer->Surface()->Surface()->IsVPeriodic() ) {
+  if ( sawo.Status() != 0 && ! myAnalyzer->Surface().IsNull() &&
+     (myAnalyzer->Surface()->Surface()->IsUPeriodic() ||
+      myAnalyzer->Surface()->Surface()->IsVPeriodic())) {
     Handle(ShapeExtend_WireData) sbwd2 = new ShapeExtend_WireData;
     for ( Standard_Integer i=WireData()->NbEdges(); i >=1; i-- )
       sbwd2->Add ( WireData()->Edge(i) );
index ff47e2fcd7804463a387ca64730886d4debeaae0..116b0ce21e34d6619dbd1ae7bb7c6df1fc6a6c5b 100644 (file)
@@ -31,7 +31,8 @@
 #include <BRep_TEdge.hxx>
 #include <BRep_Tool.hxx>
 #include <ElCLib.hxx>
-#include <Geom2d_BoundedCurve.hxx>#include <Geom2d_Line.hxx>
+#include <Geom2d_BoundedCurve.hxx>
+#include <Geom2d_Line.hxx>
 #include <Geom_Curve.hxx>
 #include <gp_Dir.hxx>
 #include <Geom_Plane.hxx>