Salome HOME
Bug #183: regression: polyline - unnecessary table in Additition mode.
[modules/hydro.git] / src / HYDROCurveCreator / CurveCreator_Displayer.cxx
index 92df32341fd1c5c7a3a2ef54cf816dc25fc2863d..5872e3f8add2a5b701fc1050e3a89557951526e2 100644 (file)
@@ -8,32 +8,33 @@ CurveCreator_Displayer::CurveCreator_Displayer( Handle_AIS_InteractiveContext th
 
 CurveCreator_Displayer::~CurveCreator_Displayer(void)
 {
-  erase( true );
+  eraseAll( true );
   for( int i = 0 ; i < myObjects.size() ; i++ ){
     myObjects[i].Nullify();
   }
   myObjects.clear();
 }
 
-void CurveCreator_Displayer::display( AISObjectsList theCurveObjects, bool isUpdate )
+void CurveCreator_Displayer::display( const Handle(AIS_InteractiveObject)& theObject, bool isUpdate )
 {
-  myObjects = theCurveObjects;
-  if(myObjects.empty())
+  if ( theObject.IsNull() )
     return;
-  for( int i = 0 ; i < myObjects.size() ; i++ ){
-    myContext->Display(myObjects[i], Standard_False);
-  }
+
+  myObjects.push_back( theObject );
+  myContext->Display( theObject, Standard_False );
+
   if( isUpdate )
     myContext->UpdateCurrentViewer();
 }
 
-void CurveCreator_Displayer::erase( bool isUpdate )
+void CurveCreator_Displayer::eraseAll( bool isUpdate )
 {
   if(myObjects.empty())
     return;
   for( int i = 0 ; i < myObjects.size() ; i++ ){
     myContext->Erase(myObjects[i], Standard_False);
   }
+  myObjects.clear();
   if( isUpdate )
     myContext->UpdateCurrentViewer();
 }
@@ -46,7 +47,7 @@ Quantity_Color CurveCreator_Displayer::getActiveColor( bool isHL )
   return Quantity_Color( 0., 1., 0., Quantity_TOC_RGB );
 }
 
-void CurveCreator_Displayer::highlight( const AISObjectsList& theObjects, bool isHL )
+/*void CurveCreator_Displayer::highlight( const AISObjectsList& theObjects, bool isHL )
 {
   return;
   //TODO:
@@ -56,4 +57,4 @@ void CurveCreator_Displayer::highlight( const AISObjectsList& theObjects, bool i
     myContext->Display(theObjects[i], Standard_False);
   }
   myContext->UpdateCurrentViewer();
-}
+}*/