+// -------------------------------------------------------------------------
+template< class T >
+T* cpPlugins::Interface::ProcessObject::
+GetInput( unsigned int idx )
+{
+ if( idx < this->m_Inputs.size( ) )
+ return( dynamic_cast< T* >( this->m_Inputs[ idx ].GetPointer( ) ) );
+ else
+ return( NULL );
+}
+
+// -------------------------------------------------------------------------
+template< class T >
+const T* cpPlugins::Interface::ProcessObject::
+GetInput( unsigned int idx ) const
+{
+ if( idx < this->m_Inputs.size( ) )
+ return(
+ dynamic_cast< const T* >( this->m_Inputs[ idx ].GetPointer( ) )
+ );
+ else
+ return( NULL );
+}
+
+// -------------------------------------------------------------------------
+template< class T >
+T* cpPlugins::Interface::ProcessObject::
+GetOutput( unsigned int idx )
+{
+ if( idx < this->m_Outputs.size( ) )
+ return( dynamic_cast< T* >( this->m_Outputs[ idx ].GetPointer( ) ) );
+ else
+ return( NULL );
+}
+
+// -------------------------------------------------------------------------
+template< class T >
+const T* cpPlugins::Interface::ProcessObject::
+GetOutput( unsigned int idx ) const
+{
+ if( idx < this->m_Outputs.size( ) )
+ return(
+ dynamic_cast< const T* >( this->m_Outputs[ idx ].GetPointer( ) )
+ );
+ else
+ return( NULL );
+}
+