Salome HOME
Creat\Edit stream operation.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Displayer.cxx
index 2de7bf1240f70eb79660c1c8a75211f022121448..f0c5463d8e32d348eb19a10ee6ccdfe3493e0470 100644 (file)
@@ -8,14 +8,14 @@ CurveCreator_Displayer::CurveCreator_Displayer( Handle_AIS_InteractiveContext th
 
 CurveCreator_Displayer::~CurveCreator_Displayer(void)
 {
-  erase();
+  erase( true );
   for( int i = 0 ; i < myObjects.size() ; i++ ){
     myObjects[i].Nullify();
   }
   myObjects.clear();
 }
 
-void CurveCreator_Displayer::display( AISObjectsList theCurveObjects )
+void CurveCreator_Displayer::display( AISObjectsList theCurveObjects, bool isUpdate )
 {
   myObjects = theCurveObjects;
   if(myObjects.empty())
@@ -23,17 +23,35 @@ void CurveCreator_Displayer::display( AISObjectsList theCurveObjects )
   for( int i = 0 ; i < myObjects.size() ; i++ ){
     myContext->Display(myObjects[i], Standard_False);
   }
-  myContext->UpdateCurrentViewer();
+  if( isUpdate )
+    myContext->UpdateCurrentViewer();
 }
 
-void CurveCreator_Displayer::erase()
+void CurveCreator_Displayer::erase( bool isUpdate )
 {
   if(myObjects.empty())
     return;
   for( int i = 0 ; i < myObjects.size() ; i++ ){
     myContext->Erase(myObjects[i], Standard_False);
   }
-  myContext->UpdateCurrentViewer();
+  if( isUpdate )
+    myContext->UpdateCurrentViewer();
+}
+
+void CurveCreator_Displayer::displayAIS( Handle(AIS_InteractiveObject) theObject, bool isUpdate )
+{
+  myContext->Display( theObject, Standard_False );
+
+  if( isUpdate )
+    myContext->UpdateCurrentViewer();
+}
+
+void CurveCreator_Displayer::redisplayAIS( Handle(AIS_InteractiveObject) theObject, bool isUpdate )
+{
+  myContext->Redisplay( theObject, Standard_False );
+
+  if( isUpdate )
+    myContext->UpdateCurrentViewer();
 }
 
 Quantity_Color CurveCreator_Displayer::getActiveColor( bool isHL )