redhotmagma-visualization 1.51.0 → 1.51.2

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.
Files changed (56) hide show
  1. package/AlignTargetProvider.js +21 -30
  2. package/CommonUtils/Deferred.js +11 -19
  3. package/CommonUtils/Observable.js +23 -30
  4. package/CommonUtils/PropertyObserver.js +4 -10
  5. package/CommonUtils/SyncCurrentFunction.js +25 -31
  6. package/CommonUtils/SyncObservableEvent.js +4 -10
  7. package/CommonUtils/pointerEvent.js +9 -15
  8. package/Constants.js +2 -8
  9. package/DevApp.js +224 -236
  10. package/ExposedModules.js +4 -19
  11. package/FallbackVisualization.js +5 -12
  12. package/PrintingEffects/ColorEmbossingEffect.js +13 -19
  13. package/PrintingEffects/DomingEffect.js +13 -19
  14. package/PrintingEffects/EmbossingEffect.js +14 -20
  15. package/PrintingEffects/EmbroideryEffect.js +113 -128
  16. package/PrintingEffects/EngravingEffect.js +14 -20
  17. package/PrintingEffects/PrintingEffects.js +40 -48
  18. package/PrintingEffects/PrintingEffectsUtils.js +4 -13
  19. package/React/ReactBase.js +29 -37
  20. package/Three/Exporters/glTFExporter.js +3 -10
  21. package/Three/Three2D.js +441 -470
  22. package/Three/Three2DLayers.js +136 -148
  23. package/Three/Three3D.js +285 -302
  24. package/Three/Three3DScene.js +326 -341
  25. package/Three/ThreeBase.js +92 -104
  26. package/Utils/DesignArea/getDesignAreaCanvasSize.js +3 -10
  27. package/Utils/TextureBuilder/createTextureBuilder.js +57 -69
  28. package/Utils/TextureBuilder/textureBuilderFunctions.js +4 -10
  29. package/Utils/canvasBlur.js +2 -8
  30. package/Utils/createAlphaMapFromAlphaChannel.js +8 -13
  31. package/Utils/createBakedShadow.js +18 -25
  32. package/Utils/createCache.js +1 -7
  33. package/Utils/createCanvas.js +1 -7
  34. package/Utils/createImageRepository.js +38 -53
  35. package/Utils/disposeMaterial.js +7 -12
  36. package/Utils/getImageSize.js +1 -7
  37. package/Utils/imagePreloader.js +22 -29
  38. package/Utils/initTextureCanvas.js +10 -17
  39. package/Utils/isMobileDevice.js +1 -7
  40. package/Utils/optimizeTextureImage.js +8 -13
  41. package/Utils/rememberCameraViewOffset.js +1 -7
  42. package/Utils/removeObject.js +3 -9
  43. package/Utils/restrictCameraMovement.js +5 -12
  44. package/Utils/setLightShadow.js +3 -9
  45. package/Utils/setOrthographicCameraSize.js +1 -7
  46. package/Utils/updateFitSizeToElement.js +5 -11
  47. package/VisualizationContainer.js +46 -55
  48. package/VisualizationInterface.js +42 -50
  49. package/VisualizationProvider.js +8 -15
  50. package/index.js +4 -7
  51. package/package.json +2 -2
  52. package/src/Three/Exporters/glTFExporter.js +1 -1
  53. package/src/Three/Three3D.js +4 -4
  54. package/src/Three/Three3DScene.js +13 -3
  55. package/src/Utils/restrictCameraMovement.js +1 -1
  56. package/visualizationAdapterCreator.js +18 -27
package/Three/Three3D.js CHANGED
@@ -1,73 +1,66 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.Three3D = exports.MIN_DISTANCE_MULTIPLIER = exports.MAX_DISTANCE_MULTIPLIER = exports.DEFAULT_TEXTURE_SIZE = void 0;
7
- var _three = require("three");
8
- var _tween = _interopRequireDefault(require("@tweenjs/tween.js"));
9
- var _first = _interopRequireDefault(require("lodash/first"));
10
- var _findIndex = _interopRequireDefault(require("lodash/findIndex"));
11
- var _ThreeBase2 = require("./ThreeBase");
12
- var _initTextureCanvas = require("../Utils/initTextureCanvas");
13
- var _createCanvas = require("../Utils/createCanvas");
14
- var _createAlphaMapFromAlphaChannel = require("../Utils/createAlphaMapFromAlphaChannel");
15
- var _Deferred = require("../CommonUtils/Deferred");
16
- var _Constants = require("../Constants");
17
- var _disposeMaterial = require("../Utils/disposeMaterial");
18
- var _rememberCameraViewOffset = require("../Utils/rememberCameraViewOffset");
19
- var _restrictCameraMovement = require("../Utils/restrictCameraMovement");
20
- var _isMobileDevice = require("../Utils/isMobileDevice");
21
- var _pointerEvent = require("../CommonUtils/pointerEvent");
22
- var _createTextureBuilder = require("../Utils/TextureBuilder/createTextureBuilder");
23
- var _OrbitControls = require("three/examples/jsm/controls/OrbitControls");
24
- var _ColladaLoader = require("three/examples/jsm/loaders/ColladaLoader");
25
- var _OBJLoader = require("three/examples/jsm/loaders/OBJLoader");
26
- var _MTLLoader = require("three/examples/jsm/loaders/MTLLoader");
27
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
28
1
  function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
29
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest(); }
30
3
  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."); }
31
4
  function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
32
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
33
- 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(_e) { throw _e; }, 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(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
34
- 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); }
35
- 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; }
36
- 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 e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator["return"] && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, "catch": function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
37
- 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); } }
38
- 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); }); }; }
5
+ function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
6
+ function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, 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 o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
7
+ function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
8
+ function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
9
+ function _regenerator() { /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */ var e, t, r = "function" == typeof Symbol ? Symbol : {}, n = r.iterator || "@@iterator", o = r.toStringTag || "@@toStringTag"; function i(r, n, o, i) { var c = n && n.prototype instanceof Generator ? n : Generator, u = Object.create(c.prototype); return _regeneratorDefine2(u, "_invoke", function (r, n, o) { var i, c, u, f = 0, p = o || [], y = !1, G = { p: 0, n: 0, v: e, a: d, f: d.bind(e, 4), d: function d(t, r) { return i = t, c = 0, u = e, G.n = r, a; } }; function d(r, n) { for (c = r, u = n, t = 0; !y && f && !o && t < p.length; t++) { var o, i = p[t], d = G.p, l = i[2]; r > 3 ? (o = l === n) && (u = i[(c = i[4]) ? 5 : (c = 3, 3)], i[4] = i[5] = e) : i[0] <= d && ((o = r < 2 && d < i[1]) ? (c = 0, G.v = n, G.n = i[1]) : d < l && (o = r < 3 || i[0] > n || n > l) && (i[4] = r, i[5] = n, G.n = l, c = 0)); } if (o || r > 1) return a; throw y = !0, n; } return function (o, p, l) { if (f > 1) throw TypeError("Generator is already running"); for (y && 1 === p && d(p, l), c = p, u = l; (t = c < 2 ? e : u) || !y;) { i || (c ? c < 3 ? (c > 1 && (G.n = -1), d(c, u)) : G.n = u : G.v = u); try { if (f = 2, i) { if (c || (o = "next"), t = i[o]) { if (!(t = t.call(i, u))) throw TypeError("iterator result is not an object"); if (!t.done) return t; u = t.value, c < 2 && (c = 0); } else 1 === c && (t = i["return"]) && t.call(i), c < 2 && (u = TypeError("The iterator does not provide a '" + o + "' method"), c = 1); i = e; } else if ((t = (y = G.n < 0) ? u : r.call(n, G)) !== a) break; } catch (t) { i = e, c = 1, u = t; } finally { f = 1; } } return { value: t, done: y }; }; }(r, o, i), !0), u; } var a = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} t = Object.getPrototypeOf; var c = [][n] ? t(t([][n]())) : (_regeneratorDefine2(t = {}, n, function () { return this; }), t), u = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(c); function f(e) { return Object.setPrototypeOf ? Object.setPrototypeOf(e, GeneratorFunctionPrototype) : (e.__proto__ = GeneratorFunctionPrototype, _regeneratorDefine2(e, o, "GeneratorFunction")), e.prototype = Object.create(u), e; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, _regeneratorDefine2(u, "constructor", GeneratorFunctionPrototype), _regeneratorDefine2(GeneratorFunctionPrototype, "constructor", GeneratorFunction), GeneratorFunction.displayName = "GeneratorFunction", _regeneratorDefine2(GeneratorFunctionPrototype, o, "GeneratorFunction"), _regeneratorDefine2(u), _regeneratorDefine2(u, o, "Generator"), _regeneratorDefine2(u, n, function () { return this; }), _regeneratorDefine2(u, "toString", function () { return "[object Generator]"; }), (_regenerator = function _regenerator() { return { w: i, m: f }; })(); }
10
+ function _regeneratorDefine2(e, r, n, t) { var i = Object.defineProperty; try { i({}, "", {}); } catch (e) { i = 0; } _regeneratorDefine2 = function _regeneratorDefine(e, r, n, t) { function o(r, n) { _regeneratorDefine2(e, r, function (e) { return this._invoke(r, n, e); }); } r ? i ? i(e, r, { value: n, enumerable: !t, configurable: !t, writable: !t }) : e[r] = n : (o("next", 0), o("throw", 1), o("return", 2)); }, _regeneratorDefine2(e, r, n, t); }
11
+ function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
12
+ function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
39
13
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
40
14
  function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
41
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
42
- 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, _toPropertyKey(descriptor.key), descriptor); } }
43
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
44
- 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); }
45
- function _superPropBase(object, property) { while (!Object.prototype.hasOwnProperty.call(object, property)) { object = _getPrototypeOf(object); if (object === null) break; } return object; }
46
- 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); }
47
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
48
- 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); }; }
49
- 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); }
50
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
51
- 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; } }
52
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
53
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
54
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
55
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
56
- var MAX_DISTANCE_MULTIPLIER = exports.MAX_DISTANCE_MULTIPLIER = 1.1;
57
- var MIN_DISTANCE_MULTIPLIER = exports.MIN_DISTANCE_MULTIPLIER = 0.1;
58
- var DEFAULT_TEXTURE_SIZE = exports.DEFAULT_TEXTURE_SIZE = 2048;
59
- var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
60
- _inherits(Three3D, _ThreeBase);
61
- var _super = _createSuper(Three3D);
15
+ function _classCallCheck(a, n) { if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function"); }
16
+ function _defineProperties(e, r) { for (var t = 0; t < r.length; t++) { var o = r[t]; o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o); } }
17
+ function _createClass(e, r, t) { return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", { writable: !1 }), e; }
18
+ function _callSuper(t, o, e) { return o = _getPrototypeOf(o), _possibleConstructorReturn(t, _isNativeReflectConstruct() ? Reflect.construct(o, e || [], _getPrototypeOf(t).constructor) : o.apply(t, e)); }
19
+ function _possibleConstructorReturn(t, e) { if (e && ("object" == _typeof(e) || "function" == typeof e)) return e; if (void 0 !== e) throw new TypeError("Derived constructors may only return object or undefined"); return _assertThisInitialized(t); }
20
+ function _assertThisInitialized(e) { if (void 0 === e) throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); return e; }
21
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); }
22
+ function _superPropGet(t, o, e, r) { var p = _get(_getPrototypeOf(1 & r ? t.prototype : t), o, e); return 2 & r && "function" == typeof p ? function (t) { return p.apply(e, t); } : p; }
23
+ function _get() { return _get = "undefined" != typeof Reflect && Reflect.get ? Reflect.get.bind() : function (e, t, r) { var p = _superPropBase(e, t); if (p) { var n = Object.getOwnPropertyDescriptor(p, t); return n.get ? n.get.call(arguments.length < 3 ? e : r) : n.value; } }, _get.apply(null, arguments); }
24
+ function _superPropBase(t, o) { for (; !{}.hasOwnProperty.call(t, o) && null !== (t = _getPrototypeOf(t));); return t; }
25
+ function _getPrototypeOf(t) { return _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function (t) { return t.__proto__ || Object.getPrototypeOf(t); }, _getPrototypeOf(t); }
26
+ function _inherits(t, e) { if ("function" != typeof e && null !== e) throw new TypeError("Super expression must either be null or a function"); t.prototype = Object.create(e && e.prototype, { constructor: { value: t, writable: !0, configurable: !0 } }), Object.defineProperty(t, "prototype", { writable: !1 }), e && _setPrototypeOf(t, e); }
27
+ function _setPrototypeOf(t, e) { return _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function (t, e) { return t.__proto__ = e, t; }, _setPrototypeOf(t, e); }
28
+ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
29
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : i + ""; }
30
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
31
+ import { PerspectiveCamera, AmbientLight, PointLight, WebGLRenderer, LoadingManager, Object3D, Mesh, Texture, Spherical, Vector2 } from "three";
32
+ import TWEEN from "@tweenjs/tween.js";
33
+ import first from "lodash/first";
34
+ import findIndex from "lodash/findIndex";
35
+ import { ThreeBase, onProgress } from "./ThreeBase";
36
+ import { initTextureCanvas } from "../Utils/initTextureCanvas";
37
+ import { createWorkingCanvas } from "../Utils/createCanvas";
38
+ import { createAlphaMapFromAlphaChannel } from "../Utils/createAlphaMapFromAlphaChannel";
39
+ import { DeferredGroup } from "../CommonUtils/Deferred";
40
+ import { EventTypes } from "../Constants";
41
+ import { disposeMaterial } from "../Utils/disposeMaterial";
42
+ import { rememberCameraViewOffset } from "../Utils/rememberCameraViewOffset";
43
+ import { restrictOrbitControls } from "../Utils/restrictCameraMovement";
44
+ import { isMobileDevice } from "../Utils/isMobileDevice";
45
+ import { createZoomHandler } from "../CommonUtils/pointerEvent";
46
+ import { createTextureBuilder } from "../Utils/TextureBuilder/createTextureBuilder";
47
+ import { OrbitControls } from "three/addons/controls/OrbitControls";
48
+ import { ColladaLoader } from "three/addons/loaders/ColladaLoader";
49
+ import { OBJLoader } from "three/addons/loaders/OBJLoader";
50
+ import { MTLLoader } from "three/addons/loaders/MTLLoader";
51
+ export var MAX_DISTANCE_MULTIPLIER = 1.1;
52
+ export var MIN_DISTANCE_MULTIPLIER = 0.1;
53
+ export var DEFAULT_TEXTURE_SIZE = 2048;
54
+ export var Three3D = /*#__PURE__*/function (_ThreeBase) {
62
55
  function Three3D() {
63
56
  var _this;
64
57
  _classCallCheck(this, Three3D);
65
58
  for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
66
59
  args[_key] = arguments[_key];
67
60
  }
68
- _this = _super.call.apply(_super, [this].concat(args));
69
- _defineProperty(_assertThisInitialized(_this), "DefaultCustomizableMaterialKey", "main_material");
70
- _defineProperty(_assertThisInitialized(_this), "loadMaterial", function () {
61
+ _this = _callSuper(this, Three3D, [].concat(args));
62
+ _defineProperty(_this, "DefaultCustomizableMaterialKey", "main_material");
63
+ _defineProperty(_this, "loadMaterial", function () {
71
64
  var _src;
72
65
  var promise;
73
66
  /**
@@ -88,14 +81,14 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
88
81
  var _this$getPathAndFileN = _this.getPathAndFileName(src),
89
82
  path = _this$getPathAndFileN.path,
90
83
  fileName = _this$getPathAndFileN.fileName;
91
- new _MTLLoader.MTLLoader(_this._loadingManager).setPath(path).load(fileName, function (materialCreator) {
92
- var textureLoadingManager = new _three.LoadingManager(function () {
84
+ new MTLLoader(_this._loadingManager).setPath(path).load(fileName, function (materialCreator) {
85
+ var textureLoadingManager = new LoadingManager(function () {
93
86
  // eslint-disable-next-line no-console
94
87
  console.log("All textures have been lodaed.");
95
88
  resolve(materialCreator);
96
89
  }, undefined, _this.onLoadError);
97
90
  textureLoadingManager.setURLModifier(function (url) {
98
- if ((0, _isMobileDevice.isMobileDevice)()) {
91
+ if (isMobileDevice()) {
99
92
  return url.replace(/(https?:\/\/(.+?)\/)/, "$1media/") + "?mobile=1";
100
93
  }
101
94
  return url;
@@ -104,7 +97,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
104
97
  materialCreator.preload();
105
98
  var isTexture = Object.values(materialCreator.materials).reduce(function (isTexture, material) {
106
99
  return Object.values(material).reduce(function (isTexture, propValue) {
107
- return propValue instanceof _three.Texture || isTexture;
100
+ return propValue instanceof Texture || isTexture;
108
101
  }, false) || isTexture;
109
102
  }, false);
110
103
  if (!isTexture) {
@@ -119,17 +112,18 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
119
112
  }());
120
113
  return _this;
121
114
  }
122
- _createClass(Three3D, [{
115
+ _inherits(Three3D, _ThreeBase);
116
+ return _createClass(Three3D, [{
123
117
  key: "createRenderer",
124
118
  value: function createRenderer() {
125
- var renderer = new _three.WebGLRenderer({
119
+ var renderer = new WebGLRenderer({
126
120
  alpha: true,
127
121
  antialias: true,
128
122
  gammaInput: true,
129
123
  gammaOutput: true
130
124
  });
131
125
  var realWidth = window.innerWidth * window.devicePixelRatio;
132
- if ((0, _isMobileDevice.isMobileDevice)() && realWidth >= 1024) {
126
+ if (isMobileDevice() && realWidth >= 1024) {
133
127
  renderer.setPixelRatio(1);
134
128
  } else {
135
129
  renderer.setPixelRatio(window.devicePixelRatio);
@@ -139,7 +133,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
139
133
  }, {
140
134
  key: "createCamera",
141
135
  value: function createCamera() {
142
- var camera = new _three.PerspectiveCamera(55, 1, 1, 2000);
136
+ var camera = new PerspectiveCamera(55, 1, 1, 2000);
143
137
  camera.position.z = 50;
144
138
  return camera;
145
139
  }
@@ -152,9 +146,9 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
152
146
  }, {
153
147
  key: "setupDefaultLightning",
154
148
  value: function setupDefaultLightning() {
155
- var ambientLight = new _three.AmbientLight(0xcccccc, 0.4);
149
+ var ambientLight = new AmbientLight(0xcccccc, 0.4);
156
150
  this.scene.add(ambientLight);
157
- var pointLight = new _three.PointLight(0xffffff, 0.8);
151
+ var pointLight = new PointLight(0xffffff, 0.8);
158
152
  this.camera.add(pointLight);
159
153
  }
160
154
 
@@ -168,15 +162,15 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
168
162
  var _this2 = this;
169
163
  var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
170
164
  var element = targetElement || this.renderer.domElement;
171
- this._cleanUpZoomHandler = (0, _pointerEvent.createZoomHandler)(element, function (evt, data) {
172
- _this2.observable.dispatch(_Constants.EventTypes.Zoomed, _objectSpread({
165
+ this._cleanUpZoomHandler = createZoomHandler(element, function (evt, data) {
166
+ _this2.observable.dispatch(EventTypes.Zoomed, _objectSpread({
173
167
  originalEvent: evt
174
168
  }, data), true);
175
169
  });
176
170
 
177
171
  // register OrbitControls as the default camera movement handler
178
172
 
179
- var controls = new _OrbitControls.OrbitControls(this.camera, element);
173
+ var controls = new OrbitControls(this.camera, element);
180
174
  controls.addEventListener("change", function () {
181
175
  if (!_this2._isAnimating) {
182
176
  window.cancelAnimationFrame(_this2._renderFrame);
@@ -202,8 +196,8 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
202
196
  */
203
197
  }, {
204
198
  key: "loadModel",
205
- value: function () {
206
- var _loadModel = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
199
+ value: (function () {
200
+ var _loadModel = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
207
201
  var loadCameraViews,
208
202
  rerender,
209
203
  _this$getModelPaths,
@@ -211,14 +205,14 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
211
205
  promises,
212
206
  result,
213
207
  _args = arguments;
214
- return _regeneratorRuntime().wrap(function _callee$(_context) {
215
- while (1) switch (_context.prev = _context.next) {
208
+ return _regenerator().w(function (_context) {
209
+ while (1) switch (_context.n) {
216
210
  case 0:
217
211
  loadCameraViews = _args.length > 0 && _args[0] !== undefined ? _args[0] : true;
218
212
  rerender = _args.length > 1 && _args[1] !== undefined ? _args[1] : true;
219
213
  _this$getModelPaths = this.getModelPaths(), objPath = _this$getModelPaths.objPath;
220
214
  if (!objPath) {
221
- _context.next = 14;
215
+ _context.n = 2;
222
216
  break;
223
217
  }
224
218
  promises = [this.loadObject("".concat(objPath, "/model.obj"))];
@@ -226,21 +220,18 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
226
220
  promises.push(this.loadCameraViewsAdvanced("".concat(objPath, "/cameraviews.dae")));
227
221
  }
228
222
  this.onLoadStart();
229
- _context.next = 9;
223
+ _context.n = 1;
230
224
  return Promise.all(promises);
231
- case 9:
232
- result = _context.sent;
225
+ case 1:
226
+ result = _context.v;
233
227
  this.onLoadFinished();
234
- this.observable.dispatch(_Constants.EventTypes.ModelLoaded);
228
+ this.observable.dispatch(EventTypes.ModelLoaded);
235
229
  if (rerender) {
236
230
  this.render();
237
231
  }
238
- return _context.abrupt("return", result);
239
- case 14:
240
- return _context.abrupt("return", Promise.reject("Cannot load model, the item path is not defined!"));
241
- case 15:
242
- case "end":
243
- return _context.stop();
232
+ return _context.a(2, result);
233
+ case 2:
234
+ return _context.a(2, Promise.reject("Cannot load model, the item path is not defined!"));
244
235
  }
245
236
  }, _callee, this);
246
237
  }));
@@ -266,10 +257,11 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
266
257
  * @param {boolean} [setDefault=true] Jump to the default view immediately after the views are processed.
267
258
  * @returns {Promise.<{}>}
268
259
  */
260
+ )
269
261
  }, {
270
262
  key: "loadCameraViews",
271
- value: function () {
272
- var _loadCameraViews = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(src) {
263
+ value: (function () {
264
+ var _loadCameraViews = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee2(src) {
273
265
  var setDefault,
274
266
  group,
275
267
  children,
@@ -281,76 +273,76 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
281
273
  viewName,
282
274
  viewParam,
283
275
  pos,
284
- _args2 = arguments;
285
- return _regeneratorRuntime().wrap(function _callee2$(_context2) {
286
- while (1) switch (_context2.prev = _context2.next) {
276
+ _args2 = arguments,
277
+ _t;
278
+ return _regenerator().w(function (_context2) {
279
+ while (1) switch (_context2.p = _context2.n) {
287
280
  case 0:
288
281
  setDefault = _args2.length > 1 && _args2[1] !== undefined ? _args2[1] : true;
289
- _context2.next = 3;
282
+ _context2.n = 1;
290
283
  return this.loadObject(src, false);
291
- case 3:
292
- group = _context2.sent;
284
+ case 1:
285
+ group = _context2.v;
293
286
  children = group.children;
294
287
  if (!(children && children.length > 0)) {
295
- _context2.next = 37;
288
+ _context2.n = 11;
296
289
  break;
297
290
  }
298
291
  views = {};
299
292
  _iterator = _createForOfIteratorHelper(children);
300
- _context2.prev = 8;
293
+ _context2.p = 2;
301
294
  _iterator.s();
302
- case 10:
295
+ case 3:
303
296
  if ((_step = _iterator.n()).done) {
304
- _context2.next = 25;
297
+ _context2.n = 7;
305
298
  break;
306
299
  }
307
300
  obj = _step.value;
308
- if (obj instanceof _three.Mesh) {
309
- _context2.next = 14;
301
+ if (obj instanceof Mesh) {
302
+ _context2.n = 4;
310
303
  break;
311
304
  }
312
- return _context2.abrupt("continue", 23);
313
- case 14:
305
+ return _context2.a(3, 6);
306
+ case 4:
314
307
  matches = ("" + obj.name).toLowerCase().match(/(.+)_(position|lookat)$/);
315
308
  if (matches) {
316
- _context2.next = 18;
309
+ _context2.n = 5;
317
310
  break;
318
311
  }
319
312
  // eslint-disable-next-line no-console
320
313
  console.warn("Camera view object skipped: ".concat(obj.name));
321
- return _context2.abrupt("continue", 23);
322
- case 18:
314
+ return _context2.a(3, 6);
315
+ case 5:
323
316
  viewName = matches[1];
324
317
  viewParam = matches[2];
325
318
  obj.geometry.computeBoundingSphere();
326
319
  pos = obj.geometry.boundingSphere.center.clone();
327
320
  views[viewName] = _objectSpread(_objectSpread({}, views[viewName]), {}, _defineProperty({}, viewParam, pos));
328
- case 23:
329
- _context2.next = 10;
321
+ case 6:
322
+ _context2.n = 3;
330
323
  break;
331
- case 25:
332
- _context2.next = 30;
324
+ case 7:
325
+ _context2.n = 9;
333
326
  break;
334
- case 27:
335
- _context2.prev = 27;
336
- _context2.t0 = _context2["catch"](8);
337
- _iterator.e(_context2.t0);
338
- case 30:
339
- _context2.prev = 30;
327
+ case 8:
328
+ _context2.p = 8;
329
+ _t = _context2.v;
330
+ _iterator.e(_t);
331
+ case 9:
332
+ _context2.p = 9;
340
333
  _iterator.f();
341
- return _context2.finish(30);
342
- case 33:
334
+ return _context2.f(9);
335
+ case 10:
343
336
  this.cameraViews = views;
344
337
  if (setDefault) {
345
338
  this.jumpToView("default", false);
346
339
  }
347
340
  this.setControlsDistanceMinMax();
348
- return _context2.abrupt("return", views);
349
- case 37:
350
- case "end":
351
- return _context2.stop();
341
+ return _context2.a(2, views);
342
+ case 11:
343
+ return _context2.a(2);
352
344
  }
353
- }, _callee2, this, [[8, 27, 30, 33]]);
345
+ }, _callee2, this, [[2, 8, 9, 10]]);
354
346
  }));
355
347
  function loadCameraViews(_x) {
356
348
  return _loadCameraViews.apply(this, arguments);
@@ -364,10 +356,11 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
364
356
  * @param {boolean} [setDefault=true] Jump to the default view immediately after the views are processed.
365
357
  * @returns {Promise.<{}>}
366
358
  */
359
+ )
367
360
  }, {
368
361
  key: "loadCameraViewsAdvanced",
369
- value: function () {
370
- var _loadCameraViewsAdvanced = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(src) {
362
+ value: (function () {
363
+ var _loadCameraViewsAdvanced = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee4(src) {
371
364
  var setDefault,
372
365
  loader,
373
366
  _this$getPathAndFileN2,
@@ -377,33 +370,32 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
377
370
  scene,
378
371
  views,
379
372
  _args4 = arguments;
380
- return _regeneratorRuntime().wrap(function _callee4$(_context4) {
381
- while (1) switch (_context4.prev = _context4.next) {
373
+ return _regenerator().w(function (_context4) {
374
+ while (1) switch (_context4.n) {
382
375
  case 0:
383
376
  setDefault = _args4.length > 1 && _args4[1] !== undefined ? _args4[1] : true;
384
- loader = new _ColladaLoader.ColladaLoader(this._loadingManager);
377
+ loader = new ColladaLoader(this._loadingManager);
385
378
  _this$getPathAndFileN2 = this.getPathAndFileName(src), path = _this$getPathAndFileN2.path, fileName = _this$getPathAndFileN2.fileName;
386
- _context4.next = 5;
379
+ _context4.n = 1;
387
380
  return new Promise(function (resolve, reject) {
388
381
  loader.setPath(path).load(fileName, /*#__PURE__*/function () {
389
- var _ref = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(object) {
390
- return _regeneratorRuntime().wrap(function _callee3$(_context3) {
391
- while (1) switch (_context3.prev = _context3.next) {
382
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee3(object) {
383
+ return _regenerator().w(function (_context3) {
384
+ while (1) switch (_context3.n) {
392
385
  case 0:
393
386
  resolve(object);
394
387
  case 1:
395
- case "end":
396
- return _context3.stop();
388
+ return _context3.a(2);
397
389
  }
398
390
  }, _callee3);
399
391
  }));
400
392
  return function (_x3) {
401
393
  return _ref.apply(this, arguments);
402
394
  };
403
- }(), _ThreeBase2.onProgress, reject);
395
+ }(), onProgress, reject);
404
396
  });
405
- case 5:
406
- _yield$Promise = _context4.sent;
397
+ case 1:
398
+ _yield$Promise = _context4.v;
407
399
  scene = _yield$Promise.scene;
408
400
  views = {};
409
401
  scene.traverse(function (obj) {
@@ -414,7 +406,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
414
406
  var params = _objectSpread(_objectSpread({}, views[viewName]), {}, _defineProperty({}, viewParam, obj.position.clone()));
415
407
  // if it's the position, create a custom up vector from its rotation
416
408
  if (viewParam === "position") {
417
- params.orientation = _three.Object3D.DefaultUp.clone().applyEuler(obj.rotation);
409
+ params.orientation = Object3D.DefaultUp.clone().applyEuler(obj.rotation);
418
410
  }
419
411
  views[viewName] = params;
420
412
  }
@@ -424,10 +416,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
424
416
  this.jumpToView("default", false);
425
417
  }
426
418
  this.setControlsDistanceMinMax();
427
- return _context4.abrupt("return", views);
428
- case 13:
429
- case "end":
430
- return _context4.stop();
419
+ return _context4.a(2, views);
431
420
  }
432
421
  }, _callee4, this);
433
422
  }));
@@ -435,7 +424,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
435
424
  return _loadCameraViewsAdvanced.apply(this, arguments);
436
425
  }
437
426
  return loadCameraViewsAdvanced;
438
- }()
427
+ }())
439
428
  }, {
440
429
  key: "loadObject",
441
430
  value:
@@ -449,46 +438,45 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
449
438
  function loadObject(src) {
450
439
  var _this3 = this;
451
440
  var addToScene = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;
452
- var objLoader = new _OBJLoader.OBJLoader(this._loadingManager);
441
+ var objLoader = new OBJLoader(this._loadingManager);
453
442
  var _this$getPathAndFileN3 = this.getPathAndFileName(src),
454
443
  path = _this$getPathAndFileN3.path,
455
444
  fileName = _this$getPathAndFileN3.fileName;
456
445
  return new Promise(function (resolve, reject) {
457
446
  objLoader.setPath(path).load(fileName, /*#__PURE__*/function () {
458
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(object) {
459
- return _regeneratorRuntime().wrap(function _callee5$(_context5) {
460
- while (1) switch (_context5.prev = _context5.next) {
447
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee5(object) {
448
+ return _regenerator().w(function (_context5) {
449
+ while (1) switch (_context5.n) {
461
450
  case 0:
462
- _context5.next = 2;
451
+ _context5.n = 1;
463
452
  return _this3.updateMaterial(object);
464
- case 2:
453
+ case 1:
465
454
  if (addToScene) {
466
455
  _this3.scene.add(object);
467
456
  }
468
457
  resolve(object);
469
- case 4:
470
- case "end":
471
- return _context5.stop();
458
+ case 2:
459
+ return _context5.a(2);
472
460
  }
473
461
  }, _callee5);
474
462
  }));
475
463
  return function (_x4) {
476
464
  return _ref2.apply(this, arguments);
477
465
  };
478
- }(), _ThreeBase2.onProgress, reject);
466
+ }(), onProgress, reject);
479
467
  });
480
468
  }
481
469
  }, {
482
470
  key: "dispatchMaterialUpdateEvent",
483
471
  value: function () {
484
- var _dispatchMaterialUpdateEvent = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
472
+ var _dispatchMaterialUpdateEvent = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee6() {
485
473
  var options,
486
474
  _options$screenshot,
487
475
  screenshot,
488
476
  eventParams,
489
477
  _args6 = arguments;
490
- return _regeneratorRuntime().wrap(function _callee6$(_context6) {
491
- while (1) switch (_context6.prev = _context6.next) {
478
+ return _regenerator().w(function (_context6) {
479
+ while (1) switch (_context6.n) {
492
480
  case 0:
493
481
  options = _args6.length > 0 && _args6[0] !== undefined ? _args6[0] : {};
494
482
  _options$screenshot = options.screenshot, screenshot = _options$screenshot === void 0 ? false : _options$screenshot;
@@ -496,11 +484,10 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
496
484
  variant: this._materialVariantPath,
497
485
  screenshot: screenshot
498
486
  }; // the redrawing of the areas can be synced if the event handler returns a Promise
499
- _context6.next = 5;
500
- return this.observable.dispatch(_Constants.EventTypes.MaterialUpdated, eventParams);
501
- case 5:
502
- case "end":
503
- return _context6.stop();
487
+ _context6.n = 1;
488
+ return this.observable.dispatch(EventTypes.MaterialUpdated, eventParams);
489
+ case 1:
490
+ return _context6.a(2);
504
491
  }
505
492
  }, _callee6, this);
506
493
  }));
@@ -512,15 +499,15 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
512
499
  }, {
513
500
  key: "updateMaterial",
514
501
  value: function () {
515
- var _updateMaterial = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
502
+ var _updateMaterial = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee7() {
516
503
  var targetObject,
517
504
  options,
518
505
  _this$getModelPaths2,
519
506
  mtlPath,
520
507
  materialCreator,
521
508
  _args7 = arguments;
522
- return _regeneratorRuntime().wrap(function _callee7$(_context7) {
523
- while (1) switch (_context7.prev = _context7.next) {
509
+ return _regenerator().w(function (_context7) {
510
+ while (1) switch (_context7.n) {
524
511
  case 0:
525
512
  targetObject = _args7.length > 0 && _args7[0] !== undefined ? _args7[0] : this.scene;
526
513
  options = _args7.length > 1 && _args7[1] !== undefined ? _args7[1] : {};
@@ -528,27 +515,24 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
528
515
  console.log("Updating materials...");
529
516
  _this$getModelPaths2 = this.getModelPaths(), mtlPath = _this$getModelPaths2.mtlPath;
530
517
  if (mtlPath) {
531
- _context7.next = 7;
518
+ _context7.n = 1;
532
519
  break;
533
520
  }
534
521
  // eslint-disable-next-line no-console
535
522
  console.log("Missing material path!");
536
- return _context7.abrupt("return");
537
- case 7:
538
- _context7.next = 9;
523
+ return _context7.a(2);
524
+ case 1:
525
+ _context7.n = 2;
539
526
  return this.loadMaterial("".concat(mtlPath, "/materials.mtl"));
540
- case 9:
541
- materialCreator = _context7.sent;
527
+ case 2:
528
+ materialCreator = _context7.v;
542
529
  this.guessCustomizableMaterialNameIfNotSet(materialCreator.materials);
543
530
  this.findCustomizableMaterials(materialCreator.materials);
544
531
  this.applyMaterials(materialCreator.materials, targetObject);
545
- _context7.next = 15;
532
+ _context7.n = 3;
546
533
  return this.dispatchMaterialUpdateEvent(options);
547
- case 15:
548
- return _context7.abrupt("return", materialCreator);
549
- case 16:
550
- case "end":
551
- return _context7.stop();
534
+ case 3:
535
+ return _context7.a(2, materialCreator);
552
536
  }
553
537
  }, _callee7, this);
554
538
  }));
@@ -599,7 +583,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
599
583
  if (object.material && object.material.name) {
600
584
  var requiredMaterial = materials[object.material.name];
601
585
  if (requiredMaterial && object.material !== requiredMaterial) {
602
- (0, _disposeMaterial.disposeMaterial)(object.material);
586
+ disposeMaterial(object.material);
603
587
  object.material = requiredMaterial;
604
588
  }
605
589
  }
@@ -623,13 +607,13 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
623
607
  var mat = materialsObj[key];
624
608
  if (mat) {
625
609
  this.prepareCustomCanvasForMaterial(mat);
626
- var index = (0, _findIndex["default"])(this._customizableMaterials, {
610
+ var index = findIndex(this._customizableMaterials, {
627
611
  name: key
628
612
  });
629
613
  if (index === -1) {
630
614
  this._customizableMaterials.push(mat);
631
615
  } else if (this._customizableMaterials[index] !== mat) {
632
- (0, _disposeMaterial.disposeMaterial)(this._customizableMaterials[index]);
616
+ disposeMaterial(this._customizableMaterials[index]);
633
617
  this._customizableMaterials[index] = mat;
634
618
  }
635
619
  }
@@ -650,11 +634,11 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
650
634
  value: function prepareCustomCanvasForMaterial(material) {
651
635
  if (material && material.map && material.map.image) {
652
636
  // init canvas for diffuse map
653
- (0, _initTextureCanvas.initTextureCanvas)(material.map);
637
+ initTextureCanvas(material.map);
654
638
  material.map.anisotropy = this.renderer.capabilities.getMaxAnisotropy();
655
639
  // init canvas for alpha map
656
640
  if (material.alphaMap) {
657
- (0, _initTextureCanvas.initTextureCanvas)(material.alphaMap);
641
+ initTextureCanvas(material.alphaMap);
658
642
  }
659
643
  } else {
660
644
  throw new Error("Cannot prepare canvas for material: ".concat(material.name));
@@ -692,31 +676,31 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
692
676
  var _this4 = this;
693
677
  var duration = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {};
694
678
  this.cleanUpCameraAnimations();
695
- var animationDef = new _Deferred.DeferredGroup();
679
+ var animationDef = new DeferredGroup();
696
680
  if (position) {
697
681
  // use spherical coordinates to keep the distance from the object
698
- var sp0 = new _three.Spherical();
682
+ var sp0 = new Spherical();
699
683
  sp0.setFromVector3(this.camera.position);
700
- var sp1 = new _three.Spherical();
684
+ var sp1 = new Spherical();
701
685
  sp1.setFromVector3(position);
702
686
  // always take the shorter way around the target
703
687
  if (Math.abs(sp1.theta - sp0.theta) > Math.PI) {
704
688
  sp1.theta += (sp1.theta > 0 ? -1 : 1) * Math.PI * 2;
705
689
  }
706
- new _tween["default"].Tween(sp0, this.cameraTweenGroup).to(sp1, duration.position || 1000).easing(_tween["default"].Easing.Quadratic.Out).onUpdate(function () {
690
+ new TWEEN.Tween(sp0, this.cameraTweenGroup).to(sp1, duration.position || 1000).easing(TWEEN.Easing.Quadratic.Out).onUpdate(function () {
707
691
  _this4.camera.position.setFromSpherical(sp0);
708
692
  }).onComplete(animationDef.createResolver()).start();
709
693
  }
710
694
  if (orientation) {
711
- new _tween["default"].Tween(this.camera.up, this.cameraTweenGroup).to(orientation, duration.orientation || 700).easing(_tween["default"].Easing.Quadratic.Out).onComplete(animationDef.createResolver()).start();
695
+ new TWEEN.Tween(this.camera.up, this.cameraTweenGroup).to(orientation, duration.orientation || 700).easing(TWEEN.Easing.Quadratic.Out).onComplete(animationDef.createResolver()).start();
712
696
  }
713
697
  if (this.controls && target) {
714
- new _tween["default"].Tween(this.controls.target, this.cameraTweenGroup).to(target, duration.target || 500).easing(_tween["default"].Easing.Quadratic.Out).onComplete(animationDef.createResolver()).start();
698
+ new TWEEN.Tween(this.controls.target, this.cameraTweenGroup).to(target, duration.target || 500).easing(TWEEN.Easing.Quadratic.Out).onComplete(animationDef.createResolver()).start();
715
699
  }
716
700
  if (fov) {
717
- new _tween["default"].Tween(this.camera, this.cameraTweenGroup).to({
701
+ new TWEEN.Tween(this.camera, this.cameraTweenGroup).to({
718
702
  fov: fov
719
- }, duration.fov || 700).easing(_tween["default"].Easing.Quadratic.Out).onUpdate(function () {
703
+ }, duration.fov || 700).easing(TWEEN.Easing.Quadratic.Out).onUpdate(function () {
720
704
  _this4.camera.updateProjectionMatrix();
721
705
  }).start();
722
706
  }
@@ -805,7 +789,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
805
789
  }, {
806
790
  key: "getScreenshots",
807
791
  value: function () {
808
- var _getScreenshots = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(callback) {
792
+ var _getScreenshots = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee9(callback) {
809
793
  var _this5 = this;
810
794
  var _ref3,
811
795
  viewList,
@@ -838,41 +822,44 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
838
822
  orientation,
839
823
  target,
840
824
  fov,
841
- _args9 = arguments;
842
- return _regeneratorRuntime().wrap(function _callee9$(_context9) {
843
- while (1) switch (_context9.prev = _context9.next) {
825
+ _args9 = arguments,
826
+ _t2,
827
+ _t3,
828
+ _t4;
829
+ return _regenerator().w(function (_context9) {
830
+ while (1) switch (_context9.p = _context9.n) {
844
831
  case 0:
845
832
  _ref3 = _args9.length > 1 && _args9[1] !== undefined ? _args9[1] : {}, viewList = _ref3.viewList, variantList = _ref3.variantList, size = _ref3.size;
846
833
  if (this.renderer) {
847
- _context9.next = 3;
834
+ _context9.n = 1;
848
835
  break;
849
836
  }
850
- return _context9.abrupt("return", callback({}));
851
- case 3:
837
+ return _context9.a(2, callback({}));
838
+ case 1:
852
839
  if (!variantList) {
853
840
  variantList = ["default"];
854
841
  }
855
842
  this._screenshottingInProgress = true;
856
843
  this.endAnimation();
857
- _context9.next = 8;
844
+ _context9.n = 2;
858
845
  return this.animationRunning();
859
- case 8:
860
- _context9.next = 10;
846
+ case 2:
847
+ _context9.n = 3;
861
848
  return this.createTempOverlay();
862
- case 10:
863
- removeTempOverlay = _context9.sent;
864
- restoreCameraViewOffset = (0, _rememberCameraViewOffset.rememberCameraViewOffset)(this.camera); // store original state values
849
+ case 3:
850
+ removeTempOverlay = _context9.v;
851
+ restoreCameraViewOffset = rememberCameraViewOffset(this.camera); // store original state values
865
852
  origVariantPath = this._materialVariantPath;
866
853
  origPosition = this.camera.position.clone();
867
854
  origOrientation = this.camera.up.clone();
868
855
  origTarget = this.controls ? this.controls.target.clone() : false;
869
- origSize = new _three.Vector2();
856
+ origSize = new Vector2();
870
857
  this.renderer.getSize(origSize);
871
858
  origPixelRatio = this.renderer.getPixelRatio();
872
859
  restoreOriginalValues = /*#__PURE__*/function () {
873
- var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
874
- return _regeneratorRuntime().wrap(function _callee8$(_context8) {
875
- while (1) switch (_context8.prev = _context8.next) {
860
+ var _ref4 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee8() {
861
+ return _regenerator().w(function (_context8) {
862
+ while (1) switch (_context8.n) {
876
863
  case 0:
877
864
  _this5._screenshottingInProgress = false;
878
865
  _this5.renderer.setSize(origSize.width, origSize.height);
@@ -881,14 +868,13 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
881
868
  _this5.setCameraPosition(origPosition, origOrientation, origTarget);
882
869
  restoreCameraViewOffset();
883
870
  _this5._materialVariantPath = origVariantPath;
884
- _context8.next = 9;
871
+ _context8.n = 1;
885
872
  return _this5.updateMaterial();
886
- case 9:
873
+ case 1:
887
874
  _this5.render();
888
875
  removeTempOverlay();
889
- case 11:
890
- case "end":
891
- return _context8.stop();
876
+ case 2:
877
+ return _context8.a(2);
892
878
  }
893
879
  }, _callee8);
894
880
  }));
@@ -896,10 +882,10 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
896
882
  return _ref4.apply(this, arguments);
897
883
  };
898
884
  }();
899
- _context9.next = 22;
885
+ _context9.n = 4;
900
886
  return this.setupScreenshots();
901
- case 22:
902
- restoreScreenshotSetup = _context9.sent;
887
+ case 4:
888
+ restoreScreenshotSetup = _context9.v;
903
889
  // get the size from the size param, or use default values
904
890
  width = (size === null || size === void 0 ? void 0 : size.width) || 1024;
905
891
  height = (size === null || size === void 0 ? void 0 : size.height) || 768;
@@ -909,56 +895,56 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
909
895
  return views[viewKey];
910
896
  }) : Object.keys(views);
911
897
  _iterator3 = _createForOfIteratorHelper(variantList);
912
- _context9.prev = 29;
898
+ _context9.p = 5;
913
899
  _iterator3.s();
914
- case 31:
900
+ case 6:
915
901
  if ((_step3 = _iterator3.n()).done) {
916
- _context9.next = 78;
902
+ _context9.n = 23;
917
903
  break;
918
904
  }
919
905
  variant = _step3.value;
920
906
  if (!this._abortScreenshotting) {
921
- _context9.next = 37;
907
+ _context9.n = 8;
922
908
  break;
923
909
  }
924
- _context9.next = 36;
910
+ _context9.n = 7;
925
911
  return restoreOriginalValues();
926
- case 36:
927
- return _context9.abrupt("return", _context9.sent);
928
- case 37:
912
+ case 7:
913
+ return _context9.a(2, _context9.v);
914
+ case 8:
929
915
  data = {};
930
916
  this.setMaterialVariantPath(variant);
931
- _context9.prev = 39;
932
- _context9.next = 42;
917
+ _context9.p = 9;
918
+ _context9.n = 10;
933
919
  return this.updateMaterial(this.scene, {
934
920
  screenshot: true
935
921
  });
936
- case 42:
937
- _context9.next = 47;
922
+ case 10:
923
+ _context9.n = 12;
938
924
  break;
939
- case 44:
940
- _context9.prev = 44;
941
- _context9.t0 = _context9["catch"](39);
942
- return _context9.abrupt("continue", 76);
943
- case 47:
925
+ case 11:
926
+ _context9.p = 11;
927
+ _t2 = _context9.v;
928
+ return _context9.a(3, 22);
929
+ case 12:
944
930
  _iterator4 = _createForOfIteratorHelper(viewKeyList);
945
- _context9.prev = 48;
931
+ _context9.p = 13;
946
932
  _iterator4.s();
947
- case 50:
933
+ case 14:
948
934
  if ((_step4 = _iterator4.n()).done) {
949
- _context9.next = 67;
935
+ _context9.n = 18;
950
936
  break;
951
937
  }
952
938
  viewKey = _step4.value;
953
939
  if (!this._abortScreenshotting) {
954
- _context9.next = 56;
940
+ _context9.n = 16;
955
941
  break;
956
942
  }
957
- _context9.next = 55;
943
+ _context9.n = 15;
958
944
  return restoreOriginalValues();
959
- case 55:
960
- return _context9.abrupt("return", _context9.sent);
961
- case 56:
945
+ case 15:
946
+ return _context9.a(2, _context9.v);
947
+ case 16:
962
948
  view = views[viewKey];
963
949
  position = view.position, orientation = view.orientation, target = view.lookat, fov = view.fov; // set the camera to the screenshot size
964
950
  this.renderer.setPixelRatio(1);
@@ -968,49 +954,48 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
968
954
  this.setCameraPosition(position, orientation, target, fov);
969
955
  this.render();
970
956
  data[viewKey] = this.renderer.domElement.toDataURL("image/png");
971
- case 65:
972
- _context9.next = 50;
957
+ case 17:
958
+ _context9.n = 14;
973
959
  break;
974
- case 67:
975
- _context9.next = 72;
960
+ case 18:
961
+ _context9.n = 20;
976
962
  break;
977
- case 69:
978
- _context9.prev = 69;
979
- _context9.t1 = _context9["catch"](48);
980
- _iterator4.e(_context9.t1);
981
- case 72:
982
- _context9.prev = 72;
963
+ case 19:
964
+ _context9.p = 19;
965
+ _t3 = _context9.v;
966
+ _iterator4.e(_t3);
967
+ case 20:
968
+ _context9.p = 20;
983
969
  _iterator4.f();
984
- return _context9.finish(72);
985
- case 75:
970
+ return _context9.f(20);
971
+ case 21:
986
972
  screenshots[variant] = data;
987
- case 76:
988
- _context9.next = 31;
973
+ case 22:
974
+ _context9.n = 6;
989
975
  break;
990
- case 78:
991
- _context9.next = 83;
976
+ case 23:
977
+ _context9.n = 25;
992
978
  break;
993
- case 80:
994
- _context9.prev = 80;
995
- _context9.t2 = _context9["catch"](29);
996
- _iterator3.e(_context9.t2);
997
- case 83:
998
- _context9.prev = 83;
979
+ case 24:
980
+ _context9.p = 24;
981
+ _t4 = _context9.v;
982
+ _iterator3.e(_t4);
983
+ case 25:
984
+ _context9.p = 25;
999
985
  _iterator3.f();
1000
- return _context9.finish(83);
1001
- case 86:
1002
- _context9.next = 88;
986
+ return _context9.f(25);
987
+ case 26:
988
+ _context9.n = 27;
1003
989
  return restoreScreenshotSetup();
1004
- case 88:
1005
- _context9.next = 90;
990
+ case 27:
991
+ _context9.n = 28;
1006
992
  return restoreOriginalValues();
1007
- case 90:
993
+ case 28:
1008
994
  callback(screenshots);
1009
- case 91:
1010
- case "end":
1011
- return _context9.stop();
995
+ case 29:
996
+ return _context9.a(2);
1012
997
  }
1013
- }, _callee9, this, [[29, 80, 83, 86], [39, 44], [48, 69, 72, 75]]);
998
+ }, _callee9, this, [[13, 19, 20, 21], [9, 11], [5, 24, 25, 26]]);
1014
999
  }));
1015
1000
  function getScreenshots(_x5) {
1016
1001
  return _getScreenshots.apply(this, arguments);
@@ -1049,8 +1034,8 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
1049
1034
  */
1050
1035
  }, {
1051
1036
  key: "getDrawingContext",
1052
- value: function () {
1053
- var _getDrawingContext = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10(drawingFn) {
1037
+ value: (function () {
1038
+ var _getDrawingContext = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee0(drawingFn) {
1054
1039
  var updateAlpha,
1055
1040
  clearTexture,
1056
1041
  materialName,
@@ -1066,25 +1051,25 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
1066
1051
  _createWorkingCanvas2,
1067
1052
  tmpCanvas,
1068
1053
  tmpCtx,
1069
- _args10 = arguments;
1070
- return _regeneratorRuntime().wrap(function _callee10$(_context10) {
1071
- while (1) switch (_context10.prev = _context10.next) {
1054
+ _args0 = arguments;
1055
+ return _regenerator().w(function (_context0) {
1056
+ while (1) switch (_context0.n) {
1072
1057
  case 0:
1073
- updateAlpha = _args10.length > 1 && _args10[1] !== undefined ? _args10[1] : false;
1074
- clearTexture = _args10.length > 2 && _args10[2] !== undefined ? _args10[2] : false;
1075
- materialName = _args10.length > 3 && _args10[3] !== undefined ? _args10[3] : undefined;
1076
- material = materialName ? this.findMaterialByName(materialName) : (0, _first["default"])(this._customizableMaterials);
1058
+ updateAlpha = _args0.length > 1 && _args0[1] !== undefined ? _args0[1] : false;
1059
+ clearTexture = _args0.length > 2 && _args0[2] !== undefined ? _args0[2] : false;
1060
+ materialName = _args0.length > 3 && _args0[3] !== undefined ? _args0[3] : undefined;
1061
+ material = materialName ? this.findMaterialByName(materialName) : first(this._customizableMaterials);
1077
1062
  if (!(!material || !material.map || !material.map.image)) {
1078
- _context10.next = 7;
1063
+ _context0.n = 1;
1079
1064
  break;
1080
1065
  }
1081
1066
  // eslint-disable-next-line no-console
1082
1067
  console.error("Cannot get drawing context for material: ".concat(materialName, "! Is it prepared already?"));
1083
- return _context10.abrupt("return");
1084
- case 7:
1068
+ return _context0.a(2);
1069
+ case 1:
1085
1070
  _this$getCanvasContex = this.getCanvasContextForTexture(material.map), ctx = _this$getCanvasContex.ctx, canvas = _this$getCanvasContex.canvas, originalImage = _this$getCanvasContex.originalImage, texture = _this$getCanvasContex.texture;
1086
1071
  scaling = this.calculateTextureScaling(canvas);
1087
- getTextureBuilder = (0, _createTextureBuilder.createTextureBuilder)(originalImage, {
1072
+ getTextureBuilder = createTextureBuilder(originalImage, {
1088
1073
  scaling: scaling
1089
1074
  });
1090
1075
  if (clearTexture) {
@@ -1093,38 +1078,37 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
1093
1078
  ctx.drawImage(originalImage, 0, 0);
1094
1079
  }
1095
1080
  if (!(updateAlpha && material.alphaMap)) {
1096
- _context10.next = 19;
1081
+ _context0.n = 3;
1097
1082
  break;
1098
1083
  }
1099
1084
  // create a temporary canvas
1100
- _createWorkingCanvas = (0, _createCanvas.createWorkingCanvas)(canvas), _createWorkingCanvas2 = _slicedToArray(_createWorkingCanvas, 2), tmpCanvas = _createWorkingCanvas2[0], tmpCtx = _createWorkingCanvas2[1]; // do the drawing on a temporary canvas first, so we can get the alpha values
1101
- _context10.next = 15;
1085
+ _createWorkingCanvas = createWorkingCanvas(canvas), _createWorkingCanvas2 = _slicedToArray(_createWorkingCanvas, 2), tmpCanvas = _createWorkingCanvas2[0], tmpCtx = _createWorkingCanvas2[1]; // do the drawing on a temporary canvas first, so we can get the alpha values
1086
+ _context0.n = 2;
1102
1087
  return drawingFn(tmpCtx, getTextureBuilder);
1103
- case 15:
1088
+ case 2:
1104
1089
  // copy the temp canvas on the diffuse map
1105
1090
  ctx.drawImage(tmpCanvas, 0, 0);
1106
1091
  this.updateAlphaMap(material.alphaMap, tmpCanvas);
1107
- _context10.next = 21;
1092
+ _context0.n = 4;
1108
1093
  break;
1109
- case 19:
1110
- _context10.next = 21;
1094
+ case 3:
1095
+ _context0.n = 4;
1111
1096
  return drawingFn(ctx, getTextureBuilder);
1112
- case 21:
1097
+ case 4:
1113
1098
  texture.needsUpdate = true;
1114
1099
  if (!this.isAnimating()) {
1115
1100
  this.render();
1116
1101
  }
1117
- case 23:
1118
- case "end":
1119
- return _context10.stop();
1102
+ case 5:
1103
+ return _context0.a(2);
1120
1104
  }
1121
- }, _callee10, this);
1105
+ }, _callee0, this);
1122
1106
  }));
1123
1107
  function getDrawingContext(_x6) {
1124
1108
  return _getDrawingContext.apply(this, arguments);
1125
1109
  }
1126
1110
  return getDrawingContext;
1127
- }()
1111
+ }())
1128
1112
  }, {
1129
1113
  key: "updateAlphaMap",
1130
1114
  value: function updateAlphaMap(texture, srcCanvas) {
@@ -1133,7 +1117,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
1133
1117
  canvas = _this$getCanvasContex2.canvas,
1134
1118
  originalImage = _this$getCanvasContex2.originalImage;
1135
1119
  ctx.drawImage(originalImage, 0, 0); // draw the original alpha image on the canvas
1136
- (0, _createAlphaMapFromAlphaChannel.createAlphaMapFromAlphaChannel)(srcCanvas, canvas);
1120
+ createAlphaMapFromAlphaChannel(srcCanvas, canvas);
1137
1121
  texture.needsUpdate = true;
1138
1122
  }
1139
1123
  }, {
@@ -1173,7 +1157,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
1173
1157
  angleRad: Math.PI * 0.1
1174
1158
  }, options),
1175
1159
  angleRad = _angleRad$options.angleRad;
1176
- this._releaseUserMovementRestriction = (0, _restrictCameraMovement.restrictOrbitControls)(this.controls).byAngle(angleRad);
1160
+ this._releaseUserMovementRestriction = restrictOrbitControls(this.controls).byAngle(angleRad);
1177
1161
  }
1178
1162
  }, {
1179
1163
  key: "freeUserMovement",
@@ -1189,8 +1173,7 @@ var Three3D = exports.Three3D = /*#__PURE__*/function (_ThreeBase) {
1189
1173
  if (this._cleanUpZoomHandler) {
1190
1174
  this._cleanUpZoomHandler();
1191
1175
  }
1192
- _get(_getPrototypeOf(Three3D.prototype), "dispose", this).call(this);
1176
+ _superPropGet(Three3D, "dispose", this, 3)([]);
1193
1177
  }
1194
1178
  }]);
1195
- return Three3D;
1196
- }(_ThreeBase2.ThreeBase);
1179
+ }(ThreeBase);