]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Fix for the ability to duplicate part which was translated.
authormpv <mpv@opencascade.com>
Mon, 19 Dec 2016 15:59:37 +0000 (18:59 +0300)
committermpv <mpv@opencascade.com>
Mon, 19 Dec 2016 15:59:37 +0000 (18:59 +0300)
The problem was in not-disabling of translation feature when the original part was activated.

src/ModelAPI/ModelAPI_ResultPart.cpp
src/ModelAPI/ModelAPI_ResultPart.h
src/ModelAPI/ModelAPI_Tools.cpp

index 3639c47b1c8c9f5b49958dea7204cc22e83201c5..9790051d7d3b7511d6f075452b9eeea9e1e93216 100644 (file)
@@ -12,9 +12,3 @@ std::string ModelAPI_ResultPart::groupName()
 {
   return ModelAPI_ResultPart::group();
 }
-
-bool ModelAPI_ResultPart::isConcealed()
-{
-  //return false;
-  return ModelAPI_Result::isConcealed(); // the way with different results is applied
-}
index 4345f303c81fa33de5942164ce5b79db8b39daad..f86754e8059d780aa095e37603142af771b8f14c 100644 (file)
@@ -46,9 +46,6 @@ class ModelAPI_ResultPart : public ModelAPI_Result
     return RESULT_BODY_COLOR;
   }
 
-  // Part result can not be cencealed, even by the movement features
-  MODELAPI_EXPORT virtual bool isConcealed();
-
   /// Returns the part-document of this result
   virtual std::shared_ptr<ModelAPI_Document> partDoc() = 0;
 
index cc56c2a37f0c38d75aaf5301001fb4a60bbd1df4..f6182527a75ea69810fb0aa73930fa0a0bfe742b 100755 (executable)
@@ -224,7 +224,9 @@ FeaturePtr findPartFeature(const DocumentPtr& theMain, const DocumentPtr& theSub
   // to optimize and avoid of crash on partset document close
   // (don't touch the sub-document structure)
   if (theMain != theSub) {
-    for (int a = theMain->size(ModelAPI_Feature::group()) - 1; a >= 0; a--) {
+    // iteration from top to bottom to avoid finding the movement documents before the original
+    int aSize = theMain->size(ModelAPI_Feature::group());
+    for (int a = 0; a < aSize; a++) {
       FeaturePtr aPartFeat = std::dynamic_pointer_cast<ModelAPI_Feature>(
           theMain->object(ModelAPI_Feature::group(), a));
       if (aPartFeat.get()) {