0027285: Visualization - selection of AIS_MultipleConnectedInteractive is broken
[occt.git] / src / SelectMgr / SelectMgr_SelectableObject.hxx
index 2db987a..f7b8e7e 100644 (file)
@@ -95,8 +95,8 @@ public:
   Standard_EXPORT const Handle(SelectMgr_Selection)& Selection (const Standard_Integer aMode) const;
   
   //! Returns true if a selection corresponding to the
-  //! selection mode aMode is present in this framework.
-  Standard_EXPORT Standard_Boolean HasSelection (const Standard_Integer aMode) const;
+  //! selection mode theMode was computed for this object.
+  Standard_EXPORT virtual Standard_Boolean HasSelection (const Standard_Integer theMode) const;
   
   //! Begins the iteration scanning for sensitive primitives.
     void Init();
@@ -189,17 +189,25 @@ public:
   //! if they are a part of activated selection
   Standard_EXPORT Bnd_Box BndBoxOfSelected (Handle(SelectMgr_IndexedMapOfOwner)& theOwners);
 
+  //! Returns the mode for selection of object as a whole
+  inline Standard_Integer GlobalSelectionMode() const;
+
+  //! Returns the owner of mode for selection of object as a whole
+  Standard_EXPORT virtual Handle(SelectMgr_EntityOwner) GlobalSelOwner() const;
+
 
 friend class SelectMgr_SelectionManager;
 
 
-  DEFINE_STANDARD_RTTI(SelectMgr_SelectableObject,PrsMgr_PresentableObject)
+  DEFINE_STANDARD_RTTIEXT(SelectMgr_SelectableObject,PrsMgr_PresentableObject)
 
 protected:
 
   
   Standard_EXPORT SelectMgr_SelectableObject(const PrsMgr_TypeOfPresentation3d aTypeOfPresentation3d = PrsMgr_TOP_AllView);
 
+  inline void setGlobalSelMode (const Standard_Integer theMode);
+
   SelectMgr_SequenceOfSelection myselections;
   Handle(Prs3d_Drawer) myDrawer;
   Handle(Prs3d_Drawer) myHilightDrawer;
@@ -213,6 +221,7 @@ private:
   Standard_Boolean myAutoHilight;
   Handle(Prs3d_Presentation) mySelectionPrs;
   Handle(Prs3d_Presentation) myHilightPrs;
+  Standard_Integer myGlobalSelMode;
 
 
 };