@crystaldesign/real-time-viewer 24.9.0-beta.7 → 24.9.0-beta.8
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 +47 -124
- package/build/types/real-time-viewer/src/store/SceneStore.d.ts +1 -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 +2 -5
- package/build/types/real-time-viewer/src/store/UIStore.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 +2 -2
package/build/esm/index.js
CHANGED
|
@@ -22,20 +22,19 @@ import { SSAO2RenderingPipeline } from '@babylonjs/core/PostProcesses/RenderPipe
|
|
|
22
22
|
import '@babylonjs/core/Rendering/geometryBufferRendererSceneComponent';
|
|
23
23
|
import '@babylonjs/core/Rendering/prePassRendererSceneComponent';
|
|
24
24
|
import { UniversalCamera } from '@babylonjs/core/Cameras/universalCamera';
|
|
25
|
-
import { Tools, WebRequest } from '@babylonjs/core/Misc';
|
|
25
|
+
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
29
|
import { Ellipse, Rectangle, Button, TextBlock, Image, AdvancedDynamicTexture } from '@babylonjs/gui';
|
|
30
|
-
import {
|
|
31
|
-
import { Matrix as Matrix$1, Vector3 as Vector3$2 } from '@babylonjs/core/Maths/math';
|
|
30
|
+
import { Matrix as Matrix$1, Vector3 as Vector3$1 } from '@babylonjs/core/Maths/math';
|
|
32
31
|
import { Engine } from '@babylonjs/core/Engines/engine';
|
|
33
32
|
import { Scene } from '@babylonjs/core/scene';
|
|
34
33
|
import { DracoCompression } from '@babylonjs/core/Meshes/Compression/dracoCompression';
|
|
35
34
|
import { SceneLoader } from '@babylonjs/core/Loading/sceneLoader';
|
|
36
35
|
import { PBRMetallicRoughnessMaterial } from '@babylonjs/core/Materials/PBR/pbrMetallicRoughnessMaterial';
|
|
37
36
|
import { DirectionalLight } from '@babylonjs/core/Lights/directionalLight';
|
|
38
|
-
import { StandardMaterial
|
|
37
|
+
import { StandardMaterial } from '@babylonjs/core/Materials/standardMaterial';
|
|
39
38
|
import '@babylonjs/loaders/glTF/2.0/';
|
|
40
39
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
41
40
|
|
|
@@ -66,12 +65,12 @@ function GetCameraControls(camera) {
|
|
|
66
65
|
var stopRender = true;
|
|
67
66
|
var deltaCamPos = targetCameraPosition.subtract(camera.position).multiplyByFloats(0.1, 0.1, 0.1);
|
|
68
67
|
var deltaTarget = sceneStore.cameraTargetPosition.subtract(camera.target).multiplyByFloats(0.1, 0.1, 0.1);
|
|
69
|
-
if (Math.abs(deltaCamPos.x) + Math.abs(deltaCamPos.y) + Math.abs(deltaCamPos.z) > 0.
|
|
68
|
+
if (Math.abs(deltaCamPos.x) + Math.abs(deltaCamPos.y) + Math.abs(deltaCamPos.z) > 0.01) {
|
|
70
69
|
camera.position = camera.position.addInPlaceFromFloats(deltaCamPos.x, deltaCamPos.y, deltaCamPos.z);
|
|
71
70
|
camera.setTarget(sceneStore.cameraTargetPosition);
|
|
72
71
|
stopRender = false;
|
|
73
72
|
}
|
|
74
|
-
if (Math.abs(deltaTarget.x) + Math.abs(deltaTarget.y) + Math.abs(deltaTarget.z) > 0.
|
|
73
|
+
if (Math.abs(deltaTarget.x) + Math.abs(deltaTarget.y) + Math.abs(deltaTarget.z) > 0.01) {
|
|
75
74
|
camera.setTarget(camera.target.addInPlaceFromFloats(deltaTarget.x, deltaTarget.y, deltaTarget.z));
|
|
76
75
|
stopRender = false;
|
|
77
76
|
}
|
|
@@ -816,9 +815,9 @@ var lightning = function lightning(diva3durl, scene, cams, isMobile, sceneStore)
|
|
|
816
815
|
scene.getMaterialByName('skyBox').alpha = 0;
|
|
817
816
|
scene.getEngine().setHardwareScalingLevel(1 / window.devicePixelRatio);
|
|
818
817
|
var ssao = new SSAO2RenderingPipeline('ssao', scene, {
|
|
819
|
-
ssaoRatio:
|
|
818
|
+
ssaoRatio: 0.5,
|
|
820
819
|
// Ratio of the SSAO post-process, in a lower resolution
|
|
821
|
-
blurRatio:
|
|
820
|
+
blurRatio: 0.5 // Ratio of the combine post-process (combines the SSAO and the scene)
|
|
822
821
|
}, cams);
|
|
823
822
|
ssao.radius = 1.25;
|
|
824
823
|
ssao.epsilon = 0.002;
|
|
@@ -1436,10 +1435,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1436
1435
|
_defineProperty(this, "_outstandingImageCount", void 0);
|
|
1437
1436
|
_defineProperty(this, "_latestViewpoint", void 0);
|
|
1438
1437
|
_defineProperty(this, "_guiElements", []);
|
|
1439
|
-
_defineProperty(this, "_clonedMeshes", []);
|
|
1440
|
-
_defineProperty(this, "_highlightMaterial", void 0);
|
|
1441
1438
|
_defineProperty(this, "_scene", void 0);
|
|
1442
|
-
_defineProperty(this, "_selectedHighlight", void 0);
|
|
1443
1439
|
_defineProperty(this, "_selectionHandler", void 0);
|
|
1444
1440
|
_defineProperty(this, "_colors", {
|
|
1445
1441
|
defaultBg: 'rgba(240, 240, 240, 255)',
|
|
@@ -1477,66 +1473,42 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1477
1473
|
}
|
|
1478
1474
|
this._outstandingImageCount = 0;
|
|
1479
1475
|
if (_overlayImage) this.updateOverlayImage(_overlayImage);
|
|
1480
|
-
this._highlightMaterial = new StandardMaterial('highlight_mat', scene);
|
|
1481
|
-
this._highlightMaterial.depthFunction = 519; // = always
|
|
1482
|
-
this._highlightMaterial.disableColorWrite = true;
|
|
1483
|
-
this._selectedHighlight = new HighlightLayer('hl1', scene, {
|
|
1484
|
-
isStroke: true,
|
|
1485
|
-
blurTextureSizeRatio: 1,
|
|
1486
|
-
mainTextureFixedSize: 1024
|
|
1487
|
-
});
|
|
1488
|
-
this._selectedHighlight.renderingGroupId = 1;
|
|
1489
|
-
this._selectedHighlight.innerGlow = false;
|
|
1490
1476
|
}
|
|
1491
1477
|
return _createClass(UIStore, [{
|
|
1492
|
-
key: "addMesh",
|
|
1493
|
-
value: function addMesh(abstractMeshes) {
|
|
1494
|
-
var _this2 = this;
|
|
1495
|
-
abstractMeshes.forEach(function (abstractMesh) {
|
|
1496
|
-
var clonedMesh = abstractMesh.clone(abstractMesh.name + '_highlight', abstractMesh.parent);
|
|
1497
|
-
_this2._clonedMeshes.push(clonedMesh);
|
|
1498
|
-
clonedMesh.material = _this2._highlightMaterial;
|
|
1499
|
-
clonedMesh.renderingGroupId = 1;
|
|
1500
|
-
abstractMesh.visibility = 1;
|
|
1501
|
-
_this2._selectedHighlight.addMesh(clonedMesh, Color3$1.White());
|
|
1502
|
-
_this2.addMesh(abstractMesh.getChildMeshes());
|
|
1503
|
-
});
|
|
1504
|
-
}
|
|
1505
|
-
}, {
|
|
1506
1478
|
key: "initSelectionHandler",
|
|
1507
1479
|
value: function initSelectionHandler(onElementSelected) {
|
|
1508
|
-
var
|
|
1480
|
+
var _this2 = this;
|
|
1509
1481
|
this._selectionHandler = SelHandler({
|
|
1510
1482
|
onElSelected: onElementSelected
|
|
1511
1483
|
});
|
|
1512
1484
|
this._scene.onPointerObservable.add(function (pointerInfo) {
|
|
1513
|
-
var
|
|
1514
|
-
return (
|
|
1485
|
+
var _this2$_selectionHand;
|
|
1486
|
+
return (_this2$_selectionHand = _this2._selectionHandler) === null || _this2$_selectionHand === void 0 ? void 0 : _this2$_selectionHand.onSelection(pointerInfo);
|
|
1515
1487
|
});
|
|
1516
1488
|
this._scene.pointerMovePredicate = function (mesh) {
|
|
1517
|
-
return mesh.isPickable && mesh.isReady() && mesh.isEnabled() && (mesh.enablePointerMoveEvents ||
|
|
1489
|
+
return mesh.isPickable && mesh.isReady() && mesh.isEnabled() && (mesh.enablePointerMoveEvents || _this2._scene.constantlyUpdateMeshUnderPointer || mesh._getActionManagerForTrigger() !== null) && (!_this2._scene.cameraToUseForPointers || (_this2._scene.cameraToUseForPointers.layerMask & mesh.layerMask) !== 0);
|
|
1518
1490
|
};
|
|
1519
1491
|
this._scene.pointerDownPredicate = function (mesh) {
|
|
1520
|
-
return mesh.isPickable && mesh.isReady() && mesh.isEnabled() && (!
|
|
1492
|
+
return mesh.isPickable && mesh.isReady() && mesh.isEnabled() && (!_this2._scene.cameraToUseForPointers || (_this2._scene.cameraToUseForPointers.layerMask & mesh.layerMask) !== 0);
|
|
1521
1493
|
};
|
|
1522
1494
|
this._scene.pointerUpPredicate = function (mesh) {
|
|
1523
|
-
return mesh.isPickable && mesh.isReady() && mesh.isEnabled() && (!
|
|
1495
|
+
return mesh.isPickable && mesh.isReady() && mesh.isEnabled() && (!_this2._scene.cameraToUseForPointers || (_this2._scene.cameraToUseForPointers.layerMask & mesh.layerMask) !== 0);
|
|
1524
1496
|
};
|
|
1525
1497
|
}
|
|
1526
1498
|
}, {
|
|
1527
1499
|
key: "createGridGui",
|
|
1528
1500
|
value: function createGridGui(mesh, onClickDel) {
|
|
1529
|
-
var
|
|
1501
|
+
var _this3 = this;
|
|
1530
1502
|
if (!this._selectionHandler || !mesh) return;
|
|
1531
1503
|
this.removeGridGui();
|
|
1532
1504
|
var guiElem = new TransformNode('gridGuiElem', this._scene);
|
|
1533
1505
|
var max = mesh.getHierarchyBoundingVectors().max;
|
|
1534
1506
|
var min = mesh.getHierarchyBoundingVectors().min;
|
|
1535
1507
|
guiElem.parent = mesh;
|
|
1536
|
-
var absolutePosition = new Vector3
|
|
1537
|
-
var localPos = Vector3
|
|
1538
|
-
this._utilStore.moveObjectInDirection(guiElem, Vector3
|
|
1539
|
-
this._utilStore.moveObjectInDirection(guiElem, Vector3
|
|
1508
|
+
var absolutePosition = new Vector3(min.x, max.y, max.z);
|
|
1509
|
+
var localPos = Vector3.TransformCoordinates(absolutePosition, guiElem.getWorldMatrix().invert());
|
|
1510
|
+
this._utilStore.moveObjectInDirection(guiElem, Vector3.Backward(), Math.abs(localPos.z));
|
|
1511
|
+
this._utilStore.moveObjectInDirection(guiElem, Vector3.Up(), -localPos.y + 0.05);
|
|
1540
1512
|
var dtarget = this._uiConfig.templateConfig == 'standard' ? new Ellipse('deleteEllipse') : new Rectangle('deleteEllipse');
|
|
1541
1513
|
dtarget.width = this._uiConfig.templateConfig == 'standard' ? '40px' : '35px';
|
|
1542
1514
|
dtarget.height = this._uiConfig.templateConfig == 'standard' ? '40px' : '35px';
|
|
@@ -1548,10 +1520,10 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1548
1520
|
dbt.height = this._uiConfig.templateConfig == 'standard' ? '40px' : '70%';
|
|
1549
1521
|
dbt.onPointerClickObservable.add(onClickDel);
|
|
1550
1522
|
dtarget.onPointerEnterObservable = new Observable(function () {
|
|
1551
|
-
return dtarget.background =
|
|
1523
|
+
return dtarget.background = _this3._colors.hoverBg;
|
|
1552
1524
|
});
|
|
1553
1525
|
dtarget.onPointerOutObservable = new Observable(function () {
|
|
1554
|
-
return dtarget.background =
|
|
1526
|
+
return dtarget.background = _this3._colors.defaultBg;
|
|
1555
1527
|
});
|
|
1556
1528
|
if (this._uiConfig.templateConfig == 'standard') dtarget.linkOffsetY = -48;
|
|
1557
1529
|
dtarget.addControl(dbt);
|
|
@@ -1572,82 +1544,33 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1572
1544
|
}, {
|
|
1573
1545
|
key: "initGui",
|
|
1574
1546
|
value: function initGui(onElSelected, elements, elementsInfo) {
|
|
1575
|
-
var
|
|
1547
|
+
var _this4 = this;
|
|
1576
1548
|
if (!this._selectionHandler) this.initSelectionHandler(onElSelected);
|
|
1577
1549
|
if (!this._scene) return;
|
|
1578
1550
|
if (!elementsInfo) return;
|
|
1579
1551
|
if (elementsInfo.filter(function (e) {
|
|
1580
1552
|
return !!e.posNr;
|
|
1581
1553
|
}).length > elements.length) return; // elementinfo update before unity -- return and wait for after buildscene
|
|
1582
|
-
|
|
1583
1554
|
this.clearGui();
|
|
1584
|
-
var showSelected = true;
|
|
1585
|
-
this._selectedHighlight.removeAllMeshes();
|
|
1586
|
-
this._clonedMeshes.forEach(function (cm) {
|
|
1587
|
-
return cm.dispose();
|
|
1588
|
-
});
|
|
1589
|
-
this._clonedMeshes.length = 0;
|
|
1590
|
-
if (elementsInfo.every(function (e) {
|
|
1591
|
-
return e.active;
|
|
1592
|
-
})) showSelected = false;
|
|
1593
1555
|
var _loop = function _loop() {
|
|
1594
1556
|
var elementInfo = elementsInfo[idx];
|
|
1595
1557
|
var emnt = elements.find(function (el) {
|
|
1596
1558
|
return Number(el.bbn.name.slice(el.bbn.name.lastIndexOf('E') + 1, el.bbn.name.length)) == elementInfo.elementId;
|
|
1597
1559
|
});
|
|
1598
1560
|
if (!emnt || !elementInfo.posNr) return 0; // continue
|
|
1599
|
-
var element =
|
|
1561
|
+
var element = _this4._scene.getTransformNodeByName(emnt.bbn.name);
|
|
1600
1562
|
if (!element) return 0; // continue
|
|
1601
|
-
var guiElemLeftBack = new TransformNode('guiElem_' + elementInfo.elementId,
|
|
1563
|
+
var guiElemLeftBack = new TransformNode('guiElem_' + elementInfo.elementId, _this4._scene);
|
|
1602
1564
|
var max = element.getHierarchyBoundingVectors().max;
|
|
1603
1565
|
var min = element.getHierarchyBoundingVectors().min;
|
|
1604
|
-
guiElemLeftBack.position = new Vector3
|
|
1566
|
+
guiElemLeftBack.position = new Vector3(element.absolutePosition.x, max.y, element.absolutePosition.z);
|
|
1605
1567
|
guiElemRightBack = undefined;
|
|
1606
|
-
if (
|
|
1607
|
-
guiElemRightBack = new TransformNode('guiElem_' + elementInfo.elementId,
|
|
1608
|
-
var pos = new Vector3
|
|
1568
|
+
if (_this4._uiConfig.posTrashIcon == 'TOP_RIGHT_BACK') {
|
|
1569
|
+
guiElemRightBack = new TransformNode('guiElem_' + elementInfo.elementId, _this4._scene);
|
|
1570
|
+
var pos = new Vector3(min.x, max.y, min.z);
|
|
1609
1571
|
guiElemRightBack.position = pos;
|
|
1610
1572
|
}
|
|
1611
|
-
|
|
1612
|
-
if (!showSelected) return 0; // continue
|
|
1613
|
-
if (elementInfo.active) {
|
|
1614
|
-
var mainAndChildElements = elements.filter(function (el) {
|
|
1615
|
-
return el.bbn.name.includes('E' + elementInfo.elementId);
|
|
1616
|
-
});
|
|
1617
|
-
mainAndChildElements.forEach(function (e) {
|
|
1618
|
-
return _this5.addMesh(e.bbn.getChildMeshes(false));
|
|
1619
|
-
});
|
|
1620
|
-
} else if (!elementInfo.active) {
|
|
1621
|
-
var _mainAndChildElements = elements.filter(function (el) {
|
|
1622
|
-
return el.bbn.name.includes('E' + elementInfo.elementId);
|
|
1623
|
-
});
|
|
1624
|
-
_mainAndChildElements.forEach(function (emnt) {
|
|
1625
|
-
var element = emnt.bbn;
|
|
1626
|
-
var meshes = element.getChildMeshes(false);
|
|
1627
|
-
var previewActionManager = new ActionManager$1(_this5._scene);
|
|
1628
|
-
previewActionManager.registerAction(new ExecuteCodeAction$1(ActionManager$1.OnPointerOverTrigger, function () {
|
|
1629
|
-
return meshes.forEach(function (m) {
|
|
1630
|
-
_this5._clonedMeshes.forEach(function (m) {
|
|
1631
|
-
return m.visibility = 0;
|
|
1632
|
-
});
|
|
1633
|
-
_this5._selectedHighlight.renderingGroupId = 0;
|
|
1634
|
-
_this5._selectedHighlight.addMesh(m, new Color3$1(0.1, 0.5, 0.1), true);
|
|
1635
|
-
});
|
|
1636
|
-
}));
|
|
1637
|
-
previewActionManager.registerAction(new ExecuteCodeAction$1(ActionManager$1.OnPointerOutTrigger, function () {
|
|
1638
|
-
return meshes.forEach(function (m) {
|
|
1639
|
-
_this5._selectedHighlight.removeMesh(m);
|
|
1640
|
-
_this5._selectedHighlight.renderingGroupId = 1;
|
|
1641
|
-
_this5._clonedMeshes.forEach(function (m) {
|
|
1642
|
-
return m.visibility = 1;
|
|
1643
|
-
});
|
|
1644
|
-
});
|
|
1645
|
-
}));
|
|
1646
|
-
meshes.forEach(function (mesh) {
|
|
1647
|
-
mesh.actionManager = previewActionManager;
|
|
1648
|
-
});
|
|
1649
|
-
});
|
|
1650
|
-
}
|
|
1573
|
+
_this4.createGUIButton(guiElemLeftBack, elementInfo.posNr, elementInfo.active, elementInfo.selectable, element.parent.name, elementInfo.elementId, guiElemRightBack);
|
|
1651
1574
|
},
|
|
1652
1575
|
guiElemRightBack,
|
|
1653
1576
|
_ret;
|
|
@@ -1659,7 +1582,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1659
1582
|
}, {
|
|
1660
1583
|
key: "selectElem",
|
|
1661
1584
|
value: function selectElem(name) {
|
|
1662
|
-
var
|
|
1585
|
+
var _this5 = this;
|
|
1663
1586
|
var _iterator = _createForOfIteratorHelper$5(this._gui.getControlsByType('ellipse')),
|
|
1664
1587
|
_step;
|
|
1665
1588
|
try {
|
|
@@ -1675,9 +1598,9 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1675
1598
|
this._guiElements.forEach(function (guiElem) {
|
|
1676
1599
|
return guiElem.elements.forEach(function (element) {
|
|
1677
1600
|
if (element.typeName == 'label') element.color = 'Black';
|
|
1678
|
-
if (element.typeName == 'Ellipse') element.color =
|
|
1601
|
+
if (element.typeName == 'Ellipse') element.color = _this5._colors.defaultBg;
|
|
1679
1602
|
if (guiElem.elementId.toString() == name) {
|
|
1680
|
-
if (element.typeName == 'label') element.color =
|
|
1603
|
+
if (element.typeName == 'label') element.color = _this5._colors.selectedBg;
|
|
1681
1604
|
if (element.typeName == 'Ellipse') element.color = 'White';
|
|
1682
1605
|
}
|
|
1683
1606
|
});
|
|
@@ -1687,7 +1610,7 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1687
1610
|
key: "createGUIButton",
|
|
1688
1611
|
value: function createGUIButton(node, posNr, isSelected, isSelectable, setId, elementId, topRightNode) {
|
|
1689
1612
|
var _this$_utilStore$view,
|
|
1690
|
-
|
|
1613
|
+
_this6 = this;
|
|
1691
1614
|
var guiElem = {
|
|
1692
1615
|
elementId: elementId,
|
|
1693
1616
|
elements: []
|
|
@@ -1724,8 +1647,8 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1724
1647
|
dbt.width = this._uiConfig.templateConfig == 'standard' ? '40px' : '60%';
|
|
1725
1648
|
dbt.height = this._uiConfig.templateConfig == 'standard' ? '40px' : '70%';
|
|
1726
1649
|
dbt.onPointerClickObservable.add(function () {
|
|
1727
|
-
var
|
|
1728
|
-
return (
|
|
1650
|
+
var _this6$_utilStore$vie;
|
|
1651
|
+
return (_this6$_utilStore$vie = _this6._utilStore.viewHandler) === null || _this6$_utilStore$vie === void 0 ? void 0 : _this6$_utilStore$vie.viewPlannerHandler.onElementDeleted(setId, elementId);
|
|
1729
1652
|
});
|
|
1730
1653
|
if (this._uiConfig.templateConfig == 'standard') dtarget.linkOffsetY = -48;
|
|
1731
1654
|
dtarget.addControl(dbt);
|
|
@@ -1756,17 +1679,17 @@ var UIStore = /*#__PURE__*/function () {
|
|
|
1756
1679
|
}, {
|
|
1757
1680
|
key: "requestNewOverlayImage",
|
|
1758
1681
|
value: function requestNewOverlayImage(viewpoint) {
|
|
1759
|
-
var
|
|
1682
|
+
var _this7 = this;
|
|
1760
1683
|
clearTimeout(this._timeoutId);
|
|
1761
1684
|
this._timeoutId = setTimeout(function () {
|
|
1762
|
-
var
|
|
1763
|
-
if (JSON.stringify(viewpoint) == JSON.stringify(
|
|
1764
|
-
|
|
1685
|
+
var _this7$_requestNewOve;
|
|
1686
|
+
if (JSON.stringify(viewpoint) == JSON.stringify(_this7._latestViewpoint)) {
|
|
1687
|
+
_this7._overlayImage.isVisible = true;
|
|
1765
1688
|
return;
|
|
1766
1689
|
}
|
|
1767
|
-
|
|
1768
|
-
|
|
1769
|
-
(
|
|
1690
|
+
_this7._outstandingImageCount++;
|
|
1691
|
+
_this7._latestViewpoint = viewpoint;
|
|
1692
|
+
(_this7$_requestNewOve = _this7._requestNewOverlayImage) === null || _this7$_requestNewOve === void 0 || _this7$_requestNewOve.call(_this7, viewpoint);
|
|
1770
1693
|
}, 500);
|
|
1771
1694
|
}
|
|
1772
1695
|
}]);
|
|
@@ -1784,16 +1707,16 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
1784
1707
|
_defineProperty(this, "_viewHandler", void 0);
|
|
1785
1708
|
_defineProperty(this, "calculateBBoxCenter", function (ob) {
|
|
1786
1709
|
var boundingBox = ob.getHierarchyBoundingVectors();
|
|
1787
|
-
return new Vector3$
|
|
1710
|
+
return new Vector3$1((boundingBox.max.x + boundingBox.min.x) / 2, (boundingBox.max.y + boundingBox.min.y) / 2, (boundingBox.max.z + boundingBox.min.z) / 2);
|
|
1788
1711
|
});
|
|
1789
1712
|
_defineProperty(this, "radiansToDegrees", function (vector) {
|
|
1790
|
-
return new Vector3$
|
|
1713
|
+
return new Vector3$1(vector.x * 180 / Math.PI, vector.y * 180 / Math.PI, vector.z * 180 / Math.PI);
|
|
1791
1714
|
});
|
|
1792
1715
|
_defineProperty(this, "degreesToRadians", function (vector) {
|
|
1793
|
-
return new Vector3$
|
|
1716
|
+
return new Vector3$1(vector.x / 180 * Math.PI, vector.y / 180 * Math.PI, vector.z / 180 * Math.PI);
|
|
1794
1717
|
});
|
|
1795
1718
|
_defineProperty(this, "vector3ToBVector3", function (vector) {
|
|
1796
|
-
return new Vector3$
|
|
1719
|
+
return new Vector3$1(vector.x, vector.y, vector.z);
|
|
1797
1720
|
});
|
|
1798
1721
|
_defineProperty(this, "bvector3ToVector3", function (vector) {
|
|
1799
1722
|
return {
|
|
@@ -1931,7 +1854,7 @@ var UtilStore = /*#__PURE__*/function () {
|
|
|
1931
1854
|
key: "moveObjectInDirection",
|
|
1932
1855
|
value: function moveObjectInDirection(mesh, direction, distance) {
|
|
1933
1856
|
var rotationMatrix = Matrix$1.RotationYawPitchRoll(mesh.rotation.y, mesh.rotation.x, mesh.rotation.z);
|
|
1934
|
-
direction = Vector3$
|
|
1857
|
+
direction = Vector3$1.TransformCoordinates(direction, rotationMatrix);
|
|
1935
1858
|
direction.normalize();
|
|
1936
1859
|
mesh.position.addInPlace(direction.scale(distance));
|
|
1937
1860
|
}
|
|
@@ -2907,7 +2830,7 @@ function shadow() {
|
|
|
2907
2830
|
var std_mat = new PBRMetallicRoughnessMaterial('std_mat', scene);
|
|
2908
2831
|
std_mat.metallic = 0;
|
|
2909
2832
|
scene.defaultMaterial = std_mat;
|
|
2910
|
-
var mat = new StandardMaterial
|
|
2833
|
+
var mat = new StandardMaterial('ground_mat', scene);
|
|
2911
2834
|
ground.material = mat;
|
|
2912
2835
|
}
|
|
2913
2836
|
}
|
|
@@ -68,7 +68,7 @@ export declare class SceneStore {
|
|
|
68
68
|
get hasRendered(): boolean;
|
|
69
69
|
get cams(): ArcRotateCamera[];
|
|
70
70
|
get previousHQRenderScript(): HQRenderScript | undefined;
|
|
71
|
-
get activeCamera(): import("@babylonjs/core").Camera;
|
|
71
|
+
get activeCamera(): import("@babylonjs/core/Cameras/camera").Camera;
|
|
72
72
|
get meshes(): AbstractMesh[];
|
|
73
73
|
get ssao(): SSAO2RenderingPipeline;
|
|
74
74
|
get renderPipeline(): DefaultRenderingPipeline;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SceneStore.d.ts","sourceRoot":"","sources":["../../../../../src/store/SceneStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,mCAAmC,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,eAAe,EAAE,MAAM,yCAAyC,CAAC;AAC1E,OAAO,EAAe,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,sBAAsB,EAAE,wBAAwB,EAAE,MAAM,+BAA+B,CAAC;AAIjG,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAIxC,OAAO,EAAE,SAAS,EAAwB,MAAM,0BAA0B,CAAC;AAM3E,qBAAa,UAAU;IACrB,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,uBAAuB,CAA6B;IAC5D,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,KAAK,CAAyB;IACtC,OAAO,CAAC,KAAK,CAAuB;IACpC,OAAO,CAAC,eAAe,CAAsB;IAC7C,OAAO,CAAC,YAAY,CAAkB;IACtC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,MAAM,CAAe;IAC7B,OAAO,CAAC,KAAK,CAAiD;IAC9D,OAAO,CAAC,eAAe,CAAmD;IAC1E,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,UAAU,CAAiB;IACnC,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,IAAI,CAAqB;IACjC,OAAO,CAAC,aAAa,CAA2B;IAChD,OAAO,CAAC,kBAAkB,CAAU;IAEpC,OAAO,CAAC,kBAAkB,CAAuC;IACjE,OAAO,CAAC,oBAAoB,CAAkB;IAC9C,OAAO,CAAC,qBAAqB,CAA2B;IACxD,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAE3B,KAAK,EAAE,KAAK,GAAG,SAAS,CAAa;IACrC,eAAe,EAClB;QACE,MAAM,EAAE,QAAQ,GAAG,SAAS,CAAC;QAC7B,eAAe,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;QACxC,eAAe,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;KACzC,GACD,SAAS,CAAC;gBAEF,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,IAAI;IAsCrI,IAAI,GAAG,uBAEN;IAED,IAAI,SAAS,cAEZ;IAED,IAAI,KAAK,UAER;IAED,IAAI,IAAI,wCAEP;IAED,IAAI,IAAI,oBAEP;IAED,IAAI,KAAK,YAER;IAED,IAAI,mBAAmB,IAYsB,OAAO,CAVnD;IAED,IAAI,eAAe,IAIU,MAAM,CAFlC;IAED,IAAI,eAAe,CAAC,OAAO,EAAE,MAAM,EAElC;IAED,IAAI,mBAAmB,CAAC,mBAAmB,EAAE,OAAO,EAEnD;IAED,IAAI,iBAAiB,IAIa,MAAM,IAAI,CAF3C;IAED,IAAI,iBAAiB,CAAC,UAAU,EAAE,MAAM,IAAI,EAE3C;IAED,IAAI,KAAK,CAAC,EAAE,SAAA,EAEX;IAED,IAAI,cAAc,IAuFiB,cAAc,CArFhD;IAED,IAAI,IAAI;;;;kBAEP;IAED,IAAI,QAAQ,gCASX;IAED,IAAI,oBAAoB,IAQM,OAAO,CANpC;IAED,IAAI,cAAc,IAQS,OAAO,CANjC;IAED,IAAI,oBAAoB,CAAC,GAAG,EAAE,OAAO,EAEpC;IAED,IAAI,cAAc,CAAC,MAAM,EAAE,OAAO,EAEjC;IAED,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAU7B,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAclD,IAAI,WAAW,IAiCQ,OAAO,CA/B7B;IAED,IAAI,IAAI,sBAEP;IAED,IAAI,sBAAsB,+BAEzB;IAED,IAAI,YAAY,
|
|
1
|
+
{"version":3,"file":"SceneStore.d.ts","sourceRoot":"","sources":["../../../../../src/store/SceneStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,8 @@ import { TransformNode } from '@babylonjs/core/Meshes/transformNode';
|
|
|
2
2
|
import { UIConfig, ViewpointCamInfo } from '..';
|
|
3
3
|
import { ElementsInfo } from '../types';
|
|
4
4
|
import { Element } from './types';
|
|
5
|
-
import { Mesh
|
|
5
|
+
import { Mesh } from '@babylonjs/core/Meshes/mesh';
|
|
6
|
+
import { Scene } from '@babylonjs/core/scene';
|
|
6
7
|
import { UtilStore } from './UtilStore';
|
|
7
8
|
export declare class UIStore {
|
|
8
9
|
private _utilStore;
|
|
@@ -14,15 +15,11 @@ export declare class UIStore {
|
|
|
14
15
|
private _outstandingImageCount;
|
|
15
16
|
private _latestViewpoint?;
|
|
16
17
|
private _guiElements;
|
|
17
|
-
private _clonedMeshes;
|
|
18
|
-
private _highlightMaterial;
|
|
19
18
|
private _scene;
|
|
20
|
-
private _selectedHighlight;
|
|
21
19
|
private _selectionHandler?;
|
|
22
20
|
private _colors;
|
|
23
21
|
private _gridGui?;
|
|
24
22
|
constructor(scene: Scene, utilStore: UtilStore, uiConfig?: UIConfig, requestNewOverlayImage?: (viewpoint: ViewpointCamInfo) => void, overlayImage?: string);
|
|
25
|
-
private addMesh;
|
|
26
23
|
private initSelectionHandler;
|
|
27
24
|
createGridGui(mesh: Mesh, onClickDel: any): void;
|
|
28
25
|
removeGridGui(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UIStore.d.ts","sourceRoot":"","sources":["../../../../../src/store/UIStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAIrE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,
|
|
1
|
+
{"version":3,"file":"UIStore.d.ts","sourceRoot":"","sources":["../../../../../src/store/UIStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAIrE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,IAAI,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAEnD,OAAO,EAAE,KAAK,EAAE,MAAM,uBAAuB,CAAC;AAG9C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAMxC,qBAAa,OAAO;IAClB,OAAO,CAAC,UAAU,CAAY;IAC9B,OAAO,CAAC,SAAS,CAAW;IAC5B,OAAO,CAAC,IAAI,CAAyB;IACrC,OAAO,CAAC,aAAa,CAAoB;IACzC,OAAO,CAAC,uBAAuB,CAAC,CAAwC;IACxE,OAAO,CAAC,UAAU,CAAC,CAAiB;IACpC,OAAO,CAAC,sBAAsB,CAAS;IACvC,OAAO,CAAC,gBAAgB,CAAC,CAAmB;IAC5C,OAAO,CAAC,YAAY,CAAgD;IACpE,OAAO,CAAC,MAAM,CAAQ;IACtB,OAAO,CAAC,iBAAiB,CAAC,CAAmB;IAC7C,OAAO,CAAC,OAAO,CAA2H;IAC1I,OAAO,CAAC,QAAQ,CAAC,CAAoD;gBAGnE,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,SAAS,EACpB,QAAQ,CAAC,EAAE,QAAQ,EACnB,sBAAsB,CAAC,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,EAC9D,YAAY,CAAC,EAAE,MAAM;IAgBvB,OAAO,CAAC,oBAAoB;IAgCrB,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG;IAkCzC,aAAa;IAKb,OAAO,CAAC,YAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE;IAkC5E,UAAU,CAAC,IAAI,EAAE,MAAM;IAiBvB,eAAe,CACpB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAE,MAAM,EACb,UAAU,EAAE,OAAO,EACnB,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,aAAa;IA8CvB,QAAQ;IAKR,MAAM;IAKN,kBAAkB,iBAAkB,MAAM,GAAG,SAAS,UAa3D;IAEK,sBAAsB,CAAC,SAAS,EAAE,gBAAgB;CAY1D"}
|