@crystaldesign/real-time-viewer 25.3.0-beta.9 → 25.3.0-rc.0
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 +341 -168
- 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,57 @@ 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;
|
|
1718
1809
|
_this._isStaticBg = overlayImage.isStaticBg;
|
|
1719
|
-
|
|
1720
|
-
|
|
1810
|
+
|
|
1811
|
+
// no highlightlayer on static room bg
|
|
1812
|
+
if (_this._isStaticBg) {
|
|
1813
|
+
_this.deactivateHighlightLayer();
|
|
1814
|
+
}
|
|
1721
1815
|
_this._enableSSAO(false);
|
|
1816
|
+
var tex = new Texture(overlayImage.base64, _this._scene, undefined, true, Texture.TRILINEAR_SAMPLINGMODE, function () {
|
|
1817
|
+
_this._plane.material.diffuseTexture = tex;
|
|
1818
|
+
_this._diffuseTexture.dispose();
|
|
1819
|
+
_this._diffuseTexture = tex;
|
|
1820
|
+
});
|
|
1821
|
+
_this.fadeInOverlayImage(_this._plane.visibility == 1);
|
|
1822
|
+
(_this$_runRenderLoopF = _this._runRenderLoopForTime) === null || _this$_runRenderLoopF === void 0 || _this$_runRenderLoopF.call(_this, 2000);
|
|
1722
1823
|
});
|
|
1723
1824
|
this._scene = scene;
|
|
1724
|
-
var
|
|
1725
|
-
size: 0.0047
|
|
1726
|
-
}, scene);
|
|
1825
|
+
var engine = this._scene.getEngine();
|
|
1727
1826
|
var mat = new StandardMaterial('planeMat', scene);
|
|
1728
|
-
this._diffuseTexture = new Texture('data:image/
|
|
1827
|
+
this._diffuseTexture = new Texture('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/wcAAwAB/ep3wWkAAAAASUVORK5CYII=', scene);
|
|
1729
1828
|
mat.diffuseTexture = this._diffuseTexture;
|
|
1730
1829
|
mat.emissiveTexture = this._diffuseTexture;
|
|
1731
1830
|
mat.specularColor = Color3.Black();
|
|
1732
|
-
this._plane =
|
|
1733
|
-
|
|
1734
|
-
|
|
1735
|
-
|
|
1736
|
-
|
|
1737
|
-
|
|
1738
|
-
|
|
1831
|
+
this._plane = MeshBuilder.CreatePlane('overlayplane', {
|
|
1832
|
+
size: 0.0047
|
|
1833
|
+
}, scene);
|
|
1834
|
+
this._plane.setEnabled(false);
|
|
1835
|
+
this._plane.material = mat;
|
|
1836
|
+
this._plane.visibility = 0;
|
|
1837
|
+
this._plane.scaling.x = engine.getRenderingCanvas().width / engine.getRenderingCanvas().height;
|
|
1838
|
+
this._plane.position.z = 0.011;
|
|
1839
|
+
this._plane.isPickable = false;
|
|
1840
|
+
this._plane.parent = scene.activeCamera;
|
|
1739
1841
|
this._selectedHl = new HighlightLayer('hl', this._scene);
|
|
1740
1842
|
this._selectedHl.innerGlow = false;
|
|
1843
|
+
this._selectedHl.outerGlow = false;
|
|
1844
|
+
this._selectedHl.blurHorizontalSize = 1;
|
|
1845
|
+
this._selectedHl.blurVerticalSize = 1;
|
|
1846
|
+
this._selectedHl.mainTexture.samples = 4;
|
|
1741
1847
|
this._enableSSAO = enableSSAO;
|
|
1742
|
-
this._utilStore =
|
|
1848
|
+
this._utilStore = _utilStore;
|
|
1743
1849
|
this._gui = AdvancedDynamicTexture.CreateFullscreenUI('UI');
|
|
1744
1850
|
this._gui.layer.layerMask = 0x0fffffff;
|
|
1745
1851
|
this._gui.renderScale = 1;
|
|
@@ -1756,10 +1862,11 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1756
1862
|
}
|
|
1757
1863
|
this._isStaticBg = _overlayImage === null || _overlayImage === void 0 ? void 0 : _overlayImage.isStaticBg;
|
|
1758
1864
|
if (_overlayImage) {
|
|
1759
|
-
this.
|
|
1760
|
-
this._plane.
|
|
1865
|
+
this._isUnityComb = true;
|
|
1866
|
+
this._plane.setEnabled(false);
|
|
1761
1867
|
this._enableSSAO(false);
|
|
1762
1868
|
}
|
|
1869
|
+
this._runRenderLoopForTime = runRenderLoopForTime;
|
|
1763
1870
|
}
|
|
1764
1871
|
return _createClass(UIStore, [{
|
|
1765
1872
|
key: "isStaticBg",
|
|
@@ -1769,7 +1876,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1769
1876
|
}, {
|
|
1770
1877
|
key: "unityCombActive",
|
|
1771
1878
|
get: function get() {
|
|
1772
|
-
return !!this.
|
|
1879
|
+
return !!this._isUnityComb;
|
|
1773
1880
|
}
|
|
1774
1881
|
}, {
|
|
1775
1882
|
key: "initSelectionHandler",
|
|
@@ -1793,19 +1900,42 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1793
1900
|
};
|
|
1794
1901
|
}
|
|
1795
1902
|
}, {
|
|
1796
|
-
key: "
|
|
1797
|
-
value: function
|
|
1903
|
+
key: "fadeOutOverlayImage",
|
|
1904
|
+
value: function fadeOutOverlayImage() {
|
|
1905
|
+
this._plane.visibility = 0;
|
|
1906
|
+
var root = this._scene.getTransformNodeByName('Root');
|
|
1907
|
+
if (root) root.getChildMeshes().forEach(function (m) {
|
|
1908
|
+
m.visibility = 1;
|
|
1909
|
+
if (!m.material) return;
|
|
1910
|
+
m.material.depthFunction = Constants.LESS;
|
|
1911
|
+
m.material.disableColorWrite = false;
|
|
1912
|
+
});
|
|
1913
|
+
}
|
|
1914
|
+
}, {
|
|
1915
|
+
key: "fadeInOverlayImage",
|
|
1916
|
+
value: function fadeInOverlayImage(shorter) {
|
|
1798
1917
|
var _this3 = this;
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
-
|
|
1918
|
+
var startTime = performance.now();
|
|
1919
|
+
var _animate = function animate() {
|
|
1920
|
+
var elapsedTime = performance.now() - startTime;
|
|
1921
|
+
var progress = Math.min(elapsedTime / (shorter ? 50 : 500), 1); // Normalize progress (0 to 1)
|
|
1922
|
+
|
|
1923
|
+
_this3._plane.visibility = progress;
|
|
1924
|
+
if (progress < 1) {
|
|
1925
|
+
requestAnimationFrame(_animate);
|
|
1803
1926
|
} else {
|
|
1804
|
-
|
|
1805
|
-
|
|
1806
|
-
|
|
1927
|
+
//animation finished
|
|
1928
|
+
var root = _this3._scene.getTransformNodeByName('Root');
|
|
1929
|
+
if (root) root.getChildMeshes().forEach(function (m) {
|
|
1930
|
+
m.visibility = 1;
|
|
1931
|
+
if (!m.material) return;
|
|
1932
|
+
m.material.depthFunction = Constants.ALWAYS;
|
|
1933
|
+
m.material.disableColorWrite = true;
|
|
1934
|
+
});
|
|
1935
|
+
_this3._plane.setEnabled(true);
|
|
1807
1936
|
}
|
|
1808
|
-
}
|
|
1937
|
+
};
|
|
1938
|
+
_animate();
|
|
1809
1939
|
}
|
|
1810
1940
|
}, {
|
|
1811
1941
|
key: "createGridGui",
|
|
@@ -1857,9 +1987,12 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1857
1987
|
}, {
|
|
1858
1988
|
key: "resize",
|
|
1859
1989
|
value: function resize(scene) {
|
|
1990
|
+
this._gui.dispose();
|
|
1860
1991
|
this._gui = AdvancedDynamicTexture.CreateFullscreenUI('UI', true, scene);
|
|
1861
1992
|
this._gui.renderScale = 1;
|
|
1862
1993
|
if (this._latestViewpoint) this._latestViewpoint.isOutdated = true;
|
|
1994
|
+
var engine = scene.getEngine();
|
|
1995
|
+
this._plane.scaling.x = engine.getRenderingCanvas().width / engine.getRenderingCanvas().height;
|
|
1863
1996
|
}
|
|
1864
1997
|
}, {
|
|
1865
1998
|
key: "addElementsInfo",
|
|
@@ -1869,9 +2002,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1869
2002
|
}, {
|
|
1870
2003
|
key: "createPosNr",
|
|
1871
2004
|
value: function createPosNr(elementInfo, element, isBoxPlanner) {
|
|
1872
|
-
var _this5 = this
|
|
1873
|
-
_this$_utilStore$view,
|
|
1874
|
-
_this$_utilStore$view2;
|
|
2005
|
+
var _this5 = this;
|
|
1875
2006
|
var guiElem = {
|
|
1876
2007
|
elementId: elementInfo.elementId,
|
|
1877
2008
|
elements: []
|
|
@@ -1916,16 +2047,25 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1916
2047
|
guiElemRightBack.position = _pos;
|
|
1917
2048
|
}
|
|
1918
2049
|
var childMeshes = element.getChildMeshes();
|
|
1919
|
-
|
|
1920
|
-
|
|
2050
|
+
childMeshes.forEach(function (m) {
|
|
2051
|
+
if (_this5._plane.visibility == 1) {
|
|
2052
|
+
m.material.depthFunction = Constants.ALWAYS;
|
|
2053
|
+
m.material.disableColorWrite = true;
|
|
2054
|
+
} else {
|
|
2055
|
+
m.visibility = 1;
|
|
2056
|
+
m.material.depthFunction = Constants.LESS;
|
|
2057
|
+
m.material.disableColorWrite = false;
|
|
2058
|
+
}
|
|
1921
2059
|
});
|
|
1922
2060
|
if (!elementInfo.active) {
|
|
1923
2061
|
childMeshes.forEach(function (m) {
|
|
1924
|
-
m.visibility = 0;
|
|
2062
|
+
if (_this5._plane.visibility == 1) m.visibility = 0;
|
|
1925
2063
|
if (!m.actionManager) m.actionManager = new ActionManager(_this5._scene);
|
|
1926
2064
|
m.actionManager.registerAction(new ExecuteCodeAction(ActionManager.OnPointerOverTrigger, function (ev) {
|
|
2065
|
+
var _this5$_runRenderLoop;
|
|
2066
|
+
(_this5$_runRenderLoop = _this5._runRenderLoopForTime) === null || _this5$_runRenderLoop === void 0 || _this5$_runRenderLoop.call(_this5, 1000);
|
|
1927
2067
|
_this5._selectedHl.removeAllMeshes();
|
|
1928
|
-
_this5._selectedMeshes.forEach(function (_m) {
|
|
2068
|
+
if (_this5._plane.visibility == 1) _this5._selectedMeshes.forEach(function (_m) {
|
|
1929
2069
|
return _m.visibility = 0;
|
|
1930
2070
|
});
|
|
1931
2071
|
element.getChildMeshes().forEach(function (_m) {
|
|
@@ -1934,8 +2074,10 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1934
2074
|
});
|
|
1935
2075
|
}));
|
|
1936
2076
|
m.actionManager.registerAction(new ExecuteCodeAction(ActionManager.OnPointerOutTrigger, function (ev) {
|
|
2077
|
+
var _this5$_runRenderLoop2;
|
|
2078
|
+
(_this5$_runRenderLoop2 = _this5._runRenderLoopForTime) === null || _this5$_runRenderLoop2 === void 0 || _this5$_runRenderLoop2.call(_this5, 1000);
|
|
1937
2079
|
_this5._selectedHl.removeAllMeshes();
|
|
1938
|
-
element.getChildMeshes().forEach(function (_m) {
|
|
2080
|
+
if (_this5._plane.visibility == 1) element.getChildMeshes().forEach(function (_m) {
|
|
1939
2081
|
return _m.visibility = 0;
|
|
1940
2082
|
});
|
|
1941
2083
|
_this5._selectedMeshes.forEach(function (_m) {
|
|
@@ -1944,15 +2086,13 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1944
2086
|
});
|
|
1945
2087
|
}));
|
|
1946
2088
|
});
|
|
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')) {
|
|
2089
|
+
} else {
|
|
1949
2090
|
var _guiElemRightBack;
|
|
1950
2091
|
this._selectedMeshes = childMeshes;
|
|
1951
2092
|
this._selectedMeshes.forEach(function (_m) {
|
|
1952
2093
|
_m.visibility = 1;
|
|
1953
2094
|
_this5._selectedHl.addMesh(_m, Color3.Black());
|
|
1954
2095
|
});
|
|
1955
|
-
this._selectedHl.addExcludedMesh(this._plane);
|
|
1956
2096
|
var dtarget = this._uiConfig.templateConfig == 'standard' ? new Ellipse('deleteEllipse') : new Rectangle('deleteEllipse');
|
|
1957
2097
|
guiElem.elements.push(dtarget);
|
|
1958
2098
|
dtarget.width = this._uiConfig.templateConfig == 'standard' ? '40px' : '35px';
|
|
@@ -1972,6 +2112,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1972
2112
|
this._gui.addControl(dtarget);
|
|
1973
2113
|
dtarget.linkWithMesh((_guiElemRightBack = guiElemRightBack) !== null && _guiElemRightBack !== void 0 ? _guiElemRightBack : guiElemLeftBack);
|
|
1974
2114
|
}
|
|
2115
|
+
this._selectedHl.addExcludedMesh(this._plane);
|
|
1975
2116
|
this._guiElements.push(guiElem);
|
|
1976
2117
|
}
|
|
1977
2118
|
}, {
|
|
@@ -2106,6 +2247,17 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
2106
2247
|
});
|
|
2107
2248
|
});
|
|
2108
2249
|
}
|
|
2250
|
+
}, {
|
|
2251
|
+
key: "deactivateHighlightLayer",
|
|
2252
|
+
value: function deactivateHighlightLayer() {
|
|
2253
|
+
this._selectedHl.outerGlow = false;
|
|
2254
|
+
}
|
|
2255
|
+
}, {
|
|
2256
|
+
key: "activateHighlightLayer",
|
|
2257
|
+
value: function activateHighlightLayer() {
|
|
2258
|
+
if (this._isStaticBg) return; // highlightlayer should never be active when we have a background room
|
|
2259
|
+
this._selectedHl.outerGlow = true;
|
|
2260
|
+
}
|
|
2109
2261
|
}, {
|
|
2110
2262
|
key: "clearGui",
|
|
2111
2263
|
value: function clearGui() {
|
|
@@ -2118,22 +2270,23 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
2118
2270
|
this._scene.transformNodes.forEach(function (tN) {
|
|
2119
2271
|
return tN.name.startsWith('guiElem_') && tN.dispose();
|
|
2120
2272
|
});
|
|
2121
|
-
this._selectedHl.removeAllMeshes();
|
|
2122
2273
|
}
|
|
2123
2274
|
}, {
|
|
2124
2275
|
key: "onMove",
|
|
2125
2276
|
value: function onMove() {
|
|
2126
|
-
if (!this.
|
|
2127
|
-
this._plane.visibility
|
|
2128
|
-
|
|
2129
|
-
|
|
2277
|
+
if (!this._isUnityComb) return;
|
|
2278
|
+
if (this._plane.visibility != 0) {
|
|
2279
|
+
this._enableSSAO(true);
|
|
2280
|
+
this.fadeOutOverlayImage();
|
|
2281
|
+
}
|
|
2282
|
+
this._utilStore.updateCam = false; // need to always update since can move again while image is waiting to be updated
|
|
2130
2283
|
}
|
|
2131
2284
|
}, {
|
|
2132
2285
|
key: "requestNewOverlayImage",
|
|
2133
2286
|
value: function requestNewOverlayImage(viewpoint, focusedElement, targetCameraPosition) {
|
|
2134
2287
|
var _this9 = this;
|
|
2135
2288
|
//this._overlayImage exists only when unity combi is enabled
|
|
2136
|
-
if (!this.
|
|
2289
|
+
if (!this._isUnityComb) return;
|
|
2137
2290
|
var elementId = undefined;
|
|
2138
2291
|
var setId = undefined;
|
|
2139
2292
|
var ob = this._scene.getTransformNodeByName(focusedElement.name);
|
|
@@ -2148,9 +2301,8 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
2148
2301
|
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
2302
|
this._timeoutId = setTimeout(function () {
|
|
2150
2303
|
var _this9$_requestNewOve;
|
|
2151
|
-
_this9._utilStore.addOutstandingImage();
|
|
2152
2304
|
_this9._latestViewpoint = viewpoint;
|
|
2153
|
-
|
|
2305
|
+
_this9._utilStore.addOutstandingImageCount();
|
|
2154
2306
|
(_this9$_requestNewOve = _this9._requestNewOverlayImage) === null || _this9$_requestNewOve === void 0 || _this9$_requestNewOve.call(_this9, viewpoint, {
|
|
2155
2307
|
adjustZoomInUnity: false,
|
|
2156
2308
|
onlyAdjustZoomBBChanged: false,
|
|
@@ -2161,7 +2313,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
2161
2313
|
_this9._utilStore.updateCam = true;
|
|
2162
2314
|
}, 200);
|
|
2163
2315
|
} else {
|
|
2164
|
-
this.
|
|
2316
|
+
this.fadeInOverlayImage(false);
|
|
2165
2317
|
}
|
|
2166
2318
|
}
|
|
2167
2319
|
}]);
|
|
@@ -2223,7 +2375,7 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
2223
2375
|
}, {
|
|
2224
2376
|
key: "updateCam",
|
|
2225
2377
|
get: function get() {
|
|
2226
|
-
return this._updateCam
|
|
2378
|
+
return this._updateCam;
|
|
2227
2379
|
},
|
|
2228
2380
|
set: function set(doUpdateCam) {
|
|
2229
2381
|
this._updateCam = doUpdateCam;
|
|
@@ -2237,15 +2389,21 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
2237
2389
|
key: "onElementDeleted",
|
|
2238
2390
|
value: function onElementDeleted(setId, elementId) {
|
|
2239
2391
|
var _this$viewHandler;
|
|
2240
|
-
this.
|
|
2392
|
+
this.addOutstandingImageCount();
|
|
2241
2393
|
(_this$viewHandler = this.viewHandler) === null || _this$viewHandler === void 0 || _this$viewHandler.viewPlannerHandler.onElementDeleted(setId, elementId);
|
|
2242
2394
|
this._updateCam = true;
|
|
2243
2395
|
}
|
|
2244
2396
|
}, {
|
|
2245
|
-
key: "
|
|
2246
|
-
value: function
|
|
2397
|
+
key: "addOutstandingImageCount",
|
|
2398
|
+
value: function addOutstandingImageCount() {
|
|
2247
2399
|
this._outstandingImageCount++;
|
|
2248
2400
|
}
|
|
2401
|
+
}, {
|
|
2402
|
+
key: "subtractOutstandingImageCount",
|
|
2403
|
+
value: function subtractOutstandingImageCount() {
|
|
2404
|
+
if (this._outstandingImageCount == 0) return;
|
|
2405
|
+
this._outstandingImageCount--;
|
|
2406
|
+
}
|
|
2249
2407
|
}, {
|
|
2250
2408
|
key: "disableElementRows",
|
|
2251
2409
|
value: function disableElementRows(element, cache) {
|
|
@@ -2389,7 +2547,7 @@ var unregisterContext = function unregisterContext() {
|
|
|
2389
2547
|
var registerContext = function registerContext(scene, hqRenderScript, apiConfig, jwt, viewHandler, onMissingGeo, requestNewOverlayImage, overlayImage, uiConfig, updateCameraInformation) {
|
|
2390
2548
|
var utilStore = new UtilStore(false, viewHandler);
|
|
2391
2549
|
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);
|
|
2550
|
+
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
2551
|
return _context = {
|
|
2394
2552
|
utilStore: utilStore,
|
|
2395
2553
|
sceneStore: sceneStore,
|
|
@@ -2551,13 +2709,14 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2551
2709
|
var setDataRow,
|
|
2552
2710
|
sceneStore,
|
|
2553
2711
|
url,
|
|
2554
|
-
|
|
2712
|
+
_mat,
|
|
2555
2713
|
res,
|
|
2556
2714
|
parsedMat,
|
|
2557
2715
|
baseTexture,
|
|
2558
2716
|
mRTexture,
|
|
2559
2717
|
nTexture,
|
|
2560
2718
|
found,
|
|
2719
|
+
mat,
|
|
2561
2720
|
_args = arguments;
|
|
2562
2721
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
2563
2722
|
while (1) switch (_context.prev = _context.next) {
|
|
@@ -2579,9 +2738,9 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2579
2738
|
}
|
|
2580
2739
|
});
|
|
2581
2740
|
case 11:
|
|
2582
|
-
|
|
2741
|
+
_mat = _context.sent;
|
|
2583
2742
|
_context.next = 14;
|
|
2584
|
-
return
|
|
2743
|
+
return _mat.json();
|
|
2585
2744
|
case 14:
|
|
2586
2745
|
res = _context.sent;
|
|
2587
2746
|
parsedMat = PBRMetallicRoughnessMaterial.Parse(res, _customMat.scene, '');
|
|
@@ -2602,12 +2761,14 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2602
2761
|
path: _customMat.blob,
|
|
2603
2762
|
sizeMb: 0
|
|
2604
2763
|
});
|
|
2764
|
+
parsedMat.depthFunction = Constants.ALWAYS;
|
|
2765
|
+
parsedMat.disableColorWrite = true;
|
|
2605
2766
|
return _context.abrupt("return", {
|
|
2606
2767
|
mat: parsedMat,
|
|
2607
2768
|
found: true
|
|
2608
2769
|
});
|
|
2609
|
-
case
|
|
2610
|
-
_context.prev =
|
|
2770
|
+
case 31:
|
|
2771
|
+
_context.prev = 31;
|
|
2611
2772
|
_context.t0 = _context["catch"](8);
|
|
2612
2773
|
if (setDataRow) useUtilStoreContext().setAnalyzeDataRow({
|
|
2613
2774
|
type: 'MAT',
|
|
@@ -2617,16 +2778,19 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2617
2778
|
path: _customMat.blob,
|
|
2618
2779
|
sizeMb: 0
|
|
2619
2780
|
});
|
|
2620
|
-
case
|
|
2781
|
+
case 34:
|
|
2782
|
+
mat = new PBRMetallicRoughnessMaterial(_customMat.name, _customMat.scene);
|
|
2783
|
+
mat.depthFunction = Constants.ALWAYS;
|
|
2784
|
+
mat.disableColorWrite = true;
|
|
2621
2785
|
return _context.abrupt("return", {
|
|
2622
|
-
mat:
|
|
2786
|
+
mat: mat,
|
|
2623
2787
|
found: true
|
|
2624
2788
|
});
|
|
2625
|
-
case
|
|
2789
|
+
case 38:
|
|
2626
2790
|
case "end":
|
|
2627
2791
|
return _context.stop();
|
|
2628
2792
|
}
|
|
2629
|
-
}, _callee, null, [[8,
|
|
2793
|
+
}, _callee, null, [[8, 31]]);
|
|
2630
2794
|
}));
|
|
2631
2795
|
return function customMat(_x) {
|
|
2632
2796
|
return _ref.apply(this, arguments);
|
|
@@ -2708,7 +2872,7 @@ function _findAssets() {
|
|
|
2708
2872
|
}));
|
|
2709
2873
|
return _importGeo.apply(this, arguments);
|
|
2710
2874
|
};
|
|
2711
|
-
importGeo = function _importGeo2(
|
|
2875
|
+
importGeo = function _importGeo2(_x12, _x13) {
|
|
2712
2876
|
return _importGeo.apply(this, arguments);
|
|
2713
2877
|
};
|
|
2714
2878
|
_unifyAndSetStdMats = function _unifyAndSetStdMats3() {
|
|
@@ -2734,7 +2898,7 @@ function _findAssets() {
|
|
|
2734
2898
|
case 8:
|
|
2735
2899
|
name = 'std_' + name;
|
|
2736
2900
|
_context.next = 11;
|
|
2737
|
-
return createOrGetMaterial(name, path, splittedName[0], true,
|
|
2901
|
+
return createOrGetMaterial(name, path, splittedName[0], true, true, undefined, true);
|
|
2738
2902
|
case 11:
|
|
2739
2903
|
mat = _context.sent;
|
|
2740
2904
|
if (!mat.found) utilStore.setAnalyzeDataRow({
|
|
@@ -2796,7 +2960,7 @@ function _findAssets() {
|
|
|
2796
2960
|
}));
|
|
2797
2961
|
return _unifyAndSetStdMats.apply(this, arguments);
|
|
2798
2962
|
};
|
|
2799
|
-
unifyAndSetStdMats = function _unifyAndSetStdMats2(
|
|
2963
|
+
unifyAndSetStdMats = function _unifyAndSetStdMats2(_x10, _x11) {
|
|
2800
2964
|
return _unifyAndSetStdMats.apply(this, arguments);
|
|
2801
2965
|
};
|
|
2802
2966
|
sceneStore = useSceneStoreContext();
|
|
@@ -2912,7 +3076,7 @@ function _findAssets() {
|
|
|
2912
3076
|
return _context4.abrupt("return", 1);
|
|
2913
3077
|
case 5:
|
|
2914
3078
|
_context4.next = 7;
|
|
2915
|
-
return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true,
|
|
3079
|
+
return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true, false, {
|
|
2916
3080
|
tileU: mat.tileU,
|
|
2917
3081
|
tileV: mat.tileV
|
|
2918
3082
|
}, true);
|
|
@@ -2921,7 +3085,8 @@ function _findAssets() {
|
|
|
2921
3085
|
_context4.t1 = [];
|
|
2922
3086
|
_context4.t2 = mat.name;
|
|
2923
3087
|
nwCache.material = {
|
|
2924
|
-
|
|
3088
|
+
mat: _context4.t0,
|
|
3089
|
+
isStdMat: false,
|
|
2925
3090
|
onElements: _context4.t1,
|
|
2926
3091
|
name: _context4.t2
|
|
2927
3092
|
};
|
|
@@ -2931,7 +3096,7 @@ function _findAssets() {
|
|
|
2931
3096
|
_context4.t3 = newCache;
|
|
2932
3097
|
_context4.t4 = mat.id;
|
|
2933
3098
|
_context4.next = 17;
|
|
2934
|
-
return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true,
|
|
3099
|
+
return createOrGetMaterial(mat.id + '_' + mat.name, mat.blob, mat.name, true, false, {
|
|
2935
3100
|
tileU: mat.tileU,
|
|
2936
3101
|
tileV: mat.tileV
|
|
2937
3102
|
}, true);
|
|
@@ -2940,9 +3105,10 @@ function _findAssets() {
|
|
|
2940
3105
|
_context4.t6 = [];
|
|
2941
3106
|
_context4.t7 = mat.name;
|
|
2942
3107
|
_context4.t8 = {
|
|
2943
|
-
|
|
3108
|
+
mat: _context4.t5,
|
|
2944
3109
|
onElements: _context4.t6,
|
|
2945
|
-
name: _context4.t7
|
|
3110
|
+
name: _context4.t7,
|
|
3111
|
+
isStdMat: false
|
|
2946
3112
|
};
|
|
2947
3113
|
_context4.t9 = {
|
|
2948
3114
|
id: _context4.t4,
|
|
@@ -2995,72 +3161,79 @@ function _findAssets() {
|
|
|
2995
3161
|
}));
|
|
2996
3162
|
return _findAssets.apply(this, arguments);
|
|
2997
3163
|
}
|
|
2998
|
-
function createOrGetMaterial(_x3, _x4, _x5, _x6, _x7, _x8, _x9
|
|
3164
|
+
function createOrGetMaterial(_x3, _x4, _x5, _x6, _x7, _x8, _x9) {
|
|
2999
3165
|
return _createOrGetMaterial.apply(this, arguments);
|
|
3000
3166
|
}
|
|
3001
3167
|
function _createOrGetMaterial() {
|
|
3002
|
-
_createOrGetMaterial = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(name, blob, fileName, checkExisting,
|
|
3003
|
-
var _iterator5, _step5,
|
|
3168
|
+
_createOrGetMaterial = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee4(name, blob, fileName, checkExisting, isStdMat, tiling, setDataRow) {
|
|
3169
|
+
var sceneStore, _iterator5, _step5, cachedMaterial, mat, material;
|
|
3004
3170
|
return _regeneratorRuntime.wrap(function _callee4$(_context6) {
|
|
3005
3171
|
while (1) switch (_context6.prev = _context6.next) {
|
|
3006
3172
|
case 0:
|
|
3173
|
+
sceneStore = useSceneStoreContext();
|
|
3007
3174
|
if (!checkExisting) {
|
|
3008
|
-
_context6.next =
|
|
3175
|
+
_context6.next = 20;
|
|
3009
3176
|
break;
|
|
3010
3177
|
}
|
|
3011
|
-
_iterator5 = _createForOfIteratorHelper$3(
|
|
3012
|
-
_context6.prev =
|
|
3178
|
+
_iterator5 = _createForOfIteratorHelper$3(sceneStore.materialCache);
|
|
3179
|
+
_context6.prev = 3;
|
|
3013
3180
|
_iterator5.s();
|
|
3014
|
-
case
|
|
3181
|
+
case 5:
|
|
3015
3182
|
if ((_step5 = _iterator5.n()).done) {
|
|
3016
|
-
_context6.next =
|
|
3183
|
+
_context6.next = 12;
|
|
3017
3184
|
break;
|
|
3018
3185
|
}
|
|
3019
|
-
|
|
3020
|
-
if (!(name ===
|
|
3021
|
-
_context6.next =
|
|
3186
|
+
cachedMaterial = _step5.value;
|
|
3187
|
+
if (!(name === cachedMaterial.mat.name)) {
|
|
3188
|
+
_context6.next = 10;
|
|
3022
3189
|
break;
|
|
3023
3190
|
}
|
|
3191
|
+
cachedMaterial.lastUsage = sceneStore.modelIteration;
|
|
3024
3192
|
return _context6.abrupt("return", {
|
|
3025
|
-
mat:
|
|
3193
|
+
mat: cachedMaterial.mat,
|
|
3026
3194
|
found: true
|
|
3027
3195
|
});
|
|
3028
|
-
case 8:
|
|
3029
|
-
_context6.next = 4;
|
|
3030
|
-
break;
|
|
3031
3196
|
case 10:
|
|
3032
|
-
_context6.next =
|
|
3197
|
+
_context6.next = 5;
|
|
3033
3198
|
break;
|
|
3034
3199
|
case 12:
|
|
3035
|
-
_context6.
|
|
3036
|
-
|
|
3200
|
+
_context6.next = 17;
|
|
3201
|
+
break;
|
|
3202
|
+
case 14:
|
|
3203
|
+
_context6.prev = 14;
|
|
3204
|
+
_context6.t0 = _context6["catch"](3);
|
|
3037
3205
|
_iterator5.e(_context6.t0);
|
|
3038
|
-
case
|
|
3039
|
-
_context6.prev =
|
|
3206
|
+
case 17:
|
|
3207
|
+
_context6.prev = 17;
|
|
3040
3208
|
_iterator5.f();
|
|
3041
|
-
return _context6.finish(
|
|
3042
|
-
case
|
|
3209
|
+
return _context6.finish(17);
|
|
3210
|
+
case 20:
|
|
3043
3211
|
mat = {
|
|
3044
3212
|
isStdMat: !!isStdMat,
|
|
3045
3213
|
blob: blob,
|
|
3046
3214
|
name: name,
|
|
3047
3215
|
fileName: fileName,
|
|
3048
|
-
scene: scene,
|
|
3216
|
+
scene: sceneStore.scene,
|
|
3049
3217
|
tiling: tiling
|
|
3050
3218
|
};
|
|
3051
|
-
_context6.next =
|
|
3219
|
+
_context6.next = 23;
|
|
3052
3220
|
return customMat(mat, setDataRow);
|
|
3053
|
-
case
|
|
3221
|
+
case 23:
|
|
3054
3222
|
material = _context6.sent;
|
|
3223
|
+
sceneStore.addMaterialToCache({
|
|
3224
|
+
mat: material.mat,
|
|
3225
|
+
isStdMat: isStdMat,
|
|
3226
|
+
lastUsage: sceneStore.modelIteration
|
|
3227
|
+
});
|
|
3055
3228
|
return _context6.abrupt("return", {
|
|
3056
3229
|
mat: material.mat,
|
|
3057
3230
|
found: material.found
|
|
3058
3231
|
});
|
|
3059
|
-
case
|
|
3232
|
+
case 26:
|
|
3060
3233
|
case "end":
|
|
3061
3234
|
return _context6.stop();
|
|
3062
3235
|
}
|
|
3063
|
-
}, _callee4, null, [[
|
|
3236
|
+
}, _callee4, null, [[3, 14, 17, 20]]);
|
|
3064
3237
|
}));
|
|
3065
3238
|
return _createOrGetMaterial.apply(this, arguments);
|
|
3066
3239
|
}
|
|
@@ -3260,7 +3433,7 @@ function findMaterials(cache) {
|
|
|
3260
3433
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
3261
3434
|
var onNode = _step3.value;
|
|
3262
3435
|
if (child.name.startsWith(onNode) || child.name.startsWith('geo_') && child.name.includes(onNode)) {
|
|
3263
|
-
setMaterials(child, mat.
|
|
3436
|
+
setMaterials(child, mat.mat);
|
|
3264
3437
|
}
|
|
3265
3438
|
}
|
|
3266
3439
|
} catch (err) {
|
|
@@ -3332,7 +3505,7 @@ function shadow() {
|
|
|
3332
3505
|
var lightf = new DirectionalLight('dirf', new Vector3(0, -0.436, -0.9), scene);
|
|
3333
3506
|
var lightr = new DirectionalLight('dirr', new Vector3(0, -1, 0.3), scene);
|
|
3334
3507
|
var lightl = new DirectionalLight('dirb', new Vector3(0.2, -1, 0.2), scene);
|
|
3335
|
-
lightl.intensity =
|
|
3508
|
+
lightl.intensity = 2;
|
|
3336
3509
|
lightf.intensity = 2.2;
|
|
3337
3510
|
light.intensity = 1;
|
|
3338
3511
|
lightr.intensity = 1;
|
|
@@ -3352,6 +3525,8 @@ function shadow() {
|
|
|
3352
3525
|
z: 0
|
|
3353
3526
|
});
|
|
3354
3527
|
var std_mat = new PBRMetallicRoughnessMaterial('std_mat', scene);
|
|
3528
|
+
std_mat.depthFunction = Constants.ALWAYS;
|
|
3529
|
+
std_mat.disableColorWrite = true;
|
|
3355
3530
|
std_mat.metallic = 0;
|
|
3356
3531
|
scene.defaultMaterial = std_mat;
|
|
3357
3532
|
var mat = new PBRMetallicRoughnessMaterial('white', scene);
|
|
@@ -3375,17 +3550,17 @@ var parser = /*#__PURE__*/function () {
|
|
|
3375
3550
|
case 0:
|
|
3376
3551
|
sceneStore = useSceneStoreContext();
|
|
3377
3552
|
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
|
|
3553
|
+
utilStore = useUtilStoreContext(); //disable elementrows from old cache
|
|
3380
3554
|
changedElements === null || changedElements === void 0 || (_changedElements$upda = changedElements.updatedElements) === null || _changedElements$upda === void 0 || _changedElements$upda.forEach(function (el) {
|
|
3381
3555
|
return utilStore.disableElementRows(el.name, cache);
|
|
3382
3556
|
});
|
|
3383
|
-
_context.next =
|
|
3557
|
+
_context.next = 6;
|
|
3384
3558
|
return findAssets(hqRenderScript.assets, cache);
|
|
3385
|
-
case
|
|
3559
|
+
case 6:
|
|
3386
3560
|
_yield$findAssets = _context.sent;
|
|
3387
3561
|
cacheGroup = _yield$findAssets.cacheGroup;
|
|
3388
3562
|
newCache = _yield$findAssets.newCache;
|
|
3563
|
+
sceneStore.updateModelIteration();
|
|
3389
3564
|
if (changedElements && changedElements.deletedElements && changedElements.deletedElements.length > 0) {
|
|
3390
3565
|
changedElements.deletedElements.forEach(function (deletedElement) {
|
|
3391
3566
|
var _scene$getTransformNo;
|
|
@@ -3419,7 +3594,8 @@ var parser = /*#__PURE__*/function () {
|
|
|
3419
3594
|
}
|
|
3420
3595
|
utilStore.setRTVAnalyzeData();
|
|
3421
3596
|
deacCache(cacheGroup);
|
|
3422
|
-
|
|
3597
|
+
sceneStore.checkMaterialCache();
|
|
3598
|
+
case 15:
|
|
3423
3599
|
case "end":
|
|
3424
3600
|
return _context.stop();
|
|
3425
3601
|
}
|
|
@@ -3432,7 +3608,7 @@ var parser = /*#__PURE__*/function () {
|
|
|
3432
3608
|
|
|
3433
3609
|
var LOG = getLogger('ARViewer', 'RealTimeRenderData');
|
|
3434
3610
|
function useRealTimeRenderData (_ref) {
|
|
3435
|
-
var
|
|
3611
|
+
var _sceneStore2;
|
|
3436
3612
|
var jwt = _ref.jwt,
|
|
3437
3613
|
actions = _ref.actions,
|
|
3438
3614
|
apiConfig = _ref.apiConfig,
|
|
@@ -3450,7 +3626,7 @@ function useRealTimeRenderData (_ref) {
|
|
|
3450
3626
|
renderInBackground = _ref.renderInBackground;
|
|
3451
3627
|
var gameCanvas = useRef(null);
|
|
3452
3628
|
var sceneStore = useSceneStoreContext();
|
|
3453
|
-
|
|
3629
|
+
useUtilStoreContext();
|
|
3454
3630
|
var gridStore = useGridStoreContext();
|
|
3455
3631
|
var uiStore = useUIStoreContext();
|
|
3456
3632
|
DracoCompression.Configuration = {
|
|
@@ -3514,15 +3690,16 @@ function useRealTimeRenderData (_ref) {
|
|
|
3514
3690
|
eventId: 'BUILD_SCENE'
|
|
3515
3691
|
});
|
|
3516
3692
|
_context2.prev = 15;
|
|
3517
|
-
|
|
3693
|
+
uiStore.deactivateHighlightLayer();
|
|
3694
|
+
_context2.next = 19;
|
|
3518
3695
|
return parser();
|
|
3519
|
-
case
|
|
3696
|
+
case 19:
|
|
3520
3697
|
uiStore.initGui(callbacks.onElementSelected, sceneStore.elements);
|
|
3521
3698
|
if (freePlacesOnGrids || plannedPlacesOnGrids) gridStore.getGrids(freePlacesOnGrids, plannedPlacesOnGrids);
|
|
3522
|
-
_context2.next =
|
|
3699
|
+
_context2.next = 28;
|
|
3523
3700
|
break;
|
|
3524
|
-
case
|
|
3525
|
-
_context2.prev =
|
|
3701
|
+
case 23:
|
|
3702
|
+
_context2.prev = 23;
|
|
3526
3703
|
_context2.t0 = _context2["catch"](15);
|
|
3527
3704
|
LOG.errorTransaction('BUILD_SCENE', 'RTS_0001', _context2.t0.message);
|
|
3528
3705
|
LOG.error(new DivaError('Error building scene', {
|
|
@@ -3530,26 +3707,26 @@ function useRealTimeRenderData (_ref) {
|
|
|
3530
3707
|
code: 'RTS_0001'
|
|
3531
3708
|
}));
|
|
3532
3709
|
sceneStore.isInitializing = false;
|
|
3533
|
-
case
|
|
3710
|
+
case 28:
|
|
3534
3711
|
if (callbacks.setGlb) {
|
|
3535
3712
|
sceneStore.exportScene().then(function (res) {
|
|
3536
3713
|
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']));
|
|
3714
|
+
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
3715
|
});
|
|
3539
3716
|
} else {
|
|
3540
3717
|
LOG.debug('callbacks.setGlb is undefined');
|
|
3541
3718
|
}
|
|
3542
3719
|
if (!sceneStore.hasRendered) {
|
|
3543
|
-
sceneStore.
|
|
3720
|
+
sceneStore.runRenderLoopIndefinitely();
|
|
3544
3721
|
sceneStore.hasRendered = true;
|
|
3545
3722
|
}
|
|
3546
3723
|
sceneStore.scene.onAfterRenderObservable.add(onFirstFrame);
|
|
3547
3724
|
LOG.successTransaction('BUILD_SCENE');
|
|
3548
|
-
case
|
|
3725
|
+
case 32:
|
|
3549
3726
|
case "end":
|
|
3550
3727
|
return _context2.stop();
|
|
3551
3728
|
}
|
|
3552
|
-
}, _callee2, null, [[15,
|
|
3729
|
+
}, _callee2, null, [[15, 23]]);
|
|
3553
3730
|
}));
|
|
3554
3731
|
return _onSceneReady.apply(this, arguments);
|
|
3555
3732
|
}
|
|
@@ -3560,12 +3737,9 @@ function useRealTimeRenderData (_ref) {
|
|
|
3560
3737
|
if (!overlayImage) actions.toggleLoading('buildScene', false, false);
|
|
3561
3738
|
(_callbacks$onInitiali2 = callbacks.onInitialized) === null || _callbacks$onInitiali2 === void 0 || _callbacks$onInitiali2.call(callbacks);
|
|
3562
3739
|
(_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();
|
|
3740
|
+
setTimeout(function () {
|
|
3741
|
+
return uiStore.activateHighlightLayer();
|
|
3742
|
+
}, 500);
|
|
3569
3743
|
}
|
|
3570
3744
|
|
|
3571
3745
|
// trigger if gamecanvas did not update but renderjob
|
|
@@ -3590,45 +3764,46 @@ function useRealTimeRenderData (_ref) {
|
|
|
3590
3764
|
while (1) switch (_context.prev = _context.next) {
|
|
3591
3765
|
case 0:
|
|
3592
3766
|
if (!gameCanvas.current) {
|
|
3593
|
-
_context.next =
|
|
3767
|
+
_context.next = 23;
|
|
3594
3768
|
break;
|
|
3595
3769
|
}
|
|
3596
|
-
|
|
3770
|
+
_context.next = 3;
|
|
3771
|
+
return EngineFactory.CreateAsync(gameCanvas.current, {
|
|
3597
3772
|
antialias: true,
|
|
3598
3773
|
stencil: true,
|
|
3599
3774
|
audioEngine: false
|
|
3600
|
-
}
|
|
3775
|
+
});
|
|
3776
|
+
case 3:
|
|
3777
|
+
engine = _context.sent;
|
|
3601
3778
|
engine.renderEvenInBackground = renderInBackground;
|
|
3602
3779
|
engine.disablePerformanceMonitorInBackground = true;
|
|
3603
3780
|
bScene = new Scene(engine, undefined);
|
|
3781
|
+
bScene.clearColor = new Color4$1(255, 255, 255, 255);
|
|
3604
3782
|
context = registerContext(bScene, renderjob, apiConfig, jwt, viewHandler, callbacks.onMissingGeo, callbacks.requestNewOverlayImage, overlayImage, uiConfig, callbacks.updateCameraInformation);
|
|
3605
3783
|
sceneStore = context.sceneStore;
|
|
3606
|
-
|
|
3784
|
+
context.utilStore;
|
|
3607
3785
|
gridStore = context.gridStore;
|
|
3608
3786
|
uiStore = context.uiStore;
|
|
3609
3787
|
scene = bScene;
|
|
3610
3788
|
if (!bScene.isReady()) {
|
|
3611
|
-
_context.next =
|
|
3789
|
+
_context.next = 19;
|
|
3612
3790
|
break;
|
|
3613
3791
|
}
|
|
3614
|
-
_context.next = 14;
|
|
3615
|
-
return onSceneReady();
|
|
3616
|
-
case 14:
|
|
3617
3792
|
_context.next = 17;
|
|
3793
|
+
return onSceneReady();
|
|
3794
|
+
case 17:
|
|
3795
|
+
_context.next = 20;
|
|
3618
3796
|
break;
|
|
3619
|
-
case
|
|
3797
|
+
case 19:
|
|
3620
3798
|
bScene.executeWhenReady(function () {
|
|
3621
3799
|
return onSceneReady();
|
|
3622
3800
|
});
|
|
3623
|
-
case
|
|
3801
|
+
case 20:
|
|
3624
3802
|
resize = function resize() {
|
|
3625
3803
|
if (inBackground || !scene || !scene.getEngine()) return;
|
|
3626
3804
|
if (sceneStore.hasPlanned) sceneStore.doRenderControlLoop = true;
|
|
3627
|
-
scene.getEngine().resize();
|
|
3628
|
-
if (uiStore)
|
|
3629
|
-
uiStore.resize(scene);
|
|
3630
|
-
uiStore.initGui(callbacks.onElementSelected, sceneStore.elements);
|
|
3631
|
-
}
|
|
3805
|
+
scene.getEngine().resize(true);
|
|
3806
|
+
if (uiStore) uiStore.resize(scene);
|
|
3632
3807
|
};
|
|
3633
3808
|
if (window) {
|
|
3634
3809
|
window.addEventListener('resize', resize);
|
|
@@ -3640,9 +3815,9 @@ function useRealTimeRenderData (_ref) {
|
|
|
3640
3815
|
window.removeEventListener('resize', resize);
|
|
3641
3816
|
}
|
|
3642
3817
|
});
|
|
3643
|
-
case
|
|
3818
|
+
case 23:
|
|
3644
3819
|
return _context.abrupt("return");
|
|
3645
|
-
case
|
|
3820
|
+
case 24:
|
|
3646
3821
|
case "end":
|
|
3647
3822
|
return _context.stop();
|
|
3648
3823
|
}
|
|
@@ -3654,14 +3829,11 @@ function useRealTimeRenderData (_ref) {
|
|
|
3654
3829
|
asyncUseEffect();
|
|
3655
3830
|
}, []);
|
|
3656
3831
|
useEffect(function () {
|
|
3657
|
-
if (overlayImage && uiStore)
|
|
3658
|
-
|
|
3659
|
-
|
|
3660
|
-
useEffect(function () {
|
|
3661
|
-
if (utilStore && viewpoint) {
|
|
3662
|
-
updateCam(viewpoint, sceneStore.scene);
|
|
3832
|
+
if (overlayImage && uiStore) {
|
|
3833
|
+
uiStore.updateOverlayImage(overlayImage);
|
|
3834
|
+
if (viewpoint) updateCam(viewpoint, sceneStore.scene);
|
|
3663
3835
|
}
|
|
3664
|
-
}, [
|
|
3836
|
+
}, [overlayImage]);
|
|
3665
3837
|
useEffect(function () {
|
|
3666
3838
|
if (sceneStore && elementsInfo) {
|
|
3667
3839
|
var activeElement = elementsInfo.find(function (e) {
|
|
@@ -3671,13 +3843,13 @@ function useRealTimeRenderData (_ref) {
|
|
|
3671
3843
|
uiStore.addElementsInfo(elementsInfo);
|
|
3672
3844
|
uiStore.initGui(callbacks.onElementSelected, sceneStore.elements);
|
|
3673
3845
|
}
|
|
3674
|
-
}, [elementsInfo, (
|
|
3846
|
+
}, [elementsInfo, (_sceneStore2 = sceneStore) === null || _sceneStore2 === void 0 ? void 0 : _sceneStore2.elements]);
|
|
3675
3847
|
useEffect(function () {
|
|
3676
3848
|
if (!sceneStore) return;
|
|
3677
3849
|
if (inBackground) {
|
|
3678
|
-
sceneStore.
|
|
3850
|
+
sceneStore.stopRenderLoop();
|
|
3679
3851
|
} else if (sceneStore.hasRendered) {
|
|
3680
|
-
sceneStore.
|
|
3852
|
+
sceneStore.runRenderLoopIndefinitely();
|
|
3681
3853
|
}
|
|
3682
3854
|
}, [inBackground]);
|
|
3683
3855
|
return {
|
|
@@ -3735,7 +3907,8 @@ var RealTimeRenderer = /*#__PURE__*/memo(function (props) {
|
|
|
3735
3907
|
height: '100%',
|
|
3736
3908
|
width: '100%',
|
|
3737
3909
|
margin: 'auto',
|
|
3738
|
-
display: 'block'
|
|
3910
|
+
display: 'block',
|
|
3911
|
+
backgroundColor: 'white'
|
|
3739
3912
|
},
|
|
3740
3913
|
className: canvas
|
|
3741
3914
|
})
|