mdloperand | Substance 3D Automation ToolKit

Note

Documentation for Substance Automation Toolkit is now included in the SAT package. You can access the documentation by opening html-doc.zip inside your downloaded SAT package.

mdloperand

Module mdloperand provides the definition of the classes related to the operand structure as in .sbs format:

 class mdl.mdloperand.MDLOperand(aName='', aType='', aMetaData=None)  

Bases: pysbs.common_interfaces.sbsobject.SBSObject

Base class for:

Members:
  • mName (string): name of the operand
  • mType (string): type of the operand (its type’s MDL path)
  • mMetaData (MDLOperandMetaData, optional): various meta-data
 acceptConnection()  

Check if this operand accepts a connection (a pin is visible and active for this parameter)

Returns:True if the operand accepts connection, False otherwise
 equals(other)  

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:other (SBSObject) – The SBSObject to compare to
Returns:True if the two SBSObject are similar according to their definition.
 static getSBSTag()  
 getType()  

Get the type of the operand

Returns:The operand type as a string
 getUidIsUsed(aUID)  

Check if the given uid is already used in the context of this SBSObject.

Parameters:aUID (str) – UID to check
Returns:True if the uid is already used, False otherwise
Raise:AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
 getValue()  

Get the value of the operand

Returns:The operand value, as a string or a MDLOperands object
 isDefaultValue()  

Check if the value of this operand is the default one

Returns:True if the value of the operand is the default one, False otherwise
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 setConnectionAccepted(aValue)  

Defines if the connection are accepted or not

Parameters:aValue (bool) – The value to set.
 setIsDefaultValue(isDefaultValue)  

Defines if the operand has the default value or not

Parameters:isDefaultValue (bool) – The value to set.
 write(aSBSWriter, aXmlNode)  

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill
 class mdl.mdloperand.MDLOperandArray(aName='', aType='', aItems=None, aMetaData=None)  

Bases: mdl.mdloperand.MDLOperand

Class MDLOperandArray: An array operand

Members:
  • mName (string): name of the operand
  • mType (string): type of the operand (its type’s MDL path)
  • mItems (MDLOperands): the list of operands
  • mMetaData (MDLOperandMetaData, optional): various meta-data
 acceptConnection()  

Check if this operand accepts a connection (a pin is visible and active for this parameter)

Returns:True if the operand accepts connection, False otherwise
 addItem(aValue, aIndex = -1)  

Add an item with the given value to the array, at the given index if it is provided, or at the end.

Parameters:
  • aValue (any type) – The value to add
  • aIndex (int, optional) – The index where to add the item. At the end by default
Returns:

The added item as a MDLOperand

Raise:

SBSImpossibleActionError

 equals(other)  

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:other (SBSObject) – The SBSObject to compare to
Returns:True if the two SBSObject are similar according to their definition.
 getItem(aIndex)  

Get the item at the given index

Parameters:aIndex (positive integer) – the index of the item to get
Returns:The MDLOperand at the given index if it possible, None otherwise
 getItems()  

Get the array of items on this operand array

Returns:The items as a list of MDLOperand
 static getSBSTag()  
 getSize()  

Get the size of the array

Returns:The array size as a positive integer
 getType()  

Get the type of the operand

Returns:The operand type as a string
 getUidIsUsed(aUID)  

Check if the given uid is already used in the context of this SBSObject.

Parameters:aUID (str) – UID to check
Returns:True if the uid is already used, False otherwise
Raise:AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
 getValue()  

Get the value of this operand

Returns:The value of the operand, as a MDLOperands
 isDefaultValue()  

Check if the value of this operand is the default one

Returns:True if the value of the operand is the default one, False otherwise
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 setConnectionAccepted(aValue)  

Defines if the connection are accepted or not

Parameters:aValue (bool) – The value to set.
 setIsDefaultValue(isDefaultValue)  

Defines if the operand has the default value or not

Parameters:isDefaultValue (bool) – The value to set.
 setValue(aValue)  

Set the value of this operand

Parameters:aValue (MDLOperandArray) – the value to set
 write(aSBSWriter, aXmlNode)  

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill
 class mdl.mdloperand.MDLOperandMetaData(aAcceptConnection=None, aIsDefaultValue=None)  

Bases: pysbs.common_interfaces.sbsobject.SBSObject

Class MDLOperandMetaData contains additional information associated to operands.

Members:
  • mAcceptConnection (string, optional): defines if the connections are allowed on this operand. Default to False
  • mIsDefaultValue (string, optional): defines if the operand has the default value. Default to False
 acceptConnection()  

Check if this operand accepts a connection (a pin is visible and active for this parameter)

Returns:True if the operand accepts connection, False otherwise
 equals(other)  

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:other (SBSObject) – The SBSObject to compare to
Returns:True if the two SBSObject are similar according to their definition.
 getUidIsUsed(aUID)  

Check if the given uid is already used in the context of this SBSObject.

Parameters:aUID (str) – UID to check
Returns:True if the uid is already used, False otherwise
Raise:AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
 isDefaultValue()  

Check if the value of this operand is the default one

Returns:True if the value of the operand is the default one, False otherwise
 isEmpty()  

Check if the content of the metadata is empty

Returns:True if there is no metadata, False otherwise
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 setConnectionAccepted(aValue)  

Defines if the connection are accepted or not

Parameters:aValue (bool) – The value to set.
 setIsDefaultValue(isDefaultValue)  

Defines if the operand is the default value or not

Parameters:isDefaultValue (bool) – The value to set.
 write(aSBSWriter, aXmlNode)  

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill
 class mdl.mdloperand.MDLOperandStruct(aName='', aType='', aMembers=None, aMetaData=None)  

Bases: mdl.mdloperand.MDLOperand

Class MDLOperandStruct: A compound type (struct) operand.

Members:
  • mName (string): name of the operand
  • mType (string): type of the operand (its type’s MDL path)
  • mMembers (MDLOperands): the sub-operands
  • mMetaData (MDLOperandMetaData, optional): various meta-data
 acceptConnection()  

Check if this operand accepts a connection (a pin is visible and active for this parameter)

Returns:True if the operand accepts connection, False otherwise
 equals(other)  

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:other (SBSObject) – The SBSObject to compare to
Returns:True if the two SBSObject are similar according to their definition.
 getMembers()  

Get the list of members on this operand struct

Returns:The members as a list of MDLOperand
 getOperand(aOperandName)  

Get the operand with the given name among the structure members. The name can be: - Simply the name of the operand to get - A set of names separated by ‘/’ to access a sub member of the root member, for instance ‘surface/intensity’ - A name with an operator [] to access a particular item of an operand array, for instance ‘color[2]’

Parameters:aOperandName (str) – The name of the operand to search
Returns:The operand as a MDLOperand if found, None otherwise
 static getSBSTag()  
 getType()  

Get the type of the operand

Returns:The operand type as a string
 getUidIsUsed(aUID)  

Check if the given uid is already used in the context of this SBSObject.

Parameters:aUID (str) – UID to check
Returns:True if the uid is already used, False otherwise
Raise:AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
 getValue()  

Get the value of this operand

Returns:The value of the operand, as a MDLOperands
 isDefaultValue()  

Check if the value of this operand is the default one

Returns:True if the value of the operand is the default one, False otherwise
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 setConnectionAccepted(aValue)  

Defines if the connection are accepted or not

Parameters:aValue (bool) – The value to set.
 setIsDefaultValue(isDefaultValue)  

Defines if the operand has the default value or not

Parameters:isDefaultValue (bool) – The value to set.
 setValue(aValue)  

Set the value of this operand

Parameters:aValue (MDLOperandStruct) – the value to set
 write(aSBSWriter, aXmlNode)  

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill
 class mdl.mdloperand.MDLOperandValue(aName='', aType='', aValue='', aMetaData=None)  

Bases: mdl.mdloperand.MDLOperand

Class MDLOperandValue: A simple base-type operand.

Members:
  • mName (string): name of the operand
  • mType (string): type of the operand (its type’s MDL path)
  • mValue (string): value of the operand
  • mMetaData (MDLOperandMetaData, optional): various meta-data
 acceptConnection()  

Check if this operand accepts a connection (a pin is visible and active for this parameter)

Returns:True if the operand accepts connection, False otherwise
 equals(other)  

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:other (SBSObject) – The SBSObject to compare to
Returns:True if the two SBSObject are similar according to their definition.
 static getSBSTag()  
 getType()  

Get the type of the operand

Returns:The operand type as a string
 getTypedValue()  

Get the value of this operand, in the type of the operand

Returns:The value of the operand, in the type of the operand
 getUidIsUsed(aUID)  

Check if the given uid is already used in the context of this SBSObject.

Parameters:aUID (str) – UID to check
Returns:True if the uid is already used, False otherwise
Raise:AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
 getValue()  

Get the value of this operand

Returns:The value of the operand, as a string
 isDefaultValue()  

Check if the value of this operand is the default one

Returns:True if the value of the operand is the default one, False otherwise
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 setConnectionAccepted(aValue)  

Defines if the connection are accepted or not

Parameters:aValue (bool) – The value to set.
 setIsDefaultValue(isDefaultValue)  

Defines if the operand has the default value or not

Parameters:isDefaultValue (bool) – The value to set.
 setValue(aValue)  

Set the value of this operand

Parameters:aValue (any type) – the value to set
 write(aSBSWriter, aXmlNode)  

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill
 class mdl.mdloperand.MDLOperands(aOperands=None)  

Bases: pysbs.common_interfaces.sbsobject.SBSObject

Class that contains information on the MDL operands as defined in a .sbs file. A MDLOperands provides the list of parameters of a MDLNode or of a MDLAnnotation, and is constituted of a list of: - MDLOperandValue - MDLOperandStruct - MDLOperandArray

Members:
  • mOperands (list of MDLOperand, optional): list of parameters available on this node
 equals(other)  

Check if this SBSObject is equivalent to the other SBSObject. Some members may be excluded from this check, the UIDs or GUILayout for instance.

Parameters:other (SBSObject) – The SBSObject to compare to
Returns:True if the two SBSObject are similar according to their definition.
 equalsTo(other)  

Allows to check if two MDLOperands are identical.

Parameters:other (MDLOperands) – the MDLOperands to compare with
Returns:True if the two MDLOperands has the same parameters, False otherwise
 getAllOperands()  

Get the all the operands.

Returns:A list of MDLOperand
 getAllOperandsValue()  

Get all the operand values

Returns:A list of string and MDLOperand objects
 getNbOperands()  
Returns:The number of operands
 getOperand(aOperandName)  

Get the operand with the given name. The name can be: - Simply the name of the operand to get - A set of names separated by ‘/’ to access a sub member of the root member, for instance ‘surface/intensity’ - A name with an operator [] to access a particular item of an operand array, for instance ‘color[2]’

Parameters:aOperandName (str) – The name of the operand to search
Returns:The operand as a MDLOperand if found, None otherwise
 getOperandByIndex(aIndex)  

Get the operand at the given index

Parameters:
  • aIndex – The index of the operand to get
  • aIndex – positive integer
Returns:

The operand as a MDLOperand if possible, None otherwise

 getOperandValue(aOperandName)  

Get the value of the operand with the given name.

Parameters:
  • aOperandName – The name of the operand to search
  • aOperandName – str
Returns:

The operand value as a string (for a MDLOperandValue) or a list of MDLOperand (for a MDLOperandStruct or a MDLOperandArray) if found, None otherwise

 getOperandValueByIndex(aIndex)  

Get the value of the operand at the given index

Parameters:
  • aIndex – The index of the operand to get
  • aIndex – positive integer
Returns:

The operand value as a string (for a MDLOperandValue) or a list of MDLOperand (for a MDLOperandStruct or a MDLOperandArray) if possible, None otherwise

 getUidIsUsed(aUID)  

Check if the given uid is already used in the context of this SBSObject.

Parameters:aUID (str) – UID to check
Returns:True if the uid is already used, False otherwise
Raise:AttributeError if the function getUidIsUsed in not properly overloaded on this SBSObject
 parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)  

Parse recursively the given xml node to retrieve the content of the SBSObject.

Parameters:
  • aContext (Context) – execution context
  • aDirAbsPath (str) – the absolute directory containing the current parsed package (.sbs file)
  • aSBSParser (SBSParser) – the substance parser
  • aXmlNode (xml.etree.ElementTree) – the xml node to parse
 write(aSBSWriter, aXmlNode)  

Write recursively the content of the SBSObject into the given xml node.

Parameters:
  • aSBSWriter (SBSWriter) – the substance writer
  • aXmlNode (xml.etree.ElementTree) – the xml node to fill

Adobe, Inc.

Get help faster and easier

New user?