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 |
| count |
When the linked property is an array-like, this parameter defines its length. Default is |
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 |
- 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.