+ /// Set AIS_InteractiveContext object in case if it was changed
+ /// or can not be initialized in constructor
+ void setAISContext(const Handle(AIS_InteractiveContext)& theAIS);
+
+ /// Returns the feature visibility state.
+ /// \param theFeature a feature instance
+ bool isVisible(FeaturePtr theFeature);
+
+ /// Display the feature. Obtain the visualized object from the feature.
+ /// \param theFeature a feature instance
+ /// \param isUpdateViewer the parameter whether the viewer should be update immediatelly
+ void display(FeaturePtr theFeature, bool isUpdateViewer = true);
+
+ /// Display the feature and a shape. This shape would be associated to the given feature
+ /// \param theFeature a feature instance
+ /// \param theShape a shape
+ /// \param isUpdateViewer the parameter whether the viewer should be update immediatelly
+ void display(FeaturePtr theFeature, const TopoDS_Shape& theShape, bool isUpdateViewer = true);
+
+ /// Returns a list of viewer selected presentations
+ /// \param theShapeTypeToSkip the shapes with this type will be skipped during the result list build
+ /// \return list of presentations
+ std::list<XGUI_ViewerPrs> getSelected(const int theShapeTypeToSkip = -1);
+
+ /**
+ * Returns list of features currently selected in 3d viewer
+ */
+ QFeatureList selectedFeatures() const;
+
+ /// Returns a list of viewer highlited presentations
+ /// \param theShapeTypeToSkip the shapes with this type will be skipped during the result list build
+ /// \return list of presentations
+ std::list<XGUI_ViewerPrs> getHighlighted(const int theShapeTypeToSkip = -1);
+
+ /// Display the shape and activate selection of sub-shapes
+ /// \param theFeature a feature instance
+ /// \param theAIS an AIS object
+ /// \param isUpdateViewer the parameter whether the viewer should be update immediatelly
+ /// \returns true if the presentation is created
+ bool redisplay(FeaturePtr theFeature,
+ Handle(AIS_InteractiveObject) theAIS,
+ const int theSelectionMode, const bool isUpdateViewer = true);
+
+ /** Redisplay the shape if it was displayed
+ * \param theFeature a feature instance
+ * \param isUpdateViewer the parameter whether the viewer should be update immediatelly
+ */
+ void redisplay(FeaturePtr theFeature, bool isUpdateViewer = true);
+
+ /// Redisplay the shape and activate selection of sub-shapes
+ /// \param theFeature a feature instance
+ /// \param isUpdateViewer the parameter whether the viewer should be update immediatelly
+ //void redisplay(Handle(AIS_InteractiveObject) theAIS, const bool isUpdateViewer = true);
+
+ /// Display the shape and activate selection of sub-shapes
+ /// \param theFeature a feature instance
+ /// \param theShape a shape
+ /// \param theMode a list of local selection modes
+ /// \param isUpdateViewer the parameter whether the viewer should be update immediatelly
+ void activateInLocalContext(FeaturePtr theFeature,
+ const std::list<int>& theModes, const bool isUpdateViewer = true);