Salome HOME
Merge branch 'BR_HYDRO_IMPS_2016' into pre/IMPS_2016
[modules/hydro.git] / src / HYDROData / HYDROData_ImmersibleZone.cxx
index b6a469548e6613f4d819af159487ff9e0c64aee3..52e9a5acf6628c224cd46de582f22973ee4c18c8 100644 (file)
@@ -77,6 +77,11 @@ QStringList HYDROData_ImmersibleZone::DumpToPython( const QString& thePyScriptPa
   Handle(HYDROData_PolylineXY) aRefPolyline = GetPolyline();
   setPythonReferenceObject( thePyScriptPath, theTreatedObjects, aResList, aRefPolyline, "SetPolyline" );
 
+  if (!this->IsSubmersible())
+    {
+      aResList << QString( "%1.SetIsSubmersible(False)" ).arg( aZoneName );
+    }
+
   aResList << QString( "" );
 
   aResList << QString( "%1.Update()" ).arg( aZoneName );
@@ -118,7 +123,7 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape() const
 
 TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_PolylineXY)& aPolyline )
 {
-  DEBTRACE("generateTopShape");
+  //DEBTRACE("generateTopShape");
   TopoDS_Face aResultFace = TopoDS_Face(); // --- result: default = null face
 
   if (!aPolyline.IsNull())
@@ -133,7 +138,7 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
       if (!aPolylineShape.IsNull() && aPolylineShape.ShapeType() == TopAbs_WIRE)
         {
           // --- only one wire: try to make a face
-          DEBTRACE("one wire: try to build a face");
+          //DEBTRACE("one wire: try to build a face");
           const TopoDS_Wire& aPolylineWire = TopoDS::Wire(aPolylineShape);
           if (!aPolylineWire.IsNull())
             {
@@ -141,7 +146,7 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
               aMakeFace.Build();
               if (aMakeFace.IsDone())
                 {
-                  DEBTRACE(" a face with the only wire given");
+                  //DEBTRACE(" a face with the only wire given");
                   aResultFace = aMakeFace.Face();
                 }
             }
@@ -152,14 +157,14 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
           Handle(TopTools_HSequenceOfShape) aSeqWires = new TopTools_HSequenceOfShape;
           Handle(TopTools_HSequenceOfShape) aSeqEdges = new TopTools_HSequenceOfShape;
           TopExp_Explorer anExp(aPolylineShape, TopAbs_WIRE);
-          DEBTRACE("list of wires ?");
+          //DEBTRACE("list of wires ?");
           for (; anExp.More(); anExp.Next())
             {
               if (!anExp.Current().IsNull())
                 {
                   const TopoDS_Wire& aWire = TopoDS::Wire(anExp.Current());
                   aWiresList.Append(aWire);
-                  DEBTRACE("  append wire");
+                  //DEBTRACE("  append wire");
                   TopExp_Explorer it2(aWire, TopAbs_EDGE);
                   for (; it2.More(); it2.Next())
                     aSeqEdges->Append(it2.Current());
@@ -170,7 +175,7 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
 
           if (aSeqEdges->Length() > 1)
             {
-              DEBTRACE("try to connect all the edges together, build a unique wire and a face");
+              //DEBTRACE("try to connect all the edges together, build a unique wire and a face");
               // --- try to create one wire by connecting edges with a distance tolerance (no necessity of sharing points)
               ShapeAnalysis_FreeBounds::ConnectEdgesToWires(aSeqEdges, 1E-5, Standard_False, aSeqWires);
 
@@ -184,7 +189,7 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
                       aMakeFace.Build();
                       if (aMakeFace.IsDone())
                         {
-                          DEBTRACE("  a face from all the wires connected");
+                          //DEBTRACE("  a face from all the wires connected");
                           aResultFace = aMakeFace.Face();
                         }
                     }
@@ -193,7 +198,7 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
 
           if (aResultFace.IsNull())
             {
-            DEBTRACE("try to make a face with the first wire of the list and other wires as restrictions");
+              //DEBTRACE("try to make a face with the first wire of the list and other wires as restrictions");
               // --- try to make a face with the first wire of the list and other wires as restrictions
               BRepAlgo_FaceRestrictor aFR;
               TopoDS_Face aRefFace;
@@ -202,7 +207,7 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
               aMakeFace.Build();
               if (aMakeFace.IsDone())
                 {
-                  DEBTRACE("  a face with first wire");
+                  //DEBTRACE("  a face with first wire");
                   aRefFace = aMakeFace.Face();
                 }
               if (!aRefFace.IsNull())
@@ -221,7 +226,7 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
                     {
                       for (; aFR.More(); aFR.Next())
                         {
-                          DEBTRACE("  a restricted face");
+                          //DEBTRACE("  a restricted face");
                           aResultFace = aFR.Current();
                           break;
                         }
@@ -234,15 +239,17 @@ TopoDS_Shape HYDROData_ImmersibleZone::generateTopShape( const Handle(HYDROData_
   if (aResultFace.IsNull())
     return aResultFace;
 
-  DEBTRACE("check the face");
+  //DEBTRACE("check the face");
   BRepCheck_Analyzer anAnalyzer(aResultFace);
   if (anAnalyzer.IsValid() && aResultFace.ShapeType() == TopAbs_FACE)
-    {
-      DEBTRACE("face OK");
-      return aResultFace;
-    }
+  {
+    //DEBTRACE("face OK");
+    return aResultFace;
+  }
   else
-    DEBTRACE("bad face");
+  {
+    //DEBTRACE("bad face");
+  }
   return TopoDS_Face();
 }