-protected:
- /// Activate local selection
- /// \param theAIS the list of objects
- /// \param theMode the selection mode
- /// \param isUpdateViewer the state wether the viewer should be updated immediatelly
- void activateInLocalContext(const AIS_ListOfInteractive& theAISObjects, const int theMode,
- const bool isUpdateViewer);
+ /// Updates the viewer
+ void updateViewer();
+
+ /// Searches the interactive object by feature
+ /// \param theFeature the feature or NULL if it not visualized
+ /// \return theIO an interactive object
+ boost::shared_ptr<GeomAPI_AISObject> getAISObject(ObjectPtr theFeature) const;
+
+ /// Searches the feature by interactive object
+ /// \param theIO an interactive object
+ /// \return feature the feature or NULL if it not visualized
+ ObjectPtr getObject(Handle(AIS_InteractiveObject) theIO) const;
+
+ /// Deactivates the given object (not allow selection)
+ void deactivate(ObjectPtr theFeature);
+
+ /// Activates the given object (it can be selected)
+ void activate(ObjectPtr theFeature);
+
+ /// Returns true if the given object can be selected
+ bool isActive(ObjectPtr theObject) const;
+
+ /// Activates in local context displayed outside of the context.
+ /// \param theModes - selection modes to activate
+ /// \param theFilter - filter for selection
+ void activateObjectsOutOfContext(const std::list<int>& theModes,
+ Handle(SelectMgr_Filter) theFilter);
+
+ void deactivateObjectsOutOfContext();
+
+ /// Sets display mode for the given object if this object is displayed
+ void setDisplayMode(ObjectPtr theObject, DisplayMode theMode, bool toUpdate = true);
+
+ /// Returns current display mode for the given object.
+ /// If object is not displayed then returns NoMode.
+ DisplayMode displayMode(ObjectPtr theObject) const;
+
+
+ int objectsCount() const { return myResult2AISObjectMap.size(); }
+
+ protected: