RenderGraphNodeΒΆ

class RenderGraphNode

The base class for all nodes in a RenderGraph

A RenderGraphNode is a RenderGraph node that takes attribute inputs and returns attribute outputs. The node computes its outputs attributes from the values coming from the input attributes.

A RenderGraphNode inputs are represented by RenderGraphInput nodes, and outputs are represented by RenderGraphOutput nodes. Input attributes are found in the Plug input plug (input.Plug:get () to retrieve the input value) and output attributes are found in the Plug output plug (output.Plug:get () to retrieve the output value.)

An input or output value can be either nil or a table:

  • nil: the value is not active, meaning that the currently evaluated SceneGraphNode is not part of this graph path
  • table: the value is active, meaning that the currently evaluated SceneGraphNode is part of the graph path. The table contains the attributes set by previous nodes in the graph. This table is a association of attribute name and An empty table means the object is evaluated, but as no attributes attached.

Hierarchy

class RenderGraphNode < class GraphNode < class SelectableNode < class DeletableNode < class Node

Children classes : class RenderGraphAll , class RenderGraphBinop , class RenderGraphFilter , class RenderGraphMacro , class RenderGraphMacroOutput , class RenderGraphNodeAttributes , class RenderGraphNodeGenChild , class RenderGraphNodeLightOverride , class RenderGraphNodeMaterialOverride , class RenderGraphNodeMembership , class RenderGraphNodePrimVarOverride , class RenderGraphNodeProcedural , class RenderGraphNodeRelay , class RenderGraphNodeSG , class RenderGraphNodeScript , class RenderGraphNodeSelect , class RenderGraphNodeSetTags , class RenderGraphNodeSubPrimOverride , class RenderGraphNodeYeti , class RenderGraphPath , class RenderGraphPathFilter , class RenderGraphTag

Members

Plugs:

RW Invalid nil The invalidation plug. Invalidating this plug causes all RenderGraphOutputs of this node to be invalidated. This plug is dependent on all RenderGraphInputs
RW NodePos types.table The node position in the graph, as {x,y} components
RW State nil The node state, either "active", "bypass" or "disabled". When "disabled", all outputs values are nil. When "bypass", all outputs values are the node's first node input's value.


Inherited from class GraphNode

Methods:

GraphInput input createinput ( ) Create a GraphInput in the node
GraphOutput output createoutput ( ) Create a GraphOutput in the node
GraphInput input getinput ( string name ) Get an input by its name
string classname getinputclassname ( ) Return the name of the GraphInput class to use
{GraphInput} inputs getinputs ( ) List the node's inputs
GraphOutput output getoutput ( string name ) Get an output by its name
string classname getoutputclassname ( ) Return the name of the GraphOutput class to use
{GraphOutput} outputs getoutputs ( ) List the node's outputs
it iterator inputs ( ) An iterator on node's outputs
it iterator inputs ( ) An iterator on node's inputs
bool isparent isgraphparent ( GraphNode other ) Indicate if the other node is dependent on this node (i.e. if an output of self is directly/indirectly connected into any input of other.)
nil removeinput ( name string ) Remove a GraphInput of the node
nil removeoutput ( name string ) Remove a GraphOutput of the node


Inherited from class SelectableNode

Plugs:

boolean Selected R True if the node is selected. Don't use this plug directly to select a node, use the Document's modifier select method.


Inherited from class Node

Plugs:

string Name RW The node name

Methods:

bool result belongstoreference ( Reference ref ) Tells if the node belongs to the reference, or a sub reference
nil delete ( ) Delete a node
any value eval ( Plug plug ) Called by the framework when plug (a node's plug) must be evaluated
Node|Plug child findchild ( string path ) Find a child node or plug using a path
Node parent findparent ( string name ) Find the first parent Node of this Node of a specific class
Node result getchild ( string name ) Get a child node by its name
[string|number] name getname ( ) Get the Node name in its parent
Node parent getparent ( ) Get the parent Node of this Node
string path getpath ( ) Returns the node path as a string that can be reused with findchild
Reference reference getreference ( ) Returns the reference node it is connected to
of table getreferences ( [ topref Reference ] ) Returns the references in the document sorted depth first.
string result getstringcopy ( ) Return a copy of the node and its content as a string to be pasted
Reference reference gettopreference ( ) Returns the top reference node it is connected to
boolean editable iseditable ( ) Indicates if the node can be edited by the user in the UI
boolean indocument isindocument ( ) Tells if the node is inside a document, or is pending in the void
bool result ismoveable ( ) Tells if the node can be moved
boolean result isparent ( Node child ) Tells if this node is parent of the potential child
boolean result isreference ( ) Tells if a node comes from a reference project
boolean state isselected ( ) Tell if the node is selected
{Node} result loadfile ( string filename , [ table options ] ) load a file content in this node. Possible options are: overrideclass to enforce a specific class for the root node.
Node result loadtemplate ( string template , string name ) load a template file
nil move ( Node parent ) Move a node to a new parent
nil onpathchanged ( ) Called by the framework when the name of this node or of one of its parent is modified
{Node},string result,error pastestringcopy ( string copy , [ {} options ] ) Paste a string copy into this node
ReferenceBase refnode referencefile ( string name , string refpath , [ table options ] ) reference a file content in this node.
nil rename ( string name ) Rename a node
bool,string success,error savefile ( string filename ) load a node to a file
nil seteditable ( boolean editable ) Change the editable state of the node
nil setflags ( ) Set the node flags

Documentation

RW Invalid nil

The invalidation plug. Invalidating this plug causes all RenderGraphOutputs of this node to be invalidated. This plug is dependent on all RenderGraphInputs


RW NodePos types.table

The node position in the graph, as {x,y} components


RW State nil

The node state, either "active", "bypass" or "disabled". When "disabled", all outputs values are nil. When "bypass", all outputs values are the node's first node input's value.