X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=wt%2Fbbtk_wt_PKG%2Fsrc%2FbbwtViewerNVWeb.cxx;h=d19d0b7e4efaa331d5cc5cb305f685b1eaa134d8;hb=e19fa7d7d6d8da78d560d0dbc06efb4bb85e41e5;hp=6f72fd322a0dc34b2dc63bf9761527a56a35c254;hpb=9d4bfc78701cb1f302e09b0cd9595e006cd4b5fb;p=creaWT.git diff --git a/wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx b/wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx index 6f72fd3..d19d0b7 100644 --- a/wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx +++ b/wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx @@ -67,7 +67,7 @@ namespace bbwt mRenderer.init() ; \ " + w->jsRef() + ".mRenderer = mRenderer;"; - w->resize(Wt::WLength::Auto, 500); + w->resize(Wt::WLength::Auto, 700); } @@ -82,7 +82,7 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ViewerNVWeb,bbtk::WtBlackBox); //===== // Before editing this file, make sure it's a file of your own (i.e.: it wasn't generated from xml description; if so : your modifications will be lost) //===== -void ViewerNVWeb::Process() +/*void ViewerNVWeb::Process() { //------------- This part works perfectly, uncomment it for use it safe @@ -146,7 +146,7 @@ void ViewerNVWeb::Process() w->doJavaScript(jsCom); */ - Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget(); + /* Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget(); cont++; std::string jsCom; @@ -188,9 +188,7 @@ void ViewerNVWeb::Process() - //} - //else if(cont == 2) - //{ + if(nType.size() >1) { @@ -199,18 +197,14 @@ void ViewerNVWeb::Process() " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ " + wtWindow2->jsRef() + ".mRenderer.render();"; } - //} - //else if(cont == 3) - //{ + if(nType.size() >2 ) { jsCom = jsCom + "\ " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ " + wtWindow3->jsRef() + ".mRenderer.render();"; } -// } -// else if(cont == 4) -// { + if(nType.size() > 3) { jsCom = jsCom + "\ @@ -220,17 +214,83 @@ void ViewerNVWeb::Process() " + w->jsRef() +".mVolume.windowLow =0;\ " + w->jsRef() +".mVolume.windowHigh =1900;"; - // jsCom = jsCom + "\ + + 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);\ + 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);"; + 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(); + + 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');\ @@ -240,19 +300,13 @@ void ViewerNVWeb::Process() 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);\ - },2000);"; + var upperThresholdController = volumegui.add(" + w->jsRef() +".mVolume, 'upperThreshold'," + w->jsRef() +".mVolume.min, " + w->jsRef() +".mVolume.max);"; } - // 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();"; - -// } -// } -// - + + + jsCom = jsCom + "\ + };\ + " + wtWindow1->jsRef() + ".mRenderer.render();"; @@ -264,6 +318,8 @@ void ViewerNVWeb::Process() } + + //-------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------- @@ -309,11 +365,14 @@ void ViewerNVWeb::loadImage() " + wtWindow3->jsRef() + ".mRenderer.render();\ " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ " + wtWindow4->jsRef() + ".mRenderer.render();\ - },1500);"; - - - // jsCom = "\ - setTimeout(function(){\ + },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() + "';\ @@ -322,9 +381,11 @@ void ViewerNVWeb::loadImage() ];\ " +w->jsRef() + ".mVolume.center = center;\ volume.center = [0,0,0];\ - },100);\ - " + wtWindow1->jsRef() + ".mRenderer.onShowtime=function(){\ - " + w->jsRef() +".mVolume.upperThreshold =20000;\ + 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');\ @@ -341,67 +402,24 @@ void ViewerNVWeb::loadImage() " + wtWindow3->jsRef() + ".mRenderer.render();\ " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ " + wtWindow4->jsRef() + ".mRenderer.render();\ - };\ - setTimeout(function(){\ - " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow1->jsRef() + ".mRenderer.render();\ - },300);\ - "; - - // jsCom = jsCom + "\ - setTimeout(function(){\ - " + wtWindow2->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow2->jsRef() + ".mRenderer.render();"; - - - - // jsCom = jsCom + "\ - " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow3->jsRef() + ".mRenderer.render();"; - - - - // jsCom = jsCom + "\ - " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\ - " + wtWindow4->jsRef() + ".mRenderer.render();"; - + };\ + " + wtWindow1->jsRef() + ".mRenderer.render();"; + - // jsCom = jsCom + "\ - " + w->jsRef() +".mVolume = volume;\ - " + w->jsRef() +".mVolume.lowerThreshold =0;\ - " + 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);\ - volumegui.open();\ - },1000);"; - - // jsCom = jsCom + "\ - setTimeout(function(){\ - 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);\ - volumegui.open();\ - },500);"; std::cout<<"LOADzzzzzzzzzzzzzzzzzzzzzzzzzzzz"<doJavaScript(jsCom); + + //Wt::WApplication::instance()->refresh(); - wtWindow2->resize(Wt::WLength::Auto, 200); - wtWindow3->resize(Wt::WLength::Auto, 200); - wtWindow4->resize(Wt::WLength::Auto, 200); + // wtWindow2->resize(Wt::WLength::Auto, 200); + // wtWindow3->resize(Wt::WLength::Auto, 200); + // wtWindow4->resize(Wt::WLength::Auto, 200); + + + Wt::WApplication::instance()->refresh(); @@ -564,17 +582,17 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent) w->setLayout(l2); - + + wtWindow1->setStyleClass("black-box"); + wtWindow2->setStyleClass("black-box"); + wtWindow3->setStyleClass("black-box"); + wtWindow4->setStyleClass("black-box"); + wtWindow1->configureWt(); wtWindow2->configureWt(); wtWindow3->configureWt(); wtWindow4->configureWt(); - wtWindow1->setStyleClass("black-box"); - wtWindow2->setStyleClass("black-box"); - wtWindow3->setStyleClass("black-box"); - wtWindow4->setStyleClass("black-box"); - bbSetOutputviewer1(wtWindow1->jsRef()); bbSetOutputviewer2(wtWindow2->jsRef()); bbSetOutputviewer3(wtWindow3->jsRef());