]> Creatis software - bbtk.git/commitdiff
*** empty log message ***
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Thu, 19 Jun 2008 09:46:41 +0000 (09:46 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Thu, 19 Jun 2008 09:46:41 +0000 (09:46 +0000)
12 files changed:
kernel/src/bbtkBlackBox.cxx
kernel/src/bbtkBlackBox.h
kernel/src/bbtkWxGUIConsole.cxx
packages/itk/src/bbitkImageProperties.cxx
packages/wx/src/bbwxLayoutLine.cxx
packages/wx/src/bbwxLayoutLine.h
packages/wx/src/bbwxLayoutSplit.cxx
packages/wx/src/bbwxLayoutSplit.h
packages/wx/src/bbwxLayoutTab.cxx
packages/wx/src/bbwxLayoutTab.h
packages/wxvtk/src/bbwxvtkViewer2D.cxx
packages/wxvtk/src/bbwxvtkViewer2D.h

index 0d15072239a249d180364e69a5595d031a50cd45..d2137752f2e8aee1d3084543d6c786427e001b71 100644 (file)
@@ -3,8 +3,8 @@
 Program:   bbtk
 Module:    $RCSfile: bbtkBlackBox.cxx,v $
 Language:  C++
-Date:      $Date: 2008/06/10 19:19:42 $
-Version:   $Revision: 1.20 $
+Date:      $Date: 2008/06/19 09:46:41 $
+Version:   $Revision: 1.21 $
                                                                                 
 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
 l'Image). All rights reserved. See doc/license.txt or
@@ -1167,13 +1167,6 @@ namespace bbtk
        } 
 
 
-  //=========================================================================
-  // Static members initialization
-/*EED
-  bool BlackBox::bbmgSomeBoxExecuting = false;
-  bool BlackBox::bbmgFreezeExecution = false;
-  std::set<BlackBox*> BlackBox::bbmgExecutionList;
-*/
    //=========================================================================
 
   //=========================================================================
@@ -1184,6 +1177,16 @@ namespace bbtk
   }
   //=========================================================================
 
+  void BlackBox::bbUserOnShowWidget(std::string nameInput)
+  {
+         bbtk::BlackBoxInputConnector *cc;
+         cc = this->bbGetInputConnectorMap().find( nameInput.c_str() )->second;
+         if (cc->GetConnection()!=NULL) 
+         {
+                 cc->GetConnection()->GetBlackBoxFrom()->bbUserOnShow();
+         }
+  }
+
 
 
 }  // EO namespace bbtk
index ba86ed664290cfeceb395a7e45c974dd2ccb588b..3f9fe828fda88ede3f4b63b0d1be7d9237d1932c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkBlackBox.h,v $
   Language:  C++
-  Date:      $Date: 2008/05/15 08:02:36 $
-  Version:   $Revision: 1.10 $
+  Date:      $Date: 2008/06/19 09:46:41 $
+  Version:   $Revision: 1.11 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See doc/license.txt or
@@ -237,6 +237,10 @@ bool reaction = true);
 
     virtual void Check(bool recursive = true);
 
+       virtual void bbUserOnShow() { }
+       void bbUserOnShowWidget(std::string nameInput);
+
+
   protected:
     //==================================================================
     // PROTECTED PART : ACCESSIBLE TO THE BlackBox DEVELOPER 
@@ -338,7 +342,7 @@ bool reaction = true);
     /// (called after bbProcess during bbExecute)
     /// Does nothing here but overloaded in WxBlackBox and WxContainerBlackBox
     virtual void bbShowWindow(Connection::Pointer caller) { }
+
     virtual void bbHideWindow() {}
     virtual void bbCloseWindow() { }
    //==================================================================
index 8d04582120ac4af9cb7026d3c1aba777c7267658..e19fb0e8f97e1f55e28c0f3ffeab28f75e9f29b9 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbtkWxGUIConsole.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/05/15 08:02:36 $
-  Version:   $Revision: 1.12 $
+  Date:      $Date: 2008/06/19 09:46:41 $
+  Version:   $Revision: 1.13 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -371,7 +371,7 @@ namespace bbtk
        std::string strcommand0         = "cd "+bbdoc_path+" && mkdir tmp && cd tmp";
 
        std::string strcommand1         = "cd "+bbdoc_path+"/tmp";
-    std::string strcommand2            = "\""+bin_path+"/bbi\" -n "+make_index_path;
+    std::string strcommand2            = "\""+bin_path+"/bbi\" -N "+make_index_path;
 #ifdef WIN32 
     std::string strcommand3            = "move index*.html ../.";
 #else
index 223950e857550ff35cc8ad932bcdc628dfadc24a..397562063e7a7c94204577351ef4ba741dd74f95 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbitkImageProperties.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/04/18 12:59:50 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2008/06/19 09:46:44 $
+  Version:   $Revision: 1.4 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -24,6 +24,8 @@
 #include "bbitkImageProperties.h"
 #include "bbitkPackage.h"
 
+
+
 namespace bbitk 
 {
   BBTK_BLACK_BOX_IMPLEMENTATION(ImageProperties,bbtk::AtomicBlackBox);
@@ -50,7 +52,8 @@ namespace bbitk
                        <<bbtk::TypeName<itkImageType>()
                        <<">()"<<std::endl);
 
-    itkImageType* im = bbGetInputIn().get<itkImageType*>();
+
+       itkImageType* im = bbGetInputIn().get<itkImageType*>();
     unsigned int dim = im->GetImageDimension();
 
     bbSetOutputTypeName(bbtk::TypeName<typename itkImageType::PixelType>());
index d2289d730e1401a519c5d79a4c621030ea73cbf7..c6c59c068af8ecdc934d37bb924806fc4a7a21d2 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutLine.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/04/18 12:59:52 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2008/06/19 09:46:46 $
+  Version:   $Revision: 1.4 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -90,6 +90,21 @@ namespace bbwx
     bbSetOutputWidget( w );
   }
   
+  // This callback is necessary to get actual processing of the view 
+  // when window is shown
+  void  LayoutLine::bbUserOnShow()
+  {
+         bbUserOnShowWidget("Widget1");
+         bbUserOnShowWidget("Widget2");
+         bbUserOnShowWidget("Widget3");
+         bbUserOnShowWidget("Widget4");
+         bbUserOnShowWidget("Widget5");
+         bbUserOnShowWidget("Widget6");
+         bbUserOnShowWidget("Widget7");
+         bbUserOnShowWidget("Widget8");
+         bbUserOnShowWidget("Widget9");
+  }
+
 }//namespace bbwx
 
 #endif // _USE_WXWIDGETS_
index 952941dc8449305b9245dc2810992e994a7c5e73..ba0fe17167c2bfc02987fd5e64dbef772b5de64d 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutLine.h,v $
   Language:  C++
-  Date:      $Date: 2008/04/18 12:59:53 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2008/06/19 09:46:46 $
+  Version:   $Revision: 1.4 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -65,6 +65,7 @@ namespace bbwx
     
     void Process();
     void CreateWidget();
+    void bbUserOnShow();
     
   protected:
        virtual void bbUserConstructor();
index 1f9e079e2d34f275e275453766cbfbf94a83451e..efec39bcf5bcfce1cb4120b08d1c33b9ae86c51f 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutSplit.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/04/18 12:59:53 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2008/06/19 09:46:46 $
+  Version:   $Revision: 1.3 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -72,6 +72,17 @@ namespace bbwx
     bbSetOutputWidget( w );
   }
 
+
+  // This callback is necessary to get actual processing of the view 
+  // when window is shown
+  void  LayoutSplit::bbUserOnShow()
+  {
+         bbUserOnShowWidget("Widget1");
+         bbUserOnShowWidget("Widget2");
+  }
+
+
+
 }//namespace bbwx
 
 #endif // _USE_WXWIDGETS_
index 9e214717b4eb3349f4a571328ffaaef1866846ac..b174a5ab54a015cc0162e2a5b669f36b36c8be0d 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutSplit.h,v $
   Language:  C++
-  Date:      $Date: 2008/04/18 12:59:53 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2008/06/19 09:46:46 $
+  Version:   $Revision: 1.4 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -56,6 +56,7 @@ namespace bbwx
     
     void Process();
     void CreateWidget();
+    void bbUserOnShow();
 
   protected:
     virtual void bbUserConstructor();
index d6cd1de8874e7a7db40800aa3cbc3dd3dc1bc007..e72b1b9ecc566779c71651d86b84ed9bd32a2a2c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutTab.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/04/18 12:59:53 $
-  Version:   $Revision: 1.2 $
+  Date:      $Date: 2008/06/19 09:46:46 $
+  Version:   $Revision: 1.3 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -58,6 +58,7 @@ namespace bbwx
                  {
                          widgetchild->Reparent(book);
                          book->AddPage(widgetchild,  widgetchild->GetName() );
+                               widgetchild->Show();
                  }             
        }
 
@@ -86,11 +87,27 @@ namespace bbwx
          TryInsertWindow(w,bbGetInputWidget7());
          TryInsertWindow(w,bbGetInputWidget8());
          TryInsertWindow(w,bbGetInputWidget9());
-         
+
+
          bbSetOutputWidget( w );
        }
   
 
+  // This callback is necessary to get actual processing of the view 
+  // when window is shown
+  void  LayoutTab::bbUserOnShow()
+  {
+         bbGetOutputWidget()->Show();
+         bbUserOnShowWidget("Widget1");
+         bbUserOnShowWidget("Widget2");
+         bbUserOnShowWidget("Widget3");
+         bbUserOnShowWidget("Widget4");
+         bbUserOnShowWidget("Widget5");
+         bbUserOnShowWidget("Widget6");
+         bbUserOnShowWidget("Widget7");
+         bbUserOnShowWidget("Widget8");
+         bbUserOnShowWidget("Widget9");
+  }
 
 
 }//namespace bbwx
index 5049b9b2ab3d259b3a47949e7c94693920b8ce69..4b247a3b6d75577200a6ab1b245741c687b5582c 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxLayoutTab.h,v $
   Language:  C++
-  Date:      $Date: 2008/04/18 12:59:53 $
-  Version:   $Revision: 1.3 $
+  Date:      $Date: 2008/06/19 09:46:46 $
+  Version:   $Revision: 1.4 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -65,7 +65,8 @@ namespace bbwx
     
     void Process();
     void CreateWidget();
-    
+    void bbUserOnShow();
+
   protected:
        virtual void bbUserConstructor();
        void TryInsertWindow(wxNotebook *book, wxWindow *widgetchild);
index 9db6a270cdd16abaa67d6c30d687caa7f292f73d..3f0e696306e056578933b6107110074441f5d6c1 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxvtkViewer2D.cxx,v $
   Language:  C++
-  Date:      $Date: 2008/06/17 11:12:03 $
-  Version:   $Revision: 1.8 $
+  Date:      $Date: 2008/06/19 09:46:49 $
+  Version:   $Revision: 1.9 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -31,7 +31,8 @@
 #include "vtkInteractorStyleImage.h"
 #include "vtkCamera.h"
 #include "vtkRenderer.h"
-
+#include <vtkInteractorStyleImage.h>
+#include <vtkCommand.h>
 
 
 
@@ -53,19 +54,30 @@ namespace bbwxvtk
     wxvtkrenderwindowinteractor->UseCaptureMouseOn();  
 
     imageViewer        = vtkImageViewer2::New();
+       imageViewer->SetSlice( 1 );
     imageViewer->SetupInteractor ( wxvtkrenderwindowinteractor );
     
     mDefaultImage = vtkImageData::New();
     int dim[3];
-    dim[0] = dim[1] = dim[2] = 1; 
+    dim[0] = dim[1] = 32 ; 
+       dim[2] = 2; 
     mDefaultImage->SetDimensions ( dim );
     mDefaultImage->SetSpacing(1,1,1);
+    mDefaultImage->SetExtent(0,dim[0]-1,0,dim[1]-1,0,dim[2]-1);
+    mDefaultImage->SetWholeExtent(0,dim[0]-1,0,dim[1]-1,0,dim[2]-1);
 
     mDefaultImage->SetScalarTypeToUnsignedChar();
     mDefaultImage->AllocateScalars();    
     for (int i=0;i<dim[0];i++) 
       for (int j=0;j<dim[1];j++) 
-       mDefaultImage->SetScalarComponentFromFloat(i,j,0,0,0);
+        for (int k=0;k<dim[2];k++) 
+       mDefaultImage->SetScalarComponentFromFloat(i,j,k,0,0);
+
+    for (int i=0;i<dim[0];i++) 
+       {
+         mDefaultImage->SetScalarComponentFromFloat(dim[0]-i-1,i,0,0,255);
+         mDefaultImage->SetScalarComponentFromFloat(i,i,1,0,255);
+       }
 
     backImageData = mDefaultImage;
     imageViewer->SetInput( backImageData );
@@ -112,6 +124,7 @@ namespace bbwxvtk
     //    std::cout << "Viewer2DWidget::UpdateView() "<<mBox->bbGetFullName() << std::endl;
     //   std::cout << "slice="<<mBox->bbGetInputSlice()<<std::endl;
 
+
     if ( ( mBox->bbGetInputIn() == NULL ) &&
         ( backImageData != mDefaultImage ) )
       {
@@ -140,9 +153,9 @@ namespace bbwxvtk
        
        vtkCamera *camera = imageViewer->GetRenderer()->GetActiveCamera();
 
-       camera->SetViewUp ( spx*0, -spy*1, spz*0);
-       camera->SetPosition( spx*(x1+x2)/2, spy*(y1+y2)/2, -spz*10000000); 
-       camera->SetFocalPoint   ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*0); 
+       camera->SetViewUp ( spx*0, -spy*1, spz*0 );
+       camera->SetPosition( spx*(x1+x2)/2, spy*(y1+y2)/2, -spz*10000000 ); 
+       camera->SetFocalPoint   ( spx*(x1+x2)/2 , spy*(y1+y2)/2 , spz*0 ); 
 
        camera->ComputeViewPlaneNormal();
        camera->SetParallelScale(  spx*(x2-x1)/2.0 );
@@ -155,13 +168,15 @@ namespace bbwxvtk
     //    std::cout << "CW = "<< mBox->bbGetContainingWindow() << std::endl;
     //    std::cout << "Sh = "<< mBox->bbIsShown() << std::endl;
     
+
+
     // mBox->bbIsShown() is necessary to be sure that the wxWindow is already 
     // created and displayed. 
     // Else when slice != 0 we get an X Window System error with wxGTK
     if (
        (backImageData!=NULL)&&
        (mBox->bbIsShown()))
-      {
+    {
        int z = mBox->bbGetInputSlice();
        //      std::cout << "slice = "<<z<<std::endl;
        int ext[6];
@@ -170,7 +185,7 @@ namespace bbwxvtk
        //      std::cout << "ext = "<<ext[4]<<" - "<<ext[5]<<std::endl;
 
        if (z<ext[4]) { z=ext[4]; }
-       if (z>=ext[5]) { z=ext[5]-1; }
+       if (z>ext[5]) { z=ext[5]; }
 
 
 #if (VTK_MAJOR_VERSION >= 5)
@@ -178,15 +193,22 @@ namespace bbwxvtk
 #else
        imageViewer->SetZSlice( z );
 #endif
-       wxvtkrenderwindowinteractor->Render();
 
-      }
+       //imageViewer->UpdateDisplayExtent();
+   //wxvtkrenderwindowinteractor->Render();
+    imageViewer->GetRenderer()->ResetCameraClippingRange();
+  }
 
-    
 
-  }
+
+}
 
 
+  vtkRenderer * Viewer2DWidget::GetRenderer()
+  {
+         return imageViewer->GetRenderer();
+  }
+
 
 
   //--------------------------------------------------------------------------
@@ -209,12 +231,15 @@ namespace bbwxvtk
 
     ((Viewer2DWidget*)bbGetOutputWidget())->UpdateView();
     bbSetOutputOut( bbGetInputSlice() );
+       bbSetOutputRenderer( ((Viewer2DWidget*)bbGetOutputWidget())->GetRenderer() );
+       
   }
   
 
   void Viewer2D::bbUserConstructor()
   {
-    bbSetInputIn(0);
+    bbSetInputIn(NULL);
+    bbSetInputSlice(0);
   }
 
   /**
index b5e92ae761a1b5bd5a3d4b7e018d8f2a9142d01d..c2092affce99e8f1d00fd52a2f79fc2b15ea7643 100644 (file)
@@ -3,8 +3,8 @@
   Program:   bbtk
   Module:    $RCSfile: bbwxvtkViewer2D.h,v $
   Language:  C++
-  Date:      $Date: 2008/06/17 11:12:03 $
-  Version:   $Revision: 1.5 $
+  Date:      $Date: 2008/06/19 09:46:49 $
+  Version:   $Revision: 1.6 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -58,15 +58,16 @@ namespace bbwxvtk
     Viewer2DWidget(Viewer2D* box, wxWindow *parent);
     ~Viewer2DWidget();
     void UpdateView();
+       vtkRenderer                                      *GetRenderer();
   private:
     Viewer2D                     *mBox;
-    vtkImageViewer2             *imageViewer;
-    vtkImageData                *backImageData;
-    vtkImageData                *mDefaultImage;
+    vtkImageViewer2                             *imageViewer;
+    vtkImageData                                *backImageData;
+    vtkImageData                                *mDefaultImage;
     wxVTKRenderWindowInteractor  *wxvtkrenderwindowinteractor;
     bool mUpdateCamera;
-    vtkImplicitPlaneWidget * maPlane1, * maPlane2, * mbPlane1, * mbPlane2;
 
+       vtkImplicitPlaneWidget * maPlane1, * maPlane2, * mbPlane1, * mbPlane2;
   };
   
   //------------------------------------------------------------------------
@@ -80,6 +81,7 @@ namespace bbwxvtk
     BBTK_DECLARE_INPUT(Orientation,int);
     BBTK_DECLARE_INPUT(In,vtkImageData *);
     BBTK_DECLARE_OUTPUT(Out,int);
+    BBTK_DECLARE_OUTPUT(Renderer,vtkRenderer*);
     BBTK_PROCESS(Process);
     void Process();
     BBTK_CREATE_WIDGET(CreateWidget);
@@ -99,6 +101,7 @@ namespace bbwxvtk
   BBTK_INPUT(Viewer2D,Orientation,"Slicing orientation : 0:yz / 1:xz / 2:xy",int,"");
   BBTK_INPUT(Viewer2D,In,"Input Image",vtkImageData *,"");
   BBTK_OUTPUT(Viewer2D,Out,"Position of the slider",int,"");
+  BBTK_OUTPUT(Viewer2D,Renderer,"vtk Renderer",vtkRenderer*,"");
   BBTK_END_DESCRIBE_BLACK_BOX(Viewer2D);
   //=================================================================