- 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
modelgraph
Module modelgraph
class modelgraph.modelgraph.ModelGraph(**kwargs)
Bases: pysbs.modulegraph.modulegraph.ModuleGraph
ModelGraph is the Model specialized graph. It is derived from base class ModuleGraph. It handle all specific methods and properties of the Model Graph.
addGraphAnnotation(aKey: str, aValue) → pysbs.modulegraph.moduleannotation.ModuleAnnotation
Create an Annotation object and add it to the given graph Annotation handle graph information attributes like description, author, tags…
Parameters: |
|
---|---|
Returns: | annotation obj |
Return type: |
connectNodes(aNodeLeft: pysbs.modulegraph.modulenode.ModuleNode, aNodeRight: pysbs.modulegraph.modulenode.ModuleNode, aOutputIdentifer: str = None, aInputIdentifer: str = None) → pysbs.modulegraph.moduleconnection.ModuleConnection
Connect two nodes by their outputs to inputs, in model graph all inputs are operands. If output and input identifier are not set first of each will be used. Currently there is no type check during the connection, so as long as the output and input exists the connection will be done but could be not valid for the evaluation.
Parameters: |
|
---|---|
Returns: | the connection object |
Return type: |
createNode(aGraph: modulegraph.ModuleGraph, aNodeId: str, aPos=(0, 0, 0))
Top def to create an atomic node (not an instance) by given a node id createNode(aModelgraph, “Structure::NodeBool”)
Parameters: |
|
---|---|
Returns: |
exposeNode(aNode: pysbs.modulegraph.modulenode.ModuleNode, aIdentifier: str, aDescription: str = '', aInGroup: str = '', aDisplayName: str = '', aGammaType: str = '', aGraphDefinitionId: str = None, aSoftRange=None, aHardRange=None) → pysbs.modulegraph.moduleparaminput.ModuleParamInput
Expose as a graph input parameter a constant node
Parameters: |
|
---|---|
Returns: |
classmethod fromJson(aJsonData)
Classmethod to build a SBSMetaDataTree
from the old json file. Here to support old package without xmp
Parameters: | aJsonData – a json dict |
---|---|
Returns: | SBSMetaDataTree |
classmethod fromXmpIter(aMetaDataIter)
Classmethod to build a SBSMetaDataTree
from a xmp SBSMetaDataIter
Parameters: | aMetaDataIter – a xmp SBSMetaDataIter |
---|---|
Returns: | SBSMetaDataTree |
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 inputs as ParamInput |
---|
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 inputs |
getAttribute(aAttributeIdentifier)
Get the given attribute value
Parameters: | aAttributeIdentifier (AttributesEnum ) – the attribute identifier |
---|---|
Returns: | the attribute value if defined, None otherwise |
getIdentifier()
getIdentifer()
Returns: | str identifier |
---|
getInput(aInputIdentifier)
Get the ParamInput with the given identifier, among the input images and parameters
Parameters: | aInputIdentifier (str) – input parameter identifier |
---|---|
Returns: | the corresponding ParamInput object if found, None otherwise |
getInputFromUID(aInputUID)
Get the ParamInput with the given UID, among the input images and parameters
Parameters: | aInputUID (str) – input parameter UID |
---|---|
Returns: | the corresponding ParamInput object if found, None otherwise |
getInputImage(aInputImageIdentifier)
Get the image input with the given identifier
Parameters: | aInputImageIdentifier (str) – input image identifier |
---|---|
Returns: | a ParamInput if found, None otherwise |
getInputImageWithUsage(aUsage)
Get the first image input which has the given usage defined
Parameters: | aUsage (UsageEnum or str) – usage to look for |
---|---|
Returns: | a ParamInput if found, None otherwise |
getInputImages()
Get the list of image inputs
Returns: | a list of image inputs as ParamInput |
---|
getInputParameter(aInputParamIdentifier)
Get the input parameter with the given identifier
Parameters: | aInputParamIdentifier (str) – input parameter identifier |
---|---|
Returns: | the corresponding ParamInput object if found, None otherwise |
getInputParameterFromUID(aInputParamUID)
Get the input parameter with the given UID
Parameters: | aInputParamUID (str) – input parameter UID |
---|---|
Returns: | the corresponding ParamInput object if found, None otherwise |
getInputParameters()
Get the list of input parameters (not image)
Returns: | a list of ParamInput |
---|
getNode(aNode)
Search for the given compositing node in the node list
Parameters: | aNode (ModuleNode or str) – node to get, identified by its uid or as a MDLNode |
---|---|
Returns: | A ModuleNode object if found, None otherwise |
getNodeByPath(aPath)
Search for the given compositing node in the node list
Parameters: | aPath (str) – node’s ID path ex ‘Structure::NodeVector3Lerp’ |
---|---|
Returns: | A ModuleNode object if found, None otherwise |
getNodeList(aNodesList = None)
Get all the compositing nodes of this graph, or look for the given nodes if aNodesList is not None
Parameters: | aNodesList (list of str or list of SBSCompNode , optional) – list of node to look for, might be identifiers or .SBSNode |
---|---|
Returns: | a list of ModuleNode included in the graph |
getUidIsUsed(aUID)
Check if the given uid is already used in the context of the graph
Parameters: | aUID (str) – UID to check |
---|---|
Returns: | True if the uid is already used, False otherwise |
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
setAuthor(aText)
Set Author annotation value :param aText: text to add to Author annotation :type aText: str :return: annotation obj :rtype: ModuleAnnotation
setCopyright(aText)
Set Copyright annotation value :param aText: text to add to Copyright annotation :type aText: str :return: annotation obj :rtype: ModuleAnnotation
setDescription(aText)
Set description annotation value :param aText: text to add to Description annotation :type aText: str :return: annotation obj :rtype: ModuleAnnotation
setDisplayName(aText)
Set DisplayName annotation value :param aText: text to add to DisplayName annotation :type aText: str :return: annotation obj :rtype: ModuleAnnotation
setHidden(aValue)
Set Hidden annotation value :param aValue: value to add to Hidden annotation :type aValue: bool :return: annotation obj :rtype: ModuleAnnotation
setInGroup(aGroupName)
Set InGroup annotation value :param aGroupName: text to add to InGroup annotation :type aGroupName: str :return: annotation obj :rtype: ModuleAnnotation
setKeywords(aText)
Set Keywords annotation value :param aText: text to add to Keywords annotation :type aText: str :return: annotation obj :rtype: ModuleAnnotation
setNodeAsRoot(aNode) → bool
Set this node as root node, the “last” node that will be used as root during the evaluation
Parameters: | aNode (ModuleNode or str) – the node or the identifier of this node that will be root |
---|
write(aSBSWriter, aXmlNode)