]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/BaseObjects/ProcessObject.h
...
[cpPlugins.git] / lib / cpPlugins / BaseObjects / ProcessObject.h
index 8d7536c4b75ea3145904ea61a6c7450d60b5190c..ce5c5a6ab24a3de6ededc139be98d75eef0648e1 100644 (file)
@@ -31,75 +31,80 @@ namespace cpPlugins
       cpPlugins_Id_Macro( ProcessObject, Object );
 
       itkBooleanMacro( ExplicitExecution );
-      itkBooleanMacro( PrintExecution );
 
       itkGetStringMacro( Name );
       itkGetStringMacro( PluginName );
       itkGetConstMacro( ExplicitExecution, bool );
       itkGetConstMacro( LastExecutionSpan, long );
-      itkGetConstMacro( PrintExecution, bool );
 
       itkSetStringMacro( Name );
       itkSetStringMacro( PluginName );
       itkSetMacro( ExplicitExecution, bool );
-      itkSetMacro( PrintExecution, bool );
-      itkSetObjectMacro( PrintExecutionStream, std::ofstream );
 
     public:
+      void PrintExecutionOn( );
+      void PrintExecutionOff( );
+      bool GetPrintExecution( ) const;
+      bool SetPrintExecution( bool v );
+      void SetPrintExecutionStream( std::ofstream* s );
+
       Parameters* GetParameters( );
       const Parameters* GetParameters( ) const;
 
-      virtual void SetITK( itk::LightObject* o ) final;
-      virtual void SetVTK( vtkObjectBase* o ) final;
+      virtual void SetITK( itk::LightObject* o );
+      virtual void SetVTK( vtkObjectBase* o );
 
       // "Getters"
       std::set< std::string > GetInputsNames( ) const;
       std::set< std::string > GetOutputsNames( ) const;
+      bool HasInput( const std::string& n ) const;
+      bool HasOutput( const std::string& n ) const;
 
       unsigned int GetNumberOfInputs( ) const;
       unsigned int GetNumberOfOutputs( ) const;
       unsigned int GetInputSize( const std::string& n ) const;
+      bool IsInputMultiple( const std::string& n ) const;
 
       template< class _TType = DataObject >
-        _TType* GetInput( const std::string& n, unsigned int i = 0 );
+      inline _TType* GetInput( const std::string& n, unsigned int i = 0 );
 
       template< class _TType = DataObject >
-        const _TType* GetInput(
-          const std::string& n, unsigned int i = 0
-          ) const;
+      inline const _TType* GetInput(
+        const std::string& n, unsigned int i = 0
+        ) const;
 
       template< class _TType = itk::LightObject >
-        _TType* GetInputData( const std::string& n, unsigned int i = 0 );
+      inline _TType* GetInputData( const std::string& n, unsigned int i = 0 );
 
       template< class _TType = itk::LightObject >
-        const _TType* GetInputData(
-          const std::string& n, unsigned int i = 0
-          ) const;
+      inline const _TType* GetInputData(
+        const std::string& n, unsigned int i = 0
+        ) const;
 
       template< class _TType = DataObject >
-        _TType* GetOutput( const std::string& n );
+      inline _TType* GetOutput( const std::string& n );
 
       template< class _TType = DataObject >
-        const _TType* GetOutput( const std::string& n ) const;
+      inline const _TType* GetOutput( const std::string& n ) const;
 
       template< class _TType = itk::LightObject >
-        _TType* GetOutputData( const std::string& n );
+      inline _TType* GetOutputData( const std::string& n );
 
       template< class _TType = itk::LightObject >
-        const _TType* GetOutputData( const std::string& n ) const;
+      inline const _TType* GetOutputData( const std::string& n ) const;
 
       // "Setters"
       virtual void AddInput( const std::string& n, DataObject* o );
       virtual void SetInput( const std::string& n, DataObject* o );
 
       // Other interesting methods
+      void DisconnectInput( const std::string& n, unsigned int id );
       void DisconnectInputs( );
       void DisconnectOutputs( );
       void Disconnect( );
 
       // Pipeline execution
       virtual void Modified( ) const cpPlugins_OVERRIDE;
-      virtual itk::ModifiedTimeType GetMTime( ) const cpPlugins_OVERRIDE;
       virtual void Update( );
 
       // Qt dialog creation
@@ -116,18 +121,18 @@ namespace cpPlugins
 
       // For configuration purposes
       template< class _TType = DataObject >
-        void _ConfigureInput(
-          const std::string& name, bool required, bool multiple
-          );
+      inline void _ConfigureInput(
+        const std::string& name, bool required, bool multiple
+        );
 
       template< class _TType = DataObject >
-        void _ConfigureOutput( const std::string& name );
+      inline void _ConfigureOutput( const std::string& name );
 
       template< class _TFilter >
-        _TFilter* _CreateITK( );
+      inline _TFilter* _CreateITK( );
 
       template< class _TFilter >
-        _TFilter* _CreateVTK( );
+      inline _TFilter* _CreateVTK( );
 
       virtual void _GenerateData( ) = 0;
 
@@ -150,16 +155,6 @@ namespace cpPlugins
 
       bool m_PrintExecution;
       std::ostream* m_PrintExecutionStream;
-
-      typedef vtkSmartPointer< vtkRenderWindowInteractor > _TInteractor;
-      struct _TInteractorCmp
-      {
-        bool operator()(
-          const _TInteractor& a, const _TInteractor& b
-          ) const
-          { return( a.GetPointer( ) < b.GetPointer( ) ); }
-      };
-      std::set< _TInteractor, _TInteractorCmp > m_Interactors;
     };
 
   } // ecapseman