Salome HOME
[MEDCalc] add presentations and view mode
[modules/med.git] / src / MEDCalc / cmp / MEDPresentationScalarMap.cxx
1 #include "MEDPresentationScalarMap.hxx"
2
3 void
4 MEDPresentationScalarMap::internalGeneratePipeline()
5 {
6   PyGILState_STATE _gil_state = PyGILState_Ensure();
7
8   std::string cmd = std::string("import pvsimple as pvs;");
9   cmd += getRenderViewCommand(_params.viewMode); // define __view1
10
11   cmd += std::string("__obj1 = pvs.MEDReader(FileName='") + _fileName + std::string("');");
12   cmd += std::string("__disp1 = pvs.Show(__obj1, __view1);");
13   cmd += std::string("pvs.ColorBy(__disp1, ('") + _fieldType + std::string("', '") + _fieldName + std::string("'));");
14   cmd += std::string("__disp1.SetScalarBarVisibility(__view1, True);");
15   cmd += std::string("__disp1.RescaleTransferFunctionToDataRangeOverTime();");
16   cmd += std::string("pvs.Render();");
17
18   //std::cerr << "Python command:" << std::endl;
19   //std::cerr << cmd << std::endl;
20   PyRun_SimpleString(cmd.c_str());
21   // Retrieve Python object for internal storage:
22   PyObject* obj = getPythonObjectFromMain("__obj1");
23   PyObject* disp = getPythonObjectFromMain("__disp1");
24   pushInternal(obj, disp);
25
26   PyGILState_Release(_gil_state);
27 }