]> Creatis software - creaWT.git/blobdiff - wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx
#3040 creaWT Bug New Normal - box ViewerWeb update
[creaWT.git] / wt / bbtk_wt_PKG / src / bbwtViewerNVWeb.cxx
index 8fa80e4ef377bcbac25cb308f8b53f3b27024291..094ef1277eaf0d149445932f9b6e9555e1188918 100644 (file)
@@ -89,137 +89,135 @@ BBTK_BLACK_BOX_IMPLEMENTATION(ViewerNVWeb,bbtk::WtBlackBox);
 //--------------------------------------------------------------------------------------------------------
 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);
@@ -229,9 +227,6 @@ void ViewerNVWeb::Process()
         
         Wt::WApplication::instance()->refresh();
        
-  
-  printf("EED ViewerNVWeb::Process END\n ");
-
 
 }