- if (bbGetInputComponent0()!=-1)
- {
-//EED 2017-01-01 Migration VTK7
-#if VTK_MAJOR_VERSION <= 5
- IEC0->SetInput( bbGetInputIn() );
-#else
- IEC0->SetInputData( bbGetInputIn() );
-#endif
- IEC0->SetComponents( bbGetInputComponent0() );
- IEC0->Update();
- bbSetOutputOut0( IEC0->GetOutput() );
- }
-
- if (bbGetInputComponent1()!=-1)
- {
-//EED 2017-01-01 Migration VTK7
-#if VTK_MAJOR_VERSION <= 5
- IEC1->SetInput( bbGetInputIn() );
-#else
- IEC1->SetInputData( bbGetInputIn() );
-#endif
- IEC1->SetComponents( bbGetInputComponent1() );
- IEC1->Update();
- bbSetOutputOut1( IEC1->GetOutput() );
- }
-
- if (bbGetInputComponent2()!=-1)
- {
-//EED 2017-01-01 Migration VTK7
-#if VTK_MAJOR_VERSION <= 5
- IEC2->SetInput( bbGetInputIn() );
-#else
- IEC2->SetInputData( bbGetInputIn() );
-#endif
- IEC2->SetComponents( bbGetInputComponent2() );
- IEC2->Update();
- bbSetOutputOut2( IEC2->GetOutput() );
- }
-
- if (bbGetInputComponent3()!=-1)
- {
-
-//EED 2017-01-01 Migration VTK7
-#if VTK_MAJOR_VERSION <= 5
- IEC3->SetInput( bbGetInputIn() );
-#else
- IEC3->SetInputData( bbGetInputIn() );
-#endif
- IEC3->SetComponents( bbGetInputComponent2() );
- IEC3->Update();
- bbSetOutputOut3( IEC3->GetOutput() );
- }
-
-
+// InputComponent 0..3
+ if (bbGetInputType()==0)
+ {
+
+ if (bbGetInputComponent0()!=-1)
+ {
+ //EED 2017-01-01 Migration VTK7
+ #if VTK_MAJOR_VERSION <= 5
+ IEC0->SetInput( bbGetInputIn() );
+ #else
+ IEC0->SetInputData( bbGetInputIn() );
+ #endif
+ IEC0->SetComponents( bbGetInputComponent0() );
+ IEC0->Update();
+ bbSetOutputOut0( IEC0->GetOutput() );
+ }
+
+ if (bbGetInputComponent1()!=-1)
+ {
+ //EED 2017-01-01 Migration VTK7
+ #if VTK_MAJOR_VERSION <= 5
+ IEC1->SetInput( bbGetInputIn() );
+ #else
+ IEC1->SetInputData( bbGetInputIn() );
+ #endif
+ IEC1->SetComponents( bbGetInputComponent1() );
+ IEC1->Update();
+ bbSetOutputOut1( IEC1->GetOutput() );
+ }
+
+ if (bbGetInputComponent2()!=-1)
+ {
+ //EED 2017-01-01 Migration VTK7
+ #if VTK_MAJOR_VERSION <= 5
+ IEC2->SetInput( bbGetInputIn() );
+ #else
+ IEC2->SetInputData( bbGetInputIn() );
+ #endif
+ IEC2->SetComponents( bbGetInputComponent2() );
+ IEC2->Update();
+ bbSetOutputOut2( IEC2->GetOutput() );
+ }
+
+ if (bbGetInputComponent3()!=-1)
+ {
+ //EED 2017-01-01 Migration VTK7
+ #if VTK_MAJOR_VERSION <= 5
+ IEC3->SetInput( bbGetInputIn() );
+ #else
+ IEC3->SetInputData( bbGetInputIn() );
+ #endif
+ IEC3->SetComponents( bbGetInputComponent2() );
+ IEC3->Update();
+ bbSetOutputOut3( IEC3->GetOutput() );
+ }
+ } // Type 0
+
+// List of components
+ if (bbGetInputType()==1)
+ {
+ int i,size=lstIEC.size();
+ for (i=0; i<size; i++)
+ {
+ lstIEC[i]->Delete();
+ } // for i
+ lstIEC.clear();
+ lstOut.clear();
+ int nrCmp = bbGetInputIn()->GetNumberOfScalarComponents();
+ for (i=0; i<nrCmp; i++)
+ {
+ vtkImageExtractComponents* IEC;
+ IEC=vtkImageExtractComponents::New();
+ IEC->SetInputData( bbGetInputIn() );
+ IEC->SetComponents( i );
+ IEC->Update();
+ lstIEC.push_back( IEC);
+ lstOut.push_back( IEC->GetOutput() );
+ } // for i
+ bbSetOutputLstOut( lstOut );
+ } // Type 1