X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkBinaryOperations.cxx;h=745b9c1ae80fc407f1b2bb132be4a5829e1372c6;hb=9ce7b1159290d46aa6e38c4706d3fe5435d80508;hp=4689f75c0800e441308ac1510a341e3c1a98f880;hpb=cfad95b6e08e6e53846ffcda7fbc5932065f2c47;p=bbtk.git diff --git a/packages/vtk/src/bbvtkBinaryOperations.cxx b/packages/vtk/src/bbvtkBinaryOperations.cxx index 4689f75..745b9c1 100644 --- a/packages/vtk/src/bbvtkBinaryOperations.cxx +++ b/packages/vtk/src/bbvtkBinaryOperations.cxx @@ -35,7 +35,6 @@ BBTK_ADD_BLACK_BOX_TO_PACKAGE(vtk,BinaryOperations) BBTK_BLACK_BOX_IMPLEMENTATION(BinaryOperations,bbtk::AtomicBlackBox); void BinaryOperations::Process() { - // THE MAIN PROCESSING METHOD BODY // Here we simply set the input 'In' value to the output 'Out' // And print out the output value @@ -48,54 +47,80 @@ 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 << "Set In1 at least" << std::endl; + printf( "EED Warning!!! (%s) BinaryOperations::Process Set In1 at least", bbGetFullName().c_str() ); + bbSetOutputOut(NULL); return; } +//EED 2017-01-01 Migration VTK7 +#if (VTK_MAJOR_VERSION <= 5) ope->SetInput1((vtkDataObject*)bbGetInputIn1()); +#endif +#if (VTK_MAJOR_VERSION >= 6) + ope->SetInput1Data((vtkDataObject*)bbGetInputIn1()); +#endif if (bbGetInputIn2() != NULL) { +//EED 2017-01-01 Migration VTK7 +#if (VTK_MAJOR_VERSION <= 5) ope->SetInput2((vtkDataObject*)bbGetInputIn2()); - - } - else - { - std::cout << "Set In2" << std::endl; +#endif +#if (VTK_MAJOR_VERSION >= 6) + ope->SetInput2Data((vtkDataObject*)bbGetInputIn2()); +#endif + + } else { + 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; - default: - std::cout << "Invalid Operation" << std::endl; - return; - break; - } - - ope->Update(); - vtkImageData* salida = ope->GetOutput(); - - bbSetOutputOut(salida); - bbSignalOutputModification(); - + + 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(); }