]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Check visibility state all sub object for complex object
authorvsv <vsv@opencascade.com>
Tue, 31 Jul 2018 16:00:58 +0000 (19:00 +0300)
committervsv <vsv@opencascade.com>
Tue, 31 Jul 2018 16:00:58 +0000 (19:00 +0300)
src/PartSet/PartSet_TreeNodes.cpp

index 0eff4cb000814101874886c6ffa0f467094a3850..5e642c691aba56927ddd26dbe083d0db2579e517 100644 (file)
@@ -161,8 +161,13 @@ PartSet_ObjectNode::VisibilityState PartSet_ObjectNode::visibilityState() const
     if (aCompRes.get()) {
       VisibilityState aState = aCompRes->numberOfSubs(true) == 0 ?
         (aWork->isVisible(aCompRes) ? Visible : Hidden) : NoneState;
-      for (int i = 0; i < aCompRes->numberOfSubs(true); i++) {
-        ResultPtr aSubRes = aCompRes->subResult(i, true);
+      std::list<ResultPtr> aResultsList;
+      ModelAPI_Tools::allSubs(aCompRes, aResultsList);
+
+      std::list<ResultPtr>::const_iterator aIt;
+      //for (int i = 0; i < aCompRes->numberOfSubs(true); i++) {
+      for (aIt = aResultsList.cbegin(); aIt != aResultsList.cend(); aIt++) {
+        ResultPtr aSubRes = (*aIt); // aCompRes->subResult(i, true);
         VisibilityState aS = aWork->isVisible(aSubRes) ? Visible : Hidden;
         if (aState == NoneState)
           aState = aS;