Salome HOME
Recalculate DoF when removing feature without constraints (issue #1456)
[modules/shaper.git] / src / Model / Model_AttributeSelection.cpp
index 25f5d35339a28c04cd3e9a44af6e16c93b604f4f..be028e276f5cab1909cd0c0bdd9840588e7e1a4f 100644 (file)
@@ -181,11 +181,16 @@ void Model_AttributeSelection::setValue(const ResultPtr& theContext,
 
 std::shared_ptr<GeomAPI_Shape> Model_AttributeSelection::value()
 {
+  GeomShapePtr aResult;
   if (myTmpContext.get() || myTmpSubShape.get()) {
+    ResultConstructionPtr aResulConstruction = std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(myTmpContext);
+    if(aResulConstruction.get()) {
+      // it is just reference to construction.
+      return myTmpSubShape;
+    }
     return myTmpSubShape.get() ? myTmpSubShape : myTmpContext->shape();
   }
 
-  std::shared_ptr<GeomAPI_Shape> aResult;
   TDF_Label aSelLab = selectionLabel();
   if (aSelLab.IsAttribute(kINVALID_SELECTION))
     return aResult;