]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtkMPR3DView.h
no message
[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         
57         
58 private:
59         wxVtk3DBaseView                                 *_wxvtk3Dbaseview;
60         vtkMPR3DDataViewer                              *_vtkmpr3Ddataviewer;
61         wxVtkMPR3DViewCntrlPanel                *_wxvtkmpr3DviewCntrlPanel;
62
63         // Plane Widget (3D)
64         vtkPolyData                                             *_vtkplane;
65         vtkActor                                                *_contourPlaneActor;
66         vtkPlaneWidget                                  *_planeWidget;
67
68         // Point Widget (3D)
69         vtkPointWidget                                  *_pointWidget;
70         //vtkmyPWCallback_3DPointWidget *_myCallback;
71         vtkProbeFilter *_probe;
72         vtkPolyDataMapper *_contourMapper;
73
74         //Free planes
75         vtkImagePlaneWidget *_planeWidgetX;
76         vtkImagePlaneWidget *_planeWidgetY;
77         vtkImagePlaneWidget *_planeWidgetZ;
78         
79
80 protected:
81 };
82
83 #endif /*WXVTKMPR3DVIEW_H_*/