]> Creatis software - creaMaracasVisu.git/blobdiff - lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h
creaButtonContainer & creaPanelButtonContainer: Deep errors have been solved!! ready...
[creaMaracasVisu.git] / lib / maracasVisuLib / src / interface / wxWindows / widgets / wxMaracasRenderTabbedPanel.h
index 492e456b344ebfe563fd6e8f0c73f9c07be72942..3dd2a336f045e9805068e2a0f239c9a8f4db22d6 100644 (file)
@@ -3,55 +3,95 @@
 
 #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"
+#include "wxVtkBaseView.h"
+#include "wxMPRWidget.h"
 
 
 class wxMaracasRenderTabbedPanel : public wxPanel
 {
        
 public:
-       wxMaracasRenderTabbedPanel(wxWindow* parent, wxMaracasMultipleVolumeRendererManager* img1, wxMaracasSurfaceRenderingManager* img2, wxMaracasSurfaceRenderingManager* img3, 
-                                                                         wxMaracasSurfaceRenderingManager* img4, wxString filename, wxString dataname);
+       wxMaracasRenderTabbedPanel(wxWindow* parent, int id, wxVtk3DBaseView* _baseView);
        ~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 addRemoveActorV(int id, bool addremove);
+       void addRemoveActorSA(int id, bool addremove);
+       void addRemoveActorSB(int id, bool addremove);
+       void addRemoveActorSC(int id, bool addremove);
+       void addRemoveActorMPR(bool addremove);
+       void addMPROptions();
+
+       // ----- 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 onMPROptions(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);
+       void OnRefreshView(wxCommandEvent& event);
+
+       vtkImageData* getVolImage();
+       vtkImageData* getSurfAImage();
+       vtkImageData* getSurfBImage();
+       vtkImageData* getSurfCImage();
 
-       void updateVolume();
-       int getPropId();
+       int getPropIdV();
        
 private:
        wxCheckBox* checkboxVol;
        wxCheckBox* checkboxSA;
        wxCheckBox* checkboxSB;
        wxCheckBox* checkboxSC;
-       //wxBitmapButton* _viewimage;
-
+       wxCheckBox* checkboxViewer;
+       wxPanel*        controlPanelMPR3D;
        wxNotebook* wxtabs;
-
-       int _propid;
+       wxString        volname;
+       
+       wxVtk3DBaseView*        baseView;
+       wxVtkMPR3DView*         mwxvtkmpr3Dview;
+       vtkMPR3DDataViewer* vtkmpr3Ddataviewer;
 
        bool first;
+       int _id;
 
+       wxMaracasRenderImageManagementPanel*    dialog;
        wxMaracasMultipleVolumeRendererManager* volmanager;
-       wxMaracasSurfaceRenderingManager* surrendmanager1;
-       wxMaracasSurfaceRenderingManager* surrendmanager2;
-       wxMaracasSurfaceRenderingManager* surrendmanager3;
+       wxMaracasSurfaceRenderingManager*               surrendmanager1;
+       wxMaracasSurfaceRenderingManager*               surrendmanager2;
+       wxMaracasSurfaceRenderingManager*               surrendmanager3;
+
+       DECLARE_EVENT_TABLE( );
 };
 
 #endif /*wxMaracasMultipleVolumeRendererPanel_H_*/