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