+ ObjectPtr getObject(const AISObjectPtr& theIO) const;
+
+ /// Searches the feature by interactive object
+ /// \param theIO an interactive object
+ /// \return corresponded object or NULL if it not found
+ ObjectPtr getObject(const Handle(AIS_InteractiveObject)& theIO) const;
+
+ /// Deactivates the given object (not allow selection)
+ /// \param theObject object to deactivate
+ void deactivate(ObjectPtr theObject);
+
+ /// Activates the given object (it can be selected)
+ /// \param theObject object to activate
+ /// \param theModes - modes on which it has to be activated (can be empty)
+ //void activate(ObjectPtr theObject, const QIntList& theModes);
+
+ /// Returns the modes of activation
+ /// \param theObject the feature or NULL if it not visualized
+ /// \param theModes - modes on which it is activated (can be empty)
+ void getModesOfActivation(ObjectPtr theObject, QIntList& theModes);
+
+ /// Activates the given object with default modes
+ /// \param theObject object to activate
+ //void activate(ObjectPtr theObject);
+
+ /// Returns true if the given object can be selected
+ /// \param theObject object to check
+ bool isActive(ObjectPtr theObject) const;
+
+ /// Activates in local context displayed outside of the context.
+ /// \param theModes - modes on which it has to be activated (can be empty)
+ void activateObjects(const QIntList& theModes);
+
+ /// Activates in local context displayed outside of the context.
+ void deactivateObjects();
+
+ /// 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 dis played then returns NoMode.
+ /// \param theObject object to check
+ DisplayMode displayMode(ObjectPtr theObject) const;
+
+ /// Displays only objects listed in the list
+ /// \param theList list of objects
+ void showOnly(const QObjectPtrList& theList);