X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpExtensions%2FQT%2FSimpleMPRWidget.h;h=3dd23098fa40f43b7918daa10c7a7aff7e18bcd8;hb=e6bef8234ffd9030c68a6786466a08cf144b7871;hp=c4d5ec5e3e975cd94cc8500a373744ac531a2dcd;hpb=1b0022070ff3b5f80f6f8c8b87f73032f5685eaf;p=cpPlugins.git diff --git a/lib/cpExtensions/QT/SimpleMPRWidget.h b/lib/cpExtensions/QT/SimpleMPRWidget.h index c4d5ec5..3dd2309 100644 --- a/lib/cpExtensions/QT/SimpleMPRWidget.h +++ b/lib/cpExtensions/QT/SimpleMPRWidget.h @@ -5,22 +5,26 @@ #ifdef cpExtensions_QT4 -#include -#include - #include +#include +#include #include -#include -#include -#include -#include -#include -#include +/* + #include + #include + #include + #include + #include + #include + #include + #include + #include +*/ // ------------------------------------------------------------------------- -class QTreeWidgetItem; +// TODO: class QTreeWidgetItem; class QVTKWidget; namespace Ui @@ -43,97 +47,108 @@ namespace cpExtensions public: typedef SimpleMPRWidget Self; - typedef cpExtensions::Visualization::MPRObjects TMPRObjects; - typedef TMPRObjects::TStyle TStyle; - typedef TMPRObjects::TMouseCommand TMouseCommand; - typedef TMPRObjects::TMouseWheelCommand TMouseWheelCommand; - typedef TMPRObjects::TKeyCommand TKeyCommand; - typedef TMPRObjects::TVoidCommand TVoidCommand; - typedef TMPRObjects::TMouseMoveCommand TMouseMoveCommand; - typedef TMPRObjects::TMouseClickCommand TMouseClickCommand; - typedef TMPRObjects::TMouseDoubleClickCommand TMouseDoubleClickCommand; - typedef TMPRObjects::TExposeCommand TExposeCommand; - typedef TMPRObjects::TConfigureCommand TConfigureCommand; - typedef TMPRObjects::TEnterCommand TEnterCommand; - typedef TMPRObjects::TLeaveCommand TLeaveCommand; + typedef cpExtensions::Visualization::ImageSliceActors TActors; + /* TODO + typedef cpExtensions::Visualization::MPRObjects TMPRObjects; + typedef TMPRObjects::TStyle TStyle; + typedef TMPRObjects::TMouseCommand TMouseCommand; + typedef TMPRObjects::TMouseWheelCommand TMouseWheelCommand; + typedef TMPRObjects::TKeyCommand TKeyCommand; + typedef TMPRObjects::TVoidCommand TVoidCommand; + typedef TMPRObjects::TMouseMoveCommand TMouseMoveCommand; + typedef TMPRObjects::TMouseClickCommand TMouseClickCommand; + typedef TMPRObjects::TMouseDoubleClickCommand TMouseDoubleClickCommand; + typedef TMPRObjects::TExposeCommand TExposeCommand; + typedef TMPRObjects::TConfigureCommand TConfigureCommand; + typedef TMPRObjects::TEnterCommand TEnterCommand; + typedef TMPRObjects::TLeaveCommand TLeaveCommand; + */ public: explicit SimpleMPRWidget( QWidget* parent = 0 ); virtual ~SimpleMPRWidget( ); // Data management - unsigned int GetNumberOfData( ) const; - bool AddData( - vtkImageData* data, const std::string& name, - const std::string& parent - ); - bool AddData( - vtkPolyData* data, const std::string& name - ); - const std::string& GetMainImage( ) const; - bool SetMainImage( const std::string& name ); - void DeleteData( const std::string& name ); - void DeleteAllData( ); - - // Some qt accessors - void SetDataColor( - const std::string& name, - const double& r, const double& g, const double& b - ); - void ShowData( const std::string& name ); - void HideData( const std::string& name ); - - vtkRenderWindowInteractor* GetInteractor( unsigned int i ); - - // Visual objects accessors - std::string GetSelectedData( ) const; - + void SetMainImage( vtkImageData* image ); + + /* TODO + unsigned int GetNumberOfData( ) const; + bool AddData( + vtkImageData* data, const std::string& name, + const std::string& parent + ); + bool AddData( + vtkPolyData* data, const std::string& name + ); + const std::string& GetMainImage( ) const; + bool SetMainImage( const std::string& name ); + void DeleteData( const std::string& name ); + void DeleteAllData( ); + + // Some qt accessors + void SetDataColor( + const std::string& name, + const double& r, const double& g, const double& b + ); + void ShowData( const std::string& name ); + void HideData( const std::string& name ); + void SetWindowLevel( const double& w, const double& l ); + double GetWindow( ) const; + double GetLevel( ) const; + + vtkRenderWindowInteractor* GetInteractor( unsigned int i ); + + // Visual objects accessors + std::string GetSelectedData( ) const; + vtkProp* GetProp( const std::string& name ); + */ + private slots: void _SyncBottom( int a, int b ); void _SyncTop( int a, int b ); protected: - static double cm_Colors[ 8 ][ 3 ]; - - Ui::SimpleMPRWidget* m_UI; - vtkSmartPointer< TMPRObjects > m_MPRObjects; - QVTKWidget* m_VTK[ 4 ]; - - struct PolyDataActor - { - vtkPolyData* Mesh; - vtkPolyDataNormals* Normals; - vtkStripper* Stripper; - vtkPolyDataMapper* Mapper; - vtkQuadricLODActor* Actor; - - PolyDataActor( ); - virtual ~PolyDataActor( ); - void Configure( vtkPolyData* pd ); - }; - - struct Data - { - enum { IMAGE, MESH } Tag; - vtkImageData* Image; - PolyDataActor Mesh; - - Data( ); - virtual ~Data( ); - - Data& operator=( const Data& data ); - - void SetImageData( vtkImageData* data ); - void SetPolyData( vtkPolyData* data ); - - vtkImageData* GetImage( ); - vtkPolyData* GetMesh( ); - vtkProp* GetMeshActor( ); - }; - - std::string m_MainImage; - std::map< std::string, Data > m_Data; - std::map< std::string, std::string > m_Tree; + Ui::SimpleMPRWidget* m_UI; + QVTKWidget* m_VTK[ 4 ]; + + vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ]; + vtkSmartPointer< TActors > m_2DSlices[ 3 ]; + vtkSmartPointer< TActors > m_3DSlices[ 3 ]; + + /* TODO + static double cm_Colors[ 8 ][ 3 ]; + vtkSmartPointer< TMPRObjects > m_MPRObjects; + struct PolyDataActor + { + vtkPolyData* Mesh; + vtkPolyDataNormals* Normals; + vtkStripper* Stripper; + vtkPolyDataMapper* Mapper; + vtkQuadricLODActor* Actor; + + PolyDataActor( ); + virtual ~PolyDataActor( ); + void Configure( vtkPolyData* pd ); + }; + + struct Data + { + enum { IMAGE, MESH } Tag; + vtkImageData* Image; + PolyDataActor Mesh; + Data( ); + virtual ~Data( ); + Data& operator=( const Data& data ); + void SetImageData( vtkImageData* data ); + void SetPolyData( vtkPolyData* data ); + vtkImageData* GetImage( ); + vtkPolyData* GetMesh( ); + vtkProp* GetMeshActor( ); + }; + std::string m_MainImage; + std::map< std::string, Data > m_Data; + std::map< std::string, std::string > m_Tree; + */ }; } // ecapseman