]> Creatis software - cpPlugins.git/blob - plugins/MeshFilters/AppendMeshesFilter.cxx
291d9e3b18cd89c3cf2b43665c2c494e5f12e939
[cpPlugins.git] / plugins / MeshFilters / AppendMeshesFilter.cxx
1 #include <plugins/MeshFilters/AppendMeshesFilter.h>
2 #include <cpPlugins/DataObjects/Mesh.h>
3
4 #include <vtkAppendPolyData.h>
5
6 // -------------------------------------------------------------------------
7 cpPluginsMeshFilters::AppendMeshesFilter::
8 AppendMeshesFilter( )
9   : Superclass( )
10 {
11   this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input0", true, false );
12   this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input1", true, false );
13   this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input2", false, false );
14   this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input3", false, false );
15   this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input4", false, false );
16   this->_ConfigureInput< cpPlugins::DataObjects::Mesh >( "Input5", false, false );
17   this->_ConfigureOutput< cpPlugins::DataObjects::Mesh >( "Output" );
18 }
19
20 // -------------------------------------------------------------------------
21 cpPluginsMeshFilters::AppendMeshesFilter::
22 ~AppendMeshesFilter( )
23 {
24 }
25
26 // -------------------------------------------------------------------------
27 void cpPluginsMeshFilters::AppendMeshesFilter::
28 _GenerateData( )
29 {
30   auto m0 = this->GetInputData< vtkPolyData >( "Input0" );
31   auto m1 = this->GetInputData< vtkPolyData >( "Input1" );
32   auto m2 = this->GetInput( "Input2" );
33   auto m3 = this->GetInput( "Input3" );
34   auto m4 = this->GetInput( "Input4" );
35   auto m5 = this->GetInput( "Input5" );
36
37   if( m0 == NULL || m1 == NULL )
38     this->_Error( "Invalid inputs." );
39
40   auto filter = this->_CreateVTK< vtkAppendPolyData >( );
41   filter->AddInputData( m0 );
42   filter->AddInputData( m1 );
43   if( m2 != NULL ) filter->AddInputData( m2->GetVTK< vtkPolyData >( ) );
44   if( m3 != NULL ) filter->AddInputData( m3->GetVTK< vtkPolyData >( ) );
45   if( m4 != NULL ) filter->AddInputData( m4->GetVTK< vtkPolyData >( ) );
46   if( m5 != NULL ) filter->AddInputData( m5->GetVTK< vtkPolyData >( ) );
47   filter->Update( );
48
49   this->GetOutput( "Output" )->SetVTK( filter->GetOutput( ) );
50 }
51
52 // eof - $RCSfile$