]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/ProcessObject.h
...
[cpPlugins.git] / lib / cpPlugins / Interface / ProcessObject.h
index b9deb925802afd32f701699b414c0c451183fe46..ec6cb2a53bb7a69fe96d3d166691f2ec8d58666c 100644 (file)
@@ -61,7 +61,7 @@ namespace cpPlugins
       unsigned int GetNumberOfInputs( ) const;
       unsigned int GetNumberOfOutputs( ) const;
 
-      virtual bool SetInput( const std::string& id, DataObject* dobj );
+      virtual bool SetInput( const std::string& id, DataObject::Pointer* dobj );
 
       virtual std::string Update( );
       virtual void DisconnectOutputs( );
@@ -76,16 +76,34 @@ namespace cpPlugins
       virtual bool ExecConfigurationDialog( QWidget* parent );
 
       template< class T >
-        inline T* GetInput( const std::string& id );
+        inline T* GetInputData( const std::string& id );
 
       template< class T >
-        inline const T* GetInput( const std::string& id ) const;
+        inline const T* GetInputData( const std::string& id ) const;
 
       template< class T >
-        inline T* GetOutput( const std::string& id );
+        inline T* GetOutputData( const std::string& id );
 
       template< class T >
-        inline const T* GetOutput( const std::string& id ) const;
+        inline const T* GetOutputData( const std::string& id ) const;
+
+      DataObject::Pointer* GetOutputPort( const std::string& id )
+      {
+        auto i = this->m_Outputs.find( id );
+        if( i != this->m_Outputs.end( ) )
+          return( i->second );
+        else
+          return( NULL );
+      }
+
+      const DataObject::Pointer* GetOutputPort( const std::string& id ) const
+      {
+        auto i = this->m_Outputs.find( id );
+        if( i != this->m_Outputs.end( ) )
+          return( i->second );
+        else
+          return( NULL );
+      }
 
     protected:
       ProcessObject( );
@@ -117,7 +135,7 @@ namespace cpPlugins
       SimpleMPRWidget*                             m_MPRViewer;
       bool                                         m_Interactive;
 
-      typedef std::map< std::string, DataObject::Pointer > _TDataContainer;
+      typedef std::map< std::string, DataObject::Pointer* > _TDataContainer;
       _TDataContainer m_Inputs;
       _TDataContainer m_Outputs;
     };