TuttleOFX  1
tuttle::plugin::histogram::HistogramPlugin Class Reference

Histogram plugin. More...

#include <HistogramPlugin.hpp>

Inheritance diagram for tuttle::plugin::histogram::HistogramPlugin:
Collaboration diagram for tuttle::plugin::histogram::HistogramPlugin:

Public Types

typedef float Scalar

Public Member Functions

 HistogramPlugin (OfxImageEffectHandle handle)
HistogramProcessParams< ScalargetProcessParams (const OfxTime time, const OfxPointD &renderScale=OFX::kNoRenderScale) const
void changedParam (const OFX::InstanceChangedArgs &args, const std::string &paramName)
 called when a param has just had its value changed
void changedClip (const OFX::InstanceChangedArgs &args, const std::string &clipName)
 called when a clip has just been changed in some way (a rewire maybe)
bool isIdentity (const OFX::RenderArguments &args, OFX::Clip *&identityClip, double &identityTime)
 client is identity function, returns the clip and time for the identity function
void render (const OFX::RenderArguments &args)
 The overridden render function.
void addRefOverlayData ()
 Overlay data.
void releaseOverlayData ()
bool hasOverlayData () const
OverlayDatagetOverlayData ()
const OverlayDatagetOverlayData () const

Data Fields

bool _isCleaned
bool _isNbStepChanged
bool _isHistogramRefresh
OFX::BooleanParam_paramGlobalDisplaySelection
OFX::ParametricParam_paramColorHSLSelection
OFX::ParametricParam_paramColorRGBSelection
OFX::BooleanParam_paramOverlayRSelection
OFX::DoubleParam_paramMutliplierR
OFX::BooleanParam_paramOverlayGSelection
OFX::DoubleParam_paramMutliplierG
OFX::BooleanParam_paramOverlayBSelection
OFX::DoubleParam_paramMutliplierB
OFX::PushButtonParam_resetRGB
OFX::BooleanParam_paramOverlayHSelection
OFX::DoubleParam_paramMutliplierH
OFX::BooleanParam_paramOverlaySSelection
OFX::DoubleParam_paramMutliplierS
OFX::BooleanParam_paramOverlayLSelection
OFX::DoubleParam_paramMutliplierL
OFX::PushButtonParam_resetHSL
OFX::ChoiceParam_paramDisplayTypeSelection
OFX::PushButtonParam_paramResetAll
OFX::BooleanParam_paramDisplaySelection
OFX::IntParam_paramSelectionFromCurve
OFX::ChoiceParam_paramSelectionMode
OFX::IntParam_paramNbStepSelection
OFX::DoubleParam_paramSelectionMultiplierSelection
OFX::PushButtonParam_paramRefreshOverlaySelection
OFX::BooleanParam_paramClampCurveValues
OFX::ChoiceParam_paramOutputSettingSelection
OFX::BooleanParam_paramReverseMaskSelection
OFX::PushButtonParam_paramButtonAppendToSelectionHSL
OFX::PushButtonParam_paramButtonAppendToSelectionRGB
bool _isRendering
boost::scoped_ptr< OverlayData_overlayData
std::size_t _overlayDataCount

Detailed Description

Histogram plugin.

Definition at line 31 of file HistogramPlugin.hpp.


Member Typedef Documentation


Constructor & Destructor Documentation

tuttle::plugin::histogram::HistogramPlugin::HistogramPlugin ( OfxImageEffectHandle  handle)
Todo:
: HACK to display curves default position

Definition at line 15 of file HistogramPlugin.cpp.

References _isCleaned, _isHistogramRefresh, _isNbStepChanged, _overlayDataCount, _paramButtonAppendToSelectionHSL, _paramButtonAppendToSelectionRGB, _paramClampCurveValues, _paramColorHSLSelection, _paramColorRGBSelection, _paramDisplaySelection, _paramDisplayTypeSelection, _paramGlobalDisplaySelection, _paramMutliplierB, _paramMutliplierG, _paramMutliplierH, _paramMutliplierL, _paramMutliplierR, _paramMutliplierS, _paramNbStepSelection, _paramOutputSettingSelection, _paramOverlayBSelection, _paramOverlayGSelection, _paramOverlayHSelection, _paramOverlayLSelection, _paramOverlayRSelection, _paramOverlaySSelection, _paramRefreshOverlaySelection, _paramResetAll, _paramReverseMaskSelection, _paramSelectionFromCurve, _paramSelectionMode, _paramSelectionMultiplierSelection, _resetHSL, _resetRGB, changedClip(), changedParam(), OFX::ParamSet::fetchBooleanParam(), OFX::ParamSet::fetchChoiceParam(), OFX::ParamSet::fetchDoubleParam(), OFX::ParamSet::fetchIntParam(), OFX::ParamSet::fetchParametricParam(), OFX::ParamSet::fetchPushButtonParam(), tuttle::plugin::histogram::kBoolBlue, tuttle::plugin::histogram::kBoolClampValues, tuttle::plugin::histogram::kBoolGreen, tuttle::plugin::histogram::kBoolHue, tuttle::plugin::histogram::kBoolLightness, tuttle::plugin::histogram::kBoolRed, tuttle::plugin::histogram::kBoolReverseMask, tuttle::plugin::histogram::kBoolSaturation, tuttle::plugin::histogram::kBoolSelection, tuttle::plugin::histogram::kButtonAppendSelectionToCurveHSL, tuttle::plugin::histogram::kButtonAppendSelectionToCurveRGB, tuttle::plugin::histogram::kButtonRefreshOverlay, tuttle::plugin::histogram::kButtonResetAll, tuttle::plugin::histogram::kButtonResetHSL, tuttle::plugin::histogram::kButtonResetRGB, tuttle::plugin::histogram::kGlobalDisplay, tuttle::plugin::histogram::kHistoDisplayListParamLabel, tuttle::plugin::histogram::kMultiplierBlue, tuttle::plugin::histogram::kMultiplierGreen, tuttle::plugin::histogram::kMultiplierHue, tuttle::plugin::histogram::kMultiplierLightness, tuttle::plugin::histogram::kMultiplierRed, tuttle::plugin::histogram::kMultiplierSaturation, tuttle::plugin::histogram::knbStepRange, kOfxImageEffectSimpleSourceClipName, tuttle::plugin::histogram::kOutputListParamLabel, tuttle::plugin::histogram::kParamHSLColorSelection, tuttle::plugin::histogram::kParamRGBColorSelection, tuttle::plugin::histogram::kprecisionCurveFromSelection, tuttle::plugin::histogram::kSelectionModeListParamLabel, tuttle::plugin::histogram::kselectionMultiplier, and OFX::ImageEffect::timeLineGetTime().

Here is the call graph for this function:


Member Function Documentation

void tuttle::plugin::histogram::HistogramPlugin::changedClip ( const OFX::InstanceChangedArgs args,
const std::string &  clipName 
) [virtual]

called when a clip has just been changed in some way (a rewire maybe)

Reimplemented from OFX::ImageEffect.

Definition at line 729 of file HistogramPlugin.cpp.

References tuttle::plugin::histogram::OverlayData::_isDataInvalid, getOverlayData(), hasOverlayData(), kOfxImageEffectSimpleSourceClipName, and OFX::ImageEffect::redrawOverlays().

Referenced by changedParam(), and HistogramPlugin().

Here is the call graph for this function:

void tuttle::plugin::histogram::HistogramPlugin::changedParam ( const OFX::InstanceChangedArgs args,
const std::string &  paramName 
) [virtual]

called when a param has just had its value changed

Todo:
How to request a redraw on ParametricParameters?

Reimplemented from OFX::ImageEffect.

Definition at line 111 of file HistogramPlugin.cpp.

References tuttle::plugin::histogram::HistogramBufferData::_bufferBlue, tuttle::plugin::histogram::HistogramBufferData::_bufferGreen, tuttle::plugin::histogram::HistogramBufferData::_bufferHue, tuttle::plugin::histogram::HistogramBufferData::_bufferLightness, tuttle::plugin::histogram::HistogramBufferData::_bufferRed, tuttle::plugin::histogram::HistogramBufferData::_bufferSaturation, tuttle::plugin::ImageEffectGilPlugin::_clipSrc, tuttle::plugin::histogram::OverlayData::_curveFromSelection, tuttle::plugin::histogram::OverlayData::_isDataInvalid, _paramColorHSLSelection, _paramColorRGBSelection, _paramNbStepSelection, _paramOverlayBSelection, _paramOverlayGSelection, _paramOverlayHSelection, _paramOverlayLSelection, _paramOverlayRSelection, _paramOverlaySSelection, _paramSelectionFromCurve, tuttle::plugin::histogram::OverlayData::_vNbStepCurveFromSelection, OFX::ParametricParam::addControlPoint(), changedClip(), tuttle::plugin::histogram::OverlayData::clearSelection(), tuttle::plugin::histogram::OverlayData::computeCurveFromSelectionData(), OFX::ParametricParam::deleteControlPoint(), OFX::ParametricParam::getNControlPoints(), OFX::ParametricParam::getNthControlPoints(), getOverlayData(), OFX::IntParam::getValue(), OFX::BooleanParam::getValue(), hasOverlayData(), tuttle::plugin::histogram::kButtonAppendSelectionToCurveHSL, tuttle::plugin::histogram::kButtonAppendSelectionToCurveRGB, tuttle::plugin::histogram::kButtonRefreshOverlay, tuttle::plugin::histogram::kButtonResetAll, tuttle::plugin::histogram::kButtonResetHSL, tuttle::plugin::histogram::kButtonResetRGB, tuttle::plugin::histogram::kButtonResetSelection, tuttle::plugin::histogram::kButtonSelectionToCurveHSL, tuttle::plugin::histogram::kButtonSelectionToCurveRGB, tuttle::plugin::histogram::knbStepRange, OFX::Clip::name(), tuttle::plugin::histogram::nbCurvesHSL, tuttle::plugin::histogram::nbCurvesRGB, OFX::InstanceChangedArgs::renderScale, tuttle::plugin::histogram::OverlayData::setNbStep(), OFX::ParametricParam::setNthControlPoints(), and OFX::InstanceChangedArgs::time.

Referenced by HistogramPlugin().

Here is the call graph for this function:

const OverlayData & tuttle::plugin::histogram::HistogramPlugin::getOverlayData ( ) const

Definition at line 805 of file HistogramPlugin.cpp.

References _overlayData.

bool tuttle::plugin::histogram::HistogramPlugin::hasOverlayData ( ) const

Definition at line 795 of file HistogramPlugin.cpp.

References _overlayDataCount.

Referenced by changedClip(), and changedParam().

bool tuttle::plugin::histogram::HistogramPlugin::isIdentity ( const OFX::RenderArguments args,
OFX::Clip *&  identityClip,
double &  identityTime 
) [virtual]

client is identity function, returns the clip and time for the identity function

If the effect would do no processing for the given param set and render arguments, then this function should return true and set the identityClip pointer to point to the clip that is the identity and identityTime to be the time at which to access the clip for the identity operation.

Todo:
HACK: nuke doesn't call changedClip when the time is modified.

Reimplemented from OFX::ImageEffect.

Definition at line 744 of file HistogramPlugin.cpp.

void tuttle::plugin::histogram::HistogramPlugin::releaseOverlayData ( )
void tuttle::plugin::histogram::HistogramPlugin::render ( const OFX::RenderArguments args) [virtual]

The overridden render function.

Parameters:
[in]argsRendering parameters
Todo:
: HACK Nuke doesn't call changeClip function when time is changed

Implements OFX::ImageEffect.

Definition at line 757 of file HistogramPlugin.cpp.

References _isRendering, OFX::getImageEffectHostDescription(), getOverlayData(), tuttle::plugin::histogram::OverlayData::isCurrentTimeModified(), OFX::ImageEffect::redrawOverlays(), and OFX::RenderArguments::time.

Here is the call graph for this function:


Field Documentation


The documentation for this class was generated from the following files: