]> Creatis software - cpPlugins.git/blob - lib/cpPlugins/Interface/DataObject.h
Basic IO architecture within itk-based pipelines
[cpPlugins.git] / lib / cpPlugins / Interface / DataObject.h
1 #ifndef __CPPLUGINS__INTERFACE__DATAOBJECT__H__
2 #define __CPPLUGINS__INTERFACE__DATAOBJECT__H__
3
4 #include <map>
5 #include <string>
6 #include <itkDataObject.h>
7 #include <cpPlugins/Interface/Object.h>
8
9 namespace cpPlugins
10 {
11   namespace Interface
12   {
13     class ProcessObject;
14
15     /**
16      */
17     class DataObject
18       : public Object
19     {
20     public:
21       typedef DataObject Self;
22       typedef Object     Superclass;
23
24     public:
25       DataObject( );
26       virtual ~DataObject( );
27
28       virtual std::string GetClassName( ) const;
29
30       itk::DataObject* GetDataObject( ) const;
31       virtual void SetDataObject( itk::DataObject* src );
32
33       ProcessObject* GetSource( ) const;
34       void SetSource( ProcessObject* src );
35
36     protected:
37       itk::DataObject::Pointer m_DataObject;
38       ProcessObject*           m_Source;
39     };
40
41   } // ecapseman
42
43 } // ecapseman
44
45 #endif // __CPPLUGINS__INTERFACE__DATAOBJECT__H__
46
47 // eof - $RCSfile$