Salome HOME
[salome test] connect MEDCalc tests
[modules/med.git] / src / MEDCalc / cmp / MEDPresentationManager_i.txx
index c315746ea00a361d30c68bff2cf5ff990a562c2b..4c66cfc719180ee00e429e0cb41b9bb7d9403de7 100644 (file)
@@ -24,6 +24,13 @@ template<typename PresentationType, typename PresentationParameters>
 MEDPresentation::TypeID
 MEDPresentationManager_i::_makePresentation(PresentationParameters params)
 {
+  // Replace = Remove then add
+  if (params.viewMode == MEDCALC::VIEW_MODE_REPLACE) {
+    MEDPresentation::TypeID currentPresentationId = _getActivePresentationId();
+    if (currentPresentationId > -1)
+      removePresentation(currentPresentationId);
+  }
+
   // Create a new presentation instance
   PresentationType* presentation = NULL;
   try {
@@ -40,4 +47,17 @@ MEDPresentationManager_i::_makePresentation(PresentationParameters params)
   return newID;
 }
 
+template<typename PresentationType, typename PresentationParameters>
+void
+MEDPresentationManager_i::_updatePresentation(MEDPresentation::TypeID presentationID, PresentationParameters params)
+{
+  MEDPresentation* presentation = _getPresentation(presentationID);
+  if (!presentation) {
+    std::cerr << "_updatePresentation(): presentation not found!!" << std::endl;
+    return;
+  }
+
+  presentation->updatePipeline<PresentationType>(params);
+}
+
 #endif // _MED_PRESENTATION_MANAGER_I_TXX_