#ifndef __cpExtensions__QT__SimpleMPRWidget__h__ #define __cpExtensions__QT__SimpleMPRWidget__h__ #include #ifdef cpExtensions_QT4 // TODO: #include #include #include #include #include // ------------------------------------------------------------------------- class vtkDataSet; class vtkProp; class vtkPropCollection; namespace Ui { class SimpleMPRWidget; } // ------------------------------------------------------------------------- namespace cpExtensions { namespace QT { class MPR3DWidget; class ImageWidget; /** */ class cpExtensions_EXPORT SimpleMPRWidget : public QWidget { Q_OBJECT; public: typedef SimpleMPRWidget Self; typedef QWidget Superclass; typedef vtkSmartPointer< vtkPropCollection > TProp; typedef std::set< TProp > TProps; // typedef cpExtensions::Visualization::MeshActor TMeshActor; public: explicit SimpleMPRWidget( QWidget* parent = NULL, Qt::WindowFlags f = 0 ); virtual ~SimpleMPRWidget( ); void Configure( char q1, char q2, char q3, char q4 ); bool HasImage( ) const; void SetImage( vtkImageData* image, const std::string& name ); bool Add( vtkDataSet* data, const std::string& name ); TProps GetViewProps( const std::string& name ) const; TProps GetImageProps( ) const; vtkRenderWindowInteractor* GetXInteractor( ); const vtkRenderWindowInteractor* GetXInteractor( ) const; vtkRenderWindowInteractor* GetYInteractor( ); const vtkRenderWindowInteractor* GetYInteractor( ) const; vtkRenderWindowInteractor* GetZInteractor( ); const vtkRenderWindowInteractor* GetZInteractor( ) const; vtkRenderWindowInteractor* GetWInteractor( ); const vtkRenderWindowInteractor* GetWInteractor( ) const; vtkRenderWindow* GetXRenderWindow( ); const vtkRenderWindow* GetXRenderWindow( ) const; vtkRenderWindow* GetYRenderWindow( ); const vtkRenderWindow* GetYRenderWindow( ) const; vtkRenderWindow* GetZRenderWindow( ); const vtkRenderWindow* GetZRenderWindow( ) const; vtkRenderWindow* GetWRenderWindow( ); const vtkRenderWindow* GetWRenderWindow( ) const; void GetScalarRange( double r[ 2 ] ) const; void GetWindowLevel( double wl[ 2 ] ) const; double GetImageOpacity( ) const; unsigned char GetImageInterpolation( ) const; void SetScalarRange( double r[ 2 ] ); void SetWindowLevel( double wl[ 2 ] ); void SetImageOpacity( double o ); void SetImageInterpolation( unsigned char i ); /* TODO std::vector< vtkProp* > GetActors( const std::string& name ) const; */ void ResetCameras( ); void Render( ); private slots: void _SyncBottom( int a, int b ); void _SyncTop( int a, int b ); void _ConfigurationButton( ); protected: Ui::SimpleMPRWidget* m_UI; ImageWidget* m_XImage; ImageWidget* m_YImage; ImageWidget* m_ZImage; MPR3DWidget* m_3DView; std::string m_MainImageName; vtkSmartPointer< vtkImageData > m_MainImage; }; } // ecapseman } // ecapseman #endif // cpExtensions_QT4 #endif // __cpExtensions__QT__SimpleMPRWidget__h__ // eof - $RCSfile$