TuttleOFX  1
tuttle::host::ofx::attribute::OfxhParamSet Class Reference

#include <OfxhParamSet.hpp>

Inheritance diagram for tuttle::host::ofx::attribute::OfxhParamSet:
Collaboration diagram for tuttle::host::ofx::attribute::OfxhParamSet:

Public Types

typedef OfxhParamSet This
typedef std::map< std::string,
OfxhParam * > 
ParamMap
typedef boost::ptr_vector
< OfxhParam
ParamVector

Public Member Functions

 OfxhParamSet ()
 OfxhParamSet (const OfxhParamSet &other)
virtual ~OfxhParamSet ()=0
void operator= (const OfxhParamSet &other)
void copyParamsValues (const OfxhParamSet &other)
bool operator== (const This &other) const
bool operator!= (const This &other) const
std::size_t getHashAtTime (const OfxTime time) const
OfxParamSetHandle getParamSetHandle () const
 obtain a handle on this set for passing to the C api
const ParamMapgetParamsByName () const
ParamMapgetParamsByName ()
const ParamMapgetParamsByScriptName () const
ParamMapgetParamsByScriptName ()
const ParamVectorgetParamVector () const
ParamVectorgetParamVector ()
std::size_t getNbParams () const
OfxhParamgetParam (const std::string &name)
const OfxhParamgetParam (const std::string &name) const
OfxhParamgetParamByScriptName (const std::string &scriptName, const bool acceptPartialName=false)
const OfxhParamgetParamByScriptName (const std::string &name, const bool acceptPartialName=false) const
OfxhParamgetParamPtrByScriptName (const std::string &name, const bool acceptPartialName=false)
const OfxhParamgetParamPtrByScriptName (const std::string &name, const bool acceptPartialName=false) const
OfxhParamgetParam (const std::size_t index)
const OfxhParamgetParam (const std::size_t index) const
virtual void paramChanged (const attribute::OfxhParam &param, const EChange change)=0
virtual void editBegin (const std::string &name) OFX_EXCEPTION_SPEC=0
virtual void editEnd () OFX_EXCEPTION_SPEC=0

Protected Member Functions

virtual void addParam (OfxhParam *instance) OFX_EXCEPTION_SPEC
 reference a param
virtual OfxhParamnewParam (const OfxhParamDescriptor &Descriptor) OFX_EXCEPTION_SPEC=0
void reserveParameters (const std::size_t size)

Protected Attributes

ParamMap _params
 params by name
ParamMap _paramsByScriptName
 params by script name
ParamVector _paramVector
 params list

Private Member Functions

void initMapFromList ()

Detailed Description

A set of parameters

As we are the owning object we delete the params inside ourselves. It was tempting to make params autoref objects and have shared ownership with the client code but that adds complexity for no strong gain.

Definition at line 24 of file OfxhParamSet.hpp.


Member Typedef Documentation

Definition at line 30 of file OfxhParamSet.hpp.

Definition at line 31 of file OfxhParamSet.hpp.


Constructor & Destructor Documentation

tuttle::host::ofx::attribute::OfxhParamSet::OfxhParamSet ( ) [explicit]

The propery set being passed in belongs to the owning plugin instance.

Definition at line 15 of file OfxhParamSet.cpp.

tuttle::host::ofx::attribute::OfxhParamSet::OfxhParamSet ( const OfxhParamSet other) [explicit]

Definition at line 18 of file OfxhParamSet.cpp.

References operator=().

Here is the call graph for this function:

tuttle::host::ofx::attribute::OfxhParamSet::~OfxhParamSet ( ) [pure virtual]

Definition at line 32 of file OfxhParamSet.cpp.


Member Function Documentation

void tuttle::host::ofx::attribute::OfxhParamSet::addParam ( OfxhParam instance) [protected, virtual]

reference a param

add a param

Definition at line 170 of file OfxhParamSet.cpp.

References kOfxStatErrExists.

void tuttle::host::ofx::attribute::OfxhParamSet::copyParamsValues ( const OfxhParamSet other)
virtual void tuttle::host::ofx::attribute::OfxhParamSet::editBegin ( const std::string &  name) [pure virtual]

Triggered when the plug-in calls OfxParameterSuiteV1::paramEditBegin

Client host code needs to implement this

Implemented in tuttle::host::ImageEffectNode, and tuttle::host::ofx::attribute::OfxhParamGroup.

Referenced by tuttle::host::ofx::attribute::OfxhParamGroup::editBegin().

virtual void tuttle::host::ofx::attribute::OfxhParamSet::editEnd ( ) [pure virtual]

Triggered when the plug-in calls OfxParameterSuiteV1::paramEditEnd

Client host code needs to implement this

Implemented in tuttle::host::ImageEffectNode, and tuttle::host::ofx::attribute::OfxhParamGroup.

Referenced by tuttle::host::ofx::attribute::OfxhParamGroup::editEnd().

std::size_t tuttle::host::ofx::attribute::OfxhParamSet::getHashAtTime ( const OfxTime  time) const
std::size_t tuttle::host::ofx::attribute::OfxhParamSet::getNbParams ( ) const [inline]

Reimplemented in tuttle::host::ImageEffectNode.

Definition at line 69 of file OfxhParamSet.hpp.

References _params.

OfxhParam & tuttle::host::ofx::attribute::OfxhParamSet::getParam ( const std::string &  name)
const OfxhParam& tuttle::host::ofx::attribute::OfxhParamSet::getParam ( const std::string &  name) const [inline]

Reimplemented in tuttle::host::ImageEffectNode.

Definition at line 72 of file OfxhParamSet.hpp.

References getParam().

Referenced by getParam().

Here is the call graph for this function:

OfxhParam & tuttle::host::ofx::attribute::OfxhParamSet::getParam ( const std::size_t  index)

Reimplemented in tuttle::host::ImageEffectNode.

Definition at line 159 of file OfxhParamSet.cpp.

References _paramVector.

const OfxhParam& tuttle::host::ofx::attribute::OfxhParamSet::getParam ( const std::size_t  index) const [inline]

Reimplemented in tuttle::host::ImageEffectNode.

Definition at line 81 of file OfxhParamSet.hpp.

References getParam().

Referenced by getParam().

Here is the call graph for this function:

OfxhParam & tuttle::host::ofx::attribute::OfxhParamSet::getParamByScriptName ( const std::string &  scriptName,
const bool  acceptPartialName = false 
)

Reimplemented in tuttle::host::ImageEffectNode.

Definition at line 101 of file OfxhParamSet.cpp.

References _paramsByScriptName.

Referenced by getParamPtrByScriptName().

const OfxhParam& tuttle::host::ofx::attribute::OfxhParamSet::getParamByScriptName ( const std::string &  name,
const bool  acceptPartialName = false 
) const [inline]

Reimplemented in tuttle::host::ImageEffectNode.

Definition at line 75 of file OfxhParamSet.hpp.

References getParamByScriptName().

Referenced by getParamByScriptName().

Here is the call graph for this function:

OfxhParam * tuttle::host::ofx::attribute::OfxhParamSet::getParamPtrByScriptName ( const std::string &  name,
const bool  acceptPartialName = false 
)

Definition at line 135 of file OfxhParamSet.cpp.

References getParamByScriptName().

Here is the call graph for this function:

const OfxhParam * tuttle::host::ofx::attribute::OfxhParamSet::getParamPtrByScriptName ( const std::string &  name,
const bool  acceptPartialName = false 
) const

Definition at line 146 of file OfxhParamSet.cpp.

References getParamByScriptName().

Here is the call graph for this function:

const ParamMap& tuttle::host::ofx::attribute::OfxhParamSet::getParamsByName ( ) const [inline]

Definition at line 60 of file OfxhParamSet.hpp.

References _params.

ParamMap& tuttle::host::ofx::attribute::OfxhParamSet::getParamsByName ( ) [inline]

Definition at line 61 of file OfxhParamSet.hpp.

References _params.

const ParamMap& tuttle::host::ofx::attribute::OfxhParamSet::getParamsByScriptName ( ) const [inline]

Definition at line 63 of file OfxhParamSet.hpp.

References _paramsByScriptName.

ParamMap& tuttle::host::ofx::attribute::OfxhParamSet::getParamsByScriptName ( ) [inline]

Definition at line 64 of file OfxhParamSet.hpp.

References _paramsByScriptName.

OfxParamSetHandle tuttle::host::ofx::attribute::OfxhParamSet::getParamSetHandle ( ) const [inline, virtual]

obtain a handle on this set for passing to the C api

Implements tuttle::host::ofx::attribute::OfxhParamSetAccessor.

Definition at line 58 of file OfxhParamSet.hpp.

const ParamVector& tuttle::host::ofx::attribute::OfxhParamSet::getParamVector ( ) const [inline]
ParamVector& tuttle::host::ofx::attribute::OfxhParamSet::getParamVector ( ) [inline]

Definition at line 67 of file OfxhParamSet.hpp.

References _paramVector.

void tuttle::host::ofx::attribute::OfxhParamSet::initMapFromList ( ) [private]
virtual OfxhParam* tuttle::host::ofx::attribute::OfxhParamSet::newParam ( const OfxhParamDescriptor Descriptor) [protected, pure virtual]

make a parameter instance

Client host code needs to implement this

Implemented in tuttle::host::ImageEffectNode, and tuttle::host::ofx::attribute::OfxhParamGroup.

Referenced by tuttle::host::ofx::imageEffect::OfxhImageEffectNode::populateParams().

bool tuttle::host::ofx::attribute::OfxhParamSet::operator!= ( const This other) const [inline]

Definition at line 53 of file OfxhParamSet.hpp.

References operator==().

Here is the call graph for this function:

void tuttle::host::ofx::attribute::OfxhParamSet::operator= ( const OfxhParamSet other)

Definition at line 35 of file OfxhParamSet.cpp.

References _paramVector, and initMapFromList().

Referenced by OfxhParamSet().

Here is the call graph for this function:

bool tuttle::host::ofx::attribute::OfxhParamSet::operator== ( const This other) const [inline]

Definition at line 51 of file OfxhParamSet.hpp.

References _paramVector.

Referenced by operator!=().

virtual void tuttle::host::ofx::attribute::OfxhParamSet::paramChanged ( const attribute::OfxhParam param,
const EChange  change 
) [pure virtual]

The inheriting plugin instance needs to set this up to deal with plug-ins changing their own values.

Implemented in tuttle::host::ofx::imageEffect::OfxhImageEffectNode, and tuttle::host::ofx::attribute::OfxhParamGroup.

Referenced by tuttle::host::ofx::attribute::OfxhParamGroup::paramChanged(), and tuttle::host::ofx::attribute::OfxhParam::paramChanged().

void tuttle::host::ofx::attribute::OfxhParamSet::reserveParameters ( const std::size_t  size) [inline, protected]

Field Documentation


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