1 /*=========================================================================
4 Module: $RCSfile: wxMaracasRendererView.h,v $
7 =========================================================================*/
9 #ifndef __wxMaracasRendererViewPanelH__
10 #define __wxMaracasRendererViewPanelH__
14 #include "wx/aui/aui.h"
17 #include "vtkProp3D.h"
19 #include "wxMaracasRendererView.h"
20 #include "wxMaracasRenderTabbedPanel.h"
21 #include "wxMaracasMultipleVolumeRendererManager.h"
22 #include "wxMaracasMultipleVolumeRendererPanel.h"
23 #include "wxMaracasSurfaceRenderingProp3DMHD.h"
24 #include "wxMaracasSurfaceRenderingManager.h"
27 class creaMaracasVisu_EXPORT wxMaracasRendererView : public wxPanel
31 wxMaracasRendererView( wxWindow* parent, std::string path);
32 ~wxMaracasRendererView( );
34 static wxMaracasRendererView* getInstance(wxWindow* parent,std::string path="");
36 static wxMaracasRendererView* getInstance();
38 void setRenderer(vtkRenderer* renderer);
40 wxMaracasMultipleVolumeRendererPanel* addVolume(vtkImageData* img, std::string dataname="");
42 wxMaracasSurfaceRenderingPanel* addSurface1(vtkImageData* img, std::string dataname="");
44 wxMaracasSurfaceRenderingPanel* addSurface2(vtkImageData* img, std::string dataname="");
46 wxMaracasSurfaceRenderingPanel* addSurface3(vtkImageData* img, std::string dataname="");
48 void loadVolume(wxString filename, wxString dataname);
50 void onLoadImageFile();
52 void addPanels(wxString filename, wxString dataname = _T(""));
54 std::string getPath();
56 void deleteVolume(int volid);
58 void addRemoveActorVol(int id, bool remove);
59 void addRemoveSurf1Actor(int id, bool addremove);
60 void addRemoveSurf2Actor(int id, bool addremove);
61 void addRemoveSurf3Actor(int id, bool addremove);
63 void SetValuesColorPointsFunction(int volid, std::vector<double> greylevelcolors,std::vector<double> red,std::vector<double> green,std::vector<double> blue);
64 void SetValuesPointsFunction(int volid, std::vector<double> greylevel, std::vector<double> values);
66 void addPanels(wxMaracasMultipleVolumeRendererPanel* irmview, std::string dataname);
68 vtkPiecewiseFunction* GetTransferFunction(int volumeid);
69 vtkColorTransferFunction* GetColorFunction(int volumeid);
72 static wxMaracasRendererView* instance;
74 wxMaracasMultipleVolumeRendererManager* volmanager;
76 wxMaracasSurfaceRenderingManager* surrendmanager1;
78 wxMaracasSurfaceRenderingManager* surrendmanager2;
80 wxMaracasSurfaceRenderingManager* surrendmanager3;
82 wxMaracasRenderTabbedPanel* wxtabs;
84 wxAuiManager* wxauimanager;
92 class ToolBarEventHandlerRenderer : public wxEvtHandler{
95 ToolBarEventHandlerRenderer();
96 ~ToolBarEventHandlerRenderer();
98 void onLoadImageFile(wxCommandEvent& event);
102 DECLARE_EVENT_TABLE()
105 class ToolBarRenderer : public wxToolBar{
109 ToolBarRenderer(wxWindow * parent,std::string iconsdir);
110 ~ToolBarRenderer(void);
115 ToolBarEventHandlerRenderer* _evthand;