]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Fix the naming issues of Extrusion created on sketch: sketch result was updated too...
authormpv <mpv@opencascade.com>
Fri, 29 May 2015 14:37:39 +0000 (17:37 +0300)
committermpv <mpv@opencascade.com>
Fri, 29 May 2015 14:38:41 +0000 (17:38 +0300)
src/FeaturesPlugin/FeaturesPlugin_Extrusion.cpp
src/Model/Model_Update.cpp

index b5250e8c37263d9831aa051be6a574cc3b7ce8b5..1decb449c2ebb77ed1bdd4a67ffa1312a507d4b1 100644 (file)
@@ -181,7 +181,7 @@ void FeaturesPlugin_Extrusion::LoadNamingDS(GeomAlgoAPI_Prism& theFeature,
   if(theBasis->isEqual(theContext))
     theResultBody->store(theFeature.shape());
   else
-    theResultBody->storeGenerated(theContext, theFeature.shape());
+    theResultBody->storeGenerated(theBasis, theFeature.shape());
 
   GeomAPI_DataMapOfShapeShape* aSubShapes = new GeomAPI_DataMapOfShapeShape();
   theFeature.mapOfShapes(*aSubShapes);
index ffbb7de24af2cbf8570cc12263493cf4e940ae29..d3cc6c9c166782b76a9148ccd46bfdf7cbab6740 100644 (file)
@@ -402,10 +402,13 @@ void Model_Update::updateFeature(FeaturePtr theFeature)
     for(; aRef != aRefs.end(); aRef++) {
       std::list<ObjectPtr>::iterator aRefObj = aRef->second.begin();
       for(; aRefObj != aRef->second.end(); aRefObj++) {
-        // if reference is null, it may bmean that this reference is to other document
+        // if reference is null, it may mean that this reference is to other document
         // the does not supported by RefList: peremeters may be recomputed
-        if (!aRefObj->get() || myJustCreated.find(*aRefObj) != myJustCreated.end() ||
-            myJustUpdated.find(*aRefObj) != myJustUpdated.end()) {
+        if (!aRefObj->get() && theFeature->firstResult().get() && 
+            theFeature->firstResult()->groupName() == ModelAPI_ResultParameter::group()) {
+          aJustUpdated = true;
+        } else if (myJustCreated.find(*aRefObj) != myJustCreated.end() ||
+            myJustUpdated.find(*aRefObj) != myJustUpdated.end()) { 
           aJustUpdated = true;
         }
         aState = stateByReference(*aRefObj, aState);