]> Creatis software - cpPlugins.git/blobdiff - appli/ImageMPR/ImageMPR.h
...
[cpPlugins.git] / appli / ImageMPR / ImageMPR.h
index 3a834ae6ee1c6bb1f453e457964d14e088680fbc..1b568051e9f8f5b06f76fa5a8c5698a3b1ede21e 100644 (file)
@@ -3,40 +3,20 @@
 
 // Standard stuff
 #include <map>
-#include <string>
+#include <set>
 
 // Qt stuff
 #include <QMainWindow>
 
 // vtk stuff
-#include <vtkRenderer.h>
 #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/DataObject.h>
-#include <cpPlugins/Extensions/Visualization/MPRActors.h>
-#include <cpPlugins/Extensions/Visualization/ImageInteractorStyle.h>
-
-
-/*
-  #include <vtkOrientationMarkerWidget.h>
-
-// Local stuff
-#include "InteractorStyleImage.h"
-#include "VolumeActors.h"
-
-
-  #include <itkImage.h>
-  #include <itkImageToVTKImageFilter.h>
-
-  #include <cpm/DataStructures/QuadEdgeMesh.h>
-
-  #include <cpm/VTK/MeshMapper.h>
-  #include <cpm/Algorithms/QuadEdge/MeshPlaneCutterFilter.h>
-*/
+#include <cpPlugins/Interface/Mesh.h>
 
 // -------------------------------------------------------------------------
 namespace Ui
@@ -58,21 +38,27 @@ public:
   typedef cpPlugins::Interface::Object        TPluginObject;
   typedef cpPlugins::Interface::DataObject    TPluginData;
   typedef cpPlugins::Interface::Image         TPluginImage;
-  typedef cpPlugins::Interface::ProcessObject TPlugin;
-  typedef TPlugin::TParameters                TParameters;
-
-  typedef std::map< std::string, std::string > TStringMap;
-  typedef cpPlugins::Extensions::Visualization::MPRActors TMPRActors;
-  typedef cpPlugins::Extensions::Visualization::ImageInteractorStyle TStyle;
+  typedef cpPlugins::Interface::Mesh          TPluginMesh;
+  typedef cpPlugins::Interface::ProcessObject TPluginFilter;
+  typedef cpPlugins::Interface::Parameters    TParameters;
 
+  typedef std::set< std::string > TStringContainer;
+  typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
 
 public:
   explicit ImageMPR( QWidget* parent = 0 );
   virtual ~ImageMPR( );
 
+protected:
+  bool _LoadPlugins( const std::string& filename );
+
 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;
@@ -81,32 +67,24 @@ 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;
+  TStringContainer m_ImageToImageFilters;
+  TStringContainer m_ImageToMeshFilters;
 
   // Real data
-  TPluginImage* m_InputImage;
+  TPluginImage::Pointer m_InputImage;
+  TPluginImage::Pointer m_InputSegmentation;
+  TPluginMesh::Pointer  m_InputMesh;
 
   // Visualization stuff
-  vtkSmartPointer< vtkRenderer > m_3DRenderer;
-  vtkSmartPointer< vtkRenderer > m_XPlaneRenderer;
-  vtkSmartPointer< vtkRenderer > m_YPlaneRenderer;
-  vtkSmartPointer< vtkRenderer > m_ZPlaneRenderer;
-  vtkSmartPointer< TMPRActors >  m_MPRActors;
-  vtkSmartPointer< TStyle > m_XStyle;
-  vtkSmartPointer< TStyle > m_YStyle;
-  vtkSmartPointer< TStyle > m_ZStyle;
+  vtkSmartPointer< TMPRObjects > m_MPRObjects;
 
   /* TODO
-     vtkSmartPointer< idms::VolumeActors > m_ImageActors;
      vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;
   */
-
-  /*
-    TTriangulation::Pointer                 m_Mesh;
-    vtkSmartPointer< TTriangulationMapper > m_MeshMapper;
-    vtkSmartPointer< vtkActor >             m_MeshActor;
-    TCutter::Pointer m_ZCutter;
-  */
 };
 
 #endif // __IMAGEMPR__H__