#ifndef __CPM__VTK__THREADEDDEFORMATION__H__ #define __CPM__VTK__THREADEDDEFORMATION__H__ // Configure compiler and headers #include #include #include #if ( defined( _WIN32 ) || defined ( _WIN64 ) ) && !defined( __CYGWIN__ ) # undef CPM_VTK_THREADEDDEFORMATION_ON_LINUX #else # define CPM_VTK_THREADEDDEFORMATION_ON_LINUX # include # include #endif namespace cpm { namespace VTK { /** */ template< class F > class ThreadedDeformation : public vtkMultiThreader { public: typedef ThreadedDeformation Self; typedef F TFilter; protected: typedef std::pair< F*, vtkRenderWindow* > _TData; public: vtkTypeMacro( ThreadedDeformation, vtkMultiThreader ); public: static Self* New( ); static void InitThreadSupport( ); int ExecuteFilter( F* filter, vtkRenderWindow* window ); protected: ThreadedDeformation( ); virtual ~ThreadedDeformation( ); static void* _Function( void* arg ); private: // Purposely not implemented ThreadedDeformation( const Self& ); Self& operator=( const Self& ); }; } // ecapseman } // ecapseman #include #endif // __CPM__VTK__THREADEDDEFORMATION__H__ // eof - $RCSfile$