TuttleOFX  1
ComponentProcess.hpp
Go to the documentation of this file.
00001 #ifndef _TUTTLE_PLUGIN_COMPONENT_PROCESS_HPP_
00002 #define _TUTTLE_PLUGIN_COMPONENT_PROCESS_HPP_
00003 
00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp>
00005 #include <terry/color/components.hpp>
00006 
00007 namespace tuttle {
00008 namespace plugin {
00009 namespace component {
00010 
00011 /**
00012  * @brief Component process
00013  *
00014  */
00015 template<class SView, class DView>
00016 class ComponentProcess : public ImageGilFilterProcessor<SView, DView>
00017 {
00018 public:
00019         typedef typename SView::value_type Pixel;
00020         typedef typename boost::gil::channel_type<SView>::type Channel;
00021         typedef float Scalar;
00022 protected:
00023         ComponentPlugin&    _plugin;            ///< Rendering plugin
00024         terry::color::components::ConvertionParameters _params; ///< parameters
00025 
00026 public:
00027         ComponentProcess( ComponentPlugin& effect );
00028 
00029         void setup( const OFX::RenderArguments& args );
00030 
00031         void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00032 };
00033 
00034 }
00035 }
00036 }
00037 
00038 #include "ComponentProcess.tcc"
00039 
00040 #endif