]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxPanelCuttingImageData.h
New classes due to separation of vtkMPR*.cxx and some modifications to othar classes
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxPanelCuttingImageData.h
1 #ifndef WXPANELCUTTINGIMAGEDATA_H_
2 #define WXPANELCUTTINGIMAGEDATA_H_
3
4 #include "vtkClipping3DDataViewer.h"
5
6 #include "figureCuttingCylinderModel.h"
7 #include "figureCuttingCubeModel.h"
8 #include "figureCuttingSphereModel.h"
9 #include "figureCuttingModel.h"
10
11 #include "wxVtk3DBaseView.h"
12
13 #include "vtkXYPlotActor.h"
14 #include "vtkCubeSource.h"
15 #include "vtkCylinderSource.h"
16 #include "vtkSphereSource.h"
17
18 #include "vtkPolyDataMapper.h"
19
20 class wxPanelCuttingImageData : public wxPanel
21 {
22 public:
23         wxPanelCuttingImageData (wxWindow *parent);
24         ~wxPanelCuttingImageData ();
25         void OnTransform(wxScrollEvent& event);
26         void OnOpacityFig(wxScrollEvent& event);
27         void OnTypeFig(wxCommandEvent& event);
28         void OnExtract(wxCommandEvent& event);
29         void SetVtkMPRBaseData( vtkMPRBaseData *vtkmprbasedata );
30         void SetVtkClipping3DDataViewer( vtkClipping3DDataViewer *vtkclipping3Ddataviewer );
31         void SetWxVtk3DBaseView( wxVtk3DBaseView * wxvtk3Dbaseview );
32
33         void SetParamsOfTransformation( );
34         void Configure();
35         void Refresh();
36         void RefreshView();
37         void RemoveActors();
38
39
40 private:
41         wxSlider                                                *_opacityFig;
42         wxSlider                                                *_scaleX;
43         wxSlider                                                *_scaleY;
44         wxSlider                                                *_scaleZ;
45         wxSlider                                                *_rotationX;
46         wxSlider                                                *_rotationY;
47         wxSlider                                                *_rotationZ;
48         
49         wxRadioButton                                   *_volIntern;
50         wxRadioButton                                   *_volExtern;
51         wxCheckBox                                              *_histogrammeAccumulated;
52         wxSlider                                                *_isoValue;
53         wxSlider                                                *_valueBeforeIsoValue;
54         wxSlider                                                *_valueAfterIsoValue;
55         wxChoice                                                *_typeFig;
56
57         wxStaticText                                    *_infoToVo;
58         wxStaticText                                    *_infoSuVo;
59         wxStaticText                                    *_infoSuVoA;
60         wxStaticText                                    *_infoPixLe;
61         wxStaticText                                    *_infoPixHi;
62
63         // Model
64         figureCuttingCylinderModel              *_modelCylinder;
65         figureCuttingCubeModel                  *_modelCube;
66         figureCuttingSphereModel                *_modelSphere;
67         figureCuttingModel                              *_actualCuttingModel;
68
69         // view
70         vtkCubeSource                                   *_vtkcube;
71         vtkSphereSource                                 *_vtksphere;
72         vtkCylinderSource                               *_vtkcylinder;
73         vtkPolyDataMapper                               *_cubeMapper;
74         vtkPolyDataMapper                               *_sphereMapper;
75         vtkPolyDataMapper                               *_cylinderMapper;
76         vtkActor                                                *_cubeActor;
77         vtkActor                                                *_sphereActor;
78         vtkActor                                                *_cylinderActor;
79         vtkActor                                                *_actualActor;
80
81
82         vtkMPRBaseData                                  *_vtkmprbasedata;
83         wxVtk3DBaseView                                 *_wxvtk3Dbaseview;
84         vtkImageData                                    *_imageData;
85         vtkClipping3DDataViewer                 *_vtkclipping3Ddataviewer;
86
87         vtkImageData                                    *_histogrammeVector;
88         vtkXYPlotActor                                  *_xyplot;
89         wxVtkBaseView                                   *_wxvtkbaseView;
90         vtkRenderer                                             *_renplotter;
91
92         void    CreateModel();
93         void    CreateInterface();
94         void    Create3DViewObjects();
95         void    RefreshOpacity();
96         wxWindow *CreatePlotHistogrammeInterface();
97         void    InitHistogramme();
98
99
100 protected:
101 };
102
103 #endif /*WXPANELCUTTINGIMAGEDATA_H_*/