1 #ifndef __CPPLUGINS__INTERFACE__OBJECT__H__
2 #define __CPPLUGINS__INTERFACE__OBJECT__H__
4 #include <cpPlugins/Interface/Macros.h>
9 #include <itkObjectFactory.h>
11 #include <vtkSmartPointer.h>
12 #include <vtkObjectBase.h>
20 class cpPlugins_Interface_EXPORT Object
25 typedef itk::Object Superclass;
26 typedef itk::SmartPointer< Self > Pointer;
27 typedef itk::SmartPointer< const Self > ConstPointer;
31 itkTypeMacro( Object, itkObject );
32 cpPlugins_Id_Macro( Object, BaseObject );
34 itkGetStringMacro( Name );
35 itkGetConstMacro( ViewX, float );
36 itkGetConstMacro( ViewY, float );
38 itkSetStringMacro( Name );
39 itkSetMacro( ViewX, float );
40 itkSetMacro( ViewY, float );
43 virtual void Modified( ) const;
44 float SetViewCoords( float x, float y );
50 inline const T* GetITK( ) const;
56 inline const T* GetVTK( ) const;
63 // Purposely not implemented
64 Object( const Self& );
65 Self& operator=( const Self& );
68 itk::LightObject::Pointer m_ITKObject;
69 vtkSmartPointer< vtkObjectBase > m_VTKObject;
80 #include <cpPlugins/Interface/Object.hxx>
82 #endif // __CPPLUGINS__INTERFACE__OBJECT__H__