TuttleOFX  1
ColorTransformProcess.hpp
Go to the documentation of this file.
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