]> Creatis software - creaWT.git/blobdiff - wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx
#2498 creaWt Feature New Normal wt-version kernel
[creaWT.git] / wt / bbtk_wt_PKG / src / bbwtViewerNVWeb.cxx
index 6f72fd322a0dc34b2dc63bf9761527a56a35c254..d19d0b7e4efaa331d5cc5cb305f685b1eaa134d8 100644 (file)
@@ -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>>>>"<<jsCom<<std::endl;
+       //w->doJavaScript(jsCom);
+       
+       Wt::WApplication::instance()->refresh();
+  
+
+
+}*/
+
+void ViewerNVWeb::Process()
+{
+
+
+  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');\
@@ -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"<<jsCom<<std::endl;
        w->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());