]> Creatis software - creaVtk.git/blobdiff - bbtk_creaVtk_PKG/src/bbcreaVtkMeshReduction_DecimatePro.cxx
3521 CompareImages
[creaVtk.git] / bbtk_creaVtk_PKG / src / bbcreaVtkMeshReduction_DecimatePro.cxx
index 6848c8acc188f1ef86892beffda2190dc427224d..04b33a218c0d0184a1f4d520206039c54b3cf705 100644 (file)
@@ -15,7 +15,6 @@ BBTK_BLACK_BOX_IMPLEMENTATION(MeshReduction_DecimatePro,bbtk::AtomicBlackBox);
 //===== 
 void MeshReduction_DecimatePro::Process()
 {
-
 // THE MAIN PROCESSING METHOD BODY
 //   Here we simply set the input 'In' value to the output 'Out'
 //   And print out the output value
@@ -27,51 +26,51 @@ void MeshReduction_DecimatePro::Process()
 //      (the one provided in the attribute 'name' of the tag 'input')
 //    * TYPE is the C++ type of the input/output
 //      (the one provided in the attribute 'type' of the tag 'input')
-
-
        if (firsttime==true)
        {
                firsttime       = false;
                decimatepro = vtkDecimatePro::New();
        }
-       decimatepro->SetInputData( bbGetInputIn() );
-       decimatepro->SetTargetReduction( bbGetInputTargetReduction() );
-       decimatepro->PreserveTopologyOn();
-       decimatepro->Update();
-       bbSetOutputOut(decimatepro->GetOutput() );  
+    if (bbGetInputIn()!=NULL)
+    {
+        decimatepro->SetInputData( bbGetInputIn() );
+        decimatepro->SetTargetReduction( bbGetInputTargetReduction() );
+        decimatepro->PreserveTopologyOn();
+        decimatepro->Update();
+        bbSetOutputOut(decimatepro->GetOutput() );
+    } else {
+        bbSetOutputOut( NULL );
+    } // if In
 }
 //===== 
 // 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 MeshReduction_DecimatePro::bbUserSetDefaultValues()
 {
-
-//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX 
+//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
 //    Here we initialize the input 'In' to 0
        firsttime       =       true;
        decimatepro     =       NULL;
        bbSetInputIn(NULL);
        bbSetInputTargetReduction(0.5);
+    bbSetOutputOut( 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)
 //===== 
 void MeshReduction_DecimatePro::bbUserInitializeProcessing()
 {
-
 //  THE INITIALIZATION METHOD BODY :
 //    Here does nothing 
 //    but this is where you should allocate the internal/output pointers 
-//    if any 
-
-  
+//    if any
 }
-//===== 
+
+//=====
 // 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 MeshReduction_DecimatePro::bbUserFinalizeProcessing()
 {
-
 //  THE FINALIZATION METHOD BODY :
 //    Here does nothing 
 //    but this is where you should desallocate the internal/output pointers 
@@ -80,10 +79,9 @@ void MeshReduction_DecimatePro::bbUserFinalizeProcessing()
        if (decimatepro!=NULL)
        {
                decimatepro->Delete();
-       } 
-
-}
+       }
 }
-// EO namespace bbcreaVtk
+
+}// EO namespace bbcreaVtk