]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.cxx
#3414 creaVtk Feature New Normal - openmp
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkPlaneWidget.cxx
index 02346246ffdb896c345c8070088a97de28e55b1f..91de0a69b588b68b6c2c4bf8d7f404a23116700a 100644 (file)
@@ -10,11 +10,13 @@ namespace bbcreaVtk
 
 void boxcreaVtkPlaneWidget::Execute()  // virutal
 {
-       printf("EED bbcreaVtkPlaneWidget::Execute (virtual) start \n");
-        box->bbSetOutputOut( box->_boxcreavtkplanewidget.GetPlaneSource()->GetOutput()  );
-       printf("EED bbcreaVtkPlaneWidget::Execute (virtual) start 1\n");
+   box->bbSetOutputOut( box->_boxcreavtkplanewidget.GetPlaneSource()->GetOutput()  );
        box->bbSignalOutputModification(std::string("Out"));
-       printf("EED bbcreaVtkPlaneWidget::Execute (virtual) end \n");
+       box->bbSetOutputCenter( box->_boxcreavtkplanewidget.GetCenter() );
+       box->bbSignalOutputModification(std::string("Center"));
+       box->bbSetOutputNormal( box->_boxcreavtkplanewidget.GetNormal() );
+       box->bbSignalOutputModification(std::string("Normal"));
+
 }
 
 //----------------------------------------------------------------------------------------------
@@ -42,12 +44,23 @@ void PlaneWidget::Process()
 //    * TYPE is the C++ type of the input/output
 //      (the one provided in the attribute 'type' of the tag 'input')
 
-       _boxcreavtkplanewidget.SetActive( bbGetInputActive() );
-       _boxcreavtkplanewidget.SetImage( bbGetInputIn() );
-       _boxcreavtkplanewidget.SetResolution( bbGetInputResolution() );
-       _boxcreavtkplanewidget.SetRenderer( bbGetInputRenderer() );
-       _boxcreavtkplanewidget.Process();
-       bbSetOutputOut( _boxcreavtkplanewidget.GetPlaneSource()->GetOutput() );
+       if ((bbGetInputIn()==NULL) || (bbGetInputRenderer()==NULL))
+       {
+               bbSetOutputOut( NULL );
+               std::vector<double> center;
+               std::vector<double> normal;
+               bbSetOutputCenter( center );
+               bbSetOutputNormal( normal );
+       } else {
+               _boxcreavtkplanewidget.SetActive( bbGetInputActive() );
+               _boxcreavtkplanewidget.SetImage( bbGetInputIn() );
+               _boxcreavtkplanewidget.SetResolution( bbGetInputResolution() );
+               _boxcreavtkplanewidget.SetRenderer( bbGetInputRenderer() );
+               _boxcreavtkplanewidget.Process();
+               bbSetOutputOut( _boxcreavtkplanewidget.GetPlaneSource()->GetOutput() );
+               bbSetOutputCenter( _boxcreavtkplanewidget.GetCenter() );
+               bbSetOutputNormal( _boxcreavtkplanewidget.GetNormal() );
+       }
 }
 //===== 
 // 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)