/*========================================================================= Program: wxMaracas Module: $RCSfile: wxMaracasRendererView.h,v $ Language: C++ =========================================================================*/ #ifndef __wxMaracasRendererViewPanelH__ #define __wxMaracasRendererViewPanelH__ #include #include #include "wx/aui/aui.h" #include #include "marTypes.h" #include "vtkProp3D.h" #include "wxMaracasRendererView.h" #include "wxMaracasRenderTabbedPanel.h" #include "wxMaracasMultipleVolumeRendererManager.h" #include "wxMaracasMultipleVolumeRendererPanel.h" #include "wxMaracasSurfaceRenderingProp3DMHD.h" #include "wxMaracasSurfaceRenderingManager.h" class creaMaracasVisu_EXPORT wxMaracasRendererView : public wxPanel { public: wxMaracasRendererView( wxWindow* parent, std::string path); ~wxMaracasRendererView( ); static wxMaracasRendererView* getInstance(wxWindow* parent,std::string path=""); static wxMaracasRendererView* getInstance(); void setRenderer(vtkRenderer* renderer); 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 loadVolume(wxString filename, wxString dataname); void onLoadImageFile(); void addPanels(wxString filename, wxString dataname = ""); std::string getPath(); void deleteVolume(int volid); void addRemoveActorVol(int id, bool remove); void addRemoveSurf1Actor(int id, bool addremove); void addRemoveSurf2Actor(int id, bool addremove); void addRemoveSurf3Actor(int id, bool addremove); 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); void addPanels(wxMaracasMultipleVolumeRendererPanel* irmview, std::string dataname); vtkPiecewiseFunction* GetTransferFunction(int volumeid); vtkColorTransferFunction* GetColorFunction(int volumeid); private: static wxMaracasRendererView* instance; wxMaracasMultipleVolumeRendererManager* volmanager; wxMaracasSurfaceRenderingManager* surrendmanager1; wxMaracasSurfaceRenderingManager* surrendmanager2; wxMaracasSurfaceRenderingManager* surrendmanager3; wxMaracasRenderTabbedPanel* wxtabs; wxAuiManager* wxauimanager; std::string _path; wxToolBar* _toolb; }; class ToolBarEventHandlerRenderer : public wxEvtHandler{ public: ToolBarEventHandlerRenderer(); ~ToolBarEventHandlerRenderer(); void onLoadImageFile(wxCommandEvent& event); private: DECLARE_EVENT_TABLE() }; class ToolBarRenderer : public wxToolBar{ public: ToolBarRenderer(wxWindow * parent,std::string iconsdir); ~ToolBarRenderer(void); private: ToolBarEventHandlerRenderer* _evthand; }; #endif