TuttleOFX  1
SeExprProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_SEEXPR_PROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_SEEXPR_PROCESS_HPP_
00003 
00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp>
00005 
00006 #include <SeExpression.h>
00007 
00008 #include "SeExprAlgorithm.hpp"
00009 
00010 namespace tuttle {
00011 namespace plugin {
00012 namespace seExpr {
00013 
00014 /**
00015  * @brief SeExpr process
00016  *
00017  */
00018 template<class View>
00019 class SeExprProcess : public ImageGilProcessor<View>
00020 {
00021 public:
00022         typedef typename View::value_type Pixel;
00023         typedef typename boost::gil::channel_type<View>::type Channel;
00024         typedef float Scalar;
00025 protected:
00026         SeExprPlugin&               _plugin; ///< Rendering plugin
00027         SeExprProcessParams<Scalar> _params; ///< parameters
00028 
00029 public:
00030         SeExprProcess( SeExprPlugin& effect );
00031 
00032         void setup( const OFX::RenderArguments& args );
00033 
00034         void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00035 private:
00036         OfxRectD rod;
00037         size_t _time;
00038 };
00039 
00040 }
00041 }
00042 }
00043 
00044 #include "SeExprProcess.tcc"
00045 
00046 #endif