#ifndef wxMaracasRenderTabbedPanel_H_ #define wxMaracasRenderTabbedPanel_H_ #include #include #include "wxMaracasMultipleVolumeRendererPanel.h" #include "wxMaracasSurfaceRenderingPanel.h" #include "wxMaracasMultipleVolumeRendererManager.h" #include "wxMaracasSurfaceRenderingManager.h" #include "wxMaracasSurfaceRenderingProp3DMHD.h" class wxMaracasRenderTabbedPanel : public wxPanel { public: wxMaracasRenderTabbedPanel(wxWindow* parent/*, wxMaracasMultipleVolumeRendererManager* volmanager, wxMaracasSurfaceRenderingManager* surmanager1, wxMaracasSurfaceRenderingManager* surmanager2, wxMaracasSurfaceRenderingManager* surmanager3, wxString pathfile, wxString filename*/); ~wxMaracasRenderTabbedPanel(); void createControls(wxString pathfile, wxString filename); void setRenderer(vtkRenderer* rend); void addVolume(vtkImageData* img, std::string dataname); void addSurface1(vtkImageData* img, std::string dataname); void addSurface2(vtkImageData* img, std::string dataname); void addSurface3(vtkImageData* img, std::string dataname); void onCheckBoxVChange(wxCommandEvent& event); void onCheckBoxSAChange(wxCommandEvent& event); void onCheckBoxSBChange(wxCommandEvent& event); void onCheckBoxSCChange(wxCommandEvent& event); void deleteVolume(int volid); void addRemoveActorV(int id, bool addremove); void addRemoveActorSA(int id, bool addremove); void addRemoveActorSB(int id, bool addremove); void addRemoveActorSC(int id, bool addremove); // ----- Volume rendering functions ----- // void SetValuesColorPointsFunction(int volid, std::vector greylevelcolors,std::vector red,std::vector green,std::vector blue); void SetValuesPointsFunction(int volid, std::vector greylevel, std::vector values); vtkPiecewiseFunction* GetTransferFunction(int volumeid); vtkColorTransferFunction* GetColorFunction(int volumeid); // ----- Surface rendering functions ----- // void changeOpacityA(int _propid, int value); void changeIsoValueA(int propid, double value); void changeColorA(int propid, double red, double green, double blue); void changeOpacityB(int _propid, int value); void changeIsoValueB(int propid, double value); void changeColorB(int propid, double red, double green, double blue); void changeOpacityC(int _propid, int value); void changeIsoValueC(int propid, double value); void changeColorC(int propid, double red, double green, double blue); void onColorChange(wxCommandEvent& event); //void onOK(wxCommandEvent& event); //void onCancel(wxCommandEvent& event); void onUpdate(wxCommandEvent& event); void onViewImage(wxCommandEvent& event); void updateVolume(); int getPropIdV(); int getPropIdSA(); int getPropIdSB(); int getPropIdSC(); private: wxCheckBox* checkboxVol; wxCheckBox* checkboxSA; wxCheckBox* checkboxSB; wxCheckBox* checkboxSC; //wxBitmapButton* _viewimage; wxNotebook* wxtabs; int _propidV; int _propidSA; int _propidSB; int _propidSC; bool first; wxMaracasMultipleVolumeRendererManager* volmanager; wxMaracasSurfaceRenderingManager* surrendmanager1; wxMaracasSurfaceRenderingManager* surrendmanager2; wxMaracasSurfaceRenderingManager* surrendmanager3; wxMaracasMultipleVolumeRendererPanel* controlpanV; wxMaracasSurfaceRenderingPanel* controlpanSA; wxMaracasSurfaceRenderingPanel* controlpanSB; wxMaracasSurfaceRenderingPanel* controlpanSC; }; #endif /*wxMaracasMultipleVolumeRendererPanel_H_*/