]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/ProcessObject.h
More on graph editor
[cpPlugins.git] / lib / cpPlugins / Interface / ProcessObject.h
index 43533f5cda030a1e969f92d05a25e358650a6078..b6cf116e680d730dd7e35632673b64f6e1c2f1f8 100644 (file)
@@ -1,15 +1,8 @@
 #ifndef __CPPLUGINS__INTERFACE__PROCESSOBJECT__H__
 #define __CPPLUGINS__INTERFACE__PROCESSOBJECT__H__
 
-/*
-  #include <cpPlugins/Interface/cpPlugins_Interface_Export.h>
+#include <set>
 
-  #include <map>
-  #include <vector>
-
-  #include <cpPlugins/Interface/Config.h>
-  #include <cpPlugins/Interface/DataObject.h>
-*/
 #include <cpPlugins/Interface/DataObject.h>
 #include <cpPlugins/Interface/Parameters.h>
 
@@ -49,6 +42,7 @@ namespace cpPlugins
       typedef itk::SmartPointer< const Self > ConstPointer;
 
       typedef Parameters TParameters;
+      typedef std::set< vtkRenderWindowInteractor* > TInteractors;
 
       enum DialogResult
       {
@@ -59,7 +53,7 @@ namespace cpPlugins
 
     public:
       itkTypeMacro( ProcessObject, Object );
-      cpPlugins_Id_Macro( ProcessObject, "BaseObject" );
+      cpPlugins_Id_Macro( ProcessObject, BaseObject );
 
       itkBooleanMacro( Interactive );
 
@@ -76,8 +70,15 @@ namespace cpPlugins
       // To impact pipeline
       virtual void Modified( ) const;
 
-      virtual std::vector< std::string > GetInputsNames( ) const;
-      virtual std::vector< std::string > GetOutputsNames( ) const;
+      virtual void GetInputsNames( std::set< std::string >& names ) const;
+      virtual void GetOutputsNames( std::set< std::string >& names ) const;
+      unsigned int GetNumberOfInputs( ) const;
+      unsigned int GetNumberOfOutputs( ) const;
+
+      virtual bool SetOutputObjectName(
+        const std::string& new_object_name,
+        const std::string& output_name
+        );
 
       virtual void SetInput( const std::string& id, DataObject* dobj );
 
@@ -139,12 +140,14 @@ namespace cpPlugins
 
       Parameters::Pointer m_Parameters;
       ParametersQtDialog* m_ParametersDialog;
+      TInteractors        m_Interactors;
       Plugins* m_Plugins;
       bool m_Interactive;
 
       typedef std::map< std::string, DataObject::Pointer > _TDataContainer;
       _TDataContainer m_Inputs;
       _TDataContainer m_Outputs;
+      std::map< std::string, std::string > m_OutputObjectsNames;
     };
 
     /**