Salome HOME
Provide selection of features for invisible objects
authorvsv <vsv@opencascade.com>
Wed, 9 Oct 2019 08:53:51 +0000 (11:53 +0300)
committervsv <vsv@opencascade.com>
Wed, 6 Nov 2019 08:27:43 +0000 (11:27 +0300)
src/ModuleBase/ModuleBase_ISelection.cpp

index a44dd7d8a1c42cb9676c4b059f0a83f08be3c834..635991721be9e7b932cd8e82097bb06b396416fe 100644 (file)
@@ -57,6 +57,12 @@ ResultPtr ModuleBase_ISelection::getResult(const ModuleBase_ViewerPrsPtr& thePrs
   if (thePrs->object().get()) {
     ObjectPtr aObject = thePrs->object();
     aResult = std::dynamic_pointer_cast<ModelAPI_Result>(aObject);
+    if (!aResult.get()) {
+      FeaturePtr aFeature = std::dynamic_pointer_cast<ModelAPI_Feature>(aObject);
+      if (aFeature.get()) {
+        aResult = aFeature->firstResult();
+      }
+    }
   }
   else if (!thePrs->owner().IsNull()) {
     ObjectPtr anObject = getSelectableObject(thePrs->owner());