]> Creatis software - creaMaracasVisu.git/blob - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h
a9d10391125f7efccc49f26912c562fdecd709b8
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasRenderTabbedPanel.h
1 #ifndef wxMaracasRenderTabbedPanel_H_
2 #define wxMaracasRenderTabbedPanel_H_
3
4 #include <wx/wx.h>
5 #include <wx/notebook.h> 
6
7 #include "wxMaracasRenderImageManagementPanel.h"
8 #include "volumerenderermanager.h"
9 #include "wxMaracasSurfaceRenderingManager.h"
10 #include "wxVtkBaseView.h"
11 #include "wxMPRWidget.h"
12
13
14 class wxMaracasRenderTabbedPanel : public wxPanel
15 {
16         
17 public:
18         wxMaracasRenderTabbedPanel(wxWindow* parent, int id, wxVtk3DBaseView* _baseView);
19         ~wxMaracasRenderTabbedPanel();
20
21         void createControls(vtkImageData* inImg, std::string pathfile, std::string filename);
22         void setRenderer(vtkRenderer* rend);
23         void addVolume(vtkImageData* img, std::string dataname);
24         void addSurface1(vtkImageData* img, std::string dataname);
25         void addSurface2(vtkImageData* img, std::string dataname);
26         void addSurface3(vtkImageData* img, std::string dataname);
27
28         void deleteVolume(int volid);
29         void addRemoveActorV(int id, bool addremove);
30         void addRemoveActorSA(int id, bool addremove);
31         void addRemoveActorSB(int id, bool addremove);
32         void addRemoveActorSC(int id, bool addremove);
33         void addRemoveActorMPR(bool addremove);
34         void addMPROptions();
35
36         // ----- Volume rendering functions ----- //
37         void SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue);
38         void SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values);
39         vtkPiecewiseFunction* GetTransferFunction(int volumeid);
40         vtkColorTransferFunction* GetColorFunction(int volumeid);
41
42         // ----- Surface rendering functions ----- //
43         void changeOpacityA(int _propid, int value);
44         void changeIsoValueA(int propid, double value);
45         void changeColorA(int propid, double red, double green, double blue);
46         void changeOpacityB(int _propid, int value);
47         void changeIsoValueB(int propid, double value);
48         void changeColorB(int propid, double red, double green, double blue);
49         void changeOpacityC(int _propid, int value);
50         void changeIsoValueC(int propid, double value);
51         void changeColorC(int propid, double red, double green, double blue);
52         
53         void onCheckBoxVChange(wxCommandEvent& event);
54         void onCheckBoxSAChange(wxCommandEvent& event);
55         void onCheckBoxSBChange(wxCommandEvent& event);
56         void onCheckBoxSCChange(wxCommandEvent& event);
57         void onMPROptions(wxCommandEvent& event);
58
59         void onOpenParameters(wxCommandEvent& event);
60         void onColorChange(wxCommandEvent& event);
61         void onOpenCutter(wxCommandEvent& event);
62         void OnRefreshView(wxCommandEvent& event);
63
64         vtkImageData* getVolImage();
65         vtkImageData* getSurfAImage();
66         vtkImageData* getSurfBImage();
67         vtkImageData* getSurfCImage();
68
69         int getPropIdV();
70         
71 private:
72         wxCheckBox* checkboxVol;
73         wxCheckBox* checkboxSA;
74         wxCheckBox* checkboxSB;
75         wxCheckBox* checkboxSC;
76         wxCheckBox* checkboxViewer;
77         wxPanel*        controlPanelMPR3D;
78         wxNotebook* wxtabs;
79         wxString        volname;
80         
81         wxVtk3DBaseView*        baseView;
82         wxVtkMPR3DView*         mwxvtkmpr3Dview;
83         vtkMPR3DDataViewer* vtkmpr3Ddataviewer;
84
85         bool first;
86         int _id;
87
88         wxMaracasRenderImageManagementPanel*    dialog;
89         VolumeRendererManager* volmanager;
90         wxMaracasSurfaceRenderingManager*               surrendmanager1;
91         wxMaracasSurfaceRenderingManager*               surrendmanager2;
92         wxMaracasSurfaceRenderingManager*               surrendmanager3;
93
94         DECLARE_EVENT_TABLE( );
95 };
96
97 #endif /*wxMaracasMultipleVolumeRendererPanel_H_*/
98