TuttleOFX
1
|
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