From 9785e5939bfc0e78d16fe5bf98adb7119f836e72 Mon Sep 17 00:00:00 2001 From: nds Date: Mon, 11 Nov 2019 14:52:52 +0300 Subject: [PATCH] 0031150: Visualization - provide interface to change selection entities sensitivity factor --- src/Select3D/Select3D_SensitiveBox.hxx | 3 +++ src/Select3D/Select3D_SensitiveCircle.cxx | 8 +++--- src/Select3D/Select3D_SensitiveCircle.hxx | 3 +++ src/Select3D/Select3D_SensitiveCurve.cxx | 6 ++--- src/Select3D/Select3D_SensitiveCurve.hxx | 3 +++ src/Select3D/Select3D_SensitiveEntity.cxx | 2 +- src/Select3D/Select3D_SensitiveEntity.hxx | 3 +++ src/Select3D/Select3D_SensitiveFace.hxx | 3 +++ src/Select3D/Select3D_SensitivePoint.cxx | 2 +- src/Select3D/Select3D_SensitivePoint.hxx | 3 +++ src/Select3D/Select3D_SensitivePoly.hxx | 3 +++ .../Select3D_SensitivePrimitiveArray.hxx | 3 +++ src/Select3D/Select3D_SensitiveSegment.hxx | 3 +++ src/Select3D/Select3D_SensitiveSet.hxx | 3 +++ src/Select3D/Select3D_SensitiveTriangle.hxx | 3 +++ .../Select3D_SensitiveTriangulation.hxx | 3 +++ src/Select3D/Select3D_SensitiveWire.hxx | 3 +++ src/SelectMgr/FILES | 1 + .../SelectMgr_MapOfSensitivityFactor.hxx | 26 +++++++++++++++++++ src/SelectMgr/SelectMgr_SelectableObject.hxx | 1 + src/SelectMgr/SelectMgr_Selection.cxx | 25 ++++++++++++++++++ src/SelectMgr/SelectMgr_Selection.hxx | 15 +++++++++++ src/SelectMgr/SelectMgr_SelectionManager.cxx | 11 +++++++- src/SelectMgr/SelectMgr_SelectionManager.hxx | 15 +++++++++++ 24 files changed, 141 insertions(+), 10 deletions(-) create mode 100644 src/SelectMgr/SelectMgr_MapOfSensitivityFactor.hxx diff --git a/src/Select3D/Select3D_SensitiveBox.hxx b/src/Select3D/Select3D_SensitiveBox.hxx index cb735264c2..e379ed1b4e 100644 --- a/src/Select3D/Select3D_SensitiveBox.hxx +++ b/src/Select3D/Select3D_SensitiveBox.hxx @@ -70,6 +70,9 @@ public: //! transformation is set, it will be applied Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE; + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitiveCircle.cxx b/src/Select3D/Select3D_SensitiveCircle.cxx index e1523f1e4b..2f7f10782c 100644 --- a/src/Select3D/Select3D_SensitiveCircle.cxx +++ b/src/Select3D/Select3D_SensitiveCircle.cxx @@ -108,7 +108,7 @@ Select3D_SensitiveCircle::Select3D_SensitiveCircle(const Handle(SelectMgr_Entity if (mySensType == Select3D_TOS_BOUNDARY) { - SetSensitivityFactor (6); + SetSensitivityFactor (Sensitivity()); } } @@ -166,7 +166,7 @@ Select3D_SensitiveCircle::Select3D_SensitiveCircle (const Handle(SelectMgr_Entit if (mySensType == Select3D_TOS_BOUNDARY) { - SetSensitivityFactor (6); + SetSensitivityFactor (Sensitivity()); } } @@ -190,7 +190,7 @@ Select3D_SensitiveCircle::Select3D_SensitiveCircle(const Handle(SelectMgr_Entity if (mySensType == Select3D_TOS_BOUNDARY) { - SetSensitivityFactor (6); + SetSensitivityFactor (Sensitivity()); } } @@ -215,7 +215,7 @@ Select3D_SensitiveCircle::Select3D_SensitiveCircle(const Handle(SelectMgr_Entity if (mySensType == Select3D_TOS_BOUNDARY) { - SetSensitivityFactor (6); + SetSensitivityFactor (Sensitivity()); } } diff --git a/src/Select3D/Select3D_SensitiveCircle.hxx b/src/Select3D/Select3D_SensitiveCircle.hxx index 9f9e2884fd..87c65961df 100644 --- a/src/Select3D/Select3D_SensitiveCircle.hxx +++ b/src/Select3D/Select3D_SensitiveCircle.hxx @@ -89,6 +89,9 @@ public: //! Builds BVH tree for a circle's edge segments if needed Standard_EXPORT virtual void BVH() Standard_OVERRIDE; + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 6; } + protected: //! Calculates distance from the 3d projection of used-picked screen point diff --git a/src/Select3D/Select3D_SensitiveCurve.cxx b/src/Select3D/Select3D_SensitiveCurve.cxx index 06669d2e95..c33e5ca10f 100644 --- a/src/Select3D/Select3D_SensitiveCurve.cxx +++ b/src/Select3D/Select3D_SensitiveCurve.cxx @@ -32,7 +32,7 @@ Select3D_SensitiveCurve::Select3D_SensitiveCurve (const Handle(SelectMgr_EntityO myCurve (theCurve) { loadPoints (theCurve, theNbPnts); - SetSensitivityFactor (3); + SetSensitivityFactor (Sensitivity()); } //================================================== @@ -44,7 +44,7 @@ Select3D_SensitiveCurve::Select3D_SensitiveCurve (const Handle(SelectMgr_EntityO : Select3D_SensitivePoly (theOwnerId, thePoints, Standard_True) { - SetSensitivityFactor (3); + SetSensitivityFactor (Sensitivity()); } //================================================== @@ -55,7 +55,7 @@ Select3D_SensitiveCurve::Select3D_SensitiveCurve (const Handle(SelectMgr_EntityO const TColgp_Array1OfPnt& thePoints) : Select3D_SensitivePoly (theOwnerId, thePoints, Standard_True) { - SetSensitivityFactor (3); + SetSensitivityFactor (Sensitivity()); } //================================================== diff --git a/src/Select3D/Select3D_SensitiveCurve.hxx b/src/Select3D/Select3D_SensitiveCurve.hxx index 1e63a87bdc..3e97208988 100644 --- a/src/Select3D/Select3D_SensitiveCurve.hxx +++ b/src/Select3D/Select3D_SensitiveCurve.hxx @@ -53,6 +53,9 @@ public: //! Returns the copy of this Standard_EXPORT virtual Handle(Select3D_SensitiveEntity) GetConnected() Standard_OVERRIDE; + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 3; } + private: void loadPoints (const Handle(Geom_Curve)& aCurve, diff --git a/src/Select3D/Select3D_SensitiveEntity.cxx b/src/Select3D/Select3D_SensitiveEntity.cxx index 43804bad69..421847c9cf 100644 --- a/src/Select3D/Select3D_SensitiveEntity.cxx +++ b/src/Select3D/Select3D_SensitiveEntity.cxx @@ -26,7 +26,7 @@ IMPLEMENT_STANDARD_RTTIEXT(Select3D_SensitiveEntity, Standard_Transient) //======================================================================= Select3D_SensitiveEntity::Select3D_SensitiveEntity (const Handle(SelectMgr_EntityOwner)& theOwnerId) : myOwnerId (theOwnerId), - mySFactor (2) + mySFactor (Sensitivity()) { // } diff --git a/src/Select3D/Select3D_SensitiveEntity.hxx b/src/Select3D/Select3D_SensitiveEntity.hxx index 277a9d87de..4c3a8d4a91 100644 --- a/src/Select3D/Select3D_SensitiveEntity.hxx +++ b/src/Select3D/Select3D_SensitiveEntity.hxx @@ -91,6 +91,9 @@ public: //! Otherwise, returns identity matrix. virtual gp_GTrsf InvInitLocation() const { return gp_GTrsf(); } + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const; diff --git a/src/Select3D/Select3D_SensitiveFace.hxx b/src/Select3D/Select3D_SensitiveFace.hxx index 2a0af16113..6e59cf1961 100644 --- a/src/Select3D/Select3D_SensitiveFace.hxx +++ b/src/Select3D/Select3D_SensitiveFace.hxx @@ -73,6 +73,9 @@ public: //! Returns the amount of sub-entities (points or planar convex polygons) Standard_EXPORT virtual Standard_Integer NbSubElements() Standard_OVERRIDE; + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitivePoint.cxx b/src/Select3D/Select3D_SensitivePoint.cxx index 72facedce0..492e57f418 100644 --- a/src/Select3D/Select3D_SensitivePoint.cxx +++ b/src/Select3D/Select3D_SensitivePoint.cxx @@ -26,7 +26,7 @@ Select3D_SensitivePoint::Select3D_SensitivePoint (const Handle(SelectMgr_EntityO const gp_Pnt& thePoint) : Select3D_SensitiveEntity (theOwner) { - SetSensitivityFactor (12); + SetSensitivityFactor (Sensitivity()); myPoint = thePoint; } diff --git a/src/Select3D/Select3D_SensitivePoint.hxx b/src/Select3D/Select3D_SensitivePoint.hxx index 5906c5181d..934362ff66 100644 --- a/src/Select3D/Select3D_SensitivePoint.hxx +++ b/src/Select3D/Select3D_SensitivePoint.hxx @@ -50,6 +50,9 @@ public: //! transformation is set, it will be applied Standard_EXPORT virtual Select3D_BndBox3d BoundingBox() Standard_OVERRIDE; + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 12; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitivePoly.hxx b/src/Select3D/Select3D_SensitivePoly.hxx index 7b71d10920..c54fc5a843 100644 --- a/src/Select3D/Select3D_SensitivePoly.hxx +++ b/src/Select3D/Select3D_SensitivePoly.hxx @@ -92,6 +92,9 @@ public: Standard_EXPORT virtual void Swap (const Standard_Integer theIdx1, const Standard_Integer theIdx2) Standard_OVERRIDE; + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitivePrimitiveArray.hxx b/src/Select3D/Select3D_SensitivePrimitiveArray.hxx index b06a1a269a..a7696e2723 100644 --- a/src/Select3D/Select3D_SensitivePrimitiveArray.hxx +++ b/src/Select3D/Select3D_SensitivePrimitiveArray.hxx @@ -197,6 +197,9 @@ public: //! Return the second node of last topmost detected edge or -1 if undefined (axis picking). Standard_Integer LastDetectedEdgeNode2() const { return myDetectedEdgeNode2; } + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitiveSegment.hxx b/src/Select3D/Select3D_SensitiveSegment.hxx index 17ff4c3b96..7bccf54256 100644 --- a/src/Select3D/Select3D_SensitiveSegment.hxx +++ b/src/Select3D/Select3D_SensitiveSegment.hxx @@ -70,6 +70,9 @@ public: //! changes the end point of the segment void EndPoint (const gp_Pnt& thePnt) { myEnd = thePnt; } + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitiveSet.hxx b/src/Select3D/Select3D_SensitiveSet.hxx index 261c4cb315..c4cbd8cdb8 100644 --- a/src/Select3D/Select3D_SensitiveSet.hxx +++ b/src/Select3D/Select3D_SensitiveSet.hxx @@ -96,6 +96,9 @@ public: //! Returns a number of nodes in 1 BVH leaf Standard_Integer GetLeafNodeSize() const { return myContent.Builder()->LeafNodeSize(); } + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitiveTriangle.hxx b/src/Select3D/Select3D_SensitiveTriangle.hxx index 6e0b789769..0636b7a08c 100644 --- a/src/Select3D/Select3D_SensitiveTriangle.hxx +++ b/src/Select3D/Select3D_SensitiveTriangle.hxx @@ -67,6 +67,9 @@ public: virtual gp_Pnt CenterOfGeometry() const Standard_OVERRIDE { return myCentroid; } + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitiveTriangulation.hxx b/src/Select3D/Select3D_SensitiveTriangulation.hxx index 92ef699d55..403ba717ac 100644 --- a/src/Select3D/Select3D_SensitiveTriangulation.hxx +++ b/src/Select3D/Select3D_SensitiveTriangulation.hxx @@ -93,6 +93,9 @@ public: const TopLoc_Location& GetInitLocation() const { return myInitLocation; } + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/Select3D/Select3D_SensitiveWire.hxx b/src/Select3D/Select3D_SensitiveWire.hxx index eca3ac58e7..ede721b5a4 100644 --- a/src/Select3D/Select3D_SensitiveWire.hxx +++ b/src/Select3D/Select3D_SensitiveWire.hxx @@ -68,6 +68,9 @@ public: Standard_EXPORT virtual void Swap (const Standard_Integer theIdx1, const Standard_Integer theIdx2) Standard_OVERRIDE; + //! Returns default sensitivity factor of the type + static Standard_Integer Sensitivity() { return 2; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const Standard_OVERRIDE; diff --git a/src/SelectMgr/FILES b/src/SelectMgr/FILES index 1978fa8d59..85181f39a6 100755 --- a/src/SelectMgr/FILES +++ b/src/SelectMgr/FILES @@ -17,6 +17,7 @@ SelectMgr_IndexedDataMapOfOwnerCriterion.hxx SelectMgr_IndexedMapOfOwner.hxx SelectMgr_ListIteratorOfListOfFilter.hxx SelectMgr_ListOfFilter.hxx +SelectMgr_MapOfSensitivityFactor.hxx SelectMgr_OrFilter.cxx SelectMgr_OrFilter.hxx SelectMgr_PickingStrategy.hxx diff --git a/src/SelectMgr/SelectMgr_MapOfSensitivityFactor.hxx b/src/SelectMgr/SelectMgr_MapOfSensitivityFactor.hxx new file mode 100644 index 0000000000..ac5bca6e60 --- /dev/null +++ b/src/SelectMgr/SelectMgr_MapOfSensitivityFactor.hxx @@ -0,0 +1,26 @@ +// Copyright (c) 1996-1999 Matra Datavision +// Copyright (c) 1999-2014 OPEN CASCADE SAS +// +// This file is part of Open CASCADE Technology software library. +// +// This library is free software; you can redistribute it and/or modify it under +// the terms of the GNU Lesser General Public License version 2.1 as published +// by the Free Software Foundation, with special exception defined in the file +// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT +// distribution for complete text of the license and disclaimer of any warranty. +// +// Alternatively, this file may be used under the terms of Open CASCADE +// commercial license or contractual agreement. + +#ifndef SelectMgr_MapOfSensitivityFactor_HeaderFile +#define SelectMgr_MapOfSensitivityFactor_HeaderFile + +#include +#include +#include +#include + +typedef NCollection_DataMap SelectMgr_MapOfSensitivityFactor; + + +#endif diff --git a/src/SelectMgr/SelectMgr_SelectableObject.hxx b/src/SelectMgr/SelectMgr_SelectableObject.hxx index 73885090a2..aacce9f14b 100644 --- a/src/SelectMgr/SelectMgr_SelectableObject.hxx +++ b/src/SelectMgr/SelectMgr_SelectableObject.hxx @@ -211,6 +211,7 @@ protected: protected: SelectMgr_SequenceOfSelection myselections; //!< list of selections + NCollection_Map mySensitivityFactors; //!< container of sensitive factor values Handle(Prs3d_Presentation) mySelectionPrs; //!< optional presentation for highlighting selected object Handle(Prs3d_Presentation) myHilightPrs; //!< optional presentation for highlighting detected object Standard_Integer myGlobalSelMode; //!< global selection mode diff --git a/src/SelectMgr/SelectMgr_Selection.cxx b/src/SelectMgr/SelectMgr_Selection.cxx index 7a1cef72f1..1e0ef0d4a0 100644 --- a/src/SelectMgr/SelectMgr_Selection.cxx +++ b/src/SelectMgr/SelectMgr_Selection.cxx @@ -81,6 +81,10 @@ void SelectMgr_Selection::Add (const Handle(Select3D_SensitiveEntity)& theSensit } else { + Standard_Integer aSensitivityFactor; + if (mySensitivityFactors.Find (anEntity->DynamicType()->Name(), aSensitivityFactor)) + anEntity->BaseSensitive()->SetSensitivityFactor (aSensitivityFactor); + mySensFactor = Max (mySensFactor, anEntity->BaseSensitive()->SensitivityFactor()); } } @@ -117,6 +121,27 @@ void SelectMgr_Selection::SetSensitivity (const Standard_Integer theNewSens) } } +// ======================================================================= +// function : SensitivityFactor +// purpose : +// ======================================================================= +Standard_Boolean SelectMgr_Selection::SensitivityFactor (const TCollection_AsciiString& theType, Standard_Integer& theValue) +{ + return mySensitivityFactors.Find (theType, theValue); +} + +// ======================================================================= +// function : DumpJson +// purpose : +// ======================================================================= +void SelectMgr_Selection::SetSensitivityFactor (const TCollection_AsciiString& theType, const Standard_Integer theValue) +{ + if (!mySensitivityFactors.IsBound (theType)) + { + mySensitivityFactors.Bind (theType, theValue); + } +} + // ======================================================================= // function : DumpJson // purpose : diff --git a/src/SelectMgr/SelectMgr_Selection.hxx b/src/SelectMgr/SelectMgr_Selection.hxx index e5ec664251..dd603b4502 100644 --- a/src/SelectMgr/SelectMgr_Selection.hxx +++ b/src/SelectMgr/SelectMgr_Selection.hxx @@ -18,6 +18,7 @@ #define _SelectMgr_Selection_HeaderFile #include +#include #include #include #include @@ -139,12 +140,26 @@ public: //! proper updates use SelectMgr_SelectionManager::SetSelectionSensitivity method. Standard_EXPORT void SetSensitivity (const Standard_Integer theNewSens); + //!< Returns container of default sensitive factor values + const SelectMgr_MapOfSensitivityFactor& SensitivityFactors() const { return mySensitivityFactors; } + + //!< Sets sensitive factor value for some type + Standard_EXPORT Standard_Boolean SensitivityFactor (const TCollection_AsciiString& theType, Standard_Integer& theValue); + + //!< Sets sensitive factor value for some type + Standard_EXPORT void SetSensitivityFactor (const TCollection_AsciiString& theType, const Standard_Integer theValue); + + //!< Returns container of default sensitive factor values + void SetSensitivityFactors (const SelectMgr_MapOfSensitivityFactor& theValues) { mySensitivityFactors = theValues; } + //! Dumps the content of me into the stream Standard_EXPORT virtual void DumpJson (Standard_OStream& theOStream, const Standard_Integer theDepth = -1) const; private: NCollection_Vector myEntities; + + SelectMgr_MapOfSensitivityFactor mySensitivityFactors; Standard_Integer myEntityIter; Standard_Integer myMode; SelectMgr_TypeOfUpdate myUpdateStatus; diff --git a/src/SelectMgr/SelectMgr_SelectionManager.cxx b/src/SelectMgr/SelectMgr_SelectionManager.cxx index 195ed54c75..5bbeec58fd 100644 --- a/src/SelectMgr/SelectMgr_SelectionManager.cxx +++ b/src/SelectMgr/SelectMgr_SelectionManager.cxx @@ -27,7 +27,7 @@ IMPLEMENT_STANDARD_RTTIEXT(SelectMgr_SelectionManager,Standard_Transient) // Purpose : //================================================== SelectMgr_SelectionManager::SelectMgr_SelectionManager (const Handle(SelectMgr_ViewerSelector)& theSelector) -: mySelector (theSelector) +: mySelector (theSelector), myDefaultSensitivityFactor (2) { // } @@ -558,6 +558,15 @@ void SelectMgr_SelectionManager::SetSelectionSensitivity (const Handle(SelectMgr } } +//======================================================================= +//function : SetDefaultSelectionSensitivity +//purpose : +//======================================================================= +void SelectMgr_SelectionManager::SetDefaultSensitivityFactor (const TCollection_AsciiString& theType, const Standard_Integer theValue) +{ + mySensitivityFactors.Bind (theType, theValue); +} + //======================================================================= //function : UpdateSelection //purpose : diff --git a/src/SelectMgr/SelectMgr_SelectionManager.hxx b/src/SelectMgr/SelectMgr_SelectionManager.hxx index 7c81974652..f53a7c0afe 100644 --- a/src/SelectMgr/SelectMgr_SelectionManager.hxx +++ b/src/SelectMgr/SelectMgr_SelectionManager.hxx @@ -17,6 +17,7 @@ #ifndef _SelectMgr_SelectionManager_HeaderFile #define _SelectMgr_SelectionManager_HeaderFile +#include #include #include @@ -99,6 +100,18 @@ public: const Standard_Integer theMode, const Standard_Integer theNewSens); + //!< Sets default sensitive factor, used for types where other is not defined + Standard_Integer DefaultSensitivityFactor() const { return myDefaultSensitivityFactor; } + + //!< Returns default sensitive factor + void SetDefaultSensitivityFactor (const Standard_Integer theValue) { myDefaultSensitivityFactor = theValue; } + + //!< Sets sensitive factor values for some type + Standard_EXPORT void SetDefaultSensitivityFactor (const TCollection_AsciiString& theType, const Standard_Integer theValue); + + //!< Returns container of default sensitive factor values + const SelectMgr_MapOfSensitivityFactor& DefaultSensitivityFactors() const { return mySensitivityFactors; } + //! Re-adds selectable object in BVHs in all viewer selectors. Standard_EXPORT void UpdateSelection (const Handle(SelectMgr_SelectableObject)& theObj); @@ -121,6 +134,8 @@ private: Handle(SelectMgr_ViewerSelector) mySelector; NCollection_Map myGlobal; + SelectMgr_MapOfSensitivityFactor mySensitivityFactors; //!< container of sensitive factor values + Standard_Integer myDefaultSensitivityFactor; }; -- 2.39.5