X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=wt%2Fbbtk_wt_PKG%2Fsrc%2FbbwtViewerNVWeb.cxx;h=9bc8f5c1a6b1e324a5513ec960cc30ee43a823f1;hb=6cc3da55ccf72f8e39a7859a5dd72db0a36f05e8;hp=d19d0b7e4efaa331d5cc5cb305f685b1eaa134d8;hpb=e19fa7d7d6d8da78d560d0dbc06efb4bb85e41e5;p=creaWT.git diff --git a/wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx b/wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx index d19d0b7..9bc8f5c 100644 --- a/wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx +++ b/wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx @@ -73,8 +73,6 @@ namespace bbwt w->doJavaScript(jsCom); - std::cout<<" REF: "<jsRef()<jsRef() + ".mRenderer.add(" +bbGetInputImagePath() + ".mObject);\ - " + wtWindow1->jsRef() + ".mRenderer.render();"; - - std::cout<jsRef() + ".mRenderer.add(volume);\ - " + wtWindow1->jsRef() + ".mRenderer.render();"; - - - jsCom = "\ - var volume = new X.volume();\ - volume.file = '" + bbGetInputImagePath() + "';\ - " + w->jsRef() +".mVolume = volume;\ - " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow1->jsRef() + ".mRenderer.render();"; - - - if(nType.size() >1) - { - jsCom = jsCom + "\ - " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow2->jsRef() + ".mRenderer.render();"; - } - if(nType.size() >2 ) - { - jsCom = jsCom + "\ - " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow3->jsRef() + ".mRenderer.render();"; - } - if(nType.size() > 3) - { - jsCom = jsCom + "\ - " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow4->jsRef() + ".mRenderer.render();"; - } - - - std::cout<<"PROCESSSSS>>>>"<doJavaScript(jsCom); - */ - - /* Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget(); - - cont++; - std::string jsCom; - - std::cout<<"Process ----"<jsRef() +".mVolume = volume;\ - " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow1->jsRef() + ".mRenderer.render();"; - - // jsCom = jsCom + "\ - var gui = new dat.GUI();\ - var volumegui = gui.addFolder('Volume');\ - var vrController = volumegui.add(volume, 'volumeRendering');\ - var opacityController = volumegui.add(volume, 'opacity', 0, 1).listen();\ - var lowerThresholdController = volumegui.add(volume, 'lowerThreshold',volume.min, volume.max);\ - var upperThresholdController = volumegui.add(volume, 'upperThreshold',volume.min, volume.max);\ - volumegui.open();"; - - //jsCom = jsCom + "\ - var gui = new dat.GUI();\ - var volumegui = gui.addFolder('Volume');\ - var vrController = volumegui.add(" + w->jsRef() +".mVolume, 'volumeRendering');\ - var opacityController = volumegui.add(" + w->jsRef() +".mVolume, 'opacity', 0, 1).listen();\ - var lowerWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowLow', " + w->jsRef() +".mVolume.min," + w->jsRef() +".mVolume.max);\ - var upperWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowHigh', " + w->jsRef() +".mVolume.min," + w->jsRef() +".mVolume.max);\ - volumegui.open();"; - - - - - - - - - if(nType.size() >1) - { - jsCom = jsCom + "\ - setTimeout(function(){\ - " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow2->jsRef() + ".mRenderer.render();"; - } - - if(nType.size() >2 ) - { - jsCom = jsCom + "\ - " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow3->jsRef() + ".mRenderer.render();"; - } - - if(nType.size() > 3) - { - jsCom = jsCom + "\ - " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow4->jsRef() + ".mRenderer.render();\ - " + w->jsRef() +".mVolume.upperTheshold =0;\ - " + w->jsRef() +".mVolume.windowLow =0;\ - " + w->jsRef() +".mVolume.windowHigh =1900;"; - - - jsCom = jsCom + "\ - var gui = new dat.GUI();\ - var volumegui = gui.addFolder('Volume');\ - var vrController = volumegui.add(" + w->jsRef() +".mVolume, 'volumeRendering');\ - var opacityController = volumegui.add(" + w->jsRef() +".mVolume, 'opacity', 0, 1).listen();\ - var lowerWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowLow', 0,2000);\ - var upperWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowHigh', 0,2000);\ - volumegui.open();\ - var lowerThresholdController = volumegui.add(" + w->jsRef() +".mVolume, 'lowerThreshold'," + w->jsRef() +".mVolume.min, " + w->jsRef() +".mVolume.max);\ - var upperThresholdController = volumegui.add(" + w->jsRef() +".mVolume, 'upperThreshold'," + w->jsRef() +".mVolume.min, " + w->jsRef() +".mVolume.max);"; - } - - - if(nType.size() >1) - { - jsCom = jsCom + "\ - },2000);"; - } - - - - - std::cout<<"PROCESSSSS>>>>"<doJavaScript(jsCom); - - Wt::WApplication::instance()->refresh(); - - -}*/ +//-------------------------------------------------------------------------------------------------------- void ViewerNVWeb::Process() { + Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget(); + std::string jsCom; +FILE *flog; +flog=fopen("/var/www/testwtdbg/docroot/appli1/imagesTMP/bbtk-Web.log","a+"); +fprintf(flog,"EED %p ViewerNVWeb::Process START %s\n", this, bbGetInputImagePath().c_str() ); +fclose(flog); + bool ok; + FILE *ff=fopen( bbGetInputImagePath().c_str() , "r" ); + if (ff) + { + ok=true; + fclose(ff); + } else { + ok=false; + } + if (ok==true) + { + if (firstTime==false) + { - Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget(); - - cont++; - std::string jsCom; - - std::cout<<"Process ----"<jsRef() +".mVolume = volume;\ - " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow1->jsRef() + ".onShowTime = function(){"; - - - if(nType.size() >1) - { - jsCom = jsCom + "\ - " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow2->jsRef() + ".mRenderer.render();"; - } - - if(nType.size() >2 ) - { - jsCom = jsCom + "\ - " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow3->jsRef() + ".mRenderer.render();"; - } - - if(nType.size() > 3) - { - jsCom = jsCom + "\ - " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow4->jsRef() + ".mRenderer.render();\ - " + w->jsRef() +".mVolume.upperTheshold =0;\ - " + w->jsRef() +".mVolume.windowLow =0;\ - " + w->jsRef() +".mVolume.windowHigh =1900;"; - - - jsCom = jsCom + "\ - var gui = new dat.GUI();\ - var volumegui = gui.addFolder('Volume');\ - var vrController = volumegui.add(" + w->jsRef() +".mVolume, 'volumeRendering');\ - var opacityController = volumegui.add(" + w->jsRef() +".mVolume, 'opacity', 0, 1).listen();\ - var lowerWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowLow', 0,2000);\ - var upperWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowHigh', 0,2000);\ - volumegui.open();\ - var lowerThresholdController = volumegui.add(" + w->jsRef() +".mVolume, 'lowerThreshold'," + w->jsRef() +".mVolume.min, " + w->jsRef() +".mVolume.max);\ - var upperThresholdController = volumegui.add(" + w->jsRef() +".mVolume, 'upperThreshold'," + w->jsRef() +".mVolume.min, " + w->jsRef() +".mVolume.max);"; - } - - - jsCom = jsCom + "\ - };\ - " + wtWindow1->jsRef() + ".mRenderer.render();"; - - - - std::cout<<"PROCESSSSS>>>>"<doJavaScript(jsCom); - - Wt::WApplication::instance()->refresh(); - - - -} - - -//-------------------------------------------------------------------------------------------------------- -//-------------------------------------------------------------------------------------------------------- - +/* + jsCom = "\ + try{\ + var volume = new X.volume();\ + volume.spacing = [0.7,0.7,0.7 ];\ + volume.file = '" + bbGetInputImagePath() + "';\ + " +w->jsRef() + ".mVolume = volume;\ + var center = [0,0,0];\ + " +w->jsRef() + ".mVolume.center = center;\ + volume.center = [0,0,0];\ + setTimeout(function(){\ + " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + " + wtWindow1->jsRef() + ".mRenderer.render();\ + },300);\ + } catch (err) {\ + } \ + "; +*/ + +flog=fopen("/var/www/testwtdbg/docroot/appli1/imagesTMP/bbtk-Web.log","a+"); +fprintf(flog," EED ViewerNVWeb::Process firsttime = false\n" ); +fclose(flog); + + jsCom = "\ + try{\ + " +w->jsRef() + ".mVolume.file = '" + bbGetInputImagePath() + "';\ + " +w->jsRef() + ".mVolume.modified(true);\ + " + wtWindow1->jsRef() + ".mRenderer.render();\ + alert('firsttime=false');\ + } catch (err) {\ + } \ + "; + + w->doJavaScript(jsCom); + } -void ViewerNVWeb::loadImage() -{ + if (firstTime==true) + { - - Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget(); - std::string jsCom; - - std::cout<<"Process ----"<jsRef() + ".mVolume = volume;\ - var center = [0,0,0\ - ];\ - " +w->jsRef() + ".mVolume.center = center;\ - volume.center = [0,0,0];\ - setTimeout(function(){\ - " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow1->jsRef() + ".mRenderer.render();\ - },300);\ - setTimeout(function(){\ - " + w->jsRef() +".mVolume.upperThreshold =20000;\ - " + w->jsRef() +".mVolume.windowHigh =1670;\ - var gui = new dat.GUI();\ - var volumegui = gui.addFolder('Volume');\ - var vrController = volumegui.add(" + w->jsRef() +".mVolume, 'volumeRendering');\ - var opacityController = volumegui.add(" + w->jsRef() +".mVolume, 'opacity', 0, 1);\ - var lowerWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowLow', 0,2000);\ - var upperWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowHigh', 0,2000);\ - var sliceXController = volumegui.add(" + w->jsRef() +".mVolume, 'indexX', 0,volume.range[0] - 1);\ - var sliceYController = volumegui.add(" + w->jsRef() +".mVolume, 'indexY', 0,volume.range[1] - 1);\ - var sliceZController = volumegui.add(" + w->jsRef() +".mVolume, 'indexZ', 0,volume.range[2] - 1);\ - " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow2->jsRef() + ".mRenderer.render();\ - " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow3->jsRef() + ".mRenderer.render();\ - " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow4->jsRef() + ".mRenderer.render();\ - },1500);\ - setTimeout(function(){\ - " + wtWindow2->jsRef() + ".mRenderer.render();\ - " + wtWindow3->jsRef() + ".mRenderer.render();\ - " + wtWindow4->jsRef() + ".mRenderer.render();\ - },3000);"; - - //jsCom = "\ - var volume = new X.volume();\ - volume.spacing = [0.7,0.7,0.7 ];\ - volume.file = '" + bbGetInputImagePath() + "';\ - " +w->jsRef() + ".mVolume = volume;\ - var center = [0,0,0\ - ];\ - " +w->jsRef() + ".mVolume.center = center;\ - volume.center = [0,0,0];\ - setTimeout(function(){\ - " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - },300);\ - " + wtWindow1->jsRef() + ".mRenderer.onShowTime = function(){\ - " + w->jsRef() +".mVolume.upperThreshold =20000;\ - " + w->jsRef() +".mVolume.windowHigh =1670;\ - var gui = new dat.GUI();\ - var volumegui = gui.addFolder('Volume');\ - var vrController = volumegui.add(" + w->jsRef() +".mVolume, 'volumeRendering');\ - var opacityController = volumegui.add(" + w->jsRef() +".mVolume, 'opacity', 0, 1);\ - var lowerWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowLow', 0,2000);\ - var upperWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowHigh', 0,2000);\ - var sliceXController = volumegui.add(" + w->jsRef() +".mVolume, 'indexX', 0,volume.range[0] - 1);\ - var sliceYController = volumegui.add(" + w->jsRef() +".mVolume, 'indexY', 0,volume.range[1] - 1);\ - var sliceZController = volumegui.add(" + w->jsRef() +".mVolume, 'indexZ', 0,volume.range[2] - 1);\ - " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow2->jsRef() + ".mRenderer.render();\ - " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow3->jsRef() + ".mRenderer.render();\ - " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow4->jsRef() + ".mRenderer.render();\ - };\ - " + wtWindow1->jsRef() + ".mRenderer.render();"; - - - - - - std::cout<<"LOADzzzzzzzzzzzzzzzzzzzzzzzzzzzz"<doJavaScript(jsCom); - +flog=fopen("/var/www/testwtdbg/docroot/appli1/imagesTMP/bbtk-Web.log","a+"); +fprintf(flog," EED ViewerNVWeb::Process firsttime = true \n" ); +fclose(flog); + + firstTime=false; + jsCom = "\ + try{\ + var volume = new X.volume();\ + volume.spacing = [0.7,0.7,0.7 ];\ + volume.file = '" + bbGetInputImagePath() + "';\ + " +w->jsRef() + ".mVolume = volume;\ + var center = [0,0,0];\ + " +w->jsRef() + ".mVolume.center = center;\ + volume.center = [0,0,0];\ + setTimeout(function(){\ + " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + " + wtWindow1->jsRef() + ".mRenderer.render();\ + alert('(1) firsttime=true');\ + },300);\ + setTimeout(function(){\ + " + w->jsRef() +".mVolume.upperThreshold =20000;\ + " + w->jsRef() +".mVolume.windowHigh =1670;\ + var gui = new dat.GUI();\ + var volumegui = gui.addFolder('Volume');\ + var vrController = volumegui.add(" + w->jsRef() +".mVolume, 'volumeRendering');\ + var opacityController = volumegui.add(" + w->jsRef() +".mVolume, 'opacity', 0, 1);\ + var lowerWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowLow', 0,2000);\ + var upperWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowHigh', 0,2000);\ + var sliceXController = volumegui.add(" + w->jsRef() +".mVolume, 'indexX', 0,volume.range[0] - 1);\ + var sliceYController = volumegui.add(" + w->jsRef() +".mVolume, 'indexY', 0,volume.range[1] - 1);\ + var sliceZController = volumegui.add(" + w->jsRef() +".mVolume, 'indexZ', 0,volume.range[2] - 1);\ + " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + " + wtWindow2->jsRef() + ".mRenderer.render();\ + " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + " + wtWindow3->jsRef() + ".mRenderer.render();\ + " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + " + wtWindow4->jsRef() + ".mRenderer.render();\ + alert('(2) firsttime=true');\ + },10000);\ + } catch(err) { \ + } \ + "; + + + + // jsCom = "\ + var volume = new X.volume();\ + volume.spacing = [0.7,0.7,0.7 ];\ + volume.file = '" + bbGetInputImagePath() + "';\ + " +w->jsRef() + ".mVolume = volume;\ + var center = [0,0,0\ + ];\ + " +w->jsRef() + ".mVolume.center = center;\ + volume.center = [0,0,0];\ + setTimeout(function(){\ + " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + },300);\ + " + wtWindow1->jsRef() + ".mRenderer.onShowTime = function(){\ + " + w->jsRef() +".mVolume.upperThreshold =20000;\ + " + w->jsRef() +".mVolume.windowHigh =1670;\ + var gui = new dat.GUI();\ + var volumegui = gui.addFolder('Volume');\ + var vrController = volumegui.add(" + w->jsRef() +".mVolume, 'volumeRendering');\ + var opacityController = volumegui.add(" + w->jsRef() +".mVolume, 'opacity', 0, 1);\ + var lowerWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowLow', 0,2000);\ + var upperWindowController = volumegui.add(" + w->jsRef() +".mVolume, 'windowHigh', 0,2000);\ + var sliceXController = volumegui.add(" + w->jsRef() +".mVolume, 'indexX', 0,volume.range[0] - 1);\ + var sliceYController = volumegui.add(" + w->jsRef() +".mVolume, 'indexY', 0,volume.range[1] - 1);\ + var sliceZController = volumegui.add(" + w->jsRef() +".mVolume, 'indexZ', 0,volume.range[2] - 1);\ + " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + " + wtWindow2->jsRef() + ".mRenderer.render();\ + " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + " + wtWindow3->jsRef() + ".mRenderer.render();\ + " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ + " + wtWindow4->jsRef() + ".mRenderer.render();\ + };\ + " + wtWindow1->jsRef() + ".mRenderer.render();"; + + w->doJavaScript(jsCom); + } //if firsttime == true + } // ok //Wt::WApplication::instance()->refresh(); // wtWindow2->resize(Wt::WLength::Auto, 200); // wtWindow3->resize(Wt::WLength::Auto, 200); // wtWindow4->resize(Wt::WLength::Auto, 200); +flog=fopen("/var/www/testwtdbg/docroot/appli1/imagesTMP/bbtk-Web.log","a+"); +fprintf(flog,"EED ViewerNVWeb::Process END \n" ); +fclose(flog); + Wt::WApplication::instance()->refresh(); - - } @@ -434,10 +253,11 @@ void ViewerNVWeb::bbUserSetDefaultValues() // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX // Here we initialize the input 'In' to 0 - bbSetInputImagePath(""); - int n[] = {3,2,1,0}; - std::vector nn (n,n+sizeof(n)/sizeof(int)); - bbSetInputnTypeView(nn); + firstTime=true; + bbSetInputImagePath(""); + int n[] = {3,2,1,0}; + std::vector nn (n,n+sizeof(n)/sizeof(int)); + bbSetInputnTypeView(nn); bbSetOutputviewer1(""); bbSetOutputviewer2(""); bbSetOutputviewer3(""); @@ -465,7 +285,6 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent) wtWindow1 = new Viewer_NV(w,nType[0]); wtWindow1->configureWt(); wtWindow1->setStyleClass("black-box"); - std::cout<<" PRUEBA 1 RENDERER"<jsRef()); } else if(nType.size() == 2) @@ -485,7 +304,7 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent) l->addWidget(wtWindow1); l->addWidget(wtWindow2); - + l->setResizable(0,true,400); w->setLayout(l); wtWindow1->configureWt(); @@ -512,7 +331,7 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent) wtWindow3 = new Viewer_NV(0,nType[2]); /* - l->addWidget(wtWindow2); + l->addWidget(wtWindow2);http://www.creatis.insa-lyon.fr/~davila/links/links_EED.html l->addWidget(wtWindow3); @@ -525,11 +344,12 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent) l->addWidget(wtWindow2); l->addWidget(wtWindow3); + l->setResizable(0,true,400); aux1->setLayout(l); l2->addWidget(wtWindow1); l2->addWidget(aux1); - + l2->setResizable(0,true,400); w->setLayout(l2); wtWindow1->configureWt(); @@ -575,11 +395,14 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent) l->addWidget(wtWindow2,0,1); l->addWidget(wtWindow3,0,2); l->addWidget(wtWindow4,0,3); + l->setColumnResizable(0,true,400); + l->setColumnResizable(1,true,400); + l->setColumnResizable(2,true,400); aux1->setLayout(l); l2->addWidget(wtWindow1); l2->addWidget(aux1); - + l2->setResizable(0,true,600); w->setLayout(l2); @@ -598,13 +421,18 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent) bbSetOutputviewer3(wtWindow3->jsRef()); bbSetOutputviewer4(wtWindow4->jsRef()); + bbSetOutputViewer1(wtWindow1); + bbSetOutputViewer2(wtWindow2); + bbSetOutputViewer3(wtWindow3); + bbSetOutputViewer4(wtWindow4); + + } bbSetOutputWidget(w); - loadImage(); - //Process(); +//EED loadImage(); }