+void cpPlugins::ProcessObject::
+SetInput( const std::string& name, cpPlugins::DataObject* data )
+{
+ TInputs::iterator i = this->m_Inputs.find( name );
+ if( i != this->m_Inputs.end( ) )
+ {
+ if( !( i->second.Set( data ) ) )
+ cpPluginsErrorMacro(
+ this, << "Input \"" << name << "\" does not match to input data."
+ );
+ }
+ else
+ cpPluginsErrorMacro(
+ this, << "Input \"" << name << "\" does not belong to this filter."
+ );
+}
+
+// -------------------------------------------------------------------------
+cpPlugins::DataObject* cpPlugins::ProcessObject::
+GetInput( const std::string& name, const unsigned int id )
+{
+ TInputs::iterator i = this->m_Inputs.find( name );
+ if( i != this->m_Inputs.end( ) )
+ {
+ if( id < i->second.Count( ) )
+ return( i->second.Get( id ) );
+ else
+ cpPluginsErrorMacro(
+ this, << "Input \"" << name << "\" does have enough inputs."
+ );
+ }
+ else
+ cpPluginsErrorMacro(
+ this, << "Input \"" << name << "\" does not belong to this filter."
+ );
+}
+
+// -------------------------------------------------------------------------
+const cpPlugins::DataObject* cpPlugins::ProcessObject::
+GetInput( const std::string& name, const unsigned int id ) const
+{
+ TInputs::const_iterator i = this->m_Inputs.find( name );
+ if( i != this->m_Inputs.end( ) )
+ {
+ if( id < i->second.Count( ) )
+ return( i->second.Get( id ) );
+ else
+ cpPluginsErrorMacro(
+ this, << "Input \"" << name << "\" does have enough inputs."
+ );
+ }
+ else
+ cpPluginsErrorMacro(
+ this, << "Input \"" << name << "\" does not belong to this filter."
+ );
+}
+
+// -------------------------------------------------------------------------
+bool cpPlugins::ProcessObject::
+HasInput( const std::string& name ) const