import { html } from "lit" import IInputPinTemplate from "./IInputPinTemplate" import INumericPinTemplate from "./INumericInputPinTemplate" import Utility from "../Utility" import VectorEntity from "../entity/VectorEntity" /** @typedef {import("../entity/LinearColorEntity").default} LinearColorEntity */ /** * @template {VectorEntity} T * @extends INumericPinTemplate */ export default class VectorInputPinTemplate extends INumericPinTemplate { /** * @param {Number[]} values * @param {String[]} rawValues */ setDefaultValue(values, rawValues) { if (!(this.element.entity.DefaultValue instanceof VectorEntity)) { throw new TypeError("Expected DefaultValue to be a VectorEntity") } let vector = this.element.entity.DefaultValue vector.X = values[0] vector.Y = values[1] vector.Z = values[2] } renderInput() { return html`
X
Y
Z
` } }