Salome HOME
AIS presentation for a curve creator
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Displayer.h
1 #ifndef CURVECREATOR_DISPLAYER_H
2 #define CURVECREATOR_DISPLAYER_H
3
4 #include "CurveCreator_Macro.hxx"
5
6 #include <AIS_InteractiveObject.hxx>
7 #include <AIS_InteractiveContext.hxx>
8
9 #include <vector>
10
11 class CURVECREATOR_EXPORT CurveCreator_Displayer
12 {
13 typedef std::vector<Handle_AIS_InteractiveObject> AISObjectsList;
14
15 public:
16   CurveCreator_Displayer(Handle_AIS_InteractiveContext theContext );
17   ~CurveCreator_Displayer(void);
18
19   void display( AISObjectsList theCurveObjects, bool isUpdate );
20   void erase( bool isUpdate );
21   void highlight( const AISObjectsList& theObjects, bool isHL );
22
23   void displayAIS( Handle_AIS_InteractiveObject theObject, bool isUpdate );
24   void redisplayAIS( Handle_AIS_InteractiveObject theObject, bool isUpdate );
25
26 protected:
27   Quantity_Color getActiveColor( bool isHL );
28
29 private:
30   Handle_AIS_InteractiveContext myContext;
31   AISObjectsList                myObjects;
32 };
33
34 #endif