Cortex
10.0.0-a4
|
The ClassParameter is a specialised CompoundParameter which allows its children to be specified by another Parameterised class which is loaded using the ClassLoader. More...
Public Member Functions | |
def | __init__ |
def | getClass |
Return the class being held. More... | |
def | setClass |
Sets the class being held. More... | |
![]() | |
IE_CORE_DECLARERUNTIMETYPED (CompoundParameter, Parameter) | |
CompoundParameter (const std::string &name="", const std::string &description="", ConstCompoundObjectPtr userData=nullptr, bool adoptChildPresets=true) | |
template<typename I > | |
CompoundParameter (const std::string &name, const std::string &description, I membersBegin, I membersEnd, ConstCompoundObjectPtr userData=nullptr, bool adoptChildPresets=true) | |
const Object * | defaultValue () const override |
const PresetsContainer & | getPresets () const override |
void | setPresets (const PresetsContainer &presets) override |
bool | presetsOnly () const override |
bool | valueValid (const Object *value, std::string *reason=nullptr) const override |
void | setValue (ObjectPtr value) override |
Object * | getValue () override |
const Object * | getValue () const override |
As above. | |
void | addParameter (ParameterPtr parameter) |
template<typename I > | |
void | addParameters (I begin, I end) |
void | insertParameter (ParameterPtr parameter, ConstParameterPtr other) |
void | removeParameter (ParameterPtr parameter) |
void | removeParameter (const std::string &name) |
void | clearParameters () |
Removes all child parameters. | |
const ParameterMap & | parameters () const |
const ParameterVector & | orderedParameters () const |
template<typename T > | |
T * | parameter (const std::string &name) |
template<typename T > | |
const T * | parameter (const std::string &name) const |
bool | parameterPath (const Parameter *child, std::vector< std::string > &path) const |
void | setParameterValue (const std::string &name, ObjectPtr value) |
void | setValidatedParameterValue (const std::string &name, ObjectPtr value) |
Object * | getParameterValue (const std::string &name) |
Object * | getValidatedParameterValue (const std::string &name) |
![]() | |
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 InternedString & | internedName () const |
const std::string & | description () const |
Returns the description for this parameter. | |
CompoundObject * | userData () |
Returns the userdata. This can be modified freely. | |
const CompoundObject * | userData () 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 |
void | setValidatedValue (ObjectPtr value) |
void | setValue (const std::string &presetName) |
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 | |
![]() | |
typedef std::map< InternedString, ParameterPtr > | ParameterMap |
A type to map from names to Parameters. | |
typedef std::vector< ParameterPtr > | ParameterVector |
A type to hold a vector of Parameters. | |
![]() | |
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 |
![]() | |
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 ClassParameter is a specialised CompoundParameter which allows its children to be specified by another Parameterised class which is loaded using the ClassLoader.
This allows one class to easily nest another while exposing the other's parameters publicly.
def IECore.ClassParameter.getClass | ( | self, | |
withClassLoaderArgs = False |
|||
) |
Return the class being held.
If withClassLoaderArgs is True then a tuple is returned in the following form : ( class, className, classVersion, searchPathEnvVar ).
References IECore.ClassParameter.__classInstance, IECore.ClassParameter.__className, IECore.ClassParameter.__classVersion, and IECore.ClassParameter.__searchPathEnvVar.
def IECore.ClassParameter.setClass | ( | self, | |
className, | |||
classVersion, | |||
searchPathEnvVar = None |
|||
) |
Sets the class being held.
The specified class is loaded using a ClassLoader and the class' parameters are added to this parameter as children.
References IECore.ClassParameter.__classInstance, IECore.ClassParameter.__className, IECore.ClassParameter.__classVersion, IECore.ClassParameter.__searchPathEnvVar, IECore::CompoundParameter.addParameters(), IECore::CompoundParameter.clearParameters(), IECore.ClassLoader.defaultLoader(), IECore.registerRunTimeTyped(), and IECore.ParameterParser.registerType().
Referenced by IECore.ClassVectorParameter.setClasses().