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