ShaderNodeΒΆ

class ShaderNode

Base class of the shader node classes and the shader classes.

Hierarchy

class ShaderNode < class SelectableNode < class Node

Children classes : class CompositingNode , class ShaderNodeBinOp , class ShaderNodeCloud , class ShaderNodeCurve , class ShaderNodeFileIn , class ShaderNodeGizmo , class ShaderNodeGradient , class ShaderNodeGradient2 , class ShaderNodeInput , class ShaderNodeLightDecay , class ShaderNodeLightOutput , class ShaderNodeLocator , class ShaderNodeMacro , class ShaderNodeMayaParticle , class ShaderNodeMinDistance , class ShaderNodeOcclusion , class ShaderNodeRandom , class ShaderNodeSL , class ShaderNodeSingleOp , class ShaderOutputNode

Members

Plugs:

string Code RW The shader node default BOOTS code
string CodeRT RW The shader node BOOTS code specialized for OpenGL
boolean Collapsed RW The shader node collapse state, true for collapsed, false for expanded
{float,float} NodePos RW The shader node position in shader view

Methods:

ShaderNode result addnode ( string filename ) add a node into a shader node by its filename
ShaderNodeIn input createinput ( string name , type type ) Create a new input
ShaderNodeOut input createoutput ( string name ) Create a new output
nil fillnodefooter ( table template ) Fill the template footer with custom attributes
nil fillnodeinputstemplate ( table template ) Fill the template with inputs and ouputs extended controls
nil fillnodetemplate ( table template ) Fill the template with custom attributes
nil fillnodetemplatefooter ( table template ) Fill the template with standard node template footer, like inputs and outputs settings
nil fillnodetemplateheader ( table template ) Fill the template with standard node template header, like inputs
ShaderNodeIn input getinput ( string name ) Gets a child ShaderNodeIn plug by its display name
ShaderNodeOut input getoutput ( string name ) Gets a child ShaderNodeOut plug by its display name
nil removeinput ( string name ) Remove an input
nil removeoutput ( string name ) Remove an output


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
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 ) load a file content in this 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 ) Paste a string copy into 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

string Code RW

The shader node default BOOTS code


string CodeRT RW

The shader node BOOTS code specialized for OpenGL


boolean Collapsed RW

The shader node collapse state, true for collapsed, false for expanded


{float,float} NodePos RW

The shader node position in shader view


ShaderNode result addnode ( string filename )

add a node into a shader node by its filename

Arguments:

  • filename The file name of the node to add

Return:

  • result The created node or nil if failed


ShaderNodeIn input createinput ( string name , type type )

Create a new input

Arguments:

  • name The input name
  • type The input type

Return:

  • input The created input plug


ShaderNodeOut input createoutput ( string name )

Create a new output

Arguments:

  • name The output name

Return:

  • input The created output plug


nil fillnodefooter ( table template )

Fill the template footer with custom attributes

Arguments:

  • template The template table to fill


nil fillnodeinputstemplate ( table template )

Fill the template with inputs and ouputs extended controls

Arguments:

  • template The template table to fill


nil fillnodetemplate ( table template )

Fill the template with custom attributes

A ShaderNode template is composed by calling standard fillnodetemplateheader, then custom fillnodetemplate, then standard fillenodetemplateheader and eventually custom fillnodefooter.
Arguments:

  • template The template table to fill


nil fillnodetemplatefooter ( table template )

Fill the template with standard node template footer, like inputs and outputs settings

Arguments:

  • template The template table to fill


nil fillnodetemplateheader ( table template )

Fill the template with standard node template header, like inputs

Arguments:

  • template The template table to fill


ShaderNodeIn input getinput ( string name )

Gets a child ShaderNodeIn plug by its display name

Arguments:

  • name The input name to find

Return:

  • input The input plug, or nil if none found


ShaderNodeOut input getoutput ( string name )

Gets a child ShaderNodeOut plug by its display name

Arguments:

  • name the output name to find

Return:

  • input The output plug, or nil if none found


nil removeinput ( string name )

Remove an input

Arguments:

  • name The input name


nil removeoutput ( string name )

Remove an output

Arguments:

  • name The output name