Salome HOME
Merge branch 'V8_0_0_BR'
[modules/med.git] / src / MEDCalc / cmp / MEDPresentationScalarMap.cxx
1 #include "MEDPresentationScalarMap.hxx"
2
3 void
4 MEDPresentationScalarMap::internalGeneratePipeline()
5 {
6   //MEDPresentation::TypeID fieldHandlerId = params.fieldHandlerId;
7   //MEDCALC::MEDPresentationViewMode viewMode = params.viewMode;
8
9   // :TODO: consider viewMode
10
11   /*
12   MEDCALC::MEDDataManager_ptr dataManager(MEDFactoryClient::getDataManager());
13   MEDCALC::FieldHandler* fieldHandler = dataManager->getFieldHandler(fieldHandlerId);
14
15   std::cout << "\tfieldHandlerId: " << fieldHandlerId << std::endl;
16   std::cout << "\tviewMode: " << viewMode << std::endl;
17
18   MEDCALC::MeshHandler* meshHandler = dataManager->getMesh(fieldHandler->meshid);
19   MEDCALC::DatasourceHandler* dataSHandler = dataManager->getDatasourceHandlerFromID(meshHandler->sourceid);
20   std::cout << "\tfileName: " <<  dataSHandler->uri << std::endl;
21   std::cout << "\tfiedName: " << fieldHandler->fieldname << std::endl;
22   */
23
24   PyGILState_STATE _gil_state = PyGILState_Ensure();
25
26   std::string cmd = std::string("import pvsimple as pvs;");
27   cmd += std::string("__obj1 = pvs.MEDReader(FileName='") + _fileName + std::string("');");
28   cmd += std::string("__disp1 = pvs.Show(__obj1);");
29   cmd += std::string("pvs.ColorBy(__disp1, ('") + _fieldType + std::string("', '") + _fieldName + std::string("'));");
30   cmd += std::string("pvs.GetActiveViewOrCreate('RenderView').ResetCamera();");
31   cmd += std::string("__disp1.RescaleTransferFunctionToDataRangeOverTime();");
32
33   //std::cerr << "Python command:" << std::endl;
34   //std::cerr << cmd << std::endl;
35   PyRun_SimpleString(cmd.c_str());
36   // Retrieve Python object for internal storage:
37   PyObject * obj = getPythonObjectFromMain("__obj1");
38   PyObject * disp = getPythonObjectFromMain("__disp1");
39   pushInternal(obj, disp);
40
41   PyGILState_Release(_gil_state);
42 }