1 #ifndef __CPPLUGINS__PROCESSOBJECT__HXX__
2 #define __CPPLUGINS__PROCESSOBJECT__HXX__
4 // -------------------------------------------------------------------------
5 template< class _TType >
6 _TType* cpPlugins::ProcessObject::
7 GetOutput( const std::string& id )
9 auto i = this->m_Outputs.find( id );
10 if( i != this->m_Outputs.end( ) )
11 return( dynamic_cast< _TType* >( i->second.GetPointer( ) ) );
16 // -------------------------------------------------------------------------
17 template< class _TType >
18 const _TType* cpPlugins::ProcessObject::
19 GetOutput( const std::string& id ) const
21 auto i = this->m_Outputs.find( id );
22 if( i != this->m_Outputs.end( ) )
23 return( dynamic_cast< const _TType* >( i->second.GetPointer( ) ) );
28 // -------------------------------------------------------------------------
29 template< class _TType >
30 _TType* cpPlugins::ProcessObject::
31 GetInputData( const std::string& name )
33 auto in = this->GetInput( name );
36 auto i = in->GetITK< _TType >( );
37 auto v = in->GetVTK< _TType >( );
38 if ( i != NULL ) return( i );
39 else if( v != NULL ) return( v );
46 // -------------------------------------------------------------------------
47 template< class _TType >
48 _TType* cpPlugins::ProcessObject::
49 GetOutputData( const std::string& name )
51 auto out = this->GetOutput( name );
54 auto i = out->GetITK< _TType >( );
55 auto v = out->GetVTK< _TType >( );
56 if ( i != NULL ) return( i );
57 else if( v != NULL ) return( v );
64 // -------------------------------------------------------------------------
66 void cpPlugins::ProcessObject::
67 _AddOutput( const std::string& name )
69 auto i = this->m_Outputs.find( name );
70 if( i == this->m_Outputs.end( ) )
72 typename O::Pointer o = O::New( );
74 this->m_Outputs[ name ] = o;
80 // -------------------------------------------------------------------------
82 F* cpPlugins::ProcessObject::
85 F* filter = this->GetITK< F >( );
88 typename F::Pointer filter_ptr = F::New( );
89 this->m_ITKObject = filter_ptr;
90 this->m_VTKObject = NULL;
91 filter = filter_ptr.GetPointer( );
98 // -------------------------------------------------------------------------
100 F* cpPlugins::ProcessObject::
103 F* filter = this->GetVTK< F >( );
106 vtkSmartPointer< F > filter_ptr = vtkSmartPointer< F >::New( );
107 this->m_ITKObject = NULL;
108 this->m_VTKObject = filter_ptr;
109 filter = filter_ptr.GetPointer( );
116 #endif // __CPPLUGINS__PROCESSOBJECT__HXX__