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