]> Creatis software - creaWT.git/blobdiff - wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx
#3052 creaWT Feature New Normal - Install documentation
[creaWT.git] / wt / bbtk_wt_PKG / src / bbwtViewerNVWeb.cxx
index 33dd441b31c5aacfd3f09169de6cde381e622a90..9bc8f5c1a6b1e324a5513ec960cc30ee43a823f1 100644 (file)
@@ -73,8 +73,6 @@ namespace bbwt
 
  
   w->doJavaScript(jsCom);
-  std::cout<<"       REF:   "<<w->jsRef()<<std::endl;
-       std::cout<<"       CREANDO TIPO:   "<<mType<<" ---  "<<jsCom<<std::endl;
 
   }
 BBTK_ADD_BLACK_BOX_TO_PACKAGE(wt,ViewerNVWeb)
@@ -82,376 +80,168 @@ 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()
-{
-
-  //------------- This part works perfectly, uncomment it for use it safe
-
-  /*Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget();
-
-       cont++;
-       std::string jsCom;
-       
-
-               
-        //jsCom = "\
-                      " + wtWindow1->jsRef() + ".mRenderer.add(" +bbGetInputImagePath() + ".mObject);\
-                      " + wtWindow1->jsRef() + ".mRenderer.render();";
-
-       std::cout<<std::endl;
-       std::cout<<std::endl;
-       std::cout<<std::endl;
-       std::cout<<std::endl;
-       std::cout<<"CADENA -- "<<std::endl;
-       std::cout<<jsCom<<std::endl;
-
- //jsCom = "\
-                       var volume = new X.volume();\
-                       volume.file = '" + bbGetInputImagePath() + "';\
-                       " + wtWindow1->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>>>>"<<jsCom<<std::endl;
-       w->doJavaScript(jsCom);
-  */
-  
- /* Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget();
-
-       cont++;
-       std::string jsCom;
-       
-  std::cout<<"Process ----"<<std::endl; 
-
-  //if(cont ==1) 
- // {
-  
-      jsCom = "\
-                       var volume = new X.volume();\
-                       volume.spacing = [0.7,0.7,0.7 ];\
-                       volume.center = [0,0,0];\
-                       volume.file = '" + bbGetInputImagePath() + "';\
-                                                                       " + w->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>>>>"<<jsCom<<std::endl;
-       //w->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 ----"<<std::endl; 
-
-   jsCom = "\
-                       var volume = new X.volume();\
-                       volume.spacing = [0.7,0.7,0.7 ];\
-                       volume.center = [0,0,0];\
-                       volume.file = '" + bbGetInputImagePath() + "';\
-                                                                       " + w->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>>>>"<<jsCom<<std::endl;
-       //w->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 ----"<<std::endl; 
-
-
-  //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";
-
-  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;
-       w->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();
        
-  
-
 
 }
 
@@ -463,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<int> nn (n,n+sizeof(n)/sizeof(int));
-  bbSetInputnTypeView(nn);
+       firstTime=true;
+       bbSetInputImagePath("");
+       int n[] = {3,2,1,0};
+       std::vector<int> nn (n,n+sizeof(n)/sizeof(int));
+       bbSetInputnTypeView(nn);
        bbSetOutputviewer1("");
        bbSetOutputviewer2("");
        bbSetOutputviewer3("");
@@ -494,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"<<std::endl;
                bbSetOutputviewer1(wtWindow1->jsRef());
        }
        else if(nType.size() == 2)
@@ -642,8 +432,7 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent)
 
   
   bbSetOutputWidget(w);
-  loadImage();
-  //Process();
+//EED  loadImage();
 
 }