UNPKG

@polygonjs/polygonjs

Version:

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

99 lines (98 loc) 3.11 kB
"use strict"; import { ParamType } from "../../../poly/ParamType"; import { RampParam } from "../../../params/Ramp"; import { Color } from "three"; import { Vector2 } from "three"; import { Vector3 } from "three"; import { Vector4 } from "three"; export class ParamTemplate { constructor(type, init_value, options) { this.type = type; this.init_value = init_value; this.options = options; } } export class ParamConfig { static BUTTON(init_value, options) { return new ParamTemplate(ParamType.BUTTON, init_value, options); } static BOOLEAN(init_value, options) { return new ParamTemplate(ParamType.BOOLEAN, init_value, options); } static COLOR(init_value, options) { if (init_value instanceof Color) { init_value = init_value.toArray(); } return new ParamTemplate(ParamType.COLOR, init_value, options); } static FLOAT(init_value, options) { return new ParamTemplate(ParamType.FLOAT, init_value, options); } static FOLDER(init_value = null, options) { return new ParamTemplate(ParamType.FOLDER, init_value, options); } static INTEGER(init_value, options) { return new ParamTemplate(ParamType.INTEGER, init_value, options); } static RAMP(init_value = RampParam.DEFAULT_VALUE, options) { return new ParamTemplate(ParamType.RAMP, init_value, options); } static STRING(init_value = "", options) { return new ParamTemplate(ParamType.STRING, init_value, options); } static VECTOR2(init_value, options) { if (init_value instanceof Vector2) { init_value = init_value.toArray(); } return new ParamTemplate(ParamType.VECTOR2, init_value, options); } static VECTOR3(init_value, options) { if (init_value instanceof Vector3) { init_value = init_value.toArray(); } return new ParamTemplate(ParamType.VECTOR3, init_value, options); } static VECTOR4(init_value, options) { if (init_value instanceof Vector4) { init_value = init_value.toArray(); } return new ParamTemplate(ParamType.VECTOR4, init_value, options); } // // // PATH PARAMS // // // static OPERATOR_PATH( // init_value: ParamInitValuesTypeMap[ParamType.OPERATOR_PATH], // options?: ParamOptionsByTypeMap[ParamType.OPERATOR_PATH] // ) { // return new ParamTemplate<ParamType.OPERATOR_PATH>(ParamType.OPERATOR_PATH, init_value, options); // } static NODE_PATH(init_value, options) { return new ParamTemplate(ParamType.NODE_PATH, init_value, options); } static PARAM_PATH(init_value, options) { return new ParamTemplate(ParamType.PARAM_PATH, init_value, options); } } export class NodeParamsConfig { } export class HierarchyParamConfig extends NodeParamsConfig { constructor() { super(...arguments); /** @param group to apply this node to */ this.group = ParamConfig.STRING("", { objectMask: true }); } } export class HierarchyParamConfigAll extends NodeParamsConfig { constructor() { super(...arguments); /** @param group to apply this node to */ this.group = ParamConfig.STRING("*", { objectMask: true }); } }