)
{
-//auto start = std::chrono::high_resolution_clock::now();
-//printf("EED BlackBox::bbRecursiveExecute bbProcess start %s \n", bbGetFullName().c_str() );
-
- this->bbProcess();
+printf("EED BlackBox::bbRecursiveExecute bbProcess start %s \n", bbGetFullName().c_str() );
+auto start = std::chrono::high_resolution_clock::now();
+
+ this->bbProcess();
-//auto stop = std::chrono::high_resolution_clock::now();
-//auto duration = duration_cast<std::chrono::microseconds>(stop - start);
-//printf("EED BlackBox::bbRecursiveExecute bbProcess time= %ld %s \n", duration.count() , bbGetFullName().c_str() );
-//printf("EED BlackBox::bbRecursiveExecute bbProcess end %s \n", bbGetFullName().c_str() );
+auto stop = std::chrono::high_resolution_clock::now();
+auto duration = duration_cast<std::chrono::microseconds>(stop - start);
+printf("EED BlackBox::bbRecursiveExecute bbProcess time= %ld %s \n", duration.count() , bbGetFullName().c_str() );
+printf("EED BlackBox::bbRecursiveExecute bbProcess end %s \n", bbGetFullName().c_str() );
} // Manual analysis
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
-// INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
-// void bbSet{Input|Output}NAME(const TYPE&)
-// const TYPE& bbGet{Input|Output}NAME() const
-// Where :
-// * NAME is the name of the input/output
-// (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')
-
+ // THE MAIN PROCESSING METHOD BODY
+ // Here we simply set the input 'In' value to the output 'Out'
+ // And print out the output value
+ // INPUT/OUTPUT ACCESSORS ARE OF THE FORM :
+ // void bbSet{Input|Output}NAME(const TYPE&)
+ // const TYPE& bbGet{Input|Output}NAME() const
+ // Where :
+ // * NAME is the name of the input/output
+ // (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 (bbGetInputIn1() == NULL)
- {
- printf( "EED Warning!!! (%s) BinaryOperations::Process Set In1 at least", bbGetFullName().c_str() );
+ if (bbGetInputIn1() == NULL)
+ {
+ printf( "EED Warning!!! (%s) BinaryOperations::Process Set In1 at least", bbGetFullName().c_str() );
bbSetOutputOut(NULL);
- return;
- }
+ return;
+ }
+
+ if (ope!=NULL)
+ {
+ ope->Delete();
+ ope = NULL;
+ } // if
+ ope = vtkImageMathematics::New();
-//EED 2017-01-01 Migration VTK7
+
+ //EED 2017-01-01 Migration VTK7
#if (VTK_MAJOR_VERSION <= 5)
- ope->SetInput1((vtkDataObject*)bbGetInputIn1());
+ ope->SetInput1((vtkDataObject*)bbGetInputIn1());
#endif
#if (VTK_MAJOR_VERSION >= 6)
- ope->SetInput1Data((vtkDataObject*)bbGetInputIn1());
+ ope->SetInput1Data((vtkDataObject*)bbGetInputIn1());
#endif
-
- if (bbGetInputIn2() != NULL)
- {
-//EED 2017-01-01 Migration VTK7
+
+ if (bbGetInputIn2() != NULL)
+ {
+ //EED 2017-01-01 Migration VTK7
#if (VTK_MAJOR_VERSION <= 5)
- ope->SetInput2((vtkDataObject*)bbGetInputIn2());
+ ope->SetInput2((vtkDataObject*)bbGetInputIn2());
#endif
#if (VTK_MAJOR_VERSION >= 6)
- ope->SetInput2Data((vtkDataObject*)bbGetInputIn2());
+ ope->SetInput2Data((vtkDataObject*)bbGetInputIn2());
#endif
-
- } else {
+ } else {
printf( "EED Warning!!! (%s) BinaryOperations::Process Set In2 at least", bbGetFullName().c_str() );
bbSetOutputOut(NULL);
return;
- }
+ }
if ( (bbGetInputOperation()>=0) && (bbGetInputOperation()<=5) )
{
- switch (bbGetInputOperation())
+ switch ( bbGetInputOperation() )
{
case 0:
ope->SetOperationToAdd();
ope->Update();
bbSetOutputOut( ope->GetOutput() );
} // if operation 0..5
-
+
if ( bbGetInputOperation()==6 )
{
bbSetOutputOut( bbGetInputIn1() );
{
bbSetOutputOut( bbGetInputIn2() );
}
-
-// bbSignalOutputModification();
+ // bbSignalOutputModification();
}
void BinaryOperations::bbUserSetDefaultValues()
{
-
-// SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
-// Here we initialize the input 'In' to 0
- bbSetInputIn1(NULL);
- bbSetInputIn2(NULL);
- bbSetOutputOut(NULL);
- bbSetInputOperation(0);
- ope = vtkImageMathematics::New();
+ // SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX
+ // Here we initialize the input 'In' to 0
+ bbSetInputIn1(NULL);
+ bbSetInputIn2(NULL);
+ bbSetOutputOut(NULL);
+ bbSetInputOperation(0);
+ ope = NULL;
}
void BinaryOperations::bbUserInitializeProcessing()
{
-
-// THE INITIALIZATION METHOD BODY :
-// Here does nothing
-// but this is where you should allocate the internal/output pointers
-// if any
-
+ // THE INITIALIZATION METHOD BODY :
+ // Here does nothing
+ // but this is where you should allocate the internal/output pointers
+ // if any
}
void BinaryOperations::bbUserFinalizeProcessing()
{
-
-// THE FINALIZATION METHOD BODY :
-// Here does nothing
-// but this is where you should desallocate the internal/output pointers
-// if any
-
+ // THE FINALIZATION METHOD BODY :
+ // Here does nothing
+ // but this is where you should desallocate the internal/output pointers
+ // if any
}
-}
-// EO namespace bbvtk
+
+}// EO namespace bbvtk