@xeokit/xeokit-sdk 2.5.2-beta-9 → 2.5.2-beta-10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/xeokit-sdk.cjs.js +48 -16
- package/dist/xeokit-sdk.es.js +48 -16
- package/dist/xeokit-sdk.es5.js +15 -9
- package/dist/xeokit-sdk.min.cjs.js +3 -3
- package/dist/xeokit-sdk.min.es.js +3 -3
- package/dist/xeokit-sdk.min.es5.js +3 -3
- package/package.json +1 -1
- package/src/plugins/GLTFLoaderPlugin/GLTFDefaultDataSource.js +5 -4
- package/src/plugins/XKTLoaderPlugin/XKTLoaderPlugin.js +4 -5
- package/src/viewer/Plugin.js +9 -0
- package/src/viewer/scene/Component.js +8 -0
- package/src/viewer/scene/core.js +18 -2
- package/src/viewer/scene/utils/FileLoader.js +2 -1
- package/src/viewer/scene/utils.js +6 -4
package/dist/xeokit-sdk.cjs.js
CHANGED
|
@@ -6895,6 +6895,7 @@ const stats = {
|
|
|
6895
6895
|
/**
|
|
6896
6896
|
* @private
|
|
6897
6897
|
*/
|
|
6898
|
+
|
|
6898
6899
|
function xmlToJson(node, attributeRenamer) {
|
|
6899
6900
|
if (node.nodeType === node.TEXT_NODE) {
|
|
6900
6901
|
var v = node.nodeValue;
|
|
@@ -7100,13 +7101,13 @@ function loadArraybuffer$1(url, ok, err) {
|
|
|
7100
7101
|
for (var i = 0; i < data.length; i++) {
|
|
7101
7102
|
view[i] = data.charCodeAt(i);
|
|
7102
7103
|
}
|
|
7103
|
-
|
|
7104
|
+
core.scheduleTask(() => {
|
|
7104
7105
|
ok(buffer);
|
|
7105
|
-
}
|
|
7106
|
+
});
|
|
7106
7107
|
} catch (error) {
|
|
7107
|
-
|
|
7108
|
+
core.scheduleTask(() => {
|
|
7108
7109
|
err(error);
|
|
7109
|
-
}
|
|
7110
|
+
});
|
|
7110
7111
|
}
|
|
7111
7112
|
} else {
|
|
7112
7113
|
const request = new XMLHttpRequest();
|
|
@@ -7354,6 +7355,7 @@ let lastTime = 0;
|
|
|
7354
7355
|
let elapsedTime;
|
|
7355
7356
|
let totalFPS = 0;
|
|
7356
7357
|
|
|
7358
|
+
|
|
7357
7359
|
/**
|
|
7358
7360
|
* @private
|
|
7359
7361
|
*/
|
|
@@ -7439,7 +7441,7 @@ function Core() {
|
|
|
7439
7441
|
* @param {Function} callback Callback that runs the task.
|
|
7440
7442
|
* @param {Object} [scope] Scope for the callback.
|
|
7441
7443
|
*/
|
|
7442
|
-
this.scheduleTask = function (callback, scope) {
|
|
7444
|
+
this.scheduleTask = function (callback, scope = null) {
|
|
7443
7445
|
taskQueue.push(callback);
|
|
7444
7446
|
taskQueue.push(scope);
|
|
7445
7447
|
};
|
|
@@ -7493,7 +7495,22 @@ const frame = function () {
|
|
|
7493
7495
|
lastTime = time;
|
|
7494
7496
|
};
|
|
7495
7497
|
|
|
7496
|
-
|
|
7498
|
+
class WorkerInterval {
|
|
7499
|
+
worker = null;
|
|
7500
|
+
|
|
7501
|
+
constructor(callback, interval) {
|
|
7502
|
+
const blob = new Blob([`setInterval(() => postMessage(0), ${interval});`]);
|
|
7503
|
+
const workerScript = URL.createObjectURL(blob);
|
|
7504
|
+
this.worker = new Worker(workerScript);
|
|
7505
|
+
this.worker.onmessage = callback;
|
|
7506
|
+
}
|
|
7507
|
+
|
|
7508
|
+
stop() {
|
|
7509
|
+
this.worker.terminate();
|
|
7510
|
+
}
|
|
7511
|
+
}
|
|
7512
|
+
|
|
7513
|
+
new WorkerInterval(frame, 100);
|
|
7497
7514
|
|
|
7498
7515
|
const renderFrame = function () {
|
|
7499
7516
|
let time = Date.now();
|
|
@@ -8400,6 +8417,14 @@ class Component {
|
|
|
8400
8417
|
}
|
|
8401
8418
|
}
|
|
8402
8419
|
|
|
8420
|
+
/**
|
|
8421
|
+
* Schedule a task to perform on the next browser interval
|
|
8422
|
+
* @param task
|
|
8423
|
+
*/
|
|
8424
|
+
scheduleTask(task) {
|
|
8425
|
+
core.scheduleTask(task, null);
|
|
8426
|
+
}
|
|
8427
|
+
|
|
8403
8428
|
/**
|
|
8404
8429
|
* Protected virtual template method, optionally implemented
|
|
8405
8430
|
* by sub-classes to perform a scheduled task.
|
|
@@ -9155,6 +9180,14 @@ class Plugin {
|
|
|
9155
9180
|
viewer.addPlugin(this);
|
|
9156
9181
|
}
|
|
9157
9182
|
|
|
9183
|
+
/**
|
|
9184
|
+
* Schedule a task to perform on the next browser interval
|
|
9185
|
+
* @param task
|
|
9186
|
+
*/
|
|
9187
|
+
scheduleTask(task) {
|
|
9188
|
+
core.scheduleTask(task, null);
|
|
9189
|
+
}
|
|
9190
|
+
|
|
9158
9191
|
/**
|
|
9159
9192
|
* Fires an event on this Plugin.
|
|
9160
9193
|
*
|
|
@@ -77535,7 +77568,7 @@ class FileLoader extends Loader {
|
|
|
77535
77568
|
const cached = Cache$1.get(url);
|
|
77536
77569
|
if (cached !== undefined) {
|
|
77537
77570
|
this.manager.itemStart(url);
|
|
77538
|
-
|
|
77571
|
+
core.scheduleTask(() => {
|
|
77539
77572
|
if (onLoad) {
|
|
77540
77573
|
onLoad(cached);
|
|
77541
77574
|
}
|
|
@@ -86768,13 +86801,13 @@ function loadArraybuffer(glTFSrc, binarySrc, ok, err) {
|
|
|
86768
86801
|
for (var i = 0; i < data.length; i++) {
|
|
86769
86802
|
view[i] = data.charCodeAt(i);
|
|
86770
86803
|
}
|
|
86771
|
-
|
|
86804
|
+
core.scheduleTask(function () {
|
|
86772
86805
|
ok(buffer);
|
|
86773
|
-
}
|
|
86806
|
+
});
|
|
86774
86807
|
} catch (error) {
|
|
86775
|
-
|
|
86808
|
+
core.scheduleTask(function () {
|
|
86776
86809
|
err(error);
|
|
86777
|
-
}
|
|
86810
|
+
});
|
|
86778
86811
|
}
|
|
86779
86812
|
} else {
|
|
86780
86813
|
const basePath = getBasePath$1(glTFSrc);
|
|
@@ -127729,14 +127762,13 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
127729
127762
|
sceneModel.once("destroyed", () => {
|
|
127730
127763
|
this.viewer.metaScene.destroyMetaModel(metaModel.id);
|
|
127731
127764
|
});
|
|
127732
|
-
|
|
127733
|
-
|
|
127765
|
+
this.scheduleTask(() => {
|
|
127734
127766
|
if (sceneModel.destroyed) {
|
|
127735
127767
|
return;
|
|
127736
127768
|
}
|
|
127737
127769
|
sceneModel.scene.fire("modelLoaded", sceneModel.id); // FIXME: Assumes listeners know order of these two events
|
|
127738
127770
|
sceneModel.fire("loaded", true, false); // Don't forget the event, for late subscribers
|
|
127739
|
-
}
|
|
127771
|
+
});
|
|
127740
127772
|
};
|
|
127741
127773
|
|
|
127742
127774
|
const error = (errMsg) => {
|
|
@@ -127814,7 +127846,7 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
127814
127846
|
globalizeObjectIds: options.globalizeObjectIds
|
|
127815
127847
|
});
|
|
127816
127848
|
i++;
|
|
127817
|
-
|
|
127849
|
+
this.scheduleTask( loadNext, 100);
|
|
127818
127850
|
}, error);
|
|
127819
127851
|
}
|
|
127820
127852
|
};
|
|
@@ -127829,7 +127861,7 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
127829
127861
|
this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
|
|
127830
127862
|
this._parseModel(arrayBuffer, params, options, sceneModel, metaModel, manifestCtx);
|
|
127831
127863
|
i++;
|
|
127832
|
-
|
|
127864
|
+
this.scheduleTask(loadNext, 100);
|
|
127833
127865
|
}, error);
|
|
127834
127866
|
}
|
|
127835
127867
|
};
|
package/dist/xeokit-sdk.es.js
CHANGED
|
@@ -6891,6 +6891,7 @@ const stats = {
|
|
|
6891
6891
|
/**
|
|
6892
6892
|
* @private
|
|
6893
6893
|
*/
|
|
6894
|
+
|
|
6894
6895
|
function xmlToJson(node, attributeRenamer) {
|
|
6895
6896
|
if (node.nodeType === node.TEXT_NODE) {
|
|
6896
6897
|
var v = node.nodeValue;
|
|
@@ -7096,13 +7097,13 @@ function loadArraybuffer$1(url, ok, err) {
|
|
|
7096
7097
|
for (var i = 0; i < data.length; i++) {
|
|
7097
7098
|
view[i] = data.charCodeAt(i);
|
|
7098
7099
|
}
|
|
7099
|
-
|
|
7100
|
+
core.scheduleTask(() => {
|
|
7100
7101
|
ok(buffer);
|
|
7101
|
-
}
|
|
7102
|
+
});
|
|
7102
7103
|
} catch (error) {
|
|
7103
|
-
|
|
7104
|
+
core.scheduleTask(() => {
|
|
7104
7105
|
err(error);
|
|
7105
|
-
}
|
|
7106
|
+
});
|
|
7106
7107
|
}
|
|
7107
7108
|
} else {
|
|
7108
7109
|
const request = new XMLHttpRequest();
|
|
@@ -7350,6 +7351,7 @@ let lastTime = 0;
|
|
|
7350
7351
|
let elapsedTime;
|
|
7351
7352
|
let totalFPS = 0;
|
|
7352
7353
|
|
|
7354
|
+
|
|
7353
7355
|
/**
|
|
7354
7356
|
* @private
|
|
7355
7357
|
*/
|
|
@@ -7435,7 +7437,7 @@ function Core() {
|
|
|
7435
7437
|
* @param {Function} callback Callback that runs the task.
|
|
7436
7438
|
* @param {Object} [scope] Scope for the callback.
|
|
7437
7439
|
*/
|
|
7438
|
-
this.scheduleTask = function (callback, scope) {
|
|
7440
|
+
this.scheduleTask = function (callback, scope = null) {
|
|
7439
7441
|
taskQueue.push(callback);
|
|
7440
7442
|
taskQueue.push(scope);
|
|
7441
7443
|
};
|
|
@@ -7489,7 +7491,22 @@ const frame = function () {
|
|
|
7489
7491
|
lastTime = time;
|
|
7490
7492
|
};
|
|
7491
7493
|
|
|
7492
|
-
|
|
7494
|
+
class WorkerInterval {
|
|
7495
|
+
worker = null;
|
|
7496
|
+
|
|
7497
|
+
constructor(callback, interval) {
|
|
7498
|
+
const blob = new Blob([`setInterval(() => postMessage(0), ${interval});`]);
|
|
7499
|
+
const workerScript = URL.createObjectURL(blob);
|
|
7500
|
+
this.worker = new Worker(workerScript);
|
|
7501
|
+
this.worker.onmessage = callback;
|
|
7502
|
+
}
|
|
7503
|
+
|
|
7504
|
+
stop() {
|
|
7505
|
+
this.worker.terminate();
|
|
7506
|
+
}
|
|
7507
|
+
}
|
|
7508
|
+
|
|
7509
|
+
new WorkerInterval(frame, 100);
|
|
7493
7510
|
|
|
7494
7511
|
const renderFrame = function () {
|
|
7495
7512
|
let time = Date.now();
|
|
@@ -8396,6 +8413,14 @@ class Component {
|
|
|
8396
8413
|
}
|
|
8397
8414
|
}
|
|
8398
8415
|
|
|
8416
|
+
/**
|
|
8417
|
+
* Schedule a task to perform on the next browser interval
|
|
8418
|
+
* @param task
|
|
8419
|
+
*/
|
|
8420
|
+
scheduleTask(task) {
|
|
8421
|
+
core.scheduleTask(task, null);
|
|
8422
|
+
}
|
|
8423
|
+
|
|
8399
8424
|
/**
|
|
8400
8425
|
* Protected virtual template method, optionally implemented
|
|
8401
8426
|
* by sub-classes to perform a scheduled task.
|
|
@@ -9151,6 +9176,14 @@ class Plugin {
|
|
|
9151
9176
|
viewer.addPlugin(this);
|
|
9152
9177
|
}
|
|
9153
9178
|
|
|
9179
|
+
/**
|
|
9180
|
+
* Schedule a task to perform on the next browser interval
|
|
9181
|
+
* @param task
|
|
9182
|
+
*/
|
|
9183
|
+
scheduleTask(task) {
|
|
9184
|
+
core.scheduleTask(task, null);
|
|
9185
|
+
}
|
|
9186
|
+
|
|
9154
9187
|
/**
|
|
9155
9188
|
* Fires an event on this Plugin.
|
|
9156
9189
|
*
|
|
@@ -77531,7 +77564,7 @@ class FileLoader extends Loader {
|
|
|
77531
77564
|
const cached = Cache$1.get(url);
|
|
77532
77565
|
if (cached !== undefined) {
|
|
77533
77566
|
this.manager.itemStart(url);
|
|
77534
|
-
|
|
77567
|
+
core.scheduleTask(() => {
|
|
77535
77568
|
if (onLoad) {
|
|
77536
77569
|
onLoad(cached);
|
|
77537
77570
|
}
|
|
@@ -86764,13 +86797,13 @@ function loadArraybuffer(glTFSrc, binarySrc, ok, err) {
|
|
|
86764
86797
|
for (var i = 0; i < data.length; i++) {
|
|
86765
86798
|
view[i] = data.charCodeAt(i);
|
|
86766
86799
|
}
|
|
86767
|
-
|
|
86800
|
+
core.scheduleTask(function () {
|
|
86768
86801
|
ok(buffer);
|
|
86769
|
-
}
|
|
86802
|
+
});
|
|
86770
86803
|
} catch (error) {
|
|
86771
|
-
|
|
86804
|
+
core.scheduleTask(function () {
|
|
86772
86805
|
err(error);
|
|
86773
|
-
}
|
|
86806
|
+
});
|
|
86774
86807
|
}
|
|
86775
86808
|
} else {
|
|
86776
86809
|
const basePath = getBasePath$1(glTFSrc);
|
|
@@ -127725,14 +127758,13 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
127725
127758
|
sceneModel.once("destroyed", () => {
|
|
127726
127759
|
this.viewer.metaScene.destroyMetaModel(metaModel.id);
|
|
127727
127760
|
});
|
|
127728
|
-
|
|
127729
|
-
|
|
127761
|
+
this.scheduleTask(() => {
|
|
127730
127762
|
if (sceneModel.destroyed) {
|
|
127731
127763
|
return;
|
|
127732
127764
|
}
|
|
127733
127765
|
sceneModel.scene.fire("modelLoaded", sceneModel.id); // FIXME: Assumes listeners know order of these two events
|
|
127734
127766
|
sceneModel.fire("loaded", true, false); // Don't forget the event, for late subscribers
|
|
127735
|
-
}
|
|
127767
|
+
});
|
|
127736
127768
|
};
|
|
127737
127769
|
|
|
127738
127770
|
const error = (errMsg) => {
|
|
@@ -127810,7 +127842,7 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
127810
127842
|
globalizeObjectIds: options.globalizeObjectIds
|
|
127811
127843
|
});
|
|
127812
127844
|
i++;
|
|
127813
|
-
|
|
127845
|
+
this.scheduleTask( loadNext, 100);
|
|
127814
127846
|
}, error);
|
|
127815
127847
|
}
|
|
127816
127848
|
};
|
|
@@ -127825,7 +127857,7 @@ class XKTLoaderPlugin extends Plugin {
|
|
|
127825
127857
|
this._dataSource.getXKT(`${baseDir}${xktFiles[i]}`, (arrayBuffer) => {
|
|
127826
127858
|
this._parseModel(arrayBuffer, params, options, sceneModel, metaModel, manifestCtx);
|
|
127827
127859
|
i++;
|
|
127828
|
-
|
|
127860
|
+
this.scheduleTask(loadNext, 100);
|
|
127829
127861
|
}, error);
|
|
127830
127862
|
}
|
|
127831
127863
|
};
|
package/dist/xeokit-sdk.es5.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var _DEFAULT_SAMPLER;var _marked=/*#__PURE__*/_regeneratorRuntime().mark(makeStringIterator),_marked2=/*#__PURE__*/_regeneratorRuntime().mark(makeArrayBufferIterator),_marked3=/*#__PURE__*/_regeneratorRuntime().mark(makeMeshPrimitiveIterator);function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty2(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}function _defineProperty2(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return exports;};var exports={},Op=Object.prototype,hasOwn=Op.hasOwnProperty,$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}),obj[key];}try{define({},"");}catch(err){define=function define(obj,key,value){return obj[key]=value;};}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return generator._invoke=function(innerFn,self,context){var state="suspendedStart";return function(method,arg){if("executing"===state)throw new Error("Generator is already running");if("completed"===state){if("throw"===method)throw arg;return doneResult();}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult;}}if("next"===context.method)context.sent=context._sent=context.arg;else if("throw"===context.method){if("suspendedStart"===state)throw state="completed",context.arg;context.dispatchException(context.arg);}else"return"===context.method&&context.abrupt("return",context.arg);state="executing";var record=tryCatch(innerFn,self,context);if("normal"===record.type){if(state=context.done?"completed":"suspendedYield",record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done};}"throw"===record.type&&(state="completed",context.method="throw",context.arg=record.arg);}};}(innerFn,self,context),generator;}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)};}catch(err){return{type:"throw",arg:err};}}exports.wrap=wrap;var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,function(){return this;});var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){define(prototype,method,function(arg){return this._invoke(method,arg);});});}function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value&&"object"==_typeof(value)&&hasOwn.call(value,"__await")?PromiseImpl.resolve(value.__await).then(function(value){invoke("next",value,resolve,reject);},function(err){invoke("throw",err,resolve,reject);}):PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result);},function(error){return invoke("throw",error,resolve,reject);});}reject(record.arg);}var previousPromise;this._invoke=function(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){invoke(method,arg,resolve,reject);});}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();};}function maybeInvokeDelegate(delegate,context){var method=delegate.iterator[context.method];if(undefined===method){if(context.delegate=null,"throw"===context.method){if(delegate.iterator["return"]&&(context.method="return",context.arg=undefined,maybeInvokeDelegate(delegate,context),"throw"===context.method))return ContinueSentinel;context.method="throw",context.arg=new TypeError("The iterator does not provide a 'throw' method");}return ContinueSentinel;}var record=tryCatch(method,delegate.iterator,context.arg);if("throw"===record.type)return context.method="throw",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,"return"!==context.method&&(context.method="next",context.arg=undefined),context.delegate=null,ContinueSentinel):info:(context.method="throw",context.arg=new TypeError("iterator result is not an object"),context.delegate=null,ContinueSentinel);}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry);}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record;}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0);}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;){if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next;}return next.value=undefined,next.done=!0,next;};return next.next=next;}}return{next:doneResult};}function doneResult(){return{value:undefined,done:!0};}return GeneratorFunction.prototype=GeneratorFunctionPrototype,define(Gp,"constructor",GeneratorFunctionPrototype),define(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,toStringTagSymbol,"GeneratorFunction"),exports.isGeneratorFunction=function(genFun){var ctor="function"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||"GeneratorFunction"===(ctor.displayName||ctor.name));},exports.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,define(genFun,toStringTagSymbol,"GeneratorFunction")),genFun.prototype=Object.create(Gp),genFun;},exports.awrap=function(arg){return{__await:arg};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,asyncIteratorSymbol,function(){return this;}),exports.AsyncIterator=AsyncIterator,exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){void 0===PromiseImpl&&(PromiseImpl=Promise);var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next();});},defineIteratorMethods(Gp),define(Gp,toStringTagSymbol,"Generator"),define(Gp,iteratorSymbol,function(){return this;}),define(Gp,"toString",function(){return"[object Generator]";}),exports.keys=function(object){var keys=[];for(var key in object){keys.push(key);}return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next;}return next.done=!0,next;};},exports.values=values,Context.prototype={constructor:Context,reset:function reset(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method="next",this.arg=undefined,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this){"t"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=undefined);}},stop:function stop(){this.done=!0;var rootRecord=this.tryEntries[0].completion;if("throw"===rootRecord.type)throw rootRecord.arg;return this.rval;},dispatchException:function dispatchException(exception){if(this.done)throw exception;var context=this;function handle(loc,caught){return record.type="throw",record.arg=exception,context.next=loc,caught&&(context.method="next",context.arg=undefined),!!caught;}for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc);}else if(hasCatch){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);}else{if(!hasFinally)throw new Error("try statement without catch or finally");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc);}}}},abrupt:function abrupt(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break;}}finallyEntry&&("break"===type||"continue"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?(this.method="next",this.next=finallyEntry.finallyLoc,ContinueSentinel):this.complete(record);},complete:function complete(record,afterLoc){if("throw"===record.type)throw record.arg;return"break"===record.type||"continue"===record.type?this.next=record.arg:"return"===record.type?(this.rval=this.arg=record.arg,this.method="return",this.next="end"):"normal"===record.type&&afterLoc&&(this.next=afterLoc),ContinueSentinel;},finish:function finish(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel;}},"catch":function _catch(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry);}return thrown;}}throw new Error("illegal catch attempt");},delegateYield:function delegateYield(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=undefined),ContinueSentinel;}},exports;}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr);}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};},e:function e(_e13){throw _e13;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o);},n:function n(){var step=it.next();normalCompletion=step.done;return step;},e:function e(_e14){didErr=true;err=_e14;},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]();}finally{if(didErr)throw err;}}};}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _get(){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get.bind();}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(arguments.length<3?target:receiver);}return desc.value;};}return _get.apply(this,arguments);}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break;}return object;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _awaitAsyncGenerator(value){return new _AwaitValue(value);}function _wrapAsyncGenerator(fn){return function(){return new _AsyncGenerator(fn.apply(this,arguments));};}function _AsyncGenerator(gen){var front,back;function send(key,arg){return new Promise(function(resolve,reject){var request={key:key,arg:arg,resolve:resolve,reject:reject,next:null};if(back){back=back.next=request;}else{front=back=request;resume(key,arg);}});}function resume(key,arg){try{var result=gen[key](arg);var value=result.value;var wrappedAwait=value instanceof _AwaitValue;Promise.resolve(wrappedAwait?value.wrapped:value).then(function(arg){if(wrappedAwait){resume(key==="return"?"return":"next",arg);return;}settle(result.done?"return":"normal",arg);},function(err){resume("throw",err);});}catch(err){settle("throw",err);}}function settle(type,value){switch(type){case"return":front.resolve({value:value,done:true});break;case"throw":front.reject(value);break;default:front.resolve({value:value,done:false});break;}front=front.next;if(front){resume(front.key,front.arg);}else{back=null;}}this._invoke=send;if(typeof gen["return"]!=="function"){this["return"]=undefined;}}_AsyncGenerator.prototype[typeof Symbol==="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this;};_AsyncGenerator.prototype.next=function(arg){return this._invoke("next",arg);};_AsyncGenerator.prototype["throw"]=function(arg){return this._invoke("throw",arg);};_AsyncGenerator.prototype["return"]=function(arg){return this._invoke("return",arg);};function _AwaitValue(value){this.wrapped=value;}function _asyncIterator(iterable){var method,async,sync,retry=2;for("undefined"!=typeof Symbol&&(async=Symbol.asyncIterator,sync=Symbol.iterator);retry--;){if(async&&null!=(method=iterable[async]))return method.call(iterable);if(sync&&null!=(method=iterable[sync]))return new AsyncFromSyncIterator(method.call(iterable));async="@@asyncIterator",sync="@@iterator";}throw new TypeError("Object is not async iterable");}function AsyncFromSyncIterator(s){function AsyncFromSyncIteratorContinuation(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var done=r.done;return Promise.resolve(r.value).then(function(value){return{value:value,done:done};});}return AsyncFromSyncIterator=function AsyncFromSyncIterator(s){this.s=s,this.n=s.next;},AsyncFromSyncIterator.prototype={s:null,n:null,next:function next(){return AsyncFromSyncIteratorContinuation(this.n.apply(this.s,arguments));},"return":function _return(value){var ret=this.s["return"];return void 0===ret?Promise.resolve({value:value,done:!0}):AsyncFromSyncIteratorContinuation(ret.apply(this.s,arguments));},"throw":function _throw(value){var thr=this.s["return"];return void 0===thr?Promise.reject(value):AsyncFromSyncIteratorContinuation(thr.apply(this.s,arguments));}},new AsyncFromSyncIterator(s);}/** @private */var Map$1=/*#__PURE__*/function(){function Map$1(items,baseId){_classCallCheck(this,Map$1);this.items=items||[];this._lastUniqueId=(baseId||0)+1;}/**
|
|
1
|
+
var _DEFAULT_SAMPLER;var _marked=/*#__PURE__*/_regeneratorRuntime().mark(makeStringIterator),_marked2=/*#__PURE__*/_regeneratorRuntime().mark(makeArrayBufferIterator),_marked3=/*#__PURE__*/_regeneratorRuntime().mark(makeMeshPrimitiveIterator);function ownKeys(object,enumerableOnly){var keys=Object.keys(object);if(Object.getOwnPropertySymbols){var symbols=Object.getOwnPropertySymbols(object);enumerableOnly&&(symbols=symbols.filter(function(sym){return Object.getOwnPropertyDescriptor(object,sym).enumerable;})),keys.push.apply(keys,symbols);}return keys;}function _objectSpread(target){for(var i=1;i<arguments.length;i++){var source=null!=arguments[i]?arguments[i]:{};i%2?ownKeys(Object(source),!0).forEach(function(key){_defineProperty2(target,key,source[key]);}):Object.getOwnPropertyDescriptors?Object.defineProperties(target,Object.getOwnPropertyDescriptors(source)):ownKeys(Object(source)).forEach(function(key){Object.defineProperty(target,key,Object.getOwnPropertyDescriptor(source,key));});}return target;}function _regeneratorRuntime(){"use strict";/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */_regeneratorRuntime=function _regeneratorRuntime(){return exports;};var exports={},Op=Object.prototype,hasOwn=Op.hasOwnProperty,$Symbol="function"==typeof Symbol?Symbol:{},iteratorSymbol=$Symbol.iterator||"@@iterator",asyncIteratorSymbol=$Symbol.asyncIterator||"@@asyncIterator",toStringTagSymbol=$Symbol.toStringTag||"@@toStringTag";function define(obj,key,value){return Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}),obj[key];}try{define({},"");}catch(err){define=function define(obj,key,value){return obj[key]=value;};}function wrap(innerFn,outerFn,self,tryLocsList){var protoGenerator=outerFn&&outerFn.prototype instanceof Generator?outerFn:Generator,generator=Object.create(protoGenerator.prototype),context=new Context(tryLocsList||[]);return generator._invoke=function(innerFn,self,context){var state="suspendedStart";return function(method,arg){if("executing"===state)throw new Error("Generator is already running");if("completed"===state){if("throw"===method)throw arg;return doneResult();}for(context.method=method,context.arg=arg;;){var delegate=context.delegate;if(delegate){var delegateResult=maybeInvokeDelegate(delegate,context);if(delegateResult){if(delegateResult===ContinueSentinel)continue;return delegateResult;}}if("next"===context.method)context.sent=context._sent=context.arg;else if("throw"===context.method){if("suspendedStart"===state)throw state="completed",context.arg;context.dispatchException(context.arg);}else"return"===context.method&&context.abrupt("return",context.arg);state="executing";var record=tryCatch(innerFn,self,context);if("normal"===record.type){if(state=context.done?"completed":"suspendedYield",record.arg===ContinueSentinel)continue;return{value:record.arg,done:context.done};}"throw"===record.type&&(state="completed",context.method="throw",context.arg=record.arg);}};}(innerFn,self,context),generator;}function tryCatch(fn,obj,arg){try{return{type:"normal",arg:fn.call(obj,arg)};}catch(err){return{type:"throw",arg:err};}}exports.wrap=wrap;var ContinueSentinel={};function Generator(){}function GeneratorFunction(){}function GeneratorFunctionPrototype(){}var IteratorPrototype={};define(IteratorPrototype,iteratorSymbol,function(){return this;});var getProto=Object.getPrototypeOf,NativeIteratorPrototype=getProto&&getProto(getProto(values([])));NativeIteratorPrototype&&NativeIteratorPrototype!==Op&&hasOwn.call(NativeIteratorPrototype,iteratorSymbol)&&(IteratorPrototype=NativeIteratorPrototype);var Gp=GeneratorFunctionPrototype.prototype=Generator.prototype=Object.create(IteratorPrototype);function defineIteratorMethods(prototype){["next","throw","return"].forEach(function(method){define(prototype,method,function(arg){return this._invoke(method,arg);});});}function AsyncIterator(generator,PromiseImpl){function invoke(method,arg,resolve,reject){var record=tryCatch(generator[method],generator,arg);if("throw"!==record.type){var result=record.arg,value=result.value;return value&&"object"==_typeof(value)&&hasOwn.call(value,"__await")?PromiseImpl.resolve(value.__await).then(function(value){invoke("next",value,resolve,reject);},function(err){invoke("throw",err,resolve,reject);}):PromiseImpl.resolve(value).then(function(unwrapped){result.value=unwrapped,resolve(result);},function(error){return invoke("throw",error,resolve,reject);});}reject(record.arg);}var previousPromise;this._invoke=function(method,arg){function callInvokeWithMethodAndArg(){return new PromiseImpl(function(resolve,reject){invoke(method,arg,resolve,reject);});}return previousPromise=previousPromise?previousPromise.then(callInvokeWithMethodAndArg,callInvokeWithMethodAndArg):callInvokeWithMethodAndArg();};}function maybeInvokeDelegate(delegate,context){var method=delegate.iterator[context.method];if(undefined===method){if(context.delegate=null,"throw"===context.method){if(delegate.iterator["return"]&&(context.method="return",context.arg=undefined,maybeInvokeDelegate(delegate,context),"throw"===context.method))return ContinueSentinel;context.method="throw",context.arg=new TypeError("The iterator does not provide a 'throw' method");}return ContinueSentinel;}var record=tryCatch(method,delegate.iterator,context.arg);if("throw"===record.type)return context.method="throw",context.arg=record.arg,context.delegate=null,ContinueSentinel;var info=record.arg;return info?info.done?(context[delegate.resultName]=info.value,context.next=delegate.nextLoc,"return"!==context.method&&(context.method="next",context.arg=undefined),context.delegate=null,ContinueSentinel):info:(context.method="throw",context.arg=new TypeError("iterator result is not an object"),context.delegate=null,ContinueSentinel);}function pushTryEntry(locs){var entry={tryLoc:locs[0]};1 in locs&&(entry.catchLoc=locs[1]),2 in locs&&(entry.finallyLoc=locs[2],entry.afterLoc=locs[3]),this.tryEntries.push(entry);}function resetTryEntry(entry){var record=entry.completion||{};record.type="normal",delete record.arg,entry.completion=record;}function Context(tryLocsList){this.tryEntries=[{tryLoc:"root"}],tryLocsList.forEach(pushTryEntry,this),this.reset(!0);}function values(iterable){if(iterable){var iteratorMethod=iterable[iteratorSymbol];if(iteratorMethod)return iteratorMethod.call(iterable);if("function"==typeof iterable.next)return iterable;if(!isNaN(iterable.length)){var i=-1,next=function next(){for(;++i<iterable.length;){if(hasOwn.call(iterable,i))return next.value=iterable[i],next.done=!1,next;}return next.value=undefined,next.done=!0,next;};return next.next=next;}}return{next:doneResult};}function doneResult(){return{value:undefined,done:!0};}return GeneratorFunction.prototype=GeneratorFunctionPrototype,define(Gp,"constructor",GeneratorFunctionPrototype),define(GeneratorFunctionPrototype,"constructor",GeneratorFunction),GeneratorFunction.displayName=define(GeneratorFunctionPrototype,toStringTagSymbol,"GeneratorFunction"),exports.isGeneratorFunction=function(genFun){var ctor="function"==typeof genFun&&genFun.constructor;return!!ctor&&(ctor===GeneratorFunction||"GeneratorFunction"===(ctor.displayName||ctor.name));},exports.mark=function(genFun){return Object.setPrototypeOf?Object.setPrototypeOf(genFun,GeneratorFunctionPrototype):(genFun.__proto__=GeneratorFunctionPrototype,define(genFun,toStringTagSymbol,"GeneratorFunction")),genFun.prototype=Object.create(Gp),genFun;},exports.awrap=function(arg){return{__await:arg};},defineIteratorMethods(AsyncIterator.prototype),define(AsyncIterator.prototype,asyncIteratorSymbol,function(){return this;}),exports.AsyncIterator=AsyncIterator,exports.async=function(innerFn,outerFn,self,tryLocsList,PromiseImpl){void 0===PromiseImpl&&(PromiseImpl=Promise);var iter=new AsyncIterator(wrap(innerFn,outerFn,self,tryLocsList),PromiseImpl);return exports.isGeneratorFunction(outerFn)?iter:iter.next().then(function(result){return result.done?result.value:iter.next();});},defineIteratorMethods(Gp),define(Gp,toStringTagSymbol,"Generator"),define(Gp,iteratorSymbol,function(){return this;}),define(Gp,"toString",function(){return"[object Generator]";}),exports.keys=function(object){var keys=[];for(var key in object){keys.push(key);}return keys.reverse(),function next(){for(;keys.length;){var key=keys.pop();if(key in object)return next.value=key,next.done=!1,next;}return next.done=!0,next;};},exports.values=values,Context.prototype={constructor:Context,reset:function reset(skipTempReset){if(this.prev=0,this.next=0,this.sent=this._sent=undefined,this.done=!1,this.delegate=null,this.method="next",this.arg=undefined,this.tryEntries.forEach(resetTryEntry),!skipTempReset)for(var name in this){"t"===name.charAt(0)&&hasOwn.call(this,name)&&!isNaN(+name.slice(1))&&(this[name]=undefined);}},stop:function stop(){this.done=!0;var rootRecord=this.tryEntries[0].completion;if("throw"===rootRecord.type)throw rootRecord.arg;return this.rval;},dispatchException:function dispatchException(exception){if(this.done)throw exception;var context=this;function handle(loc,caught){return record.type="throw",record.arg=exception,context.next=loc,caught&&(context.method="next",context.arg=undefined),!!caught;}for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i],record=entry.completion;if("root"===entry.tryLoc)return handle("end");if(entry.tryLoc<=this.prev){var hasCatch=hasOwn.call(entry,"catchLoc"),hasFinally=hasOwn.call(entry,"finallyLoc");if(hasCatch&&hasFinally){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc);}else if(hasCatch){if(this.prev<entry.catchLoc)return handle(entry.catchLoc,!0);}else{if(!hasFinally)throw new Error("try statement without catch or finally");if(this.prev<entry.finallyLoc)return handle(entry.finallyLoc);}}}},abrupt:function abrupt(type,arg){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc<=this.prev&&hasOwn.call(entry,"finallyLoc")&&this.prev<entry.finallyLoc){var finallyEntry=entry;break;}}finallyEntry&&("break"===type||"continue"===type)&&finallyEntry.tryLoc<=arg&&arg<=finallyEntry.finallyLoc&&(finallyEntry=null);var record=finallyEntry?finallyEntry.completion:{};return record.type=type,record.arg=arg,finallyEntry?(this.method="next",this.next=finallyEntry.finallyLoc,ContinueSentinel):this.complete(record);},complete:function complete(record,afterLoc){if("throw"===record.type)throw record.arg;return"break"===record.type||"continue"===record.type?this.next=record.arg:"return"===record.type?(this.rval=this.arg=record.arg,this.method="return",this.next="end"):"normal"===record.type&&afterLoc&&(this.next=afterLoc),ContinueSentinel;},finish:function finish(finallyLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.finallyLoc===finallyLoc)return this.complete(entry.completion,entry.afterLoc),resetTryEntry(entry),ContinueSentinel;}},"catch":function _catch(tryLoc){for(var i=this.tryEntries.length-1;i>=0;--i){var entry=this.tryEntries[i];if(entry.tryLoc===tryLoc){var record=entry.completion;if("throw"===record.type){var thrown=record.arg;resetTryEntry(entry);}return thrown;}}throw new Error("illegal catch attempt");},delegateYield:function delegateYield(iterable,resultName,nextLoc){return this.delegate={iterator:values(iterable),resultName:resultName,nextLoc:nextLoc},"next"===this.method&&(this.arg=undefined),ContinueSentinel;}},exports;}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg);var value=info.value;}catch(error){reject(error);return;}if(info.done){resolve(value);}else{Promise.resolve(value).then(_next,_throw);}}function _asyncToGenerator(fn){return function(){var self=this,args=arguments;return new Promise(function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value);}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err);}_next(undefined);});};}function _toConsumableArray(arr){return _arrayWithoutHoles(arr)||_iterableToArray(arr)||_unsupportedIterableToArray(arr)||_nonIterableSpread();}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _iterableToArray(iter){if(typeof Symbol!=="undefined"&&iter[Symbol.iterator]!=null||iter["@@iterator"]!=null)return Array.from(iter);}function _arrayWithoutHoles(arr){if(Array.isArray(arr))return _arrayLikeToArray(arr);}function _createForOfIteratorHelper(o,allowArrayLike){var it=typeof Symbol!=="undefined"&&o[Symbol.iterator]||o["@@iterator"];if(!it){if(Array.isArray(o)||(it=_unsupportedIterableToArray(o))||allowArrayLike&&o&&typeof o.length==="number"){if(it)o=it;var i=0;var F=function F(){};return{s:F,n:function n(){if(i>=o.length)return{done:true};return{done:false,value:o[i++]};},e:function e(_e13){throw _e13;},f:F};}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}var normalCompletion=true,didErr=false,err;return{s:function s(){it=it.call(o);},n:function n(){var step=it.next();normalCompletion=step.done;return step;},e:function e(_e14){didErr=true;err=_e14;},f:function f(){try{if(!normalCompletion&&it["return"]!=null)it["return"]();}finally{if(didErr)throw err;}}};}function _slicedToArray(arr,i){return _arrayWithHoles(arr)||_iterableToArrayLimit(arr,i)||_unsupportedIterableToArray(arr,i)||_nonIterableRest();}function _nonIterableRest(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");}function _unsupportedIterableToArray(o,minLen){if(!o)return;if(typeof o==="string")return _arrayLikeToArray(o,minLen);var n=Object.prototype.toString.call(o).slice(8,-1);if(n==="Object"&&o.constructor)n=o.constructor.name;if(n==="Map"||n==="Set")return Array.from(o);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return _arrayLikeToArray(o,minLen);}function _arrayLikeToArray(arr,len){if(len==null||len>arr.length)len=arr.length;for(var i=0,arr2=new Array(len);i<len;i++){arr2[i]=arr[i];}return arr2;}function _iterableToArrayLimit(arr,i){var _i=arr==null?null:typeof Symbol!=="undefined"&&arr[Symbol.iterator]||arr["@@iterator"];if(_i==null)return;var _arr=[];var _n=true;var _d=false;var _s,_e;try{for(_i=_i.call(arr);!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"]!=null)_i["return"]();}finally{if(_d)throw _e;}}return _arr;}function _arrayWithHoles(arr){if(Array.isArray(arr))return arr;}function _get(){if(typeof Reflect!=="undefined"&&Reflect.get){_get=Reflect.get.bind();}else{_get=function _get(target,property,receiver){var base=_superPropBase(target,property);if(!base)return;var desc=Object.getOwnPropertyDescriptor(base,property);if(desc.get){return desc.get.call(arguments.length<3?target:receiver);}return desc.value;};}return _get.apply(this,arguments);}function _superPropBase(object,property){while(!Object.prototype.hasOwnProperty.call(object,property)){object=_getPrototypeOf(object);if(object===null)break;}return object;}function _inherits(subClass,superClass){if(typeof superClass!=="function"&&superClass!==null){throw new TypeError("Super expression must either be null or a function");}subClass.prototype=Object.create(superClass&&superClass.prototype,{constructor:{value:subClass,writable:true,configurable:true}});Object.defineProperty(subClass,"prototype",{writable:false});if(superClass)_setPrototypeOf(subClass,superClass);}function _setPrototypeOf(o,p){_setPrototypeOf=Object.setPrototypeOf?Object.setPrototypeOf.bind():function _setPrototypeOf(o,p){o.__proto__=p;return o;};return _setPrototypeOf(o,p);}function _createSuper(Derived){var hasNativeReflectConstruct=_isNativeReflectConstruct();return function _createSuperInternal(){var Super=_getPrototypeOf(Derived),result;if(hasNativeReflectConstruct){var NewTarget=_getPrototypeOf(this).constructor;result=Reflect.construct(Super,arguments,NewTarget);}else{result=Super.apply(this,arguments);}return _possibleConstructorReturn(this,result);};}function _possibleConstructorReturn(self,call){if(call&&(_typeof(call)==="object"||typeof call==="function")){return call;}else if(call!==void 0){throw new TypeError("Derived constructors may only return object or undefined");}return _assertThisInitialized(self);}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _isNativeReflectConstruct(){if(typeof Reflect==="undefined"||!Reflect.construct)return false;if(Reflect.construct.sham)return false;if(typeof Proxy==="function")return true;try{Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}));return true;}catch(e){return false;}}function _getPrototypeOf(o){_getPrototypeOf=Object.setPrototypeOf?Object.getPrototypeOf.bind():function _getPrototypeOf(o){return o.__proto__||Object.getPrototypeOf(o);};return _getPrototypeOf(o);}function _defineProperty2(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true});}else{obj[key]=value;}return obj;}function _typeof(obj){"@babel/helpers - typeof";return _typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(obj){return typeof obj;}:function(obj){return obj&&"function"==typeof Symbol&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;},_typeof(obj);}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function");}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor);}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);Object.defineProperty(Constructor,"prototype",{writable:false});return Constructor;}function _awaitAsyncGenerator(value){return new _AwaitValue(value);}function _wrapAsyncGenerator(fn){return function(){return new _AsyncGenerator(fn.apply(this,arguments));};}function _AsyncGenerator(gen){var front,back;function send(key,arg){return new Promise(function(resolve,reject){var request={key:key,arg:arg,resolve:resolve,reject:reject,next:null};if(back){back=back.next=request;}else{front=back=request;resume(key,arg);}});}function resume(key,arg){try{var result=gen[key](arg);var value=result.value;var wrappedAwait=value instanceof _AwaitValue;Promise.resolve(wrappedAwait?value.wrapped:value).then(function(arg){if(wrappedAwait){resume(key==="return"?"return":"next",arg);return;}settle(result.done?"return":"normal",arg);},function(err){resume("throw",err);});}catch(err){settle("throw",err);}}function settle(type,value){switch(type){case"return":front.resolve({value:value,done:true});break;case"throw":front.reject(value);break;default:front.resolve({value:value,done:false});break;}front=front.next;if(front){resume(front.key,front.arg);}else{back=null;}}this._invoke=send;if(typeof gen["return"]!=="function"){this["return"]=undefined;}}_AsyncGenerator.prototype[typeof Symbol==="function"&&Symbol.asyncIterator||"@@asyncIterator"]=function(){return this;};_AsyncGenerator.prototype.next=function(arg){return this._invoke("next",arg);};_AsyncGenerator.prototype["throw"]=function(arg){return this._invoke("throw",arg);};_AsyncGenerator.prototype["return"]=function(arg){return this._invoke("return",arg);};function _AwaitValue(value){this.wrapped=value;}function _asyncIterator(iterable){var method,async,sync,retry=2;for("undefined"!=typeof Symbol&&(async=Symbol.asyncIterator,sync=Symbol.iterator);retry--;){if(async&&null!=(method=iterable[async]))return method.call(iterable);if(sync&&null!=(method=iterable[sync]))return new AsyncFromSyncIterator(method.call(iterable));async="@@asyncIterator",sync="@@iterator";}throw new TypeError("Object is not async iterable");}function AsyncFromSyncIterator(s){function AsyncFromSyncIteratorContinuation(r){if(Object(r)!==r)return Promise.reject(new TypeError(r+" is not an object."));var done=r.done;return Promise.resolve(r.value).then(function(value){return{value:value,done:done};});}return AsyncFromSyncIterator=function AsyncFromSyncIterator(s){this.s=s,this.n=s.next;},AsyncFromSyncIterator.prototype={s:null,n:null,next:function next(){return AsyncFromSyncIteratorContinuation(this.n.apply(this.s,arguments));},"return":function _return(value){var ret=this.s["return"];return void 0===ret?Promise.resolve({value:value,done:!0}):AsyncFromSyncIteratorContinuation(ret.apply(this.s,arguments));},"throw":function _throw(value){var thr=this.s["return"];return void 0===thr?Promise.reject(value):AsyncFromSyncIteratorContinuation(thr.apply(this.s,arguments));}},new AsyncFromSyncIterator(s);}/** @private */var Map$1=/*#__PURE__*/function(){function Map$1(items,baseId){_classCallCheck(this,Map$1);this.items=items||[];this._lastUniqueId=(baseId||0)+1;}/**
|
|
2
2
|
* Usage:
|
|
3
3
|
*
|
|
4
4
|
* id = myMap.addItem("foo") // ID internally generated
|
|
@@ -1520,7 +1520,7 @@ console.warn('loadFile: HTTP Status 0 received.');try{ok(JSON.parse(response));}
|
|
|
1520
1520
|
* @private
|
|
1521
1521
|
*/function loadArraybuffer$1(url,ok,err){// Check for data: URI
|
|
1522
1522
|
var defaultCallback=function defaultCallback(_value){return undefined;};ok=ok||defaultCallback;err=err||defaultCallback;var dataUriRegex=/^data:(.*?)(;base64)?,(.*)$/;var dataUriRegexResult=url.match(dataUriRegex);if(dataUriRegexResult){// Safari can't handle data URIs through XMLHttpRequest
|
|
1523
|
-
var isBase64=!!dataUriRegexResult[2];var data=dataUriRegexResult[3];data=window.decodeURIComponent(data);if(isBase64){data=window.atob(data);}try{var buffer=new ArrayBuffer(data.length);var view=new Uint8Array(buffer);for(var i=0;i<data.length;i++){view[i]=data.charCodeAt(i);}
|
|
1523
|
+
var isBase64=!!dataUriRegexResult[2];var data=dataUriRegexResult[3];data=window.decodeURIComponent(data);if(isBase64){data=window.atob(data);}try{var buffer=new ArrayBuffer(data.length);var view=new Uint8Array(buffer);for(var i=0;i<data.length;i++){view[i]=data.charCodeAt(i);}core.scheduleTask(function(){ok(buffer);});}catch(error){core.scheduleTask(function(){err(error);});}}else{var request=new XMLHttpRequest();request.open('GET',url,true);request.responseType='arraybuffer';request.onreadystatechange=function(){if(request.readyState===4){if(request.status===200){ok(request.response);}else{err('loadArrayBuffer error : '+request.response);}}};request.send(null);}}/**
|
|
1524
1524
|
Tests if the given object is an array
|
|
1525
1525
|
@private
|
|
1526
1526
|
*/function isArray(value){return value&&!value.propertyIsEnumerable('length')&&_typeof(value)==='object'&&typeof value.length==='number';}/**
|
|
@@ -1621,13 +1621,13 @@ if(id==="default.scene"){scene.clear();}else{scene.destroy();delete core.scenes[
|
|
|
1621
1621
|
*
|
|
1622
1622
|
* @param {Function} callback Callback that runs the task.
|
|
1623
1623
|
* @param {Object} [scope] Scope for the callback.
|
|
1624
|
-
*/this.scheduleTask=function(callback
|
|
1624
|
+
*/this.scheduleTask=function(callback){var scope=arguments.length>1&&arguments[1]!==undefined?arguments[1]:null;taskQueue.push(callback);taskQueue.push(scope);};this.runTasks=function(){var until=arguments.length>0&&arguments[0]!==undefined?arguments[0]:-1;// Pops and processes tasks in the queue, until the given number of milliseconds has elapsed.
|
|
1625
1625
|
var time=new Date().getTime();var callback;var scope;var tasksRun=0;while(taskQueue.length>0&&(until<0||time<until)){callback=taskQueue.shift();scope=taskQueue.shift();if(scope){callback.call(scope);}else{callback();}time=new Date().getTime();tasksRun++;}return tasksRun;};this.getNumTasks=function(){return taskQueue.length;};}/**
|
|
1626
1626
|
* @private
|
|
1627
1627
|
* @type {Core}
|
|
1628
1628
|
*/var core=new Core();var frame=function frame(){var time=Date.now();elapsedTime=time-lastTime;if(lastTime>0&&elapsedTime>0){// Log FPS stats
|
|
1629
1629
|
var newFPS=1000/elapsedTime;// Moving average of FPS
|
|
1630
|
-
totalFPS+=newFPS;fpsSamples.push(newFPS);if(fpsSamples.length>=numFPSSamples){totalFPS-=fpsSamples.shift();}stats.frame.fps=Math.round(totalFPS/fpsSamples.length);}for(var id in core.scenes){core.scenes[id].compile();}runTasks(time);lastTime=time;};
|
|
1630
|
+
totalFPS+=newFPS;fpsSamples.push(newFPS);if(fpsSamples.length>=numFPSSamples){totalFPS-=fpsSamples.shift();}stats.frame.fps=Math.round(totalFPS/fpsSamples.length);}for(var id in core.scenes){core.scenes[id].compile();}runTasks(time);lastTime=time;};var WorkerInterval=/*#__PURE__*/function(){function WorkerInterval(callback,interval){_classCallCheck(this,WorkerInterval);_defineProperty2(this,"worker",null);var blob=new Blob(["setInterval(() => postMessage(0), ".concat(interval,");")]);var workerScript=URL.createObjectURL(blob);this.worker=new Worker(workerScript);this.worker.onmessage=callback;}_createClass(WorkerInterval,[{key:"stop",value:function stop(){this.worker.terminate();}}]);return WorkerInterval;}();new WorkerInterval(frame,100);var renderFrame=function renderFrame(){var time=Date.now();elapsedTime=time-lastTime;if(lastTime>0&&elapsedTime>0){// Log FPS stats
|
|
1631
1631
|
var newFPS=1000/elapsedTime;// Moving average of FPS
|
|
1632
1632
|
totalFPS+=newFPS;fpsSamples.push(newFPS);if(fpsSamples.length>=numFPSSamples){totalFPS-=fpsSamples.shift();}stats.frame.fps=Math.round(totalFPS/fpsSamples.length);}runTasks(time);fireTickEvents(time);renderScenes();window.requestPostAnimationFrame!==undefined?window.requestPostAnimationFrame(frame):requestAnimationFrame(renderFrame);};renderFrame();function runTasks(time){// Process as many enqueued tasks as we can within the per-frame task budget
|
|
1633
1633
|
var tasksRun=core.runTasks(time+taskBudget);var tasksScheduled=core.getNumTasks();stats.frame.tasksRun=tasksRun;stats.frame.tasksScheduled=tasksScheduled;stats.frame.tasksBudget=taskBudget;}function fireTickEvents(time){// Fire tick event on each Scene
|
|
@@ -1959,6 +1959,9 @@ return component;}},{key:"_checkComponent",value:function _checkComponent(expect
|
|
|
1959
1959
|
*/},{key:"_needUpdate",value:function _needUpdate(priority){if(!this._updateScheduled){this._updateScheduled=true;if(priority===0){this._doUpdate();}else{core.scheduleTask(this._doUpdate,this);}}}/**
|
|
1960
1960
|
* @private
|
|
1961
1961
|
*/},{key:"_doUpdate",value:function _doUpdate(){if(this._updateScheduled){this._updateScheduled=false;if(this._update){this._update();}}}/**
|
|
1962
|
+
* Schedule a task to perform on the next browser interval
|
|
1963
|
+
* @param task
|
|
1964
|
+
*/},{key:"scheduleTask",value:function scheduleTask(task){core.scheduleTask(task,null);}/**
|
|
1962
1965
|
* Protected virtual template method, optionally implemented
|
|
1963
1966
|
* by sub-classes to perform a scheduled task.
|
|
1964
1967
|
*
|
|
@@ -2187,6 +2190,9 @@ this._eventSubs=null;// Event names mapped to subscribers
|
|
|
2187
2190
|
this._eventSubsNum=null;this._events=null;// Maps names to events
|
|
2188
2191
|
this._eventCallDepth=0;// Helps us catch stack overflows from recursive events
|
|
2189
2192
|
viewer.addPlugin(this);}/**
|
|
2193
|
+
* Schedule a task to perform on the next browser interval
|
|
2194
|
+
* @param task
|
|
2195
|
+
*/_createClass(Plugin,[{key:"scheduleTask",value:function scheduleTask(task){core.scheduleTask(task,null);}/**
|
|
2190
2196
|
* Fires an event on this Plugin.
|
|
2191
2197
|
*
|
|
2192
2198
|
* Notifies existing subscribers to the event, optionally retains the event to give to
|
|
@@ -2195,7 +2201,7 @@ viewer.addPlugin(this);}/**
|
|
|
2195
2201
|
* @param {String} event The event type name
|
|
2196
2202
|
* @param {Object} value The event parameters
|
|
2197
2203
|
* @param {Boolean} [forget=false] When true, does not retain for subsequent subscribers
|
|
2198
|
-
*/
|
|
2204
|
+
*/},{key:"fire",value:function fire(event,value,forget){if(!this._events){this._events={};}if(!this._eventSubs){this._eventSubs={};this._eventSubsNum={};}if(forget!==true){this._events[event]=value||true;// Save notification
|
|
2199
2205
|
}var subs=this._eventSubs[event];var sub;if(subs){// Notify subscriptions
|
|
2200
2206
|
for(var subId in subs){if(subs.hasOwnProperty(subId)){sub=subs[subId];this._eventCallDepth++;if(this._eventCallDepth<300){sub.callback.call(sub.scope,value);}else{this.error("fire: potential stack overflow from recursive event '"+event+"' - dropping this event");}this._eventCallDepth--;}}}}/**
|
|
2201
2207
|
* Subscribes to an event on this Plugin.
|
|
@@ -16008,7 +16014,7 @@ gl.RGBA,gl.FLOAT,tempMat4a);// gl.bindTexture (gl.TEXTURE_2D, null);
|
|
|
16008
16014
|
*/this.texture=cfg.texture;}/**
|
|
16009
16015
|
* @private
|
|
16010
16016
|
*/_createClass(SceneModelTexture,[{key:"destroy",value:function destroy(){if(this.texture){this.texture.destroy();this.texture=null;}}}]);return SceneModelTexture;}();var Cache$1={enabled:false,files:{},add:function add(key,file){if(this.enabled===false){return;}this.files[key]=file;},get:function get(key){if(this.enabled===false){return;}return this.files[key];},remove:function remove(key){delete this.files[key];},clear:function clear(){this.files={};}};var LoadingManager=/*#__PURE__*/function(){function LoadingManager(onLoad,onProgress,onError){_classCallCheck(this,LoadingManager);this.isLoading=false;this.itemsLoaded=0;this.itemsTotal=0;this.urlModifier=undefined;this.handlers=[];this.onStart=undefined;this.onLoad=onLoad;this.onProgress=onProgress;this.onError=onError;}_createClass(LoadingManager,[{key:"itemStart",value:function itemStart(url){this.itemsTotal++;if(this.isLoading===false){if(this.onStart!==undefined){this.onStart(url,this.itemsLoaded,this.itemsTotal);}}this.isLoading=true;}},{key:"itemEnd",value:function itemEnd(url){this.itemsLoaded++;if(this.onProgress!==undefined){this.onProgress(url,this.itemsLoaded,this.itemsTotal);}if(this.itemsLoaded===this.itemsTotal){this.isLoading=false;if(this.onLoad!==undefined){this.onLoad();}}}},{key:"itemError",value:function itemError(url){if(this.onError!==undefined){this.onError(url);}}},{key:"resolveURL",value:function resolveURL(url){if(this.urlModifier){return this.urlModifier(url);}return url;}},{key:"setURLModifier",value:function setURLModifier(transform){this.urlModifier=transform;return this;}},{key:"addHandler",value:function addHandler(regex,loader){this.handlers.push(regex,loader);return this;}},{key:"removeHandler",value:function removeHandler(regex){var index=this.handlers.indexOf(regex);if(index!==-1){this.handlers.splice(index,2);}return this;}},{key:"getHandler",value:function getHandler(file){for(var _i372=0,_l2=this.handlers.length;_i372<_l2;_i372+=2){var regex=this.handlers[_i372];var loader=this.handlers[_i372+1];if(regex.global)regex.lastIndex=0;// see #17920
|
|
16011
|
-
if(regex.test(file)){return loader;}}return null;}}]);return LoadingManager;}();var DefaultLoadingManager=new LoadingManager();var Loader=/*#__PURE__*/function(){function Loader(manager){_classCallCheck(this,Loader);this.manager=manager!==undefined?manager:DefaultLoadingManager;this.crossOrigin='anonymous';this.withCredentials=false;this.path='';this.resourcePath='';this.requestHeader={};}_createClass(Loader,[{key:"load",value:function/* url, onLoad, onProgress, onError */load(){}},{key:"loadAsync",value:function loadAsync(url,onProgress){var scope=this;return new Promise(function(resolve,reject){scope.load(url,resolve,onProgress,reject);});}},{key:"parse",value:function/* data */parse(){}},{key:"setCrossOrigin",value:function setCrossOrigin(crossOrigin){this.crossOrigin=crossOrigin;return this;}},{key:"setWithCredentials",value:function setWithCredentials(value){this.withCredentials=value;return this;}},{key:"setPath",value:function setPath(path){this.path=path;return this;}},{key:"setResourcePath",value:function setResourcePath(resourcePath){this.resourcePath=resourcePath;return this;}},{key:"setRequestHeader",value:function setRequestHeader(requestHeader){this.requestHeader=requestHeader;return this;}}]);return Loader;}();var loading={};var FileLoader=/*#__PURE__*/function(_Loader){_inherits(FileLoader,_Loader);var _super111=_createSuper(FileLoader);function FileLoader(manager){_classCallCheck(this,FileLoader);return _super111.call(this,manager);}_createClass(FileLoader,[{key:"load",value:function load(url,onLoad,onProgress,onError){var _this70=this;if(url===undefined){url='';}if(this.path!==undefined){url=this.path+url;}url=this.manager.resolveURL(url);var cached=Cache$1.get(url);if(cached!==undefined){this.manager.itemStart(url);
|
|
16017
|
+
if(regex.test(file)){return loader;}}return null;}}]);return LoadingManager;}();var DefaultLoadingManager=new LoadingManager();var Loader=/*#__PURE__*/function(){function Loader(manager){_classCallCheck(this,Loader);this.manager=manager!==undefined?manager:DefaultLoadingManager;this.crossOrigin='anonymous';this.withCredentials=false;this.path='';this.resourcePath='';this.requestHeader={};}_createClass(Loader,[{key:"load",value:function/* url, onLoad, onProgress, onError */load(){}},{key:"loadAsync",value:function loadAsync(url,onProgress){var scope=this;return new Promise(function(resolve,reject){scope.load(url,resolve,onProgress,reject);});}},{key:"parse",value:function/* data */parse(){}},{key:"setCrossOrigin",value:function setCrossOrigin(crossOrigin){this.crossOrigin=crossOrigin;return this;}},{key:"setWithCredentials",value:function setWithCredentials(value){this.withCredentials=value;return this;}},{key:"setPath",value:function setPath(path){this.path=path;return this;}},{key:"setResourcePath",value:function setResourcePath(resourcePath){this.resourcePath=resourcePath;return this;}},{key:"setRequestHeader",value:function setRequestHeader(requestHeader){this.requestHeader=requestHeader;return this;}}]);return Loader;}();var loading={};var FileLoader=/*#__PURE__*/function(_Loader){_inherits(FileLoader,_Loader);var _super111=_createSuper(FileLoader);function FileLoader(manager){_classCallCheck(this,FileLoader);return _super111.call(this,manager);}_createClass(FileLoader,[{key:"load",value:function load(url,onLoad,onProgress,onError){var _this70=this;if(url===undefined){url='';}if(this.path!==undefined){url=this.path+url;}url=this.manager.resolveURL(url);var cached=Cache$1.get(url);if(cached!==undefined){this.manager.itemStart(url);core.scheduleTask(function(){if(onLoad){onLoad(cached);}_this70.manager.itemEnd(url);},0);return cached;}if(loading[url]!==undefined){loading[url].push({onLoad:onLoad,onProgress:onProgress,onError:onError});return;}loading[url]=[];loading[url].push({onLoad:onLoad,onProgress:onProgress,onError:onError});var req=new Request(url,{headers:new Headers(this.requestHeader),credentials:this.withCredentials?'include':'same-origin'});var mimeType=this.mimeType;var responseType=this.responseType;fetch(req).then(function(response){if(response.status===200||response.status===0){// Some browsers return HTTP Status 0 when using non-http protocol
|
|
16012
16018
|
// e.g. 'file://' or 'data://'. Handle as success.
|
|
16013
16019
|
if(response.status===0){console.warn('FileLoader: HTTP Status 0 received.');}if(typeof ReadableStream==='undefined'||response.body.getReader===undefined){return response;}var callbacks=loading[url];var reader=response.body.getReader();var contentLength=response.headers.get('Content-Length');var total=contentLength?parseInt(contentLength):0;var lengthComputable=total!==0;var loaded=0;var stream=new ReadableStream({start:function start(controller){readData();function readData(){reader.read().then(function(_ref10){var done=_ref10.done,value=_ref10.value;if(done){controller.close();}else{loaded+=value.byteLength;var event=new ProgressEvent('progress',{lengthComputable:lengthComputable,loaded:loaded,total:total});for(var _i373=0,il=callbacks.length;_i373<il;_i373++){var callback=callbacks[_i373];if(callback.onProgress){callback.onProgress(event);}}controller.enqueue(value);readData();}});}}});return new Response(stream);}else{throw Error("fetch for \"".concat(response.url,"\" responded with ").concat(response.status,": ").concat(response.statusText));}}).then(function(response){switch(responseType){case'arraybuffer':return response.arrayBuffer();case'blob':return response.blob();case'document':return response.text().then(function(text){var parser=new DOMParser();return parser.parseFromString(text,mimeType);});case'json':return response.json();default:if(mimeType===undefined){return response.text();}else{// sniff encoding
|
|
16014
16020
|
var re=/charset="?([^;"\s]*)"?/i;var exec=re.exec(mimeType);var label=exec&&exec[1]?exec[1].toLowerCase():undefined;var decoder=new TextDecoder(label);return response.arrayBuffer().then(function(ab){return decoder.decode(ab);});}}}).then(function(data){// Add to cache only on HTTP success, so that we do not cache
|
|
@@ -19546,7 +19552,7 @@ this._originDot.setVisible(this._visible&&this._originVisible);this._targetDot.s
|
|
|
19546
19552
|
* @param {Function} error Fired on error while loading the glTF binary asset.
|
|
19547
19553
|
*/},{key:"getArrayBuffer",value:function getArrayBuffer(glTFSrc,binarySrc,ok,error){loadArraybuffer(glTFSrc,binarySrc,function(arrayBuffer){ok(arrayBuffer);},function(errMsg){error(errMsg);});}}]);return GLTFDefaultDataSource;}();function loadArraybuffer(glTFSrc,binarySrc,ok,err){// Check for data: URI
|
|
19548
19554
|
var defaultCallback=function defaultCallback(){};ok=ok||defaultCallback;err=err||defaultCallback;var dataUriRegex=/^data:(.*?)(;base64)?,(.*)$/;var dataUriRegexResult=binarySrc.match(dataUriRegex);if(dataUriRegexResult){// Safari can't handle data URIs through XMLHttpRequest
|
|
19549
|
-
var isBase64=!!dataUriRegexResult[2];var data=dataUriRegexResult[3];data=window.decodeURIComponent(data);if(isBase64){data=window.atob(data);}try{var buffer=new ArrayBuffer(data.length);var view=new Uint8Array(buffer);for(var i=0;i<data.length;i++){view[i]=data.charCodeAt(i);}
|
|
19555
|
+
var isBase64=!!dataUriRegexResult[2];var data=dataUriRegexResult[3];data=window.decodeURIComponent(data);if(isBase64){data=window.atob(data);}try{var buffer=new ArrayBuffer(data.length);var view=new Uint8Array(buffer);for(var i=0;i<data.length;i++){view[i]=data.charCodeAt(i);}core.scheduleTask(function(){ok(buffer);});}catch(error){core.scheduleTask(function(){err(error);});}}else{var basePath=getBasePath$1(glTFSrc);var url=basePath+binarySrc;var request=new XMLHttpRequest();request.open('GET',url,true);request.responseType='arraybuffer';request.onreadystatechange=function(){if(request.readyState===4){if(request.status===200){ok(request.response);}else{err('loadArrayBuffer error : '+request.response);}}};request.send(null);}}function getBasePath$1(src){var i=src.lastIndexOf("/");return i!==0?src.substring(0,i+1):"";}/**
|
|
19550
19556
|
* @desc Localization service for a {@link Viewer}.
|
|
19551
19557
|
*
|
|
19552
19558
|
* * A LocaleService is a container of string translations ("messages") for various locales.
|
|
@@ -27397,9 +27403,9 @@ var _primitiveType4=eachGeometryPrimitiveType[_geometryIndex4];var primitiveName
|
|
|
27397
27403
|
*/},{key:"load",value:function load(){var _this154=this;var params=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};if(params.id&&this.viewer.scene.components[params.id]){this.error("Component with this ID already exists in viewer: "+params.id+" - will autogenerate this ID");delete params.id;}if(!params.src&&!params.xkt&&!params.manifestSrc&&!params.manifest){this.error("load() param expected: src, xkt, manifestSrc or manifestData");return sceneModel;// Return new empty model
|
|
27398
27404
|
}var options={};var includeTypes=params.includeTypes||this._includeTypes;var excludeTypes=params.excludeTypes||this._excludeTypes;var objectDefaults=params.objectDefaults||this._objectDefaults;options.reuseGeometries=params.reuseGeometries!==null&¶ms.reuseGeometries!==undefined?params.reuseGeometries:this._reuseGeometries!==false;if(includeTypes){options.includeTypesMap={};for(var _i563=0,len=includeTypes.length;_i563<len;_i563++){options.includeTypesMap[includeTypes[_i563]]=true;}}if(excludeTypes){options.excludeTypesMap={};for(var _i564=0,_len116=excludeTypes.length;_i564<_len116;_i564++){options.excludeTypesMap[excludeTypes[_i564]]=true;}}if(objectDefaults){options.objectDefaults=objectDefaults;}options.excludeUnclassifiedObjects=params.excludeUnclassifiedObjects!==undefined?!!params.excludeUnclassifiedObjects:this._excludeUnclassifiedObjects;options.globalizeObjectIds=params.globalizeObjectIds!==undefined&¶ms.globalizeObjectIds!==null?!!params.globalizeObjectIds:this._globalizeObjectIds;var sceneModel=new SceneModel(this.viewer.scene,utils.apply(params,{isModel:true,textureTranscoder:this._textureTranscoder,maxGeometryBatchSize:this._maxGeometryBatchSize,origin:params.origin,disableVertexWelding:params.disableVertexWelding||false,disableIndexRebucketing:params.disableIndexRebucketing||false,dtxEnabled:params.dtxEnabled}));var modelId=sceneModel.id;// In case ID was auto-generated
|
|
27399
27405
|
var metaModel=new MetaModel({metaScene:this.viewer.metaScene,id:modelId});this.viewer.scene.canvas.spinner.processes++;var finish=function finish(){// this._createDefaultMetaModelIfNeeded(sceneModel, params, options);
|
|
27400
|
-
sceneModel.finalize();metaModel.finalize();_this154.viewer.scene.canvas.spinner.processes--;sceneModel.once("destroyed",function(){_this154.viewer.metaScene.destroyMetaModel(metaModel.id);});
|
|
27406
|
+
sceneModel.finalize();metaModel.finalize();_this154.viewer.scene.canvas.spinner.processes--;sceneModel.once("destroyed",function(){_this154.viewer.metaScene.destroyMetaModel(metaModel.id);});_this154.scheduleTask(function(){if(sceneModel.destroyed){return;}sceneModel.scene.fire("modelLoaded",sceneModel.id);// FIXME: Assumes listeners know order of these two events
|
|
27401
27407
|
sceneModel.fire("loaded",true,false);// Don't forget the event, for late subscribers
|
|
27402
|
-
}
|
|
27408
|
+
});};var error=function error(errMsg){_this154.viewer.scene.canvas.spinner.processes--;_this154.error(errMsg);sceneModel.fire("error",errMsg);};var nextId=0;var manifestCtx={getNextId:function getNextId(){return"".concat(modelId,".").concat(nextId++);}};if(params.metaModelSrc||params.metaModelData){if(params.metaModelSrc){var metaModelSrc=params.metaModelSrc;this._dataSource.getMetaModel(metaModelSrc,function(metaModelData){if(sceneModel.destroyed){return;}metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){_this154._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{_this154._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}},function(errMsg){error("load(): Failed to load model metadata for model '".concat(modelId," from '").concat(metaModelSrc,"' - ").concat(errMsg));});}else if(params.metaModelData){metaModel.loadData(params.metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});if(params.src){this._loadModel(params.src,params,options,sceneModel,null,manifestCtx,finish,error);}else{this._parseModel(params.xkt,params,options,sceneModel,null,manifestCtx);finish();}}}else{if(params.src){this._loadModel(params.src,params,options,sceneModel,metaModel,manifestCtx,finish,error);}else if(params.xkt){this._parseModel(params.xkt,params,options,sceneModel,metaModel,manifestCtx);finish();}else if(params.manifestSrc||params.manifest){var baseDir=params.manifestSrc?getBaseDirectory(params.manifestSrc):"";var loadJSONs=function loadJSONs(metaDataFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=metaDataFiles.length){done();}else{_this154._dataSource.getMetaModel("".concat(baseDir).concat(metaDataFiles[i]),function(metaModelData){metaModel.loadData(metaModelData,{includeTypes:includeTypes,excludeTypes:excludeTypes,globalizeObjectIds:options.globalizeObjectIds});i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};var loadXKTs=function loadXKTs(xktFiles,done,error){var i=0;var loadNext=function loadNext(){if(i>=xktFiles.length){done();}else{_this154._dataSource.getXKT("".concat(baseDir).concat(xktFiles[i]),function(arrayBuffer){_this154._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);i++;_this154.scheduleTask(loadNext,100);},error);}};loadNext();};if(params.manifest){var manifestData=params.manifest;var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs(xktFiles,finish,error);},error);}else{loadXKTs(xktFiles,finish,error);}}else{this._dataSource.getManifest(params.manifestSrc,function(manifestData){if(sceneModel.destroyed){return;}var xktFiles=manifestData.xktFiles;if(!xktFiles||xktFiles.length===0){error("load(): Failed to load model manifest - manifest not valid");return;}var metaModelFiles=manifestData.metaModelFiles;if(metaModelFiles){loadJSONs(metaModelFiles,function(){loadXKTs(xktFiles,finish,error);},error);}else{loadXKTs(xktFiles,finish,error);}},error);}}}return sceneModel;}},{key:"_loadModel",value:function _loadModel(src,params,options,sceneModel,metaModel,manifestCtx,done,error){var _this155=this;this._dataSource.getXKT(params.src,function(arrayBuffer){_this155._parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx);done();},error);}},{key:"_parseModel",value:function _parseModel(arrayBuffer,params,options,sceneModel,metaModel,manifestCtx){if(sceneModel.destroyed){return;}var dataView=new DataView(arrayBuffer);var dataArray=new Uint8Array(arrayBuffer);var xktVersion=dataView.getUint32(0,true);var parser=parsers[xktVersion];if(!parser){this.error("Unsupported .XKT file version: "+xktVersion+" - this XKTLoaderPlugin supports versions "+Object.keys(parsers));return;}this.log("Loading .xkt V"+xktVersion);var numElements=dataView.getUint32(4,true);var elements=[];var byteOffset=(numElements+2)*4;for(var _i565=0;_i565<numElements;_i565++){var elementSize=dataView.getUint32((_i565+2)*4,true);elements.push(dataArray.subarray(byteOffset,byteOffset+elementSize));byteOffset+=elementSize;}parser.parse(this.viewer,options,elements,sceneModel,metaModel,manifestCtx);}// _createDefaultMetaModelIfNeeded(sceneModel, params, options) {
|
|
27403
27409
|
//
|
|
27404
27410
|
// const metaModelId = sceneModel.id;
|
|
27405
27411
|
//
|