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