X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=appli%2FInteractiveDeformableMeshSegmentation%2FMainWnd.h;fp=appli%2FInteractiveDeformableMeshSegmentation%2FMainWnd.h;h=3576ac576b44732f6ccdfc235f6d57e878379f82;hb=93ddd2fe04d05b28dff31448032fd3af93ffe750;hp=1389cc8baa9be59733323c439e770ca22964d34b;hpb=6d6bf5d5e3b9318a507216f2f231c32299d1a941;p=cpMesh.git diff --git a/appli/InteractiveDeformableMeshSegmentation/MainWnd.h b/appli/InteractiveDeformableMeshSegmentation/MainWnd.h index 1389cc8..3576ac5 100644 --- a/appli/InteractiveDeformableMeshSegmentation/MainWnd.h +++ b/appli/InteractiveDeformableMeshSegmentation/MainWnd.h @@ -7,6 +7,7 @@ // Qt stuff #include +#include // vtk stuff #include @@ -16,22 +17,9 @@ // Plugins interface #include #include +#include #include - -// Local stuff -#include "InteractorStyleImage.h" -#include "VolumeActors.h" - - -/* - #include - #include - - #include - - #include - #include -*/ +#include // ------------------------------------------------------------------------- namespace Ui @@ -52,8 +40,10 @@ public: typedef cpPlugins::Interface::Interface TPluginsInterface; typedef cpPlugins::Interface::Object TPluginObject; typedef cpPlugins::Interface::DataObject TPluginData; + typedef cpPlugins::Interface::Image TPluginImage; typedef cpPlugins::Interface::ProcessObject TPlugin; typedef TPlugin::TParameters TParameters; + typedef cpPlugins::Extensions::Visualization::MPRWithDifferentWindows TMPR; typedef std::map< std::string, std::string > TStringMap; @@ -65,16 +55,19 @@ protected: void _LoadApplicationPreferences( ); bool _LoadPlugins( ); bool _CheckClassesInPlugins( const TStringMap& classes ); - TPluginData* _LoadImage( + void _AddPluginActions( + const TStringMap& classes, QMenu* menu, const char* method + ); + TPluginImage* _LoadImage( const std::string& image_type, const std::string& image_dim ); void _UpdateEnabledFlags( ); + bool _ParametersDialog( const TParameters& parameters ); + /* TODO - bool _ParametersDialog( TParameters& parameters ); template< class I > */ - /* void _SliceMesh( int axis ); static void _SliceEventCallback( @@ -90,6 +83,10 @@ private slots: void _triggered_actionOpenSegmentedImage( ); void _triggered_actionSwitchMode( ); + void _triggered_actionSegmentImage( ); + void _triggered_actionFilterSegmentation( ); + void _triggered_actionProcessMesh( ); + /* TODO void triggered_aOpenSegmentedImage( ); void triggered_aFilterSegmentedImage( ); @@ -119,36 +116,15 @@ private: std::string m_LastOpenedFile; // Real data - TPluginData* m_InputImage; - TPluginData* m_SegmentedImage; - - /* TODO - // Inputs - TImage::Pointer m_Image; - TImage::Pointer m_Segmentation; - TMesh::Pointer m_Mesh; - TVTKImage::Pointer m_VTKImage; - TVTKImage::Pointer m_VTKSegmentation; - */ + TPluginImage* m_InputImage; + TPluginImage* m_SegmentedImage; // Visualization stuff - vtkSmartPointer< vtkRenderer > m_3DRenderer; - vtkSmartPointer< vtkRenderer > m_XPlaneRenderer; - vtkSmartPointer< vtkRenderer > m_YPlaneRenderer; - vtkSmartPointer< vtkRenderer > m_ZPlaneRenderer; - vtkSmartPointer< vtkRenderer > m_AuxRenderer; - vtkSmartPointer< idms::VolumeActors > m_ImageActors; - vtkSmartPointer< idms::InteractorStyleImage > m_XStyle; - vtkSmartPointer< idms::InteractorStyleImage > m_YStyle; - vtkSmartPointer< idms::InteractorStyleImage > m_ZStyle; - vtkSmartPointer< vtkOrientationMarkerWidget > m_3DOrientationWidget; + TMPR* m_MPR; - /* - TTriangulation::Pointer m_Mesh; - vtkSmartPointer< TTriangulationMapper > m_MeshMapper; - vtkSmartPointer< vtkActor > m_MeshActor; - TCutter::Pointer m_ZCutter; - */ + // Active plugin + TPlugin* m_ActivePlugin; + QWidget* m_ActiveParameters; }; #endif // __MAINWND__H__