@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
67 lines (66 loc) • 2.42 kB
JavaScript
"use strict";
import { BaseNodeGlMathFunctionArg1GlNode } from "./_BaseMathFunction";
function MathFunctionArg1Factory(type, options = {}) {
const gl_method_name = options.method || type;
const gl_output_name = options.out || "val";
const gl_input_name = options.in || "in";
return class Node extends BaseNodeGlMathFunctionArg1GlNode {
static type() {
return type;
}
initializeNode() {
super.initializeNode();
this.io.connection_points.set_input_name_function(this._gl_input_name.bind(this));
this.io.connection_points.set_output_name_function(this._gl_output_name.bind(this));
}
_gl_input_name(index) {
return gl_input_name;
}
_gl_output_name(index) {
return gl_output_name;
}
gl_method_name() {
return gl_method_name;
}
};
}
export class AbsGlNode extends MathFunctionArg1Factory("abs") {
}
export class AcosGlNode extends MathFunctionArg1Factory("acos", { out: "radians" }) {
}
export class AsinGlNode extends MathFunctionArg1Factory("asin", { out: "radians" }) {
}
export class AtanGlNode extends MathFunctionArg1Factory("atan", { out: "radians" }) {
}
export class CeilGlNode extends MathFunctionArg1Factory("ceil") {
}
export class CosGlNode extends MathFunctionArg1Factory("cos", { in: "radians" }) {
}
export class DegreesGlNode extends MathFunctionArg1Factory("degrees", { in: "radians", out: "degrees" }) {
}
export class ExpGlNode extends MathFunctionArg1Factory("exp") {
}
export class Exp2GlNode extends MathFunctionArg1Factory("exp2") {
}
export class FloorGlNode extends MathFunctionArg1Factory("floor") {
}
export class FractGlNode extends MathFunctionArg1Factory("fract") {
}
export class InverseSqrtGlNode extends MathFunctionArg1Factory("inverseSqrt", { method: "inversesqrt" }) {
}
export class LogGlNode extends MathFunctionArg1Factory("log") {
}
export class Log2GlNode extends MathFunctionArg1Factory("log2") {
}
export class NormalizeGlNode extends MathFunctionArg1Factory("normalize", { out: "normalized" }) {
}
export class RadiansGlNode extends MathFunctionArg1Factory("radians", { in: "degrees", out: "radians" }) {
}
export class SignGlNode extends MathFunctionArg1Factory("sign") {
}
export class SinGlNode extends MathFunctionArg1Factory("sin", { in: "radians" }) {
}
export class SqrtGlNode extends MathFunctionArg1Factory("sqrt") {
}
export class TanGlNode extends MathFunctionArg1Factory("tan") {
}