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.
- package/AlignTargetProvider.js +21 -30
- package/CommonUtils/Deferred.js +11 -19
- package/CommonUtils/Observable.js +23 -30
- package/CommonUtils/PropertyObserver.js +4 -10
- package/CommonUtils/SyncCurrentFunction.js +25 -31
- package/CommonUtils/SyncObservableEvent.js +4 -10
- package/CommonUtils/pointerEvent.js +9 -15
- package/Constants.js +2 -8
- package/DevApp.js +224 -236
- package/ExposedModules.js +4 -19
- package/FallbackVisualization.js +5 -12
- package/PrintingEffects/ColorEmbossingEffect.js +13 -19
- package/PrintingEffects/DomingEffect.js +13 -19
- package/PrintingEffects/EmbossingEffect.js +14 -20
- package/PrintingEffects/EmbroideryEffect.js +113 -128
- package/PrintingEffects/EngravingEffect.js +14 -20
- package/PrintingEffects/PrintingEffects.js +40 -48
- package/PrintingEffects/PrintingEffectsUtils.js +4 -13
- package/React/ReactBase.js +29 -37
- package/Three/Exporters/glTFExporter.js +3 -10
- package/Three/Three2D.js +441 -470
- package/Three/Three2DLayers.js +136 -148
- package/Three/Three3D.js +285 -302
- package/Three/Three3DScene.js +326 -341
- package/Three/ThreeBase.js +92 -104
- package/Utils/DesignArea/getDesignAreaCanvasSize.js +3 -10
- package/Utils/TextureBuilder/createTextureBuilder.js +57 -69
- package/Utils/TextureBuilder/textureBuilderFunctions.js +4 -10
- package/Utils/canvasBlur.js +2 -8
- package/Utils/createAlphaMapFromAlphaChannel.js +8 -13
- package/Utils/createBakedShadow.js +18 -25
- package/Utils/createCache.js +1 -7
- package/Utils/createCanvas.js +1 -7
- package/Utils/createImageRepository.js +38 -53
- package/Utils/disposeMaterial.js +7 -12
- package/Utils/getImageSize.js +1 -7
- package/Utils/imagePreloader.js +22 -29
- package/Utils/initTextureCanvas.js +10 -17
- package/Utils/isMobileDevice.js +1 -7
- package/Utils/optimizeTextureImage.js +8 -13
- package/Utils/rememberCameraViewOffset.js +1 -7
- package/Utils/removeObject.js +3 -9
- package/Utils/restrictCameraMovement.js +5 -12
- package/Utils/setLightShadow.js +3 -9
- package/Utils/setOrthographicCameraSize.js +1 -7
- package/Utils/updateFitSizeToElement.js +5 -11
- package/VisualizationContainer.js +46 -55
- package/VisualizationInterface.js +42 -50
- package/VisualizationProvider.js +8 -15
- package/index.js +4 -7
- package/package.json +2 -2
- package/src/Three/Exporters/glTFExporter.js +1 -1
- package/src/Three/Three3D.js +4 -4
- package/src/Three/Three3DScene.js +13 -3
- package/src/Utils/restrictCameraMovement.js +1 -1
- 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(
|
|
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(
|
|
33
|
-
function _createForOfIteratorHelper(
|
|
34
|
-
function _unsupportedIterableToArray(
|
|
35
|
-
function _arrayLikeToArray(
|
|
36
|
-
function
|
|
37
|
-
function
|
|
38
|
-
function
|
|
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(
|
|
42
|
-
function _defineProperties(
|
|
43
|
-
function _createClass(
|
|
44
|
-
function
|
|
45
|
-
function
|
|
46
|
-
function
|
|
47
|
-
function
|
|
48
|
-
function
|
|
49
|
-
function
|
|
50
|
-
function
|
|
51
|
-
function
|
|
52
|
-
function
|
|
53
|
-
function
|
|
54
|
-
function
|
|
55
|
-
function
|
|
56
|
-
var
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
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 =
|
|
69
|
-
_defineProperty(
|
|
70
|
-
_defineProperty(
|
|
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
|
|
92
|
-
var textureLoadingManager = new
|
|
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 (
|
|
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
|
|
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
|
-
|
|
115
|
+
_inherits(Three3D, _ThreeBase);
|
|
116
|
+
return _createClass(Three3D, [{
|
|
123
117
|
key: "createRenderer",
|
|
124
118
|
value: function createRenderer() {
|
|
125
|
-
var renderer = new
|
|
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 (
|
|
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
|
|
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
|
|
149
|
+
var ambientLight = new AmbientLight(0xcccccc, 0.4);
|
|
156
150
|
this.scene.add(ambientLight);
|
|
157
|
-
var pointLight = new
|
|
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 =
|
|
172
|
-
_this2.observable.dispatch(
|
|
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
|
|
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(
|
|
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
|
|
215
|
-
while (1) switch (_context.
|
|
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.
|
|
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.
|
|
223
|
+
_context.n = 1;
|
|
230
224
|
return Promise.all(promises);
|
|
231
|
-
case
|
|
232
|
-
result = _context.
|
|
225
|
+
case 1:
|
|
226
|
+
result = _context.v;
|
|
233
227
|
this.onLoadFinished();
|
|
234
|
-
this.observable.dispatch(
|
|
228
|
+
this.observable.dispatch(EventTypes.ModelLoaded);
|
|
235
229
|
if (rerender) {
|
|
236
230
|
this.render();
|
|
237
231
|
}
|
|
238
|
-
return _context.
|
|
239
|
-
case
|
|
240
|
-
return _context.
|
|
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(
|
|
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
|
-
|
|
286
|
-
|
|
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.
|
|
282
|
+
_context2.n = 1;
|
|
290
283
|
return this.loadObject(src, false);
|
|
291
|
-
case
|
|
292
|
-
group = _context2.
|
|
284
|
+
case 1:
|
|
285
|
+
group = _context2.v;
|
|
293
286
|
children = group.children;
|
|
294
287
|
if (!(children && children.length > 0)) {
|
|
295
|
-
_context2.
|
|
288
|
+
_context2.n = 11;
|
|
296
289
|
break;
|
|
297
290
|
}
|
|
298
291
|
views = {};
|
|
299
292
|
_iterator = _createForOfIteratorHelper(children);
|
|
300
|
-
_context2.
|
|
293
|
+
_context2.p = 2;
|
|
301
294
|
_iterator.s();
|
|
302
|
-
case
|
|
295
|
+
case 3:
|
|
303
296
|
if ((_step = _iterator.n()).done) {
|
|
304
|
-
_context2.
|
|
297
|
+
_context2.n = 7;
|
|
305
298
|
break;
|
|
306
299
|
}
|
|
307
300
|
obj = _step.value;
|
|
308
|
-
if (obj instanceof
|
|
309
|
-
_context2.
|
|
301
|
+
if (obj instanceof Mesh) {
|
|
302
|
+
_context2.n = 4;
|
|
310
303
|
break;
|
|
311
304
|
}
|
|
312
|
-
return _context2.
|
|
313
|
-
case
|
|
305
|
+
return _context2.a(3, 6);
|
|
306
|
+
case 4:
|
|
314
307
|
matches = ("" + obj.name).toLowerCase().match(/(.+)_(position|lookat)$/);
|
|
315
308
|
if (matches) {
|
|
316
|
-
_context2.
|
|
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.
|
|
322
|
-
case
|
|
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
|
|
329
|
-
_context2.
|
|
321
|
+
case 6:
|
|
322
|
+
_context2.n = 3;
|
|
330
323
|
break;
|
|
331
|
-
case
|
|
332
|
-
_context2.
|
|
324
|
+
case 7:
|
|
325
|
+
_context2.n = 9;
|
|
333
326
|
break;
|
|
334
|
-
case
|
|
335
|
-
_context2.
|
|
336
|
-
|
|
337
|
-
_iterator.e(
|
|
338
|
-
case
|
|
339
|
-
_context2.
|
|
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.
|
|
342
|
-
case
|
|
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.
|
|
349
|
-
case
|
|
350
|
-
|
|
351
|
-
return _context2.stop();
|
|
341
|
+
return _context2.a(2, views);
|
|
342
|
+
case 11:
|
|
343
|
+
return _context2.a(2);
|
|
352
344
|
}
|
|
353
|
-
}, _callee2, this, [[
|
|
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(
|
|
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
|
|
381
|
-
while (1) switch (_context4.
|
|
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
|
|
377
|
+
loader = new ColladaLoader(this._loadingManager);
|
|
385
378
|
_this$getPathAndFileN2 = this.getPathAndFileName(src), path = _this$getPathAndFileN2.path, fileName = _this$getPathAndFileN2.fileName;
|
|
386
|
-
_context4.
|
|
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(
|
|
390
|
-
return
|
|
391
|
-
while (1) switch (_context3.
|
|
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
|
-
|
|
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
|
-
}(),
|
|
395
|
+
}(), onProgress, reject);
|
|
404
396
|
});
|
|
405
|
-
case
|
|
406
|
-
_yield$Promise = _context4.
|
|
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 =
|
|
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.
|
|
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
|
|
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(
|
|
459
|
-
return
|
|
460
|
-
while (1) switch (_context5.
|
|
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.
|
|
451
|
+
_context5.n = 1;
|
|
463
452
|
return _this3.updateMaterial(object);
|
|
464
|
-
case
|
|
453
|
+
case 1:
|
|
465
454
|
if (addToScene) {
|
|
466
455
|
_this3.scene.add(object);
|
|
467
456
|
}
|
|
468
457
|
resolve(object);
|
|
469
|
-
case
|
|
470
|
-
|
|
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
|
-
}(),
|
|
466
|
+
}(), onProgress, reject);
|
|
479
467
|
});
|
|
480
468
|
}
|
|
481
469
|
}, {
|
|
482
470
|
key: "dispatchMaterialUpdateEvent",
|
|
483
471
|
value: function () {
|
|
484
|
-
var _dispatchMaterialUpdateEvent = _asyncToGenerator(
|
|
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
|
|
491
|
-
while (1) switch (_context6.
|
|
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.
|
|
500
|
-
return this.observable.dispatch(
|
|
501
|
-
case
|
|
502
|
-
|
|
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(
|
|
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
|
|
523
|
-
while (1) switch (_context7.
|
|
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.
|
|
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.
|
|
537
|
-
case
|
|
538
|
-
_context7.
|
|
523
|
+
return _context7.a(2);
|
|
524
|
+
case 1:
|
|
525
|
+
_context7.n = 2;
|
|
539
526
|
return this.loadMaterial("".concat(mtlPath, "/materials.mtl"));
|
|
540
|
-
case
|
|
541
|
-
materialCreator = _context7.
|
|
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.
|
|
532
|
+
_context7.n = 3;
|
|
546
533
|
return this.dispatchMaterialUpdateEvent(options);
|
|
547
|
-
case
|
|
548
|
-
return _context7.
|
|
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
|
-
|
|
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 = (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
682
|
+
var sp0 = new Spherical();
|
|
699
683
|
sp0.setFromVector3(this.camera.position);
|
|
700
|
-
var sp1 = new
|
|
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
|
|
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
|
|
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
|
|
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
|
|
701
|
+
new TWEEN.Tween(this.camera, this.cameraTweenGroup).to({
|
|
718
702
|
fov: fov
|
|
719
|
-
}, duration.fov || 700).easing(
|
|
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(
|
|
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
|
-
|
|
843
|
-
|
|
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.
|
|
834
|
+
_context9.n = 1;
|
|
848
835
|
break;
|
|
849
836
|
}
|
|
850
|
-
return _context9.
|
|
851
|
-
case
|
|
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.
|
|
844
|
+
_context9.n = 2;
|
|
858
845
|
return this.animationRunning();
|
|
859
|
-
case
|
|
860
|
-
_context9.
|
|
846
|
+
case 2:
|
|
847
|
+
_context9.n = 3;
|
|
861
848
|
return this.createTempOverlay();
|
|
862
|
-
case
|
|
863
|
-
removeTempOverlay = _context9.
|
|
864
|
-
restoreCameraViewOffset =
|
|
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
|
|
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(
|
|
874
|
-
return
|
|
875
|
-
while (1) switch (_context8.
|
|
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.
|
|
871
|
+
_context8.n = 1;
|
|
885
872
|
return _this5.updateMaterial();
|
|
886
|
-
case
|
|
873
|
+
case 1:
|
|
887
874
|
_this5.render();
|
|
888
875
|
removeTempOverlay();
|
|
889
|
-
case
|
|
890
|
-
|
|
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.
|
|
885
|
+
_context9.n = 4;
|
|
900
886
|
return this.setupScreenshots();
|
|
901
|
-
case
|
|
902
|
-
restoreScreenshotSetup = _context9.
|
|
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.
|
|
898
|
+
_context9.p = 5;
|
|
913
899
|
_iterator3.s();
|
|
914
|
-
case
|
|
900
|
+
case 6:
|
|
915
901
|
if ((_step3 = _iterator3.n()).done) {
|
|
916
|
-
_context9.
|
|
902
|
+
_context9.n = 23;
|
|
917
903
|
break;
|
|
918
904
|
}
|
|
919
905
|
variant = _step3.value;
|
|
920
906
|
if (!this._abortScreenshotting) {
|
|
921
|
-
_context9.
|
|
907
|
+
_context9.n = 8;
|
|
922
908
|
break;
|
|
923
909
|
}
|
|
924
|
-
_context9.
|
|
910
|
+
_context9.n = 7;
|
|
925
911
|
return restoreOriginalValues();
|
|
926
|
-
case
|
|
927
|
-
return _context9.
|
|
928
|
-
case
|
|
912
|
+
case 7:
|
|
913
|
+
return _context9.a(2, _context9.v);
|
|
914
|
+
case 8:
|
|
929
915
|
data = {};
|
|
930
916
|
this.setMaterialVariantPath(variant);
|
|
931
|
-
_context9.
|
|
932
|
-
_context9.
|
|
917
|
+
_context9.p = 9;
|
|
918
|
+
_context9.n = 10;
|
|
933
919
|
return this.updateMaterial(this.scene, {
|
|
934
920
|
screenshot: true
|
|
935
921
|
});
|
|
936
|
-
case
|
|
937
|
-
_context9.
|
|
922
|
+
case 10:
|
|
923
|
+
_context9.n = 12;
|
|
938
924
|
break;
|
|
939
|
-
case
|
|
940
|
-
_context9.
|
|
941
|
-
|
|
942
|
-
return _context9.
|
|
943
|
-
case
|
|
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.
|
|
931
|
+
_context9.p = 13;
|
|
946
932
|
_iterator4.s();
|
|
947
|
-
case
|
|
933
|
+
case 14:
|
|
948
934
|
if ((_step4 = _iterator4.n()).done) {
|
|
949
|
-
_context9.
|
|
935
|
+
_context9.n = 18;
|
|
950
936
|
break;
|
|
951
937
|
}
|
|
952
938
|
viewKey = _step4.value;
|
|
953
939
|
if (!this._abortScreenshotting) {
|
|
954
|
-
_context9.
|
|
940
|
+
_context9.n = 16;
|
|
955
941
|
break;
|
|
956
942
|
}
|
|
957
|
-
_context9.
|
|
943
|
+
_context9.n = 15;
|
|
958
944
|
return restoreOriginalValues();
|
|
959
|
-
case
|
|
960
|
-
return _context9.
|
|
961
|
-
case
|
|
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
|
|
972
|
-
_context9.
|
|
957
|
+
case 17:
|
|
958
|
+
_context9.n = 14;
|
|
973
959
|
break;
|
|
974
|
-
case
|
|
975
|
-
_context9.
|
|
960
|
+
case 18:
|
|
961
|
+
_context9.n = 20;
|
|
976
962
|
break;
|
|
977
|
-
case
|
|
978
|
-
_context9.
|
|
979
|
-
|
|
980
|
-
_iterator4.e(
|
|
981
|
-
case
|
|
982
|
-
_context9.
|
|
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.
|
|
985
|
-
case
|
|
970
|
+
return _context9.f(20);
|
|
971
|
+
case 21:
|
|
986
972
|
screenshots[variant] = data;
|
|
987
|
-
case
|
|
988
|
-
_context9.
|
|
973
|
+
case 22:
|
|
974
|
+
_context9.n = 6;
|
|
989
975
|
break;
|
|
990
|
-
case
|
|
991
|
-
_context9.
|
|
976
|
+
case 23:
|
|
977
|
+
_context9.n = 25;
|
|
992
978
|
break;
|
|
993
|
-
case
|
|
994
|
-
_context9.
|
|
995
|
-
|
|
996
|
-
_iterator3.e(
|
|
997
|
-
case
|
|
998
|
-
_context9.
|
|
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.
|
|
1001
|
-
case
|
|
1002
|
-
_context9.
|
|
986
|
+
return _context9.f(25);
|
|
987
|
+
case 26:
|
|
988
|
+
_context9.n = 27;
|
|
1003
989
|
return restoreScreenshotSetup();
|
|
1004
|
-
case
|
|
1005
|
-
_context9.
|
|
990
|
+
case 27:
|
|
991
|
+
_context9.n = 28;
|
|
1006
992
|
return restoreOriginalValues();
|
|
1007
|
-
case
|
|
993
|
+
case 28:
|
|
1008
994
|
callback(screenshots);
|
|
1009
|
-
case
|
|
1010
|
-
|
|
1011
|
-
return _context9.stop();
|
|
995
|
+
case 29:
|
|
996
|
+
return _context9.a(2);
|
|
1012
997
|
}
|
|
1013
|
-
}, _callee9, this, [[
|
|
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(
|
|
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
|
-
|
|
1070
|
-
return
|
|
1071
|
-
while (1) switch (
|
|
1054
|
+
_args0 = arguments;
|
|
1055
|
+
return _regenerator().w(function (_context0) {
|
|
1056
|
+
while (1) switch (_context0.n) {
|
|
1072
1057
|
case 0:
|
|
1073
|
-
updateAlpha =
|
|
1074
|
-
clearTexture =
|
|
1075
|
-
materialName =
|
|
1076
|
-
material = materialName ? this.findMaterialByName(materialName) : (
|
|
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
|
-
|
|
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
|
|
1084
|
-
case
|
|
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 =
|
|
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
|
-
|
|
1081
|
+
_context0.n = 3;
|
|
1097
1082
|
break;
|
|
1098
1083
|
}
|
|
1099
1084
|
// create a temporary canvas
|
|
1100
|
-
_createWorkingCanvas =
|
|
1101
|
-
|
|
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
|
|
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
|
-
|
|
1092
|
+
_context0.n = 4;
|
|
1108
1093
|
break;
|
|
1109
|
-
case
|
|
1110
|
-
|
|
1094
|
+
case 3:
|
|
1095
|
+
_context0.n = 4;
|
|
1111
1096
|
return drawingFn(ctx, getTextureBuilder);
|
|
1112
|
-
case
|
|
1097
|
+
case 4:
|
|
1113
1098
|
texture.needsUpdate = true;
|
|
1114
1099
|
if (!this.isAnimating()) {
|
|
1115
1100
|
this.render();
|
|
1116
1101
|
}
|
|
1117
|
-
case
|
|
1118
|
-
|
|
1119
|
-
return _context10.stop();
|
|
1102
|
+
case 5:
|
|
1103
|
+
return _context0.a(2);
|
|
1120
1104
|
}
|
|
1121
|
-
},
|
|
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
|
-
|
|
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 =
|
|
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
|
-
|
|
1176
|
+
_superPropGet(Three3D, "dispose", this, 3)([]);
|
|
1193
1177
|
}
|
|
1194
1178
|
}]);
|
|
1195
|
-
|
|
1196
|
-
}(_ThreeBase2.ThreeBase);
|
|
1179
|
+
}(ThreeBase);
|