// -------------------------------------------------------------------------
template< class T >
T* cpPlugins::Interface::ProcessObject::
-GetInput( const std::string& id )
+GetInputData( const std::string& id )
{
_TDataContainer::iterator i = this->m_Inputs.find( id );
if( i != this->m_Inputs.end( ) )
- return( dynamic_cast< T* >( i->second.GetPointer( ) ) );
+ return( dynamic_cast< T* >( i->second->GetPointer( ) ) );
else
return( NULL );
}
// -------------------------------------------------------------------------
template< class T >
const T* cpPlugins::Interface::ProcessObject::
-GetInput( const std::string& id ) const
+GetInputData( const std::string& id ) const
{
_TDataContainer::const_iterator i = this->m_Inputs.find( id );
if( i != this->m_Inputs.end( ) )
- return( dynamic_cast< const T* >( i->second.GetPointer( ) ) );
+ return( dynamic_cast< const T* >( i->second->GetPointer( ) ) );
else
return( NULL );
}
// -------------------------------------------------------------------------
template< class T >
T* cpPlugins::Interface::ProcessObject::
-GetOutput( const std::string& id )
+GetOutputData( const std::string& id )
{
_TDataContainer::iterator i = this->m_Outputs.find( id );
if( i != this->m_Outputs.end( ) )
- return( dynamic_cast< T* >( i->second.GetPointer( ) ) );
+ return( dynamic_cast< T* >( i->second->GetPointer( ) ) );
else
return( NULL );
}
// -------------------------------------------------------------------------
template< class T >
const T* cpPlugins::Interface::ProcessObject::
-GetOutput( const std::string& id ) const
+GetOutputData( const std::string& id ) const
{
_TDataContainer::const_iterator i = this->m_Outputs.find( id );
if( i != this->m_Outputs.end( ) )
- return( dynamic_cast< const T* >( i->second.GetPointer( ) ) );
+ return( dynamic_cast< const T* >( i->second->GetPointer( ) ) );
else
return( NULL );
}
void cpPlugins::Interface::ProcessObject::
_AddOutput( const std::string& id )
{
- this->m_Outputs[ id ] = O::New( );
- this->m_Outputs[ id ]->SetSource( this );
+ auto oIt = this->m_Outputs.find( id );
+ if( oIt == this->m_Outputs.end( ) )
+ {
+ this->m_Outputs[ id ] = new DataObject::Pointer( );
+ oIt = this->m_Outputs.find( id );
+
+ } // fi
+ *( oIt->second ) = O::New( );
+ ( *( oIt->second ) )->SetSource( this );
this->Modified( );
}