X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuViewerMPR.cxx;h=05191c7e91d9c389f4460cfb4deabc95b40b23a0;hb=5322e2d2422822246721a58a158e878f2516c742;hp=893932dd2bf47345f719354fb15c97afcb96f212;hpb=800f29fd7e4cc70d8706b3075454e63f0b1a5717;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuViewerMPR.cxx b/bbtk/src/bbmaracasvisuViewerMPR.cxx index 893932d..05191c7 100644 --- a/bbtk/src/bbmaracasvisuViewerMPR.cxx +++ b/bbtk/src/bbmaracasvisuViewerMPR.cxx @@ -26,8 +26,12 @@ END_EVENT_TABLE( ); wxPanel *panel = this; mbbViewerMPR = box; + wxwidget = new wxMPRWidget2( panel, marimagedata , 1 ); - wxwidget->ConfigureVTK(); + + if(marimagedata != NULL){ + wxwidget->ConfigureVTK(); + } wxFlexGridSizer *sizer=new wxFlexGridSizer(1); sizer -> Add( wxwidget,0,wxGROW ); sizer -> AddGrowableCol(1); @@ -35,6 +39,13 @@ END_EVENT_TABLE( ); panel -> SetAutoLayout(true); panel -> Layout(); } + + void wxWidgetMPR::setImageData(vtkImageData* img){ + wxwidget->setImageData(img, 1); + } + void wxWidgetMPR::ConfigureVTK(){ + wxwidget->ConfigureVTK(); + } //-------------------------------------------------------------------------- wxWidgetMPR::~wxWidgetMPR() { @@ -75,16 +86,16 @@ END_EVENT_TABLE( ); //--------------- void wxWidgetMPR::OnRefreshView(wxCommandEvent &event) { - + printf("EED wxWidgetMPR::OnRefreshView 01\n"); if((wxwidget!=NULL) && (mbbViewerMPR!=NULL)) { + printf("EED wxWidgetMPR::OnRefreshView 02\n"); point.clear(); point.push_back((int)wxwidget->GetVtkMPRBaseData()->GetX()); point.push_back((int)wxwidget->GetVtkMPRBaseData()->GetY()); point.push_back((int)wxwidget->GetVtkMPRBaseData()->GetZ()); mbbViewerMPR->bbSetOutputPoint( GetPoint() ); - mbbViewerMPR->bbSetModifiedStatus(); - mbbViewerMPR->bbSignalOutputModification("Point"); + mbbViewerMPR->bbSignalOutputModification(std::string("Point")); wxwidget->RefreshView(); } } @@ -110,32 +121,55 @@ BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ViewerMPR) BBTK_BLACK_BOX_IMPLEMENTATION(ViewerMPR,bbtk::WxBlackBox); void ViewerMPR::Process() { + if (wxwidget!=NULL){ wxBusyCursor wait; - bbSetOutputPoint( mwxwidgetmpr->GetPoint() ); - bbSetOutputRenderer( mwxwidgetmpr->GetRenderer() ); + vtkImageData* img = bbGetInputIn(); + if(img!=NULL && img != _img){ + _img = img; + wxwidget->setImageData(_img); + wxwidget->ConfigureVTK(); + +// wxwidget->wxPanel::Refresh(); + wxwidget->Refresh(); +// wxwidget->Show(); + + } + + + bbSetOutputPoint( wxwidget->GetPoint() ); + bbSetOutputRenderer( wxwidget->GetRenderer() ); + } // wxwidget } -void ViewerMPR::CreateWidget() +void ViewerMPR::CreateWidget(wxWindow* parent) { bbtkDebugMessageInc("Core",9,"ViewerMPR::CreateWidget() " <