X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FwxMaracas_ViewerWidget.cxx;h=b90dbaff4c38b4ee7cfa6a8a1cedb1a6db836a6e;hb=dea0efc567d8332b2e7eb936e3ba4ac1c11b2542;hp=de0a52f846c72762d97a654e70188f45b9d213cc;hpb=f369752f86b8a540df6638ba87945e83c9498b4b;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx index de0a52f..b90dbaf 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracas_ViewerWidget.cxx @@ -55,42 +55,43 @@ wxMaracas_ViewerWidget::wxMaracas_ViewerWidget(wxWindow *parent, vtkImageData* imagedata, int type, vtkMPRBaseData *vtkmprbasedata) : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) { - wxPanel *panel = this; - wxWindow *wxwindow = NULL, *window3D = 0; - wxSplitterWindow *panelClipping3D= 0; -// wxPanel *panelControl = 0; -// wxFlexGridSizer *sizerCtrol = 0; - wxPanel *controlPanelMPR3D = 0; - wxPanel *controlPanelClippingSurf3D = 0; + wxPanel *panel = this; + wxWindow *wxwindow = NULL; + wxWindow *window3D = NULL; + wxSplitterWindow *panelClipping3D = NULL; +// wxPanel *panelControl = NULL; +// wxFlexGridSizer *sizerCtrol = NULL; + wxPanel *controlPanelMPR3D = NULL; + wxPanel *controlPanelClippingSurf3D = NULL; //RaC 03-2010 Adding a tab - wxPanel *controlPanelClippingVol3D = 0; + wxPanel *controlPanelClippingVol3D = NULL; - wxBoxSizer *sizer = 0; + wxBoxSizer *sizer = 0; mType = type; if (vtkmprbasedata==NULL) { - minternalVtkmprbasedata = true; - mvtkmprbasedata = new vtkMPRBaseData(); - marImageData *marimagedata = new marImageData( imagedata ); + minternalVtkmprbasedata = true; + mvtkmprbasedata = new vtkMPRBaseData(); + marImageData *marimagedata = new marImageData( imagedata ); mvtkmprbasedata->SetMarImageData(marimagedata); } else { minternalVtkmprbasedata = false; mvtkmprbasedata = vtkmprbasedata; } - mvtk2Dbaseview = NULL; - mvtkmpr2Dview_X = NULL; - mvtkmpr2Dview_Y = NULL; - mvtkmpr2Dview_Z = NULL; - mvtkplane2Dview = NULL; - mwidgetMesure = NULL; - mwxsphereview = NULL; - mwxvtkclipping3Dview = NULL; - mwxvtk3Dbaseview_Clipping3D = NULL; - mwxvtkmpr3Dview = NULL; - vtkmpr3Ddataviewer = NULL; + mvtk2Dbaseview = NULL; + mvtkmpr2Dview_X = NULL; + mvtkmpr2Dview_Y = NULL; + mvtkmpr2Dview_Z = NULL; + mvtkplane2Dview = NULL; + mwidgetMesure = NULL; + mwxsphereview = NULL; + mwxvtkclipping3Dview = NULL; + mwxvtk3Dbaseview_Clipping3D = NULL; + mwxvtkmpr3Dview = NULL; + vtkmpr3Ddataviewer = NULL; if (type==-1) { @@ -122,20 +123,21 @@ wxwindow = mwidgetMesure; }else if (type==4) { - mwxsphereview = new wxSphereView( panel , mvtkmprbasedata, mvtkmprbasedata->GetImageData() ); +//EED +// mwxsphereview = new wxSphereView( panel , mvtkmprbasedata , mvtkmprbasedata->GetImageData() ); + mwxsphereview = new wxSphereView( panel , mvtkmprbasedata ); wxwindow=mwxsphereview->GetWxVTKRenderWindowInteractor(); }else if (type==5) { panelClipping3D = new wxSplitterWindow( panel , -1); - mwxvtk3Dbaseview_Clipping3D = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata); - - mwxvtkclipping3Dview = new wxVtkClipping3DView(mwxvtk3Dbaseview_Clipping3D); - vtkClipping3DDataViewer *vtkclipping3Ddataviewer = new vtkClipping3DDataViewer(); + mwxvtk3Dbaseview_Clipping3D = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata); + mwxvtkclipping3Dview = new wxVtkClipping3DView(mwxvtk3Dbaseview_Clipping3D); + vtkClipping3DDataViewer *vtkclipping3Ddataviewer= new vtkClipping3DDataViewer(); vtkclipping3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata); vtkclipping3Ddataviewer->Configure(); mwxvtkclipping3Dview->SetVtkClipping3DDataViewer(vtkclipping3Ddataviewer); - mwxvtkmpr3Dview = new wxVtkMPR3DView( mwxvtk3Dbaseview_Clipping3D ); + mwxvtkmpr3Dview = new wxVtkMPR3DView( mwxvtk3Dbaseview_Clipping3D ); vtkMPR3DDataViewer *vtkmpr3Ddataviewer = new vtkMPR3DDataViewer(); vtkmpr3Ddataviewer->SetVtkMPRBaseData(mvtkmprbasedata); vtkmpr3Ddataviewer->Configure(); @@ -144,10 +146,10 @@ window3D = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor(); //-- - wxNotebook *notebook = new wxNotebook(panelClipping3D, -1); + wxNotebook *notebook = new wxNotebook(panelClipping3D, -1); // First tab - controlPanelMPR3D = mwxvtkmpr3Dview->CreateControlPanel(notebook, true); + controlPanelMPR3D = mwxvtkmpr3Dview->CreateControlPanel(notebook, true); notebook->AddPage(controlPanelMPR3D, _T("Planes") ); // Second Tab @@ -186,13 +188,13 @@ } else if (type==6) { panelClipping3D = new wxSplitterWindow( panel , -1); - mwxvtk3Dbaseview_Clipping3D = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata); + mwxvtk3Dbaseview_Clipping3D = new wxVtk3DBaseView( panelClipping3D , vtkmprbasedata); mwxvtkmpr3Dview = new wxVtkMPR3DView( mwxvtk3Dbaseview_Clipping3D ); vtkmpr3Ddataviewer = new vtkMPR3DDataViewer(); wxWindow *window3D = mwxvtk3Dbaseview_Clipping3D->GetWxVTKRenderWindowInteractor(); wxPanel *panelControl = new wxPanel(panelClipping3D,-1); - wxPanel *controlPanelMPR3D = mwxvtkmpr3Dview->CreateControlPanel(panelControl, true); - wxFlexGridSizer *sizerCtrol = new wxFlexGridSizer(1); + wxPanel *controlPanelMPR3D = mwxvtkmpr3Dview->CreateControlPanel(panelControl, true); + wxFlexGridSizer *sizerCtrol = new wxFlexGridSizer(1); sizerCtrol->Add(controlPanelMPR3D, 1, wxALL|wxEXPAND, 2); panelControl->SetAutoLayout(true); @@ -315,7 +317,6 @@ if ( mwidgetMesure !=NULL ) { mwidgetMesure->ConfigureA(mvtkplane2Dview); } if ( mwidgetMesure !=NULL ) { mwidgetMesure->ConfigureA(mvtkplane2Dview); } if ( mwidgetMesure !=NULL ) { mwidgetMesure->SetActiveLink(true); } - if ( mwidgetMesure !=NULL ) { mwidgetMesure->SetMesureScale( 1 ); } if ( mwxsphereview !=NULL ) { mwxsphereview->Configure(); } @@ -359,15 +360,15 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect ) //------------------------------------------------------------------------- void wxMaracas_ViewerWidget::RefreshView() { - if (mvtk2Dbaseview !=NULL ){ mvtk2Dbaseview->Refresh(); } - if (mvtkmpr2Dview_X !=NULL ){ mvtkmpr2Dview_X->Refresh(); } - if (mvtkmpr2Dview_Y !=NULL ){ mvtkmpr2Dview_Y->Refresh(); } - if (mvtkmpr2Dview_Z !=NULL ){ mvtkmpr2Dview_Z->Refresh(); } - if (mvtkplane2Dview !=NULL ){ mvtkplane2Dview->Refresh(); } - if (mwxsphereview !=NULL ){ mwxsphereview ->Refresh(); } - if (mwxvtkmpr3Dview !=NULL ){ mwxvtkmpr3Dview->RefreshView(); } - if (mwxvtkclipping3Dview !=NULL ){ mwxvtkclipping3Dview->Refresh(); } - if (mwxvtk3Dbaseview_Clipping3D !=NULL ){ mwxvtk3Dbaseview_Clipping3D->Refresh(); } + if (mwxvtk3Dbaseview_Clipping3D !=NULL ){ mwxvtk3Dbaseview_Clipping3D->Refresh(); } + if (mwxvtkclipping3Dview !=NULL ){ mwxvtkclipping3Dview->Refresh(); } + if (mwxvtkmpr3Dview !=NULL ){ mwxvtkmpr3Dview->RefreshView(); } + if (mvtk2Dbaseview !=NULL ){ mvtk2Dbaseview->Refresh(); } + if (mvtkmpr2Dview_X !=NULL ){ mvtkmpr2Dview_X->Refresh(); } + if (mvtkmpr2Dview_Y !=NULL ){ mvtkmpr2Dview_Y->Refresh(); } + if (mvtkmpr2Dview_Z !=NULL ){ mvtkmpr2Dview_Z->Refresh(); } + if (mvtkplane2Dview !=NULL ){ mvtkplane2Dview->Refresh(); } + if (mwxsphereview !=NULL ){ mwxsphereview ->RefreshView(); } } //------------------------------------------------------------------------- @@ -375,30 +376,40 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect ) wxVtkBaseView *wxMaracas_ViewerWidget::GetwxVtkBaseView() { wxVtkBaseView *wxvtkbaseview=NULL; - if (mvtk2Dbaseview!=NULL){ + if (mvtk2Dbaseview!=NULL) + { wxvtkbaseview = mvtk2Dbaseview; } - if (mvtkmpr2Dview_X!=NULL){ + if (mvtkmpr2Dview_X!=NULL) + { wxvtkbaseview = mvtkmpr2Dview_X; } - if (mvtkmpr2Dview_Y!=NULL){ + if (mvtkmpr2Dview_Y!=NULL) + { wxvtkbaseview = mvtkmpr2Dview_Y; } - if (mvtkmpr2Dview_Z!=NULL){ + if (mvtkmpr2Dview_Z!=NULL) + { wxvtkbaseview = mvtkmpr2Dview_Z; } - if (mvtkplane2Dview!=NULL){ + if (mvtkplane2Dview!=NULL) + { wxvtkbaseview = mvtkplane2Dview; } - if (mwxsphereview!=NULL){ + if (mwxsphereview!=NULL) + { wxvtkbaseview = mwxsphereview; } - if (mwxvtk3Dbaseview_Clipping3D!=NULL){ + if (mwxvtk3Dbaseview_Clipping3D!=NULL) + { wxvtkbaseview = mwxvtk3Dbaseview_Clipping3D; } return wxvtkbaseview ; } + + +//------------------------------------------------------------------------- void wxMaracas_ViewerWidget::SetImage( vtkImageData *image ) { if(mvtkmprbasedata !=NULL) @@ -407,40 +418,51 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect ) mar->removeImageData(0); mar->AddImageData(image); } - if (mvtk2Dbaseview!=NULL) { mvtk2Dbaseview->SetImageToVtkViewer(image); } - if (mvtkmpr2Dview_X!=NULL){ + if (mvtkmpr2Dview_X!=NULL) + { mvtkmpr2Dview_X->SetImageToVtkViewer(image); } - if (mvtkmpr2Dview_Y!=NULL){ + if (mvtkmpr2Dview_Y!=NULL) + { mvtkmpr2Dview_Y->SetImageToVtkViewer(image); } - if (mvtkmpr2Dview_Z!=NULL){ + if (mvtkmpr2Dview_Z!=NULL) + { mvtkmpr2Dview_Z->SetImageToVtkViewer(image); } - if (mvtkplane2Dview!=NULL){ + if (mvtkplane2Dview!=NULL) + { // ??? EED 10 oct 2012 } - if (mwxsphereview!=NULL){ - // ??? EED 10 oct 2012 + if (mwxsphereview!=NULL) + { + mwxsphereview->SetImage(); } - if (mwxvtk3Dbaseview_Clipping3D!=NULL){ - // ??? EED 10 oct 2012 + if (mwxvtkclipping3Dview!=NULL) + { + mwxvtkclipping3Dview->GetVtkClipping3DDataViewer()->SetImage(); } - + if (mwxvtkmpr3Dview!=NULL) + { + mwxvtkmpr3Dview->SetImage(); + } //EED 26/11/2009 // ConfigureVTK(); // RefreshView(); + } + //------------------------------------------------------------------------- + double wxMaracas_ViewerWidget :: GetX() { double value = -1; @@ -451,6 +473,8 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect ) return value; } + //------------------------------------------------------------------------- + double wxMaracas_ViewerWidget::GetY() { double value = -1; @@ -461,6 +485,8 @@ void wxMaracas_ViewerWidget::Refresh(bool eraseBackground ,const wxRect* rect ) return value; } + //------------------------------------------------------------------------- + double wxMaracas_ViewerWidget::GetZ() { double value = -1;