Cortex  10.0.0-a4
Public Types | Public Member Functions | List of all members
IECore::ObjectParameter Class Reference

#include <ObjectParameter.h>

+ Inheritance diagram for IECore::ObjectParameter:

Public Types

typedef std::set< TypeIdTypeIdSet
 
- Public Types inherited from IECore::Parameter
typedef std::pair< std::string, ObjectPtr > Preset
 
typedef std::vector< PresetPresetsContainer
 A type to store a bunch of preset values for the Parameter.
 
- Public Types inherited from IECore::RunTimeTyped
typedef RefCounted BaseClass
 A typedef for the class this class derives from. All RunTimeTyped classes define this typedef.
 
- Public Types inherited from IECore::RefCounted
typedef size_t RefCount
 

Public Member Functions

 ObjectParameter (const std::string &name, const std::string &description, ObjectPtr defaultValue, TypeId type, const PresetsContainer &presets=PresetsContainer(), bool presetsOnly=false, ConstCompoundObjectPtr userData=nullptr)
 
 ObjectParameter (const std::string &name, const std::string &description, ObjectPtr defaultValue, const TypeIdSet &types, const PresetsContainer &presets=PresetsContainer(), bool presetsOnly=false, ConstCompoundObjectPtr userData=nullptr)
 
 ObjectParameter (const std::string &name, const std::string &description, ObjectPtr defaultValue, const TypeId *types, const PresetsContainer &presets=PresetsContainer(), bool presetsOnly=false, ConstCompoundObjectPtr userData=nullptr)
 types must be an array of TypeIds terminated with InvalidTypeId.
 
bool valueValid (const Object *value, std::string *reason=nullptr) const override
 Returns false if isn't an instance of any type in validTypes(), or any type derived from those types.
 
const TypeIdSet & validTypes () const
 Returns a set containing the valid types.
 
- Public Member Functions inherited from IECore::Parameter
 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)
 
const std::string & name () const
 Returns the name of this parameter.
 
const InternedStringinternedName () const
 
const std::string & description () const
 Returns the description for this parameter.
 
virtual const ObjectdefaultValue () const
 Returns the default value for this parameter.
 
virtual const PresetsContainergetPresets () const
 Returns the presets for this parameter.
 
virtual void setPresets (const PresetsContainer &presets)
 Overrides the presets for this parameter.
 
virtual bool presetsOnly () const
 
CompoundObjectuserData ()
 Returns the userdata. This can be modified freely.
 
const CompoundObjectuserData () const
 Read only version of the above.
 
bool valueValid (std::string *reason=nullptr) const
 Calls valueValid( getValue(), reason )
 
void validate () const
 
void validate (const Object *value) const
 
virtual void setValue (ObjectPtr value)
 
void setValidatedValue (ObjectPtr value)
 
void setValue (const std::string &presetName)
 
virtual ObjectgetValue ()
 
virtual const ObjectgetValue () const
 
ObjectgetValidatedValue ()
 
const ObjectgetValidatedValue () 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
 
- Public Member Functions inherited from IECore::RunTimeTyped
 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
 
- Public Member Functions inherited from IECore::RefCounted
 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 Public Member Functions inherited from IECore::RunTimeTyped
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.
 
- Protected Types inherited from IECore::RunTimeTyped
typedef std::map< TypeId, TypeIdBaseTypeRegistryMap
 
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, TypeIdTypeNamesToTypeIdsMap
 
- Static Protected Member Functions inherited from IECore::RunTimeTyped
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 Protected Attributes inherited from IECore::RunTimeTyped
static Mutex g_baseTypeIdsMutex
 
static Mutex g_derivedTypeIdsMutex
 

Detailed Description

The ObjectParameter class implements a Parameter which validates based on a list of acceptable TypeIds.


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