]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkBinaryOperations.cxx
Clean code
[bbtk.git] / packages / vtk / src / bbvtkBinaryOperations.cxx
index b308540427ea9438c6b4b90519094283a796468b..745b9c1ae80fc407f1b2bb132be4a5829e1372c6 100644 (file)
@@ -78,36 +78,48 @@ void BinaryOperations::Process()
         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();
 }