]> Creatis software - cpPlugins.git/blobdiff - lib/cpPlugins/Interface/Object.h
...
[cpPlugins.git] / lib / cpPlugins / Interface / Object.h
index 345be7f9cb8a9733bb2eb40636e9643e16c1b99c..0adfa8e9ab62a323ffd148eac2ef1e52f9c6060e 100644 (file)
@@ -4,9 +4,13 @@
 #include <cpPlugins/Interface/Macros.h>
 
 #include <string>
+
 #include <itkObject.h>
 #include <itkObjectFactory.h>
 
+#include <vtkSmartPointer.h>
+#include <vtkObjectBase.h>
+
 namespace cpPlugins
 {
   namespace Interface
@@ -36,11 +40,20 @@ namespace cpPlugins
       itkSetMacro( ViewY, float );
 
     public:
-      inline float SetViewCoords( float x, float y )
-        {
-          this->SetViewX( x );
-          this->SetViewY( y );
-        }
+      virtual void Modified( ) const;
+      float SetViewCoords( float x, float y );
+
+      template< class T >
+        inline T* GetITK( );
+
+      template< class T >
+        inline const T* GetITK( ) const;
+
+      template< class T >
+        inline T* GetVTK( );
+
+      template< class T >
+        inline const T* GetVTK( ) const;
 
     protected:
       Object( );
@@ -52,14 +65,20 @@ namespace cpPlugins
       Self& operator=( const Self& );
 
     protected:
-      std::string m_Name;
-      float m_ViewX, m_ViewY;
+      itk::LightObject::Pointer        m_ITKObject;
+      vtkSmartPointer< vtkObjectBase > m_VTKObject;
+      std::string                      m_Name;
+
+      float m_ViewX;
+      float m_ViewY;
     };
 
   } // ecapseman
 
 } // ecapseman
 
+#include <cpPlugins/Interface/Object.hxx>
+
 #endif // __CPPLUGINS__INTERFACE__OBJECT__H__
 
 // eof - $RCSfile$