]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkBinaryOperations.cxx
Clean code
[bbtk.git] / packages / vtk / src / bbvtkBinaryOperations.cxx
index 0e2a523f2b5b4d4193843cb410395b7f8193b10f..745b9c1ae80fc407f1b2bb132be4a5829e1372c6 100644 (file)
@@ -47,9 +47,11 @@ void BinaryOperations::Process()
 //    * TYPE is the C++ type of the input/output
 //      (the one provided in the attribute 'type' of the tag 'input')
 
+    
        if (bbGetInputIn1() == NULL)
        {
-               std::cout << "EED BinaryOperations::Process  Set In1 at least" << std::endl;
+               printf( "EED Warning!!!  (%s)  BinaryOperations::Process  Set In1 at least", bbGetFullName().c_str() );
+        bbSetOutputOut(NULL);
                return;
        }
 
@@ -72,39 +74,52 @@ void BinaryOperations::Process()
 #endif
 
        } else {
-           std::cout << "EED BinaryOperations::Process  Set In2" << std::endl;
+        printf( "EED Warning!!!  (%s)  BinaryOperations::Process  Set In2 at least", bbGetFullName().c_str() );
+        bbSetOutputOut(NULL);
         return;
        }
-       switch (bbGetInputOperation())
-       {
-               case 0:
-                               ope->SetOperationToAdd();
-               break;
-               case 1:
-                               ope->SetOperationToSubtract();
-
-               break;
-               case 2:
-                               ope->SetOperationToMultiply();
-               break;
-               case 3:
-                               ope->SetOperationToDivide();
-               break;
-               case 4:
-                               ope->SetOperationToMax();
-               break;
-               case 5:
-                               ope->SetOperationToMin();
-               break;
-               default:
-                       std::cout << "Invalid Operation" << std::endl;
-                       return;
-               break;
-       }
-       ope->Modified();
-       ope->Update();
-       vtkImageData* salida = ope->GetOutput();
-       bbSetOutputOut(salida);
+    
+    if ( (bbGetInputOperation()>=0) &&  (bbGetInputOperation()<=5) )
+    {
+        switch (bbGetInputOperation())
+        {
+            case 0:
+                ope->SetOperationToAdd();
+                break;
+            case 1:
+                ope->SetOperationToSubtract();
+                break;
+            case 2:
+                ope->SetOperationToMultiply();
+                break;
+            case 3:
+                ope->SetOperationToDivide();
+                break;
+            case 4:
+                ope->SetOperationToMax();
+                break;
+            case 5:
+                ope->SetOperationToMin();
+                break;
+            default:
+                std::cout << "Invalid Operation" << std::endl;
+                return;
+                break;
+        }
+        ope->Modified();
+        ope->Update();
+        bbSetOutputOut( ope->GetOutput() );
+    }  // if operation 0..5
+
+    if ( bbGetInputOperation()==6 )
+    {
+        bbSetOutputOut( bbGetInputIn1() );
+    }
+    if ( bbGetInputOperation()==7 )
+    {
+        bbSetOutputOut( bbGetInputIn2() );
+    }
+
 //     bbSignalOutputModification();
 }