]> Creatis software - creaVtk.git/commitdiff
#3289 creaVtk Feature New Normal - bbcreaVtkBoxWidget init box
authorEduardo DAVILA <davila@localhost.localdomain>
Thu, 1 Aug 2019 05:36:40 +0000 (07:36 +0200)
committerEduardo DAVILA <davila@localhost.localdomain>
Thu, 1 Aug 2019 05:36:40 +0000 (07:36 +0200)
bbtk_creaVtk_PKG/bbs/boxes/VolumeVectorVisu_Widget.bbg
bbtk_creaVtk_PKG/bbs/boxes/VolumeVectorVisu_Widget.bbs
bbtk_creaVtk_PKG/src/bbcreaVtkBoxWidget.cxx
bbtk_creaVtk_PKG/src/bbcreaVtkBoxWidget.h

index 7f68e9d4a43be57797f8e5ba5f4419eada33b3f5..b8a594251a37d39290c2d06dca7e1151976be925 100644 (file)
@@ -93,7 +93,7 @@ ISEXEC:FALSE
 -64.370903:22.659312:-900.000000
 -24.670903:12.659312:-900.000000
 FIN_BOX
-CONNECTIONS:23
+CONNECTIONS:24
 CONNECTION
 Box02:AcitiveVector:Box00:Active
 NumberOfControlPoints:0
@@ -163,4 +163,7 @@ NumberOfControlPoints:0
 CONNECTION
 externalLut:externalLut:Box00:ExternalLut
 NumberOfControlPoints:0
+CONNECTION
+Box06:Out:Box09:ImageInitSize
+NumberOfControlPoints:0
 APP_END
index a6f74b09a3d4bc6b024845279101c9ca024a3c31..3e28e25db776b616938b063dc8da59156a2712af 100644 (file)
@@ -56,6 +56,7 @@ connect Box09.BoxChange Box10.In1
 connect Box10.BoxChange Box00.BoxExecute
 connect Box02.ActiveBoxWidget Box09.Active
 connect Box02.AcitiveVector Box07.Active
+connect Box06.Out Box09.ImageInitSize
 
 # Complex input ports
 input renderer Box04.In " "
index d16cf2a4f854e25ae243b7168649131d01b055b7..a973e3b59c3877b390528684f26a9480943f2bc3 100644 (file)
@@ -67,9 +67,18 @@ void BoxWidget::Process()
                        planes          = vtkPlanes::New();
                        boxWidget->SetInteractor(  bbGetInputRenderer()->GetRenderWindow()->GetInteractor() );
                        boxWidget->SetPlaceFactor(1.25);
-                       boxWidget->PlaceWidget(0,500,0,500,0,500);
+                       if (bbGetInputImageInitSize()!=NULL)
+                       {
+                               int ext[6];
+                               bbGetInputImageInitSize()->GetExtent( ext );
+                               double spc[3];
+                               bbGetInputImageInitSize()->GetSpacing( spc );
+                               boxWidget->PlaceWidget( ext[0]*spc[0] , ext[1]*spc[0] , ext[2]*spc[1] , ext[3]*spc[1] , ext[4]*spc[2] , ext[5]*spc[2] );
+                       } else {
+                               boxWidget->PlaceWidget(0,500,0,500,0,500);
+                       }// if   ImageInitSize  
                        boxWidget->GetPlanes( planes );
-               }
+               } // if firsttime
         
        //  boxWidget->SetProp3D(coneActor);
                bbBoxWidgetCallback *callback = bbBoxWidgetCallback::New();
@@ -99,7 +108,7 @@ void BoxWidget::bbUserSetDefaultValues()
        firsttime=true;
     bbSetInputRenderer(NULL);
     bbSetInputActive( false );
-
+    bbSetInputImageInitSize(NULL);
 }
 //===== 
 // 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)
index ca223de29eba4a61ecbd20049c1b3fa5fb488af2..cfa8bc6c0f1b13af00a0855a0ba7b14628d9fe0a 100644 (file)
@@ -12,6 +12,7 @@
 #include "vtkRenderer.h"
 #include "vtkImplicitFunction.h"
 #include "vtkPlanes.h"
+#include "vtkImageData.h"
 
 namespace bbcreaVtk
 {
@@ -26,6 +27,7 @@ class bbcreaVtk_EXPORT BoxWidget
 //===== 
   BBTK_DECLARE_INPUT( Active , bool );
   BBTK_DECLARE_INPUT( Renderer , vtkRenderer* );
+  BBTK_DECLARE_INPUT( ImageInitSize , vtkImageData* );
   BBTK_DECLARE_OUTPUT( ImplicitFunction , vtkImplicitFunction* );
   BBTK_PROCESS(Process);
   void Process();
@@ -45,6 +47,7 @@ BBTK_BEGIN_DESCRIBE_BLACK_BOX(BoxWidget,bbtk::AtomicBlackBox);
   BBTK_CATEGORY("empty");
 
   BBTK_INPUT(BoxWidget,Active,"(default false)  true/false",bool,"");
+  BBTK_INPUT(BoxWidget,ImageInitSize,"(default NULL=> 0,500,0,500,0,500) Boudaring image size ",vtkImageData*,"");
   BBTK_INPUT(BoxWidget,Renderer,"vtkRenderer",vtkRenderer*,"");
 
   BBTK_OUTPUT(BoxWidget,ImplicitFunction,"vtkImplicitFunction",vtkImplicitFunction*,"");