From: Artem Zhidkov Date: Tue, 28 Jul 2020 19:34:56 +0000 (+0300) Subject: Issue #3278: Wire disappears from the viewer during 1D-Fillet operation X-Git-Tag: V9_6_0a1~35 X-Git-Url: http://git.salome-platform.org/gitweb/?a=commitdiff_plain;h=3c2128e2800acfb248e5cb785434ddbe99586f59;p=modules%2Fshaper.git Issue #3278: Wire disappears from the viewer during 1D-Fillet operation Do not set 'isConcealed' flag if the attribute referring to a result is not the case for the current operation. --- diff --git a/src/Model/Model_Data.cpp b/src/Model/Model_Data.cpp index b84d441c1..4ca69f024 100644 --- a/src/Model/Model_Data.cpp +++ b/src/Model/Model_Data.cpp @@ -649,8 +649,10 @@ void Model_Data::updateConcealmentFlag() if (aRefsIter->get()) { FeaturePtr aFeature = std::dynamic_pointer_cast((*aRefsIter)->owner()); if (aFeature.get() && !aFeature->isDisabled() && aFeature->isStable()) { - if (ModelAPI_Session::get()->validators()->isConcealed( - aFeature->getKind(), (*aRefsIter)->id())) { + ModelAPI_ValidatorsFactory* aValidators = ModelAPI_Session::get()->validators(); + bool isCase = aValidators->isCase(aFeature, (*aRefsIter)->id()); + bool isConcealed = aValidators->isConcealed(aFeature->getKind(), (*aRefsIter)->id()); + if (isCase && isConcealed) { std::shared_ptr aRes = std::dynamic_pointer_cast(myObject); if (aRes.get()) {