@crystaldesign/real-time-viewer 24.12.0-beta.3 → 24.12.0-beta.30
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 -149
- 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/ViewpointGui.d.ts +3 -2
- package/build/types/real-time-viewer/src/ViewpointGui.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/buildScene/index.d.ts +1 -1
- package/build/types/real-time-viewer/src/parser/buildScene/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/index.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/store/GridStore.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 +0 -1
- 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 +6 -0
- package/build/types/real-time-viewer/src/store/UtilStore.d.ts.map +1 -1
- package/build/types/real-time-viewer/src/useRealTimeRenderData.d.ts +0 -1
- package/build/types/real-time-viewer/src/useRealTimeRenderData.d.ts.map +1 -1
- package/build/umd/1309.real-time-viewer.umd.min.js +2 -0
- package/build/umd/1309.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1447.real-time-viewer.umd.min.js +2 -0
- package/build/umd/1447.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1499.real-time-viewer.umd.min.js +2 -0
- package/build/umd/1499.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1731.real-time-viewer.umd.min.js +2 -0
- package/build/umd/1731.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1781.real-time-viewer.umd.min.js +2 -0
- package/build/umd/1781.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/1896.real-time-viewer.umd.min.js +2 -0
- package/build/umd/1896.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2011.real-time-viewer.umd.min.js +2 -0
- package/build/umd/2011.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2439.real-time-viewer.umd.min.js +2 -0
- package/build/umd/2439.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2817.real-time-viewer.umd.min.js +2 -0
- package/build/umd/2817.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/2871.real-time-viewer.umd.min.js +2 -0
- package/build/umd/2871.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3116.real-time-viewer.umd.min.js +2 -0
- package/build/umd/3116.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3243.real-time-viewer.umd.min.js +2 -0
- package/build/umd/3243.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3351.real-time-viewer.umd.min.js +2 -0
- package/build/umd/3351.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3456.real-time-viewer.umd.min.js +2 -0
- package/build/umd/3456.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3631.real-time-viewer.umd.min.js +2 -0
- package/build/umd/3631.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3945.real-time-viewer.umd.min.js +2 -0
- package/build/umd/3945.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/3956.real-time-viewer.umd.min.js +2 -0
- package/build/umd/3956.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4091.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4091.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/410.real-time-viewer.umd.min.js +2 -0
- package/build/umd/410.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4153.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4153.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4248.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4248.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4378.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4378.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4431.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4431.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4542.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4542.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4602.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4602.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4661.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4661.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4669.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4669.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4711.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4711.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/4823.real-time-viewer.umd.min.js +2 -0
- package/build/umd/4823.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5462.real-time-viewer.umd.min.js +2 -0
- package/build/umd/5462.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5478.real-time-viewer.umd.min.js +2 -0
- package/build/umd/5478.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5483.real-time-viewer.umd.min.js +2 -0
- package/build/umd/5483.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5555.real-time-viewer.umd.min.js +2 -0
- package/build/umd/5555.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5860.real-time-viewer.umd.min.js +2 -0
- package/build/umd/5860.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/5922.real-time-viewer.umd.min.js +2 -0
- package/build/umd/5922.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6095.real-time-viewer.umd.min.js +2 -0
- package/build/umd/6095.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/615.real-time-viewer.umd.min.js +2 -0
- package/build/umd/615.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6230.real-time-viewer.umd.min.js +2 -0
- package/build/umd/6230.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6357.real-time-viewer.umd.min.js +2 -0
- package/build/umd/6357.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6373.real-time-viewer.umd.min.js +2 -0
- package/build/umd/6373.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/653.real-time-viewer.umd.min.js +2 -0
- package/build/umd/653.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6656.real-time-viewer.umd.min.js +2 -0
- package/build/umd/6656.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6829.real-time-viewer.umd.min.js +2 -0
- package/build/umd/6829.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/6912.real-time-viewer.umd.min.js +2 -0
- package/build/umd/6912.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7042.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7042.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/710.real-time-viewer.umd.min.js +2 -0
- package/build/umd/710.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7142.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7142.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7229.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7229.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7276.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7276.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7352.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7352.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7501.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7501.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7607.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7607.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7729.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7729.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7751.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7751.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/7754.real-time-viewer.umd.min.js +2 -0
- package/build/umd/7754.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8078.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8078.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8105.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8105.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/815.real-time-viewer.umd.min.js +2 -0
- package/build/umd/815.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8240.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8240.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8333.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8333.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8526.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8526.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8620.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8620.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8728.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8728.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8729.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8729.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/8991.real-time-viewer.umd.min.js +2 -0
- package/build/umd/8991.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9078.real-time-viewer.umd.min.js +2 -0
- package/build/umd/9078.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/913.real-time-viewer.umd.min.js +2 -0
- package/build/umd/913.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/930.real-time-viewer.umd.min.js +2 -0
- package/build/umd/930.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9334.real-time-viewer.umd.min.js +2 -0
- package/build/umd/9334.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9383.real-time-viewer.umd.min.js +2 -0
- package/build/umd/9383.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9568.real-time-viewer.umd.min.js +2 -0
- package/build/umd/9568.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9712.real-time-viewer.umd.min.js +2 -0
- package/build/umd/9712.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/9884.real-time-viewer.umd.min.js +2 -0
- package/build/umd/9884.real-time-viewer.umd.min.js.LICENSE.txt +1 -0
- package/build/umd/real-time-viewer.umd.min.js +1 -1
- package/build/umd/real-time-viewer.umd.min.js.LICENSE.txt +2 -7
- package/build/umd/report.html +1 -1
- package/package.json +19 -19
- package/build/umd/100.real-time-viewer.umd.min.js +0 -2
- package/build/umd/100.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/132.real-time-viewer.umd.min.js +0 -2
- package/build/umd/132.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/145.real-time-viewer.umd.min.js +0 -2
- package/build/umd/145.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/152.real-time-viewer.umd.min.js +0 -2
- package/build/umd/152.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/173.real-time-viewer.umd.min.js +0 -2
- package/build/umd/173.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/190.real-time-viewer.umd.min.js +0 -2
- package/build/umd/190.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/224.real-time-viewer.umd.min.js +0 -2
- package/build/umd/224.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/292.real-time-viewer.umd.min.js +0 -2
- package/build/umd/292.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/333.real-time-viewer.umd.min.js +0 -2
- package/build/umd/333.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/360.real-time-viewer.umd.min.js +0 -2
- package/build/umd/360.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/508.real-time-viewer.umd.min.js +0 -2
- package/build/umd/508.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/552.real-time-viewer.umd.min.js +0 -2
- package/build/umd/552.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/593.real-time-viewer.umd.min.js +0 -2
- package/build/umd/593.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/595.real-time-viewer.umd.min.js +0 -2
- package/build/umd/595.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/662.real-time-viewer.umd.min.js +0 -2
- package/build/umd/662.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/664.real-time-viewer.umd.min.js +0 -2
- package/build/umd/664.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/67.real-time-viewer.umd.min.js +0 -2
- package/build/umd/67.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/689.real-time-viewer.umd.min.js +0 -2
- package/build/umd/689.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/691.real-time-viewer.umd.min.js +0 -2
- package/build/umd/691.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/856.real-time-viewer.umd.min.js +0 -2
- package/build/umd/856.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/882.real-time-viewer.umd.min.js +0 -2
- package/build/umd/882.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/934.real-time-viewer.umd.min.js +0 -2
- package/build/umd/934.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/942.real-time-viewer.umd.min.js +0 -2
- package/build/umd/942.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/951.real-time-viewer.umd.min.js +0 -2
- package/build/umd/951.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/964.real-time-viewer.umd.min.js +0 -2
- package/build/umd/964.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/974.real-time-viewer.umd.min.js +0 -2
- package/build/umd/974.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
- package/build/umd/98.real-time-viewer.umd.min.js +0 -2
- package/build/umd/98.real-time-viewer.umd.min.js.LICENSE.txt +0 -1
package/build/esm/index.js
CHANGED
|
@@ -26,14 +26,15 @@ import { Tools, Observable, WebRequest } from '@babylonjs/core/Misc';
|
|
|
26
26
|
import { SceneOptimizerOptions, ShadowsOptimization, RenderTargetsOptimization, SceneOptimizer } from '@babylonjs/core/Misc/sceneOptimizer';
|
|
27
27
|
import { getLogger, DivaError } from '@crystaldesign/diva-core';
|
|
28
28
|
import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
|
|
29
|
-
import { Ellipse, Rectangle, Button, TextBlock,
|
|
30
|
-
import { Matrix as Matrix$1, Vector3 as Vector3$1 } from '@babylonjs/core/Maths/math';
|
|
29
|
+
import { Ellipse, Rectangle, Button, TextBlock, AdvancedDynamicTexture, Image } from '@babylonjs/gui';
|
|
30
|
+
import { Matrix as Matrix$1, Vector3 as Vector3$1, Frustum } from '@babylonjs/core/Maths/math';
|
|
31
31
|
import { Engine } from '@babylonjs/core/Engines/engine';
|
|
32
32
|
import { Scene } from '@babylonjs/core/scene';
|
|
33
33
|
import { DracoCompression } from '@babylonjs/core/Meshes/Compression/dracoCompression';
|
|
34
34
|
import { SceneLoader } from '@babylonjs/core/Loading/sceneLoader';
|
|
35
35
|
import { PBRMetallicRoughnessMaterial } from '@babylonjs/core/Materials/PBR/pbrMetallicRoughnessMaterial';
|
|
36
36
|
import { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
|
|
37
|
+
import { BoundingInfo } from '@babylonjs/core/Culling/boundingInfo';
|
|
37
38
|
import '@babylonjs/loaders/glTF/2.0/';
|
|
38
39
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
39
40
|
|
|
@@ -59,17 +60,18 @@ function GetCameraControls(camera) {
|
|
|
59
60
|
var initDistance = 0;
|
|
60
61
|
function renderLoop() {
|
|
61
62
|
if (!sceneStore.doRenderControlLoop || sceneStore.isInitializing || uistore.isStaticBg) return;
|
|
63
|
+
if (sceneStore.cameraTargetPosition.x == 0 && sceneStore.cameraTargetPosition.y == 0 && sceneStore.cameraTargetPosition.z == 0) sceneStore.setCameraTarget();
|
|
62
64
|
uistore.onMove();
|
|
63
65
|
var stopRender = true;
|
|
64
66
|
var delta = sceneStore.scene.getEngine().getDeltaTime();
|
|
65
67
|
var deltaCamPos = sceneStore.targetCameraPosition.subtract(camera.position).multiplyByFloats(delta / 100, delta / 100, delta / 100);
|
|
66
68
|
var deltaTarget = sceneStore.cameraTargetPosition.subtract(camera.target).multiplyByFloats(delta / 100, delta / 100, delta / 100);
|
|
67
|
-
if (Math.abs(deltaCamPos.x) + Math.abs(deltaCamPos.y) + Math.abs(deltaCamPos.z) > 0.
|
|
69
|
+
if (Math.abs(deltaCamPos.x) + Math.abs(deltaCamPos.y) + Math.abs(deltaCamPos.z) > 0.0001) {
|
|
68
70
|
camera.position = camera.position.addInPlaceFromFloats(deltaCamPos.x, deltaCamPos.y, deltaCamPos.z);
|
|
69
71
|
camera.setTarget(sceneStore.cameraTargetPosition);
|
|
70
72
|
stopRender = false;
|
|
71
73
|
}
|
|
72
|
-
if (Math.abs(deltaTarget.x) + Math.abs(deltaTarget.y) + Math.abs(deltaTarget.z) > 0.
|
|
74
|
+
if (Math.abs(deltaTarget.x) + Math.abs(deltaTarget.y) + Math.abs(deltaTarget.z) > 0.0001) {
|
|
73
75
|
camera.setTarget(camera.target.addInPlaceFromFloats(deltaTarget.x, deltaTarget.y, deltaTarget.z));
|
|
74
76
|
stopRender = false;
|
|
75
77
|
}
|
|
@@ -125,7 +127,7 @@ function GetCameraControls(camera) {
|
|
|
125
127
|
var newPosition = sceneStore.targetCameraPosition.add(directionVector.scale(distance * previousDistToTarget));
|
|
126
128
|
var distToTarget = Vector3.Distance(sceneStore.cameraTargetPosition, newPosition);
|
|
127
129
|
if (distToTarget < 0.1) return;
|
|
128
|
-
if (distToTarget >
|
|
130
|
+
if (distToTarget > 75) return;
|
|
129
131
|
sceneStore.targetCameraPosition = newPosition;
|
|
130
132
|
}
|
|
131
133
|
function onRotate(deltaX, deltaY) {
|
|
@@ -338,9 +340,9 @@ function getGridControls(scene, element, selected, elements, selectMesh) {
|
|
|
338
340
|
};
|
|
339
341
|
}
|
|
340
342
|
|
|
341
|
-
function _createForOfIteratorHelper$
|
|
342
|
-
function _unsupportedIterableToArray$
|
|
343
|
-
function _arrayLikeToArray$
|
|
343
|
+
function _createForOfIteratorHelper$9(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$9(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
344
|
+
function _unsupportedIterableToArray$9(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$9(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$9(r, a) : void 0; } }
|
|
345
|
+
function _arrayLikeToArray$9(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
344
346
|
function Grids () {
|
|
345
347
|
var utilStore = useUtilStoreContext();
|
|
346
348
|
var sceneStore = useSceneStoreContext();
|
|
@@ -407,7 +409,7 @@ function Grids () {
|
|
|
407
409
|
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2),
|
|
408
410
|
gridName = _Object$entries2$_i[0];
|
|
409
411
|
_Object$entries2$_i[1];
|
|
410
|
-
var _iterator = _createForOfIteratorHelper$
|
|
412
|
+
var _iterator = _createForOfIteratorHelper$9(plannedPlaceOnGrid.grids[gridName].accessories),
|
|
411
413
|
_step;
|
|
412
414
|
try {
|
|
413
415
|
var _loop4 = function _loop4() {
|
|
@@ -862,8 +864,8 @@ function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymb
|
|
|
862
864
|
function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
863
865
|
function createCams(scene, activeViewpoint, viewPoints) {
|
|
864
866
|
var _useUtilStoreContext = useUtilStoreContext(),
|
|
865
|
-
|
|
866
|
-
|
|
867
|
+
vector3ToBVector3 = _useUtilStoreContext.vector3ToBVector3,
|
|
868
|
+
degreesToRadians = _useUtilStoreContext.degreesToRadians;
|
|
867
869
|
function createCam(_ref) {
|
|
868
870
|
var name = _ref.name,
|
|
869
871
|
pos = _ref.pos,
|
|
@@ -911,22 +913,21 @@ function createCams(scene, activeViewpoint, viewPoints) {
|
|
|
911
913
|
})];
|
|
912
914
|
}
|
|
913
915
|
function updateCam(camera, scene) {
|
|
916
|
+
if (camera.pos.x == 0 && camera.pos.y == 0 && camera.pos.z == 0) return;
|
|
917
|
+
var utilStore = useUtilStoreContext();
|
|
914
918
|
var sceneStore = useSceneStoreContext();
|
|
915
|
-
var _useUtilStoreContext2 = useUtilStoreContext(),
|
|
916
|
-
degreesToRadians = _useUtilStoreContext2.degreesToRadians,
|
|
917
|
-
vector3ToBVector3 = _useUtilStoreContext2.vector3ToBVector3;
|
|
918
919
|
var cam = scene.getCameraByName('defaultCam');
|
|
919
|
-
var newPos = vector3ToBVector3(camera.pos).multiply(new Vector3(-0.01, 0.01, 0.01));
|
|
920
|
+
var newPos = utilStore.vector3ToBVector3(camera.pos).multiply(new Vector3(-0.01, 0.01, 0.01));
|
|
920
921
|
cam.position = newPos;
|
|
921
|
-
cam.rotation = degreesToRadians(vector3ToBVector3(_objectSpread$1(_objectSpread$1({}, camera.rot), {}, {
|
|
922
|
+
cam.rotation = utilStore.degreesToRadians(utilStore.vector3ToBVector3(_objectSpread$1(_objectSpread$1({}, camera.rot), {}, {
|
|
922
923
|
x: -camera.rot.x
|
|
923
924
|
})));
|
|
924
925
|
sceneStore.targetCameraPosition = newPos;
|
|
925
926
|
}
|
|
926
927
|
|
|
927
|
-
function _createForOfIteratorHelper$
|
|
928
|
-
function _unsupportedIterableToArray$
|
|
929
|
-
function _arrayLikeToArray$
|
|
928
|
+
function _createForOfIteratorHelper$8(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$8(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
929
|
+
function _unsupportedIterableToArray$8(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$8(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$8(r, a) : void 0; } }
|
|
930
|
+
function _arrayLikeToArray$8(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
930
931
|
/*
|
|
931
932
|
SceneStore
|
|
932
933
|
Wraps the scene with additional data and methods
|
|
@@ -942,6 +943,7 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
942
943
|
_defineProperty(this, "_geos", []);
|
|
943
944
|
_defineProperty(this, "_sceneConstruct", {});
|
|
944
945
|
_defineProperty(this, "_hasRendered", false);
|
|
946
|
+
_defineProperty(this, "_hasPlanned", false);
|
|
945
947
|
_defineProperty(this, "_utilStore", void 0);
|
|
946
948
|
_defineProperty(this, "_cache", []);
|
|
947
949
|
_defineProperty(this, "_ssao", undefined);
|
|
@@ -958,6 +960,7 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
958
960
|
_defineProperty(this, "_cameraTargetPosition", Vector3.Zero());
|
|
959
961
|
_defineProperty(this, "_targetCameraPosition", Vector3.Zero());
|
|
960
962
|
_defineProperty(this, "_selectedElement", void 0);
|
|
963
|
+
_defineProperty(this, "_focusedElement", void 0);
|
|
961
964
|
_defineProperty(this, "light", undefined);
|
|
962
965
|
_defineProperty(this, "changedElements", void 0);
|
|
963
966
|
scene.clearColor = new Color4(1, 1, 1, 1);
|
|
@@ -1044,6 +1047,29 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1044
1047
|
set: function set(element) {
|
|
1045
1048
|
this._selectedElement = element;
|
|
1046
1049
|
}
|
|
1050
|
+
}, {
|
|
1051
|
+
key: "focusedElement",
|
|
1052
|
+
get: function get() {
|
|
1053
|
+
var _this$_focusedElement;
|
|
1054
|
+
if (!this._focusedElement) {
|
|
1055
|
+
var root = this.scene.getTransformNodeByName('Root');
|
|
1056
|
+
if (root) {
|
|
1057
|
+
var bbox = root.getHierarchyBoundingVectors();
|
|
1058
|
+
this._focusedElement = {
|
|
1059
|
+
id: this.getId(root),
|
|
1060
|
+
name: 'Root',
|
|
1061
|
+
position: root.absolutePosition,
|
|
1062
|
+
size: Vector3.Distance(bbox.min, bbox.max)
|
|
1063
|
+
};
|
|
1064
|
+
}
|
|
1065
|
+
}
|
|
1066
|
+
return (_this$_focusedElement = this._focusedElement) !== null && _this$_focusedElement !== void 0 ? _this$_focusedElement : {
|
|
1067
|
+
id: 'Root',
|
|
1068
|
+
name: 'Root',
|
|
1069
|
+
position: Vector3.Zero(),
|
|
1070
|
+
size: 0
|
|
1071
|
+
};
|
|
1072
|
+
}
|
|
1047
1073
|
}, {
|
|
1048
1074
|
key: "controlRenderLoop",
|
|
1049
1075
|
get: function get() {
|
|
@@ -1072,12 +1098,12 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1072
1098
|
var _this$_sceneConstruct2;
|
|
1073
1099
|
var elms = [];
|
|
1074
1100
|
if (!((_this$_sceneConstruct2 = this._sceneConstruct.root) !== null && _this$_sceneConstruct2 !== void 0 && _this$_sceneConstruct2.sets)) return [];
|
|
1075
|
-
var _iterator = _createForOfIteratorHelper$
|
|
1101
|
+
var _iterator = _createForOfIteratorHelper$8(this._sceneConstruct.root.sets),
|
|
1076
1102
|
_step;
|
|
1077
1103
|
try {
|
|
1078
1104
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1079
1105
|
var set = _step.value;
|
|
1080
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
1106
|
+
var _iterator2 = _createForOfIteratorHelper$8(set.elements),
|
|
1081
1107
|
_step2;
|
|
1082
1108
|
try {
|
|
1083
1109
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -1132,12 +1158,12 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1132
1158
|
value: function getElementByName(name) {
|
|
1133
1159
|
var _this$_sceneConstruct3, _this$_sceneConstruct4;
|
|
1134
1160
|
if (!((_this$_sceneConstruct3 = this._sceneConstruct.root) !== null && _this$_sceneConstruct3 !== void 0 && _this$_sceneConstruct3.sets)) return undefined;
|
|
1135
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
1161
|
+
var _iterator3 = _createForOfIteratorHelper$8((_this$_sceneConstruct4 = this._sceneConstruct.root) === null || _this$_sceneConstruct4 === void 0 ? void 0 : _this$_sceneConstruct4.sets),
|
|
1136
1162
|
_step3;
|
|
1137
1163
|
try {
|
|
1138
1164
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
1139
1165
|
var set = _step3.value;
|
|
1140
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
1166
|
+
var _iterator4 = _createForOfIteratorHelper$8(set.elements),
|
|
1141
1167
|
_step4;
|
|
1142
1168
|
try {
|
|
1143
1169
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -1162,12 +1188,12 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1162
1188
|
value: function getElementNameById(id) {
|
|
1163
1189
|
var _this$_sceneConstruct5, _this$_sceneConstruct6;
|
|
1164
1190
|
if (!((_this$_sceneConstruct5 = this._sceneConstruct.root) !== null && _this$_sceneConstruct5 !== void 0 && _this$_sceneConstruct5.sets)) return undefined;
|
|
1165
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
1191
|
+
var _iterator5 = _createForOfIteratorHelper$8((_this$_sceneConstruct6 = this._sceneConstruct.root) === null || _this$_sceneConstruct6 === void 0 ? void 0 : _this$_sceneConstruct6.sets),
|
|
1166
1192
|
_step5;
|
|
1167
1193
|
try {
|
|
1168
1194
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
1169
1195
|
var set = _step5.value;
|
|
1170
|
-
var _iterator6 = _createForOfIteratorHelper$
|
|
1196
|
+
var _iterator6 = _createForOfIteratorHelper$8(set.elements),
|
|
1171
1197
|
_step6;
|
|
1172
1198
|
try {
|
|
1173
1199
|
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
@@ -1200,6 +1226,15 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1200
1226
|
if (!value) throw new Error("can't unrender");
|
|
1201
1227
|
this._hasRendered = value;
|
|
1202
1228
|
}
|
|
1229
|
+
}, {
|
|
1230
|
+
key: "hasPlanned",
|
|
1231
|
+
get: function get() {
|
|
1232
|
+
return this._hasPlanned;
|
|
1233
|
+
},
|
|
1234
|
+
set: function set(value) {
|
|
1235
|
+
if (!value) throw new Error("can't set has planned to false");
|
|
1236
|
+
this._hasPlanned = value;
|
|
1237
|
+
}
|
|
1203
1238
|
}, {
|
|
1204
1239
|
key: "cams",
|
|
1205
1240
|
get: function get() {
|
|
@@ -1299,6 +1334,18 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1299
1334
|
geos: []
|
|
1300
1335
|
});
|
|
1301
1336
|
}
|
|
1337
|
+
}, {
|
|
1338
|
+
key: "removeElement",
|
|
1339
|
+
value: function removeElement(hqs) {
|
|
1340
|
+
var _this$_sceneConstruct8;
|
|
1341
|
+
var set = (_this$_sceneConstruct8 = this._sceneConstruct.root) === null || _this$_sceneConstruct8 === void 0 ? void 0 : _this$_sceneConstruct8.sets[this._sceneConstruct.root.sets.length - 1];
|
|
1342
|
+
if (!set) {
|
|
1343
|
+
throw new Error("can't register sets before root");
|
|
1344
|
+
}
|
|
1345
|
+
set.elements = set.elements.filter(function (el) {
|
|
1346
|
+
return el.hqs.name != hqs.name;
|
|
1347
|
+
});
|
|
1348
|
+
}
|
|
1302
1349
|
}, {
|
|
1303
1350
|
key: "shouldExport",
|
|
1304
1351
|
value: function shouldExport(node) {
|
|
@@ -1380,6 +1427,45 @@ var SceneStore = /*#__PURE__*/function () {
|
|
|
1380
1427
|
this.cameraTargetPosition = pos;
|
|
1381
1428
|
// this.doRenderControlLoop = true;
|
|
1382
1429
|
}
|
|
1430
|
+
}, {
|
|
1431
|
+
key: "getId",
|
|
1432
|
+
value: function getId(ob) {
|
|
1433
|
+
var id = ob.name;
|
|
1434
|
+
while (ob.parent) {
|
|
1435
|
+
id += '.' + ob.name;
|
|
1436
|
+
ob = ob.parent;
|
|
1437
|
+
}
|
|
1438
|
+
return id;
|
|
1439
|
+
}
|
|
1440
|
+
}, {
|
|
1441
|
+
key: "focusElement",
|
|
1442
|
+
value: function focusElement(root) {
|
|
1443
|
+
if (!root) root = this.scene.transformNodes.find(function (transformNode) {
|
|
1444
|
+
return transformNode.name == 'Root';
|
|
1445
|
+
});
|
|
1446
|
+
if (!root) return;
|
|
1447
|
+
var engine = this.scene.getEngine();
|
|
1448
|
+
var cam = this.scene.activeCamera;
|
|
1449
|
+
var bbox = root.getHierarchyBoundingVectors();
|
|
1450
|
+
var center = Vector3.Center(bbox.min, bbox.max);
|
|
1451
|
+
var radius = Vector3.Distance(bbox.min, bbox.max) / 2;
|
|
1452
|
+
if (radius == Infinity) return;
|
|
1453
|
+
var aspectRatio = engine.getRenderWidth() / engine.getRenderHeight();
|
|
1454
|
+
var distance = radius / Math.tan(cam.fov * 0.75);
|
|
1455
|
+
var direction = cam.getDirection(Vector3.Backward());
|
|
1456
|
+
if (aspectRatio > 1) distance *= aspectRatio;
|
|
1457
|
+
var newPosition = center.add(direction.scale(distance));
|
|
1458
|
+
if (newPosition.x == 0 && newPosition.y == 0 && newPosition.z == 0) return;
|
|
1459
|
+
this._focusedElement = {
|
|
1460
|
+
id: this.getId(root),
|
|
1461
|
+
name: root.id,
|
|
1462
|
+
position: root.absolutePosition,
|
|
1463
|
+
size: Vector3.Distance(bbox.min, bbox.max)
|
|
1464
|
+
};
|
|
1465
|
+
this.cameraTargetPosition = center;
|
|
1466
|
+
this.targetCameraPosition = newPosition;
|
|
1467
|
+
this.doRenderControlLoop = true;
|
|
1468
|
+
}
|
|
1383
1469
|
}, {
|
|
1384
1470
|
key: "getMaxCamPosition",
|
|
1385
1471
|
value: function getMaxCamPosition() {
|
|
@@ -1397,69 +1483,81 @@ var delButton = "data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%
|
|
|
1397
1483
|
|
|
1398
1484
|
var gdelButton = "data:image/svg+xml,%3Csvg%20width%3D%2216%22%20height%3D%2221%22%20viewBox%3D%220%200%2016%2021%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M15.2784%203.0226H10.9717V2.08029C10.9717%201.35784%2010.4151%200.72963%209.71198%200.72963H6.78229C6.10846%200.72963%205.52252%201.32643%205.52252%202.08029V3.0226H1.21588C0.981506%203.0226%200.776428%203.24248%200.776428%203.49376C0.776428%203.74505%200.981506%203.96492%201.21588%203.96492H2.18268V17.7542C2.18268%2019.0734%203.17877%2020.11%204.37994%2020.11H12.1436C13.3741%2020.11%2014.3409%2019.042%2014.3409%2017.7542V3.93351H15.3077C15.5714%203.93351%2015.7764%203.71364%2015.7764%203.46235C15.7764%203.17966%2015.5421%203.0226%2015.2784%203.0226ZM6.43073%202.08029C6.43073%201.829%206.6358%201.67195%206.78229%201.67195H9.71198C9.94635%201.67195%2010.0928%201.86041%2010.0928%202.08029V3.0226H6.43073V2.08029ZM13.462%2017.7228C13.462%2018.508%2012.876%2019.1363%2012.1436%2019.1363H4.37994C3.64752%2019.1363%203.06158%2018.508%203.06158%2017.7228V3.96492H13.462V17.7228Z%22%20fill%3D%22%234A4A4A%22%2F%3E%3Cpath%20d%3D%22M8.68658%206.82326V16.2464C8.68658%2016.5291%208.5108%2016.749%208.24713%2016.749C7.98346%2016.749%207.80768%2016.5291%207.80768%2016.2464V6.82326C7.80768%206.54056%208.04205%206.3521%208.24713%206.3521C8.48151%206.3521%208.68658%206.57197%208.68658%206.82326Z%22%20fill%3D%22%234A4A4A%22%2F%3E%3Cpath%20d%3D%22M11.6456%206.82326V16.2464C11.6456%2016.5291%2011.4405%2016.749%2011.2061%2016.749C10.9717%2016.749%2010.7667%2016.5291%2010.7667%2016.2464V6.82326C10.7667%206.54056%2010.9717%206.3521%2011.2061%206.3521C11.4405%206.3521%2011.6456%206.57197%2011.6456%206.82326Z%22%20fill%3D%22%234A4A4A%22%2F%3E%3Cpath%20d%3D%22M5.78619%206.82326V16.2464C5.78619%2016.5291%205.58112%2016.749%205.34674%2016.749C5.11237%2016.749%204.87799%2016.5291%204.87799%2016.2464V6.82326C4.87799%206.54056%205.08307%206.3521%205.31744%206.3521C5.55182%206.3521%205.78619%206.57197%205.78619%206.82326Z%22%20fill%3D%22%234A4A4A%22%2F%3E%3C%2Fsvg%3E";
|
|
1399
1485
|
|
|
1400
|
-
function _createForOfIteratorHelper$
|
|
1401
|
-
function _unsupportedIterableToArray$
|
|
1402
|
-
function _arrayLikeToArray$
|
|
1486
|
+
function _createForOfIteratorHelper$7(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$7(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
1487
|
+
function _unsupportedIterableToArray$7(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$7(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$7(r, a) : void 0; } }
|
|
1488
|
+
function _arrayLikeToArray$7(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
1403
1489
|
function SelHandler (_ref) {
|
|
1404
1490
|
var onElSelected = _ref.onElSelected;
|
|
1405
|
-
|
|
1491
|
+
useUtilStoreContext();
|
|
1406
1492
|
var gridStore = useGridStoreContext();
|
|
1407
1493
|
var sceneStore = useSceneStoreContext();
|
|
1408
1494
|
var uiStore = useUIStoreContext();
|
|
1495
|
+
var timeoutId;
|
|
1409
1496
|
var onSelection = function onSelection(evt) {
|
|
1410
|
-
if (evt.event.button == 2) return;
|
|
1497
|
+
if (evt.event.button == 2 || !(evt.type == 16 || evt.type == 64)) return;
|
|
1411
1498
|
var ray = sceneStore.scene.createPickingRay(sceneStore.scene.pointerX, sceneStore.scene.pointerY, Matrix.Identity(), sceneStore.scene.activeCamera);
|
|
1412
1499
|
var hit = sceneStore.scene.pickWithRay(ray);
|
|
1413
1500
|
var pickedElement = false;
|
|
1414
1501
|
var element = hit === null || hit === void 0 ? void 0 : hit.pickedMesh;
|
|
1415
|
-
|
|
1416
|
-
|
|
1417
|
-
|
|
1418
|
-
|
|
1419
|
-
|
|
1420
|
-
if (
|
|
1421
|
-
|
|
1422
|
-
|
|
1502
|
+
clearTimeout(timeoutId);
|
|
1503
|
+
timeoutId = setTimeout(function () {
|
|
1504
|
+
while (element) {
|
|
1505
|
+
var _element, _element2;
|
|
1506
|
+
element = (_element = element) === null || _element === void 0 ? void 0 : _element.parent;
|
|
1507
|
+
if ((_element2 = element) !== null && _element2 !== void 0 && _element2.name.toLowerCase().startsWith('element')) {
|
|
1508
|
+
pickedElement = true;
|
|
1509
|
+
if (evt.type == 64 && hit !== null && hit !== void 0 && hit.pickedPoint) {
|
|
1510
|
+
onElementSelected(element, hit, true);
|
|
1511
|
+
return;
|
|
1512
|
+
} else if (evt.type == 16 && hit !== null && hit !== void 0 && hit.pickedPoint) {
|
|
1513
|
+
onElementSelected(element, hit);
|
|
1514
|
+
return;
|
|
1515
|
+
}
|
|
1423
1516
|
}
|
|
1424
1517
|
}
|
|
1425
|
-
|
|
1426
|
-
|
|
1427
|
-
|
|
1428
|
-
|
|
1429
|
-
|
|
1430
|
-
|
|
1431
|
-
|
|
1432
|
-
|
|
1433
|
-
|
|
1434
|
-
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
|
|
1518
|
+
if (!pickedElement && hit !== null && hit !== void 0 && hit.pickedPoint) {
|
|
1519
|
+
var _hit$pickedMesh;
|
|
1520
|
+
if (sceneStore.elements) {
|
|
1521
|
+
var _iterator = _createForOfIteratorHelper$7(sceneStore.elements),
|
|
1522
|
+
_step;
|
|
1523
|
+
try {
|
|
1524
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
1525
|
+
var _element3 = _step.value;
|
|
1526
|
+
var _element3$bbn$getHier = _element3.bbn.getHierarchyBoundingVectors(),
|
|
1527
|
+
min = _element3$bbn$getHier.min,
|
|
1528
|
+
max = _element3$bbn$getHier.max;
|
|
1529
|
+
var point = hit.pickedPoint;
|
|
1530
|
+
if (min.x < point.x && min.z < point.y && max.x > point.x && max.z > point.z && evt.type == 16) {
|
|
1531
|
+
pickedElement = true;
|
|
1532
|
+
onElementSelected(_element3.bbn, hit);
|
|
1533
|
+
}
|
|
1441
1534
|
}
|
|
1535
|
+
} catch (err) {
|
|
1536
|
+
_iterator.e(err);
|
|
1537
|
+
} finally {
|
|
1538
|
+
_iterator.f();
|
|
1442
1539
|
}
|
|
1443
|
-
} catch (err) {
|
|
1444
|
-
_iterator.e(err);
|
|
1445
|
-
} finally {
|
|
1446
|
-
_iterator.f();
|
|
1447
1540
|
}
|
|
1541
|
+
if (!pickedElement && (hit === null || hit === void 0 || (_hit$pickedMesh = hit.pickedMesh) === null || _hit$pickedMesh === void 0 ? void 0 : _hit$pickedMesh.name) == 'ground' && sceneStore.sets && evt.type == 16) onSetSelected(sceneStore.sets[0].bbn);
|
|
1448
1542
|
}
|
|
1449
|
-
|
|
1450
|
-
}
|
|
1543
|
+
}, 200);
|
|
1451
1544
|
};
|
|
1452
1545
|
var onSetSelected = function onSetSelected(elem) {
|
|
1453
1546
|
gridStore.deselectGrids();
|
|
1454
|
-
sceneStore.
|
|
1455
|
-
sceneStore.doRenderControlLoop = true;
|
|
1547
|
+
sceneStore.focusElement(elem);
|
|
1456
1548
|
};
|
|
1457
|
-
var onElementSelected = function onElementSelected(elem,
|
|
1549
|
+
var onElementSelected = function onElementSelected(elem, hit, doubleClick) {
|
|
1458
1550
|
var elemName = elem.name.slice(-1);
|
|
1459
|
-
if (sceneStore.selectedElement == elemName) {
|
|
1460
|
-
|
|
1461
|
-
|
|
1551
|
+
if (doubleClick && sceneStore.selectedElement == elemName && hit.pickedMesh) {
|
|
1552
|
+
var _getParent = function getParent(mesh) {
|
|
1553
|
+
var _mesh$parent;
|
|
1554
|
+
if (((_mesh$parent = mesh.parent) === null || _mesh$parent === void 0 ? void 0 : _mesh$parent.getClassName()) == 'TransformNode') return mesh.parent;
|
|
1555
|
+
return _getParent(mesh.parent);
|
|
1556
|
+
};
|
|
1557
|
+
sceneStore.focusElement(_getParent(hit.pickedMesh));
|
|
1462
1558
|
return;
|
|
1559
|
+
} else if (doubleClick || sceneStore.selectedElement == elemName) {
|
|
1560
|
+
sceneStore.focusElement(elem);
|
|
1463
1561
|
}
|
|
1464
1562
|
sceneStore.selectedElement = elemName;
|
|
1465
1563
|
uiStore.selectElem(elemName);
|
|
@@ -1470,9 +1568,9 @@ function SelHandler (_ref) {
|
|
|
1470
1568
|
};
|
|
1471
1569
|
}
|
|
1472
1570
|
|
|
1473
|
-
function _createForOfIteratorHelper$
|
|
1474
|
-
function _unsupportedIterableToArray$
|
|
1475
|
-
function _arrayLikeToArray$
|
|
1571
|
+
function _createForOfIteratorHelper$6(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$6(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
1572
|
+
function _unsupportedIterableToArray$6(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$6(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$6(r, a) : void 0; } }
|
|
1573
|
+
function _arrayLikeToArray$6(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
1476
1574
|
/*
|
|
1477
1575
|
UIStore
|
|
1478
1576
|
*/
|
|
@@ -1487,7 +1585,6 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1487
1585
|
_defineProperty(this, "_overlayImage", void 0);
|
|
1488
1586
|
_defineProperty(this, "_requestNewOverlayImage", void 0);
|
|
1489
1587
|
_defineProperty(this, "_timeoutId", void 0);
|
|
1490
|
-
_defineProperty(this, "_outstandingImageCount", void 0);
|
|
1491
1588
|
_defineProperty(this, "_latestViewpoint", void 0);
|
|
1492
1589
|
_defineProperty(this, "_guiElements", []);
|
|
1493
1590
|
_defineProperty(this, "_scene", void 0);
|
|
@@ -1505,15 +1602,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1505
1602
|
var _this$_overlayImage;
|
|
1506
1603
|
if (!overlayImage || !_this._scene || ((_this$_overlayImage = _this._overlayImage) === null || _this$_overlayImage === void 0 ? void 0 : _this$_overlayImage.source) == overlayImage.base64) return;
|
|
1507
1604
|
_this._isStaticBg = overlayImage.isStaticBg;
|
|
1508
|
-
_this.
|
|
1509
|
-
if (_this._outstandingImageCount > 0) return;
|
|
1510
|
-
if (_this._overlayImage) _this._overlayImage.source = overlayImage.base64;else {
|
|
1511
|
-
_this._overlayImage = new Image('overlayImage', overlayImage.base64);
|
|
1512
|
-
_this._overlayImage.width = '100%';
|
|
1513
|
-
_this._overlayImage.height = '100%';
|
|
1514
|
-
_this._overlayImage.alpha = 1;
|
|
1515
|
-
_this._gui.addControl(_this._overlayImage);
|
|
1516
|
-
}
|
|
1605
|
+
_this._overlayImage.source = overlayImage.base64;
|
|
1517
1606
|
_this._overlayImage.isVisible = true;
|
|
1518
1607
|
_this._enableSSAO(false);
|
|
1519
1608
|
});
|
|
@@ -1532,9 +1621,17 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1532
1621
|
this._colors.defaultBg = '#dfdfdf';
|
|
1533
1622
|
this._colors.selectedBg = '#db3433';
|
|
1534
1623
|
}
|
|
1535
|
-
this._outstandingImageCount = 0;
|
|
1536
1624
|
this._isStaticBg = _overlayImage === null || _overlayImage === void 0 ? void 0 : _overlayImage.isStaticBg;
|
|
1537
|
-
if (_overlayImage)
|
|
1625
|
+
if (_overlayImage) {
|
|
1626
|
+
this._overlayImage = new Image('overlayImage', _overlayImage.base64);
|
|
1627
|
+
this._overlayImage.width = '100%';
|
|
1628
|
+
this._overlayImage.height = '100%';
|
|
1629
|
+
this._overlayImage.alpha = 1;
|
|
1630
|
+
this._gui.addControl(this._overlayImage);
|
|
1631
|
+
this._overlayImage.source = _overlayImage.base64;
|
|
1632
|
+
this._overlayImage.isVisible = true;
|
|
1633
|
+
this._enableSSAO(false);
|
|
1634
|
+
}
|
|
1538
1635
|
}
|
|
1539
1636
|
return _createClass(UIStore, [{
|
|
1540
1637
|
key: "isStaticBg",
|
|
@@ -1651,7 +1748,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1651
1748
|
key: "selectElem",
|
|
1652
1749
|
value: function selectElem(name) {
|
|
1653
1750
|
var _this5 = this;
|
|
1654
|
-
var _iterator = _createForOfIteratorHelper$
|
|
1751
|
+
var _iterator = _createForOfIteratorHelper$6(this._gui.getControlsByType('ellipse')),
|
|
1655
1752
|
_step;
|
|
1656
1753
|
try {
|
|
1657
1754
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -1715,8 +1812,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1715
1812
|
dbt.width = this._uiConfig.templateConfig == 'standard' ? '40px' : '60%';
|
|
1716
1813
|
dbt.height = this._uiConfig.templateConfig == 'standard' ? '40px' : '70%';
|
|
1717
1814
|
dbt.onPointerClickObservable.add(function () {
|
|
1718
|
-
|
|
1719
|
-
return (_this6$_utilStore$vie = _this6._utilStore.viewHandler) === null || _this6$_utilStore$vie === void 0 ? void 0 : _this6$_utilStore$vie.viewPlannerHandler.onElementDeleted(setId, elementId);
|
|
1815
|
+
return _this6._utilStore.onElementDeleted(setId, elementId);
|
|
1720
1816
|
});
|
|
1721
1817
|
if (this._uiConfig.templateConfig == 'standard') dtarget.linkOffsetY = -48;
|
|
1722
1818
|
dtarget.addControl(dbt);
|
|
@@ -1747,6 +1843,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1747
1843
|
if (!this._overlayImage) return;
|
|
1748
1844
|
this._overlayImage.isVisible = false;
|
|
1749
1845
|
this._enableSSAO(true);
|
|
1846
|
+
this._utilStore.updateCam = false;
|
|
1750
1847
|
}
|
|
1751
1848
|
}, {
|
|
1752
1849
|
key: "requestNewOverlayImage",
|
|
@@ -1762,7 +1859,8 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1762
1859
|
_this7._enableSSAO(false);
|
|
1763
1860
|
return;
|
|
1764
1861
|
}
|
|
1765
|
-
_this7.
|
|
1862
|
+
_this7._utilStore.addOutstandingImage();
|
|
1863
|
+
_this7._utilStore.updateCam = true;
|
|
1766
1864
|
_this7._latestViewpoint = viewpoint;
|
|
1767
1865
|
(_this7$_requestNewOve = _this7._requestNewOverlayImage) === null || _this7$_requestNewOve === void 0 || _this7$_requestNewOve.call(_this7, viewpoint);
|
|
1768
1866
|
}, 500);
|
|
@@ -1779,6 +1877,8 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
1779
1877
|
_classCallCheck(this, UtilStore);
|
|
1780
1878
|
_defineProperty(this, "_isMobile", void 0);
|
|
1781
1879
|
_defineProperty(this, "_rtvAnalyzeData", []);
|
|
1880
|
+
_defineProperty(this, "_outstandingImageCount", void 0);
|
|
1881
|
+
_defineProperty(this, "_updateCam", void 0);
|
|
1782
1882
|
_defineProperty(this, "_viewHandler", void 0);
|
|
1783
1883
|
_defineProperty(this, "calculateBBoxCenter", function (ob) {
|
|
1784
1884
|
var boundingBox = ob.getHierarchyBoundingVectors();
|
|
@@ -1802,6 +1902,8 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
1802
1902
|
});
|
|
1803
1903
|
this._isMobile = !!isMobile;
|
|
1804
1904
|
this._viewHandler = viewHandler;
|
|
1905
|
+
this._outstandingImageCount = 0;
|
|
1906
|
+
this._updateCam = true;
|
|
1805
1907
|
}
|
|
1806
1908
|
return _createClass(UtilStore, [{
|
|
1807
1909
|
key: "isMobile",
|
|
@@ -1819,6 +1921,31 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
1819
1921
|
var _this$_viewHandler;
|
|
1820
1922
|
return (_this$_viewHandler = this._viewHandler) === null || _this$_viewHandler === void 0 ? void 0 : _this$_viewHandler.tabGroupState.curTabGroup.key;
|
|
1821
1923
|
}
|
|
1924
|
+
}, {
|
|
1925
|
+
key: "updateCam",
|
|
1926
|
+
set: function set(doUpdateCam) {
|
|
1927
|
+
this._updateCam = doUpdateCam;
|
|
1928
|
+
}
|
|
1929
|
+
}, {
|
|
1930
|
+
key: "updateWithUnityData",
|
|
1931
|
+
get: function get() {
|
|
1932
|
+
var isNotOutStandingImage = this._outstandingImageCount > 0;
|
|
1933
|
+
if (isNotOutStandingImage) this._outstandingImageCount--;
|
|
1934
|
+
return !isNotOutStandingImage && this._updateCam;
|
|
1935
|
+
}
|
|
1936
|
+
}, {
|
|
1937
|
+
key: "onElementDeleted",
|
|
1938
|
+
value: function onElementDeleted(setId, elementId) {
|
|
1939
|
+
var _this$viewHandler;
|
|
1940
|
+
this.addOutstandingImage();
|
|
1941
|
+
(_this$viewHandler = this.viewHandler) === null || _this$viewHandler === void 0 || _this$viewHandler.viewPlannerHandler.onElementDeleted(setId, elementId);
|
|
1942
|
+
this._updateCam = true;
|
|
1943
|
+
}
|
|
1944
|
+
}, {
|
|
1945
|
+
key: "addOutstandingImage",
|
|
1946
|
+
value: function addOutstandingImage() {
|
|
1947
|
+
this._outstandingImageCount++;
|
|
1948
|
+
}
|
|
1822
1949
|
}, {
|
|
1823
1950
|
key: "disableElementRows",
|
|
1824
1951
|
value: function disableElementRows(element, cache) {
|
|
@@ -1968,9 +2095,9 @@ var useUtilStoreContext = function useUtilStoreContext() {
|
|
|
1968
2095
|
return (_context5 = _context) === null || _context5 === void 0 ? void 0 : _context5.utilStore;
|
|
1969
2096
|
};
|
|
1970
2097
|
|
|
1971
|
-
function _createForOfIteratorHelper$
|
|
1972
|
-
function _unsupportedIterableToArray$
|
|
1973
|
-
function _arrayLikeToArray$
|
|
2098
|
+
function _createForOfIteratorHelper$5(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$5(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
2099
|
+
function _unsupportedIterableToArray$5(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$5(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$5(r, a) : void 0; } }
|
|
2100
|
+
function _arrayLikeToArray$5(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
1974
2101
|
function caching () {
|
|
1975
2102
|
var _useSceneStoreContext = useSceneStoreContext(),
|
|
1976
2103
|
cache = _useSceneStoreContext.cache,
|
|
@@ -1985,7 +2112,7 @@ function caching () {
|
|
|
1985
2112
|
var updatedElements = (_curElementRoot$nodes = curElementRoot === null || curElementRoot === void 0 || (_curElementRoot$nodes2 = curElementRoot.nodes) === null || _curElementRoot$nodes2 === void 0 ? void 0 : _curElementRoot$nodes2.filter(function (curElement) {
|
|
1986
2113
|
if ((prevElementRoot === null || prevElementRoot === void 0 ? void 0 : prevElementRoot.nodes) === undefined) return true;
|
|
1987
2114
|
var didChange = true;
|
|
1988
|
-
var _iterator = _createForOfIteratorHelper$
|
|
2115
|
+
var _iterator = _createForOfIteratorHelper$5(prevElementRoot.nodes),
|
|
1989
2116
|
_step;
|
|
1990
2117
|
try {
|
|
1991
2118
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -2010,7 +2137,7 @@ function caching () {
|
|
|
2010
2137
|
var prevGeo = (_assets$geos = previousHQRenderScript.assets.geos) === null || _assets$geos === void 0 ? void 0 : _assets$geos[idx];
|
|
2011
2138
|
if (prevGeo && !(geo.id + geo.name === prevGeo.id + prevGeo.name) && cache !== null && cache !== void 0 && (_cache$idx = cache[idx]) !== null && _cache$idx !== void 0 && (_cache$idx = _cache$idx.geo) !== null && _cache$idx !== void 0 && _cache$idx.onElements) {
|
|
2012
2139
|
var _cache$idx$geo;
|
|
2013
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
2140
|
+
var _iterator2 = _createForOfIteratorHelper$5((_cache$idx$geo = cache[idx].geo) === null || _cache$idx$geo === void 0 ? void 0 : _cache$idx$geo.onElements),
|
|
2014
2141
|
_step2;
|
|
2015
2142
|
try {
|
|
2016
2143
|
var _loop = function _loop() {
|
|
@@ -2040,7 +2167,7 @@ function caching () {
|
|
|
2040
2167
|
var prevMat = (_assets$mats = previousHQRenderScript.assets.mats) === null || _assets$mats === void 0 ? void 0 : _assets$mats[idx];
|
|
2041
2168
|
if (prevMat && !(mat.id + mat.name === prevMat.id + prevMat.name) && cache !== null && cache !== void 0 && (_cache$idx2 = cache[idx]) !== null && _cache$idx2 !== void 0 && (_cache$idx2 = _cache$idx2.material) !== null && _cache$idx2 !== void 0 && _cache$idx2.onElements) {
|
|
2042
2169
|
var _cache$idx$material;
|
|
2043
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
2170
|
+
var _iterator3 = _createForOfIteratorHelper$5((_cache$idx$material = cache[idx].material) === null || _cache$idx$material === void 0 ? void 0 : _cache$idx$material.onElements),
|
|
2044
2171
|
_step3;
|
|
2045
2172
|
try {
|
|
2046
2173
|
var _loop2 = function _loop2() {
|
|
@@ -2071,7 +2198,7 @@ function caching () {
|
|
|
2071
2198
|
deletedElements: prevElementRoot === null || prevElementRoot === void 0 || (_prevElementRoot$node = prevElementRoot.nodes) === null || _prevElementRoot$node === void 0 ? void 0 : _prevElementRoot$node.filter(function (prevElement) {
|
|
2072
2199
|
if ((curElementRoot === null || curElementRoot === void 0 ? void 0 : curElementRoot.nodes) === undefined) return true;
|
|
2073
2200
|
var wasDeleted = true;
|
|
2074
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
2201
|
+
var _iterator4 = _createForOfIteratorHelper$5(curElementRoot.nodes),
|
|
2075
2202
|
_step4;
|
|
2076
2203
|
try {
|
|
2077
2204
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -2188,9 +2315,9 @@ var customMat = /*#__PURE__*/function () {
|
|
|
2188
2315
|
};
|
|
2189
2316
|
}();
|
|
2190
2317
|
|
|
2191
|
-
function _createForOfIteratorHelper$
|
|
2192
|
-
function _unsupportedIterableToArray$
|
|
2193
|
-
function _arrayLikeToArray$
|
|
2318
|
+
function _createForOfIteratorHelper$4(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$4(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
2319
|
+
function _unsupportedIterableToArray$4(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$4(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$4(r, a) : void 0; } }
|
|
2320
|
+
function _arrayLikeToArray$4(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
2194
2321
|
getLogger('RealTimeViewer', 'FindAsset');
|
|
2195
2322
|
function findAssets(_x, _x2) {
|
|
2196
2323
|
return _findAssets.apply(this, arguments);
|
|
@@ -2304,7 +2431,7 @@ function _findAssets() {
|
|
|
2304
2431
|
});
|
|
2305
2432
|
geo.material = mat.mat;
|
|
2306
2433
|
oldMat = sceneStore.scene.getMaterialByUniqueID(oldMatId);
|
|
2307
|
-
_iterator3 = _createForOfIteratorHelper$
|
|
2434
|
+
_iterator3 = _createForOfIteratorHelper$4(oldMat.getBindedMeshes());
|
|
2308
2435
|
try {
|
|
2309
2436
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
2310
2437
|
mesh = _step3.value;
|
|
@@ -2319,7 +2446,7 @@ function _findAssets() {
|
|
|
2319
2446
|
_context.next = 37;
|
|
2320
2447
|
break;
|
|
2321
2448
|
case 20:
|
|
2322
|
-
_iterator4 = _createForOfIteratorHelper$
|
|
2449
|
+
_iterator4 = _createForOfIteratorHelper$4(geo.getChildMeshes());
|
|
2323
2450
|
_context.prev = 21;
|
|
2324
2451
|
_iterator4.s();
|
|
2325
2452
|
case 23:
|
|
@@ -2364,7 +2491,7 @@ function _findAssets() {
|
|
|
2364
2491
|
//TODO: tiling with Node Materials, multiple Textures
|
|
2365
2492
|
|
|
2366
2493
|
//! clean std. materials from importing (.00x)
|
|
2367
|
-
_iterator = _createForOfIteratorHelper$
|
|
2494
|
+
_iterator = _createForOfIteratorHelper$4(assets.geos);
|
|
2368
2495
|
_context5.prev = 11;
|
|
2369
2496
|
_loop = /*#__PURE__*/_regeneratorRuntime.mark(function _loop() {
|
|
2370
2497
|
var geo, path, mesh, cachedGeo;
|
|
@@ -2446,7 +2573,7 @@ function _findAssets() {
|
|
|
2446
2573
|
return _context5.finish(26);
|
|
2447
2574
|
case 29:
|
|
2448
2575
|
// Und alle materialien erstellt
|
|
2449
|
-
_iterator2 = _createForOfIteratorHelper$
|
|
2576
|
+
_iterator2 = _createForOfIteratorHelper$4(assets.mats);
|
|
2450
2577
|
_context5.prev = 30;
|
|
2451
2578
|
_loop2 = /*#__PURE__*/_regeneratorRuntime.mark(function _loop2() {
|
|
2452
2579
|
var mat, _nwCache$material;
|
|
@@ -2564,7 +2691,7 @@ function _createOrGetMaterial() {
|
|
|
2564
2691
|
_context6.next = 18;
|
|
2565
2692
|
break;
|
|
2566
2693
|
}
|
|
2567
|
-
_iterator5 = _createForOfIteratorHelper$
|
|
2694
|
+
_iterator5 = _createForOfIteratorHelper$4(scene.materials);
|
|
2568
2695
|
_context6.prev = 2;
|
|
2569
2696
|
_iterator5.s();
|
|
2570
2697
|
case 4:
|
|
@@ -2621,9 +2748,9 @@ function _createOrGetMaterial() {
|
|
|
2621
2748
|
return _createOrGetMaterial.apply(this, arguments);
|
|
2622
2749
|
}
|
|
2623
2750
|
|
|
2624
|
-
function _createForOfIteratorHelper$
|
|
2625
|
-
function _unsupportedIterableToArray$
|
|
2626
|
-
function _arrayLikeToArray$
|
|
2751
|
+
function _createForOfIteratorHelper$3(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$3(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
2752
|
+
function _unsupportedIterableToArray$3(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$3(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$3(r, a) : void 0; } }
|
|
2753
|
+
function _arrayLikeToArray$3(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
2627
2754
|
var buildScene = function buildScene(_ref) {
|
|
2628
2755
|
var _sceneStore$elements;
|
|
2629
2756
|
var startNode = _ref.startNode,
|
|
@@ -2662,7 +2789,7 @@ var buildScene = function buildScene(_ref) {
|
|
|
2662
2789
|
|
|
2663
2790
|
//! getNodes / getGeos
|
|
2664
2791
|
if (curGeo.nodes !== undefined) {
|
|
2665
|
-
var _iterator = _createForOfIteratorHelper$
|
|
2792
|
+
var _iterator = _createForOfIteratorHelper$3(curGeo.nodes),
|
|
2666
2793
|
_step;
|
|
2667
2794
|
try {
|
|
2668
2795
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -2677,7 +2804,7 @@ var buildScene = function buildScene(_ref) {
|
|
|
2677
2804
|
}
|
|
2678
2805
|
//! each geo
|
|
2679
2806
|
if (curGeo.geos !== undefined) {
|
|
2680
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
2807
|
+
var _iterator2 = _createForOfIteratorHelper$3(curGeo.geos),
|
|
2681
2808
|
_step2;
|
|
2682
2809
|
try {
|
|
2683
2810
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -2720,6 +2847,7 @@ var buildScene = function buildScene(_ref) {
|
|
|
2720
2847
|
}
|
|
2721
2848
|
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.name) == 'Wohnzimmer') sceneStore.addSet(node, hqsNode);
|
|
2722
2849
|
if (node !== null && node !== void 0 && node.name.startsWith('Element')) {
|
|
2850
|
+
sceneStore.hasPlanned = true;
|
|
2723
2851
|
sceneStore.addElement(node, hqsNode);
|
|
2724
2852
|
curElement = hqsNode;
|
|
2725
2853
|
}
|
|
@@ -2731,7 +2859,7 @@ var buildScene = function buildScene(_ref) {
|
|
|
2731
2859
|
|
|
2732
2860
|
//! each node
|
|
2733
2861
|
if (hqsNode.nodes !== undefined) {
|
|
2734
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
2862
|
+
var _iterator3 = _createForOfIteratorHelper$3(hqsNode.nodes),
|
|
2735
2863
|
_step3;
|
|
2736
2864
|
try {
|
|
2737
2865
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -2746,7 +2874,7 @@ var buildScene = function buildScene(_ref) {
|
|
|
2746
2874
|
}
|
|
2747
2875
|
//! each material
|
|
2748
2876
|
if (hqsNode.mats !== undefined) {
|
|
2749
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
2877
|
+
var _iterator4 = _createForOfIteratorHelper$3(hqsNode.mats),
|
|
2750
2878
|
_step4;
|
|
2751
2879
|
try {
|
|
2752
2880
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
@@ -2761,7 +2889,7 @@ var buildScene = function buildScene(_ref) {
|
|
|
2761
2889
|
}
|
|
2762
2890
|
//! each geo
|
|
2763
2891
|
if (hqsNode.geos !== undefined) {
|
|
2764
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
2892
|
+
var _iterator5 = _createForOfIteratorHelper$3(hqsNode.geos),
|
|
2765
2893
|
_step5;
|
|
2766
2894
|
try {
|
|
2767
2895
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -2776,18 +2904,17 @@ var buildScene = function buildScene(_ref) {
|
|
|
2776
2904
|
}
|
|
2777
2905
|
}
|
|
2778
2906
|
recursiveIteration(startNode, parentNode);
|
|
2779
|
-
sceneStore.setCameraTarget();
|
|
2780
2907
|
sceneStore.cache = cachedAssets;
|
|
2781
2908
|
};
|
|
2782
2909
|
|
|
2783
|
-
function _createForOfIteratorHelper$
|
|
2784
|
-
function _unsupportedIterableToArray$
|
|
2785
|
-
function _arrayLikeToArray$
|
|
2910
|
+
function _createForOfIteratorHelper$2(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$2(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
2911
|
+
function _unsupportedIterableToArray$2(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$2(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0; } }
|
|
2912
|
+
function _arrayLikeToArray$2(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
2786
2913
|
function findMaterials(cache) {
|
|
2787
2914
|
//! parent = the parent from which on every child should receive the Material
|
|
2788
2915
|
//! id = the id which points to the material that should be assigned
|
|
2789
2916
|
var setMaterials = function setMaterials(onNode, mat) {
|
|
2790
|
-
var _iterator = _createForOfIteratorHelper$
|
|
2917
|
+
var _iterator = _createForOfIteratorHelper$2(onNode.getChildMeshes()),
|
|
2791
2918
|
_step;
|
|
2792
2919
|
try {
|
|
2793
2920
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -2805,12 +2932,12 @@ function findMaterials(cache) {
|
|
|
2805
2932
|
var findOnNode = function findOnNode(mat, parent) {
|
|
2806
2933
|
if (!mat.onNodes) return;
|
|
2807
2934
|
var children = parent.getChildTransformNodes(false);
|
|
2808
|
-
var _iterator2 = _createForOfIteratorHelper$
|
|
2935
|
+
var _iterator2 = _createForOfIteratorHelper$2(children),
|
|
2809
2936
|
_step2;
|
|
2810
2937
|
try {
|
|
2811
2938
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
2812
2939
|
var child = _step2.value;
|
|
2813
|
-
var _iterator3 = _createForOfIteratorHelper$
|
|
2940
|
+
var _iterator3 = _createForOfIteratorHelper$2(mat.onNodes),
|
|
2814
2941
|
_step3;
|
|
2815
2942
|
try {
|
|
2816
2943
|
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
@@ -2831,13 +2958,13 @@ function findMaterials(cache) {
|
|
|
2831
2958
|
_iterator2.f();
|
|
2832
2959
|
}
|
|
2833
2960
|
};
|
|
2834
|
-
var _iterator4 = _createForOfIteratorHelper$
|
|
2961
|
+
var _iterator4 = _createForOfIteratorHelper$2(cache),
|
|
2835
2962
|
_step4;
|
|
2836
2963
|
try {
|
|
2837
2964
|
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
2838
2965
|
var element = _step4.value;
|
|
2839
2966
|
if (!element.material || !element.material.parents) continue;
|
|
2840
|
-
var _iterator5 = _createForOfIteratorHelper$
|
|
2967
|
+
var _iterator5 = _createForOfIteratorHelper$2(element.material.parents),
|
|
2841
2968
|
_step5;
|
|
2842
2969
|
try {
|
|
2843
2970
|
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
@@ -2858,11 +2985,11 @@ function findMaterials(cache) {
|
|
|
2858
2985
|
return findMaterials;
|
|
2859
2986
|
}
|
|
2860
2987
|
|
|
2861
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
2862
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
2863
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
2988
|
+
function _createForOfIteratorHelper$1(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray$1(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
2989
|
+
function _unsupportedIterableToArray$1(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray$1(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; } }
|
|
2990
|
+
function _arrayLikeToArray$1(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
2864
2991
|
function deacCache(cache) {
|
|
2865
|
-
var _iterator = _createForOfIteratorHelper(cache.getChildTransformNodes(true)),
|
|
2992
|
+
var _iterator = _createForOfIteratorHelper$1(cache.getChildTransformNodes(true)),
|
|
2866
2993
|
_step;
|
|
2867
2994
|
try {
|
|
2868
2995
|
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
@@ -2921,23 +3048,29 @@ function shadow() {
|
|
|
2921
3048
|
}
|
|
2922
3049
|
}
|
|
2923
3050
|
|
|
3051
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
3052
|
+
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
3053
|
+
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
3054
|
+
|
|
2924
3055
|
//! sets element set
|
|
2925
3056
|
var parser = /*#__PURE__*/function () {
|
|
2926
3057
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
2927
3058
|
var _changedElements$upda;
|
|
2928
|
-
var sceneStore, hasRendered, hqRenderScript, scene, cache, changedElements, utilStore, _yield$findAssets, cacheGroup, newCache, _changedElements$upda2;
|
|
3059
|
+
var sceneStore, hasRendered, hqRenderScript, scene, cache, changedElements, utilStore, wasPlanned, elementCount, _yield$findAssets, cacheGroup, newCache, _changedElements$upda2, focusedElement, focusedNode, _iterator, _step, node, bbox, boundingInfo, frustumPlanes, isInFrustum;
|
|
2929
3060
|
return _regeneratorRuntime.wrap(function _callee$(_context) {
|
|
2930
3061
|
while (1) switch (_context.prev = _context.next) {
|
|
2931
3062
|
case 0:
|
|
2932
3063
|
sceneStore = useSceneStoreContext();
|
|
2933
3064
|
hasRendered = sceneStore.hasRendered, hqRenderScript = sceneStore.hqRenderScript, scene = sceneStore.scene, cache = sceneStore.cache, changedElements = sceneStore.changedElements;
|
|
2934
|
-
utilStore = useUtilStoreContext();
|
|
3065
|
+
utilStore = useUtilStoreContext();
|
|
3066
|
+
wasPlanned = sceneStore.hasPlanned;
|
|
3067
|
+
elementCount = sceneStore.elements.length; //disable elementrows from old cache
|
|
2935
3068
|
changedElements === null || changedElements === void 0 || (_changedElements$upda = changedElements.updatedElements) === null || _changedElements$upda === void 0 || _changedElements$upda.forEach(function (el) {
|
|
2936
3069
|
return utilStore.disableElementRows(el.name, cache);
|
|
2937
3070
|
});
|
|
2938
|
-
_context.next =
|
|
3071
|
+
_context.next = 8;
|
|
2939
3072
|
return findAssets(hqRenderScript.assets, cache);
|
|
2940
|
-
case
|
|
3073
|
+
case 8:
|
|
2941
3074
|
_yield$findAssets = _context.sent;
|
|
2942
3075
|
cacheGroup = _yield$findAssets.cacheGroup;
|
|
2943
3076
|
newCache = _yield$findAssets.newCache;
|
|
@@ -2945,6 +3078,7 @@ var parser = /*#__PURE__*/function () {
|
|
|
2945
3078
|
changedElements.deletedElements.forEach(function (deletedElement) {
|
|
2946
3079
|
var _scene$getTransformNo;
|
|
2947
3080
|
(_scene$getTransformNo = scene.getTransformNodeByName(deletedElement.name)) === null || _scene$getTransformNo === void 0 || _scene$getTransformNo.dispose();
|
|
3081
|
+
sceneStore.removeElement(deletedElement);
|
|
2948
3082
|
});
|
|
2949
3083
|
}
|
|
2950
3084
|
if (changedElements && changedElements.updatedElements && changedElements.updatedElements.length > 0) {
|
|
@@ -2973,7 +3107,46 @@ var parser = /*#__PURE__*/function () {
|
|
|
2973
3107
|
}
|
|
2974
3108
|
utilStore.setRTVAnalyzeData();
|
|
2975
3109
|
deacCache(cacheGroup);
|
|
2976
|
-
|
|
3110
|
+
|
|
3111
|
+
// Check if the bounding box is in the frustum
|
|
3112
|
+
focusedElement = sceneStore.focusedElement;
|
|
3113
|
+
if (!focusedElement) {
|
|
3114
|
+
_context.next = 27;
|
|
3115
|
+
break;
|
|
3116
|
+
}
|
|
3117
|
+
// let focusedNode = scene.getTransformNodeByName(focusedElement.name)!;
|
|
3118
|
+
focusedNode = undefined;
|
|
3119
|
+
_iterator = _createForOfIteratorHelper(scene.transformNodes);
|
|
3120
|
+
try {
|
|
3121
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
3122
|
+
node = _step.value;
|
|
3123
|
+
if (node.name == focusedElement.name) {
|
|
3124
|
+
if (sceneStore.getId(node) == focusedElement.id) {
|
|
3125
|
+
focusedNode = node;
|
|
3126
|
+
}
|
|
3127
|
+
}
|
|
3128
|
+
}
|
|
3129
|
+
} catch (err) {
|
|
3130
|
+
_iterator.e(err);
|
|
3131
|
+
} finally {
|
|
3132
|
+
_iterator.f();
|
|
3133
|
+
}
|
|
3134
|
+
if (focusedNode) {
|
|
3135
|
+
_context.next = 22;
|
|
3136
|
+
break;
|
|
3137
|
+
}
|
|
3138
|
+
return _context.abrupt("return");
|
|
3139
|
+
case 22:
|
|
3140
|
+
bbox = focusedNode.getHierarchyBoundingVectors();
|
|
3141
|
+
boundingInfo = new BoundingInfo(bbox.min, bbox.max);
|
|
3142
|
+
frustumPlanes = Frustum.GetPlanes(scene.activeCamera.getTransformationMatrix());
|
|
3143
|
+
isInFrustum = boundingInfo.isCompletelyInFrustum(frustumPlanes);
|
|
3144
|
+
if (focusedNode.absolutePosition.x != focusedElement.position.x || focusedNode.absolutePosition.y != focusedElement.position.y || focusedNode.absolutePosition.z != focusedElement.position.z) {
|
|
3145
|
+
sceneStore.focusElement(focusedNode);
|
|
3146
|
+
} else if (wasPlanned && (elementCount != sceneStore.elements.length || !isInFrustum && focusedElement.size != 0 && focusedElement.size != Vector3$1.Distance(bbox.min, bbox.max))) {
|
|
3147
|
+
sceneStore.focusElement(focusedNode);
|
|
3148
|
+
}
|
|
3149
|
+
case 27:
|
|
2977
3150
|
case "end":
|
|
2978
3151
|
return _context.stop();
|
|
2979
3152
|
}
|
|
@@ -3047,7 +3220,7 @@ function useRealTimeRenderData (_ref) {
|
|
|
3047
3220
|
}
|
|
3048
3221
|
function _onSceneReady() {
|
|
3049
3222
|
_onSceneReady = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
|
|
3050
|
-
var _sceneStore$hqRenderS, getEnableUnityRtvKombi, cams, filteredCustomViewpoints, activeViewpoint, activeViewpointIdx;
|
|
3223
|
+
var _sceneStore$hqRenderS, getEnableUnityRtvKombi, cams, filteredCustomViewpoints, activeViewpoint, activeViewpointIdx, activeElement, _activeElement;
|
|
3051
3224
|
return _regeneratorRuntime.wrap(function _callee2$(_context2) {
|
|
3052
3225
|
while (1) switch (_context2.prev = _context2.next) {
|
|
3053
3226
|
case 0:
|
|
@@ -3085,67 +3258,79 @@ function useRealTimeRenderData (_ref) {
|
|
|
3085
3258
|
allViewpoints: filteredCustomViewpoints
|
|
3086
3259
|
}));
|
|
3087
3260
|
}
|
|
3088
|
-
_context2.next =
|
|
3261
|
+
_context2.next = 17;
|
|
3089
3262
|
break;
|
|
3090
3263
|
case 11:
|
|
3091
3264
|
sceneStore.hqRenderScript = JSON.parse(renderjob);
|
|
3092
3265
|
if (checkCachedData()) {
|
|
3093
|
-
_context2.next =
|
|
3266
|
+
_context2.next = 17;
|
|
3094
3267
|
break;
|
|
3095
3268
|
}
|
|
3096
|
-
if (elementsInfo)
|
|
3097
|
-
|
|
3269
|
+
if (elementsInfo) {
|
|
3270
|
+
activeElement = elementsInfo.find(function (e) {
|
|
3271
|
+
return e.active;
|
|
3272
|
+
});
|
|
3273
|
+
if (activeElement) sceneStore.selectedElement = activeElement.elementId.toString();
|
|
3274
|
+
uiStore.initGui(callbacks.onElementSelected, sceneStore.elements, elementsInfo);
|
|
3275
|
+
}
|
|
3098
3276
|
if (!overlayImage) actions.toggleLoading('buildScene', false, false);
|
|
3099
3277
|
sceneStore.isInitializing = false;
|
|
3100
3278
|
return _context2.abrupt("return");
|
|
3101
|
-
case
|
|
3279
|
+
case 17:
|
|
3102
3280
|
LOG.startTransaction({
|
|
3103
3281
|
event: 'buildScene',
|
|
3104
3282
|
message: 'Start Building Realtime Scene',
|
|
3105
3283
|
eventId: 'BUILD_SCENE'
|
|
3106
3284
|
});
|
|
3107
|
-
_context2.prev =
|
|
3108
|
-
_context2.next =
|
|
3285
|
+
_context2.prev = 18;
|
|
3286
|
+
_context2.next = 21;
|
|
3109
3287
|
return parser();
|
|
3110
|
-
case
|
|
3111
|
-
if (elementsInfo)
|
|
3288
|
+
case 21:
|
|
3289
|
+
if (elementsInfo) {
|
|
3290
|
+
_activeElement = elementsInfo.find(function (e) {
|
|
3291
|
+
return e.active;
|
|
3292
|
+
});
|
|
3293
|
+
if (_activeElement) sceneStore.selectedElement = _activeElement.elementId.toString();
|
|
3294
|
+
uiStore.initGui(callbacks.onElementSelected, sceneStore.elements, elementsInfo);
|
|
3295
|
+
}
|
|
3112
3296
|
if (freePlacesOnGrids || plannedPlacesOnGrids) gridStore.getGrids(freePlacesOnGrids, plannedPlacesOnGrids);
|
|
3113
|
-
_context2.next =
|
|
3297
|
+
_context2.next = 30;
|
|
3114
3298
|
break;
|
|
3115
|
-
case
|
|
3116
|
-
_context2.prev =
|
|
3117
|
-
_context2.t0 = _context2["catch"](
|
|
3299
|
+
case 25:
|
|
3300
|
+
_context2.prev = 25;
|
|
3301
|
+
_context2.t0 = _context2["catch"](18);
|
|
3118
3302
|
LOG.errorTransaction('BUILD_SCENE', 'RTS_0001', _context2.t0.message);
|
|
3119
3303
|
LOG.error(new DivaError('Error building scene', {
|
|
3120
3304
|
cause: _context2.t0,
|
|
3121
3305
|
code: 'RTS_0001'
|
|
3122
3306
|
}));
|
|
3123
3307
|
sceneStore.isInitializing = false;
|
|
3124
|
-
case
|
|
3308
|
+
case 30:
|
|
3125
3309
|
if (callbacks.setGlb) {
|
|
3126
3310
|
sceneStore.exportScene().then(function (res) {
|
|
3127
3311
|
var _callbacks$setGlb;
|
|
3128
3312
|
if (res) (_callbacks$setGlb = callbacks.setGlb) === null || _callbacks$setGlb === void 0 || _callbacks$setGlb.call(callbacks, URL.createObjectURL(res.glTFFiles['fileName.glb']));
|
|
3129
3313
|
});
|
|
3314
|
+
} else {
|
|
3315
|
+
LOG.debug('callbacks.setGlb is undefined');
|
|
3130
3316
|
}
|
|
3131
3317
|
if (!sceneStore.hasRendered) {
|
|
3132
3318
|
sceneStore.scene.getEngine().runRenderLoop(renderLoop);
|
|
3133
3319
|
sceneStore.hasRendered = true;
|
|
3134
3320
|
}
|
|
3135
|
-
|
|
3136
|
-
// sceneStore.scene.debugLayer?.show();
|
|
3137
3321
|
sceneStore.scene.onAfterRenderObservable.add(onFirstFrame);
|
|
3138
3322
|
LOG.successTransaction('BUILD_SCENE');
|
|
3139
|
-
case
|
|
3323
|
+
case 34:
|
|
3140
3324
|
case "end":
|
|
3141
3325
|
return _context2.stop();
|
|
3142
3326
|
}
|
|
3143
|
-
}, _callee2, null, [[
|
|
3327
|
+
}, _callee2, null, [[18, 25]]);
|
|
3144
3328
|
}));
|
|
3145
3329
|
return _onSceneReady.apply(this, arguments);
|
|
3146
3330
|
}
|
|
3147
3331
|
function onFirstFrame() {
|
|
3148
3332
|
var _callbacks$onInitiali2, _sceneStore;
|
|
3333
|
+
// sceneStore.scene.debugLayer!.show();
|
|
3149
3334
|
sceneStore.isInitializing = false;
|
|
3150
3335
|
sceneStore.scene.onAfterRenderObservable.removeCallback(onFirstFrame);
|
|
3151
3336
|
if (!overlayImage) actions.toggleLoading('buildScene', false, false);
|
|
@@ -3186,7 +3371,8 @@ function useRealTimeRenderData (_ref) {
|
|
|
3186
3371
|
}
|
|
3187
3372
|
engine = new Engine(gameCanvas.current, true, {
|
|
3188
3373
|
antialias: true,
|
|
3189
|
-
stencil:
|
|
3374
|
+
stencil: false,
|
|
3375
|
+
audioEngine: false
|
|
3190
3376
|
}, true);
|
|
3191
3377
|
engine.renderEvenInBackground = renderInBackground;
|
|
3192
3378
|
engine.disablePerformanceMonitorInBackground = true;
|
|
@@ -3212,7 +3398,9 @@ function useRealTimeRenderData (_ref) {
|
|
|
3212
3398
|
});
|
|
3213
3399
|
case 17:
|
|
3214
3400
|
resize = function resize() {
|
|
3215
|
-
scene.getEngine()
|
|
3401
|
+
if (inBackground || !scene || !scene.getEngine()) return;
|
|
3402
|
+
if (sceneStore.hasPlanned) sceneStore.doRenderControlLoop = true;
|
|
3403
|
+
return scene.getEngine().resize();
|
|
3216
3404
|
};
|
|
3217
3405
|
if (window) {
|
|
3218
3406
|
window.addEventListener('resize', resize);
|
|
@@ -3238,7 +3426,9 @@ function useRealTimeRenderData (_ref) {
|
|
|
3238
3426
|
asyncUseEffect();
|
|
3239
3427
|
}, []);
|
|
3240
3428
|
useEffect(function () {
|
|
3429
|
+
if (!utilStore.updateWithUnityData) return;
|
|
3241
3430
|
if (overlayImage && uiStore) uiStore.updateOverlayImage(overlayImage);
|
|
3431
|
+
if (sceneStore && sceneStore.scene.activeCamera) updateCam(sceneStore.hqRenderScript.cams[0], sceneStore.scene);
|
|
3242
3432
|
}, [overlayImage]);
|
|
3243
3433
|
useEffect(function () {
|
|
3244
3434
|
if (inBackground) {
|
|
@@ -3476,8 +3666,9 @@ var RealTimeRenderer = /*#__PURE__*/memo(function (props) {
|
|
|
3476
3666
|
ref: resolutionDiv,
|
|
3477
3667
|
style: {
|
|
3478
3668
|
position: 'absolute',
|
|
3669
|
+
top: '-70px',
|
|
3479
3670
|
width: '100%',
|
|
3480
|
-
height: '100%',
|
|
3671
|
+
height: 'calc(100% + 70px)',
|
|
3481
3672
|
backgroundColor: 'white',
|
|
3482
3673
|
zIndex: 2
|
|
3483
3674
|
},
|
|
@@ -3506,7 +3697,8 @@ var RealTimeRenderer = /*#__PURE__*/memo(function (props) {
|
|
|
3506
3697
|
})]
|
|
3507
3698
|
});
|
|
3508
3699
|
}, function (prevProps, curProps) {
|
|
3509
|
-
|
|
3700
|
+
var _prevProps$overlayIma, _curProps$overlayImag, _prevProps$overlayIma2, _curProps$overlayImag2;
|
|
3701
|
+
if (((_prevProps$overlayIma = prevProps.overlayImage) === null || _prevProps$overlayIma === void 0 ? void 0 : _prevProps$overlayIma.base64) != ((_curProps$overlayImag = curProps.overlayImage) === null || _curProps$overlayImag === void 0 ? void 0 : _curProps$overlayImag.base64) || ((_prevProps$overlayIma2 = prevProps.overlayImage) === null || _prevProps$overlayIma2 === void 0 ? void 0 : _prevProps$overlayIma2.isStaticBg) != ((_curProps$overlayImag2 = curProps.overlayImage) === null || _curProps$overlayImag2 === void 0 ? void 0 : _curProps$overlayImag2.isStaticBg)) return false;
|
|
3510
3702
|
if (prevProps.renderjob != curProps.renderjob) return false;
|
|
3511
3703
|
if (JSON.stringify(prevProps.elementsInfo) != JSON.stringify(curProps.elementsInfo)) return false;
|
|
3512
3704
|
if (prevProps.inBackground != curProps.inBackground) return false;
|