| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 | /* global require */import defined from "../Core/defined.js";import PrimitivePipeline from "../Scene/PrimitivePipeline.js";import createTaskProcessorWorker from "./createTaskProcessorWorker.js";const moduleCache = {};function getModule(moduleName) {  let module = moduleCache[moduleName];  if (!defined(module)) {    if (typeof exports === "object") {      // Use CommonJS-style require.      moduleCache[module] = module = require(`Workers/${moduleName}`);    } else {      // Use AMD-style require.      // in web workers, require is synchronous      require([`Workers/${moduleName}`], function (f) {        module = f;        moduleCache[module] = f;      });    }  }  return module;}function createGeometry(parameters, transferableObjects) {  const subTasks = parameters.subTasks;  const length = subTasks.length;  const resultsOrPromises = new Array(length);  for (let i = 0; i < length; i++) {    const task = subTasks[i];    const geometry = task.geometry;    const moduleName = task.moduleName;    if (defined(moduleName)) {      const createFunction = getModule(moduleName);      resultsOrPromises[i] = createFunction(geometry, task.offset);    } else {      //Already created geometry      resultsOrPromises[i] = geometry;    }  }  return Promise.all(resultsOrPromises).then(function (results) {    return PrimitivePipeline.packCreateGeometryResults(      results,      transferableObjects    );  });}export default createTaskProcessorWorker(createGeometry);
 |