#ifndef __IMAGEMPR__H__ #define __IMAGEMPR__H__ #include // Qt stuff #include // vtk stuff #include #include // Plugins interface #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 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, const QStringList& names ); private slots: void _triggered_actionOpenPlugins( ); void _triggered_actionOpenInputImage( ); void _triggered_actionOpenSegmentation( ); 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; // Real data TPluginImage::Pointer m_InputImage; TPluginImage::Pointer m_InputSegmentation; TPluginMesh::Pointer m_InputMesh; // Visualization stuff vtkSmartPointer< TMPRObjects > m_MPRObjects; /* TODO vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget; */ }; #endif // __IMAGEMPR__H__ // eof - $RCSfile$