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>
14 #ifdef cpPlugins_Interface_QT4
16 #endif // cpPlugins_Interface_QT4
24 class cpPlugins_Interface_EXPORT Object
29 typedef itk::Object Superclass;
30 typedef itk::SmartPointer< Self > Pointer;
31 typedef itk::SmartPointer< const Self > ConstPointer;
35 itkTypeMacro( Object, itkObject );
36 cpPlugins_Id_Macro( Object, BaseObject );
38 itkGetConstMacro( ViewX, float );
39 itkGetConstMacro( ViewY, float );
42 void SetViewCoords( float x, float y );
44 #ifdef cpPlugins_Interface_QT4
45 void SetViewCoords( const QPointF& coords );
46 QPointF GetViewCoords( ) const;
47 #endif // cpPlugins_Interface_QT4
49 virtual void Modified( ) const;
50 virtual itk::ModifiedTimeType GetMTime( ) const;
52 virtual void SetITK( itk::LightObject* o );
53 virtual void SetVTK( vtkObjectBase* o );
59 inline const T* GetITK( ) const;
65 inline const T* GetVTK( ) const;
72 // Purposely not implemented
73 Object( const Self& );
74 Self& operator=( const Self& );
77 itk::LightObject::Pointer m_ITKObject;
78 vtkSmartPointer< vtkObjectBase > m_VTKObject;
88 #include <cpPlugins/Interface/Object.hxx>
90 #endif // __CPPLUGINS__INTERFACE__OBJECT__H__