X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FcpPlugins%2FInterface%2FProcessObject.h;h=e139c994d5e86f9107963ae6acea31fcd626d564;hb=6ffc11d77924d6ab7e94db95d41105982ac73e00;hp=e99e8fce440715735c5bf6f53f684b8f82bf231f;hpb=0d184ef7119178103610ad9e9fab83760cb89e06;p=cpPlugins.git diff --git a/lib/cpPlugins/Interface/ProcessObject.h b/lib/cpPlugins/Interface/ProcessObject.h index e99e8fc..e139c99 100644 --- a/lib/cpPlugins/Interface/ProcessObject.h +++ b/lib/cpPlugins/Interface/ProcessObject.h @@ -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;