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