#include <wx/wx.h>
#include <wx/notebook.h>
-#include "wxMaracasMultipleVolumeRendererPanel.h"
-#include "wxMaracasSurfaceRenderingPanel.h"
+#include "wxMaracasRenderImageManagementPanel.h"
+
#include "wxMaracasMultipleVolumeRendererManager.h"
#include "wxMaracasSurfaceRenderingManager.h"
-#include "wxMaracasSurfaceRenderingProp3DMHD.h"
+
class wxMaracasRenderTabbedPanel : public wxPanel
{
public:
- wxMaracasRenderTabbedPanel(wxWindow* parent, wxMaracasMultipleVolumeRendererManager* img1, wxMaracasSurfaceRenderingManager* img2, wxMaracasSurfaceRenderingManager* img3,
- wxMaracasSurfaceRenderingManager* img4, wxString filename, wxString dataname);
+ wxMaracasRenderTabbedPanel(wxWindow* parent);
~wxMaracasRenderTabbedPanel();
- void createControls(wxString filename, wxString dataname);
- wxMaracasMultipleVolumeRendererPanel* addVolume(vtkImageData* img, std::string dataname);
- wxMaracasSurfaceRenderingPanel* addSurface1(vtkImageData* img, std::string dataname);
- wxMaracasSurfaceRenderingPanel* addSurface2(vtkImageData* img, std::string dataname);
- wxMaracasSurfaceRenderingPanel* addSurface3(vtkImageData* img, std::string dataname);
+
+ void createControls(vtkImageData* inImg, std::string pathfile, std::string 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 deleteVolume(int volid);
+ void Transform(vtkMatrix4x4* tmatrix);
+ 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<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue);
+ void SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> 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 onCheckBoxVChange(wxCommandEvent& event);
void onCheckBoxSAChange(wxCommandEvent& event);
void onCheckBoxSBChange(wxCommandEvent& event);
void onCheckBoxSCChange(wxCommandEvent& event);
+
+ void onOpenParameters(wxCommandEvent& event);
void onColorChange(wxCommandEvent& event);
- void onOK(wxCommandEvent& event);
- void onCancel(wxCommandEvent& event);
- void onUpdate(wxCommandEvent& event);
- void onViewImage(wxCommandEvent& event);
+ void onOpenCutter(wxCommandEvent& event);
+
+ vtkImageData* getVolImage(int id);
+ vtkImageData* getSurfAImage(int id);
+ vtkImageData* getSurfBImage(int id);
+ vtkImageData* getSurfCImage(int id);
- void updateVolume();
- int getPropId();
+ int getPropIdV();
+ int getPropIdSA();
+ int getPropIdSB();
+ int getPropIdSC();
private:
wxCheckBox* checkboxVol;
//wxBitmapButton* _viewimage;
wxNotebook* wxtabs;
+ wxMaracasRenderImageManagementPanel* dialog;
- int _propid;
+ int _propidV;
+ int _propidSA;
+ int _propidSB;
+ int _propidSC;
bool first;