X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMPRWidget.cxx;h=bb9d79ad64b0e0d20175afb5141149289062a5b3;hb=b6368e519e4fc1e5df411489848e54d4e26bf4ec;hp=e1901a1c0dd4a619b2f33a78ce78646cb2b66275;hpb=ed6f960acce2ed63b0d6b964aee7ee243d8c6446;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRWidget.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRWidget.cxx index e1901a1..bb9d79a 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRWidget.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMPRWidget.cxx @@ -81,7 +81,7 @@ #include "wxMPRWidget.h" -#include "wxVTKRenderWindowInteractor.h" +#include "creawxVTKRenderWindowInteractor.h" #include "UtilVtk3DGeometriSelection.h" #include "../kernel/marDicomBase.h" @@ -118,7 +118,7 @@ END_EVENT_TABLE( ); wxMPRWidget::wxMPRWidget( wxWindow* parent, - marImageData *marimageData , double voxelSize) + marImageData *marimageData ) : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) { @@ -159,7 +159,6 @@ wxMPRWidget::wxMPRWidget( wxWindow* parent, if(marimageData!=NULL){ _marImageData = marimageData; - _voxelSize = voxelSize; _vtkmprbasedata = new vtkMPRBaseData(); _vtkmprbasedata->SetMarImageData(_marImageData); @@ -191,38 +190,36 @@ wxMPRWidget::wxMPRWidget( wxWindow* parent, _refreshBPage=0; } -void wxMPRWidget::setImageData(vtkImageData * img, double voxelsize){ + +//---------------------------------------------------------------------------- +void wxMPRWidget::setImageData(vtkImageData * img) +{ if(_marImageData!=NULL){ _marImageData->removeImageData(0); _marImageData->AddImageData(img); }else{ - _marImageData = new marImageData(img); + _marImageData = new marImageData(img); } - _voxelSize = voxelsize; - if(_vtkmprbasedata==NULL){ _vtkmprbasedata = new vtkMPRBaseData(); _vtkmprbasedata->SetMarImageData(_marImageData); - wxSplitterWindow *pnlSplitter = new wxSplitterWindow( this , -1); + wxSplitterWindow *pnlSplitter= new wxSplitterWindow( this , -1); pnlSplitter -> SetMinimumPaneSize( 2 ); //RaC Nov2012 Correctly resize internal panels with the window resize event pnlSplitter->SetSashGravity(0.5); - wxPanel *MPRPanel = CreateMPRPanel(pnlSplitter,_vtkmprbasedata); + wxPanel *MPRPanel = CreateMPRPanel(pnlSplitter,_vtkmprbasedata); wxPanel *controlPanel = CreateControlPanel(pnlSplitter); pnlSplitter -> SplitVertically( MPRPanel, controlPanel, 550 ); this->GetSizer() -> Add( pnlSplitter ,1,wxGROW ,0); } - - - } -//---------------------------------------------------------------------------- +//---------------------------------------------------------------------------- wxMPRWidget::~wxMPRWidget( ) { //EEDxx2.4 DELETE @@ -388,7 +385,9 @@ wxPanel* wxMPRWidget::CreateView(int type,wxWindow *parent, vtkMPRBaseData *vtkm } if (type==4) { - _wxsphereview_B = new wxSphereView( panel , vtkmprbasedata, vtkmprbasedata->GetImageData() ); +//EED +// _wxsphereview_B = new wxSphereView( panel , vtkmprbasedata, vtkmprbasedata->GetImageData() ); + _wxsphereview_B = new wxSphereView( panel , vtkmprbasedata ); wxwindow=_wxsphereview_B->GetWxVTKRenderWindowInteractor(); } @@ -511,17 +510,17 @@ wxPanel* wxMPRWidget::CreateMPRPanel4View(wxWindow *parent, vtkMPRBaseData *vtkm // view 0 _vtkmpr2Dview[0] = new wxVtkMPR2DView(panel,0); _vtkmpr2Dview[0]->SetVtkBaseData(vtkmprbasedata); - wxVTKRenderWindowInteractor *iren0 = _vtkmpr2Dview[0]->GetWxVTKRenderWindowInteractor(); + crea::wxVTKRenderWindowInteractor *iren0 = _vtkmpr2Dview[0]->GetWxVTKRenderWindowInteractor(); // view 1 _vtkmpr2Dview[1] = new wxVtkMPR2DView(panel,1); _vtkmpr2Dview[1]->SetVtkBaseData(vtkmprbasedata); - wxVTKRenderWindowInteractor *iren1 = _vtkmpr2Dview[1]->GetWxVTKRenderWindowInteractor(); + crea::wxVTKRenderWindowInteractor *iren1 = _vtkmpr2Dview[1]->GetWxVTKRenderWindowInteractor(); // view 2 _vtkmpr2Dview[2] = new wxVtkMPR2DView(panel,2); _vtkmpr2Dview[2]->SetVtkBaseData(vtkmprbasedata); - wxVTKRenderWindowInteractor *iren2 = _vtkmpr2Dview[2]->GetWxVTKRenderWindowInteractor(); + crea::wxVTKRenderWindowInteractor *iren2 = _vtkmpr2Dview[2]->GetWxVTKRenderWindowInteractor(); // view 3 wxNotebook *notebook = new wxNotebook( panel, -1 ); @@ -537,8 +536,10 @@ wxPanel* wxMPRWidget::CreateMPRPanel4View(wxWindow *parent, vtkMPRBaseData *vtkm notebook->AddPage( _widgetMesure, _T("Plane") ); // view 3.1 - _wxsphereview = new wxSphereView( notebook , vtkmprbasedata, vtkmprbasedata->GetImageData()); - wxVTKRenderWindowInteractor *iren3B = _wxsphereview->GetWxVTKRenderWindowInteractor(); +// EED +// _wxsphereview = new wxSphereView( notebook , vtkmprbasedata, vtkmprbasedata->GetImageData()); + _wxsphereview = new wxSphereView( notebook , vtkmprbasedata ); + crea::wxVTKRenderWindowInteractor *iren3B = _wxsphereview->GetWxVTKRenderWindowInteractor(); notebook->AddPage( iren3B, _T("Sphere") ); // view 3.2 @@ -559,21 +560,16 @@ wxPanel* wxMPRWidget::CreateMPRPanel4View(wxWindow *parent, vtkMPRBaseData *vtkm _wxvtkclipping3Dview->SetVtkClipping3DDataViewer(vtkclipping3Ddataviewer); - wxWindow *window3D = _wxvtk3Dbaseview_MPRClipping3D->GetWxVTKRenderWindowInteractor(); - + wxWindow *window3D = _wxvtk3Dbaseview_MPRClipping3D->GetWxVTKRenderWindowInteractor(); wxPanel *panelControl = new wxPanel(panelMPR3D,-1); wxPanel *controlPanelMPR3D = _wxvtkmpr3Dview->CreateControlPanel(panelControl, false); wxPanel *controlPanelClipping3D = _wxvtkclipping3Dview->CreateSurfControlPanel(panelControl); - - - // wxBoxSizer *sizerCtrol = new wxBoxSizer(wxVERTICAL); wxFlexGridSizer *sizerCtrol = new wxFlexGridSizer(1); sizerCtrol->Add(controlPanelMPR3D , 1, wxALL|wxEXPAND, 2); sizerCtrol->Add(controlPanelClipping3D , 1, wxALL|wxEXPAND, 2); - panelControl->SetAutoLayout(true); panelControl->SetSizer(sizerCtrol); panelControl->SetSize(400,150); @@ -584,12 +580,8 @@ wxPanel* wxMPRWidget::CreateMPRPanel4View(wxWindow *parent, vtkMPRBaseData *vtkm //RaC Nov2012 Correctly resize internal panels with the window resize event panelMPR3D->SetSashGravity(0.5); panelMPR3D -> SplitHorizontally( panelControl,window3D,200 ); - notebook->AddPage( panelMPR3D, _T("MPR 3D - Clipping") ); - - Connect(notebook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMPRWidget::OnPageBChanged ); - wxBoxSizer *sizerV = new wxBoxSizer(wxVERTICAL); wxBoxSizer *sizerH1= new wxBoxSizer(wxHORIZONTAL); wxBoxSizer *sizerH2= new wxBoxSizer(wxHORIZONTAL); @@ -678,7 +670,6 @@ void wxMPRWidget::ConfigureVTK(){ if (_vtkplane2Dview!=NULL){_vtkplane2Dview -> Configure();} if (_widgetMesure!=NULL){_widgetMesure -> ConfigureA(_vtkplane2Dview);} if (_widgetMesure!=NULL){_widgetMesure -> SetActiveLink(true);} - if (_widgetMesure!=NULL){_widgetMesure -> SetMesureScale( _voxelSize );} if (_wxsphereview!=NULL){_wxsphereview -> Configure();} if (_wxvtk3Dbaseview_MPRClipping3D!=NULL){_wxvtk3Dbaseview_MPRClipping3D -> Configure();} @@ -698,8 +689,6 @@ void wxMPRWidget::ConfigureVTK(){ // imageData->GetSpacing(spc); // _widgetMesure_B->SetMesureScale(spc[0]); - if (_widgetMesure_B!=NULL) {_widgetMesure_B->SetMesureScale( _voxelSize );} - if (_wxsphereview_B!=NULL) {_wxsphereview_B -> Configure();}