]> Creatis software - cpPlugins.git/blob - appli/ImageMPR/ImageMPR.h
vtkPolyData support added
[cpPlugins.git] / appli / ImageMPR / ImageMPR.h
1 #ifndef __IMAGEMPR__H__
2 #define __IMAGEMPR__H__
3
4 // Standard stuff
5 #include <map>
6 #include <string>
7
8 // Qt stuff
9 #include <QMainWindow>
10
11 // vtk stuff
12 #include <vtkSmartPointer.h>
13
14 // Plugins interface
15 #include <cpPlugins/Interface/Interface.h>
16 #include <cpPlugins/Interface/ProcessObject.h>
17 #include <cpPlugins/Interface/Image.h>
18 #include <cpPlugins/Interface/PolyData.h>
19 #include <cpPlugins/Interface/DataObject.h>
20 #include <cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.h>
21
22 // -------------------------------------------------------------------------
23 namespace Ui
24 {
25   class ImageMPR;
26 }
27
28 // -------------------------------------------------------------------------
29 /**
30  */
31 class ImageMPR
32   : public QMainWindow
33 {
34   Q_OBJECT;
35
36 public:
37   // Plugins types
38   typedef cpPlugins::Interface::Interface     TPluginsInterface;
39   typedef cpPlugins::Interface::Object        TPluginObject;
40   typedef cpPlugins::Interface::DataObject    TPluginData;
41   typedef cpPlugins::Interface::Image         TPluginImage;
42   typedef cpPlugins::Interface::PolyData      TPluginPolyData;
43   typedef cpPlugins::Interface::ProcessObject TPlugin;
44   typedef cpPlugins::Interface::Parameters    TParameters;
45
46   typedef std::map< std::string, std::string > TStringMap;
47   typedef cpPlugins::Extensions::Visualization::MPRWithDifferentWindows TMPR;
48
49 public:
50   explicit ImageMPR( QWidget* parent = 0 );
51   virtual ~ImageMPR( );
52
53 private slots:
54   void _triggered_actionOpenPlugins( );
55   void _triggered_actionOpenInputImage( );
56   void _triggered_actionOpenInputPolyData( );
57
58 private:
59   Ui::ImageMPR* m_UI;
60
61   // Plugins objects
62   TPluginsInterface m_Plugins;
63
64   // Needed object from plugins
65   TStringMap m_BaseClasses;
66
67   // Real data
68   TPluginImage::Pointer    m_InputImage;
69   TPluginPolyData::Pointer m_InputPolyData;
70
71   // Visualization stuff
72   TMPR* m_MPR;
73
74   /* TODO
75      vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;
76   */
77 };
78
79 #endif // __IMAGEMPR__H__
80
81 // eof - $RCSfile$