- 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
compimplementation
Module compimplementation provides the definition of the class SBSCompImplementation
and all the possible implementation:
class compnode.compimplementation.SBSCompFilter(aFilter='', aParameters=None, aParamArrays=None, aParamGraphs=None)
Bases: compnode.common.SBSCompImplWithParams
Class that contains information on a compositing node filter as defined in a .sbs file
- Members:
- mFilter (str): filter type, among the identifiers available for Filter definition (
sbsfilters
) - mParameters (list of
SBSParameter
): filter parameters list (filters parameters, authoring parameters, resources paths, etc.). - mParamArrays (list of
SBSParamsArray
, optional): parameters arrays, e.g. used for gradient data. - mParamGraphs (list of
SBSParamsGraph
, optional): parameters set graphs, e.g. used for FX-Map parametrization.
- mFilter (str): filter type, among the identifiers available for Filter definition (
changeDependencyUID(newDepUID)
In case of a filter Bitmap or SVG, change the UID of the dependency referenced by the resource.
Parameters: | newDepUID (str) – The new dependency UID |
---|
changeResourcePath(newPath)
In case of a filter Bitmap or SVG, change the referenced resource path.
Parameters: | newPath (str) – The new resource path |
---|
classify(aOther, aParentContainer = None)
Compare the identifiers of the two filters to classify them.
Parameters: |
|
---|---|
Returns: | 1 if itself is considered greater than the other node, -1 for the opposite. 0 in case of equality. |
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.
getDefinition()
Get the filter definition (Inputs, Outputs, Parameters)
Returns: | a CompNodeDef object |
---|
getDisplayName()
Get the display name of this node
Returns: | the display name as a string |
---|
getParameterValue(aParameter)
Find a parameter with the given name/id among the overloaded parameters and the default node parameters, and return its value.
Parameters: | aParameter (CompNodeParamEnum or str) – Parameter identifier |
---|---|
Returns: | The parameter value if found (string or SBSDynamicValue , None otherwise |
getResourcePath()
If this node is a Bitmap or SVG, get the path to the resource used by this node
Returns: | The path relative to the package used by this node if possible, None otherwise |
---|
getUidIsUsed(aUID)
Check if the given uid is already used in the context of the comp filter
return: True if the uid is already used, False otherwise
hasIdenticalParameters(self, other)
Allows to check if two nodes has the same parameters defined with the same values.
Parameters: | other (SBSCompImplWithParams ) – the node to compare with |
---|---|
Returns: | True if the two nodes has the same parameters, False otherwise |
initFxMapGraph()
Init the SBSParamsGraph
of this filter, if it is a FxMap
Returns: | The graph of this FxMap as a SBSParamsGraph , None otherwise. |
---|
isAFxMap()
Returns: | True if this filter is a FxMap, False otherwise |
---|
isAPixelProcessor()
Returns: | True if this filter is a Pixel Processor, False otherwise |
---|
isAResource()
Returns: | True if the filter uses a resource, meaning is a filter of kind BITMAP or SVG, False otherwise. |
---|
isAValueProcessor()
Returns: | True if this filter is a Value Processor, False otherwise |
---|
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
setDynamicParameter(aParameter, aRelativeTo = None)
Set the given parameter as dynamic, to init its params.SBSDynamicValue. If Inheritance is None, the default Inheritance for this node is set.
Parameters: |
|
---|---|
Returns: | the |
Raise: |
|
setParameterValue(aParameter, aParamValue, aRelativeTo = None)
Set the value of the given parameter to the given value, if compatible with this node.
Parameters: |
|
---|---|
Returns: | True if succeed, False otherwise |
Raise: |
|
unsetParameter(aParameter)
Unset the given parameter so that it is reset to its default value.
Parameters: | aParameter (CompNodeParamEnum or str) – identifier of the parameter to set |
---|---|
Returns: | True if succeed, False otherwise |
Raise: | api_exceptions.SBSLibraryError |
write(aSBSWriter, aXmlNode)
Write recursively the content of the SBSObject into the given xml node.
Parameters: |
|
---|
class compnode.compimplementation.SBSCompImplementation(aCompFilter=None, aCompInstance=None, aCompInputBridge=None, aCompOutputBridge=None)
Bases: pysbs.common_interfaces.sbsobject.SBSObject
Class that contains information on the implementation of a compositing node as defined in a .sbs file. The implementation is exclusive, only one member of the SBSCompImplementation is defined.
- Members:
- mCompFilter (
SBSCompFilter
): filter type compositing node definition. - mCompInstance (
SBSCompInstance
): graph instance node. - mCompInputBridge (
SBSCompInputBridge
): graph input bridge node. - mCompOutputBridge (
SBSCompOutputBridge
): graph output bridge node.
- mCompFilter (
classify(aOther, aParentContainer = None)
Use the definition of the two CompImplementation to classify them.
To classify the different kind of CompImplementation, this order is specify:
Filter < Instance < Input < Output.
In case of equality, the appropriate classify function is called, depending on the kind of implementation.
Parameters: |
|
---|---|
Returns: | 1 if itself is considered greater than the other node, -1 for the opposite. 0 in case of equality. |
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.
getImplementation(self)
Return the appropriate node implementation depending on the compositing node kind
Returns: | A SBSCompImplWithParams or a SBSCompOutputBridge |
---|
getImplementationKind()
Get the implementation kind of this node, among the list defined in CompImplementationKindEnum
Returns: | The CompImplementationKindEnum |
---|
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 |
isAFilter()
Returns: | True if this is a Compositing Node Filter, False otherwise. |
---|
isAnInputBridge()
Returns: | True if this is an Input Bridge, False otherwise. |
---|
isAnInstance()
Returns: | True if this is a Compositing Node Instance, False otherwise. |
---|
isAnOutputBridge()
Returns: | True if this is an Output Bridge, False otherwise. |
---|
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
write(aSBSWriter, aXmlNode)
Write recursively the content of the SBSObject into the given xml node.
Parameters: |
|
---|
class compnode.compimplementation.SBSCompInputBridge(aEntry='', aParameters=None)
Bases: compnode.common.SBSCompImplWithParams
Class that contains information on an input node as defined in a .sbs file
- Members:
- mEntry (str): uid of this input (/graph/paramInputs/paramInput/uid).
- mParameters (list of
SBSParameter
): input parameters list.
classify(aOther, aParentContainer = None)
If aParentContainer is provided, compare the identifiers of the two input nodes to classify them, else use the Entry UID.
Parameters: |
|
---|---|
Returns: | 1 if itself is considered greater than the other node, -1 for the opposite. 0 in case of equality. |
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.
getDefinition()
Get the comp input bridge definition (Inputs, Outputs, Parameters)
Returns: | a CompNodeDef object |
---|
getDisplayName()
Get the display name of this node
Returns: | the display name as a string |
---|
getParameterValue(aParameter)
Find a parameter with the given name/id among the overloaded parameters and the default node parameters, and return its value.
Parameters: | aParameter (CompNodeParamEnum or str) – Parameter identifier |
---|---|
Returns: | The parameter value if found (string or SBSDynamicValue , 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 |
hasIdenticalParameters(self, other)
Allows to check if two nodes has the same parameters defined with the same values.
Parameters: | other (SBSCompImplWithParams ) – the node to compare with |
---|---|
Returns: | True if the two nodes has the same parameters, False otherwise |
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
setDynamicParameter(aParameter, aRelativeTo = None)
Set the given parameter as dynamic, to init its params.SBSDynamicValue. If Inheritance is None, the default Inheritance for this node is set.
Parameters: |
|
---|---|
Returns: | the |
Raise: |
|
setParameterValue(aParameter, aParamValue, aRelativeTo = None)
Set the value of the given parameter to the given value, if compatible with this node.
Parameters: |
|
---|---|
Returns: | True if succeed, False otherwise |
Raise: |
|
unsetParameter(aParameter)
Unset the given parameter so that it is reset to its default value.
Parameters: | aParameter (CompNodeParamEnum or str) – identifier of the parameter to set |
---|---|
Returns: | True if succeed, False otherwise |
Raise: | api_exceptions.SBSLibraryError |
write(aSBSWriter, aXmlNode)
Write recursively the content of the SBSObject into the given xml node.
Parameters: |
|
---|
class compnode.compimplementation.SBSCompInstance(aPath=None, aParameters=None, aOutputBridgings=None, aGUILayoutComp=None, aRefGraph=None, aRefDependency=None)
Bases: compnode.common.SBSCompImplWithParams
Class that contains information on a compositing node instance as defined in a .sbs file
- Members:
- mPath (str): path of the graph definition this instance refers to.
- mParameters (list of
SBSParameter
): instance parameters list. - mOutputBridgings (list of
SBSOutputBridging
, optional): List of bridging between outputs of this instance node and the graph definition. - mGUILayoutComp (
SBSGUILayoutComp
, optional): GUI flags and options instance overload. - mRefGraph (
SBSGraph
, optional): reference to the graph that this node instantiates.
changeDependencyUID(aSBSDocument, newDepUID)
Change the UID of the dependency referenced by this instance.
Parameters: |
|
---|
changeInstancePath(aParentDocument, aInstanceDocument, aGraphRelPath)
Change the function referenced by this instance. If aInstanceDocument is not already declared as a dependency, the dependency will be added to aParentDocument.
Parameters: |
|
---|
classify(aOther, aParentContainer = None)
Compare the path of the two instances to classify them.
Parameters: |
|
---|---|
Returns: | 1 if itself is considered greater than the other node, -1 for the opposite. 0 in case of equality. |
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.
getCompOutputBridging(aIdentifier)
Get the SBSOutputBridging corresponding to the given identifier
Parameters: | aIdentifier (str) – required identifier |
---|---|
Returns: | a SBSOutputBridging object if found, None otherwise |
getCompOutputBridgingFromUID(aUID)
Get the SBSOutputBridging corresponding to the given output uid
Parameters: | aUID (str) – the unique identifier to look for |
---|---|
Returns: | a SBSOutputBridging object if found, None otherwise |
getDefinition()
Build a CompNodeParam
object to describe the inputs, outputs and parameters of this graph instance
Returns: | A CompNodeParam object |
---|
getDependencyUID()
Get the UID of the dependency referenced by this instance
Returns: | The dependency UID as a string if found, None otherwise |
---|
getDisplayName()
Get the display name of this node
Returns: | the display name as a string |
---|
getParameterValue(aParameter)
Find a parameter with the given name/id among the overloaded parameters and the default node parameters, and return its value.
Parameters: | aParameter (CompNodeParamEnum or str) – Parameter identifier |
---|---|
Returns: | The parameter value if found (string or SBSDynamicValue , None otherwise |
getReferenceAbsPath()
Get the absolute path of the graph referenced by this instance.
Returns: | The absolute path of the graph referenced by this instance, in the format absolutePath/filename.sbs/graphIdentifier, as a string |
---|
getReferenceInternalPath()
If this node is an instance, get the path of the referenced graph relatively to the package (pkg:///).
Returns: | The path 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 |
hasIdenticalParameters(self, other)
Allows to check if two nodes has the same parameters defined with the same values.
Parameters: | other (SBSCompImplWithParams ) – the node to compare with |
---|---|
Returns: | True if the two nodes has the same parameters, False otherwise |
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
resolveDependency(aSBSDocument)
Allow to resolve the dependency of the compositing instance node with the graph it references.
Parameters: | aSBSDocument (SBSDocument ) – The root document |
---|
setDynamicParameter(aParameter, aRelativeTo = None)
Set the given parameter as dynamic, to init its params.SBSDynamicValue. If Inheritance is None, the default Inheritance for this node is set.
Parameters: |
|
---|---|
Returns: | the |
Raise: |
|
setParameterValue(aParameter, aParamValue, aRelativeTo = None)
Set the value of the given parameter to the given value, if compatible with this node.
Parameters: |
|
---|---|
Returns: | True if succeed, False otherwise |
Raise: |
|
unsetParameter(aParameter)
Unset the given parameter so that it is reset to its default value.
Parameters: | aParameter (CompNodeParamEnum or str) – identifier of the parameter to set |
---|---|
Returns: | True if succeed, False otherwise |
Raise: | api_exceptions.SBSLibraryError |
write(aSBSWriter, aXmlNode)
Write recursively the content of the SBSObject into the given xml node.
Parameters: |
|
---|
class compnode.compimplementation.SBSCompOutputBridge(aOutput='', aConnectionColorType=None)
Bases: pysbs.common_interfaces.sbsobject.SBSObject
Class that contains information on an output node as defined in a .sbs file
- Members:
- mOutput (str): uid of this output. (/graph/graphOutputs/graphOutput/uid).
- mConnectionColorType (str, optional): connection color type. Type format defined at
ParamTypeEnum
classify(aOther, aParentContainer = None)
If aParentContainer is provided, compare the identifiers of the two output nodes to classify them, else use the Output UID.
Parameters: |
|
---|---|
Returns: | 1 if itself is considered greater than the other node, -1 for the opposite. 0 in case of equality. |
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.
getDefinition()
Get the output bridge definition (Inputs, Outputs, Parameters)
Returns: | a CompNodeDef object |
---|
getDisplayName()
Get the display name of this node
Returns: | the display name 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 |
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
write(aSBSWriter, aXmlNode)
Write recursively the content of the SBSObject into the given xml node.
Parameters: |
|
---|