Murl Engine Lua Addon API  Version 1.0 beta
Murl.Logic.GraphNodeT.GraphIShaderProgram

A template class for safe access of basic graph node properties and for easy use of the GraphObservableNode object in combination with a INodeObserver.

See MurlLogicGraphNodeTypes GraphNodeTypes for predefined types.


Table members

Inherited


Murl.Graph.IShaderProgram

Functions


Murl.Logic.GraphNodeT.GraphIShaderProgram.new()

The default constructor. Creates a GraphObservableNode object.

Murl.Logic.GraphNodeT.GraphIShaderProgram new()

Returns
Murl.Logic.GraphNodeT.GraphIShaderProgram

Murl.Logic.GraphNodeT.GraphIShaderProgram.new(namespaceNode, nodeIdPath)

The constructor including a graph namespace node and path. Creates a GraphObservableNode object.

Murl.Logic.GraphNodeT.GraphIShaderProgram new(Murl.Graph.INamespace namespaceNode, String nodeIdPath)

Parameters
namespaceNodeThe graph namespace node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.Logic.GraphNodeT.GraphIShaderProgram

Murl.Logic.GraphNodeT.GraphIShaderProgram.new(node)

The constructor including a graph node. Creates a GraphObservableNode object.

Murl.Logic.GraphNodeT.GraphIShaderProgram new(Murl.Graph.INode node)

Parameters
nodeThe graph node.
Returns
Murl.Logic.GraphNodeT.GraphIShaderProgram

Murl.Logic.GraphNodeT.GraphIShaderProgram.new(root, nodeIdPath)

The constructor including the graph root node and path. Creates a GraphObservableNode object.

Murl.Logic.GraphNodeT.GraphIShaderProgram new(Murl.Graph.IRoot root, String nodeIdPath)

Parameters
rootThe graph root node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.Logic.GraphNodeT.GraphIShaderProgram

Murl.Logic.GraphNodeT.GraphIShaderProgram.new(namespaceNode, nodeIdPath)

The constructor including a graph namespace node and path. Creates a GraphObservableNode object.

Murl.Logic.GraphNodeT.GraphIShaderProgram new(Murl.Logic.GraphNodeT.GraphINamespace namespaceNode, String nodeIdPath)

Parameters
namespaceNodeThe logic namespace node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.Logic.GraphNodeT.GraphIShaderProgram


Methods


IsValid()

Check if the graph node is valid.

Boolean IsValid()

Returns
Boolean true if the graph node is valid.

RemoveReference()

Remove the reference from the graph node.

Boolean RemoveReference()

Returns
Boolean true if successful or if the graph node is null.

CanReference(node)

Check if a graph node can be referenced by this template's node type.

Boolean CanReference(Murl.Graph.INode node)

Parameters
nodeThe graph node to check.
Returns
Boolean true if the graph node has a compatible type, otherwise false.

CanResolveReference(node)

Check if a graph node can be referenced by this template's node type by resolving a Graph::IReference node.

Boolean CanResolveReference(Murl.Graph.INode node)

Parameters
nodeThe graph node to check.
Returns
Boolean true if the graph node has a compatible type, otherwise false.

GetReference(namespaceNode, nodeIdPath)

Get a reference to a graph node by identifier relative to a namespace.

Murl.SharedPointer.LogicIObservableNode GetReference(Murl.Graph.INamespace namespaceNode, String nodeIdPath)

Parameters
namespaceNodeThe graph namespace node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.SharedPointer.LogicIObservableNode The observable node.

GetReference(node)

Get a reference to a graph node of this template's node type.

Murl.SharedPointer.LogicIObservableNode GetReference(Murl.Graph.INode node)

Parameters
nodeThe graph node.
Returns
Murl.SharedPointer.LogicIObservableNode The observable node.

GetReference(root, nodeIdPath)

Get a reference to a graph node by identifier.

Murl.SharedPointer.LogicIObservableNode GetReference(Murl.Graph.IRoot root, String nodeIdPath)

Parameters
rootThe graph root node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.SharedPointer.LogicIObservableNode The observable node.

GetReference(namespaceNode, nodeIdPath)

Get a reference to a graph node by identifier relative to a namespace.

Murl.SharedPointer.LogicIObservableNode GetReference(Murl.Logic.GraphNodeT.GraphINamespace namespaceNode, String nodeIdPath)

Parameters
namespaceNodeThe logic namespace node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.SharedPointer.LogicIObservableNode The observable node.

ResolveReference(namespaceNode, nodeIdPath)

Get a reference to a graph node by resolving a Graph::IReference node by identifier relative to a namespace.

Murl.SharedPointer.LogicIObservableNode ResolveReference(Murl.Graph.INamespace namespaceNode, String nodeIdPath)

Parameters
namespaceNodeThe graph namespace node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.SharedPointer.LogicIObservableNode The observable node.

ResolveReference(node)

Get a reference to a graph node by resolving a Graph::IReference node.

Murl.SharedPointer.LogicIObservableNode ResolveReference(Murl.Graph.INode node)

Parameters
nodeThe Graph::IReference node to resolve.
Returns
Murl.SharedPointer.LogicIObservableNode The observable node.

ResolveReference(root, nodeIdPath)

Get a reference to a graph node by resolving a Graph::IReference node by identifier.

Murl.SharedPointer.LogicIObservableNode ResolveReference(Murl.Graph.IRoot root, String nodeIdPath)

Parameters
rootThe graph root node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.SharedPointer.LogicIObservableNode The observable node.

ResolveReference(namespaceNode, nodeIdPath)

Get a reference to a graph node by resolving a Graph::IReference node by identifier relative to a namespace.

Murl.SharedPointer.LogicIObservableNode ResolveReference(Murl.Logic.GraphNodeT.GraphINamespace namespaceNode, String nodeIdPath)

Parameters
namespaceNodeThe logic namespace node.
nodeIdPathThe node ID to find, with optional path specification when searching in sub-namespaces.
Returns
Murl.SharedPointer.LogicIObservableNode The observable node.

GetNode()

Get the graph node interface.

Murl.Graph.IShaderProgram GetNode()

Returns
Murl.Graph.IShaderProgram A pointer to the graph node interface or null.

GetNodeInterface()

Get the graph Graph::INode interface.

Murl.Graph.INode GetNodeInterface()

Returns
Murl.Graph.INode A pointer to the Graph::INode interface or null.

GetId()

Get the Graph::INode node identifier.

String GetId()

Returns
String The Graph::INode node identifier

SetActive(isActive)

Enable/disable logic traversals. Calls Graph::ITraversable::SetActive().

Boolean SetActive(Boolean isActive)

Parameters
isActiveIf true, logic traversals are enabled.
Returns
Boolean true if successful.

IsActive()

Check if logic traversals are enabled. Calls Graph::ITraversable::IsActive().

Boolean IsActive()

Returns
Boolean true if enabled.

SetVisible(isVisible)

Enable/disable output traversals. Calls Graph::ITraversable::SetVisible().

Boolean SetVisible(Boolean isVisible)

Parameters
isVisibleIf true, output traversals are enabled.
Returns
Boolean true if successful.

IsVisible()

Check if output traversals are enabled. Calls Graph::ITraversable::IsVisible().

Boolean IsVisible()

Returns
Boolean true if enabled.

SetActiveAndVisible(enabled)

Enable/disable both logic and output traversals. Calls Graph::ITraversable::SetActiveAndVisible().

Boolean SetActiveAndVisible(Boolean enabled)

Parameters
enabledIf true, both logic and output traversals are enabled.
Returns
Boolean true if successful.

IsActiveAndVisible()

Check if both logic and output traversals are enabled. Calls Graph::ITraversable::IsActiveAndVisible().

Boolean IsActiveAndVisible()

Returns
Boolean true if both are enabled.

GetChild(index)

Get the graph Graph::INode interface of a child by index.

Murl.Graph.INode GetChild(Integer index)

Parameters
indexThe zero-based index of the child.
Returns
Murl.Graph.INode A pointer to the Graph::INode interface or null.

GetChild(identifier)

Get the graph Graph::INode interface of a child by identifier.

Murl.Graph.INode GetChild(String identifier)

Parameters
identifierThe identifier of the child to search for.
Returns
Murl.Graph.INode A pointer to the Graph::INode interface or null.

GetNumberOfChildren()

Return the number of the graph node's children.

Integer GetNumberOfChildren()

Returns
Integer The number of children.

GetParent(index)

Get the graph Graph::INode interface of a parent by index.

Murl.Graph.INode GetParent(Integer index)

Parameters
indexThe zero-based index of the parent.
Returns
Murl.Graph.INode A pointer to the Graph::INode interface or null.

GetParent(identifier)

Get the graph Graph::INode interface of a parent by identifier.

Murl.Graph.INode GetParent(String identifier)

Parameters
identifierThe identifier of the parent to search for.
Returns
Murl.Graph.INode A pointer to the Graph::INode interface or null.

GetNumberOfParents()

Return the number of the graph node's parents.

Integer GetNumberOfParents()

Returns
Integer The number of parents.

GetNumberOfControllers()

Return the number of the graph node's controllers.

Integer GetNumberOfControllers()

Returns
Integer The number of controllers.

GetLinkController(index)

Get the Graph::ILinkController interface at a given index.

Murl.Graph.ILinkController GetLinkController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.ILinkController A pointer to the Graph::ILinkController interface or null.

GetLogicController(index)

Get the Graph::ILogicController interface at a given index.

Murl.Graph.ILogicController GetLogicController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.ILogicController A pointer to the Graph::ILogicController interface or null.

GetNodeLinkController(index)

Get the Graph::INodeLinkController interface at a given index.

Murl.Graph.INodeLinkController GetNodeLinkController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.INodeLinkController A pointer to the Graph::INodeLinkController interface or null.

GetScriptLogicController(index)

Get the Graph::IScriptLogicController interface at a given index.

Murl.Graph.IScriptLogicController GetScriptLogicController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.IScriptLogicController A pointer to the Graph::IScriptLogicController interface or null.

GetTimeController(index)

Get the Graph::ITimeController interface at a given index.

Murl.Graph.ITimeController GetTimeController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.ITimeController A pointer to the Graph::ITimeController interface or null.

GetAnimationTimeController(index)

Get the Graph::IAnimationTimeController interface at a given index.

Murl.Graph.IAnimationTimeController GetAnimationTimeController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.IAnimationTimeController A pointer to the Graph::IAnimationTimeController interface or null.

GetUniformTimeController(index)

Get the Graph::IUniformTimeController interface at a given index.

Murl.Graph.IUniformTimeController GetUniformTimeController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.IUniformTimeController A pointer to the Graph::IUniformTimeController interface or null.

GetWaveUniformTimeController(index)

Get the Graph::IWaveUniformTimeController interface at a given index.

Murl.Graph.IWaveUniformTimeController GetWaveUniformTimeController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.IWaveUniformTimeController A pointer to the Graph::IWaveUniformTimeController interface or null.

GetVariableController(index)

Get the Graph::IVariableController interface at a given index.

Murl.Graph.IVariableController GetVariableController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.IVariableController A pointer to the Graph::IVariableController interface or null.

GetTimelineVariableController(index)

Get the Graph::ITimelineVariableController interface at a given index.

Murl.Graph.ITimelineVariableController GetTimelineVariableController(Integer index)

Parameters
indexThe zero-based index of the controller.
Returns
Murl.Graph.ITimelineVariableController A pointer to the Graph::ITimelineVariableController interface or null.


Metamethods


The tostring operator

Converts the object content to a string in a reasonable format.

Returns
GetId()