TuttleOFX
1
|
00001 #ifndef _TUTTLE_PLUGIN_LOCALMAXIMA_PLUGIN_HPP_ 00002 #define _TUTTLE_PLUGIN_LOCALMAXIMA_PLUGIN_HPP_ 00003 00004 #include "LocalMaximaDefinitions.hpp" 00005 00006 #include <tuttle/plugin/ImageEffectGilPlugin.hpp> 00007 00008 00009 namespace tuttle { 00010 namespace plugin { 00011 namespace localmaxima { 00012 00013 template<typename Scalar> 00014 struct LocalMaximaProcessParams 00015 { 00016 EParamBorder _border; 00017 }; 00018 00019 /** 00020 * @brief LocalMaxima plugin 00021 */ 00022 class LocalMaximaPlugin : public ImageEffectGilPlugin 00023 { 00024 public: 00025 typedef float Scalar; 00026 public: 00027 LocalMaximaPlugin( OfxImageEffectHandle handle ); 00028 00029 public: 00030 LocalMaximaProcessParams<Scalar> getProcessParams( const OfxPointD& renderScale = OFX::kNoRenderScale ) const; 00031 00032 void changedParam( const OFX::InstanceChangedArgs &args, const std::string ¶mName ); 00033 00034 void getClipPreferences( OFX::ClipPreferencesSetter& clipPreferences ); 00035 bool getRegionOfDefinition( const OFX::RegionOfDefinitionArguments& args, OfxRectD& rod ); 00036 void getRegionsOfInterest( const OFX::RegionsOfInterestArguments& args, OFX::RegionOfInterestSetter& rois ); 00037 00038 void render( const OFX::RenderArguments &args ); 00039 00040 public: 00041 OFX::ChoiceParam* _paramBorder; 00042 OFX::ChoiceParam* _paramOutputComponent; 00043 }; 00044 00045 } 00046 } 00047 } 00048 00049 #endif