Cortex
10.0.0-a4
|
#include <Parameter.h>
Public Types | |
typedef std::pair< std::string, ObjectPtr > | Preset |
typedef std::vector< Preset > | PresetsContainer |
A type to store a bunch of preset values for the Parameter. | |
![]() | |
typedef RefCounted | BaseClass |
A typedef for the class this class derives from. All RunTimeTyped classes define this typedef. | |
![]() | |
typedef size_t | RefCount |
Public Member Functions | |
IE_CORE_DECLARERUNTIMETYPED (Parameter, RunTimeTyped) | |
Parameter (const std::string &name, const std::string &description, ObjectPtr defaultValue, const PresetsContainer &presets=PresetsContainer(), bool presetsOnly=false, ConstCompoundObjectPtr userData=nullptr) | |
Basic Parameter information | |
const std::string & | name () const |
Returns the name of this parameter. | |
const InternedString & | internedName () const |
const std::string & | description () const |
Returns the description for this parameter. | |
virtual const Object * | defaultValue () const |
Returns the default value for this parameter. | |
virtual const PresetsContainer & | getPresets () const |
Returns the presets for this parameter. | |
virtual void | setPresets (const PresetsContainer &presets) |
Overrides the presets for this parameter. | |
virtual bool | presetsOnly () const |
CompoundObject * | userData () |
Returns the userdata. This can be modified freely. | |
const CompoundObject * | userData () const |
Read only version of the above. | |
Validation | |
The Parameter class defines the concept of whether or not a value is valid. This is used to provide guarantees about the values passed to Parameterised processes. For various efficiency reasons it's possible to set an invalid value, but member functions are provided to guarantee validity when it's needed. | |
virtual bool | valueValid (const Object *value, std::string *reason=nullptr) const |
bool | valueValid (std::string *reason=nullptr) const |
Calls valueValid( getValue(), reason ) | |
void | validate () const |
void | validate (const Object *value) const |
Value setting | |
These functions set the Parameter value, with or without validation.
| |
virtual void | setValue (ObjectPtr value) |
void | setValidatedValue (ObjectPtr value) |
void | setValue (const std::string &presetName) |
Value getting | |
These functions provide access to the Parameter value, with or without validation.
| |
virtual Object * | getValue () |
virtual const Object * | getValue () const |
Object * | getValidatedValue () |
const Object * | getValidatedValue () const |
template<typename T > | |
T * | getTypedValue () |
Convenience function returning runTimeCast<T>( getValue() ). | |
template<typename T > | |
const T * | getTypedValue () const |
Convenience function returning runTimeCast<T>( getValue() ). | |
template<typename T > | |
T * | getTypedValidatedValue () |
template<typename T > | |
const T * | getTypedValidatedValue () const |
std::string | getCurrentPresetName () const |
![]() | |
IE_CORE_DECLAREMEMBERPTR (RunTimeTyped) | |
virtual TypeId | typeId () const |
virtual const char * | typeName () const |
virtual bool | isInstanceOf (TypeId typeId) const |
virtual bool | isInstanceOf (const char *typeName) const |
![]() | |
IE_CORE_DECLAREMEMBERPTR (RefCounted) | |
void | addRef () const |
Add a reference to the current object. | |
void | removeRef () const |
Remove a reference from the current object. | |
RefCount | refCount () const |
Returns the current reference count. | |
Additional Inherited Members | |
![]() | |
static TypeId | staticTypeId () |
Returns the TypeId for this class, without needing an instance. | |
static const char * | staticTypeName () |
Returns the type name for this class, without needing an instance. | |
static TypeId | baseTypeId () |
static const char * | baseTypeName () |
static bool | inheritsFrom (TypeId typeId) |
Returns true if this class inherits from the specified type. | |
static bool | inheritsFrom (const char *typeName) |
Returns true if this class inherits from the specified type. | |
static bool | inheritsFrom (TypeId type, TypeId baseType) |
Returns true if type inherits from baseType. | |
static bool | inheritsFrom (const char *typeName, const char *baseTypeName) |
Returns true if typeName inherits from baseTypeName. | |
static TypeId | baseTypeId (TypeId typeId) |
Returns the base type of the given type, or InvalidTypeId if no such base exists. | |
static const std::vector< TypeId > & | baseTypeIds (TypeId typeId) |
static const std::set< TypeId > & | derivedTypeIds (TypeId typeId) |
static TypeId | typeIdFromTypeName (const char *typeName) |
static const char * | typeNameFromTypeId (TypeId typeId) |
static void | registerType (TypeId derivedTypeId, const char *derivedTypeName, TypeId baseTypeId) |
Allows external modules to register their own type ids. | |
![]() | |
typedef std::map< TypeId, TypeId > | BaseTypeRegistryMap |
typedef std::map< TypeId, std::vector< TypeId > > | BaseTypesRegistryMap |
typedef std::map< TypeId, std::set< TypeId > > | DerivedTypesRegistryMap |
typedef tbb::spin_rw_mutex | Mutex |
typedef std::map< TypeId, std::string > | TypeIdsToTypeNamesMap |
typedef std::map< std::string, TypeId > | TypeNamesToTypeIdsMap |
![]() | |
static BaseTypeRegistryMap & | baseTypeRegistry () |
static DerivedTypesRegistryMap & | derivedTypesRegistry () |
static BaseTypesRegistryMap & | completeBaseTypesRegistry () |
static DerivedTypesRegistryMap & | completeDerivedTypesRegistry () |
static void | derivedTypeIdsWalk (TypeId typeId, std::set< TypeId > &) |
static TypeIdsToTypeNamesMap & | typeIdsToTypeNames () |
static TypeNamesToTypeIdsMap & | typeNamesToTypeIds () |
![]() | |
static Mutex | g_baseTypeIdsMutex |
static Mutex | g_derivedTypeIdsMutex |
The Parameter base class represents a means of describing data to be passed to some process.
typedef std::pair<std::string, ObjectPtr> IECore::Parameter::Preset |
A type which associates a value for the Parameter with a name.
IECore::Parameter::Parameter | ( | const std::string & | name, |
const std::string & | description, | ||
ObjectPtr | defaultValue, | ||
const PresetsContainer & | presets = PresetsContainer() , |
||
bool | presetsOnly = false , |
||
ConstCompoundObjectPtr | userData = nullptr |
||
) |
Creates a new Parameter. If presetsOnly is true then the parameter acts somewhat like an enum and only accepts values if they are present in the presets map.
std::string IECore::Parameter::getCurrentPresetName | ( | ) | const |
If the current value is one of the presets, then returns its name, otherwise returns the empty string.
T* IECore::Parameter::getTypedValidatedValue | ( | ) |
Convenience function returning runTimeCast<T>( getValidatedValue() ). Note that if a value is valid but not of the requested type an Exception is not thrown.
const T* IECore::Parameter::getTypedValidatedValue | ( | ) | const |
Convenience function returning runTimeCast<T>( getValidatedValue() ). Note that if a value is valid but not of the requested type an Exception is not thrown.
Object* IECore::Parameter::getValidatedValue | ( | ) |
Returns the value held by this parameter if it is valid, throwing an Exception if it is not.
const Object* IECore::Parameter::getValidatedValue | ( | ) | const |
Returns the value held by this parameter if it is valid, throwing an Exception if it is not.
|
virtual |
Returns the value held by this parameter. Note that this value may not be valid.
Reimplemented in IECore::CompoundParameter.
|
virtual |
Returns the value held by this parameter. Note that this value may not be valid.
Reimplemented in IECore::CompoundParameter.
|
virtual |
Returns true if this parameter only accepts parameters present as presets.
Reimplemented in IECore::CompoundParameter.
void IECore::Parameter::setValidatedValue | ( | ObjectPtr | value | ) |
If valueValid( value ) is true, calls setValue( value ), otherwise throws an Exception.
|
virtual |
Sets the value held by this parameter. Note that this function will not prevent you from setting a value for which valueValid( value ) is false.
Reimplemented in IECore::CompoundParameter.
void IECore::Parameter::setValue | ( | const std::string & | presetName | ) |
Sets the value held by this parameter to one of the named presets. Throws an exception if presetName is not a defined preset.
void IECore::Parameter::validate | ( | ) | const |
Throws an Exception if valueValid( getValue() ) is false, otherwise does nothing.
void IECore::Parameter::validate | ( | const Object * | value | ) | const |
Throws an Exception if valueValid( value ) is false, otherwise does nothing.
|
virtual |
Determines whether or not a given value is suitable for use in this Parameter. Should be implemented in subclasses to perform validation on the supplied value, returning false if it's unsuitable. When returning false, reason should be set to some descriptive string. All implementations should call the base class valueValid(), returning false immediately if it returns false. The default implementation returns false only if presetsOnly() is true and value is not present in the presets() map, or if value is a NullObject instance.
Reimplemented in IECore::NumericParameter< T >, IECore::CompoundParameter, IECore::FileSequenceVectorParameter, IECore::TypedObjectParameter< T >, IECore::PathVectorParameter, IECore::FileSequenceParameter, IECore::PathParameter, IECore::TypedParameter< T >, IECore::FileNameParameter, IECore::ObjectParameter, IECore::ValidatedStringParameter, and IECore::DirNameParameter.