Salome HOME
Update Help for VISU module.
[modules/visu.git] / src / VISU_I / VISU_Result_i.cc
index 15cf901e109f38e87b12dbce24ab33c5bbd6ee0c..167c412b8879e0d8dedb7e0edf1e0c40dd8f32f6 100644 (file)
@@ -543,8 +543,15 @@ Restore(SALOMEDS::SObject_ptr theSObject,
       SALOMEDS::StudyBuilder_var aStudyBuilder = myStudyDocument->NewBuilder();
       SALOMEDS::Driver_var aDriver = SALOMEDS::Driver::_narrow(aEngComp);
       aStudyBuilder->LoadWith(aCompRefSObj, aDriver);
-      if (strcmp(aDataType, "MED") == 0)
-       myInput = CreateMEDConvertor(aTargetRefSObj);
+      if (strcmp(aDataType, "MED") == 0) {
+        // create field or MED converter
+        CORBA::Object_var aMedObject = VISU::SObjectToObject(aTargetRefSObj);
+        SALOME_MED::FIELD_var aField = SALOME_MED::FIELD::_narrow(aMedObject);
+        if(!CORBA::is_nil(aField))
+          myInput = CreateMEDFieldConvertor(aField);
+        else
+          myInput = CreateMEDConvertor(aTargetRefSObj);
+      }
       else
        throw std::runtime_error("GetInput - There is no convertor for the aDataType !!!");
     } else {