]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkPlaneWidget.cxx
#3474 PlaneWidget Box with representation:Wireframe and resolution
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkPlaneWidget.cxx
index 637898152fa920d21718a8483a5d7d4337074781..833d6be9d99e7db0df9d39f0435e7920e68f00b1 100644 (file)
@@ -10,12 +10,8 @@ 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() );
@@ -48,14 +44,28 @@ 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() );
-       bbSetOutputCenter( _boxcreavtkplanewidget.GetCenter() );
-       bbSetOutputNormal( _boxcreavtkplanewidget.GetNormal() );
+
+       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.SetRepresentation( bbGetInputRepresentation() );
+               _boxcreavtkplanewidget.SetOrigin( bbGetInputOrigin() );
+               _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)
@@ -69,6 +79,7 @@ void PlaneWidget::bbUserSetDefaultValues()
    bbSetInputActive(false);
    bbSetInputIn(NULL);
    bbSetInputResolution(60);
+   bbSetInputRepresentation(1);
    bbSetInputRenderer(NULL);
    bbSetOutputOut(NULL);
    _boxcreavtkplanewidget.box = this;
@@ -98,7 +109,7 @@ void PlaneWidget::bbUserFinalizeProcessing()
 //    if any
   
 }
-}
-// EO namespace bbcreaVtk
+
+}// EO namespace bbcreaVtk