]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.h
Bug #1373
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxVtkMPR3DView.h
1 #ifndef WXVTKMPR3DVIEW_H_
2 #define WXVTKMPR3DVIEW_H_
3
4 #include "vtkMPR3DDataViewer.h"
5 #include "wxVtkMPR3DViewCntrlPanel.h"
6 #include "wxVtk3DBaseView.h"
7
8 #include "vtkProbeFilter.h"
9 #include "vtkPlaneWidget.h"
10 #include "vtkPointWidget.h"
11 #include "vtkImagePlaneWidget.h"
12
13
14 //class vtkmyPWCallback_3DPointWidget;
15 class wxVtkMPR3DViewCntrlPanel;
16
17 class creaMaracasVisu_EXPORT wxVtkMPR3DView
18 {
19 public:
20         wxVtkMPR3DView( wxVtk3DBaseView *wxvtk3Dbaseview );
21         virtual ~wxVtkMPR3DView();      
22         void                            VisibleImageActor(int idPosition, bool visible);
23         void                            VisiblePointWidget( bool visible );
24         void                            VisiblePlaneWidget( bool visible );
25
26         void                            SetVisibleTissue(int idTissue, bool visible);
27         bool                            GetVisibleTissue(int idTissue);
28         virtual void            Refresh();
29         virtual void            RefreshView();
30         virtual void            Configure();
31         void                            SetVtkMPR3DDataViewer( vtkMPR3DDataViewer *vtkmpr3Ddataviewer );
32         wxPanel*                        CreateControlPanel(wxWindow *parent, bool align);
33
34         vtkMPR3DDataViewer* GetVtkMPR3DDataViewer();
35         wxVtk3DBaseView*        GetWxvtk3Dbaseview() throw (char*);
36
37         void                            InitOrientationPointWidget(); 
38         void                            showOutlineActor(bool value);
39
40         // EED 25 Janvier 2007 testLoic
41         void                            TestLoic1();
42         void                            TestLoic2();
43
44         void RemoveActor(vtkActor* actor);
45         void ResetCamera(int *ext=NULL, double* origin=NULL,double* spc=NULL);
46
47         void setColorTransferFunction(vtkColorTransferFunction* colortable);
48
49         
50         //Free planes
51         //-------------------------------------------------------------------
52         void ConfigureFreePlanes();
53         vtkImagePlaneWidget* GetPlaneWidget(unsigned char activationkey, double r, double g, double b, vtkCellPicker* picker);
54         void FreePlaneVisible(int plane, bool ok);
55         void FreePlaneInteraction(bool ok);
56         void SetFreePlanesOrtho();
57         
58         void SetColorWindow(double colorWindow);
59         void SetColorLevel(double colorLevel);
60
61         
62 private:
63         wxVtk3DBaseView                                 *_wxvtk3Dbaseview;
64         vtkMPR3DDataViewer                              *_vtkmpr3Ddataviewer;
65         wxVtkMPR3DViewCntrlPanel                *_wxvtkmpr3DviewCntrlPanel;
66
67         // Plane Widget (3D)
68         vtkPolyData                                             *_vtkplane;
69         vtkActor                                                *_contourPlaneActor;
70         vtkPlaneWidget                                  *_planeWidget;
71
72         // Point Widget (3D)
73         vtkPointWidget                                  *_pointWidget;
74         //vtkmyPWCallback_3DPointWidget *_myCallback;
75         vtkProbeFilter                                  *_probe;
76         vtkPolyDataMapper                               *_contourMapper;
77
78         //Free planes
79         vtkImagePlaneWidget *_planeWidgetX;
80         vtkImagePlaneWidget *_planeWidgetY;
81         vtkImagePlaneWidget *_planeWidgetZ;
82         
83
84 protected:
85 };
86
87 #endif /*WXVTKMPR3DVIEW_H_*/