Salome HOME
Update presentations
[modules/med.git] / src / MEDCalc / cmp / MEDPresentationManager_i.cxx
index 35d6424ab44c9d03cc97a74815e27a7314f10e0b..b6c9ba970a8d378e7d0503d4a99a4a154646ecfb 100644 (file)
@@ -19,7 +19,8 @@
 
 #include "MEDPresentationManager_i.hxx"
 #include "MEDFactoryClient.hxx"
-#include "MEDPresentation.hxx"
+
+// presentations
 #include "MEDPresentationScalarMap.hxx"
 #include "MEDPresentationContour.hxx"
 #include "MEDPresentationVectorField.hxx"
@@ -27,6 +28,8 @@
 #include "MEDPresentationDeflectionShape.hxx"
 #include "MEDPresentationPointSprite.hxx"
 
+#include <iostream>
+
 MEDPresentationManager_i* MEDPresentationManager_i::_instance = NULL;
 
 MEDPresentationManager_i*
@@ -52,17 +55,16 @@ MEDPresentationManager_i::~MEDPresentationManager_i()
   */
 }
 
-TypeID MEDPresentationManager_i::GenerateID()
+MEDPresentation::TypeID
+MEDPresentationManager_i::GenerateID()
 {
-  static TypeID START_ID = -1;
+  static MEDPresentation::TypeID START_ID = -1;
   START_ID++;
   return START_ID;
 }
 
-#include <iostream>
-
 void
-MEDPresentationManager_i::setPresentationProperty(TypeID presentationID, const char * propName, const char * propValue)
+MEDPresentationManager_i::setPresentationProperty(MEDPresentation::TypeID presentationID, const char * propName, const char * propValue)
 {
   if (_presentations.find(presentationID) != _presentations.end())
     {
@@ -76,7 +78,7 @@ MEDPresentationManager_i::setPresentationProperty(TypeID presentationID, const c
 }
 
 char*
-MEDPresentationManager_i::getPresentationProperty(TypeID presentationID, const char* propName)
+MEDPresentationManager_i::getPresentationProperty(MEDPresentation::TypeID presentationID, const char* propName)
 {
   if (_presentations.find(presentationID) != _presentations.end()) {
     MEDPresentation* pres = _presentations[presentationID];
@@ -88,164 +90,38 @@ MEDPresentationManager_i::getPresentationProperty(TypeID presentationID, const c
   }
 }
 
-TypeID
+MEDPresentation::TypeID
 MEDPresentationManager_i::makeScalarMap(const MEDCALC::ScalarMapParameters& params)
 {
-  MEDCALC::MEDDataManager_ptr dataManager(MEDFactoryClient::getDataManager());
-
-  TypeID fieldHandlerId = params.fieldHandlerId;
-  MEDCALC::MEDPresentationViewMode viewMode = params.viewMode;
-
-  MEDCALC::FieldHandler* fieldHandler = dataManager->getFieldHandler(fieldHandlerId);
-  MEDCALC::MeshHandler* meshHandler = dataManager->getMesh(fieldHandler->meshid);
-  MEDCALC::DatasourceHandler* dataSHandler = dataManager->getDatasourceHandlerFromID(meshHandler->sourceid);
-
-  std::cout << "\tfieldHandlerId: " << fieldHandlerId << std::endl;
-  std::cout << "\tviewMode: " << viewMode << std::endl;
-  std::cout << "\tfileName: " <<  dataSHandler->uri << std::endl;
-  std::cout << "\tfiedName: " << fieldHandler->fieldname << std::endl;
-
-  // Create a new presentation instance
-  TypeID newID = MEDPresentationManager_i::GenerateID();
-  MEDPresentationScalarMap * presentation = new MEDPresentationScalarMap(fieldHandler, true);  // on stack or on heap?? stack for now
-  _presentations.insert( std::pair<TypeID, MEDPresentation *>(newID, presentation) );
-
-  presentation->generatePipeline();
-
-  return newID;
+  return _makePresentation<MEDPresentationScalarMap>(params);
 }
 
-TypeID
+MEDPresentation::TypeID
 MEDPresentationManager_i::makeContour(const MEDCALC::ContourParameters& params)
 {
-  MEDCALC::MEDDataManager_ptr dataManager(MEDFactoryClient::getDataManager());
-
-  TypeID fieldHandlerId = params.fieldHandlerId;
-  MEDCALC::MEDPresentationViewMode viewMode = params.viewMode;
-
-  MEDCALC::FieldHandler* fieldHandler = dataManager->getFieldHandler(fieldHandlerId);
-  MEDCALC::MeshHandler* meshHandler = dataManager->getMesh(fieldHandler->meshid);
-  MEDCALC::DatasourceHandler* dataSHandler = dataManager->getDatasourceHandlerFromID(meshHandler->sourceid);
-
-  std::cout << "\tfieldHandlerId: " << fieldHandlerId << std::endl;
-  std::cout << "\tviewMode: " << viewMode << std::endl;
-  std::cout << "\tfileName: " <<  dataSHandler->uri << std::endl;
-  std::cout << "\tfiedName: " << fieldHandler->fieldname << std::endl;
-
-  // Create a new presentation instance
-  TypeID newID = MEDPresentationManager_i::GenerateID();
-  MEDPresentationContour * presentation = new MEDPresentationContour(fieldHandler, true);  // on stack or on heap?? stack for now
-  _presentations.insert( std::pair<TypeID, MEDPresentation *>(newID, presentation) );
-
-  presentation->generatePipeline();
-
-  return newID;
+  return _makePresentation<MEDPresentationContour>(params);
 }
 
-TypeID
+MEDPresentation::TypeID
 MEDPresentationManager_i::makeVectorField(const MEDCALC::VectorFieldParameters& params)
 {
-  MEDCALC::MEDDataManager_ptr dataManager(MEDFactoryClient::getDataManager());
-
-  TypeID fieldHandlerId = params.fieldHandlerId;
-  MEDCALC::MEDPresentationViewMode viewMode = params.viewMode;
-
-  MEDCALC::FieldHandler* fieldHandler = dataManager->getFieldHandler(fieldHandlerId);
-  MEDCALC::MeshHandler* meshHandler = dataManager->getMesh(fieldHandler->meshid);
-  MEDCALC::DatasourceHandler* dataSHandler = dataManager->getDatasourceHandlerFromID(meshHandler->sourceid);
-
-  std::cout << "\tfieldHandlerId: " << fieldHandlerId << std::endl;
-  std::cout << "\tviewMode: " << viewMode << std::endl;
-  std::cout << "\tfileName: " <<  dataSHandler->uri << std::endl;
-  std::cout << "\tfiedName: " << fieldHandler->fieldname << std::endl;
-
-  // Create a new presentation instance
-  TypeID newID = MEDPresentationManager_i::GenerateID();
-  MEDPresentationVectorField * presentation = new MEDPresentationVectorField(fieldHandler, true);  // on stack or on heap?? stack for now
-  _presentations.insert( std::pair<TypeID, MEDPresentation *>(newID, presentation) );
-
-  presentation->generatePipeline();
-
-  return newID;
+  return _makePresentation<MEDPresentationVectorField>(params);
 }
 
-TypeID
+MEDPresentation::TypeID
 MEDPresentationManager_i::makeSlices(const MEDCALC::SlicesParameters& params)
 {
-  MEDCALC::MEDDataManager_ptr dataManager(MEDFactoryClient::getDataManager());
-
-  TypeID fieldHandlerId = params.fieldHandlerId;
-  MEDCALC::MEDPresentationViewMode viewMode = params.viewMode;
-
-  MEDCALC::FieldHandler* fieldHandler = dataManager->getFieldHandler(fieldHandlerId);
-  MEDCALC::MeshHandler* meshHandler = dataManager->getMesh(fieldHandler->meshid);
-  MEDCALC::DatasourceHandler* dataSHandler = dataManager->getDatasourceHandlerFromID(meshHandler->sourceid);
-
-  std::cout << "\tfieldHandlerId: " << fieldHandlerId << std::endl;
-  std::cout << "\tviewMode: " << viewMode << std::endl;
-  std::cout << "\tfileName: " <<  dataSHandler->uri << std::endl;
-  std::cout << "\tfiedName: " << fieldHandler->fieldname << std::endl;
-
-  // Create a new presentation instance
-  TypeID newID = MEDPresentationManager_i::GenerateID();
-  MEDPresentationSlices * presentation = new MEDPresentationSlices(fieldHandler, true);  // on stack or on heap?? stack for now
-  _presentations.insert( std::pair<TypeID, MEDPresentation *>(newID, presentation) );
-
-  presentation->generatePipeline();
-
-  return newID;
+  return _makePresentation<MEDPresentationSlices>(params);
 }
 
-TypeID
+MEDPresentation::TypeID
 MEDPresentationManager_i::makeDeflectionShape(const MEDCALC::DeflectionShapeParameters& params)
 {
-  MEDCALC::MEDDataManager_ptr dataManager(MEDFactoryClient::getDataManager());
-
-  TypeID fieldHandlerId = params.fieldHandlerId;
-  MEDCALC::MEDPresentationViewMode viewMode = params.viewMode;
-
-  MEDCALC::FieldHandler* fieldHandler = dataManager->getFieldHandler(fieldHandlerId);
-  MEDCALC::MeshHandler* meshHandler = dataManager->getMesh(fieldHandler->meshid);
-  MEDCALC::DatasourceHandler* dataSHandler = dataManager->getDatasourceHandlerFromID(meshHandler->sourceid);
-
-  std::cout << "\tfieldHandlerId: " << fieldHandlerId << std::endl;
-  std::cout << "\tviewMode: " << viewMode << std::endl;
-  std::cout << "\tfileName: " <<  dataSHandler->uri << std::endl;
-  std::cout << "\tfiedName: " << fieldHandler->fieldname << std::endl;
-
-  // Create a new presentation instance
-  TypeID newID = MEDPresentationManager_i::GenerateID();
-  MEDPresentationDeflectionShape * presentation = new MEDPresentationDeflectionShape(fieldHandler, true);  // on stack or on heap?? stack for now
-  _presentations.insert( std::pair<TypeID, MEDPresentation *>(newID, presentation) );
-
-  presentation->generatePipeline();
-
-  return newID;
+  return _makePresentation<MEDPresentationDeflectionShape>(params);
 }
 
-TypeID
+MEDPresentation::TypeID
 MEDPresentationManager_i::makePointSprite(const MEDCALC::PointSpriteParameters& params)
 {
-  MEDCALC::MEDDataManager_ptr dataManager(MEDFactoryClient::getDataManager());
-
-  TypeID fieldHandlerId = params.fieldHandlerId;
-  MEDCALC::MEDPresentationViewMode viewMode = params.viewMode;
-
-  MEDCALC::FieldHandler* fieldHandler = dataManager->getFieldHandler(fieldHandlerId);
-  MEDCALC::MeshHandler* meshHandler = dataManager->getMesh(fieldHandler->meshid);
-  MEDCALC::DatasourceHandler* dataSHandler = dataManager->getDatasourceHandlerFromID(meshHandler->sourceid);
-
-  std::cout << "\tfieldHandlerId: " << fieldHandlerId << std::endl;
-  std::cout << "\tviewMode: " << viewMode << std::endl;
-  std::cout << "\tfileName: " <<  dataSHandler->uri << std::endl;
-  std::cout << "\tfiedName: " << fieldHandler->fieldname << std::endl;
-
-  // Create a new presentation instance
-  TypeID newID = MEDPresentationManager_i::GenerateID();
-  MEDPresentationPointSprite * presentation = new MEDPresentationPointSprite(fieldHandler, true);  // on stack or on heap?? stack for now
-  _presentations.insert( std::pair<TypeID, MEDPresentation *>(newID, presentation) );
-
-  presentation->generatePipeline();
-
-  return newID;
+  return _makePresentation<MEDPresentationPointSprite>(params);
 }