X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModel%2FModel_Objects.cpp;h=9d89e5c64c37a4d9499513f7b80eb0f52840d0b6;hb=e40b79a40fe27c188aa1c49643559be328bbcb06;hp=8b6d87d57f897f14ecf555dd68cd41c2b3678ccc;hpb=9cbc9e1512dc7c59c1fb3a0820b278251e32dbda;p=modules%2Fshaper.git diff --git a/src/Model/Model_Objects.cpp b/src/Model/Model_Objects.cpp index 8b6d87d57..9d89e5c64 100644 --- a/src/Model/Model_Objects.cpp +++ b/src/Model/Model_Objects.cpp @@ -1902,9 +1902,16 @@ void Model_Objects::updateResults(FeaturePtr theFeature, std::set& t if (aResSize > 0) { // check there exist a body that must be updated std::list::const_iterator aRes = theFeature->results().cbegin(); for (; aResSize && aRes != theFeature->results().cend(); aRes++, aResSize++) { - if ((*aRes)->data()->isValid() && (*aRes)->groupName() == ModelAPI_ResultBody::group()) { - ResultBodyPtr aBody = std::dynamic_pointer_cast(*aRes); - aBody->updateSubs(aBody->shape(), false); + if ((*aRes)->data()->isValid()) { + if ((*aRes)->groupName() == ModelAPI_ResultBody::group()) { + ResultBodyPtr aBody = std::dynamic_pointer_cast(*aRes); + aBody->updateSubs(aBody->shape(), false); + } else if ((*aRes)->groupName() == ModelAPI_ResultConstruction::group()) { + // update the cashed myShape presented in construction + ResultConstructionPtr aConstr = + std::dynamic_pointer_cast(*aRes); + aConstr->updateShape(); + } } } }