X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=lib%2FcpPlugins%2FProcessObject.h;h=1f888a9db864f9efcdbba1e48e3cefdf1489a43d;hb=00d030e4e10fea579b427297027e3ac37ff960b6;hp=6801fc2f0b7f886139248b6b2e12700ea7a9304e;hpb=1c379997a70fe6d83260ea9a7aa70748a84cedfa;p=cpPlugins.git diff --git a/lib/cpPlugins/ProcessObject.h b/lib/cpPlugins/ProcessObject.h index 6801fc2..1f888a9 100644 --- a/lib/cpPlugins/ProcessObject.h +++ b/lib/cpPlugins/ProcessObject.h @@ -24,6 +24,12 @@ namespace cpPlugins itkTypeMacro( ProcessObject, Object ); cpPlugins_Id_Macro( ProcessObject, Object ); + itkBooleanMacro( PrintExecution ); + itkGetConstMacro( LastExecutionSpan, long ); + itkGetConstMacro( PrintExecution, bool ); + itkSetMacro( PrintExecution, bool ); + itkSetObjectMacro( PrintExecutionStream, std::ofstream ); + public: Parameters* GetParameters( ); const Parameters* GetParameters( ) const; @@ -37,23 +43,30 @@ namespace cpPlugins unsigned int GetNumberOfInputs( ) const; unsigned int GetNumberOfOutputs( ) const; - OutputPort& GetOutput( const std::string& id ); - const OutputPort& GetOutput( const std::string& id ) const; + OutputPort& GetOutputPort( const std::string& id ); + const OutputPort& GetOutputPort( const std::string& id ) const; + + DataObject* GetInput( const std::string& id ); + const DataObject* GetInput( const std::string& id ) const; + DataObject* GetOutput( const std::string& id ); + const DataObject* GetOutput( const std::string& id ) const; - DataObject* GetInputData( const std::string& id ); - const DataObject* GetInputData( const std::string& id ) const; - DataObject* GetOutputData( const std::string& id ); - const DataObject* GetOutputData( const std::string& id ) const; + template< class _TType > + _TType* GetInputData( const std::string& name ); - bool SetInput( const std::string& id, const OutputPort& port ); + template< class _TType > + _TType* GetOutputData( const std::string& name ); + + bool SetInputPort( const std::string& id, const OutputPort& port ); void DisconnectInputs( ); void DisconnectOutputs( ); void Disconnect( ); // Pipeline execution + virtual void Modified( ) const ITK_OVERRIDE; virtual itk::ModifiedTimeType GetMTime( ) const ITK_OVERRIDE; - virtual std::string Update( ); + virtual void Update( ); // Qt dialog creation virtual ParametersQtDialog* CreateQtDialog( ); @@ -65,6 +78,7 @@ namespace cpPlugins virtual ~ProcessObject( ); void _AddInput( const std::string& name, bool required = true ); + void _Error( const std::string& error ); template< class O > inline void _AddOutput( const std::string& name ); @@ -74,7 +88,7 @@ namespace cpPlugins template< class F > inline F* _CreateVTK( ); - virtual std::string _GenerateData( ) = 0; + virtual void _GenerateData( ) = 0; private: // Purposely not implemented @@ -90,6 +104,10 @@ namespace cpPlugins _TOutputs m_Outputs; itk::ModifiedTimeType m_LastExecutionTime; + mutable long m_LastExecutionSpan; + + bool m_PrintExecution; + std::ostream* m_PrintExecutionStream; }; } // ecapseman