#ifndef __CPPLUGINS__INTERFACE__OBJECT__H__ #define __CPPLUGINS__INTERFACE__OBJECT__H__ #include #include #include #include #include #include #ifdef cpPlugins_Interface_QT4 #include #endif // cpPlugins_Interface_QT4 namespace cpPlugins { namespace Interface { /** */ class cpPlugins_Interface_EXPORT Object : public itk::Object { public: typedef Object Self; typedef itk::Object Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkNewMacro( Self ); itkTypeMacro( Object, itkObject ); cpPlugins_Id_Macro( Object, BaseObject ); itkGetConstMacro( ViewX, float ); itkGetConstMacro( ViewY, float ); public: void SetViewCoords( float x, float y ); #ifdef cpPlugins_Interface_QT4 void SetViewCoords( const QPointF& coords ); QPointF GetViewCoords( ) const; #endif // cpPlugins_Interface_QT4 virtual void Modified( ) const; virtual itk::ModifiedTimeType GetMTime( ) const; virtual void SetITK( itk::LightObject* o ); virtual void SetVTK( vtkObjectBase* o ); 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( ); virtual ~Object( ); private: // Purposely not implemented Object( const Self& ); Self& operator=( const Self& ); protected: itk::LightObject::Pointer m_ITKObject; vtkSmartPointer< vtkObjectBase > m_VTKObject; float m_ViewX; float m_ViewY; }; } // ecapseman } // ecapseman #include #endif // __CPPLUGINS__INTERFACE__OBJECT__H__ // eof - $RCSfile$