@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
23 lines (22 loc) • 797 B
JavaScript
;
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;
}
}