]> Creatis software - cpPlugins.git/blobdiff - appli/ImageMPR/ImageMPR.h
...
[cpPlugins.git] / appli / ImageMPR / ImageMPR.h
index 9a866e0f9d276558c69bd50930c5a74ccdc7966e..5d2ac7240ae187b93c77c4df3ae362980e7b53ae 100644 (file)
 #include <cpExtensions/Visualization/MPRObjects.h>
 
 // Plugins interface
+#include <cpPlugins/Interface/BaseApplication.h>
 #include <cpPlugins/Interface/Plugins.h>
-#include <cpPlugins/Interface/BasePluginsApplication.h>
+#include <cpPlugins/Interface/Image.h>
+#include <cpPlugins/Interface/Mesh.h>
 
 // -------------------------------------------------------------------------
 namespace Ui
@@ -22,96 +24,11 @@ namespace Ui
   class ImageMPR;
 }
 
-//==========================================================================
-// Plugins types
-//typedef cpPlugins::Interface::Interface        TPluginsInterface;
-//typedef cpPlugins::Interface::Object           TPluginObject;
-//typedef cpPlugins::Interface::DataObject       TPluginData;
-//typedef cpPlugins::Interface::Image            TPluginImage;
-//typedef cpPlugins::Interface::ImplicitFunction TPluginImplicitFunction;
-//typedef cpPlugins::Interface::Mesh             TPluginMesh;
-//typedef cpPlugins::Interface::ProcessObject    TPluginFilter;
-//typedef cpPlugins::Interface::Parameters       TParameters;
-//
-//typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
-
-
-
-
-//class MementoState
-//{
-//private:
-//     long m_Id;
-//     
-//public:
-//     
-//     MementoState()
-//     {
-//             m_Id = 0;
-//     };
-//
-//     MementoState(long id, TPluginImage* _img)
-//     {
-//             char * base = "state";
-//             std::ostringstream oss;
-//             oss << id;
-//             std::string str = oss.str();
-//             auto complement = str.c_str();
-//
-//             std::string fileName(base);
-//             fileName.append(complement);
-//             fileName.append(".mhd");
-//
-//             std::string fileNameRaw(base);
-//             fileNameRaw.append(complement);
-//             fileNameRaw.append(".raw");
-//             save(fileName, fileNameRaw, _img);
-//     }
-//
-//     vtkSmartPointer<vtkMetaImageReader> getMemento(long id)
-//     {
-//             char * base = "state";
-//             std::ostringstream oss;
-//             oss << id;
-//             std::string str = oss.str();
-//             auto complement = str.c_str();
-//
-//             std::string fileName(base);
-//             fileName.append(complement);
-//             fileName.append(".mhd");
-//             return load(fileName);
-//     }
-//
-//     void save(const std::string& filename, const std::string& filenameRaw, TPluginImage* img) {
-//             vtkSmartPointer<vtkMetaImageWriter> writer =
-//                     vtkSmartPointer<vtkMetaImageWriter>::New();
-//             writer->SetInputData(img->GetVTK< vtkImageData >());
-//             writer->SetFileName(filename.c_str());
-//             writer->SetRAWFileName(filenameRaw.c_str());
-//             writer->Write();
-//     }
-//
-//     vtkSmartPointer<vtkMetaImageReader> load(const std::string& filename) {
-//             vtkSmartPointer<vtkMetaImageReader> reader =
-//             vtkSmartPointer<vtkMetaImageReader>::New();
-//             reader->SetFileName(filename.c_str());
-//             reader->Update();       
-//             return reader;
-//     }
-//
-//};
-
-//==========================================================================
-
-// -------------------------------------------------------------------------
 /**
  */
-
-
-
 class ImageMPR
   : public QMainWindow,
-    public cpPlugins::Interface::BasePluginsApplication
+    public cpPlugins::Interface::BaseApplication
 {
   Q_OBJECT;
 
@@ -121,19 +38,9 @@ public:
 
   typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
   typedef cpPlugins::Interface::Plugins           TPlugins;
-
-  // Plugins types
-  /*
-    typedef cpPlugins::Interface::Interface        TPluginsInterface;
-    typedef cpPlugins::Interface::Object           TPluginObject;
-    typedef cpPlugins::Interface::DataObject       TPluginData;
-    typedef cpPlugins::Interface::Image            TPluginImage;
-    typedef cpPlugins::Interface::ImplicitFunction TPluginImplicitFunction;
-    typedef cpPlugins::Interface::Mesh             TPluginMesh;
-    typedef cpPlugins::Interface::ProcessObject    TPluginFilter;
-    typedef cpPlugins::Interface::Parameters       TParameters;
-    typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
-  */
+  typedef cpPlugins::Interface::DataObject        TDataObject;
+  typedef cpPlugins::Interface::Image             TImage;
+  typedef cpPlugins::Interface::Mesh              TMesh;
 
 public:
   explicit ImageMPR( QWidget* parent = 0 );
@@ -141,26 +48,8 @@ public:
 
   virtual void UpdateActualFilter( );
 
-  /* TODO
-     protected:
-     inline void _Block( )
-     {
-     QApplication::setOverrideCursor( Qt::WaitCursor );
-     this->setEnabled( false );
-     }
-     inline void _Unblock( )
-     {
-     QApplication::restoreOverrideCursor( );
-     this->setEnabled( true );
-     }
-  */
-
-  /*
-    protected:
-    bool _LoadPlugins( const std::string& filename );
-    std::string _LoadImage( TPluginImage::Pointer& image );
-    std::string _ConfigureMeshActors( );
-  */
+protected:
+  void _AssociatePluginsToMenu( );
 
 private slots:
   void _aOpenImage( );
@@ -168,7 +57,6 @@ private slots:
   void _aOpenSegmentation( );
   void _aOpenPolyData( );
   void _aSaveImage( );
-  void _aSaveSegmentation( );
   void _aSavePolyData( );
   void _aUndo( );
   void _aRedo( );
@@ -179,45 +67,8 @@ private slots:
 
 private:
   Ui::ImageMPR* m_UI;
-  TPlugins*     m_Plugins;
-
-  // Objects
-  /*
-    typedef std::pair< std::string, TPlugins::TDataObject::Pointer > TTreeNode;
-    typedef std::map< std::string, TTreeNode > TTree;
-    TTree m_Objects;
-
-    // Active filter (for modal configuration)
-    TPlugins::TProcessObject::Pointer m_ActiveFilter;
-  */
-
-  // Plugins objects
-  /*
-    TPluginsInterface m_Plugins;
-
-    // Needed object from plugins
-    std::string m_ImageReaderClass;
-    std::string m_ImageWriterClass;
-    std::string m_MeshReaderClass;
-    std::string m_MeshWriterClass;
-    std::string m_MeshCutterClass;
-
-    // Real data
-    TPluginImage::Pointer m_Image;
-    TPluginImage::Pointer m_Segmentation;
-    TPluginMesh::Pointer  m_Mesh;
-
-    // Cutters
-    TPluginFilter::Pointer m_Cutters[ 3 ];
-    TPluginImplicitFunction::Pointer m_Planes[ 3 ];
-
-    // Visualization stuff
-    vtkSmartPointer< TMPRObjects > m_MPRObjects;
-
-    // Memento stuff
-    unsigned long m_state;
-    unsigned long m_max_state;
-  */
+  TPlugins      m_Plugins;
+  std::string   m_ActiveFilterMainInput;
 
   /* TODO
      vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;