UNPKG

cesium

Version:

CesiumJS is a JavaScript library for creating 3D globes and 2D maps in a web browser without a plugin.

56 lines (46 loc) 2.46 kB
define(['./defaultValue-0a909f67', './PrimitivePipeline-0d7b5ed4', './createTaskProcessorWorker', './Transforms-26539bce', './Matrix3-315394f6', './Check-666ab1a0', './Math-2dbd6b93', './Matrix2-13178034', './RuntimeError-06c93819', './combine-ca22a614', './ComponentDatatype-f7b11d02', './WebGLConstants-a8cc3e8c', './GeometryAttribute-0bfd05e8', './GeometryAttributes-f06a2792', './GeometryPipeline-0166905d', './AttributeCompression-b646d393', './EncodedCartesian3-81f70735', './IndexDatatype-a55ceaa1', './IntersectionTests-a93d3de9', './Plane-900aa728', './WebMercatorProjection-13a90d41'], (function (defaultValue, PrimitivePipeline, createTaskProcessorWorker, Transforms, Matrix3, Check, Math, Matrix2, RuntimeError, combine, ComponentDatatype, WebGLConstants, GeometryAttribute, GeometryAttributes, GeometryPipeline, AttributeCompression, EncodedCartesian3, IndexDatatype, IntersectionTests, Plane, WebMercatorProjection) { 'use strict'; /* global require */ const moduleCache = {}; function getModule(moduleName) { let module = moduleCache[moduleName]; if (!defaultValue.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 (defaultValue.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.PrimitivePipeline.packCreateGeometryResults( results, transferableObjects ); }); } var createGeometry$1 = createTaskProcessorWorker(createGeometry); return createGeometry$1; }));