PowerEditor.js 700 B

12345678910111213141516171819202122232425262728293031323334
  1. import { ObjectNode, LabelElement } from '../../libs/flow.module.js';
  2. import { MathNode, FloatNode } from '../../renderers/nodes/Nodes.js';
  3. const NULL_VALUE = new FloatNode();
  4. export class PowerEditor extends ObjectNode {
  5. constructor() {
  6. const node = new MathNode( MathNode.POW, NULL_VALUE, NULL_VALUE );
  7. super( 'Power', 1, node, 200 );
  8. const aElement = new LabelElement( 'A' ).setInput( 1 );
  9. const bElement = new LabelElement( 'B' ).setInput( 1 );
  10. aElement.onConnect( () => {
  11. node.aNode = aElement.linkedExtra || NULL_VALUE;
  12. } );
  13. bElement.onConnect( () => {
  14. node.bNode = bElement.linkedExtra || NULL_VALUE;
  15. } );
  16. this.add( aElement )
  17. .add( bElement );
  18. }
  19. }