]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
The workarounds for partition history has been rolled back in view of Linux CAS diffe...
authoradv <adv@opencascade.com>
Fri, 31 Jan 2014 11:11:18 +0000 (11:11 +0000)
committeradv <adv@opencascade.com>
Fri, 31 Jan 2014 11:11:18 +0000 (11:11 +0000)
src/HYDROData/HYDROData_SplitToZonesTool.cxx

index ae9518b34665fe76c66e5e773a8b910b9bdd2a46..16062cf5b19877fd96cb7f8a74be1b6e9aa15890 100644 (file)
@@ -260,10 +260,19 @@ HYDROData_SplitToZonesTool::SplitDataList
       const TopTools_ListOfShape& aListOfNew = splitTool.Modified(anIt.Value());
       if(!aListOfNew.IsEmpty())
         foundF = Standard_True;
+
       TopTools_ListOfShape aList;
+
       TopTools_ListIteratorOfListOfShape it(aListOfNew);
       for(;it.More();it.Next())       
-        aList.Append(it.Value());    
+        aList.Append(it.Value());
+      // Bug in History: partition should give only modified entities! => temporary solution is used
+      const TopTools_ListOfShape& aListOfGen = splitTool.Generated(anIt.Value());
+      if(!aListOfGen.IsEmpty())
+        foundF = Standard_True;
+      it.Initialize(aListOfGen);    
+      for(;it.More();it.Next())     
+        aList.Append(it.Value());
       if(!foundF) // face is not modified
         aList.Append (anIt.Value());
       aDM1.Bind(anIt.Value(), aList);
@@ -286,6 +295,11 @@ HYDROData_SplitToZonesTool::SplitDataList
             //BRepTools::Write(it.Value(),aName.ToCString());
   #endif
           }
+          const TopTools_ListOfShape& aListG = splitTool.Generated(exp.Current());
+          if(aListG.Extent()) foundE = Standard_True;
+          it.Initialize(aListG);    
+          for(int k=1;it.More();it.Next(),k++)
+            aList.Append(it.Value());
           //cout << "NB_EDGE = " << aList.Extent() <<endl;
           if(!foundE) {
             aList.Append (exp.Current());