#ifndef __CPM__VTK__THREADEDDEFORMATIONOBSERVER__H__ #define __CPM__VTK__THREADEDDEFORMATIONOBSERVER__H__ #include #include #include #include namespace cpm { namespace VTK { /** */ template< class F > class ThreadedDeformationObserver : public itk::Command { public: typedef ThreadedDeformationObserver Self; typedef itk::Command Superclass; typedef itk::SmartPointer< Self > Pointer; typedef itk::SmartPointer< const Self > ConstPointer; public: itkNewMacro( Self ); itkTypeMacro( ThreadedDeformationObserver, itkCommand ); public: void Configure( vtkRenderWindow* w ); void Execute( itk::Object* caller, const itk::EventObject& evt ); void Execute( const itk::Object* caller, const itk::EventObject& evt ); protected: ThreadedDeformationObserver( ); virtual ~ThreadedDeformationObserver( ); private: // Purposely not implemented ThreadedDeformationObserver( const Self& ); Self& operator=( const Self& ); protected: vtkRenderWindow* m_Window; vtkSmartPointer< vtkMutexLock > m_MutexLock; }; } // ecapseman } // ecapseman #include #endif // __CPM__VTK__THREADEDDEFORMATIONOBSERVER__H__ // eof - $RCSfile$