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 void SetViewCoords( float x, float y );
46 void SetITK( itk::LightObject* o );
47 void SetVTK( vtkObjectBase* o );
53 inline const T* GetITK( ) const;
59 inline const T* GetVTK( ) const;
66 // Purposely not implemented
67 Object( const Self& );
68 Self& operator=( const Self& );
71 itk::LightObject::Pointer m_ITKObject;
72 vtkSmartPointer< vtkObjectBase > m_VTKObject;
83 #include <cpPlugins/Interface/Object.hxx>
85 #endif // __CPPLUGINS__INTERFACE__OBJECT__H__