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