JeVois  1.0
JeVois Smart Embedded Machine Vision Toolkit

The concept of parameter in the JeVois framework embodies wrappers around a single value of any type, with associated documentation (description), default values, possible specification of valid values, accessor functions to obtain or change the value, and optional callback functions that are triggered when the value is changed. Parameters are intended to be used in objects that inherit from Component. The goal of parameters is to expose parameters of a given vision algorithm in such a way that any piece of code that is using that algorithm will automatically inherit and expose these parameters.

How to explore this documentation module:

The other classes in this documentation modules are mainly for support of the above ones.

Collaboration diagram for Parameter-related classes and functions:

Classes

class  jevois::ParameterSummary
 ParameterSummary provides a summary about a parameter. More...
 
class  jevois::ParameterBase
 Base class for Parameter. More...
 
class  jevois::ParameterCore< T >
 A changeable parameter for a Component, core class. More...
 
class  jevois::Parameter< Param, Tail...>
 A set of Parameters attached to a component. More...
 
struct  jevois::ParameterCategory
 A category to which multiple ParameterDef definitions can belong. More...
 
class  jevois::ParameterDefBase
 Base class for a Parameter definition. More...
 
class  jevois::ParameterDef< T >
 A Parameter Definition. More...
 
class  jevois::ParameterRegistry
 A simple registry of all parameters associated with a Component. More...
 

Modules

 String conversions for Parameter
 
 Specification of sets of valid values, e.g., that some Parameter may take
 

Functions

 jevois::ParameterBase::ParameterBase ()
 Constructor. More...
 
virtual jevois::ParameterBase::~ParameterBase ()
 Destructor, will remove the parameter from its owner component. More...
 
virtual std::string const & jevois::ParameterBase::name () const =0
 Get the parameter name. More...
 
virtual std::string jevois::ParameterBase::descriptor () const =0
 Get the parameter fully-qualified name, aka descriptor, including names of owning Component and all parents. More...
 
virtual void jevois::ParameterBase::strset (std::string const &valstring)=0
 Set the value from a string representation of it. More...
 
virtual std::string const jevois::ParameterBase::strget () const =0
 Get the value as a string. More...
 
virtual ParameterSummary const jevois::ParameterBase::summary () const =0
 Get summary info about this parameter. More...
 
void jevois::ParameterBase::freeze ()
 Freeze this parameter, it becomes read-only and will not show up in the help message. More...
 
void jevois::ParameterBase::unFreeze ()
 Unfreeze this parameter, it becomes read-write and will show up in the help message. More...
 

Variables

std::string jevois::ParameterSummary::descriptor
 Descriptor. This is the name of the parameter, qualified by a chain of component names. More...
 
std::string jevois::ParameterSummary::name
 Plain name of the parameter. More...
 
std::string jevois::ParameterSummary::description
 Description of the parameter. More...
 
std::string jevois::ParameterSummary::valuetype
 Parameter value type, as a string. More...
 
std::string jevois::ParameterSummary::defaultvalue
 Default value of the parameter, as a string. More...
 
std::string jevois::ParameterSummary::value
 Current value of the parameter, as a string. More...
 
std::string jevois::ParameterSummary::validvalues
 Description of the parameter's valid values specification, as a string. More...
 
std::string jevois::ParameterSummary::category
 Category of the parameter, as a string. More...
 
std::string jevois::ParameterSummary::categorydescription
 Category description. More...
 
bool jevois::ParameterSummary::frozen
 Flag that indicates whether parameter is frozen. More...
 
boost::shared_mutex jevois::ParameterBase::itsMutex
 Mutex to protect the parameter value. More...
 
volatile bool jevois::ParameterBase::itsFrozen
 When true, parameter is frozen (read-only, does not show up in help message) More...
 
bool jevois::ParameterBase::itsVirgin
 Param has not yet been explicitly set, need to call the callback (if any) at init time. More...
 

Friends

class jevois::ParameterBase::ParameterRegistry
 

Function Documentation

virtual std::string jevois::ParameterBase::descriptor ( ) const
pure virtual

Get the parameter fully-qualified name, aka descriptor, including names of owning Component and all parents.

Implemented in jevois::ParameterCore< T >.

Referenced by jevois::detail::paramStringFromVal(), and jevois::detail::paramValFromString().

void jevois::ParameterBase::freeze ( )
inline

Freeze this parameter, it becomes read-only and will not show up in the help message.

Definition at line 37 of file ParameterImpl.H.

Referenced by jevois::Component::freezeParam().

virtual std::string const& jevois::ParameterBase::name ( ) const
pure virtual
jevois::ParameterBase::ParameterBase ( )
inline

Constructor.

Definition at line 25 of file ParameterImpl.H.

virtual std::string const jevois::ParameterBase::strget ( ) const
pure virtual

Get the value as a string.

Implemented in jevois::ParameterCore< T >.

Referenced by jevois::Component::getParamString().

virtual void jevois::ParameterBase::strset ( std::string const &  valstring)
pure virtual

Set the value from a string representation of it.

Exceptions
std::range_errorif the given string cannot be converted to a Parameter value, or the value is invalid according to our valid values spec or rejected by the Parameter's callback (if any).

Implemented in jevois::ParameterCore< T >.

Referenced by jevois::Component::setParamString().

virtual ParameterSummary const jevois::ParameterBase::summary ( ) const
pure virtual

Get summary info about this parameter.

Implemented in jevois::ParameterCore< T >.

void jevois::ParameterBase::unFreeze ( )
inline

Unfreeze this parameter, it becomes read-write and will show up in the help message.

Definition at line 41 of file ParameterImpl.H.

Referenced by jevois::Component::unFreezeParam().

jevois::ParameterBase::~ParameterBase ( )
inlinevirtual

Destructor, will remove the parameter from its owner component.

Definition at line 30 of file ParameterImpl.H.

Variable Documentation

std::string jevois::ParameterSummary::category

Category of the parameter, as a string.

Definition at line 78 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

std::string jevois::ParameterSummary::categorydescription

Category description.

Definition at line 81 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

std::string jevois::ParameterSummary::defaultvalue

Default value of the parameter, as a string.

Definition at line 69 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

std::string jevois::ParameterSummary::description

Description of the parameter.

Definition at line 63 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

std::string jevois::ParameterSummary::descriptor

Descriptor. This is the name of the parameter, qualified by a chain of component names.

Definition at line 57 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

bool jevois::ParameterSummary::frozen

Flag that indicates whether parameter is frozen.

Definition at line 84 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

volatile bool jevois::ParameterBase::itsFrozen
protected

When true, parameter is frozen (read-only, does not show up in help message)

Definition at line 125 of file Parameter.H.

boost::shared_mutex jevois::ParameterBase::itsMutex
mutableprotected

Mutex to protect the parameter value.

Definition at line 124 of file Parameter.H.

bool jevois::ParameterBase::itsVirgin
protected

Param has not yet been explicitly set, need to call the callback (if any) at init time.

Definition at line 126 of file Parameter.H.

std::string jevois::ParameterSummary::name

Plain name of the parameter.

Definition at line 60 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

std::string jevois::ParameterSummary::validvalues

Description of the parameter's valid values specification, as a string.

Definition at line 75 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

std::string jevois::ParameterSummary::value

Current value of the parameter, as a string.

Definition at line 72 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

std::string jevois::ParameterSummary::valuetype

Parameter value type, as a string.

Definition at line 66 of file Parameter.H.

Referenced by jevois::ParameterCore< T >::summary().

Friends

friend class ParameterRegistry
friend

Definition at line 129 of file Parameter.H.