TuttleOFX  1
IdKeyerProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_IDKEYER_PROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_IDKEYER_PROCESS_HPP_
00003 
00004 #include "IdKeyerAlgorithm.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 idKeyer {
00018 
00019 /**
00020  * @brief IdKeyer process
00021  */
00022 template<class View>
00023 class IdKeyerProcess : public ImageGilFilterProcessor<View>
00024 {
00025 public:
00026         typedef ImageGilFilterProcessor<View> Parent;
00027         typedef typename View::value_type Pixel;
00028 
00029 public:
00030         IdKeyerProcess( IdKeyerPlugin& instance );
00031 
00032         void setup( const OFX::RenderArguments& args );
00033 
00034         void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00035 
00036 protected:
00037         IdKeyerPlugin&             _plugin;
00038         IdKeyerProcessParams<View> _params;
00039 };
00040 
00041 }
00042 }
00043 }
00044 
00045 #include "IdKeyerProcess.tcc"
00046 
00047 #endif