#ifndef __CPPLUGINS__PROCESSOBJECT__HXX__ #define __CPPLUGINS__PROCESSOBJECT__HXX__ // ------------------------------------------------------------------------- template< class O > void cpPlugins::ProcessObject:: _AddOutput( const std::string& name ) { auto i = this->m_Outputs.find( name ); if( i == this->m_Outputs.end( ) ) { typename O::Pointer o = O::New( ); o->SetSource( this ); this->m_Outputs[ name ] = o; this->Modified( ); } // fi } // ------------------------------------------------------------------------- template< class F > F* cpPlugins::ProcessObject:: _CreateITK( ) { F* filter = this->GetITK< F >( ); if( filter == NULL ) { typename F::Pointer filter_ptr = F::New( ); this->m_ITKObject = filter_ptr; this->m_VTKObject = NULL; filter = filter_ptr.GetPointer( ); this->Modified( ); } // fi return( filter ); } // ------------------------------------------------------------------------- template< class F > F* cpPlugins::ProcessObject:: _CreateVTK( ) { F* filter = this->GetVTK< F >( ); if( filter == NULL ) { vtkSmartPointer< F > filter_ptr = vtkSmartPointer< F >::New( ); this->m_ITKObject = NULL; this->m_VTKObject = filter_ptr; filter = filter_ptr.GetPointer( ); this->Modified( ); } // fi return( filter ); } #endif // __CPPLUGINS__PROCESSOBJECT__HXX__ // eof - $RCSfile$