0030425: Visualization - possibility to redefine AIS_Selection
authornds <nds@opencascade.com>
Tue, 25 Dec 2018 06:26:49 +0000 (09:26 +0300)
committerbugmaster <bugmaster@opencascade.com>
Tue, 6 Aug 2019 14:27:37 +0000 (17:27 +0300)
src/AIS/AIS_InteractiveContext.hxx
src/AIS/AIS_Selection.hxx

index 38e5a43..55ff732 100644 (file)
@@ -1209,6 +1209,13 @@ public: //! @name sub-intensity management (deprecated)
   Standard_EXPORT void SubIntensityOff (const Handle(AIS_InteractiveObject)& theIObj,
                                         const Standard_Boolean               theToUpdateViewer);
 
+  //! Returns selection instance
+  const Handle(AIS_Selection)& Selection() const { return mySelection; }
+
+  //! Sets selection instance to manipulate a container of selected owners
+  //! @param theSelection an instance of the selection
+  void SetSelection (const Handle(AIS_Selection)& theSelection) { mySelection = theSelection; }
+
 protected: //! @name internal methods
 
   Standard_EXPORT void GetDefModes (const Handle(AIS_InteractiveObject)& anIobj, Standard_Integer& Dmode, Standard_Integer& HiMod, Standard_Integer& SelMode) const;
index 92f2e0b..8e7cf50 100644 (file)
@@ -32,18 +32,18 @@ public:
   Standard_EXPORT AIS_Selection();
   
   //! removes all the object of the selection.
-  Standard_EXPORT void Clear();
+  Standard_EXPORT virtual void Clear();
   
   //! if the object is not yet in the selection, it will be added.
   //! if the object is already in the selection, it will be removed.
-  Standard_EXPORT AIS_SelectStatus Select (const Handle(SelectMgr_EntityOwner)& theObject);
+  Standard_EXPORT virtual AIS_SelectStatus Select (const Handle(SelectMgr_EntityOwner)& theObject);
   
   //! the object is always add int the selection.
   //! faster when the number of objects selected is great.
-  Standard_EXPORT AIS_SelectStatus AddSelect (const Handle(SelectMgr_EntityOwner)& theObject);
+  Standard_EXPORT virtual AIS_SelectStatus AddSelect (const Handle(SelectMgr_EntityOwner)& theObject);
 
   //! clears the selection and adds the object in the selection.
-  void ClearAndSelect (const Handle(SelectMgr_EntityOwner)& theObject)
+  virtual void ClearAndSelect (const Handle(SelectMgr_EntityOwner)& theObject)
   {
     Clear();
     Select (theObject);