TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_THINNING_PLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_THINNING_PLUGIN_HPP_ 00003 00004 #include "ThinningDefinitions.hpp" 00005 00006 #include <tuttle/plugin/ImageEffectGilPlugin.hpp> 00007 00008 namespace tuttle { 00009 namespace plugin { 00010 namespace thinning { 00011 00012 template<typename Scalar> 00013 struct ThinningProcessParams 00014 { 00015 EParamBorder _border; 00016 }; 00017 00018 /** 00019 * @brief Thinning plugin 00020 */ 00021 class ThinningPlugin : public ImageEffectGilPlugin 00022 { 00023 public: 00024 typedef float Scalar; 00025 public: 00026 ThinningPlugin( OfxImageEffectHandle handle ); 00027 00028 public: 00029 ThinningProcessParams<Scalar> getProcessParams( const OfxPointD& renderScale = OFX::kNoRenderScale ) const; 00030 00031 bool getRegionOfDefinition( const OFX::RegionOfDefinitionArguments& args, OfxRectD& rod ); 00032 void getRegionsOfInterest( const OFX::RegionsOfInterestArguments& args, OFX::RegionOfInterestSetter& rois ); 00033 00034 void render( const OFX::RenderArguments &args ); 00035 00036 public: 00037 OFX::ChoiceParam* _paramBorder; 00038 }; 00039 00040 } 00041 } 00042 } 00043 00044 #endif