TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_BASICKEYER_PROCESS_HPP_ 00002 #define _TUTTLE_PLUGIN_BASICKEYER_PROCESS_HPP_ 00003 00004 #include "BasicKeyerAlgorithm.hpp" 00005 00006 #include <tuttle/plugin/ImageGilFilterProcessor.hpp> 00007 #include <terry/globals.hpp> 00008 #include <tuttle/plugin/exceptions.hpp> 00009 00010 #include <ofxsImageEffect.h> 00011 #include <ofxsMultiThread.h> 00012 00013 #include <boost/scoped_ptr.hpp> 00014 00015 namespace tuttle { 00016 namespace plugin { 00017 namespace basicKeyer { 00018 00019 /** 00020 * @brief BasicKeyer process 00021 */ 00022 template<class View> 00023 class BasicKeyerProcess : public ImageGilFilterProcessor<View> 00024 { 00025 public: 00026 typedef ImageGilFilterProcessor<View> Parent; 00027 typedef typename View::value_type Pixel; 00028 00029 protected: 00030 BasicKeyerPlugin& _plugin; ///< Rendering plugin 00031 00032 BasicKeyerProcessParams<View> _params; 00033 00034 public: 00035 BasicKeyerProcess( BasicKeyerPlugin& instance ); 00036 00037 void setup( const OFX::RenderArguments& args ); 00038 00039 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00040 }; 00041 00042 } 00043 } 00044 } 00045 00046 #include "BasicKeyerProcess.tcc" 00047 00048 #endif