]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/ProcessObject.h
MAC compilation issues solved... Now some tests please
[cpPlugins.git] / lib / cpPlugins / Interface / ProcessObject.h
index e99e8fce440715735c5bf6f53f684b8f82bf231f..e139c994d5e86f9107963ae6acea31fcd626d564 100644 (file)
@@ -55,14 +55,17 @@ namespace cpPlugins
       itkSetObjectMacro( MPRViewer, SimpleMPRWidget );
 
     public:
+      virtual void SetITK( itk::LightObject* o );
+      virtual void SetVTK( vtkObjectBase* o );
+
       // IO management
       std::set< std::string > GetInputsNames( ) const;
       std::set< std::string > GetOutputsNames( ) const;
       unsigned int GetNumberOfInputs( ) const;
       unsigned int GetNumberOfOutputs( ) const;
 
-      ProcessObjectPort& GetOutput( const std::string& id );
-      const ProcessObjectPort& GetOutput( const std::string& id ) const;
+      OutputProcessObjectPort& GetOutput( const std::string& id );
+      const OutputProcessObjectPort& GetOutput( const std::string& id ) const;
 
       template< class T >
         inline T* GetInputData( const std::string& id );
@@ -73,7 +76,9 @@ namespace cpPlugins
       template< class T >
         inline const T* GetOutputData( const std::string& id ) const;
 
-      bool SetInput( const std::string& id, const ProcessObjectPort& port );
+      bool SetInput(
+        const std::string& id, const OutputProcessObjectPort& port
+        );
 
       void DisconnectInputs( );
       void DisconnectOutputs( );
@@ -87,7 +92,7 @@ namespace cpPlugins
       ProcessObject( );
       virtual ~ProcessObject( );
 
-      void _AddInput( const std::string& name, bool required );
+      void _AddInput( const std::string& name, bool required = true );
       template< class O >
         inline void _AddOutput( const std::string& name );
       template< class F >
@@ -103,9 +108,10 @@ namespace cpPlugins
       Self& operator=( const Self& );
 
     protected:
-      typedef std::map< std::string, ProcessObjectPort > _TDataContainer;
-      _TDataContainer     m_Inputs;
-      _TDataContainer     m_Outputs;
+      typedef std::map< std::string, InputProcessObjectPort >  _TInputs;
+      typedef std::map< std::string, OutputProcessObjectPort > _TOutputs;
+      _TInputs  m_Inputs;
+      _TOutputs m_Outputs;
       Parameters::Pointer m_Parameters;
 
       itk::ModifiedTimeType m_LastExecutionTime;