@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
45 lines (44 loc) • 1.34 kB
JavaScript
;
import {
JsConnectionPointType,
JsConnectionPointTypeFromArrayTypeMap
} from "../utils/io/connections/Js";
import {
MathFunctionArg2OperationFactory,
DEFAULT_ALLOWED_TYPES
} from "./_Math_Arg1Operation";
var MaxInput = /* @__PURE__ */ ((MaxInput2) => {
MaxInput2["src"] = "src";
MaxInput2["max"] = "max";
return MaxInput2;
})(MaxInput || {});
const DefaultValues = {
["src" /* src */]: 0,
["max" /* max */]: 1
};
export class MaxJsNode extends MathFunctionArg2OperationFactory("max", {
inputPrefix: "in",
out: "max"
}) {
paramDefaultValue(name) {
return DefaultValues[name];
}
_expectedInputName(index) {
return ["src" /* src */, "max" /* max */][index];
}
_expectedInputTypes() {
let first_input_type = this.io.connection_points.first_input_connection_type();
const connectionPoints = this.io.inputs.namedInputConnectionPoints();
if (first_input_type && connectionPoints) {
if (!DEFAULT_ALLOWED_TYPES.includes(first_input_type)) {
const first_connection = connectionPoints[0];
if (first_connection) {
first_input_type = first_connection.type();
}
}
}
const type = first_input_type || JsConnectionPointType.FLOAT;
const boundType = JsConnectionPointTypeFromArrayTypeMap[type];
return [type, boundType];
}
}