UNPKG

@polygonjs/polygonjs

Version:

node-based WebGL 3D engine https://polygonjs.com

33 lines (26 loc) 947 B
import {TypedNode} from '../_Base'; import {NodeContext} from '../../poly/NodeContext'; import {NodeParamsConfig} from '../utils/params/ParamsConfig'; import {FlagsController} from '../utils/FlagsController'; /** * * * TypedRopNode is the base class for all nodes that process outputs. This inherits from [TypedNode](/docs/api/TypedNode). * */ export class TypedRopNode<K extends NodeParamsConfig> extends TypedNode<NodeContext.ROP, K> { static override context(): NodeContext { return NodeContext.ROP; } public override readonly flags: FlagsController = new FlagsController(this); override initializeBaseNode() { this.dirtyController.addPostDirtyHook('cook_immediately', () => { this.cookController.cookMainWithoutInputs(); }); } override cook() { this.cookController.endCook(); } } export type BaseRopNodeType = TypedRopNode<NodeParamsConfig>; export class BaseRopNodeClass extends TypedRopNode<NodeParamsConfig> {}