TuttleOFX  1
DPXWriterProcess.hpp
Go to the documentation of this file.
00001 #ifndef _DPXWRITER_PROCESS_HPP_
00002 #define _DPXWRITER_PROCESS_HPP_
00003 
00004 #include <libdpx/DPX.h>
00005 
00006 #include <terry/globals.hpp>
00007 #include <tuttle/plugin/ImageGilFilterProcessor.hpp>
00008 #include <tuttle/plugin/exceptions.hpp>
00009 
00010 #include <boost/scoped_ptr.hpp>
00011 
00012 namespace tuttle {
00013 namespace plugin {
00014 namespace dpx {
00015 namespace writer {
00016 
00017 
00018 /**
00019  * @brief Dpx writer
00020  */
00021 template<class View>
00022 class DPXWriterProcess : public ImageGilFilterProcessor<View>
00023 {
00024 protected:
00025         DPXWriterPlugin&       _plugin;        ///< Rendering plugin
00026         DPXWriterProcessParams _params;
00027 
00028         void setup( const OFX::RenderArguments& args );
00029         void multiThreadProcessImages( const OfxRectI& procWindowRoW );
00030         
00031 private:
00032         template<class WPixel>
00033         void writeImage( ::dpx::Writer& writer, View& src, ::dpx::DataSize& dataSize, size_t pixelSize );
00034 
00035 public:
00036         DPXWriterProcess( DPXWriterPlugin& instance );
00037 };
00038 
00039 }
00040 }
00041 }
00042 }
00043 
00044 #include "DPXWriterProcess.tcc"
00045 
00046 #endif