TuttleOFX  1
LocalMaximaPlugin.hpp
Go to the documentation of this file.
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 &paramName );
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