UNPKG

@polygonjs/polygonjs

Version:

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

51 lines (50 loc) 2.08 kB
"use strict"; import { TypedJsNode } from "./_Base"; import { NodeParamsConfig } from "../utils/params/ParamsConfig"; import { JS_CONNECTION_POINT_IN_NODE_DEF, JsConnectionPoint, JsConnectionPointType } from "../utils/io/connections/Js"; import { Poly } from "../../Poly"; const CONNECTION_OPTIONS = JS_CONNECTION_POINT_IN_NODE_DEF; var QuaternionAngleToInputName = /* @__PURE__ */ ((QuaternionAngleToInputName2) => { QuaternionAngleToInputName2["q1"] = "q1"; QuaternionAngleToInputName2["q2"] = "q2"; return QuaternionAngleToInputName2; })(QuaternionAngleToInputName || {}); var QuaternionAngleToOutputName = /* @__PURE__ */ ((QuaternionAngleToOutputName2) => { QuaternionAngleToOutputName2["angle"] = "angle"; return QuaternionAngleToOutputName2; })(QuaternionAngleToOutputName || {}); class QuaternionAngleToJsParamsConfig extends NodeParamsConfig { } const ParamsConfig = new QuaternionAngleToJsParamsConfig(); export class QuaternionAngleToJsNode extends TypedJsNode { constructor() { super(...arguments); this.paramsConfig = ParamsConfig; } static type() { return "quaternionAngleTo"; } initializeNode() { super.initializeNode(); this.io.inputs.setNamedInputConnectionPoints([ new JsConnectionPoint("q1" /* q1 */, JsConnectionPointType.QUATERNION, CONNECTION_OPTIONS), new JsConnectionPoint("q2" /* q2 */, JsConnectionPointType.QUATERNION, CONNECTION_OPTIONS) ]); this.io.outputs.setNamedOutputConnectionPoints([ new JsConnectionPoint("angle" /* angle */, JsConnectionPointType.FLOAT) ]); } setLines(linesController) { const q1 = this.variableForInput(linesController, "q1" /* q1 */); const q2 = this.variableForInput(linesController, "q2" /* q2 */); const varName = this.jsVarName("angle" /* angle */); const func = Poly.namedFunctionsRegister.getFunction("quaternionAngleTo", this, linesController); linesController.addBodyOrComputed(this, [ { dataType: JsConnectionPointType.EULER, varName, value: func.asString(q1, q2) } ]); } }