Vector3Editor.js 784 B

1234567891011121314151617181920212223242526272829
  1. import { NumberInput, LabelElement } from '../../libs/flow.module.js';
  2. import { BaseNode } from '../core/BaseNode.js';
  3. import { Vector3Node } from 'three-nodes/Nodes.js';
  4. export class Vector3Editor extends BaseNode {
  5. constructor() {
  6. const node = new Vector3Node();
  7. super( 'Vector 3', 3, node, 325 );
  8. const onUpdate = () => {
  9. node.value.x = fieldX.getValue();
  10. node.value.y = fieldY.getValue();
  11. node.value.z = fieldZ.getValue();
  12. };
  13. const fieldX = new NumberInput().setTagColor( 'red' ).onChange( onUpdate );
  14. const fieldY = new NumberInput().setTagColor( 'green' ).onChange( onUpdate );
  15. const fieldZ = new NumberInput().setTagColor( 'blue' ).onChange( onUpdate );
  16. this.add( new LabelElement( 'XYZ' ).add( fieldX ).add( fieldY ).add( fieldZ ) );
  17. }
  18. }