]> Creatis software - creaWT.git/blobdiff - wt/bbtk_wt_PKG/src/bbwtViewerNVWeb.cxx
#2691 creaWT Feature New Normal - Implementation temp files
[creaWT.git] / wt / bbtk_wt_PKG / src / bbwtViewerNVWeb.cxx
index 6f72fd322a0dc34b2dc63bf9761527a56a35c254..8fa80e4ef377bcbac25cb308f8b53f3b27024291 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,209 +82,80 @@ 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();
+//--------------------------------------------------------------------------------------------------------
+void ViewerNVWeb::Process()
+{
+       printf("EED ViewerNVWeb::Process start\n ");
 
-       cont++;
+       Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget();
        std::string jsCom;
        
-  std::cout<<"Process ----"<<std::endl; 
-
-  //if(cont ==1) 
- // {
-  
-      jsCom = "\
+       //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();";
-        
-        
-                
-                
-
-
-  //}
-       //else if(cont == 2)
-       //{
-         
-    if(nType.size() >1)
-         {
-                 jsCom = jsCom + "\
-                               setTimeout(function(){\
+                       " +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();";
-         }
-       //}
-       //else if(cont == 3)
-       //{
-    if(nType.size() >2 )
-         {
-                 jsCom = jsCom + "\
+                         " + wtWindow2->jsRef() + ".mRenderer.render();\
                        " + wtWindow3->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\
-                         " + wtWindow3->jsRef() + ".mRenderer.render();";
-         }
-//     }
-//     else if(cont == 4)
-//     {
-         if(nType.size() > 3)
-         {
-                 jsCom = jsCom + "\
+                         " + wtWindow3->jsRef() + ".mRenderer.render();\
                        " + 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', " + 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();\
-                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 + "\
-                     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);\
-                         },2000);";          
-      }
-     // 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();";
-                
-//       }
-//     }
-//     
-
-  
-
-
-       std::cout<<"PROCESSSSS>>>>"<<jsCom<<std::endl;
-       //w->doJavaScript(jsCom);
-       
-       Wt::WApplication::instance()->refresh();
-  
-
-
-}
-//--------------------------------------------------------------------------------------------------------
-//--------------------------------------------------------------------------------------------------------
-
-
+                         };\
+                       " + wtWindow1->jsRef() + ".mRenderer.render();\
+                       },500";
 
-void ViewerNVWeb::loadImage()
-{
 
-  
-  Wt::WContainerWidget* w = (Wt::WContainerWidget*)bbGetOutputWidget();
-       std::string jsCom;
-       
-  std::cout<<"Process ----"<<std::endl; 
+       if (firstTime==false)
+       {
+               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);
+       }
 
-  jsCom = "\
+       if (firstTime==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\
-                  ];\
+                       var center = [0,0,0];\
                        " +w->jsRef() + ".mVolume.center = center;\
                        volume.center = [0,0,0];\
                        setTimeout(function(){\
@@ -309,11 +180,10 @@ void ViewerNVWeb::loadImage()
                          " + wtWindow3->jsRef() + ".mRenderer.render();\
                        " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\
                          " + wtWindow4->jsRef() + ".mRenderer.render();\
-                     },1500);";
-
-
- //        jsCom = "\
-                  setTimeout(function(){\
+                     },3000);\
+                               ";
+                     
+   // jsCom = "\
                        var volume = new X.volume();\
                        volume.spacing = [0.7,0.7,0.7 ];\
                        volume.file = '" + bbGetInputImagePath() + "';\
@@ -322,9 +192,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,69 +213,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();";  
-         
-
+                         };\
+                       " + wtWindow1->jsRef() + ".mRenderer.render();";
+                       
+                       std::cout<<"LOADzzzzzzzzzzzzzzzzzzzzzzzzzzzz"<<jsCom<<std::endl;
+                       w->doJavaScript(jsCom);
+       }
+       
        
-               //  jsCom = jsCom + "\
-                       " + wtWindow4->jsRef() + ".mRenderer.add(" +w->jsRef() + ".mVolume);\
-                         " + wtWindow4->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();
        
   
+  printf("EED ViewerNVWeb::Process END\n ");
 
 
 }
@@ -416,10 +243,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("");
@@ -467,7 +295,7 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent)
     
     l->addWidget(wtWindow1);
     l->addWidget(wtWindow2);
-    
+    l->setResizable(0,true,400);
     w->setLayout(l);
     
                wtWindow1->configureWt();       
@@ -494,7 +322,7 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent)
                wtWindow3 = new Viewer_NV(0,nType[2]);
 
        /*
-               l->addWidget(wtWindow2);
+               l->addWidget(wtWindow2);http://www.creatis.insa-lyon.fr/~davila/links/links_EED.html
                l->addWidget(wtWindow3);
                
                
@@ -507,11 +335,12 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent)
                
                l->addWidget(wtWindow2);
                l->addWidget(wtWindow3);
+               l->setResizable(0,true,400);
                aux1->setLayout(l);
                
                l2->addWidget(wtWindow1);
                l2->addWidget(aux1);
-               
+               l2->setResizable(0,true,400);
                w->setLayout(l2);
                
          wtWindow1->configureWt();     
@@ -557,36 +386,44 @@ void ViewerNVWeb::CreateWidget(Wt::WContainerWidget* parent)
                l->addWidget(wtWindow2,0,1);
                l->addWidget(wtWindow3,0,2);
                l->addWidget(wtWindow4,0,3);
+               l->setColumnResizable(0,true,400);
+               l->setColumnResizable(1,true,400);
+               l->setColumnResizable(2,true,400);
                aux1->setLayout(l);
                
                l2->addWidget(wtWindow1);
                l2->addWidget(aux1);
-               
+               l2->setResizable(0,true,600);
                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());
                bbSetOutputviewer4(wtWindow4->jsRef());
 
+               bbSetOutputViewer1(wtWindow1);
+               bbSetOutputViewer2(wtWindow2);
+               bbSetOutputViewer3(wtWindow3);
+               bbSetOutputViewer4(wtWindow4);
+
+
        }
 
 
   
   bbSetOutputWidget(w);
-  loadImage();
-  //Process();
+//EED  loadImage();
 
 }