X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=plugins%2FMeshFilters%2FAppendMeshesFilter.cxx;h=16f1f8032b7ce8830deff0354c87b3f278bdbec4;hb=ced860e96e5d2e10481582649664505396b0054d;hp=291d9e3b18cd89c3cf2b43665c2c494e5f12e939;hpb=3393941bf8f26babc7b592db434b40c1b747a687;p=cpPlugins.git diff --git a/plugins/MeshFilters/AppendMeshesFilter.cxx b/plugins/MeshFilters/AppendMeshesFilter.cxx index 291d9e3..16f1f80 100644 --- a/plugins/MeshFilters/AppendMeshesFilter.cxx +++ b/plugins/MeshFilters/AppendMeshesFilter.cxx @@ -1,4 +1,4 @@ -#include +#include #include #include @@ -8,13 +8,10 @@ cpPluginsMeshFilters::AppendMeshesFilter:: AppendMeshesFilter( ) : Superclass( ) { - this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input0", true, false ); - this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input1", true, false ); - this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input2", false, false ); - this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input3", false, false ); - this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input4", false, false ); - this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input5", false, false ); - this->_ConfigureOutput< cpPlugins::DataObjects::Mesh >( "Output" ); + typedef cpPlugins::DataObjects::Mesh _TMesh; + + this->_ConfigureInput< _TMesh >( "Inputs", true, true ); + this->_ConfigureOutput< _TMesh >( "Output" ); } // ------------------------------------------------------------------------- @@ -27,25 +24,11 @@ cpPluginsMeshFilters::AppendMeshesFilter:: void cpPluginsMeshFilters::AppendMeshesFilter:: _GenerateData( ) { - auto m0 = this->GetInputData< vtkPolyData >( "Input0" ); - auto m1 = this->GetInputData< vtkPolyData >( "Input1" ); - auto m2 = this->GetInput( "Input2" ); - auto m3 = this->GetInput( "Input3" ); - auto m4 = this->GetInput( "Input4" ); - auto m5 = this->GetInput( "Input5" ); - - if( m0 == NULL || m1 == NULL ) - this->_Error( "Invalid inputs." ); - auto filter = this->_CreateVTK< vtkAppendPolyData >( ); - filter->AddInputData( m0 ); - filter->AddInputData( m1 ); - if( m2 != NULL ) filter->AddInputData( m2->GetVTK< vtkPolyData >( ) ); - if( m3 != NULL ) filter->AddInputData( m3->GetVTK< vtkPolyData >( ) ); - if( m4 != NULL ) filter->AddInputData( m4->GetVTK< vtkPolyData >( ) ); - if( m5 != NULL ) filter->AddInputData( m5->GetVTK< vtkPolyData >( ) ); + unsigned int nInputs = this->GetInputSize( "Inputs" ); + for( unsigned int i = 0; i < nInputs; ++i ) + filter->AddInputData( this->GetInputData< vtkPolyData >( "Inputs", i ) ); filter->Update( ); - this->GetOutput( "Output" )->SetVTK( filter->GetOutput( ) ); }