1 #ifndef __IMAGEMPR__H__
2 #define __IMAGEMPR__H__
10 #include <QMainWindow>
13 #include <vtkSmartPointer.h>
16 #include <cpPlugins/Interface/Interface.h>
17 #include <cpPlugins/Interface/ProcessObject.h>
18 #include <cpPlugins/Interface/Image.h>
19 #include <cpPlugins/Interface/Mesh.h>
20 #include <cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.h>
22 // -------------------------------------------------------------------------
28 // -------------------------------------------------------------------------
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::Mesh TPluginMesh;
43 typedef cpPlugins::Interface::ProcessObject TPluginFilter;
44 typedef cpPlugins::Interface::Parameters TParameters;
46 typedef std::set< std::string > TStringContainer;
47 typedef cpPlugins::Extensions::Visualization::MPRWithDifferentWindows TMPR;
50 explicit ImageMPR( QWidget* parent = 0 );
54 bool _LoadPlugins( const std::string& filename );
55 bool _ParametersDialog( TPluginFilter* filter );
58 void _triggered_actionOpenPlugins( );
59 void _triggered_actionOpenInputImage( );
60 void _triggered_actionOpenInputPolyData( );
61 void _triggered_actionImageToImage( );
62 void _triggered_actionImageToMesh( );
68 TPluginsInterface m_Plugins;
70 // Needed object from plugins
71 std::string m_ImageReaderClass;
72 std::string m_ImageWriterClass;
73 std::string m_MeshReaderClass;
74 std::string m_MeshWriterClass;
75 TStringContainer m_ImageToImageFilters;
76 TStringContainer m_ImageToMeshFilters;
79 TPluginImage::Pointer m_InputImage;
80 TPluginMesh::Pointer m_InputMesh;
82 // Visualization stuff
84 vtkSmartPointer< vtkPolyDataMapper > m_InputMeshMapper;
85 vtkSmartPointer< vtkActor > m_InputMeshActor;
87 QDialog* m_ParametersDlg;
90 vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;
94 #endif // __IMAGEMPR__H__