12345678910111213141516171819202122232425262728293031323334353637 |
- import { NumberInput, LabelElement } from '../../libs/flow.module.js';
- import { BaseNode } from '../core/BaseNode.js';
- import { Vector4 } from 'three';
- import { UniformNode } from 'three/nodes';
- export class Vector4Editor extends BaseNode {
- constructor() {
- const node = new UniformNode( new Vector4() );
- super( 'Vector 4', 4, node, 350 );
- const onUpdate = () => {
- node.value.x = fieldX.getValue();
- node.value.y = fieldY.getValue();
- node.value.z = fieldZ.getValue();
- node.value.w = fieldW.getValue();
- };
- const fieldX = new NumberInput().setTagColor( 'red' ).onChange( onUpdate );
- const fieldY = new NumberInput().setTagColor( 'green' ).onChange( onUpdate );
- const fieldZ = new NumberInput().setTagColor( 'blue' ).onChange( onUpdate );
- const fieldW = new NumberInput( 1 ).setTagColor( 'white' ).onChange( onUpdate );
- this.add( new LabelElement( 'XYZW' )
- .add( fieldX )
- .add( fieldY )
- .add( fieldZ )
- .add( fieldW )
- );
- }
- }
|