TuttleOFX  1
BlurProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_BLUR_PROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_BLUR_PROCESS_HPP_
00003 
00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp>
00005 
00006 namespace tuttle {
00007 namespace plugin {
00008 namespace blur {
00009 
00010 /**
00011  * @brief Blur process
00012  *
00013  */
00014 template<class View>
00015 class BlurProcess : public ImageGilFilterProcessor<View>
00016 {
00017 public:
00018         typedef float Scalar;
00019         typedef typename View::value_type Pixel;
00020         typedef typename View::point_t Point;
00021         typedef typename View::coord_t Coord;
00022         typedef typename terry::image_from_view<View>::type Image;
00023 
00024 protected:
00025         BlurPlugin& _plugin; ///< Rendering plugin
00026 
00027         BlurProcessParams<Scalar> _params; ///< user parameters
00028 
00029 public:
00030         BlurProcess( BlurPlugin& effect );
00031 
00032         void setup( const OFX::RenderArguments& args );
00033         void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00034 };
00035 
00036 }
00037 }
00038 }
00039 
00040 #include "BlurProcess.tcc"
00041 
00042 #endif