1 #ifndef __CPPLUGINS__OBJECT__H__
2 #define __CPPLUGINS__OBJECT__H__
4 #include <cpPlugins/Config.h>
7 #include <itkLightObject.h>
9 #include <itkObjectFactory.h>
10 #include <vtkSmartPointer.h>
11 #include <vtkObjectBase.h>
14 #endif // cpPlugins_QT4
20 class cpPlugins_EXPORT Object
25 typedef itk::Object Superclass;
26 typedef itk::SmartPointer< Self > Pointer;
27 typedef itk::SmartPointer< const Self > ConstPointer;
30 itkTypeMacro( Object, itk::Object );
33 virtual const char* GetClassName( ) = 0;
34 virtual const char* GetClassCategory( ) = 0;
36 const float& GetViewX( ) const;
37 const float& GetViewY( ) const;
38 void SetViewCoords( float x, float y );
41 void SetViewCoords( const QPointF& coords );
42 QPointF GetViewCoords( ) const;
43 #endif // cpPlugins_QT4
45 virtual void Modified( ) const ITK_OVERRIDE;
46 virtual itk::ModifiedTimeType GetMTime( ) const ITK_OVERRIDE;
48 virtual void SetITK( itk::LightObject* o );
49 virtual void SetVTK( vtkObjectBase* o );
55 inline const T* GetITK( ) const;
61 inline const T* GetVTK( ) const;
68 // Purposely not implemented
69 Object( const Self& );
70 Self& operator=( const Self& );
73 itk::LightObject::Pointer m_ITKObject;
74 vtkSmartPointer< vtkObjectBase > m_VTKObject;
82 #include <cpPlugins/Object.hxx>
84 #endif // __CPPLUGINS__OBJECT__H__