- 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
compnode
Content included in compnode module:
Module compnode aims to define SBSObjects that are relative to a compositing Node, mostly SBSCompNode
, SBSCompImplementation
and SBSCompOutput
.
class compnode.compnode.SBSCompNode(aGUIName=None, aUID='', aDisabled=None, aGUILayout=None, aOptions=None, aCompOutputs=None, aConnections=None, aCompImplementation=None, aInputValues=None)
Bases: pysbs.sbscommon.nodes.SBSNode
Class that contains information on a compositing node as defined in a .sbs file
- Members:
- mGUIName (str, optional): name of the node.
- mUID (str): node unique identifier in the /compNodes/ context.
- mDisabled (str, optional): this node is disabled (“1” / None).
- mGUILayout (
SBSGUILayout
): GUI position/options - mOptions (list of
SBSOption
): options list. - mCompOutputs (list of
SBSCompOutput
, optional): outputs list. - mConnections (list of
SBSConnection
, optional): input connections list. - mCompImplementation (
SBSCompImplementation
): implementation of the compositing node. - mInputValues (list of
SBSCompInputValue
: Input values for the node
applyPreset(aPresetLabel)
Apply the given preset on node’s parameters. If the the node doesn’t implement a SBSCompInstance an error will be raised. If aPresetLabel doesn’t exist an error will be raised.
Parameters: | aPresetLabel – an identifier or a label of the preset to apply. |
---|---|
Returns: |
applyPresetFromFile(aPresetFilePath, aPresetLabel, aContext=None)
Apply the given preset from a file on node’s parameters. If the the node doesn’t implement a SBSCompInstance an error will be raised. If aPresetLabel doesn’t exist an error will be raised.
Parameters: | aPresetLabel – an identifier or a label of the preset to apply. |
---|---|
Returns: |
classify(aOther, aParentContainer = None)
Use the definition of the two nodes to classify them, and their GUI position if they have the same definition.
To classify the different kind of CompImplementation, this order is specify:
Filter < Instance < Input < Output.
For the Filter, the filter identifier is used to classify them.
For the Instance, the lexicographic order is used on the instance path.
At a final option, the GUI position is used, and in this case, mostLeft < mostRight and then mostUp < mostDown.
Parameters: |
|
---|---|
Returns: | 1 if itself is considered greater than the other node, -1 for the opposite. 0 in case of equality. |
computeUniqueInputValueIdentifier(aIdentifier)
Check if the given identifier is already used in the node inputs and generate a unique identifier if necessary
Returns: | A unique identifier |
---|
createInputValue(aIdentifier, aType)
Create a new Input Value attached to the node. SBSCompInputValue
Parameters: |
|
---|
createIterationOnPattern(aParameter, aNbIteration, aNodeUIDs, aNodeUIDs_NextPatternInput = None, aGUIOffset = None)
Allows to create an iteration in the function defining the value of the given parameter.
Duplicate nbIteration times the given node, to create this kind of connection:
Pattern -> Pattern_1 -> Pattern_2 -> … -> Pattern_N
Parameters: |
|
---|---|
Returns: | The list of params.SBSParamNode created |
Raise: |
|
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.
getCompFilter()
Returns: | the SBSCompFilter object if this node is a compositing filter, None otherwise. |
---|
getCompImplementation(self)
Return the appropriate comp implementation depending on the compositing node kind
Returns: | A SBSCompImplWithParams or a SBSCompOutputBridge |
---|
getCompInputBridge()
Returns: | the SBSCompInputBridge object if this node is an input bridge, None otherwise. |
---|
getCompInstance()
Returns: | the SBSCompInstance object if this node is a compositing graph instance, None otherwise. |
---|
getCompOutput(aCompOutputUID = None)
Get the output with the given uid. If aCompOutputUID is None, get the type of the first output, if it exists
Parameters: | aCompOutputUID (str, optional) – UID of the output. If None, the first output is returned |
---|---|
Returns: | a SBSCompOutput object if found, None otherwise |
getCompOutputBridge()
Returns: | the SBSCompOutputBridge object if this node is an output bridge, None otherwise. |
---|
getCompOutputFromBridge(aOutputBridge)
Get the output corresponding to the given bridge identifier. This can work only on an instance node.
Parameters: | aOutputBridge (str) – identifier of the output bridge. |
---|---|
Returns: | a SBSCompOutput object if found, None otherwise |
getCompOutputFromIdentifier(aOutputIdentifier = None)
Get the output with the given identifier. If aOutputIdentifier is None, get the first output, if it exists
Parameters: | aOutputIdentifier (str, optional) – identifier of the output. If None, the first output is returned |
---|---|
Returns: | A SBSCompOutput object if found, None otherwise |
getCompOutputIdentifier(aCompOutputUID = None)
Get the identifier of the output with the given uid. If aCompOutputUID is None, get the identifier of the first output, if it exists
Parameters: | aCompOutputUID (str, optional) – UID of the output. If None, the identifier of the first output is returned |
---|---|
Returns: | The identifier of the given output if found, None otherwise |
getCompOutputType(aCompOutputUID = None)
Get the type of the output with the given uid. If aCompOutputUID is None, get the type of the first output, if it exists
Parameters: | aCompOutputUID (str, optional) – UID of the output. If None, the type of the first output is returned |
---|---|
Returns: | The type of the given output if found as a ParamTypeEnum , None otherwise |
getConnectedNodesUID()
Get the UIDs of the nodes connected to this node.
Returns: | The UIDs as a list of string |
---|
getConnectionOnPin(aPinIdentifier)
Get the connection defined on the given input.
Parameters: | aPinIdentifier (str) – identifier of the input pin (for SBSCompNode , SBSParamNode and MDLNode ) or of the output pin(for SBSParamsGraphNode ) |
---|---|
Returns: | a SBSConnection object corresponding to the connection defined on the given pin. None otherwise |
getConnections()
Get the connections defined on this node.
Returns: | a list of SBSConnection |
---|
getConnectionsFromNode(aLeftNode)
Get all the connections coming from the given left node.
Parameters: | aLeftNode (SBSNode or str) – The node to look for in the incoming connections of this node, as an object or a UID |
---|---|
Returns: | a list of SBSConnection |
getDefinedParameters()
Get the list of parameters defined on this node.
Returns: | the list of SBSParameter specified on this node. |
---|
getDefinition()
Get the node definition (Inputs, Outputs, Parameters) accordingly to the compnode implementation
Returns: | a CompNodeDef object if defined, None otherwise |
---|
getDisplayName()
Get the display name of this node
Returns: | the display name as a string |
---|
getDynamicParameters()
Get the list of dynamic parameters defined on this node.
Returns: | the list of SBSParameter specified on this node that have a dynamic function. |
---|
getFxMapGraph()
Get the SBSParamsGraph
object which defines the FxMap graph
Returns: | For a FxMap filter, returns the graph of this FxMap as a SBSParamsGraph , None otherwise. |
---|
getFxMapGraphNode(aUID)
For a FxMap filter, browse the graph of this FxMap and get the SBSParamsGraphNode
with the given UID
Returns: | A SBSParamsGraphNode object with the given UID if found, None otherwise. |
---|
getInputDefinition(self, aInputIdentifier=None)
Get the input definition corresponding to the given identifier.
Parameters: | aInputIdentifier (InputEnum or str, optional) – The identifier to get. If let None, the primary input will be returned |
---|---|
Returns: | the input definition as a CompNodeInput if found, None otherwise |
getInputValue(aIdentifier)
return corresponding InputValue aIdentifier, SBSCompInputValue
:param aIdentifier: identifier name must start by # it will added if it’s not present. :type aIdentifier: str :return:
getOffsetPosition(aOffset = None)
Compute the position of this node offset by the given offset
Parameters: | aOffset (list of 2 float, optional) – the offset to apply to the node’s current position. Default to [0,0] |
---|---|
Returns: | the offset position |
getParameterValue(aParameter)
Find a parameter with the given name in the appropriate comp node implementation, and return its value.
Parameters: | aParameter (CompNodeParamEnum or str) – Parameter identifier |
---|---|
Returns: | The parameter value if found, None otherwise |
getPixProcFunction()
Get the SBSDynamicValue
object which corresponds to the Pixel Processor Function. Create the dynamic value if it is None.
Parameters: | createIfEmtpy (bool) – If True it creates an empty pixel processor graph if there is none attached already If False and no pixel processor exists it will return None |
---|---|
Returns: | For a PixelProcessor filter, returns the function of this PixelProcessor, None otherwise. |
getPosition()
Get the position of this node in the graph GUI.
Returns: | a list of 3 float |
---|
getRect()
Return the rectangle of this node.
Returns: | The rectangle as a Rect |
---|
getUidIsUsed(aUID)
Parse the CompOutputs list to find a SBSCompNode
with the given uid
Parameters: | aUID (str) – UID to check |
---|---|
Returns: | True if this uid is already used, False otherwise |
getValProcFunction(createIfEmtpy=True)
Get the SBSDynamicValue
object which corresponds to the Value Processor Function. Create the dynamic value if it is None.
Parameters: | createIfEmtpy (bool) – If True it creates an empty value processor graph if there is none attached already If False and no value processor exists it will return None |
---|---|
Returns: | For a ValueProcessor filter, returns the function of this ValueProcessor, None otherwise. |
hasAReferenceOnDependency(aDependency)
Check if this node directly references the given dependency. For instance if it instantiates a graph or a resource included in this dependency.
Parameters: | aDependency (str or SBSDependency ) – The dependency to look for (UID or object) |
---|---|
Returns: | True if this node references this dependency, False otherwise |
hasAReferenceOnInternalPath(aInternalPath)
Check if this node references the given internal path (pkg:///). For instance if it instantiates the graph or the resource pointed at the given path.
Parameters: | aInternalPath (str) – The internal path to look for |
---|---|
Returns: | True if this node references the given internal path, 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 FxMap graph if success, None otherwise |
---|
isAFilter()
Returns: | True if the CompNode is a Compositing Node Filter, False otherwise. |
---|
isAFxMap()
Returns: | True if the CompNode is a Compositing Node Filter of kind FxMaps, False otherwise. |
---|
isAPixelProcessor()
Returns: | True if the CompNode is a Compositing Node Filter of kind Pixel Processor, False otherwise. |
---|
isAResource()
Returns: | True if the CompNode uses a resource, meaning is a Compositing Node Filter of kind BITMAP or SVG, False otherwise. |
---|
isAValueProcessor()
Returns: | True if the CompNode is a Compositing Node Filter of kind Value Processor, False otherwise. |
---|
isAnInputBridge()
Returns: | True if the CompNode is an Input Bridge, False otherwise. |
---|
isAnInstance()
Returns: | True if the CompNode is a Compositing Node Instance, False otherwise. |
---|
isAnOutputBridge()
Returns: | True if the CompNode is an Output Bridge, False otherwise. |
---|
isConnectedTo(aLeftNode)
Check if the node is connected to the given node, in the direction aLeftNode -> self
Parameters: | aLeftNode (SBSNode or str (UID)) – The node to look for in the connections of this node. |
---|---|
Returns: | True if the nodes are connected, False otherwise |
isDocked()
Check if this node is docked.
Returns: | True if this node is docked, None otherwise |
---|
parse(aContext, aDirAbsPath, aSBSParser, aXmlNode)
Parse recursively the given xml node to retrieve the content of the SBSObject.
removeConnectionOnPin(aInput)
Remove the connection on the given input pin.
Parameters: | aPinIdentifier (InputEnum or FunctionInputEnum or str) – identifier of the input pin (for SBSCompNode and SBSParamNode ) or of the output pin(for SBSParamsGraphNode ) to disconnect |
---|---|
Returns: | True if a connection is removed, False otherwise |
removeConnectionsFrom(aLeftNode)
Remove all the connections from aLeftNode to this node (in the direction aLeftNode -> self)
Parameters: | aLeftNode (SBSNode or str (UID)) – The node to look for in the connections of this node. |
---|---|
Returns: | Nothing |
setCurveDefinition(aCurveDefinition)
If the node is a Filter Curve, set the given curve definition.
Parameters: | aCurveDefinition (CurveDefinition ) – curve key values |
---|---|
Returns: | True if succeed |
Raise: | api_exceptions.SBSImpossibleActionError |
setDynamicParameter(aParameter, aRelativeTo = None)
Set the given parameter as dynamic, to init its params.SBSDynamicValue. If aRelative is None, the default Inheritance will be applied
Parameters: |
|
---|---|
Returns: | the |
setGradientMapKeyValues(aKeyValues)
If the node is a Filter Gradient Map, set the given gradient map key values.
Parameters: | aKeyValues (list of GradientKey ) – gradient key values |
---|---|
Returns: | True if succeed |
Raise: | api_exceptions.SBSImpossibleActionError |
setParameterSpotColorValueFromIds(aParameter, aBookId, aColorId)
Set the spotcolor parameter to the appropriate comp node implementation
Parameters: |
|
---|---|
Returns: |
|
setParameterSpotColorValueFromNames(aParameter, aBookName, aColorName)
Set the spotcolor parameter to the appropriate comp node implementation
Parameters: |
|
---|---|
Returns: |
|
setParameterValue(aParameter, aParamValue, aRelativeTo = 0)
Set the parameter to the appropriate comp node implementation
Parameters: |
|
---|---|
Returns: | True if success, False otherwise |
setPosition(aPosition)
Set the position of this node in the graph GUI.
Parameters: | aPosition (a list of 3 float) – The position to set |
---|
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 |
write(aSBSWriter, aXmlNode)
Write recursively the content of the SBSObject into the given xml node.
Parameters: |
|
---|