@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
117 lines (116 loc) • 3.44 kB
JavaScript
"use strict";
import { NodeContext } from "../poly/NodeContext";
export class BaseNamedFunction {
constructor(node, shadersCollectionController) {
this.node = node;
this.shadersCollectionController = shadersCollectionController;
this.scene = node.scene();
this.timeController = this.scene.timeController;
if (node.context() == NodeContext.JS) {
this.jsNode = node;
this.functionNode = this.jsNode.functionNode();
} else {
this.jsNode = void 0;
this.functionNode = node;
}
}
// abstract type: string;
static type() {
throw "type to be overriden";
}
type() {
const c = this.constructor;
return c.type();
}
asString(...args) {
if (this.shadersCollectionController) {
if (this.jsNode) {
this.shadersCollectionController.addFunction(this.jsNode, this);
}
} else {
console.warn("no shadersCollectionController in func", this.type());
}
return "";
}
}
export class NamedFunction extends BaseNamedFunction {
constructor() {
super(...arguments);
this.async = false;
}
asString(...args) {
super.asString(...args);
const functionCall = `${this.type()}(${args.join(", ")})`;
return this.async ? `await ${functionCall}` : functionCall;
}
}
export class NamedFunction0 extends NamedFunction {
}
export class NamedFunction1 extends NamedFunction {
}
export class NamedFunction2 extends NamedFunction {
}
export class NamedFunction3 extends NamedFunction {
}
export class NamedFunction4 extends NamedFunction {
}
export class NamedFunction5 extends NamedFunction {
}
export class NamedFunction6 extends NamedFunction {
}
export class NamedFunction7 extends NamedFunction {
}
export class NamedFunction8 extends NamedFunction {
}
export class NamedFunction9 extends NamedFunction {
}
class ObjectNamedFunction extends BaseNamedFunction {
asString(...args) {
super.asString(...args);
return `${this.type()}(${args.join(", ")})`;
}
}
export class ObjectNamedFunction0 extends ObjectNamedFunction {
}
export class ObjectNamedFunction1 extends ObjectNamedFunction {
}
export class ObjectNamedFunction2 extends ObjectNamedFunction {
}
export class ObjectNamedFunction3 extends ObjectNamedFunction {
}
export class ObjectNamedFunction4 extends ObjectNamedFunction {
}
export class ObjectNamedFunction5 extends ObjectNamedFunction {
}
export class ObjectNamedFunction6 extends ObjectNamedFunction {
}
export class ObjectNamedFunction7 extends ObjectNamedFunction {
}
export class ObjectNamedFunction8 extends ObjectNamedFunction {
}
export class ObjectNamedFunction9 extends ObjectNamedFunction {
}
export class ObjectNamedFunction10 extends ObjectNamedFunction {
}
export class ObjectNamedFunction11 extends ObjectNamedFunction {
}
export class ObjectNamedFunction12 extends ObjectNamedFunction {
}
export class ObjectNamedFunction13 extends ObjectNamedFunction {
}
export class ObjectNamedFunction14 extends ObjectNamedFunction {
}
export class ObjectNamedFunction15 extends ObjectNamedFunction {
}
export class ObjectNamedFunction16 extends ObjectNamedFunction {
}
export class ObjectNamedFunction17 extends ObjectNamedFunction {
}
export class ObjectNamedFunction18 extends ObjectNamedFunction {
}
export class ObjectNamedFunction19 extends ObjectNamedFunction {
}
export class ObjectNamedFunction20 extends ObjectNamedFunction {
}
export class ObjectNamedFunction21 extends ObjectNamedFunction {
}