/*========================================================================= Program: wxMaracas Module: $RCSfile: wxMPRWidget.h,v $ Language: C++ Date: $Date: 2009/05/19 11:17:28 $ Version: $Revision: 1.12 $ Copyright: (c) 2002, 2003 License: This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ #ifndef __WX__MPR__WIDGET__HXX__ #define __WX__MPR__WIDGET__HXX__ #include "marTypes.h" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "wxMPRBaseData.h" #include "wxVtkBaseView.h" #include #include #include #include #include "marTypes.h" #include "vtkInteractorStyleSphere.h" #include "idAlBeRa.h" #include "wxVtkMPR3DView.h" #include "wxVtkMPR2DView.h" #include "vtkPlane2DView.h" #include "wxSphereView.h" #include "wxVtkClipping3DView.h" #include "wxPanelCuttingImageData.h" #include "wxWidgetMesure2D_Plane_in_MPR.h" #include "wxVtk3DBaseView.h" //class wxMPRWidget; //class vtkInteractorStylePlane2D; //class vtkInfoTextImageInteractorPlane2D; //class vtkInteractorStyleMPRView; //class wxVtkMPR3DView; //class wxVtkClipping3DView; class creaMaracasVisu_EXPORT wxMPRWidget : public wxPanel { public: wxMPRWidget(wxWindow* parent,marImageData *marimageData = NULL,double voxelSize = -1); ~wxMPRWidget( ); void ConfigureVTK(); virtual void OnRefreshView(wxCommandEvent & event); void OnDClickLeft(wxCommandEvent & event); void OnPageAChanged(wxNotebookEvent & event); void OnPageBChanged(wxNotebookEvent & event); vtkMPRBaseData *GetVtkMPRBaseData(); vtkPlane2DView *GetVtkPlane2DView(); //returns the 3d view of the widget wxVtkMPR3DView *GetWxvtkmpr3Dview_BB(); void RefreshView(bool firsttime=false); wxVtkBaseView *GetWxVtkBaseView(int page, int id); //returns the 2d view of the specific direction (0|1|2) wxVtkMPR2DView *GetWxvtkMPR2Dview(int direction); void setImageData(vtkImageData * img, double voxelsize); private: double _voxelSize; marImageData *_marImageData; vtkMPRBaseData *_vtkmprbasedata; wxVtkMPR2DView *_vtkmpr2Dview[3]; vtkPlane2DView *_vtkplane2Dview; wxSphereView *_wxsphereview; wxVtkMPR2DView *_vtkmpr2Dview_B[3]; vtkPlane2DView *_vtkplane2Dview_B; wxSphereView *_wxsphereview_B; wxVtk3DBaseView *_wxvtk3Dbaseview_MPRClipping3D; wxVtkMPR3DView *_wxvtkmpr3Dview; wxVtkClipping3DView *_wxvtkclipping3Dview; wxVtk3DBaseView *_wxvtk3Dbaseview_MPR3D_B; wxVtkMPR3DView *_wxvtkmpr3Dview_B; wxVtk3DBaseView *_wxvtk3Dbaseview_Clipping3D_BB; wxVtkMPR3DView *_wxvtkmpr3Dview_BB; wxVtkClipping3DView *_wxvtkclipping3Dview_BB; int _refreshAPage; int _refreshBPage; wxFrame *_framePanelCutting; wxCheckBox *_btnCutImageData; wxPanelCuttingImageData *_panelCutting; wxWidgetMesure2D_Plane_in_MPR *_widgetMesure; wxWidgetMesure2D_Plane_in_MPR *_widgetMesure_B; wxPanel *CreateControlPanel(wxWindow *parent); wxPanel *CreateMPRPanel(wxWindow *parent, vtkMPRBaseData *vtkmprbasedata); wxPanel *CreateMPRPanel4View(wxWindow *parent, vtkMPRBaseData *vtkmprbasedata); wxPanel *CreateView(int type,wxWindow *parent, vtkMPRBaseData *vtkmprbasedata); void OnCutImagaData( wxCommandEvent &event); DECLARE_EVENT_TABLE( ); }; #endif // __WX__MPR__WIDGET__HXX__ // EOF - wxMPRWidget.h