UNPKG

@polygonjs/polygonjs

Version:

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

23 lines (22 loc) 797 B
"use strict"; import { TypedNodeTraverser } from "./NodeTraverser"; import { ShaderName } from "./ShaderName"; const _nodeIds = []; export class GlNodeTraverser extends TypedNodeTraverser { leavesFromNodes(nodes) { var _a; this._shaderName = ShaderName.LEAVES_FROM_NODES_SHADER; this._graph_ids_by_shader_name.set(this._shaderName, /* @__PURE__ */ new Map()); this._leaves_graph_id.set(this._shaderName, /* @__PURE__ */ new Map()); for (const node of nodes) { this._findLeaves(node); } _nodeIds.length = 0; (_a = this._leaves_graph_id.get(this._shaderName)) == null ? void 0 : _a.forEach((value, key) => { _nodeIds.push(key); }); const selectedNodes = []; this._graph.nodesFromIds(_nodeIds, selectedNodes); return selectedNodes; } }