]> SALOME platform Git repositories - modules/shaper.git/blob - src/XGUI/XGUI_Displayer.h
Salome HOME
Merge branch 'master' of newgeom:newgeom
[modules/shaper.git] / src / XGUI / XGUI_Displayer.h
1 #ifndef XGUI_Displayer_H
2 #define XGUI_Displayer_H
3
4 #include "XGUI.h"
5
6 #include <QString>
7 #include <boost/shared_ptr.hpp>
8
9 #include <TopoDS_Shape.hxx>
10
11 class XGUI_Viewer;
12 class ModelAPI_Feature;
13
14 /**\class XGUI_Displayer
15  * \ingroup GUI
16  * \brief Displayer. Provides mechanizm of displa/erase of objects in viewer
17  */
18 class XGUI_EXPORT XGUI_Displayer
19 {
20 public:
21   XGUI_Displayer(XGUI_Viewer* theViewer);
22   virtual ~XGUI_Displayer();
23
24   void Display(boost::shared_ptr<ModelAPI_Feature> theFeature);
25
26   void Display(boost::shared_ptr<ModelAPI_Feature> theFeature, const TopoDS_Shape& theShape);
27
28   void Erase(boost::shared_ptr<ModelAPI_Feature> theFeature, const TopoDS_Shape& theShape);
29
30 protected:
31   XGUI_Viewer* myViewer; ///< the viewer
32 };
33
34 #endif