EventDispatcherNode

ReferenceNode

This type of node establishes a reference to a property of another object. In this way, the value of the node is automatically linked to the value of referenced object. Reference nodes internally represent the linked value as a uniform.

Constructor

new ReferenceNode( property : string, uniformType : string, object : Object, count : number )

Constructs a new reference node.

property

The name of the property the node refers to.

uniformType

The uniform type that should be used to represent the property value.

object

The object the property belongs to.

Default is null.

count

When the linked property is an array-like, this parameter defines its length.

Default is null.

Properties

.count : number

When the linked property is an array, this parameter defines its length.

Default is null.

.group : UniformGroupNode

The uniform group of the internal uniform.

Default is null.

.name : string

An optional label of the internal uniform node.

Default is null.

Overrides: Node#name

.node : UniformNode

The uniform node that holds the value of the reference node.

Default is null.

.object : Object

The object the property belongs to.

Default is null.

.properties : Array.<string>

The property name might have dots so nested properties can be referred. The hierarchy of the names is stored inside this array.

.property : string

The name of the property the node refers to.

.reference : Object

Points to the current referred object. This property exists next to ReferenceNode#object since the final reference might be updated from calling code.

Default is null.

.uniformType : string

The uniform type that should be used to represent the property value.

.updateType : string

Overwritten since reference nodes are updated per object.

Default is 'object'.

Overrides: Node#updateType

Methods

.element( indexNode : IndexNode ) : ReferenceElementNode

When the referred property is array-like, this method can be used to access elements via an index node.

indexNode

indexNode.

Returns: A reference to an element.

.getNodeType( builder : NodeBuilder ) : string

This method is overwritten since the node type is inferred from the type of the reference node.

builder

The current node builder.

Overrides: Node#getNodeType
Returns: The node type.

.getValueFromReference( object : Object ) : any

Returns the property value from the given referred object.

object

The object to retrieve the property value from.

Default is this.reference.

Returns: The value.

.label( name : string ) : ReferenceNode

Sets the label for the internal uniform.

name

The label to set.

Deprecated: Yes
Returns: A reference to this node.

.setGroup( group : UniformGroupNode ) : ReferenceNode

Sets the uniform group for this reference node.

group

The uniform group to set.

Returns: A reference to this node.

.setName( name : string ) : ReferenceNode

Sets the name for the internal uniform.

name

The label to set.

Returns: A reference to this node.

.setNodeType( uniformType : string )

Sets the node type which automatically defines the internal uniform type.

uniformType

The type to set.

.setup( builder : NodeBuilder ) : UniformNode

The output of the reference node is the internal uniform node.

builder

The current node builder.

Overrides: Node#setup
Returns: The output node.

.update( frame : NodeFrame )

Overwritten to update the internal uniform value.

frame

A reference to the current node frame.

Overrides: Node#update

.updateReference( state : NodeFrame | NodeBuilder ) : Object

Allows to update the reference based on the given state. The state is only evaluated ReferenceNode#object is not set.

state

The current state.

Overrides: Node#updateReference
Returns: The updated reference.

.updateValue()

Retrieves the value from the referred object property and uses it to updated the internal uniform.

Source

src/nodes/accessors/ReferenceNode.js