UNPKG

@polygonjs/polygonjs

Version:

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

46 lines (45 loc) 1.81 kB
"use strict"; export var AssemblerName = /* @__PURE__ */ ((AssemblerName2) => { AssemblerName2["GL_CLOTH"] = "GL_CLOTH"; AssemblerName2["GL_LINE"] = "GL_LINE"; AssemblerName2["GL_MESH_BASIC"] = "GL_MESH_BASIC"; AssemblerName2["GL_MESH_DEPTH"] = "GL_MESH_DEPTH"; AssemblerName2["GL_MESH_DISTANCE"] = "GL_MESH_DISTANCE"; AssemblerName2["GL_MESH_LAMBERT"] = "GL_MESH_LAMBERT"; AssemblerName2["GL_MESH_PHONG"] = "GL_MESH_PHONG"; AssemblerName2["GL_MESH_PHYSICAL"] = "GL_MESH_PHYSICAL"; AssemblerName2["GL_MESH_STANDARD"] = "GL_MESH_STANDARD"; AssemblerName2["GL_MESH_TOON"] = "GL_MESH_TOON"; AssemblerName2["GL_PARTICLES"] = "GL_PARTICLES"; AssemblerName2["GL_POINTS"] = "GL_POINTS"; AssemblerName2["GL_POST"] = "GL_POST"; AssemblerName2["GL_RAYMARCHING"] = "GL_RAYMARCHING"; AssemblerName2["GL_TEXTURE"] = "GL_TEXTURE"; AssemblerName2["GL_TEXTURE_2D_ARRAY"] = "GL_TEXTURE_2D_ARRAY"; AssemblerName2["GL_VOLUME"] = "GL_VOLUME"; AssemblerName2["JS_ACTOR"] = "JS_ACTOR"; AssemblerName2["JS_ENTITY_BUILDER"] = "JS_ENTITY_BUILDER"; AssemblerName2["JS_INSTANCE_BUILDER"] = "JS_INSTANCE_BUILDER"; AssemblerName2["JS_OBJECT_BUILDER"] = "JS_OBJECT_BUILDER"; AssemblerName2["JS_POINT_BUILDER"] = "JS_POINT_BUILDER"; AssemblerName2["JS_SDF"] = "JS_SDF"; AssemblerName2["JS_SOFT_BODY"] = "JS_SOFT_BODY"; return AssemblerName2; })(AssemblerName || {}); export class BaseAssemblersRegister { constructor() { this._controllerAssemblerByName = /* @__PURE__ */ new Map(); } register(name, controller, assembler) { this._controllerAssemblerByName.set(name, { controller, assembler }); } unregister(name) { this._controllerAssemblerByName.delete(name); } traverse(callback) { this._controllerAssemblerByName.forEach(callback); } }