]> Creatis software - cpPlugins.git/blobdiff - appli/ImageMPR/ImageMPR.h
Merge branch 'master' of ssh://git.creatis.insa-lyon.fr/cpPlugins
[cpPlugins.git] / appli / ImageMPR / ImageMPR.h
index 959daf1fc2a62195bbe3ce2031b4c5c379c4cd78..cf3e5c1b5f3695955396cb7ad45331a8f1fec5a6 100644 (file)
@@ -1,22 +1,20 @@
 #ifndef __IMAGEMPR__H__
 #define __IMAGEMPR__H__
 
-// Standard stuff
-#include <map>
-#include <string>
+#include <vector>
 
 // Qt stuff
 #include <QMainWindow>
 
 // vtk stuff
 #include <vtkSmartPointer.h>
+#include <cpExtensions/Visualization/MPRObjects.h>
 
 // Plugins interface
 #include <cpPlugins/Interface/Interface.h>
 #include <cpPlugins/Interface/ProcessObject.h>
 #include <cpPlugins/Interface/Image.h>
 #include <cpPlugins/Interface/Mesh.h>
-#include <cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.h>
 
 // -------------------------------------------------------------------------
 namespace Ui
@@ -42,8 +40,7 @@ public:
   typedef cpPlugins::Interface::ProcessObject TPluginFilter;
   typedef cpPlugins::Interface::Parameters    TParameters;
 
-  typedef std::map< std::string, std::string > TStringMap;
-  typedef cpPlugins::Extensions::Visualization::MPRWithDifferentWindows TMPR;
+  typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
 
 public:
   explicit ImageMPR( QWidget* parent = 0 );
@@ -51,11 +48,17 @@ public:
 
 protected:
   bool _LoadPlugins( const std::string& filename );
+  std::string _LoadImage(
+    TPluginImage::Pointer& image, const QStringList& names
+    );
 
 private slots:
   void _triggered_actionOpenPlugins( );
   void _triggered_actionOpenInputImage( );
+  void _triggered_actionOpenSegmentation( );
   void _triggered_actionOpenInputPolyData( );
+  void _triggered_actionImageToImage( );
+  void _triggered_actionImageToMesh( );
 
 private:
   Ui::ImageMPR* m_UI;
@@ -64,16 +67,18 @@ private:
   TPluginsInterface m_Plugins;
 
   // Needed object from plugins
-  TStringMap m_BaseClasses;
+  std::string m_ImageReaderClass;
+  std::string m_ImageWriterClass;
+  std::string m_MeshReaderClass;
+  std::string m_MeshWriterClass;
 
   // Real data
   TPluginImage::Pointer m_InputImage;
+  TPluginImage::Pointer m_InputSegmentation;
   TPluginMesh::Pointer  m_InputMesh;
 
   // Visualization stuff
-  TMPR* m_MPR;
-  vtkSmartPointer< vtkPolyDataMapper > m_InputMeshMapper;
-  vtkSmartPointer< vtkActor >          m_InputMeshActor;
+  vtkSmartPointer< TMPRObjects > m_MPRObjects;
 
   /* TODO
      vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;