MCPcopy Create free account
hub / github.com/ImageEngine/cortex / setClass

Method setClass

python/IECore/ClassVectorParameter.py:136–161  ·  view source on GitHub ↗
( self, parameterOrParameterName, className, classVersion )

Source from the content-addressed store, hash-verified

134 # a parameter somewhere other than the end, use getClasses()
135 # and setClasses().
136 def setClass( self, parameterOrParameterName, className, classVersion ) :
137
138 if isinstance( parameterOrParameterName, str ) :
139 parameterName = parameterOrParameterName
140 parameter = self.parameter( parameterOrParameterName )
141 if not parameter :
142 parameter = IECore.CompoundParameter( parameterName, "" )
143 self.addParameter( parameter )
144 else :
145 parameter = parameterOrParameterName
146 parameterName = parameter.name
147
148 instance = self.__namesToInstances.setdefault( parameterName, [ None, "", 0 ] )
149
150 if [ className, classVersion ] != instance[1:] :
151
152 loader = IECore.ClassLoader.defaultLoader( self.__searchPathEnvVar )
153 instance[0] = loader.load( className, classVersion )()
154 instance[1] = className
155 instance[2] = classVersion
156
157 parameter.clearParameters()
158 parameter.addParameters( instance[0].parameters().values() )
159
160 # copy user data over:
161 parameter.userData().copyFrom( instance[0].parameters().userData() )
162
163 ## Removes the class held by the named parameter.
164 def removeClass( self, parameterName ) :

Callers 2

setClassesMethod · 0.95

Calls 11

clearParametersMethod · 0.95
CompoundParameterMethod · 0.80
setdefaultMethod · 0.80
defaultLoaderMethod · 0.80
addParametersMethod · 0.80
addParameterMethod · 0.45
loadMethod · 0.45
valuesMethod · 0.45
parametersMethod · 0.45
copyFromMethod · 0.45
userDataMethod · 0.45

Tested by 1