]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbmaracasvisuViewerNV.cxx
*** empty log message ***
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuViewerNV.cxx
index 48b69e5da1d4eb06e22cbdb31c7c5c60033503ca..fa98991abab773e8bc646b4befa1fbb5a02a76bf 100644 (file)
@@ -62,7 +62,7 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ViewerNV,bbtk::WxBlackBox);
 void ViewerNV::Process()
 {      
 
-       vtkImageData* img = bbGetInputIn();
+       vtkImageData* img = bbGetInputIn();     
 /*
        double spc[3];
        img->GetSpacing(spc);
@@ -86,7 +86,7 @@ void ViewerNV::Process()
                        mwxwidget->SetType(&type);
                        mwxwidget->UpdateLayout(img);                   
                }else if (img != currentimg){           
-                       mwxwidget->SetImage(img);
+                       mwxwidget->SetImage(img);                       
                        //mwxwidget->UpdateLayout(img);
                }
 
@@ -121,7 +121,9 @@ 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){
                        mwxwidget->setColorTransferFunction(bbGetInputColorFunction());
@@ -140,6 +142,7 @@ void ViewerNV::Process()
                        }
                }
 
+
        }//  mwxwidget != NULL
 }
 
@@ -164,6 +167,12 @@ void ViewerNV::bbUserSetDefaultValues()
                mwxwidget = NULL;
                bbSetInputIn(NULL);
 
+               bbSetInputObs1(NULL);
+               bbSetInputObs2(NULL);
+               bbSetInputObs3(NULL);
+               bbSetInputObs4(NULL);
+               bbSetInputObs5(NULL);
+
                std::vector<int> vecNTypeViwer;
                vecNTypeViwer.push_back(5);
                vecNTypeViwer.push_back(0);
@@ -217,6 +226,37 @@ bool ViewerNV::compareVectors(std::vector<int> type,std::vector<int> currenttype
 
 }
 
+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