X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=bbtk%2Fsrc%2FbbmaracasvisuViewerNV.cxx;h=719c0df788e96dd209e317ddb65a57630dc69d4f;hb=4aa1dc840aa9d3b26a4880227e4ce82a6046b2c5;hp=435655ffb7853cd375eca3c8df2114d8819f328a;hpb=fe5ff4386e982e131337b3324b787118cbc8df8a;p=creaMaracasVisu.git diff --git a/bbtk/src/bbmaracasvisuViewerNV.cxx b/bbtk/src/bbmaracasvisuViewerNV.cxx index 435655f..719c0df 100644 --- a/bbtk/src/bbmaracasvisuViewerNV.cxx +++ b/bbtk/src/bbmaracasvisuViewerNV.cxx @@ -3,7 +3,6 @@ namespace bbcreaMaracasVisu { - BEGIN_EVENT_TABLE( bbwxMaracas_N_ViewersWidget, wxPanel ) EVT_MENU( 12121, bbwxMaracas_N_ViewersWidget::OnRefreshView ) EVT_MENU( 12122, bbwxMaracas_N_ViewersWidget::OnDClickLeft ) @@ -15,9 +14,9 @@ END_EVENT_TABLE( ); //------------------------------------------------------------- bbwxMaracas_N_ViewersWidget::bbwxMaracas_N_ViewersWidget(ViewerNV* box, - wxWindow *parent, - vtkImageData* imagedata, - std::vector *nTypeView) + wxWindow *parent, + vtkImageData* imagedata, + std::vector *nTypeView) :wxMaracas_N_ViewersWidget(parent,imagedata,nTypeView) { mbbViewerNV=box; @@ -31,14 +30,14 @@ bbwxMaracas_N_ViewersWidget::~bbwxMaracas_N_ViewersWidget() //------------------------------------------------------------- void bbwxMaracas_N_ViewersWidget::OnRefreshView(wxCommandEvent & event) { - + //printf("CPR: bbwxMaracas_N_ViewersWidget::OnRefreshView -> actualiza X, Y y Z\n"); mbbViewerNV->point.clear(); mbbViewerNV->point.push_back( (int)GetX() ); mbbViewerNV->point.push_back( (int)GetY() ); mbbViewerNV->point.push_back( (int)GetZ() ); mbbViewerNV->bbSetOutputPoint( mbbViewerNV->point ); - mbbViewerNV->bbSignalOutputModification(std::string("Point")); + mbbViewerNV->bbSignalOutputModification(std::string("Point")); wxMaracas_N_ViewersWidget::OnRefreshView(event); } @@ -47,7 +46,7 @@ void bbwxMaracas_N_ViewersWidget::OnRefreshView(wxCommandEvent & event) void bbwxMaracas_N_ViewersWidget::OnDClickLeft(wxCommandEvent & event) { wxMaracas_N_ViewersWidget::OnDClickLeft(event); - mbbViewerNV->bbSignalOutputModification(std::string("Point")); + mbbViewerNV->bbSignalOutputModification(std::string("Point")); } //------------------------------------------------------------- @@ -60,26 +59,41 @@ BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,ViewerNV) BBTK_BLACK_BOX_IMPLEMENTATION(ViewerNV,bbtk::WxBlackBox); //------------------------------------------------------------- void ViewerNV::Process() -{ - +{ vtkImageData* img = bbGetInputIn(); +/* + double spc[3]; + img->GetSpacing(spc); + printf ("EED ViewerNV::Process A %f %f %f \n", spc[0], spc[1], spc[2] ); + img->SetSpacing( 1,1,1 ); + img->Update( ); + img->GetSpacing(spc); + img->PrintSelf(std::cout,(vtkIndent)2); + img->Print(std::cout); + printf ("EED ViewerNV::Process B %f %f %f \n", spc[0], spc[1], spc[2] ); +*/ std::vector type = bbGetInputnTypeView(); -// std::cout<<"img "<SetType(&type); - mwxwidget->UpdateLayout(img); - }else if (img != currentimg){ + mwxwidget->UpdateLayout(img); + }else if (img != currentimg){ mwxwidget->SetImage(img); //mwxwidget->UpdateLayout(img); } + +// if (firsttime==true) // EED 21 aout 2010 +// { +// firsttime=false; +// mwxwidget->ConfigureVTK(); +// } + + mwxwidget->RefreshView(); + currenttype = type; currentimg = img; - point.clear(); point.push_back((int)mwxwidget->GetX()); @@ -87,7 +101,7 @@ void ViewerNV::Process() point.push_back((int)mwxwidget->GetZ()); bbSetOutputPoint(point); - // WxBlackBox::Process(); + // WxBlackBox::Process(); // mwxwidget->SetImage(img ); wxVtkBaseView *wvbv1 = mwxwidget->GetwxVtkBaseView(1); wxVtkBaseView *wvbv2 = mwxwidget->GetwxVtkBaseView(2); @@ -105,19 +119,33 @@ void ViewerNV::Process() if (wvbv3!=NULL) { bbSetOutputRenderer3( wvbv3->GetRenderer() ); } if (wvbv4!=NULL) { bbSetOutputRenderer4( wvbv4->GetRenderer() ); } - if (wvbv1!=NULL) { bbSetOutputInteractor1( wvbv1->GetWxVTKRenderWindowInteractor() ); } + if (wvbv1!=NULL) + { + bbSetOutputInteractor1( wvbv1->GetWxVTKRenderWindowInteractor() ); + updateObservers(); + } - if(bbGetInputColorFunction()!=NULL){ + if(bbGetInputColorFunction()!=NULL) + { mwxwidget->setColorTransferFunction(bbGetInputColorFunction()); } - if(bbGetInputWindowLevel()!=-1){ - mwxwidget->setWindowLevel(bbGetInputWindowLevel()); + if(bbGetInputWindowLevel()!=-1) + { + mwxwidget->setWindowLevel(bbGetInputWindowLevel()); } - if(bbGetInputColorLevel()!=-1){ - mwxwidget->setColorLevel(bbGetInputColorLevel()); + + if(bbGetInputColorLevel()!=-1) + { + if(bbGetInputColorLevel() == 0) + { + std::cout<<"colorlevel "<setColorLevel(0.1); + }else{ + mwxwidget->setColorLevel(bbGetInputColorLevel()); + } } - } + }// mwxwidget != NULL } //------------------------------------------------------------- @@ -125,11 +153,11 @@ void ViewerNV::CreateWidget(wxWindow* parent) { bbtkDebugMessageInc("Core",9,"ViewerNV::CreateWidget()"<bbSignalOutputModification(); //Process(); } @@ -137,45 +165,50 @@ void ViewerNV::CreateWidget(wxWindow* parent) //------------------------------------------------------------- void ViewerNV::bbUserSetDefaultValues() { +// firsttime=true; + mwxwidget = NULL; + bbSetInputIn(NULL); + + bbSetInputObs1(NULL); + bbSetInputObs2(NULL); + bbSetInputObs3(NULL); + bbSetInputObs4(NULL); + bbSetInputObs5(NULL); + + std::vector vecNTypeViwer; + vecNTypeViwer.push_back(5); + vecNTypeViwer.push_back(1); + vecNTypeViwer.push_back(2); + vecNTypeViwer.push_back(0); + bbSetInputnTypeView(vecNTypeViwer); + + bbSetOutputwxVtkBaseView1( NULL ); + bbSetOutputwxVtkBaseView2( NULL ); + bbSetOutputwxVtkBaseView3( NULL ); + bbSetOutputwxVtkBaseView4( NULL ); + bbSetOutputRenderer1( NULL ); + bbSetOutputRenderer2( NULL ); + bbSetOutputRenderer3( NULL ); + bbSetOutputRenderer4( NULL ); + bbSetInputColorFunction(NULL); + bbSetInputWindowLevel(-1); + bbSetInputColorLevel(-1); +} - mwxwidget = NULL; - bbSetInputIn(NULL); - - std::vector vecNTypeViwer; - vecNTypeViwer.push_back(5); - vecNTypeViwer.push_back(0); - vecNTypeViwer.push_back(1); - vecNTypeViwer.push_back(3); - bbSetInputnTypeView(vecNTypeViwer); - - - bbSetOutputwxVtkBaseView1( NULL ); - bbSetOutputwxVtkBaseView2( NULL ); - bbSetOutputwxVtkBaseView3( NULL ); - bbSetOutputwxVtkBaseView4( NULL ); - bbSetOutputRenderer1( NULL ); - bbSetOutputRenderer2( NULL ); - bbSetOutputRenderer3( NULL ); - bbSetOutputRenderer4( NULL ); - bbSetInputColorFunction(NULL); - bbSetInputWindowLevel(-1); - bbSetInputColorLevel(-1); +//----------------------------------------------------------------- +void ViewerNV::bbUserInitializeProcessing() +{ } - //----------------------------------------------------------------- - void ViewerNV::bbUserInitializeProcessing() - { - } - - //----------------------------------------------------------------- - void ViewerNV::bbUserFinalizeProcessing() - { - } - - //----------------------------------------------------------------- - - - +//----------------------------------------------------------------- +void ViewerNV::bbUserFinalizeProcessing() +{ +} + +//----------------------------------------------------------------- + + + bool ViewerNV::compareVectors(std::vector type,std::vector currenttype){ bool ret = true; @@ -190,11 +223,39 @@ bool ViewerNV::compareVectors(std::vector type,std::vector currenttype ret=false; } return ret; +} - +void ViewerNV::updateObservers(){ + vtkRenderWindowInteractor* interactor; + interactor = bbGetOutputInteractor1(); + if(interactor){ + if (bbGetInputObs1()!=NULL){ + bbGetInputObs1()->SetInteractor(interactor); + bbGetInputObs1()->EnabledOn(); + } + if (bbGetInputObs2()!=NULL) + { + bbGetInputObs2()->SetInteractor(interactor); + bbGetInputObs2()->EnabledOn(); + } + if (bbGetInputObs3()!=NULL) + { + bbGetInputObs3()->SetInteractor(interactor); + bbGetInputObs3()->EnabledOn(); + } + if (bbGetInputObs4()!=NULL) + { + bbGetInputObs4()->SetInteractor(interactor); + bbGetInputObs4()->EnabledOn(); + } + if (bbGetInputObs5()!=NULL) + { + bbGetInputObs5()->SetInteractor(interactor); + bbGetInputObs5()->EnabledOn(); + } + } } } // EO namespace bbcreaMaracasVisu -