#include <cpExtensions/Visualization/MPRObjects.h>
// Plugins interface
+#include <cpPlugins/Interface/BaseApplication.h>
#include <cpPlugins/Interface/Plugins.h>
-#include <cpPlugins/Interface/BasePluginsApplication.h>
+#include <cpPlugins/Interface/Image.h>
+#include <cpPlugins/Interface/Mesh.h>
// -------------------------------------------------------------------------
namespace Ui
class ImageMPR;
}
-//==========================================================================
-// 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::ImplicitFunction TPluginImplicitFunction;
-//typedef cpPlugins::Interface::Mesh TPluginMesh;
-//typedef cpPlugins::Interface::ProcessObject TPluginFilter;
-//typedef cpPlugins::Interface::Parameters TParameters;
-//
-//typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
-
-
-
-
-//class MementoState
-//{
-//private:
-// long m_Id;
-//
-//public:
-//
-// MementoState()
-// {
-// m_Id = 0;
-// };
-//
-// MementoState(long id, TPluginImage* _img)
-// {
-// char * base = "state";
-// std::ostringstream oss;
-// oss << id;
-// std::string str = oss.str();
-// auto complement = str.c_str();
-//
-// std::string fileName(base);
-// fileName.append(complement);
-// fileName.append(".mhd");
-//
-// std::string fileNameRaw(base);
-// fileNameRaw.append(complement);
-// fileNameRaw.append(".raw");
-// save(fileName, fileNameRaw, _img);
-// }
-//
-// vtkSmartPointer<vtkMetaImageReader> getMemento(long id)
-// {
-// char * base = "state";
-// std::ostringstream oss;
-// oss << id;
-// std::string str = oss.str();
-// auto complement = str.c_str();
-//
-// std::string fileName(base);
-// fileName.append(complement);
-// fileName.append(".mhd");
-// return load(fileName);
-// }
-//
-// void save(const std::string& filename, const std::string& filenameRaw, TPluginImage* img) {
-// vtkSmartPointer<vtkMetaImageWriter> writer =
-// vtkSmartPointer<vtkMetaImageWriter>::New();
-// writer->SetInputData(img->GetVTK< vtkImageData >());
-// writer->SetFileName(filename.c_str());
-// writer->SetRAWFileName(filenameRaw.c_str());
-// writer->Write();
-// }
-//
-// vtkSmartPointer<vtkMetaImageReader> load(const std::string& filename) {
-// vtkSmartPointer<vtkMetaImageReader> reader =
-// vtkSmartPointer<vtkMetaImageReader>::New();
-// reader->SetFileName(filename.c_str());
-// reader->Update();
-// return reader;
-// }
-//
-//};
-
-//==========================================================================
-
-// -------------------------------------------------------------------------
/**
*/
-
-
-
class ImageMPR
: public QMainWindow,
- public cpPlugins::Interface::BasePluginsApplication
+ public cpPlugins::Interface::BaseApplication
{
Q_OBJECT;
typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
typedef cpPlugins::Interface::Plugins TPlugins;
-
- // 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::ImplicitFunction TPluginImplicitFunction;
- typedef cpPlugins::Interface::Mesh TPluginMesh;
- typedef cpPlugins::Interface::ProcessObject TPluginFilter;
- typedef cpPlugins::Interface::Parameters TParameters;
- typedef cpExtensions::Visualization::MPRObjects TMPRObjects;
- */
+ typedef cpPlugins::Interface::DataObject TDataObject;
+ typedef cpPlugins::Interface::Image TImage;
+ typedef cpPlugins::Interface::Mesh TMesh;
public:
explicit ImageMPR( QWidget* parent = 0 );
virtual void UpdateActualFilter( );
- /* TODO
- protected:
- inline void _Block( )
- {
- QApplication::setOverrideCursor( Qt::WaitCursor );
- this->setEnabled( false );
- }
- inline void _Unblock( )
- {
- QApplication::restoreOverrideCursor( );
- this->setEnabled( true );
- }
- */
-
- /*
- protected:
- bool _LoadPlugins( const std::string& filename );
- std::string _LoadImage( TPluginImage::Pointer& image );
- std::string _ConfigureMeshActors( );
- */
+protected:
+ void _AssociatePluginsToMenu( );
private slots:
void _aOpenImage( );
void _aOpenSegmentation( );
void _aOpenPolyData( );
void _aSaveImage( );
- void _aSaveSegmentation( );
void _aSavePolyData( );
void _aUndo( );
void _aRedo( );
private:
Ui::ImageMPR* m_UI;
- TPlugins* m_Plugins;
-
- // Objects
- /*
- typedef std::pair< std::string, TPlugins::TDataObject::Pointer > TTreeNode;
- typedef std::map< std::string, TTreeNode > TTree;
- TTree m_Objects;
-
- // Active filter (for modal configuration)
- TPlugins::TProcessObject::Pointer m_ActiveFilter;
- */
-
- // 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;
- std::string m_MeshCutterClass;
-
- // Real data
- TPluginImage::Pointer m_Image;
- TPluginImage::Pointer m_Segmentation;
- TPluginMesh::Pointer m_Mesh;
-
- // Cutters
- TPluginFilter::Pointer m_Cutters[ 3 ];
- TPluginImplicitFunction::Pointer m_Planes[ 3 ];
-
- // Visualization stuff
- vtkSmartPointer< TMPRObjects > m_MPRObjects;
-
- // Memento stuff
- unsigned long m_state;
- unsigned long m_max_state;
- */
+ TPlugins m_Plugins;
+ std::string m_ActiveFilterMainInput;
/* TODO
vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget;