//--------------------------------------------------------------------------------------------------------
void ViewerNVWeb::Process()
{
- printf("EED ViewerNVWeb::Process start\n ");
-
Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget();
- std::string jsCom;
-
- //jsCom = "\
- var volume = new X.volume();\
- volume.spacing = [0.7,0.7,0.7 ];\
- volume.file = '" + bbGetInputImagePath() + "';\
- " +w->jsRef() + ".mVolume = volume;\
- setTimeout(function(){\
- var center = [0,0,0\
- ];\
- " +w->jsRef() + ".mVolume.center = center;\
- volume.center = [0,0,0];\
- " + wtWindow1->jsRef() + ".mRenderer.add(" + w->jsRef() + ".mVolume);\
- " + 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();\
- },500";
-
-
- if (firstTime==false)
+ std::string jsCom;
+printf("EED ViewerNVWeb::Process %s\n", bbGetInputImagePath().c_str() );
+ bool ok;
+ FILE *ff=fopen( bbGetInputImagePath().c_str() , "r" );
+ if (ff)
{
- firstTime=false;
- 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);\
- " + wtWindow1->jsRef() + ".mRenderer.render();\
- },300);\
- ";
- w->doJavaScript(jsCom);
- }
+ ok=true;
+ fclose(ff);
+ } else {
+ ok=false;
+ }
- if (firstTime==true)
+ if (ok==true)
{
- firstTime=false;
- 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);\
- " + 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();\
- },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"<<jsCom<<std::endl;
+ if (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();\
+ },300);\
+ } catch (err) {\
+ } \
+ ";
+*/
+
+/*
+ jsCom = "\
+ try{\
+ " +w->jsRef() + ".mVolume.file = '" + bbGetInputImagePath() + "';\
+ setTimeout(function(){\
+ " + wtWindow1->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\
+ " + wtWindow1->jsRef() + ".mRenderer.render();\
+ },300);\
+ } catch (err) {\
+ } \
+ ";
+
w->doJavaScript(jsCom);
- }
-
+*/
+
+ }
+
+ if (firstTime==true)
+ {
+ 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();\
+ },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();\
+ },3000);\
+ } 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);
Wt::WApplication::instance()->refresh();
-
- printf("EED ViewerNVWeb::Process END\n ");
-
}