Cortex  10.0.0-a4
Public Member Functions | List of all members
IECore.ClassVectorParameter Class Reference

The ClassVectorParameter is similar to the ClassParameter but instead of holding a single class it holds many classes, each storing its parameters under a named child of the ClassVectorParameter. More...

+ Inheritance diagram for IECore.ClassVectorParameter:

Public Member Functions

def __init__
 
def searchPathEnvVar (self)
 Returns the name of the environment variable which defines paths to search for child classes on. More...
 
def getClasses
 Returns a list of the classes held as children. More...
 
def setClasses (self, classes)
 Sets the classes held as children. More...
 
def getClass
 Returns the class instance that the named parameter represents, or if withClassLoaderArgs is True, then returns a tuple of the form ( classInstance, className, classVersion ). More...
 
def setClass (self, parameterOrParameterName, className, classVersion)
 Sets the class held by the named parameter, if no such parameter exists then one will be appended. More...
 
def removeClass (self, parameterName)
 Removes the class held by the named parameter. More...
 
def newParameterName
 Returns a good name for a new parameter. More...
 
- Public Member Functions inherited from IECore::CompoundParameter
 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 ObjectdefaultValue () const override
 
const PresetsContainergetPresets () 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
 
ObjectgetValue () override
 
const ObjectgetValue () 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 ParameterMapparameters () const
 
const ParameterVectororderedParameters () 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)
 
ObjectgetParameterValue (const std::string &name)
 
ObjectgetValidatedParameterValue (const std::string &name)
 
- 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.
 
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
 
void setValidatedValue (ObjectPtr value)
 
void setValue (const std::string &presetName)
 
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

- Public Types inherited from IECore::CompoundParameter
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.
 
- 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
 
- 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 ClassVectorParameter is similar to the ClassParameter but instead of holding a single class it holds many classes, each storing its parameters under a named child of the ClassVectorParameter.

Member Function Documentation

def IECore.ClassVectorParameter.getClass (   self,
  parameterOrParameterName,
  withClassLoaderArgs = False 
)

Returns the class instance that the named parameter represents, or if withClassLoaderArgs is True, then returns a tuple of the form ( classInstance, className, classVersion ).

References IECore.ClassVectorParameter.__namesToInstances.

def IECore.ClassVectorParameter.getClasses (   self,
  withClassLoaderArgs = False 
)

Returns a list of the classes held as children.

These are returned in the same order as the child parameters holding them. If withClassLoaderArgs is True then a list of tuples is returned, with each tuple being of the form ( classInstance, parameterName, className, classVersion ).

References IECore.ClassVectorParameter.__namesToInstances, IECore.LayeredDict.keys(), and IECore.SubstitutedDict.keys().

def IECore.ClassVectorParameter.newParameterName (   self,
  prefix = "p" 
)

Returns a good name for a new parameter.

It's not compulsory to use this function (any unique name is fine) but it can be useful to keep a consistent naming convention, and it removes the need to come up with unique names some other way.

References IECore.LayeredDict.keys(), IECore.SubstitutedDict.keys(), IECore.registerRunTimeTyped(), and IECore.ParameterParser.registerType().

def IECore.ClassVectorParameter.removeClass (   self,
  parameterName 
)

Removes the class held by the named parameter.

References IECore.ClassVectorParameter.__namesToInstances, and IECore::CompoundParameter.removeParameter().

Referenced by IECore.ClassVectorParameter.setClasses().

def IECore.ClassVectorParameter.searchPathEnvVar (   self)

Returns the name of the environment variable which defines paths to search for child classes on.

References IECore.ClassParameter.__searchPathEnvVar, and IECore.ClassVectorParameter.__searchPathEnvVar.

def IECore.ClassVectorParameter.setClass (   self,
  parameterOrParameterName,
  className,
  classVersion 
)

Sets the class held by the named parameter, if no such parameter exists then one will be appended.

To insert a parameter somewhere other than the end, use getClasses() and setClasses().

References IECore.ClassParameter.__searchPathEnvVar, IECore.ClassVectorParameter.__searchPathEnvVar, IECore::CompoundParameter.addParameter(), IECore.ClassLoader.defaultLoader(), IECore::CompoundParameter.parameter(), IECoreMaya.ParameterUI.parameter, IECore::CompoundParameter.parameters(), and IECore::Parameter.userData().

Referenced by IECore.ClassVectorParameter.setClasses().

def IECore.ClassVectorParameter.setClasses (   self,
  classes 
)

Sets the classes held as children.

Classes must be a list of tuples of the form ( parameterName, className, classVersion ). If any tuple in the list matches an existing child class, then that class will be preserved rather than replaced with a new instance of the same thing.

References IECore::CompoundParameter.addParameter(), IECore::CompoundParameter.insertParameter(), IECore.LayeredDict.keys(), IECore.SubstitutedDict.keys(), IECore.ClassVectorParameter.removeClass(), IECore::CompoundParameter.removeParameter(), IECore.ClassParameter.setClass(), and IECore.ClassVectorParameter.setClass().


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