You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

55 lines
2.4 KiB

define(['./defaultValue-fe22d8c0', './PrimitivePipeline-6081d138', './createTaskProcessorWorker', './Transforms-b527bb09', './Matrix3-41c58dde', './Check-6ede7e26', './Math-0a2ac845', './Matrix2-e1298525', './RuntimeError-ef395448', './combine-d9581036', './ComponentDatatype-cf1fa08e', './WebGLConstants-0b1ce7ba', './GeometryAttribute-a5b6275b', './GeometryAttributes-ad136444', './GeometryPipeline-fa9e6ffc', './AttributeCompression-f9f6c717', './EncodedCartesian3-57415c8a', './IndexDatatype-2643aa47', './IntersectionTests-feace3da', './Plane-4c3d403b', './WebMercatorProjection-13ed1a6e'], (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;
}));