X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracasRenderTabbedPanel.h;h=0df3853ef68477dfc86ecd46178f8981ac8a7676;hb=dea0efc567d8332b2e7eb936e3ba4ac1c11b2542;hp=492e456b344ebfe563fd6e8f0c73f9c07be72942;hpb=8e28248048ebb13908702adb87a319047af16939;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h index 492e456..0df3853 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasRenderTabbedPanel.h @@ -1,57 +1,122 @@ +/*# --------------------------------------------------------------------- +# +# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image +# pour la Sant�) +# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton +# Previous Authors : Laurent Guigues, Jean-Pierre Roux +# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil +# +# This software is governed by the CeCILL-B license under French law and +# abiding by the rules of distribution of free software. You can use, +# modify and/ or redistribute the software under the terms of the CeCILL-B +# license as circulated by CEA, CNRS and INRIA at the following URL +# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +# or in the file LICENSE.txt. +# +# As a counterpart to the access to the source code and rights to copy, +# modify and redistribute granted by the license, users are provided only +# with a limited warranty and the software's author, the holder of the +# economic rights, and the successive licensors have only limited +# liability. +# +# The fact that you are presently reading this means that you have had +# knowledge of the CeCILL-B license and that you accept its terms. +# ------------------------------------------------------------------------ */ + #ifndef wxMaracasRenderTabbedPanel_H_ #define wxMaracasRenderTabbedPanel_H_ #include #include -#include "wxMaracasMultipleVolumeRendererPanel.h" -#include "wxMaracasSurfaceRenderingPanel.h" -#include "wxMaracasMultipleVolumeRendererManager.h" + +#include "wxMaracasRenderImageManagementPanel.h" +#include "volumerenderermanager.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 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 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; + VolumeRendererManager* volmanager; + wxMaracasSurfaceRenderingManager* surrendmanager1; + wxMaracasSurfaceRenderingManager* surrendmanager2; + wxMaracasSurfaceRenderingManager* surrendmanager3; - wxMaracasMultipleVolumeRendererManager* volmanager; - wxMaracasSurfaceRenderingManager* surrendmanager1; - wxMaracasSurfaceRenderingManager* surrendmanager2; - wxMaracasSurfaceRenderingManager* surrendmanager3; + DECLARE_EVENT_TABLE( ); }; #endif /*wxMaracasMultipleVolumeRendererPanel_H_*/