]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
tutorial: sections on river
authorPaul RASCLE <paul.rascle@edf.fr>
Tue, 28 Jun 2016 06:30:08 +0000 (08:30 +0200)
committerPaul RASCLE <paul.rascle@edf.fr>
Tue, 28 Jun 2016 06:30:08 +0000 (08:30 +0200)
doc/salome/tutorial/_static/objetsPont.png [new file with mode: 0644]
doc/salome/tutorial/_static/pilesDePont.png
doc/salome/tutorial/_static/raffinement.png [new file with mode: 0644]
doc/salome/tutorial/manipsPolys.rst
src/HYDROData/HYDROData_SplitToZonesTool.cxx

diff --git a/doc/salome/tutorial/_static/objetsPont.png b/doc/salome/tutorial/_static/objetsPont.png
new file mode 100644 (file)
index 0000000..ecfdbbe
Binary files /dev/null and b/doc/salome/tutorial/_static/objetsPont.png differ
index 03b4fcf7e542dc9aa86fa625d504007e2ea1ba23..111efc5c769252b20c3fe8f7198e90d9edff13f5 100644 (file)
Binary files a/doc/salome/tutorial/_static/pilesDePont.png and b/doc/salome/tutorial/_static/pilesDePont.png differ
diff --git a/doc/salome/tutorial/_static/raffinement.png b/doc/salome/tutorial/_static/raffinement.png
new file mode 100644 (file)
index 0000000..7ec5a9c
Binary files /dev/null and b/doc/salome/tutorial/_static/raffinement.png differ
index 81522389b84ddd6af8ff23d0fedda304889ccdbe..52df842e02cb0124abdb30b634f33c15c270a857 100644 (file)
@@ -41,6 +41,9 @@ Manipulations de Polylignes
 .. |zonePont| image:: /_static/zonePont.png
    :align: middle
 
+.. |raffinement| image:: /_static/raffinement.png
+   :align: middle
+
 .. |completeSplitDialog| image:: /_static/completeSplitDialog.png
    :align: middle
 
@@ -62,6 +65,9 @@ Manipulations de Polylignes
 .. |pilesDePont| image:: /_static/pilesDePont.png
    :align: middle
 
+.. |objetsPont| image:: /_static/objetsPont.png
+   :align: middle
+
 
 Nous n'avons abordé jusqu'à présent que des polylignes à une seule section.
 L'utilisation de plusieurs sections dans les polylignes permet de combiner des splines et des
@@ -152,6 +158,13 @@ de part et d'autre des rives. Nous nommons la polyligne correspondante *zonePont
 
   |zonePont|
 
+**La polyligne du lit mineur doit être suffisamment raffinée pour que le découpage soit précis, et
+pour éviter des problèmes plus tard à la création du cas de calcul.** Si besoin, il faut éditer la
+polyligne du lit mineur pour ajouter des points de part et d'autre des traits de coupe.
+**Il faut notamment éviter qu'il n'y ait pas de point entre deux traits de coupe d'une courbe spline**.
+
+  |raffinement|
+
 Nous utilisons alors la commande *Split polylignes* du menu contextuel de la polyligne *garonne*,
 et nous prenons l'onglet *Complete split*. Il faut sélectionner la polyligne *zonePont* et cliquer
 sur le bouton *include*, pour obtenir les deux polylignes dans la liste du dialogue.
@@ -191,6 +204,10 @@ Les trois nouvelles polylignes servent à définir trois zones immersibles,
 Si nous voulons représenter les piles du pont dans le maillage, il faut les représenter en tant que
 polylignes et définir des zones non immersibles.
 
+  |pilesDePont|
+
+  |objetsPont|
+
 Créer une zone spécifique au niveau d'un barrage sur le lit mineur
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 
index bef3e9a222b8dc9889fcad84385a75f56ea3cefb..ba3359c295842b39e27564f0de103373f189e50a 100644 (file)
@@ -47,6 +47,9 @@
 static TCollection_AsciiString fileNameBefore("BeforeTranslation");
 #endif
 
+#define _DEVDEBUG_
+#include "HYDRO_trace.hxx"
+
 TopoDS_Face HYDROData_SplitToZonesTool::SplitData::Face() const
 {
   TopoDS_Face aResFace;
@@ -129,6 +132,7 @@ HYDROData_SplitToZonesTool::SplitDataList
                                      const HYDROData_SequenceOfObjects&  theGroupsList,
                                      const Handle(HYDROData_PolylineXY)& thePolyline )
 {
+  DEBTRACE("Split");
   SplitDataList anOutputSplitDataList;
   if(theObjectList.IsEmpty()) return anOutputSplitDataList;
   // Preparation. 
@@ -150,7 +154,7 @@ HYDROData_SplitToZonesTool::SplitDataList
     if ( aShape.IsNull() )
       continue;  
 #ifdef DEB_SPLIT_TO_ZONES
-   TCollection_AsciiString aName = aNam + anIndex + ".brep";
+   TCollection_AsciiString aName = aNam + anIndex + "_a.brep";
    BRepTools::Write(aShape, aName.ToCString());
 #endif
     if ( aShape.ShapeType() == TopAbs_COMPOUND ) {
@@ -198,7 +202,7 @@ HYDROData_SplitToZonesTool::SplitDataList
         anInputGroupList.append( aSplitData );
 #ifdef DEB_SPLIT_TO_ZONES
         QString aStr = aSplitData.ObjectNames.join(" "); 
-        cout << "Group# = " <<anIndex <<" Nmb in grp = " << i<< " Names = "<<aStr.toStdString() << " size = " <<aSplitData.ObjectNames.size() <<endl;   
+        DEBTRACE("Group# = " <<anIndex <<" Nmb in grp = " << i<< " Names = "<<aStr.toStdString() << " size = " <<aSplitData.ObjectNames.size());
 #endif
       }
     }
@@ -237,12 +241,12 @@ HYDROData_SplitToZonesTool::SplitDataList
     aLS.Append(aSh);
     aBB.Add(aCmp,aSh);
 #ifdef DEB_SPLIT_TO_ZONES
-    //TCollection_AsciiString aName = aNam + i + ".brep";
-    //BRepTools::Write(aSh, aName.ToCString());
+    TCollection_AsciiString aName = aNam + i + "_b.brep";
+    BRepTools::Write(aSh, aName.ToCString());
 #endif
   }
 #ifdef DEB_SPLIT_TO_ZONES_CHECK_PARTITION
-  TCollection_AsciiString aNameBefore = fileNameBefore + ".brep";
+  TCollection_AsciiString aNameBefore = fileNameBefore + "_c.brep";
   BRepTools::Write(aCmp, aNameBefore.ToCString());
 #endif
 
@@ -258,7 +262,7 @@ HYDROData_SplitToZonesTool::SplitDataList
     BRepCheck_Analyzer aCheck (aResult);
     if(!aCheck.IsValid()) {
   #ifdef DEB_SPLIT_TO_ZONES
-      cout << "result is not valid" <<endl;
+      DEBTRACE("result is not valid");
       BRepTools::Write(aResult, "SplitFacesNV.brep");  
   #endif
       return anOutputSplitDataList;
@@ -306,14 +310,14 @@ HYDROData_SplitToZonesTool::SplitDataList
           aList.Clear();
           Standard_Boolean foundE(Standard_False);
           const TopTools_ListOfShape& aListM = splitTool.Modified(exp.Current());    
-          //cout << "NB_EDGE_M = " << aListM.Extent() <<endl;
+          DEBTRACE("NB_EDGE_M = " << aListM.Extent());
           if(aListM.Extent()) foundE = Standard_True;
           it.Initialize(aListM);    
           for(int k=1;it.More();it.Next(),k++) {    
             aList.Append(it.Value());
   #ifdef DEB_SPLIT_TO_ZONES
-            //aName = aNamM + i + j +k +".brep";
-            //BRepTools::Write(it.Value(),aName.ToCString());
+            aName = aNamM + i + j +k +"_d.brep";
+            BRepTools::Write(it.Value(),aName.ToCString());
   #endif
           }
           /* *********************************************************************
@@ -327,9 +331,9 @@ HYDROData_SplitToZonesTool::SplitDataList
           if(!foundE) {
             aList.Append (exp.Current());
   #ifdef DEB_SPLIT_TO_ZONES
-            aName = aNamG + i + j +".brep";
+            aName = aNamG + i + j +"_e.brep";
             BRepTools::Write(exp.Current(),aName.ToCString());
-            cout << aName.ToCString()<< " = " << exp.Current().TShape() <<endl;
+            DEBTRACE(aName.ToCString()<< " = " << exp.Current().TShape());
   #endif
           }
           aDM1.Add(exp.Current(), aList);
@@ -384,12 +388,12 @@ HYDROData_SplitToZonesTool::SplitDataList
               const TopoDS_Shape& aFace = exp.Current();
               if(!aFace.IsNull()) {
                 const TopTools_ListOfShape& aListOfNew = mkCom.Modified(aFace);
-                //cout << "Modified: " << aListOfNew.Extent() <<endl;                                    
+                DEBTRACE("Modified: " << aListOfNew.Extent());
                 if(!aListOfNew.IsEmpty()) {
                   aDM4.Add(aFace, aListOfNew);
 #ifdef DEB_SPLIT_TO_ZONES
-                  //TCollection_AsciiString aName = aNam + i + ".brep";
-                  //BRepTools::Write(aListOfNew.Last(), aName.ToCString());                
+                  TCollection_AsciiString aName = aNam + i + "_f.brep";
+                  BRepTools::Write(aListOfNew.Last(), aName.ToCString());
 #endif
                 }
                 else {
@@ -398,8 +402,8 @@ HYDROData_SplitToZonesTool::SplitDataList
                       if(!aListOfGen.IsEmpty()) {
                         /* aDM4.Bind(aFace, aListOfGen); ???   */
 #ifdef DEB_SPLIT_TO_ZONES
-                        //TCollection_AsciiString aName = aNam + i + "g.brep";
-                        //BRepTools::Write(aListOfGen.Last(), aName.ToCString());
+                        TCollection_AsciiString aName = aNam + i + "_g.brep";
+                        BRepTools::Write(aListOfGen.Last(), aName.ToCString());
 #endif
                       }
                        else {
@@ -447,9 +451,9 @@ HYDROData_SplitToZonesTool::SplitDataList
 #ifdef DEB_SPLIT_TO_ZONES
              TopTools_ListIteratorOfListOfShape itl(aListOfNewEd);
              for(int j=1;itl.More();itl.Next(),j++) {
-               TCollection_AsciiString aName = aNam + i + "_" + j + ".brep";
+               TCollection_AsciiString aName = aNam + i + "_" + j + "_j.brep";
                BRepTools::Write(itl.Value(), aName.ToCString());
-               cout <<aName.ToCString()<<" = "<< itl.Value().TShape() <<endl;
+               DEBTRACE(aName.ToCString()<<" = "<< itl.Value().TShape());
              }
 #endif
              if(!aListOfNewEd.IsEmpty())
@@ -557,7 +561,7 @@ HYDROData_SplitToZonesTool::SplitDataList
     else {
       aDestSplitData.Type = SplitData::Data_Edge;
 #ifdef DEB_SPLIT_TO_ZONES
-      TCollection_AsciiString aName = aNam4 + i + ".brep";
+      TCollection_AsciiString aName = aNam4 + i + "_k.brep";
       BRepTools::Write(aKey,aName.ToCString());
 #endif    
     }
@@ -571,19 +575,19 @@ HYDROData_SplitToZonesTool::SplitDataList
         const QStringList& ObjectNames = aDM3.FindFromKey(aSh);    
         aListOfNames.append(ObjectNames);
 #ifdef DEB_SPLIT_TO_ZONES
-        TCollection_AsciiString aName = aNam4 + i +"_" + j + ".brep";
+        TCollection_AsciiString aName = aNam4 + i +"_" + j + "_l.brep";
         BRepTools::Write(aSh ,aName.ToCString());        
 #endif    
       }    else {
 #ifdef DEB_SPLIT_TO_ZONES
-        TCollection_AsciiString aName = aNam4 +"__" + i +"_" + j + ".brep";
+        TCollection_AsciiString aName = aNam4 +"__" + i +"_" + j + "_m.brep";
         BRepTools::Write(aSh ,aName.ToCString());        
-        cout <<aName.ToCString()<<" = "<< aSh.TShape() <<endl;
+        DEBTRACE(aName.ToCString()<<" = "<< aSh.TShape());
 #endif
           if(aBndView.Contains(aSh) && hasLimits) {            
             aListOfNames.append(aBndName);
 #ifdef DEB_SPLIT_TO_ZONES
-            cout << " BndName = "<<aBndName.toStdString() <<endl; 
+            DEBTRACE(" BndName = "<<aBndName.toStdString());
 #endif
           }
       }
@@ -593,7 +597,7 @@ HYDROData_SplitToZonesTool::SplitDataList
     anOutputSplitDataList.append(aDestSplitData);    
 #ifdef DEB_SPLIT_TO_ZONES
     QString aStr = aDestSplitData.ObjectNames.join(" "); 
-    cout << "New# = " << i<< " Names = "<<aStr.toStdString() << " size = " <<aDestSplitData.ObjectNames.size() <<endl; 
+    DEBTRACE("New# = " << i<< " Names = "<<aStr.toStdString() << " size = " <<aDestSplitData.ObjectNames.size());
 #endif
   }