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
8 #include <TopoDS_Shape.hxx>
9
10 class XGUI_Viewer;
11 class ModelAPI_Feature;
12
13 /**\class XGUI_Displayer
14  * \ingroup GUI
15  * \brief Displayer. Provides mechanizm of displa/erase of objects in viewer
16  */
17 class XGUI_EXPORT XGUI_Displayer
18 {
19 public:
20   XGUI_Displayer(XGUI_Viewer* theViewer);
21   virtual ~XGUI_Displayer();
22
23   void Display(std::shared_ptr<ModelAPI_Feature> theFeature);
24
25   void Display(std::shared_ptr<ModelAPI_Feature> theFeature, const TopoDS_Shape& theShape);
26
27   void Erase(std::shared_ptr<ModelAPI_Feature> theFeature, const TopoDS_Shape& theShape);
28
29 protected:
30   XGUI_Viewer* myViewer; ///< the viewer
31 };
32
33 #endif