node-ejs-renderer/node_modules/three/examples/jsm/nodes/accessors/UserDataNode.js
2024-06-09 13:55:01 -04:00

30 lines
663 B
JavaScript

import ReferenceNode from './ReferenceNode.js';
import { addNodeClass } from '../core/Node.js';
import { nodeObject } from '../shadernode/ShaderNode.js';
class UserDataNode extends ReferenceNode {
constructor( property, inputType, userData = null ) {
super( property, inputType, userData );
this.userData = userData;
}
update( frame ) {
this.reference = this.userData !== null ? this.userData : frame.object.userData;
super.update( frame );
}
}
export default UserDataNode;
export const userData = ( name, inputType, userData ) => nodeObject( new UserDataNode( name, inputType, userData ) );
addNodeClass( 'UserDataNode', UserDataNode );