TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_COLORTRANSFORM_PROCESS_HPP_ 00002 #define _TUTTLE_PLUGIN_COLORTRANSFORM_PROCESS_HPP_ 00003 00004 #include <tuttle/plugin/ImageGilFilterProcessor.hpp> 00005 00006 namespace tuttle { 00007 namespace plugin { 00008 namespace colorTransform { 00009 00010 /** 00011 * @brief ColorTransform process 00012 * 00013 */ 00014 template<class View> 00015 class ColorTransformProcess : public ImageGilFilterProcessor<View> 00016 { 00017 public: 00018 typedef typename View::value_type Pixel; 00019 typedef typename boost::gil::channel_type<View>::type Channel; 00020 typedef float Scalar; 00021 protected: 00022 ColorTransformPlugin& _plugin; ///< Rendering plugin 00023 ColorTransformParams _params; ///< parameters 00024 00025 typedef terry::math::BoundedMatrix<Scalar, 5, 5>::Type BoundedMatrix5x5; 00026 BoundedMatrix5x5 _matrix; 00027 00028 00029 public: 00030 ColorTransformProcess( ColorTransformPlugin& effect ); 00031 00032 void setup( const OFX::RenderArguments& args ); 00033 00034 void multiThreadProcessImages( const OfxRectI& procWindowRoW ); 00035 }; 00036 00037 } 00038 } 00039 } 00040 00041 #include "ColorTransformProcess.tcc" 00042 00043 #endif