+// -------------------------------------------------------------------------
+template< class F >
+F* cpPlugins::Interface::ProcessObject::
+_CreateITK( )
+{
+ F* filter = dynamic_cast< F* >( this->m_ITKObject.GetPointer( ) );
+ if( filter == NULL )
+ {
+ typename F::Pointer ptr = F::New( );
+ this->m_ITKObject = ptr;
+ filter = ptr.GetPointer( );
+ this->m_VTKObject = NULL;
+
+ } // fi
+ return( filter );
+}
+
+// -------------------------------------------------------------------------
+template< class F >
+F* cpPlugins::Interface::ProcessObject::
+_CreateVTK( )
+{
+ F* filter = dynamic_cast< F* >( this->m_VTKObject.GetPointer( ) );
+ if( filter == NULL )
+ {
+ filter = F::New( );
+ this->m_VTKObject = filter;
+ this->m_ITKObject = NULL;
+
+ } // fi
+ return( filter );
+}
+
+// -------------------------------------------------------------------------
+template< class O >
+void cpPlugins::Interface::ProcessObject::
+_MakeOutput( const std::string& id )
+{
+ this->m_Outputs[ id ] = O::New( );
+ this->m_Outputs[ id ]->SetSource( this );
+ this->Modified( );
+}
+