TuttleOFX  1
FloodFillProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_FLOODFILL_PROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_FLOODFILL_PROCESS_HPP_
00003 
00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp>
00005 #include <boost/scoped_ptr.hpp>
00006 
00007 namespace tuttle {
00008 namespace plugin {
00009 namespace floodFill {
00010 
00011 /**
00012  * @brief FloodFill process
00013  *
00014  */
00015 template<class View>
00016 class FloodFillProcess : public ImageGilFilterProcessor<View>
00017 {
00018 public:
00019         typedef typename View::value_type Pixel;
00020         typedef typename boost::gil::channel_type<View>::type Channel;
00021         typedef float Scalar;
00022 protected :
00023     FloodFillPlugin&    _plugin;            ///< Rendering plugin
00024         FloodFillProcessParams<Scalar> _params; ///< parameters
00025 
00026         bool _isConstantImage;
00027         Scalar _lowerThres;
00028         Scalar _upperThres;
00029 
00030 public:
00031     FloodFillProcess( FloodFillPlugin& effect );
00032 
00033         void setup( const OFX::RenderArguments& args );
00034 
00035     void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00036 };
00037 
00038 }
00039 }
00040 }
00041 
00042 #include "FloodFillProcess.tcc"
00043 
00044 #endif