@crystaldesign/real-time-viewer 25.3.0-beta.4 → 25.3.0-beta.43
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/build/esm/index.js +331 -163
- package/build/types/real-time-viewer/src/CustomMaterial/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/SelectionHandler/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/context.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/controls/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/index.d.ts +1 -1
- package/build/types/real-time-viewer/src/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/parser/createCams/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/parser/findAssets/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/parser/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/parser/shadow/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/store/SceneStore.d.ts +15 -1
- package/build/types/real-time-viewer/src/store/SceneStore.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/store/UIStore.d.ts +8 -3
- package/build/types/real-time-viewer/src/store/UIStore.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/store/UtilStore.d.ts +2 -1
- package/build/types/real-time-viewer/src/store/UtilStore.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/store/types.d.ts +6 -0
- package/build/types/real-time-viewer/src/store/types.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/types.d.ts +2 -1
- package/build/types/real-time-viewer/src/types.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/useRealTimeRenderData.d.ts.map +1 -1
- package/build/umd/real-time-viewer.umd.min.js +1 -1
- package/build/umd/report.html +1 -1
- package/package.json +12 -12
- package/build/umd/1309.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1309.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1447.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1447.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1499.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1499.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1781.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1781.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/1896.real-time-viewer.umd.min.js +0 -2
- package/build/umd/1896.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2011.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2011.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2439.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2439.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2817.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2817.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/2871.real-time-viewer.umd.min.js +0 -2
- package/build/umd/2871.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3116.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3116.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3243.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3243.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3351.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3351.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3456.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3456.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/3945.real-time-viewer.umd.min.js +0 -2
- package/build/umd/3945.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4091.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4091.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/410.real-time-viewer.umd.min.js +0 -2
- package/build/umd/410.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4153.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4153.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4248.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4248.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4378.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4378.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4431.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4431.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4542.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4542.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4602.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4602.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4661.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4661.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4669.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4669.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4711.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4711.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/4823.real-time-viewer.umd.min.js +0 -2
- package/build/umd/4823.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5462.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5462.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5478.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5478.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5483.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5483.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5555.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5555.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5860.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5860.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/5922.real-time-viewer.umd.min.js +0 -2
- package/build/umd/5922.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6095.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6095.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/615.real-time-viewer.umd.min.js +0 -2
- package/build/umd/615.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6230.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6230.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6357.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6357.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/653.real-time-viewer.umd.min.js +0 -2
- package/build/umd/653.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6656.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6656.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/6829.real-time-viewer.umd.min.js +0 -2
- package/build/umd/6829.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7042.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7042.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/710.real-time-viewer.umd.min.js +0 -2
- package/build/umd/710.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7142.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7142.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7229.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7229.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7276.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7276.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7352.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7352.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7501.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7501.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7607.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7607.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7729.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7729.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7751.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7751.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/7754.real-time-viewer.umd.min.js +0 -2
- package/build/umd/7754.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8078.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8078.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8105.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8105.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/815.real-time-viewer.umd.min.js +0 -2
- package/build/umd/815.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8240.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8240.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8333.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8333.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8526.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8526.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8620.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8620.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8728.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8728.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8729.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8729.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/8991.real-time-viewer.umd.min.js +0 -2
- package/build/umd/8991.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9078.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9078.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/913.real-time-viewer.umd.min.js +0 -2
- package/build/umd/913.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/930.real-time-viewer.umd.min.js +0 -2
- package/build/umd/930.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9383.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9383.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9473.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9473.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9568.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9568.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9712.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9712.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/9884.real-time-viewer.umd.min.js +0 -2
- package/build/umd/9884.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
package/build/esm/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { useRef, useEffect, memo } from 'react';
|
|
2
2
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
3
3
|
import _regeneratorRuntime from '@babel/runtime/regenerator';
|
|
4
|
+
import { Constants, HighlightLayer, Color4 as Color4$1 } from '@babylonjs/core';
|
|
4
5
|
import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
5
6
|
import _classCallCheck from '@babel/runtime/helpers/classCallCheck';
|
|
6
7
|
import _createClass from '@babel/runtime/helpers/createClass';
|
|
@@ -14,7 +15,6 @@ import { ExecuteCodeAction } from '@babylonjs/core/Actions/directActions';
|
|
|
14
15
|
import { Color4, Color3 } from '@babylonjs/core/Maths/math.color';
|
|
15
16
|
import { PBRMaterial } from '@babylonjs/core/Materials/PBR/pbrMaterial';
|
|
16
17
|
import '@babylonjs/core/Rendering/edgesRenderer';
|
|
17
|
-
import { AbstractMesh } from '@babylonjs/core/Meshes/abstractMesh';
|
|
18
18
|
import { GLTF2Export } from '@babylonjs/serializers';
|
|
19
19
|
import '@babylonjs/core/Helpers/sceneHelpers';
|
|
20
20
|
import { CubeTexture } from '@babylonjs/core/Materials/Textures/cubeTexture';
|
|
@@ -33,12 +33,10 @@ import { Rectangle } from '@babylonjs/gui/2D/controls/rectangle';
|
|
|
33
33
|
import { TextBlock } from '@babylonjs/gui/2D/controls/textBlock';
|
|
34
34
|
import { Mesh } from '@babylonjs/core/Meshes/mesh';
|
|
35
35
|
import { Axis } from '@babylonjs/core/Maths/math.axis';
|
|
36
|
-
import { HighlightLayer } from '@babylonjs/core/Layers/';
|
|
37
36
|
import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
|
|
38
37
|
import { Texture } from '@babylonjs/core/Materials/Textures/texture';
|
|
39
|
-
import { Constants } from '@babylonjs/core/Engines/constants';
|
|
40
38
|
import { Matrix as Matrix$1, Vector3 as Vector3$1 } from '@babylonjs/core/Maths/math';
|
|
41
|
-
import {
|
|
39
|
+
import { EngineFactory } from '@babylonjs/core/Engines/engineFactory';
|
|
42
40
|
import { Scene } from '@babylonjs/core/scene';
|
|
43
41
|
import { DracoCompression } from '@babylonjs/core/Meshes/Compression/dracoCompression';
|
|
44
42
|
import { SceneLoader } from '@babylonjs/core/Loading/sceneLoader';
|
|
@@ -108,7 +106,9 @@ function GetCameraControls(camera) {
|
|
|
108
106
|
};
|
|
109
107
|
(_sceneStore$updateCam = sceneStore.updateCameraInformation) === null || _sceneStore$updateCam === void 0 || _sceneStore$updateCam.call(sceneStore, cam);
|
|
110
108
|
uistore.requestNewOverlayImage(cam, sceneStore.focusedElement, sceneStore.targetCameraPosition);
|
|
111
|
-
if (stopRender)
|
|
109
|
+
if (stopRender) {
|
|
110
|
+
sceneStore.doRenderControlLoop = false;
|
|
111
|
+
}
|
|
112
112
|
}
|
|
113
113
|
function moveTarget(deltaX, deltaY) {
|
|
114
114
|
sceneStore.isControlledViewpoint = false;
|
|
@@ -179,12 +179,13 @@ function GetCameraControls(camera) {
|
|
|
179
179
|
sceneStore.targetCameraPosition = new Vector3(x, y, z);
|
|
180
180
|
}
|
|
181
181
|
rotateUniversalCamera(deltaX, deltaY);
|
|
182
|
+
if (!sceneStore.doRenderControlLoop) sceneStore.runRenderLoopIndefinitely();
|
|
182
183
|
sceneStore.doRenderControlLoop = true;
|
|
183
184
|
}
|
|
184
185
|
function onRotateMouse(event) {
|
|
185
186
|
if (previousTouch != undefined) return;
|
|
186
|
-
var deltaX = event.movementX ||
|
|
187
|
-
var deltaY = event.movementY ||
|
|
187
|
+
var deltaX = event.movementX || 0;
|
|
188
|
+
var deltaY = event.movementY || 0;
|
|
188
189
|
onRotate(deltaX, deltaY);
|
|
189
190
|
}
|
|
190
191
|
function onMouseDown(ev) {
|
|
@@ -204,9 +205,10 @@ function GetCameraControls(camera) {
|
|
|
204
205
|
element === null || element === void 0 || element.removeEventListener('pointermove', onMouseMoveTarget, false);
|
|
205
206
|
}
|
|
206
207
|
function onMouseMoveTarget(event) {
|
|
207
|
-
var deltaX = event.movementX ||
|
|
208
|
-
var deltaY = event.movementY ||
|
|
208
|
+
var deltaX = event.movementX || 0;
|
|
209
|
+
var deltaY = event.movementY || 0;
|
|
209
210
|
moveTarget(deltaX * 0.002, deltaY * 0.002);
|
|
211
|
+
if (!sceneStore.doRenderControlLoop) sceneStore.runRenderLoopIndefinitely();
|
|
210
212
|
sceneStore.doRenderControlLoop = true;
|
|
211
213
|
}
|
|
212
214
|
var onTouchStart = function onTouchStart(ev) {
|
|
@@ -232,6 +234,7 @@ function GetCameraControls(camera) {
|
|
|
232
234
|
var dist = Math.hypot(ev.touches[0].pageX - ev.touches[1].pageX, ev.touches[0].pageY - ev.touches[1].pageY);
|
|
233
235
|
var distChange = dist - initDistance;
|
|
234
236
|
moveCameraAwayFromTarget(-distChange * 0.01);
|
|
237
|
+
if (!sceneStore.doRenderControlLoop) sceneStore.runRenderLoopIndefinitely();
|
|
235
238
|
sceneStore.doRenderControlLoop = true;
|
|
236
239
|
initDistance = dist;
|
|
237
240
|
}
|
|
@@ -246,6 +249,7 @@ function GetCameraControls(camera) {
|
|
|
246
249
|
}
|
|
247
250
|
var value = ev.deltaY > 0 ? add : -add;
|
|
248
251
|
moveCameraAwayFromTarget(value * 2);
|
|
252
|
+
if (!sceneStore.doRenderControlLoop) sceneStore.runRenderLoopIndefinitely();
|
|
249
253
|
sceneStore.doRenderControlLoop = true;
|
|
250
254
|
}
|
|
251
255
|
function onDoubleClick() {}
|
|
@@ -940,6 +944,7 @@ function updateCam(camera, scene) {
|
|
|
940
944
|
var _sceneStore$updateCam;
|
|
941
945
|
if (camera.pos.x == 0 && camera.pos.y == 0 && camera.pos.z == 0) return;
|
|
942
946
|
var utilStore = useUtilStoreContext();
|
|
947
|
+
if (!utilStore.updateCam) return;
|
|
943
948
|
var sceneStore = useSceneStoreContext();
|
|
944
949
|
var cam = scene.getCameraByName('defaultCam');
|
|
945
950
|
if (!cam) {
|
|
@@ -1000,6 +1005,7 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1000
1005
|
_defineProperty(this, "_sceneConstruct", {});
|
|
1001
1006
|
_defineProperty(this, "_hasRendered", false);
|
|
1002
1007
|
_defineProperty(this, "_hasPlanned", false);
|
|
1008
|
+
_defineProperty(this, "_modelIteration", 0);
|
|
1003
1009
|
_defineProperty(this, "_utilStore", void 0);
|
|
1004
1010
|
_defineProperty(this, "_cache", []);
|
|
1005
1011
|
_defineProperty(this, "_ssao", undefined);
|
|
@@ -1010,6 +1016,7 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1010
1016
|
_defineProperty(this, "_jwt", void 0);
|
|
1011
1017
|
_defineProperty(this, "_onMissingGeo", void 0);
|
|
1012
1018
|
_defineProperty(this, "_cancelSceneExport", void 0);
|
|
1019
|
+
_defineProperty(this, "_materialCache", void 0);
|
|
1013
1020
|
//controls
|
|
1014
1021
|
_defineProperty(this, "_renderControlLoop", undefined);
|
|
1015
1022
|
_defineProperty(this, "_doRenderControlLoop", false);
|
|
@@ -1019,6 +1026,7 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1019
1026
|
_defineProperty(this, "_focusedElement", void 0);
|
|
1020
1027
|
_defineProperty(this, "_isControlledViewpoint", true);
|
|
1021
1028
|
// if the current viewpoint should automatically change with the planning
|
|
1029
|
+
_defineProperty(this, "_renderLoopTimeoutId", void 0);
|
|
1022
1030
|
_defineProperty(this, "light", undefined);
|
|
1023
1031
|
_defineProperty(this, "changedElements", void 0);
|
|
1024
1032
|
_defineProperty(this, "updateCameraInformation", void 0);
|
|
@@ -1029,6 +1037,9 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1029
1037
|
this.updateCameraInformation = updateCameraInformation;
|
|
1030
1038
|
this._cancelSceneExport = false;
|
|
1031
1039
|
this._jwt = jwt;
|
|
1040
|
+
this._materialCache = [];
|
|
1041
|
+
this._hqRenderScript = JSON.parse(hqRenderScript);
|
|
1042
|
+
this._utilStore = utilStore;
|
|
1032
1043
|
var options = new SceneOptimizerOptions(15, 1000);
|
|
1033
1044
|
options.addOptimization(new ShadowsOptimization(0));
|
|
1034
1045
|
options.addOptimization(new RenderTargetsOptimization(0));
|
|
@@ -1036,11 +1047,6 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1036
1047
|
scene.materials.forEach(function (mat) {
|
|
1037
1048
|
return mat.freeze();
|
|
1038
1049
|
});
|
|
1039
|
-
scene.meshes.forEach(function (mesh) {
|
|
1040
|
-
mesh.freezeWorldMatrix();
|
|
1041
|
-
mesh.cullingStrategy = AbstractMesh.CULLINGSTRATEGY_OPTIMISTIC_INCLUSION_THEN_BSPHERE_ONLY;
|
|
1042
|
-
});
|
|
1043
|
-
scene.autoClear = false;
|
|
1044
1050
|
scene.blockMaterialDirtyMechanism = true;
|
|
1045
1051
|
return true;
|
|
1046
1052
|
}, function () {
|
|
@@ -1054,10 +1060,18 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1054
1060
|
return '';
|
|
1055
1061
|
}, 1);
|
|
1056
1062
|
this._optimizer = new SceneOptimizer(scene, options);
|
|
1057
|
-
this._hqRenderScript = JSON.parse(hqRenderScript);
|
|
1058
|
-
this._utilStore = utilStore;
|
|
1059
1063
|
}
|
|
1060
1064
|
return _createClass(SceneStore, [{
|
|
1065
|
+
key: "materialCache",
|
|
1066
|
+
get: function get() {
|
|
1067
|
+
return this._materialCache;
|
|
1068
|
+
}
|
|
1069
|
+
}, {
|
|
1070
|
+
key: "modelIteration",
|
|
1071
|
+
get: function get() {
|
|
1072
|
+
return this._modelIteration;
|
|
1073
|
+
}
|
|
1074
|
+
}, {
|
|
1061
1075
|
key: "jwt",
|
|
1062
1076
|
get: function get() {
|
|
1063
1077
|
return this._jwt;
|
|
@@ -1375,6 +1389,44 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1375
1389
|
set: function set(renderPipeline) {
|
|
1376
1390
|
this._renderPipeline = renderPipeline;
|
|
1377
1391
|
}
|
|
1392
|
+
}, {
|
|
1393
|
+
key: "renderLoop",
|
|
1394
|
+
value: function renderLoop() {
|
|
1395
|
+
var _this$controlRenderLo;
|
|
1396
|
+
if (this.cameraTargetPosition.x == 0 && this.cameraTargetPosition.y == 0 && this.cameraTargetPosition.z == 0) this.setCameraTarget();
|
|
1397
|
+
(_this$controlRenderLo = this.controlRenderLoop) === null || _this$controlRenderLo === void 0 || _this$controlRenderLo.call(this);
|
|
1398
|
+
this.scene.render();
|
|
1399
|
+
}
|
|
1400
|
+
}, {
|
|
1401
|
+
key: "runRenderLoop",
|
|
1402
|
+
value: function runRenderLoop() {
|
|
1403
|
+
var engine = this._scene.getEngine();
|
|
1404
|
+
if (engine.activeRenderLoops.length != 0) return;
|
|
1405
|
+
engine.runRenderLoop(this.renderLoop.bind(this));
|
|
1406
|
+
}
|
|
1407
|
+
}, {
|
|
1408
|
+
key: "runRenderLoopIndefinitely",
|
|
1409
|
+
value: function runRenderLoopIndefinitely() {
|
|
1410
|
+
clearTimeout(this._renderLoopTimeoutId);
|
|
1411
|
+
this.runRenderLoop();
|
|
1412
|
+
}
|
|
1413
|
+
}, {
|
|
1414
|
+
key: "runRenderLoopForTime",
|
|
1415
|
+
value: function runRenderLoopForTime(ms) {
|
|
1416
|
+
var _this2 = this;
|
|
1417
|
+
this.runRenderLoop();
|
|
1418
|
+
clearTimeout(this._renderLoopTimeoutId);
|
|
1419
|
+
this._renderLoopTimeoutId = setTimeout(function () {
|
|
1420
|
+
_this2.stopRenderLoop();
|
|
1421
|
+
}, ms);
|
|
1422
|
+
}
|
|
1423
|
+
}, {
|
|
1424
|
+
key: "stopRenderLoop",
|
|
1425
|
+
value: function stopRenderLoop() {
|
|
1426
|
+
clearTimeout(this._renderLoopTimeoutId);
|
|
1427
|
+
this._renderLoopTimeoutId = undefined;
|
|
1428
|
+
this._scene.getEngine().stopRenderLoop();
|
|
1429
|
+
}
|
|
1378
1430
|
}, {
|
|
1379
1431
|
key: "setResolution",
|
|
1380
1432
|
value: function setResolution(gameCanvas, resolution) {
|
|
@@ -1392,6 +1444,40 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1392
1444
|
}
|
|
1393
1445
|
this._scene.getEngine().resize();
|
|
1394
1446
|
}
|
|
1447
|
+
}, {
|
|
1448
|
+
key: "checkMaterialCache",
|
|
1449
|
+
value: function checkMaterialCache() {
|
|
1450
|
+
// material cache can't go over amount x because it leads to performance issues
|
|
1451
|
+
if (this._materialCache.length < 10) return;
|
|
1452
|
+
var amountToDispose = this._materialCache.length - 11;
|
|
1453
|
+
var disposableMaterials = this._materialCache.filter(function (m) {
|
|
1454
|
+
return m.mat.getBindedMeshes().length == 0;
|
|
1455
|
+
});
|
|
1456
|
+
disposableMaterials = disposableMaterials.sort(function (dm) {
|
|
1457
|
+
return dm.lastUsage;
|
|
1458
|
+
});
|
|
1459
|
+
for (var idx = 0; idx < amountToDispose; idx++) {
|
|
1460
|
+
if (idx < disposableMaterials.length - 1) {
|
|
1461
|
+
var _mat$baseTexture, _mat$metallicRoughnes, _mat$normalTexture;
|
|
1462
|
+
var mat = disposableMaterials[idx].mat;
|
|
1463
|
+
mat.dispose();
|
|
1464
|
+
(_mat$baseTexture = mat.baseTexture) === null || _mat$baseTexture === void 0 || _mat$baseTexture.dispose();
|
|
1465
|
+
(_mat$metallicRoughnes = mat.metallicRoughnessTexture) === null || _mat$metallicRoughnes === void 0 || _mat$metallicRoughnes.dispose();
|
|
1466
|
+
(_mat$normalTexture = mat.normalTexture) === null || _mat$normalTexture === void 0 || _mat$normalTexture.dispose();
|
|
1467
|
+
this._materialCache.splice(this._materialCache.indexOf(disposableMaterials[idx]), 1);
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
}, {
|
|
1472
|
+
key: "addMaterialToCache",
|
|
1473
|
+
value: function addMaterialToCache(materialCache) {
|
|
1474
|
+
this._materialCache.push(materialCache);
|
|
1475
|
+
}
|
|
1476
|
+
}, {
|
|
1477
|
+
key: "updateModelIteration",
|
|
1478
|
+
value: function updateModelIteration() {
|
|
1479
|
+
this._modelIteration = this._modelIteration + 1;
|
|
1480
|
+
}
|
|
1395
1481
|
}, {
|
|
1396
1482
|
key: "init",
|
|
1397
1483
|
value: function init(diva3durl, gameCanvas, viewpoint, resolution) {
|
|
@@ -1668,6 +1754,7 @@ function SelHandler (_ref) {
|
|
|
1668
1754
|
sceneStore.selectedElement = elemName;
|
|
1669
1755
|
uiStore.selectElem(elemName);
|
|
1670
1756
|
onElSelected === null || onElSelected === void 0 || onElSelected(elem.parent.name, Number(elemName));
|
|
1757
|
+
sceneStore.runRenderLoopForTime(1000);
|
|
1671
1758
|
};
|
|
1672
1759
|
return {
|
|
1673
1760
|
onSelection: onSelection
|
|
@@ -1685,7 +1772,7 @@ function _arrayLikeToArray$5(r, a) { (null == a || a > r.length) && (a = r.lengt
|
|
|
1685
1772
|
*/
|
|
1686
1773
|
|
|
1687
1774
|
var UIStore = /*#__PURE__*/function () {
|
|
1688
|
-
function UIStore(scene, enableSSAO,
|
|
1775
|
+
function UIStore(scene, enableSSAO, _utilStore, uiConfig, requestNewOverlayImage, _overlayImage, onElementCopy, runRenderLoopForTime) {
|
|
1689
1776
|
var _this = this;
|
|
1690
1777
|
_classCallCheck(this, UIStore);
|
|
1691
1778
|
_defineProperty(this, "_utilStore", void 0);
|
|
@@ -1708,38 +1795,53 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1708
1795
|
_defineProperty(this, "_gridGui", void 0);
|
|
1709
1796
|
_defineProperty(this, "_isStaticBg", void 0);
|
|
1710
1797
|
_defineProperty(this, "_elementsInfo", void 0);
|
|
1711
|
-
_defineProperty(this, "_selectedHl", void 0);
|
|
1712
1798
|
_defineProperty(this, "_diffuseTexture", void 0);
|
|
1713
1799
|
_defineProperty(this, "_plane", void 0);
|
|
1714
1800
|
_defineProperty(this, "_selectedMeshes", []);
|
|
1801
|
+
_defineProperty(this, "_isUnityComb", false);
|
|
1802
|
+
_defineProperty(this, "_selectedHl", void 0);
|
|
1803
|
+
_defineProperty(this, "_runRenderLoopForTime", void 0);
|
|
1715
1804
|
_defineProperty(this, "updateOverlayImage", function (overlayImage) {
|
|
1716
|
-
var _this$_diffuseTexture;
|
|
1805
|
+
var _this$_diffuseTexture, _this$_runRenderLoopF;
|
|
1717
1806
|
if (!overlayImage || !_this._scene || ((_this$_diffuseTexture = _this._diffuseTexture) === null || _this$_diffuseTexture === void 0 ? void 0 : _this$_diffuseTexture.url) == overlayImage.base64) return;
|
|
1807
|
+
var utilStore = useUtilStoreContext();
|
|
1808
|
+
if (!utilStore.updateCam) return;
|
|
1809
|
+
(_this$_runRenderLoopF = _this._runRenderLoopForTime) === null || _this$_runRenderLoopF === void 0 || _this$_runRenderLoopF.call(_this, 2000);
|
|
1718
1810
|
_this._isStaticBg = overlayImage.isStaticBg;
|
|
1719
|
-
_this.
|
|
1720
|
-
|
|
1811
|
+
var tex = new Texture(overlayImage.base64, _this._scene, undefined, true, Texture.TRILINEAR_SAMPLINGMODE, function () {
|
|
1812
|
+
_this._plane.material.diffuseTexture = tex;
|
|
1813
|
+
_this._diffuseTexture.dispose();
|
|
1814
|
+
_this._diffuseTexture = tex;
|
|
1815
|
+
});
|
|
1816
|
+
_this.fadeInOverlayImage(_this._plane.visibility == 1);
|
|
1721
1817
|
_this._enableSSAO(false);
|
|
1818
|
+
_this._plane.setEnabled(true);
|
|
1722
1819
|
});
|
|
1723
1820
|
this._scene = scene;
|
|
1724
|
-
var
|
|
1725
|
-
size: 0.0047
|
|
1726
|
-
}, scene);
|
|
1821
|
+
var engine = this._scene.getEngine();
|
|
1727
1822
|
var mat = new StandardMaterial('planeMat', scene);
|
|
1728
|
-
this._diffuseTexture = new Texture('data:image/
|
|
1823
|
+
this._diffuseTexture = new Texture('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ep3wWkAAAAASUVORK5CYII=', scene);
|
|
1729
1824
|
mat.diffuseTexture = this._diffuseTexture;
|
|
1730
1825
|
mat.emissiveTexture = this._diffuseTexture;
|
|
1731
1826
|
mat.specularColor = Color3.Black();
|
|
1732
|
-
this._plane =
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1827
|
+
this._plane = MeshBuilder.CreatePlane('overlayplane', {
|
|
1828
|
+
size: 0.0047
|
|
1829
|
+
}, scene);
|
|
1830
|
+
this._plane.setEnabled(false);
|
|
1831
|
+
this._plane.material = mat;
|
|
1832
|
+
this._plane.visibility = 0;
|
|
1833
|
+
this._plane.scaling.x = engine.getRenderingCanvas().width / engine.getRenderingCanvas().height;
|
|
1834
|
+
this._plane.position.z = 0.011;
|
|
1835
|
+
this._plane.isPickable = false;
|
|
1836
|
+
this._plane.parent = scene.activeCamera;
|
|
1739
1837
|
this._selectedHl = new HighlightLayer('hl', this._scene);
|
|
1740
1838
|
this._selectedHl.innerGlow = false;
|
|
1839
|
+
this._selectedHl.outerGlow = true;
|
|
1840
|
+
this._selectedHl.blurHorizontalSize = 1;
|
|
1841
|
+
this._selectedHl.blurVerticalSize = 1;
|
|
1842
|
+
this._selectedHl.mainTexture.samples = 4;
|
|
1741
1843
|
this._enableSSAO = enableSSAO;
|
|
1742
|
-
this._utilStore =
|
|
1844
|
+
this._utilStore = _utilStore;
|
|
1743
1845
|
this._gui = AdvancedDynamicTexture.CreateFullscreenUI('UI');
|
|
1744
1846
|
this._gui.layer.layerMask = 0x0fffffff;
|
|
1745
1847
|
this._gui.renderScale = 1;
|
|
@@ -1756,10 +1858,11 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1756
1858
|
}
|
|
1757
1859
|
this._isStaticBg = _overlayImage === null || _overlayImage === void 0 ? void 0 : _overlayImage.isStaticBg;
|
|
1758
1860
|
if (_overlayImage) {
|
|
1759
|
-
this.
|
|
1760
|
-
this.
|
|
1861
|
+
this._isUnityComb = true;
|
|
1862
|
+
this.fadeInOverlayImage(true);
|
|
1761
1863
|
this._enableSSAO(false);
|
|
1762
1864
|
}
|
|
1865
|
+
this._runRenderLoopForTime = runRenderLoopForTime;
|
|
1763
1866
|
}
|
|
1764
1867
|
return _createClass(UIStore, [{
|
|
1765
1868
|
key: "isStaticBg",
|
|
@@ -1769,7 +1872,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1769
1872
|
}, {
|
|
1770
1873
|
key: "unityCombActive",
|
|
1771
1874
|
get: function get() {
|
|
1772
|
-
return !!this.
|
|
1875
|
+
return !!this._isUnityComb;
|
|
1773
1876
|
}
|
|
1774
1877
|
}, {
|
|
1775
1878
|
key: "initSelectionHandler",
|
|
@@ -1793,19 +1896,42 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1793
1896
|
};
|
|
1794
1897
|
}
|
|
1795
1898
|
}, {
|
|
1796
|
-
key: "
|
|
1797
|
-
value: function
|
|
1899
|
+
key: "fadeOutOverlayImage",
|
|
1900
|
+
value: function fadeOutOverlayImage() {
|
|
1901
|
+
this._plane.visibility = 0;
|
|
1902
|
+
var root = this._scene.getTransformNodeByName('Root');
|
|
1903
|
+
if (root) root.getChildMeshes().forEach(function (m) {
|
|
1904
|
+
m.visibility = 1;
|
|
1905
|
+
if (!m.material) return;
|
|
1906
|
+
m.material.depthFunction = Constants.LESS;
|
|
1907
|
+
m.material.disableColorWrite = false;
|
|
1908
|
+
});
|
|
1909
|
+
}
|
|
1910
|
+
}, {
|
|
1911
|
+
key: "fadeInOverlayImage",
|
|
1912
|
+
value: function fadeInOverlayImage(shorter) {
|
|
1798
1913
|
var _this3 = this;
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1914
|
+
var startTime = performance.now();
|
|
1915
|
+
var _animate = function animate() {
|
|
1916
|
+
var elapsedTime = performance.now() - startTime;
|
|
1917
|
+
var progress = Math.min(elapsedTime / (shorter ? 50 : 500), 1); // Normalize progress (0 to 1)
|
|
1918
|
+
|
|
1919
|
+
_this3._plane.visibility = progress;
|
|
1920
|
+
if (progress < 1) {
|
|
1921
|
+
requestAnimationFrame(_animate);
|
|
1803
1922
|
} else {
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1923
|
+
//animation finished
|
|
1924
|
+
var root = _this3._scene.getTransformNodeByName('Root');
|
|
1925
|
+
if (root) root.getChildMeshes().forEach(function (m) {
|
|
1926
|
+
m.visibility = 1;
|
|
1927
|
+
if (!m.material) return;
|
|
1928
|
+
m.material.depthFunction = Constants.ALWAYS;
|
|
1929
|
+
m.material.disableColorWrite = true;
|
|
1930
|
+
});
|
|
1931
|
+
_this3._plane.setEnabled(true);
|
|
1807
1932
|
}
|
|
1808
|
-
}
|
|
1933
|
+
};
|
|
1934
|
+
_animate();
|
|
1809
1935
|
}
|
|
1810
1936
|
}, {
|
|
1811
1937
|
key: "createGridGui",
|
|
@@ -1869,9 +1995,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1869
1995
|
}, {
|
|
1870
1996
|
key: "createPosNr",
|
|
1871
1997
|
value: function createPosNr(elementInfo, element, isBoxPlanner) {
|
|
1872
|
-
var _this5 = this
|
|
1873
|
-
_this$_utilStore$view,
|
|
1874
|
-
_this$_utilStore$view2;
|
|
1998
|
+
var _this5 = this;
|
|
1875
1999
|
var guiElem = {
|
|
1876
2000
|
elementId: elementInfo.elementId,
|
|
1877
2001
|
elements: []
|
|
@@ -1916,16 +2040,25 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1916
2040
|
guiElemRightBack.position = _pos;
|
|
1917
2041
|
}
|
|
1918
2042
|
var childMeshes = element.getChildMeshes();
|
|
1919
|
-
|
|
1920
|
-
|
|
2043
|
+
childMeshes.forEach(function (m) {
|
|
2044
|
+
if (_this5._plane.visibility == 1) {
|
|
2045
|
+
m.material.depthFunction = Constants.ALWAYS;
|
|
2046
|
+
m.material.disableColorWrite = true;
|
|
2047
|
+
} else {
|
|
2048
|
+
m.visibility = 1;
|
|
2049
|
+
m.material.depthFunction = Constants.LESS;
|
|
2050
|
+
m.material.disableColorWrite = false;
|
|
2051
|
+
}
|
|
1921
2052
|
});
|
|
1922
2053
|
if (!elementInfo.active) {
|
|
1923
2054
|
childMeshes.forEach(function (m) {
|
|
1924
|
-
m.visibility = 0;
|
|
2055
|
+
if (_this5._plane.visibility == 1) m.visibility = 0;
|
|
1925
2056
|
if (!m.actionManager) m.actionManager = new ActionManager(_this5._scene);
|
|
1926
2057
|
m.actionManager.registerAction(new ExecuteCodeAction(ActionManager.OnPointerOverTrigger, function (ev) {
|
|
2058
|
+
var _this5$_runRenderLoop;
|
|
2059
|
+
(_this5$_runRenderLoop = _this5._runRenderLoopForTime) === null || _this5$_runRenderLoop === void 0 || _this5$_runRenderLoop.call(_this5, 1000);
|
|
1927
2060
|
_this5._selectedHl.removeAllMeshes();
|
|
1928
|
-
_this5._selectedMeshes.forEach(function (_m) {
|
|
2061
|
+
if (_this5._plane.visibility == 1) _this5._selectedMeshes.forEach(function (_m) {
|
|
1929
2062
|
return _m.visibility = 0;
|
|
1930
2063
|
});
|
|
1931
2064
|
element.getChildMeshes().forEach(function (_m) {
|
|
@@ -1934,8 +2067,10 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1934
2067
|
});
|
|
1935
2068
|
}));
|
|
1936
2069
|
m.actionManager.registerAction(new ExecuteCodeAction(ActionManager.OnPointerOutTrigger, function (ev) {
|
|
2070
|
+
var _this5$_runRenderLoop2;
|
|
2071
|
+
(_this5$_runRenderLoop2 = _this5._runRenderLoopForTime) === null || _this5$_runRenderLoop2 === void 0 || _this5$_runRenderLoop2.call(_this5, 1000);
|
|
1937
2072
|
_this5._selectedHl.removeAllMeshes();
|
|
1938
|
-
element.getChildMeshes().forEach(function (_m) {
|
|
2073
|
+
if (_this5._plane.visibility == 1) element.getChildMeshes().forEach(function (_m) {
|
|
1939
2074
|
return _m.visibility = 0;
|
|
1940
2075
|
});
|
|
1941
2076
|
_this5._selectedMeshes.forEach(function (_m) {
|
|
@@ -1944,15 +2079,13 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1944
2079
|
});
|
|
1945
2080
|
}));
|
|
1946
2081
|
});
|
|
1947
|
-
}
|
|
1948
|
-
if (elementInfo.active && (((_this$_utilStore$view = this._utilStore.viewHandler) === null || _this$_utilStore$view === void 0 ? void 0 : _this$_utilStore$view.tabGroupState.curTabGroup.type) == 'PLANNER' || ((_this$_utilStore$view2 = this._utilStore.viewHandler) === null || _this$_utilStore$view2 === void 0 ? void 0 : _this$_utilStore$view2.tabGroupState.curTabGroup.type) == 'OPTION')) {
|
|
2082
|
+
} else {
|
|
1949
2083
|
var _guiElemRightBack;
|
|
1950
2084
|
this._selectedMeshes = childMeshes;
|
|
1951
2085
|
this._selectedMeshes.forEach(function (_m) {
|
|
1952
2086
|
_m.visibility = 1;
|
|
1953
2087
|
_this5._selectedHl.addMesh(_m, Color3.Black());
|
|
1954
2088
|
});
|
|
1955
|
-
this._selectedHl.addExcludedMesh(this._plane);
|
|
1956
2089
|
var dtarget = this._uiConfig.templateConfig == 'standard' ? new Ellipse('deleteEllipse') : new Rectangle('deleteEllipse');
|
|
1957
2090
|
guiElem.elements.push(dtarget);
|
|
1958
2091
|
dtarget.width = this._uiConfig.templateConfig == 'standard' ? '40px' : '35px';
|
|
@@ -1972,6 +2105,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1972
2105
|
this._gui.addControl(dtarget);
|
|
1973
2106
|
dtarget.linkWithMesh((_guiElemRightBack = guiElemRightBack) !== null && _guiElemRightBack !== void 0 ? _guiElemRightBack : guiElemLeftBack);
|
|
1974
2107
|
}
|
|
2108
|
+
this._selectedHl.addExcludedMesh(this._plane);
|
|
1975
2109
|
this._guiElements.push(guiElem);
|
|
1976
2110
|
}
|
|
1977
2111
|
}, {
|
|
@@ -2106,6 +2240,16 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
2106
2240
|
});
|
|
2107
2241
|
});
|
|
2108
2242
|
}
|
|
2243
|
+
}, {
|
|
2244
|
+
key: "deactivateHighlightLayer",
|
|
2245
|
+
value: function deactivateHighlightLayer() {
|
|
2246
|
+
this._selectedHl.outerGlow = false;
|
|
2247
|
+
}
|
|
2248
|
+
}, {
|
|
2249
|
+
key: "activateHighlightLayer",
|
|
2250
|
+
value: function activateHighlightLayer() {
|
|
2251
|
+
this._selectedHl.outerGlow = true;
|
|
2252
|
+
}
|
|
2109
2253
|
}, {
|
|
2110
2254
|
key: "clearGui",
|
|
2111
2255
|
value: function clearGui() {
|
|
@@ -2118,22 +2262,23 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
2118
2262
|
this._scene.transformNodes.forEach(function (tN) {
|
|
2119
2263
|
return tN.name.startsWith('guiElem_') && tN.dispose();
|
|
2120
2264
|
});
|
|
2121
|
-
this._selectedHl.removeAllMeshes();
|
|
2122
2265
|
}
|
|
2123
2266
|
}, {
|
|
2124
2267
|
key: "onMove",
|
|
2125
2268
|
value: function onMove() {
|
|
2126
|
-
if (!this.
|
|
2127
|
-
this._plane.visibility
|
|
2128
|
-
|
|
2129
|
-
|
|
2269
|
+
if (!this._isUnityComb) return;
|
|
2270
|
+
if (this._plane.visibility != 0) {
|
|
2271
|
+
this._enableSSAO(true);
|
|
2272
|
+
this.fadeOutOverlayImage();
|
|
2273
|
+
}
|
|
2274
|
+
this._utilStore.updateCam = false; // need to always update since can move again while image is waiting to be updated
|
|
2130
2275
|
}
|
|
2131
2276
|
}, {
|
|
2132
2277
|
key: "requestNewOverlayImage",
|
|
2133
2278
|
value: function requestNewOverlayImage(viewpoint, focusedElement, targetCameraPosition) {
|
|
2134
2279
|
var _this9 = this;
|
|
2135
2280
|
//this._overlayImage exists only when unity combi is enabled
|
|
2136
|
-
if (!this.
|
|
2281
|
+
if (!this._isUnityComb) return;
|
|
2137
2282
|
var elementId = undefined;
|
|
2138
2283
|
var setId = undefined;
|
|
2139
2284
|
var ob = this._scene.getTransformNodeByName(focusedElement.name);
|
|
@@ -2148,9 +2293,8 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
2148
2293
|
if (!this._latestViewpoint || this._latestViewpoint.isOutdated || Math.abs(this._latestViewpoint.pos.x - viewpoint.pos.x) > 0.05 || Math.abs(this._latestViewpoint.pos.y - viewpoint.pos.y) > 0.05 || Math.abs(this._latestViewpoint.pos.z - viewpoint.pos.z) > 0.05 || Math.abs(this._latestViewpoint.rot.x - viewpoint.rot.x) > 0.05 || Math.abs(this._latestViewpoint.rot.y - viewpoint.rot.y) > 0.05 || Math.abs(this._latestViewpoint.rot.z - viewpoint.rot.z) > 0.05) {
|
|
2149
2294
|
this._timeoutId = setTimeout(function () {
|
|
2150
2295
|
var _this9$_requestNewOve;
|
|
2151
|
-
_this9._utilStore.addOutstandingImage();
|
|
2152
2296
|
_this9._latestViewpoint = viewpoint;
|
|
2153
|
-
|
|
2297
|
+
_this9._utilStore.addOutstandingImageCount();
|
|
2154
2298
|
(_this9$_requestNewOve = _this9._requestNewOverlayImage) === null || _this9$_requestNewOve === void 0 || _this9$_requestNewOve.call(_this9, viewpoint, {
|
|
2155
2299
|
adjustZoomInUnity: false,
|
|
2156
2300
|
onlyAdjustZoomBBChanged: false,
|
|
@@ -2161,7 +2305,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
2161
2305
|
_this9._utilStore.updateCam = true;
|
|
2162
2306
|
}, 200);
|
|
2163
2307
|
} else {
|
|
2164
|
-
this.
|
|
2308
|
+
this.fadeInOverlayImage(false);
|
|
2165
2309
|
}
|
|
2166
2310
|
}
|
|
2167
2311
|
}]);
|
|
@@ -2223,7 +2367,7 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
2223
2367
|
}, {
|
|
2224
2368
|
key: "updateCam",
|
|
2225
2369
|
get: function get() {
|
|
2226
|
-
return this._updateCam
|
|
2370
|
+
return this._updateCam;
|
|
2227
2371
|
},
|
|
2228
2372
|
set: function set(doUpdateCam) {
|
|
2229
2373
|
this._updateCam = doUpdateCam;
|
|
@@ -2237,15 +2381,21 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
2237
2381
|
key: "onElementDeleted",
|
|
2238
2382
|
value: function onElementDeleted(setId, elementId) {
|
|
2239
2383
|
var _this$viewHandler;
|
|
2240
|
-
this.
|
|
2384
|
+
this.addOutstandingImageCount();
|
|
2241
2385
|
(_this$viewHandler = this.viewHandler) === null || _this$viewHandler === void 0 || _this$viewHandler.viewPlannerHandler.onElementDeleted(setId, elementId);
|
|
2242
2386
|
this._updateCam = true;
|
|
2243
2387
|
}
|
|
2244
2388
|
}, {
|
|
2245
|
-
key: "
|
|
2246
|
-
value: function
|
|
2389
|
+
key: "addOutstandingImageCount",
|
|
2390
|
+
value: function addOutstandingImageCount() {
|
|
2247
2391
|
this._outstandingImageCount++;
|
|
2248
2392
|
}
|
|
2393
|
+
}, {
|
|
2394
|
+
key: "subtractOutstandingImageCount",
|
|
2395
|
+
value: function subtractOutstandingImageCount() {
|
|
2396
|
+
if (this._outstandingImageCount == 0) return;
|
|
2397
|
+
this._outstandingImageCount--;
|
|
2398
|
+
}
|
|
2249
2399
|
}, {
|
|
2250
2400
|
key: "disableElementRows",
|
|
2251
2401
|
value: function disableElementRows(element, cache) {
|
|
@@ -2389,7 +2539,7 @@ var unregisterContext = function unregisterContext() {
|
|
|
2389
2539
|
var registerContext = function registerContext(scene, hqRenderScript, apiConfig, jwt, viewHandler, onMissingGeo, requestNewOverlayImage, overlayImage, uiConfig, updateCameraInformation) {
|
|
2390
2540
|
var utilStore = new UtilStore(false, viewHandler);
|
|
2391
2541
|
var sceneStore = new SceneStore(scene, hqRenderScript, utilStore, apiConfig, jwt, onMissingGeo, updateCameraInformation);
|
|
2392
|
-
var uiStore = new UIStore(scene, sceneStore.enableSSAO.bind(sceneStore), utilStore, uiConfig, requestNewOverlayImage, overlayImage, viewHandler === null || viewHandler === void 0 ? void 0 : viewHandler.viewPlannerHandler.onElementCopy);
|
|
2542
|
+
var uiStore = new UIStore(scene, sceneStore.enableSSAO.bind(sceneStore), utilStore, uiConfig, requestNewOverlayImage, overlayImage, viewHandler === null || viewHandler === void 0 ? void 0 : viewHandler.viewPlannerHandler.onElementCopy, sceneStore.runRenderLoopForTime.bind(sceneStore));
|
|
2393
2543
|
return _context = {
|
|
2394
2544
|
utilStore: utilStore,
|
|
2395
2545
|
sceneStore: sceneStore,
|
|
@@ -2551,13 +2701,14 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2551
2701
|
var setDataRow,
|
|
2552
2702
|
sceneStore,
|
|
2553
2703
|
url,
|
|
2554
|
-
|
|
2704
|
+
_mat,
|
|
2555
2705
|
res,
|
|
2556
2706
|
parsedMat,
|
|
2557
2707
|
baseTexture,
|
|
2558
2708
|
mRTexture,
|
|
2559
2709
|
nTexture,
|
|
2560
2710
|
found,
|
|
2711
|
+
mat,
|
|
2561
2712
|
_args = arguments;
|
|
2562
2713
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
2563
2714
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -2579,9 +2730,9 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2579
2730
|
}
|
|
2580
2731
|
});
|
|
2581
2732
|
case 11:
|
|
2582
|
-
|
|
2733
|
+
_mat = _context.sent;
|
|
2583
2734
|
_context.next = 14;
|
|
2584
|
-
return
|
|
2735
|
+
return _mat.json();
|
|
2585
2736
|
case 14:
|
|
2586
2737
|
res = _context.sent;
|
|
2587
2738
|
parsedMat = PBRMetallicRoughnessMaterial.Parse(res, _customMat.scene, '');
|
|
@@ -2602,12 +2753,14 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2602
2753
|
path: _customMat.blob,
|
|
2603
2754
|
sizeMb: 0
|
|
2604
2755
|
});
|
|
2756
|
+
parsedMat.depthFunction = Constants.ALWAYS;
|
|
2757
|
+
parsedMat.disableColorWrite = true;
|
|
2605
2758
|
return _context.abrupt("return", {
|
|
2606
2759
|
mat: parsedMat,
|
|
2607
2760
|
found: true
|
|
2608
2761
|
});
|
|
2609
|
-
case
|
|
2610
|
-
_context.prev =
|
|
2762
|
+
case 31:
|
|
2763
|
+
_context.prev = 31;
|
|
2611
2764
|
_context.t0 = _context["catch"](8);
|
|
2612
2765
|
if (setDataRow) useUtilStoreContext().setAnalyzeDataRow({
|
|
2613
2766
|
type: 'MAT',
|
|
@@ -2617,16 +2770,19 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2617
2770
|
path: _customMat.blob,
|
|
2618
2771
|
sizeMb: 0
|
|
2619
2772
|
});
|
|
2620
|
-
case
|
|
2773
|
+
case 34:
|
|
2774
|
+
mat = new PBRMetallicRoughnessMaterial(_customMat.name, _customMat.scene);
|
|
2775
|
+
mat.depthFunction = Constants.ALWAYS;
|
|
2776
|
+
mat.disableColorWrite = true;
|
|
2621
2777
|
return _context.abrupt("return", {
|
|
2622
|
-
mat:
|
|
2778
|
+
mat: mat,
|
|
2623
2779
|
found: true
|
|
2624
2780
|
});
|
|
2625
|
-
case
|
|
2781
|
+
case 38:
|
|
2626
2782
|
case "end":
|
|
2627
2783
|
return _context.stop();
|
|
2628
2784
|
}
|
|
2629
|
-
}, _callee, null, [[8,
|
|
2785
|
+
}, _callee, null, [[8, 31]]);
|
|
2630
2786
|
}));
|
|
2631
2787
|
return function customMat(_x) {
|
|
2632
2788
|
return _ref.apply(this, arguments);
|
|
@@ -2708,7 +2864,7 @@ function _findAssets() {
|
|
|
2708
2864
|
}));
|
|
2709
2865
|
return _importGeo.apply(this, arguments);
|
|
2710
2866
|
};
|
|
2711
|
-
importGeo = function _importGeo2(
|
|
2867
|
+
importGeo = function _importGeo2(_x12, _x13) {
|
|
2712
2868
|
return _importGeo.apply(this, arguments);
|
|
2713
2869
|
};
|
|
2714
2870
|
_unifyAndSetStdMats = function _unifyAndSetStdMats3() {
|
|
@@ -2734,7 +2890,7 @@ function _findAssets() {
|
|
|
2734
2890
|
case 8:
|
|
2735
2891
|
name = 'std_' + name;
|
|
2736
2892
|
_context.next = 11;
|
|
2737
|
-
return createOrGetMaterial(name, path, splittedName[0], true,
|
|
2893
|
+
return createOrGetMaterial(name, path, splittedName[0], true, true, undefined, true);
|
|
2738
2894
|
case 11:
|
|
2739
2895
|
mat = _context.sent;
|
|
2740
2896
|
if (!mat.found) utilStore.setAnalyzeDataRow({
|
|
@@ -2796,7 +2952,7 @@ function _findAssets() {
|
|
|
2796
2952
|
}));
|
|
2797
2953
|
return _unifyAndSetStdMats.apply(this, arguments);
|
|
2798
2954
|
};
|
|
2799
|
-
unifyAndSetStdMats = function _unifyAndSetStdMats2(
|
|
2955
|
+
unifyAndSetStdMats = function _unifyAndSetStdMats2(_x10, _x11) {
|
|
2800
2956
|
return _unifyAndSetStdMats.apply(this, arguments);
|
|
2801
2957
|
};
|
|
2802
2958
|
sceneStore = useSceneStoreContext();
|
|
@@ -2912,7 +3068,7 @@ function _findAssets() {
|
|
|
2912
3068
|
return _context4.abrupt("return", 1);
|
|
2913
3069
|
case 5:
|
|
2914
3070
|
_context4.next = 7;
|
|
2915
|
-
return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true,
|
|
3071
|
+
return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true, false, {
|
|
2916
3072
|
tileU: mat.tileU,
|
|
2917
3073
|
tileV: mat.tileV
|
|
2918
3074
|
}, true);
|
|
@@ -2921,7 +3077,8 @@ function _findAssets() {
|
|
|
2921
3077
|
_context4.t1 = [];
|
|
2922
3078
|
_context4.t2 = mat.name;
|
|
2923
3079
|
nwCache.material = {
|
|
2924
|
-
|
|
3080
|
+
mat: _context4.t0,
|
|
3081
|
+
isStdMat: false,
|
|
2925
3082
|
onElements: _context4.t1,
|
|
2926
3083
|
name: _context4.t2
|
|
2927
3084
|
};
|
|
@@ -2931,7 +3088,7 @@ function _findAssets() {
|
|
|
2931
3088
|
_context4.t3 = newCache;
|
|
2932
3089
|
_context4.t4 = mat.id;
|
|
2933
3090
|
_context4.next = 17;
|
|
2934
|
-
return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true,
|
|
3091
|
+
return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true, false, {
|
|
2935
3092
|
tileU: mat.tileU,
|
|
2936
3093
|
tileV: mat.tileV
|
|
2937
3094
|
}, true);
|
|
@@ -2940,9 +3097,10 @@ function _findAssets() {
|
|
|
2940
3097
|
_context4.t6 = [];
|
|
2941
3098
|
_context4.t7 = mat.name;
|
|
2942
3099
|
_context4.t8 = {
|
|
2943
|
-
|
|
3100
|
+
mat: _context4.t5,
|
|
2944
3101
|
onElements: _context4.t6,
|
|
2945
|
-
name: _context4.t7
|
|
3102
|
+
name: _context4.t7,
|
|
3103
|
+
isStdMat: false
|
|
2946
3104
|
};
|
|
2947
3105
|
_context4.t9 = {
|
|
2948
3106
|
id: _context4.t4,
|
|
@@ -2995,72 +3153,79 @@ function _findAssets() {
|
|
|
2995
3153
|
}));
|
|
2996
3154
|
return _findAssets.apply(this, arguments);
|
|
2997
3155
|
}
|
|
2998
|
-
function createOrGetMaterial(_x3, _x4, _x5, _x6, _x7, _x8, _x9
|
|
3156
|
+
function createOrGetMaterial(_x3, _x4, _x5, _x6, _x7, _x8, _x9) {
|
|
2999
3157
|
return _createOrGetMaterial.apply(this, arguments);
|
|
3000
3158
|
}
|
|
3001
3159
|
function _createOrGetMaterial() {
|
|
3002
|
-
_createOrGetMaterial = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(name, blob, fileName, checkExisting,
|
|
3003
|
-
var _iterator5, _step5,
|
|
3160
|
+
_createOrGetMaterial = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(name, blob, fileName, checkExisting, isStdMat, tiling, setDataRow) {
|
|
3161
|
+
var sceneStore, _iterator5, _step5, cachedMaterial, mat, material;
|
|
3004
3162
|
return _regeneratorRuntime.wrap(function _callee4$(_context6) {
|
|
3005
3163
|
while (1) switch (_context6.prev = _context6.next) {
|
|
3006
3164
|
case 0:
|
|
3165
|
+
sceneStore = useSceneStoreContext();
|
|
3007
3166
|
if (!checkExisting) {
|
|
3008
|
-
_context6.next =
|
|
3167
|
+
_context6.next = 20;
|
|
3009
3168
|
break;
|
|
3010
3169
|
}
|
|
3011
|
-
_iterator5 = _createForOfIteratorHelper$3(
|
|
3012
|
-
_context6.prev =
|
|
3170
|
+
_iterator5 = _createForOfIteratorHelper$3(sceneStore.materialCache);
|
|
3171
|
+
_context6.prev = 3;
|
|
3013
3172
|
_iterator5.s();
|
|
3014
|
-
case
|
|
3173
|
+
case 5:
|
|
3015
3174
|
if ((_step5 = _iterator5.n()).done) {
|
|
3016
|
-
_context6.next =
|
|
3175
|
+
_context6.next = 12;
|
|
3017
3176
|
break;
|
|
3018
3177
|
}
|
|
3019
|
-
|
|
3020
|
-
if (!(name ===
|
|
3021
|
-
_context6.next =
|
|
3178
|
+
cachedMaterial = _step5.value;
|
|
3179
|
+
if (!(name === cachedMaterial.mat.name)) {
|
|
3180
|
+
_context6.next = 10;
|
|
3022
3181
|
break;
|
|
3023
3182
|
}
|
|
3183
|
+
cachedMaterial.lastUsage = sceneStore.modelIteration;
|
|
3024
3184
|
return _context6.abrupt("return", {
|
|
3025
|
-
mat:
|
|
3185
|
+
mat: cachedMaterial.mat,
|
|
3026
3186
|
found: true
|
|
3027
3187
|
});
|
|
3028
|
-
case 8:
|
|
3029
|
-
_context6.next = 4;
|
|
3030
|
-
break;
|
|
3031
3188
|
case 10:
|
|
3032
|
-
_context6.next =
|
|
3189
|
+
_context6.next = 5;
|
|
3033
3190
|
break;
|
|
3034
3191
|
case 12:
|
|
3035
|
-
_context6.
|
|
3036
|
-
|
|
3192
|
+
_context6.next = 17;
|
|
3193
|
+
break;
|
|
3194
|
+
case 14:
|
|
3195
|
+
_context6.prev = 14;
|
|
3196
|
+
_context6.t0 = _context6["catch"](3);
|
|
3037
3197
|
_iterator5.e(_context6.t0);
|
|
3038
|
-
case
|
|
3039
|
-
_context6.prev =
|
|
3198
|
+
case 17:
|
|
3199
|
+
_context6.prev = 17;
|
|
3040
3200
|
_iterator5.f();
|
|
3041
|
-
return _context6.finish(
|
|
3042
|
-
case
|
|
3201
|
+
return _context6.finish(17);
|
|
3202
|
+
case 20:
|
|
3043
3203
|
mat = {
|
|
3044
3204
|
isStdMat: !!isStdMat,
|
|
3045
3205
|
blob: blob,
|
|
3046
3206
|
name: name,
|
|
3047
3207
|
fileName: fileName,
|
|
3048
|
-
scene: scene,
|
|
3208
|
+
scene: sceneStore.scene,
|
|
3049
3209
|
tiling: tiling
|
|
3050
3210
|
};
|
|
3051
|
-
_context6.next =
|
|
3211
|
+
_context6.next = 23;
|
|
3052
3212
|
return customMat(mat, setDataRow);
|
|
3053
|
-
case
|
|
3213
|
+
case 23:
|
|
3054
3214
|
material = _context6.sent;
|
|
3215
|
+
sceneStore.addMaterialToCache({
|
|
3216
|
+
mat: material.mat,
|
|
3217
|
+
isStdMat: isStdMat,
|
|
3218
|
+
lastUsage: sceneStore.modelIteration
|
|
3219
|
+
});
|
|
3055
3220
|
return _context6.abrupt("return", {
|
|
3056
3221
|
mat: material.mat,
|
|
3057
3222
|
found: material.found
|
|
3058
3223
|
});
|
|
3059
|
-
case
|
|
3224
|
+
case 26:
|
|
3060
3225
|
case "end":
|
|
3061
3226
|
return _context6.stop();
|
|
3062
3227
|
}
|
|
3063
|
-
}, _callee4, null, [[
|
|
3228
|
+
}, _callee4, null, [[3, 14, 17, 20]]);
|
|
3064
3229
|
}));
|
|
3065
3230
|
return _createOrGetMaterial.apply(this, arguments);
|
|
3066
3231
|
}
|
|
@@ -3260,7 +3425,7 @@ function findMaterials(cache) {
|
|
|
3260
3425
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
3261
3426
|
var onNode = _step3.value;
|
|
3262
3427
|
if (child.name.startsWith(onNode) || child.name.startsWith('geo_') && child.name.includes(onNode)) {
|
|
3263
|
-
setMaterials(child, mat.
|
|
3428
|
+
setMaterials(child, mat.mat);
|
|
3264
3429
|
}
|
|
3265
3430
|
}
|
|
3266
3431
|
} catch (err) {
|
|
@@ -3332,7 +3497,7 @@ function shadow() {
|
|
|
3332
3497
|
var lightf = new DirectionalLight('dirf', new Vector3(0, -0.436, -0.9), scene);
|
|
3333
3498
|
var lightr = new DirectionalLight('dirr', new Vector3(0, -1, 0.3), scene);
|
|
3334
3499
|
var lightl = new DirectionalLight('dirb', new Vector3(0.2, -1, 0.2), scene);
|
|
3335
|
-
lightl.intensity =
|
|
3500
|
+
lightl.intensity = 2;
|
|
3336
3501
|
lightf.intensity = 2.2;
|
|
3337
3502
|
light.intensity = 1;
|
|
3338
3503
|
lightr.intensity = 1;
|
|
@@ -3352,6 +3517,8 @@ function shadow() {
|
|
|
3352
3517
|
z: 0
|
|
3353
3518
|
});
|
|
3354
3519
|
var std_mat = new PBRMetallicRoughnessMaterial('std_mat', scene);
|
|
3520
|
+
std_mat.depthFunction = Constants.ALWAYS;
|
|
3521
|
+
std_mat.disableColorWrite = true;
|
|
3355
3522
|
std_mat.metallic = 0;
|
|
3356
3523
|
scene.defaultMaterial = std_mat;
|
|
3357
3524
|
var mat = new PBRMetallicRoughnessMaterial('white', scene);
|
|
@@ -3375,17 +3542,17 @@ var parser = /*#__PURE__*/function () {
|
|
|
3375
3542
|
case 0:
|
|
3376
3543
|
sceneStore = useSceneStoreContext();
|
|
3377
3544
|
hasRendered = sceneStore.hasRendered, hqRenderScript = sceneStore.hqRenderScript, scene = sceneStore.scene, cache = sceneStore.cache, changedElements = sceneStore.changedElements;
|
|
3378
|
-
utilStore = useUtilStoreContext();
|
|
3379
|
-
useUIStoreContext(); //disable elementrows from old cache
|
|
3545
|
+
utilStore = useUtilStoreContext(); //disable elementrows from old cache
|
|
3380
3546
|
changedElements === null || changedElements === void 0 || (_changedElements$upda = changedElements.updatedElements) === null || _changedElements$upda === void 0 || _changedElements$upda.forEach(function (el) {
|
|
3381
3547
|
return utilStore.disableElementRows(el.name, cache);
|
|
3382
3548
|
});
|
|
3383
|
-
_context.next =
|
|
3549
|
+
_context.next = 6;
|
|
3384
3550
|
return findAssets(hqRenderScript.assets, cache);
|
|
3385
|
-
case
|
|
3551
|
+
case 6:
|
|
3386
3552
|
_yield$findAssets = _context.sent;
|
|
3387
3553
|
cacheGroup = _yield$findAssets.cacheGroup;
|
|
3388
3554
|
newCache = _yield$findAssets.newCache;
|
|
3555
|
+
sceneStore.updateModelIteration();
|
|
3389
3556
|
if (changedElements && changedElements.deletedElements && changedElements.deletedElements.length > 0) {
|
|
3390
3557
|
changedElements.deletedElements.forEach(function (deletedElement) {
|
|
3391
3558
|
var _scene$getTransformNo;
|
|
@@ -3419,7 +3586,8 @@ var parser = /*#__PURE__*/function () {
|
|
|
3419
3586
|
}
|
|
3420
3587
|
utilStore.setRTVAnalyzeData();
|
|
3421
3588
|
deacCache(cacheGroup);
|
|
3422
|
-
|
|
3589
|
+
sceneStore.checkMaterialCache();
|
|
3590
|
+
case 15:
|
|
3423
3591
|
case "end":
|
|
3424
3592
|
return _context.stop();
|
|
3425
3593
|
}
|
|
@@ -3432,7 +3600,7 @@ var parser = /*#__PURE__*/function () {
|
|
|
3432
3600
|
|
|
3433
3601
|
var LOG = getLogger('ARViewer', 'RealTimeRenderData');
|
|
3434
3602
|
function useRealTimeRenderData (_ref) {
|
|
3435
|
-
var
|
|
3603
|
+
var _sceneStore2;
|
|
3436
3604
|
var jwt = _ref.jwt,
|
|
3437
3605
|
actions = _ref.actions,
|
|
3438
3606
|
apiConfig = _ref.apiConfig,
|
|
@@ -3450,7 +3618,7 @@ function useRealTimeRenderData (_ref) {
|
|
|
3450
3618
|
renderInBackground = _ref.renderInBackground;
|
|
3451
3619
|
var gameCanvas = useRef(null);
|
|
3452
3620
|
var sceneStore = useSceneStoreContext();
|
|
3453
|
-
|
|
3621
|
+
useUtilStoreContext();
|
|
3454
3622
|
var gridStore = useGridStoreContext();
|
|
3455
3623
|
var uiStore = useUIStoreContext();
|
|
3456
3624
|
DracoCompression.Configuration = {
|
|
@@ -3514,15 +3682,16 @@ function useRealTimeRenderData (_ref) {
|
|
|
3514
3682
|
eventId: 'BUILD_SCENE'
|
|
3515
3683
|
});
|
|
3516
3684
|
_context2.prev = 15;
|
|
3517
|
-
|
|
3685
|
+
uiStore.deactivateHighlightLayer();
|
|
3686
|
+
_context2.next = 19;
|
|
3518
3687
|
return parser();
|
|
3519
|
-
case
|
|
3688
|
+
case 19:
|
|
3520
3689
|
uiStore.initGui(callbacks.onElementSelected, sceneStore.elements);
|
|
3521
3690
|
if (freePlacesOnGrids || plannedPlacesOnGrids) gridStore.getGrids(freePlacesOnGrids, plannedPlacesOnGrids);
|
|
3522
|
-
_context2.next =
|
|
3691
|
+
_context2.next = 28;
|
|
3523
3692
|
break;
|
|
3524
|
-
case
|
|
3525
|
-
_context2.prev =
|
|
3693
|
+
case 23:
|
|
3694
|
+
_context2.prev = 23;
|
|
3526
3695
|
_context2.t0 = _context2["catch"](15);
|
|
3527
3696
|
LOG.errorTransaction('BUILD_SCENE', 'RTS_0001', _context2.t0.message);
|
|
3528
3697
|
LOG.error(new DivaError('Error building scene', {
|
|
@@ -3530,26 +3699,26 @@ function useRealTimeRenderData (_ref) {
|
|
|
3530
3699
|
code: 'RTS_0001'
|
|
3531
3700
|
}));
|
|
3532
3701
|
sceneStore.isInitializing = false;
|
|
3533
|
-
case
|
|
3702
|
+
case 28:
|
|
3534
3703
|
if (callbacks.setGlb) {
|
|
3535
3704
|
sceneStore.exportScene().then(function (res) {
|
|
3536
3705
|
var _callbacks$setGlb;
|
|
3537
|
-
if (res) (_callbacks$setGlb = callbacks.setGlb) === null || _callbacks$setGlb === void 0 || _callbacks$setGlb.call(callbacks, URL.createObjectURL(res.glTFFiles['fileName.glb']));
|
|
3706
|
+
if (res) (_callbacks$setGlb = callbacks.setGlb) === null || _callbacks$setGlb === void 0 || _callbacks$setGlb.call(callbacks, URL.createObjectURL(res.glTFFiles['fileName.glb']), res.glTFFiles['fileName.glb']);
|
|
3538
3707
|
});
|
|
3539
3708
|
} else {
|
|
3540
3709
|
LOG.debug('callbacks.setGlb is undefined');
|
|
3541
3710
|
}
|
|
3542
3711
|
if (!sceneStore.hasRendered) {
|
|
3543
|
-
sceneStore.
|
|
3712
|
+
sceneStore.runRenderLoopIndefinitely();
|
|
3544
3713
|
sceneStore.hasRendered = true;
|
|
3545
3714
|
}
|
|
3546
3715
|
sceneStore.scene.onAfterRenderObservable.add(onFirstFrame);
|
|
3547
3716
|
LOG.successTransaction('BUILD_SCENE');
|
|
3548
|
-
case
|
|
3717
|
+
case 32:
|
|
3549
3718
|
case "end":
|
|
3550
3719
|
return _context2.stop();
|
|
3551
3720
|
}
|
|
3552
|
-
}, _callee2, null, [[15,
|
|
3721
|
+
}, _callee2, null, [[15, 23]]);
|
|
3553
3722
|
}));
|
|
3554
3723
|
return _onSceneReady.apply(this, arguments);
|
|
3555
3724
|
}
|
|
@@ -3560,12 +3729,9 @@ function useRealTimeRenderData (_ref) {
|
|
|
3560
3729
|
if (!overlayImage) actions.toggleLoading('buildScene', false, false);
|
|
3561
3730
|
(_callbacks$onInitiali2 = callbacks.onInitialized) === null || _callbacks$onInitiali2 === void 0 || _callbacks$onInitiali2.call(callbacks);
|
|
3562
3731
|
(_sceneStore = sceneStore) === null || _sceneStore === void 0 || _sceneStore.optimizeScene();
|
|
3563
|
-
|
|
3564
|
-
|
|
3565
|
-
|
|
3566
|
-
if (!gameCanvas.current) sceneStore.scene.getEngine().dispose();
|
|
3567
|
-
(_sceneStore$controlRe = (_sceneStore2 = sceneStore).controlRenderLoop) === null || _sceneStore$controlRe === void 0 || _sceneStore$controlRe.call(_sceneStore2);
|
|
3568
|
-
sceneStore.scene.render();
|
|
3732
|
+
setTimeout(function () {
|
|
3733
|
+
return uiStore.activateHighlightLayer();
|
|
3734
|
+
}, 500);
|
|
3569
3735
|
}
|
|
3570
3736
|
|
|
3571
3737
|
// trigger if gamecanvas did not update but renderjob
|
|
@@ -3590,37 +3756,41 @@ function useRealTimeRenderData (_ref) {
|
|
|
3590
3756
|
while (1) switch (_context.prev = _context.next) {
|
|
3591
3757
|
case 0:
|
|
3592
3758
|
if (!gameCanvas.current) {
|
|
3593
|
-
_context.next =
|
|
3759
|
+
_context.next = 23;
|
|
3594
3760
|
break;
|
|
3595
3761
|
}
|
|
3596
|
-
|
|
3762
|
+
_context.next = 3;
|
|
3763
|
+
return EngineFactory.CreateAsync(gameCanvas.current, {
|
|
3597
3764
|
antialias: true,
|
|
3598
3765
|
stencil: true,
|
|
3599
3766
|
audioEngine: false
|
|
3600
|
-
}
|
|
3767
|
+
});
|
|
3768
|
+
case 3:
|
|
3769
|
+
engine = _context.sent;
|
|
3601
3770
|
engine.renderEvenInBackground = renderInBackground;
|
|
3602
3771
|
engine.disablePerformanceMonitorInBackground = true;
|
|
3603
3772
|
bScene = new Scene(engine, undefined);
|
|
3773
|
+
bScene.clearColor = new Color4$1(255, 255, 255, 255);
|
|
3604
3774
|
context = registerContext(bScene, renderjob, apiConfig, jwt, viewHandler, callbacks.onMissingGeo, callbacks.requestNewOverlayImage, overlayImage, uiConfig, callbacks.updateCameraInformation);
|
|
3605
3775
|
sceneStore = context.sceneStore;
|
|
3606
|
-
|
|
3776
|
+
context.utilStore;
|
|
3607
3777
|
gridStore = context.gridStore;
|
|
3608
3778
|
uiStore = context.uiStore;
|
|
3609
3779
|
scene = bScene;
|
|
3610
3780
|
if (!bScene.isReady()) {
|
|
3611
|
-
_context.next =
|
|
3781
|
+
_context.next = 19;
|
|
3612
3782
|
break;
|
|
3613
3783
|
}
|
|
3614
|
-
_context.next = 14;
|
|
3615
|
-
return onSceneReady();
|
|
3616
|
-
case 14:
|
|
3617
3784
|
_context.next = 17;
|
|
3785
|
+
return onSceneReady();
|
|
3786
|
+
case 17:
|
|
3787
|
+
_context.next = 20;
|
|
3618
3788
|
break;
|
|
3619
|
-
case
|
|
3789
|
+
case 19:
|
|
3620
3790
|
bScene.executeWhenReady(function () {
|
|
3621
3791
|
return onSceneReady();
|
|
3622
3792
|
});
|
|
3623
|
-
case
|
|
3793
|
+
case 20:
|
|
3624
3794
|
resize = function resize() {
|
|
3625
3795
|
if (inBackground || !scene || !scene.getEngine()) return;
|
|
3626
3796
|
if (sceneStore.hasPlanned) sceneStore.doRenderControlLoop = true;
|
|
@@ -3640,9 +3810,9 @@ function useRealTimeRenderData (_ref) {
|
|
|
3640
3810
|
window.removeEventListener('resize', resize);
|
|
3641
3811
|
}
|
|
3642
3812
|
});
|
|
3643
|
-
case
|
|
3813
|
+
case 23:
|
|
3644
3814
|
return _context.abrupt("return");
|
|
3645
|
-
case
|
|
3815
|
+
case 24:
|
|
3646
3816
|
case "end":
|
|
3647
3817
|
return _context.stop();
|
|
3648
3818
|
}
|
|
@@ -3654,14 +3824,11 @@ function useRealTimeRenderData (_ref) {
|
|
|
3654
3824
|
asyncUseEffect();
|
|
3655
3825
|
}, []);
|
|
3656
3826
|
useEffect(function () {
|
|
3657
|
-
if (overlayImage && uiStore)
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
useEffect(function () {
|
|
3661
|
-
if (utilStore && viewpoint) {
|
|
3662
|
-
updateCam(viewpoint, sceneStore.scene);
|
|
3827
|
+
if (overlayImage && uiStore) {
|
|
3828
|
+
uiStore.updateOverlayImage(overlayImage);
|
|
3829
|
+
if (viewpoint) updateCam(viewpoint, sceneStore.scene);
|
|
3663
3830
|
}
|
|
3664
|
-
}, [
|
|
3831
|
+
}, [overlayImage]);
|
|
3665
3832
|
useEffect(function () {
|
|
3666
3833
|
if (sceneStore && elementsInfo) {
|
|
3667
3834
|
var activeElement = elementsInfo.find(function (e) {
|
|
@@ -3671,13 +3838,13 @@ function useRealTimeRenderData (_ref) {
|
|
|
3671
3838
|
uiStore.addElementsInfo(elementsInfo);
|
|
3672
3839
|
uiStore.initGui(callbacks.onElementSelected, sceneStore.elements);
|
|
3673
3840
|
}
|
|
3674
|
-
}, [elementsInfo, (
|
|
3841
|
+
}, [elementsInfo, (_sceneStore2 = sceneStore) === null || _sceneStore2 === void 0 ? void 0 : _sceneStore2.elements]);
|
|
3675
3842
|
useEffect(function () {
|
|
3676
3843
|
if (!sceneStore) return;
|
|
3677
3844
|
if (inBackground) {
|
|
3678
|
-
sceneStore.
|
|
3845
|
+
sceneStore.stopRenderLoop();
|
|
3679
3846
|
} else if (sceneStore.hasRendered) {
|
|
3680
|
-
sceneStore.
|
|
3847
|
+
sceneStore.runRenderLoopIndefinitely();
|
|
3681
3848
|
}
|
|
3682
3849
|
}, [inBackground]);
|
|
3683
3850
|
return {
|
|
@@ -3735,7 +3902,8 @@ var RealTimeRenderer = /*#__PURE__*/memo(function (props) {
|
|
|
3735
3902
|
height: '100%',
|
|
3736
3903
|
width: '100%',
|
|
3737
3904
|
margin: 'auto',
|
|
3738
|
-
display: 'block'
|
|
3905
|
+
display: 'block',
|
|
3906
|
+
backgroundColor: 'white'
|
|
3739
3907
|
},
|
|
3740
3908
|
className: canvas
|
|
3741
3909
|
})
|