- Substance 3D home
- Home
- Command Line Tools
- Command Line overview
- sbsbaker
- sbscooker
- sbsmtools
- sbsmutator
- sbsrender
- sbsupdater
- Command Line overview
- Pysbs - Python API
- Pysbs - Python API overview
- Getting started
- General topics
- Examples
- API Content
- API Content overview
- Substance definitions
- Common interfaces
- compnode
- context projectmgr
- graph
- mdl
- modelgraphindex
- modelannotationnames
- modelgraph
- modelgraphgenerator
- modelgraphimplementation
- modelnodenames
- modeloperand
- modulegraphindex
- moduleannotation
- moduleconnection
- modulegraph
- modulegraphgenerator
- modulegraphimplementation
- modulegraphlibrary
- modulegraphregister
- modulenode
- modulenodeimplementation
- modulenodeinstance
- moduleoperand
- moduleoutputbridging
- moduleparaminput
- params
- projectmgrdoc
- sbsarchive
- sbscommon
- sbspreset
- sbsproject
- substance
- Libraries
- sbsenum
- sbslibrary
- sbsbakerslibrary
- Helpers
- Execution context
- API Change log
- Samples
- Setup and Getting Started
- Integrations
- Substance Maya toolset
- Changelog overview
sbsargraph
Module sbsargraph aims to define SBSARObjects that are relative to a graph as saved in a .sbsar file, mostly SBSARGraph
, SBSARInput
, SBSAROutput
, SBSARPreset
and SBSARPresetInput
.
class sbsarchive.sbsargraph.SBSARGraph(aLabel='', aPkgUrl='', aGuiGroups=None, aParamInputs=None, aGraphOutputs=None, aPresets=None, aAuthor=None, aAuthorUrl=None, aCategory=None, aDescription=None, aHideInLibrary=None, aKeywords=None, aPhysicalSize=None, aPrimaryInput=None, aUserData=None, aMetaDataTree=None)
Bases: pysbs.common_interfaces.sbsarobject.SBSARObject
, pysbs.common_interfaces.basegraph.Graph
, sbsarchive.sbsarmetadata.SBSARMetaDataObject
Class that contains information on a compositing graph as defined in a .sbsar file
- Members:
- mLabel (str): label of the graph.
- mPkgUrl (str): URL of the graph relatively to the package (pkg://graphIdentifier).
- mGuiGroups (list of
SBSARGuiGroup
): List of parameters groups. - mParamInputs (list of
SBSARInput
): list of parameters and compositing inputs of the graph. - mGraphOutputs (list of
SBSAROutput
): list of compositing outputs of the graph. - mPresets (list of
SBSARPreset
): list of presets. - mAuthor (str, optional): Author.
- mAuthorUrl (str, optional): Author URL.
- mCategory (str, optional): Category.
- mDescription (str, optional): Textual graph description.
- mHideInLibrary (str, optional): Define if the graph is hidden in the library or not. Default to ‘off’
- mKeywords (str, optional): List of tags separated by a space.
- mPhysicalSize (str, optional): Physical Size attribute
- mPrimaryInput (str, optional): The identifier of the primary (image) input.
- mUserData (str, optional): Textual user data.
createMetaDataStr(aName, aValue)
createMetaDataUrl(aName, aResource)
deleteMetaData(aName)
extractSbsarMetaDataPack(aDestFolderPath)
Extract all metadata resource files present in the sbsar.
Parameters: | aDestFolderPath (str) – a directory path |
---|---|
Returns: | a complete file path |
extractSbsarMetaDataResource(aDestFolderPath, aSbsarResourcePath)
Extract a resource file present in the sbsar. The sbsar resource path is the sbsar relative path to the resource file.
Parameters: |
|
---|---|
Returns: | a complete file path |
getAllGuiGroups()
Get the list of all parameter groups defined on this graph
Returns: | a list of SBSARGuiGroup |
---|
getAllInputGroups()
Get the list of all groups used for the inputs of the graph.
Returns: | a list of groups as strings |
---|
getAllInputs()
Get the list of all inputs (images and parameters) defined on this graph
Returns: | a list of SBSARInput |
---|
getAllInputsInGroup(aGroup)
Get the list of all inputs (images and parameters) contained in the given group.
If aGroup is None, returns all the parameters that are not included in a group.
Parameters: | aGroup (SBSARGuiGroup or str) – The group of parameter to consider, given a SBSARGuiGroup object or a Group identifier |
---|---|
Returns: | a list of SBSARInput |
getAllMetaData()
Get all MetaData under dictionary form.
Returns: | dict |
---|
getAllMetaDataIter()
Extract the metadata from sbsar and return an iterator
Returns: | a metadata dict |
---|
getAllPresets()
Get all the presets defined on this graph
Returns: | a list of Preset |
---|
getAttribute(aAttributeIdentifier)
Get the given attribute value
Parameters: | aAttributeIdentifier (AttributesEnum ) – the attribute identifier |
---|---|
Returns: | the attribute value if defined, None otherwise |
getGraphOutput(aOutputIdentifier)
Get the graph output with the given identifier
Parameters: | aOutputIdentifier (str) – identifier of the output |
---|---|
Returns: | a SBSAROutput object if found, None otherwise |
getGraphOutputType(aOutputIdentifier)
Get the output type of the GraphOutput with the given identifier
Parameters: | aOutputIdentifier (str) – identifier of the output |
---|---|
Returns: | the output type in the format ParamTypeEnum if found, None otherwise |
getGraphOutputWithUsage(aUsage)
Get the first GraphOutput which has the given usage defined
Parameters: | aUsage (UsageEnum or str) – usage to look for |
---|---|
Returns: | a SBSAROutput if found, None otherwise |
getGraphOutputs()
Get all the graph outputs
Returns: | the list of SBSAROutput defined on this graph |
---|
getGuiGroup(aGroupIdentifier)
Get the SBSARGuiGroup with the given identifier
Parameters: | aGroupIdentifier (str) – group identifier |
---|---|
Returns: | a SBSARGuiGroup if found, None otherwise |
getIdentifier()
getIdentifer()
Returns: | str identifier |
---|
getInput(aInputIdentifier)
Get the SBSARInput with the given identifier, among the input images and parameters
Parameters: | aInputIdentifier (str) – input parameter identifier |
---|---|
Returns: | the corresponding SBSARInput object if found, None otherwise |
getInputFromUID(aInputUID)
Get the SBSARInput with the given UID, among the input images and parameters
Parameters: | aInputUID (str) – input parameter UID |
---|---|
Returns: | the corresponding SBSARInput object if found, None otherwise |
getInputImage(aInputImageIdentifier)
Get the SBSARInput of kind image with the given identifier
Parameters: | aInputImageIdentifier (str) – input image identifier |
---|---|
Returns: | a SBSARInput if found, None otherwise |
getInputImageWithUsage(aUsage)
Get the first SBSARInput of kind image which has the given usage defined
Parameters: | aUsage (UsageEnum or str) – usage to look for |
---|---|
Returns: | a SBSARInput if found, None otherwise |
getInputImages()
Get the list of image inputs
Returns: | a list of SBSARInput |
---|
getInputParameter(aInputParamIdentifier)
Get the SBSARInput with the given identifier
Parameters: | aInputParamIdentifier (str) – input parameter identifier |
---|---|
Returns: | the corresponding SBSARInput object if found, None otherwise |
getInputParameterFromUID(aInputParamUID)
Get the SBSARInput with the given UID
Parameters: | aInputParamUID (str) – input parameter UID |
---|---|
Returns: | the corresponding SBSARInput object if found, None otherwise |
getInputParameters()
Get the list of inputs parameters that are not input entries but numerical values
Returns: | a list of SBSARInput |
---|
getMetaData(aName)
Get a MetaData by its name
Parameters: | aName (str) – |
---|---|
Returns: | SBSMetaDataTreeUrl or SBSMetaDataTreeStr |
getOutputFormat(aOutputIdentifier)
getFormat() Get the output format of this GraphOutput.
Parameters: | aOutputNode – an Identifier |
---|---|
Returns: | the output format TextureFormatEnum or ParamTypeEnum if Value output, None otherwise. |
getOutputMipmaps()
Get the output format of this GraphOutput.
Parameters: | aOutputNode – an Identifier |
---|---|
Returns: | mipmaps level MipmapEnum |
getPreset(aPresetLabel)
Get the preset with the given label
Returns: | a Preset object if found, None otherwise |
---|
getPrimaryInput()
Get the identifier of the primary input of the graph
Returns: | The identifier of the primary input as a string if it exists, None otherwise |
---|
getSBSMetaDataTree()
Get the SBSMetaDataTree structure.
Returns: | class .SBSMetaDataTree |
---|
isPrimaryInput(aInput)
Check if the given input is the primary input for this graph or not
Parameters: | aInput (SBSARInput ) – The input to check |
---|---|
Returns: | True if this is the primary input, False otherwise |
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
setMetaDataName(aMetadata, aName)
setMetaDataValue(aMetadata, aValue)
class sbsarchive.sbsargraph.SBSARInput(aUID='', aIdentifier='', aType=0, aAlterOutputs='', aAlterNodes='', aDefault=None, aUserTag=None, aInputGui=None, aMetaDataTree=None)
Bases: pysbs.common_interfaces.sbsarobject.SBSARObject
, pysbs.common_interfaces.package.ParamInput
, sbsarchive.sbsarmetadata.SBSARMetaDataObject
Class that contains information on a graph input as defined in a .sbsar file
- Members:
- mIdentifier (str): identifier of the input.
- mUID (str): uid of the input.
- mType (
SBSARTypeEnum
): data type, among the enumerationSBSARTypeEnum
- mAlterOutputs (List[str]): collection of graph outputs UID which are impacted anytime this input value is modified.
- mAlterNodes (str): ???.
- mDefault (str, optional): Default value.
- mUserTag (str, optional): user textual tags
- mInputGui (
SBSARInputGui
, optional): GUI widget of the input
createMetaDataStr(aName, aValue)
createMetaDataUrl(aName, aResource)
deleteMetaData(aName)
formatValueToType(aValue)
Return the given value formatted in the appropriate type for this parameter (bool, int or float)
Parameters: | aValue (string, bool, int, or float) – The value to format |
---|---|
Returns: | The value as a bool, int of float depending on the parameter type |
getAllMetaData()
Get all MetaData under dictionary form.
Returns: | dict |
---|
getAttribute(aAttributeIdentifier)
Get the given attribute value
Parameters: | aAttributeIdentifier (AttributesEnum ) – the attribute identifier |
---|---|
Returns: | the attribute value if defined, None otherwise |
getClamp()
Returns: | the clamp as a boolean if defined for this parameter, None if not defined |
---|
getDefaultValue()
Returns: | the default value as a value or a list of values in the type of the parameter (bool, int or float), None if not defined |
---|
getDimension()
Get the dimension of the parameter type (1, 2, 3, or 4 values)
Returns: | The dimension as an integer |
---|
getDropDownList()
Returns: | the map{value(int):label(str)} corresponding to the drop down definition if defined for this parameter, None otherwise. |
---|
getGroup()
Get the input GUI group containing this input
Returns: | the GUI group as a string if defined, None otherwise |
---|
getInputGui()
Get the input GUI associated to this input
Returns: | a SBSARInputGui object if defined, None otherwise |
---|
getIsConnectable()
Check if this input is connectable as an input.
Returns: | True if it’s connectable, False otherwise |
---|
getLabelFalse()
Returns the label for the false option if it’s valid for this input
Returns: | str with the label if it’s a button, otherwise None |
---|
getLabelTrue()
Returns the label for the true option if it’s valid for this input
Returns: | str with the label if it’s a button, otherwise None |
---|
getLabels()
Returns: | the list of all labels defined for this parameter, in the right order, as a list of strings. None if not defined |
---|
getMaxValue(asList= False)
Parameters: | asList (bool, optional) – True to get the result as a list of maximum values accordingly to the number of values of this parameter, False to have only one value returned. Default to False |
---|---|
Returns: | the maximum parameter value in the type of the parameter (int or float), as a list or not, None if not defined |
getMetaData(aName)
Get a MetaData by its name
Parameters: | aName (str) – |
---|---|
Returns: | SBSMetaDataTreeUrl or SBSMetaDataTreeStr |
getMinValue(asList = False)
Parameters: | asList (bool, optional) – True to get the result as a list of minimum values accordingly to the number of values of this parameter, False to have only one value returned. Default to False |
---|---|
Returns: | the minimum parameter value in the type of the parameter (int or float), as a list or not, None if not defined |
getSBSMetaDataTree()
Get the SBSMetaDataTree structure.
Returns: | class .SBSMetaDataTree |
---|
getStep()
Returns: | the step value (in the type of the parameter) of the widget for this parameter, None if not defined |
---|
getType()
Get the type of the input among the list defined in ParamTypeEnum
. Please be careful, it does not match the enumeration of type in a .sbsar format. To get the type as a SBSARTypeEnum
, just access the mType member
Returns: | The type of the parameter as a ParamTypeEnum |
---|
getUsages()
Get the usages of this param input
Returns: | the list of SBSARUsage defined on this image input |
---|
getWidget()
Get the widget associated to this input
Returns: | a SBSARObject object if defined, None otherwise |
---|
hasUsage(aUsage)
Check if the given usage is defined on this image input
Parameters: | aUsage (str or UsageEnum ) – The usage to look for |
---|---|
Returns: | True if the given usage is defined on this param input, False otherwise |
isAnInputImage()
Check if this input is of kind image.
Returns: | True if this is an input image, False otherwise |
---|
isAnInputParameter()
Check if this input is a parameter.
Returns: | True if this is an input parameter, False otherwise |
---|
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
setMetaDataName(aMetadata, aName)
setMetaDataValue(aMetadata, aValue)
class sbsarchive.sbsargraph.SBSAROutput(aUID='', aIdentifier='', aType='', aFormat='', aWidth='', aHeight='', aMipMaps='', aDynamicSize=None, aUserData=None, aOutputGui=None, aMetaDataTree=None)
Bases: pysbs.common_interfaces.sbsarobject.SBSARObject
, pysbs.common_interfaces.package.GraphOutput
, sbsarchive.sbsarmetadata.SBSARMetaDataObject
Class that contains information on a graph output as defined in a .sbsar file
- Members:
- mUID (str): uid of the output.
- mIdentifier (str): identifier of the output.
- mType (
SBSARTypeEnum
): data type, among the enumerationSBSARTypeEnum
- mFormat (
TextureFormatEnum
): format type, among the enumerationTextureFormatEnum
orParamTypeEnum
if value output. - mWidth (str): width of the output.
- mHeight (str): height of the output.
- mMipMaps (str): mipmap level.
- mDynamicSize (str): dynamic size.
- mUserData (str): user textual tags
- mOutputGui (
SBSAROutputGui
): GUI widget of the output
createMetaDataStr(aName, aValue)
createMetaDataUrl(aName, aResource)
deleteMetaData(aName)
getAllMetaData()
Get all MetaData under dictionary form.
Returns: | dict |
---|
getAttribute(aAttributeIdentifier)
Get the given attribute value
Parameters: | aAttributeIdentifier (AttributesEnum ) – the attribute identifier |
---|---|
Returns: | the attribute value if defined, None otherwise |
getFormat()
Get the output format of this GraphOutput.
Returns: | the output format TextureFormatEnum or ParamTypeEnum if Value output, None otherwise. |
---|
getMetaData(aName)
Get a MetaData by its name
Parameters: | aName (str) – |
---|---|
Returns: | SBSMetaDataTreeUrl or SBSMetaDataTreeStr |
getMipmaps()
Get the output format of this GraphOutput.
Returns: | mipmaps level MipmapEnum |
---|
getOutputType(**kwargs)
getSBSMetaDataTree()
Get the SBSMetaDataTree structure.
Returns: | class .SBSMetaDataTree |
---|
getType()
Get the output type of this GraphOutput.
Returns: | the output type in the format ParamTypeEnum if found, None otherwise |
---|
getUsages()
Get the usages of this graph output
Returns: | the list of SBSARUsage defined on this graph output |
---|
hasUsage(aUsage)
Check if the given usage is defined on this graph output
Parameters: | aUsage (str or UsageEnum ) – The usage to look for |
---|---|
Returns: | True if the given usage is defined on this graph output, False otherwise |
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
setMetaDataName(aMetadata, aName)
setMetaDataValue(aMetadata, aValue)
class sbsarchive.sbsargraph.SBSARPreset(aLabel='', aUsertags=None, aPresetInputs=None)
Bases: pysbs.common_interfaces.sbsarobject.SBSARObject
, pysbs.common_interfaces.package.Preset
Class that contains information on a graph parameter preset as defined in a .sbsar file
- Members:
- mLabel (str): identifier of the preset.
- mPresetInputs (list of
SBSARPresetInput
): list of preset parameters.
getInputValue(aInputUID)
Get the value of the given ParamInput in this preset
Parameters: | aInputUID (str) – UID of the input to get |
---|---|
Returns: | the input value in this preset if defined, None otherwise |
getPresetInput(aInputParam)
Get the preset of the given input parameter
Parameters: | aInputParam (ParamInput or str) – the input parameter as ParamInput or identified by its uid |
---|---|
Returns: | a PresetInput if found, None otherwise |
getPresetInputFromIdentifier(aInputParamIdentifier)
Get the preset of the given input parameter
Parameters: | aInputParamIdentifier (str) – the input parameter identified by its identifier |
---|---|
Returns: | a PresetInput if found, None otherwise |
getPresetInputs()
Get the list of preset inputs defined in this preset
Returns: | a list of PresetInput |
---|
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
class sbsarchive.sbsargraph.SBSARPresetInput(aUID=None, aIdentifier=None, aValue=None, aType=None)
Bases: pysbs.common_interfaces.sbsarobject.SBSARObject
, pysbs.common_interfaces.package.PresetInput
Class for manipulating embedded user-defined preset input inside a .sbs file
- Members:
- mUID (str): uid of the input parameter targeted by this preset input
- mIdentifier (str): identifier of the input parameter targeted by this preset input
- mValue (
SBSConstantValue
): value, depend on the type. - mType (
SBSParamValue
): type of the input
getType()
Get the type of the input among the list defined in ParamTypeEnum
. Please be careful, it does not match the enumeration of type in a .sbsar format. To get the type as a SBSARTypeEnum
, just access the mType member
Returns: | The type of the parameter as a ParamTypeEnum |
---|
getTypedValue()
Get the value of this preset input correctly formatted in the type of this preset (e.g. bool, int, float, list of int, …)
Returns: | The input value in the appropriate type |
---|
getValue()
Get the value of this preset input as it is saved in the file
Returns: | the input value in this preset input |
---|
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.