#ifndef __IMAGEMPR__H__ #define __IMAGEMPR__H__ // Standard stuff #include #include // Qt stuff #include // vtk stuff #include // Plugins interface #include #include #include #include #include // ------------------------------------------------------------------------- namespace Ui { class ImageMPR; } // ------------------------------------------------------------------------- /** */ class ImageMPR : public QMainWindow { 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::Mesh TPluginMesh; typedef cpPlugins::Interface::ProcessObject TPluginFilter; typedef cpPlugins::Interface::Parameters TParameters; typedef std::set< std::string > TStringContainer; typedef cpExtensions::Visualization::MPRWithDifferentWindows TMPR; 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_actionOpenInputPolyData( ); void _triggered_actionImageToImage( ); void _triggered_actionImageToMesh( ); private: Ui::ImageMPR* m_UI; // 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; TStringContainer m_ImageToImageFilters; TStringContainer m_ImageToMeshFilters; // Real data TPluginImage::Pointer m_InputImage; TPluginMesh::Pointer m_InputMesh; // Visualization stuff TMPR* m_MPR; vtkSmartPointer< vtkPolyDataMapper > m_InputMeshMapper; vtkSmartPointer< vtkActor > m_InputMeshActor; /* TODO vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget; */ }; #endif // __IMAGEMPR__H__ // eof - $RCSfile$