Salome HOME
NCollection sequences improved.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Module.cxx
index ae7dad74097e96dc76ce2a207e81a399cdc7283a..c409cdbe5a2738bdd14e235df7d22d7e9d5219ee 100644 (file)
@@ -1049,6 +1049,35 @@ void HYDROGUI_Module::setObjectVTKPrs( const int                       theViewId
   aViewShapes.append( theShape );
 }
 
+void HYDROGUI_Module::removeObjectVTKPrs( const int      theViewId,
+                                          const QString& theEntry )
+{
+  if ( !myVTKPrsMap.contains( theViewId ) )
+    return;
+
+  ListOfVTKPrs& aViewShapes = myVTKPrsMap[ theViewId ];
+  Handle(HYDROData_Entity) anObject;
+  QString anEntryRef;
+  for ( int i = 0; i < aViewShapes.length(); )
+  {
+    HYDROGUI_VTKPrs* aShape = aViewShapes.at( i );
+    anObject = aShape->getObject();
+    anEntryRef = HYDROGUI_DataObject::dataObjectEntry( anObject );
+    if ( aShape && (!anObject.IsNull()) && ( anEntryRef == theEntry ) )
+    {
+      delete aShape;
+      aViewShapes.removeAt( i );
+      continue;
+    }
+
+    ++i;
+  }
+
+  // Invalidate global Z range
+  double anInvalidRange[2] = { HYDROGUI_VTKPrs::InvalidZValue(), HYDROGUI_VTKPrs::InvalidZValue() };
+  getVTKDisplayer()->SetZRange( theViewId, anInvalidRange );
+}
+
 void HYDROGUI_Module::removeObjectVTKPrs( const int                       theViewId,
                                           const Handle(HYDROData_Entity)& theObject )
 {