1 #include "MEDPresentationScalarMap.hxx"
4 MEDPresentationScalarMap::internalGeneratePipeline()
6 //MEDPresentation::TypeID fieldHandlerId = params.fieldHandlerId;
7 //MEDCALC::MEDPresentationViewMode viewMode = params.viewMode;
9 // :TODO: consider viewMode
12 MEDCALC::MEDDataManager_ptr dataManager(MEDFactoryClient::getDataManager());
13 MEDCALC::FieldHandler* fieldHandler = dataManager->getFieldHandler(fieldHandlerId);
15 std::cout << "\tfieldHandlerId: " << fieldHandlerId << std::endl;
16 std::cout << "\tviewMode: " << viewMode << std::endl;
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;
24 PyGILState_STATE _gil_state = PyGILState_Ensure();
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();");
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);
41 PyGILState_Release(_gil_state);