]> Creatis software - cpPlugins.git/blobdiff - appli/ImageMPR/ImageMPR.h
merge async example
[cpPlugins.git] / appli / ImageMPR / ImageMPR.h
index e690a51640dc40a634a9c99fe7c8034b7492e0c8..a89d0f9ed2c80bf625b05889eefa73fc97f718f4 100644 (file)
@@ -119,63 +119,91 @@ class ImageMPR
   Q_OBJECT;
 
 public:
-  // 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 ImageMPR    Self;
+  typedef QMainWindow Superclass;
 
   typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
+  typedef TMPRObjects::TCursorCommand     TCursorCommand;
+  typedef TMPRObjects::TMouseCommand      TMouseCommand;
+  typedef TMPRObjects::TMouseWheelCommand TMouseWheelCommand;
+  typedef TMPRObjects::TKeyCommand        TKeyCommand;
+
+  // 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;
+  */
 
 public:
   explicit ImageMPR( QWidget* parent = 0 );
   virtual ~ImageMPR( );
 
-protected:
-  bool _LoadPlugins( const std::string& filename );
-  std::string _LoadImage( TPluginImage::Pointer& image );
-  std::string _ConfigureMeshActors( );
+  /*
+    protected:
+    bool _LoadPlugins( const std::string& filename );
+    std::string _LoadImage( TPluginImage::Pointer& image );
+    std::string _ConfigureMeshActors( );
+  */
 
 private slots:
-  void _triggered_actionOpenPlugins( );
-  void _triggered_actionOpenInputImage( );
-  void _triggered_actionOpenSegmentation( );
-  void _triggered_actionOpenInputPolyData( );
-  void _triggered_actionImageToImage( );
-  void _triggered_actionImageToMesh( );
-  void _triggered_actionUndo();
-  void _triggered_actionRedo();
-private:
-  Ui::ImageMPR* m_UI;
+  void _aOpenImage( );
+  void _aOpenSegmentation( );
+  void _aOpenPolyData( );
+  void _aSaveImage( );
+  void _aSaveSegmentation( );
+  void _aSavePolyData( );
+  void _aUndo( );
+  void _aRedo( );
+  void _aLoadPlugins( );
+  void _aShowPlugins( );
+
+  void _execPlugin( );
 
-  // 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;
+protected:
+  // Callbacks
+  static void _CursorCommand( double* pos, int axis, void* data );
 
-  // Cutters
-  TPluginFilter::Pointer m_Cutters[ 3 ];
-  TPluginImplicitFunction::Pointer m_Planes[ 3 ];
+private:
+  Ui::ImageMPR* m_UI;
 
-  // Visualization stuff
-  vtkSmartPointer< TMPRObjects > m_MPRObjects;
+  // Some state flags
+  std::string m_ImageLoaded;
+  bool m_Flooding;
 
-  // Memento stuff
-  unsigned long m_state;
+  // 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;
+  */
 
   /* TODO
      vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;