Salome HOME
Profile object realization. OCC Viewer embeded into the profile dialog box.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Displayer.cxx
1 #include "CurveCreator_Displayer.h"
2
3 CurveCreator_Displayer::CurveCreator_Displayer( Handle_AIS_InteractiveContext theContext ) :
4   myContext( theContext )
5 {
6   myObjects.clear();
7 }
8
9 CurveCreator_Displayer::~CurveCreator_Displayer(void)
10 {
11   erase();
12   for( int i = 0 ; i < myObjects.size() ; i++ ){
13     myObjects[i].Nullify();
14   }
15   myObjects.clear();
16 }
17
18 void CurveCreator_Displayer::display( AISObjectsList theCurveObjects )
19 {
20   myObjects = theCurveObjects;
21   if(myObjects.empty())
22     return;
23   for( int i = 0 ; i < myObjects.size() ; i++ ){
24     myContext->Display(myObjects[i], Standard_False);
25   }
26   myContext->UpdateCurrentViewer();
27 }
28
29 void CurveCreator_Displayer::erase()
30 {
31   if(myObjects.empty())
32     return;
33   for( int i = 0 ; i < myObjects.size() ; i++ ){
34     myContext->Erase(myObjects[i], Standard_False);
35   }
36   myContext->UpdateCurrentViewer();
37 }
38
39 Quantity_Color CurveCreator_Displayer::getActiveColor( bool isHL )
40 {
41   if( isHL ){
42     return Quantity_Color( 1., 0., 0., Quantity_TOC_RGB );
43   }
44   return Quantity_Color( 0., 1., 0., Quantity_TOC_RGB );
45 }
46
47 void CurveCreator_Displayer::highlight( const AISObjectsList& theObjects, bool isHL )
48 {
49   return;
50   //TODO:
51   Quantity_Color aColor = getActiveColor( isHL );
52   for( int i = 0 ; i < theObjects.size() ; i++ ){
53     theObjects[i]->SetColor(aColor);
54     myContext->Display(theObjects[i], Standard_False);
55   }
56   myContext->UpdateCurrentViewer();
57 }