// Standard stuff
#include <map>
-#include <string>
+#include <set>
// Qt stuff
#include <QMainWindow>
// vtk stuff
#include <vtkSmartPointer.h>
+#include <cpExtensions/Visualization/MPRObjects.h>
// Plugins interface
#include <cpPlugins/Interface/Interface.h>
#include <cpPlugins/Interface/ProcessObject.h>
#include <cpPlugins/Interface/Image.h>
-#include <cpPlugins/Interface/DataObject.h>
-#include <cpPlugins/Extensions/Visualization/MPRWithDifferentWindows.h>
+#include <cpPlugins/Interface/Mesh.h>
// -------------------------------------------------------------------------
namespace Ui
typedef cpPlugins::Interface::Object TPluginObject;
typedef cpPlugins::Interface::DataObject TPluginData;
typedef cpPlugins::Interface::Image TPluginImage;
- typedef cpPlugins::Interface::ProcessObject TPlugin;
+ typedef cpPlugins::Interface::Mesh TPluginMesh;
+ typedef cpPlugins::Interface::ProcessObject TPluginFilter;
typedef cpPlugins::Interface::Parameters TParameters;
- typedef std::map< std::string, std::string > TStringMap;
- typedef cpPlugins::Extensions::Visualization::MPRWithDifferentWindows TMPR;
+ typedef std::set< std::string > TStringContainer;
+ typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
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;
TPluginsInterface m_Plugins;
// Needed object from plugins
- TStringMap m_BaseClasses;
+ 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< TMPRObjects > m_MPRObjects;
/* TODO
vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;