]> Creatis software - cpPlugins.git/blobdiff - lib/cpExtensions/QT/SimpleMPRWidget.h
MVC integration at 50%
[cpPlugins.git] / lib / cpExtensions / QT / SimpleMPRWidget.h
index d5f33539fe0fb5cd29a0437fa32f65d55f3cc8ca..802846063e4c89fcbd019aab8e531e9d500f2339 100644 (file)
@@ -39,7 +39,7 @@ namespace cpExtensions
     public:
       typedef SimpleMPRWidget Self;
 
-      typedef cpExtensions::Visualization::ImageSliceActors TActors;
+      typedef cpExtensions::Visualization::ImageSliceActors TSliceActors;
 
       /**
        */
@@ -96,14 +96,25 @@ namespace cpExtensions
       // Data management
       void Clear( );
       void SetMainImage( vtkImageData* image );
+      void SetMainActor( vtkImageActor* actor );
+      void AddImage( vtkImageData* image );
+      void AddImageActor( vtkImageActor* actor );
       void AddMesh( vtkPolyData* mesh );
+      void AddMeshActor( vtkActor* actor );
+      void AddActor( vtkProp* actor );
 
       // Visual objects
       vtkRenderWindowInteractor* GetInteractor( unsigned int i );
       vtkRenderer* GetRenderer( unsigned int i );
-      std::vector< std::pair< vtkImageActor*, vtkRenderer* > >
-        GetMainImageActors( );
-      vtkActor* GetActor( vtkPolyData* mesh );
+      vtkRenderWindow* GetRenderWindow( unsigned int i );
+      /* TODO
+         std::vector< std::pair< vtkImageActor*, vtkRenderer* > >
+         GetMainImageActors( );
+         vtkActor* GetActor( vtkPolyData* mesh );
+      */
+
+    protected:
+      void _AssociateSlices( );
 
     private slots:
       void _SyncBottom( int a, int b );
@@ -113,9 +124,9 @@ namespace cpExtensions
       Ui::SimpleMPRWidget* m_UI;
       QVTKWidget*          m_VTK[ 4 ];
 
-      vtkSmartPointer< vtkRenderer > m_Renderers[ 4 ];
-      vtkSmartPointer< TActors >     m_2DSlices[ 3 ];
-      vtkSmartPointer< TActors >     m_3DSlices[ 3 ];
+      vtkSmartPointer< vtkRenderer >  m_Renderers[ 4 ];
+      vtkSmartPointer< TSliceActors > m_2DSlices[ 3 ];
+      vtkSmartPointer< TSliceActors > m_3DSlices[ 3 ];
 
       std::map< vtkPolyData*, PolyDataActor > m_PolyDatas;
     };