1 #ifndef wxMaracasRenderTabbedPanel_H_
2 #define wxMaracasRenderTabbedPanel_H_
5 #include <wx/notebook.h>
7 #include "wxMaracasRenderImageManagementPanel.h"
8 #include "wxMaracasMultipleVolumeRendererManager.h"
9 #include "wxMaracasSurfaceRenderingManager.h"
10 #include "wxVtkBaseView.h"
11 #include "wxMPRWidget.h"
14 class wxMaracasRenderTabbedPanel : public wxPanel
18 wxMaracasRenderTabbedPanel(wxWindow* parent, int id, wxVtk3DBaseView* _baseView);
19 ~wxMaracasRenderTabbedPanel();
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);
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);
35 // ----- Volume rendering functions ----- //
36 void SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue);
37 void SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values);
38 vtkPiecewiseFunction* GetTransferFunction(int volumeid);
39 vtkColorTransferFunction* GetColorFunction(int volumeid);
41 // ----- Surface rendering functions ----- //
42 void changeOpacityA(int _propid, int value);
43 void changeIsoValueA(int propid, double value);
44 void changeColorA(int propid, double red, double green, double blue);
45 void changeOpacityB(int _propid, int value);
46 void changeIsoValueB(int propid, double value);
47 void changeColorB(int propid, double red, double green, double blue);
48 void changeOpacityC(int _propid, int value);
49 void changeIsoValueC(int propid, double value);
50 void changeColorC(int propid, double red, double green, double blue);
52 void onCheckBoxVChange(wxCommandEvent& event);
53 void onCheckBoxSAChange(wxCommandEvent& event);
54 void onCheckBoxSBChange(wxCommandEvent& event);
55 void onCheckBoxSCChange(wxCommandEvent& event);
56 void onMPROptions(wxCommandEvent& event);
58 void onOpenParameters(wxCommandEvent& event);
59 void onColorChange(wxCommandEvent& event);
60 void onOpenCutter(wxCommandEvent& event);
61 void OnRefreshView(wxCommandEvent& event);
63 vtkImageData* getVolImage();
64 vtkImageData* getSurfAImage();
65 vtkImageData* getSurfBImage();
66 vtkImageData* getSurfCImage();
71 wxCheckBox* checkboxVol;
72 wxCheckBox* checkboxSA;
73 wxCheckBox* checkboxSB;
74 wxCheckBox* checkboxSC;
75 wxCheckBox* checkboxViewer;
76 wxPanel* controlPanelMPR3D;
80 wxVtk3DBaseView* baseView;
81 wxVtkMPR3DView* mwxvtkmpr3Dview;
82 vtkMPR3DDataViewer* vtkmpr3Ddataviewer;
87 wxMaracasRenderImageManagementPanel* dialog;
88 wxMaracasMultipleVolumeRendererManager* volmanager;
89 wxMaracasSurfaceRenderingManager* surrendmanager1;
90 wxMaracasSurfaceRenderingManager* surrendmanager2;
91 wxMaracasSurfaceRenderingManager* surrendmanager3;
93 DECLARE_EVENT_TABLE( );
96 #endif /*wxMaracasMultipleVolumeRendererPanel_H_*/