sbsargraph module
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, aIcon=None, aGraphType=None, aMaterialModel=None)
Bases:
SBSARObject,Graph,SBSARMetaDataObjectClass 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.
mIcon (str, optional): Icon filename
mGraphType (str, optional): Graph type
mMaterialModel (str, optional): Material model
- 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:
aDestFolderPath (str) – a directory path
aSbsarResourcePath (str) – sbsar relative path to the resource file, ex: “resources/1/untitled.blend”
- 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 (
SBSARGuiGroupor 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
- 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
SBSAROutputobject 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
ParamTypeEnumif found, None otherwise
- getGraphOutputWithUsage(aUsage)
Get the first GraphOutput which has the given usage defined
- Parameters:
aUsage (
UsageEnumor str) – usage to look for- Returns:
a
SBSAROutputif found, None otherwise
- getGraphOutputs()
Get all the graph outputs
- Returns:
the list of
SBSAROutputdefined on this graph
- getGraphType()
Get the graph type
- Returns:
The graph type as a string if it exists, None otherwise
- getGuiGroup(aGroupIdentifier)
Get the SBSARGuiGroup with the given identifier
- Parameters:
aGroupIdentifier (str) – group identifier
- Returns:
a
SBSARGuiGroupif 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
SBSARInputobject 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
SBSARInputobject if found, None otherwise
- getInputImage(aInputImageIdentifier)
Get the SBSARInput of kind image with the given identifier
- Parameters:
aInputImageIdentifier (str) – input image identifier
- Returns:
a
SBSARInputif found, None otherwise
- getInputImageWithUsage(aUsage)
Get the first SBSARInput of kind image which has the given usage defined
- Parameters:
aUsage (
UsageEnumor str) – usage to look for- Returns:
a
SBSARInputif 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
SBSARInputobject if found, None otherwise
- getInputParameterFromUID(aInputParamUID)
Get the SBSARInput with the given UID
- Parameters:
aInputParamUID (str) – input parameter UID
- Returns:
the corresponding
SBSARInputobject 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:
- getOutputFormat(aOutputIdentifier)
getFormat() Get the output format of this GraphOutput.
- Parameters:
aOutputNode – an Identifier
- Returns:
the output format
TextureFormatEnumorParamTypeEnumif 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
Presetobject 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
- hasIcon()
- 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:
SBSARObject,ParamInput,SBSARMetaDataObjectClass 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 enumerationSBSARTypeEnummAlterOutputs (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
SBSARInputGuiobject 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:
- 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 aSBSARTypeEnum, 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
SBSARUsagedefined on this image input
- getWidget()
Get the widget associated to this input
- Returns:
a
SBSARObjectobject 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:
SBSARObject,GraphOutput,SBSARMetaDataObjectClass 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 enumerationSBSARTypeEnummFormat (
TextureFormatEnum): format type, among the enumerationTextureFormatEnumorParamTypeEnumif 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
TextureFormatEnumorParamTypeEnumif Value output, None otherwise.
- getMetaData(aName)
Get a MetaData by its name
- Parameters:
aName (str)
- Returns:
- 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
ParamTypeEnumif found, None otherwise
- getUsages()
Get the usages of this graph output
- Returns:
the list of
SBSARUsagedefined 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:
SBSARObject,PresetClass 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 (
ParamInputor str) – the input parameter as ParamInput or identified by its uid- Returns:
a
PresetInputif 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
PresetInputif 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:
SBSARObject,PresetInputClass 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 aSBSARTypeEnum, 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.