From 983aaaeb03a6a66a144880f4156b0eeb207d3170 Mon Sep 17 00:00:00 2001 From: nds Date: Wed, 16 Dec 2020 12:19:17 +0300 Subject: [PATCH] 0032001: Visualization - moving dump of selection owner from sensitive to selection manager --- src/Select3D/Select3D_SensitiveEntity.cxx | 2 +- src/SelectMgr/SelectMgr_Selection.cxx | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Select3D/Select3D_SensitiveEntity.cxx b/src/Select3D/Select3D_SensitiveEntity.cxx index 95d94d6300..97bc6a3684 100644 --- a/src/Select3D/Select3D_SensitiveEntity.cxx +++ b/src/Select3D/Select3D_SensitiveEntity.cxx @@ -39,7 +39,7 @@ void Select3D_SensitiveEntity::DumpJson (Standard_OStream& theOStream, Standard_ { OCCT_DUMP_TRANSIENT_CLASS_BEGIN (theOStream) - OCCT_DUMP_FIELD_VALUES_DUMPED (theOStream, theDepth, myOwnerId.get()) + OCCT_DUMP_FIELD_VALUE_POINTER (theOStream, myOwnerId.get()) OCCT_DUMP_FIELD_VALUE_NUMERICAL (theOStream, mySFactor) OCCT_DUMP_FIELD_VALUE_NUMERICAL (theOStream, NbSubElements()); diff --git a/src/SelectMgr/SelectMgr_Selection.cxx b/src/SelectMgr/SelectMgr_Selection.cxx index d31eeafd3b..61f3d2e909 100644 --- a/src/SelectMgr/SelectMgr_Selection.cxx +++ b/src/SelectMgr/SelectMgr_Selection.cxx @@ -124,6 +124,21 @@ void SelectMgr_Selection::DumpJson (Standard_OStream& theOStream, Standard_Integ { OCCT_DUMP_TRANSIENT_CLASS_BEGIN (theOStream) + NCollection_Map anOwners; + for (NCollection_Vector::Iterator anIterator (myEntities); anIterator.More(); anIterator.Next()) + { + const Handle(SelectMgr_SensitiveEntity)& anEntity = anIterator.Value(); + if (anEntity.IsNull() || anEntity->BaseSensitive().IsNull()) + { + continue; + } + const Handle(SelectMgr_EntityOwner)& anOwner = anEntity->BaseSensitive()->OwnerId(); + if (anOwners.Add (anOwner)) + { + OCCT_DUMP_FIELD_VALUES_DUMPED (theOStream, theDepth, anOwner.get()) + } + } + for (NCollection_Vector::Iterator anIterator (myEntities); anIterator.More(); anIterator.Next()) { const Handle(SelectMgr_SensitiveEntity)& anEntity = anIterator.Value();