@sapui5/sap.ui.vk 1.138.0 → 1.139.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/src/sap/ui/vk/.library +9 -1
- package/src/sap/ui/vk/AnimationPlayback.js +1 -1
- package/src/sap/ui/vk/AnimationPlayer.js +1 -1
- package/src/sap/ui/vk/AnimationSequence.js +1 -1
- package/src/sap/ui/vk/AnimationTimeSlider.js +1 -1
- package/src/sap/ui/vk/AnimationTrack.js +1 -1
- package/src/sap/ui/vk/Annotation.js +1 -1
- package/src/sap/ui/vk/BaseNodeProxy.js +1 -1
- package/src/sap/ui/vk/Camera.js +1 -1
- package/src/sap/ui/vk/ContentConnector.js +149 -95
- package/src/sap/ui/vk/ContentManager.js +1 -1
- package/src/sap/ui/vk/ContentResource.js +26 -7
- package/src/sap/ui/vk/ContentType.js +41 -0
- package/src/sap/ui/vk/Core.js +1 -1
- package/src/sap/ui/vk/DownloadManager.js +1 -1
- package/src/sap/ui/vk/DrawerToolbar.js +46 -19
- package/src/sap/ui/vk/DvlException.js +1 -1
- package/src/sap/ui/vk/FlexibleControl.js +1 -1
- package/src/sap/ui/vk/FlexibleControlLayoutData.js +1 -1
- package/src/sap/ui/vk/Highlight.js +1 -1
- package/src/sap/ui/vk/ImageContentManager.js +1 -1
- package/src/sap/ui/vk/JointUtils.js +1 -1
- package/src/sap/ui/vk/LayerProxy.js +1 -1
- package/src/sap/ui/vk/Loco.js +1 -1
- package/src/sap/ui/vk/Material.js +1 -1
- package/src/sap/ui/vk/NativeViewport.js +1 -1
- package/src/sap/ui/vk/NodeHierarchy.js +1 -1
- package/src/sap/ui/vk/NodeProxy.js +1 -1
- package/src/sap/ui/vk/NodeUtils.js +1 -1
- package/src/sap/ui/vk/Notifications.js +1 -1
- package/src/sap/ui/vk/OrthographicCamera.js +1 -1
- package/src/sap/ui/vk/PerspectiveCamera.js +1 -1
- package/src/sap/ui/vk/ProgressIndicator.js +1 -1
- package/src/sap/ui/vk/RedlineCollaboration.js +1 -1
- package/src/sap/ui/vk/RedlineConversation.js +1 -1
- package/src/sap/ui/vk/RedlineDesign.js +1 -1
- package/src/sap/ui/vk/RedlineElement.js +1 -1
- package/src/sap/ui/vk/RedlineElementComment.js +1 -1
- package/src/sap/ui/vk/RedlineElementEllipse.js +1 -1
- package/src/sap/ui/vk/RedlineElementFreehand.js +1 -1
- package/src/sap/ui/vk/RedlineElementLine.js +1 -1
- package/src/sap/ui/vk/RedlineElementRectangle.js +1 -1
- package/src/sap/ui/vk/RedlineElementText.js +1 -1
- package/src/sap/ui/vk/RedlineSurface.js +1 -1
- package/src/sap/ui/vk/SafeArea.js +1 -1
- package/src/sap/ui/vk/Scene.js +5 -1
- package/src/sap/ui/vk/SceneTree.js +20 -3
- package/src/sap/ui/vk/StepNavigation.js +1 -1
- package/src/sap/ui/vk/Texture.js +1 -1
- package/src/sap/ui/vk/ToggleMenuButton.js +1 -1
- package/src/sap/ui/vk/ToggleMenuItem.js +1 -1
- package/src/sap/ui/vk/Toolbar.js +1 -1
- package/src/sap/ui/vk/View.js +1 -1
- package/src/sap/ui/vk/ViewGallery.js +1 -1
- package/src/sap/ui/vk/ViewGalleryThumbnail.js +1 -1
- package/src/sap/ui/vk/ViewGroup.js +1 -1
- package/src/sap/ui/vk/ViewManager.js +1 -1
- package/src/sap/ui/vk/ViewStateManager.js +3 -10
- package/src/sap/ui/vk/ViewStateManagerBase.js +2 -2
- package/src/sap/ui/vk/Viewer.js +2 -2
- package/src/sap/ui/vk/Viewport.js +1 -1
- package/src/sap/ui/vk/ViewportBase.js +24 -70
- package/src/sap/ui/vk/dvl/BaseNodeProxy.js +1 -1
- package/src/sap/ui/vk/dvl/ContentManager.js +1 -1
- package/src/sap/ui/vk/dvl/GraphicsCore.js +1 -1
- package/src/sap/ui/vk/dvl/LayerProxy.js +1 -1
- package/src/sap/ui/vk/dvl/NodeHierarchy.js +1 -1
- package/src/sap/ui/vk/dvl/NodeProxy.js +1 -1
- package/src/sap/ui/vk/dvl/Scene.js +1 -1
- package/src/sap/ui/vk/dvl/ViewStateManager.js +1 -1
- package/src/sap/ui/vk/dvl/Viewport.js +1 -1
- package/src/sap/ui/vk/ecad/ElementsPanel.js +14 -41
- package/src/sap/ui/vk/ecad/LayersPanel.js +8 -25
- package/src/sap/ui/vk/i18n/messagebundle.properties +46 -44
- package/src/sap/ui/vk/i18n/messagebundle_ar.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_bg.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_ca.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_cnr.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_cs.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_cy.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_da.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_de.properties +26 -13
- package/src/sap/ui/vk/i18n/messagebundle_el.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_en.properties +25 -326
- package/src/sap/ui/vk/i18n/messagebundle_en_GB.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_en_US_saprigi.properties +26 -12
- package/src/sap/ui/vk/i18n/messagebundle_es.properties +27 -14
- package/src/sap/ui/vk/i18n/messagebundle_es_MX.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_et.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_fi.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_fr.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_fr_CA.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_hi.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_hr.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_hu.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_id.properties +26 -13
- package/src/sap/ui/vk/i18n/messagebundle_it.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_iw.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_ja.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_kk.properties +37 -24
- package/src/sap/ui/vk/i18n/messagebundle_ko.properties +22 -9
- package/src/sap/ui/vk/i18n/messagebundle_lt.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_lv.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_mk.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_ms.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_nl.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_no.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_pl.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_pt.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_pt_PT.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_ro.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_ru.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_sh.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_sk.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_sl.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_sr.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_sv.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_th.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_tr.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_uk.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_vi.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_zh_CN.properties +25 -12
- package/src/sap/ui/vk/i18n/messagebundle_zh_TW.properties +25 -12
- package/src/sap/ui/vk/library.js +5 -5
- package/src/sap/ui/vk/measurements/Angle.js +1 -1
- package/src/sap/ui/vk/measurements/Area.js +1 -1
- package/src/sap/ui/vk/measurements/Distance.js +1 -1
- package/src/sap/ui/vk/measurements/Edge.js +1 -1
- package/src/sap/ui/vk/measurements/Face.js +1 -1
- package/src/sap/ui/vk/measurements/Feature.js +1 -1
- package/src/sap/ui/vk/measurements/Vertex.js +1 -1
- package/src/sap/ui/vk/pdf/ContentManager.js +1 -1
- package/src/sap/ui/vk/pdf/Page.js +9 -10
- package/src/sap/ui/vk/pdf/Utils.js +4 -2
- package/src/sap/ui/vk/pdf/Viewport.js +1 -1
- package/src/sap/ui/vk/svg/BaseNodeProxy.js +1 -1
- package/src/sap/ui/vk/svg/ContentDeliveryService.js +1 -1
- package/src/sap/ui/vk/svg/ContentManager.js +4 -5
- package/src/sap/ui/vk/svg/NodeHierarchy.js +1 -1
- package/src/sap/ui/vk/svg/NodeProxy.js +1 -1
- package/src/sap/ui/vk/svg/OrthographicCamera.js +1 -1
- package/src/sap/ui/vk/svg/Scene.js +1 -1
- package/src/sap/ui/vk/svg/SceneBuilder.js +1 -1
- package/src/sap/ui/vk/svg/ViewStateManager.js +1 -1
- package/src/sap/ui/vk/svg/Viewport.js +11 -18
- package/src/sap/ui/vk/thirdparty/pdf.worker.js +1 -1
- package/src/sap/ui/vk/thirdparty/three.js +31455 -31473
- package/src/sap/ui/vk/threejs/AnimationHelper.js +1 -1
- package/src/sap/ui/vk/threejs/BaseNodeProxy.js +1 -1
- package/src/sap/ui/vk/threejs/Billboard.js +23 -11
- package/src/sap/ui/vk/threejs/Callout.js +1 -1
- package/src/sap/ui/vk/threejs/ContentDeliveryService.js +1 -1
- package/src/sap/ui/vk/threejs/ContentManager.js +2 -2
- package/src/sap/ui/vk/threejs/DetailView.js +1 -1
- package/src/sap/ui/vk/threejs/HighlightPlayer.js +14 -22
- package/src/sap/ui/vk/threejs/Material.js +1 -1
- package/src/sap/ui/vk/threejs/NodeHierarchy.js +1 -1
- package/src/sap/ui/vk/threejs/NodeProxy.js +9 -11
- package/src/sap/ui/vk/threejs/OrthographicCamera.js +1 -1
- package/src/sap/ui/vk/threejs/OutlineRenderer.js +4 -10
- package/src/sap/ui/vk/threejs/PerspectiveCamera.js +1 -1
- package/src/sap/ui/vk/threejs/PointCloudGroup.js +1 -1
- package/src/sap/ui/vk/threejs/Scene.js +1 -15
- package/src/sap/ui/vk/threejs/SceneBuilder.js +1 -4
- package/src/sap/ui/vk/threejs/Texture.js +1 -1
- package/src/sap/ui/vk/threejs/ThreeExtensions.js +10 -174
- package/src/sap/ui/vk/threejs/ThreeUtils.js +7 -18
- package/src/sap/ui/vk/threejs/Thrustline.js +1 -1
- package/src/sap/ui/vk/threejs/ViewStateManager.js +751 -446
- package/src/sap/ui/vk/threejs/Viewport.js +41 -31
- package/src/sap/ui/vk/tools/AnchorPointTool.js +1 -1
- package/src/sap/ui/vk/tools/AnchorPointToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/AxisAngleRotationTool.js +1 -1
- package/src/sap/ui/vk/tools/AxisAngleRotationToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/CreateEllipseTool.js +1 -1
- package/src/sap/ui/vk/tools/CreateEllipseToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/CreateParametricGizmo.js +1 -1
- package/src/sap/ui/vk/tools/CreatePathTool.js +1 -1
- package/src/sap/ui/vk/tools/CreatePathToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/CreateRectangleTool.js +1 -1
- package/src/sap/ui/vk/tools/CreateRectangleToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/CreateTextTool.js +1 -1
- package/src/sap/ui/vk/tools/CreateTextToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/CrossSectionTool.js +1 -1
- package/src/sap/ui/vk/tools/CrossSectionToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/DuplicateSvgElementTool.js +1 -1
- package/src/sap/ui/vk/tools/DuplicateSvgElementToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/ExplodeTool.js +1 -1
- package/src/sap/ui/vk/tools/ExplodeToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/Gizmo.js +1 -1
- package/src/sap/ui/vk/tools/HitTestTool.js +1 -1
- package/src/sap/ui/vk/tools/MoveTool.js +1 -1
- package/src/sap/ui/vk/tools/MoveToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/PointCloudSelectionTool.js +1 -1
- package/src/sap/ui/vk/tools/PointCloudSelectionToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/RectSelectTool.js +1 -1
- package/src/sap/ui/vk/tools/RedlineTool.js +1 -1
- package/src/sap/ui/vk/tools/RedlineToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/RotateOrbitTool.js +1 -1
- package/src/sap/ui/vk/tools/RotateTool.js +1 -1
- package/src/sap/ui/vk/tools/RotateToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/RotateTurntableTool.js +1 -1
- package/src/sap/ui/vk/tools/ScaleTool.js +1 -1
- package/src/sap/ui/vk/tools/ScaleToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/SceneOrientationTool.js +1 -1
- package/src/sap/ui/vk/tools/SceneOrientationToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/Tool.js +1 -1
- package/src/sap/ui/vk/tools/TooltipTool.js +1 -1
- package/src/sap/ui/vk/tools/TooltipToolGizmo.js +1 -1
- package/src/sap/ui/vk/tools/TooltipToolHandler.js +5 -0
- package/src/sap/ui/vk/tools/TransformSvgElementTool.js +1 -1
- package/src/sap/ui/vk/tools/TransformSvgElementToolGizmo.js +1 -1
- package/src/sap/ui/vk/totara/TotaraLoader.js +2 -2
- package/src/sap/ui/vk/totara/TotaraLoaderWorker.js +18 -21
- package/ui5.yaml +5 -3
- package/src/sap/ui/vk/threejs/v2/ViewStateManager.js +0 -1445
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
sap.ui.define([
|
|
10
10
|
"../Core",
|
|
11
11
|
"../ViewportBase",
|
|
12
|
+
"../abgrToColor",
|
|
12
13
|
"sap/ui/core/Element",
|
|
13
14
|
"sap/ui/core/ResizeHandler",
|
|
14
15
|
"sap/ui/events/KeyCodes",
|
|
@@ -18,6 +19,7 @@ sap.ui.define([
|
|
|
18
19
|
"./ViewportGestureHandler",
|
|
19
20
|
"./OrthographicCamera",
|
|
20
21
|
"./PerspectiveCamera",
|
|
22
|
+
"./OutlineRenderer",
|
|
21
23
|
"../Messages",
|
|
22
24
|
"sap/ui/base/ManagedObjectObserver",
|
|
23
25
|
"../CameraProjectionType",
|
|
@@ -37,6 +39,7 @@ sap.ui.define([
|
|
|
37
39
|
"../Annotation",
|
|
38
40
|
"../measurements/Surface",
|
|
39
41
|
"../NodeContentType",
|
|
42
|
+
"../SelectionDisplayMode",
|
|
40
43
|
"sap/base/assert",
|
|
41
44
|
"sap/base/Log",
|
|
42
45
|
"../findIndexInArray",
|
|
@@ -44,6 +47,7 @@ sap.ui.define([
|
|
|
44
47
|
], function(
|
|
45
48
|
vkCore,
|
|
46
49
|
ViewportBase,
|
|
50
|
+
abgrToColor,
|
|
47
51
|
Element,
|
|
48
52
|
ResizeHandler,
|
|
49
53
|
KeyCodes,
|
|
@@ -53,6 +57,7 @@ sap.ui.define([
|
|
|
53
57
|
ViewportGestureHandler,
|
|
54
58
|
OrthographicCamera,
|
|
55
59
|
PerspectiveCamera,
|
|
60
|
+
OutlineRenderer,
|
|
56
61
|
Messages,
|
|
57
62
|
ManagedObjectObserver,
|
|
58
63
|
CameraProjectionType,
|
|
@@ -72,6 +77,7 @@ sap.ui.define([
|
|
|
72
77
|
Annotation,
|
|
73
78
|
MeasurementSurface,
|
|
74
79
|
NodeContentType,
|
|
80
|
+
SelectionDisplayMode,
|
|
75
81
|
assert,
|
|
76
82
|
Log,
|
|
77
83
|
findIndexInArray,
|
|
@@ -88,7 +94,7 @@ sap.ui.define([
|
|
|
88
94
|
*
|
|
89
95
|
* @public
|
|
90
96
|
* @author SAP SE
|
|
91
|
-
* @version 1.
|
|
97
|
+
* @version 1.139.0
|
|
92
98
|
* @extends sap.ui.vk.ViewportBase
|
|
93
99
|
* @alias sap.ui.vk.threejs.Viewport
|
|
94
100
|
*/
|
|
@@ -219,6 +225,8 @@ sap.ui.define([
|
|
|
219
225
|
this._underlayGroup = new THREE.Group();
|
|
220
226
|
this._overlayGroup = new THREE.Group();
|
|
221
227
|
|
|
228
|
+
this._outlineRenderer = new OutlineRenderer(1.0);
|
|
229
|
+
|
|
222
230
|
this._showPMI = true;
|
|
223
231
|
|
|
224
232
|
this._xrayColor1 = new THREE.Vector4(0, 0.75, 1, 0.45);
|
|
@@ -320,6 +328,9 @@ sap.ui.define([
|
|
|
320
328
|
this._setContent(null);
|
|
321
329
|
this.setCamera(null);
|
|
322
330
|
|
|
331
|
+
this._outlineRenderer?.dispose();
|
|
332
|
+
this._outlineRenderer = null;
|
|
333
|
+
|
|
323
334
|
this._backgroundCamera = null;
|
|
324
335
|
this._backgroundMaterial = null;
|
|
325
336
|
this._backgroundScene = null;
|
|
@@ -774,18 +785,14 @@ sap.ui.define([
|
|
|
774
785
|
}
|
|
775
786
|
|
|
776
787
|
var vsm = this._getViewStateManagerThreeJS();
|
|
777
|
-
|
|
778
|
-
vsm.applyNodeStates();
|
|
779
|
-
}
|
|
788
|
+
vsm?.applyNodeStates?.();
|
|
780
789
|
|
|
781
790
|
try {
|
|
782
791
|
var canvas = this._canvas;
|
|
783
792
|
return this._hitTester.hitTest(x - canvas.clientLeft, y - canvas.clientTop, canvas.clientWidth, canvas.clientHeight,
|
|
784
793
|
this._renderer, nativeScene, nativeCamera, this._clippingPlanes, options);
|
|
785
794
|
} finally {
|
|
786
|
-
|
|
787
|
-
vsm.revertNodeStates();
|
|
788
|
-
}
|
|
795
|
+
vsm?.revertNodeStates?.();
|
|
789
796
|
}
|
|
790
797
|
};
|
|
791
798
|
|
|
@@ -1071,7 +1078,7 @@ sap.ui.define([
|
|
|
1071
1078
|
}
|
|
1072
1079
|
};
|
|
1073
1080
|
|
|
1074
|
-
function _updateDynamicObjects(renderer, camera, scene, viewport) {
|
|
1081
|
+
function _updateDynamicObjects(renderer, camera, scene, viewport, vsm) {
|
|
1075
1082
|
var viewportSize = new THREE.Vector2(viewport._width, viewport._height);
|
|
1076
1083
|
var backgroundProjection = viewport.getBackgroundProjection();
|
|
1077
1084
|
let somethingWasChanged = false;
|
|
@@ -1083,7 +1090,7 @@ sap.ui.define([
|
|
|
1083
1090
|
if (root.userData._vkDynamicObjects) {
|
|
1084
1091
|
root.userData._vkDynamicObjects.forEach(function(object) {
|
|
1085
1092
|
if (object.parent) {
|
|
1086
|
-
object._vkUpdate(renderer, camera, viewportSize, backgroundProjection);
|
|
1093
|
+
object._vkUpdate(renderer, camera, viewportSize, backgroundProjection, vsm);
|
|
1087
1094
|
somethingWasChanged = true;
|
|
1088
1095
|
}
|
|
1089
1096
|
});
|
|
@@ -1198,9 +1205,7 @@ sap.ui.define([
|
|
|
1198
1205
|
var timerStart = performance.now();
|
|
1199
1206
|
var vsm = this._getViewStateManagerThreeJS();
|
|
1200
1207
|
|
|
1201
|
-
|
|
1202
|
-
vsm.applyNodeStates();
|
|
1203
|
-
}
|
|
1208
|
+
vsm?.applyNodeStates?.(this.getSelectionDisplayMode() === SelectionDisplayMode.Outline);
|
|
1204
1209
|
|
|
1205
1210
|
try {
|
|
1206
1211
|
renderer.setViewport(0, 0, this._canvas.width / window.devicePixelRatio, this._canvas.height / window.devicePixelRatio);
|
|
@@ -1273,7 +1278,7 @@ sap.ui.define([
|
|
|
1273
1278
|
var tools = this.getTools();
|
|
1274
1279
|
var i, tool, gizmo, boundingBox;
|
|
1275
1280
|
|
|
1276
|
-
const someObjectsWereUpdated = _updateDynamicObjects(renderer, nativeCamera, nativeScene, this);
|
|
1281
|
+
const someObjectsWereUpdated = _updateDynamicObjects(renderer, nativeCamera, nativeScene, this, vsm);
|
|
1277
1282
|
const mustUpdateDynamicObjectsAgain = someObjectsWereUpdated && (nativeCamera.near <= 0 || nativeCamera.far <= 0);
|
|
1278
1283
|
|
|
1279
1284
|
// todo: we need to _updateBoundingBoxes() only if some dynamic objects are currently selected
|
|
@@ -1293,6 +1298,12 @@ sap.ui.define([
|
|
|
1293
1298
|
}
|
|
1294
1299
|
timerComputeBoundingBoxEnd = performance.now();
|
|
1295
1300
|
|
|
1301
|
+
if (mustUpdateDynamicObjectsAgain && boundingBox.isEmpty()) {
|
|
1302
|
+
// If the bounding box is empty, it means that there are no visible objects in the scene currently,
|
|
1303
|
+
// so we use bounding box of all objects in the scene in order to get "good" znear and zfar.
|
|
1304
|
+
boundingBox = currentScene._computeBoundingBox(false, false, true);
|
|
1305
|
+
}
|
|
1306
|
+
|
|
1296
1307
|
if (!boundingBox.isEmpty()) {
|
|
1297
1308
|
if (nativeCamera.isOrthographicCamera && nativeCamera.zoom <= 0) {
|
|
1298
1309
|
this._camera.adjustZoom(boundingBox);
|
|
@@ -1316,7 +1327,7 @@ sap.ui.define([
|
|
|
1316
1327
|
// Usually it is fine to use Z near/far computed in previous frame, but it would not work
|
|
1317
1328
|
// if Z near and far equal to -1.0 default values for "auto evaluate", so we must
|
|
1318
1329
|
// update dynamic objects twice in such case (it happens on view activation only).
|
|
1319
|
-
_updateDynamicObjects(renderer, nativeCamera, nativeScene, this);
|
|
1330
|
+
_updateDynamicObjects(renderer, nativeCamera, nativeScene, this, vsm);
|
|
1320
1331
|
}
|
|
1321
1332
|
|
|
1322
1333
|
// check scene dimension and distance from camera
|
|
@@ -1429,8 +1440,12 @@ sap.ui.define([
|
|
|
1429
1440
|
|
|
1430
1441
|
_renderDetailViews(renderer, nativeCamera, nativeScene, boundingBox, this._cameraLight);
|
|
1431
1442
|
|
|
1432
|
-
if (vsm) {
|
|
1433
|
-
|
|
1443
|
+
if (vsm?._outlinedNodes.size > 0) {
|
|
1444
|
+
this._renderOutline(nativeScene, nativeCamera, Array.from(vsm._outlinedNodes), vsm._outlineColorABGR, vsm);
|
|
1445
|
+
}
|
|
1446
|
+
|
|
1447
|
+
if (this.getSelectionDisplayMode() === SelectionDisplayMode.Outline && vsm?._selectedNodes.size > 0) {
|
|
1448
|
+
this._renderOutline(nativeScene, nativeCamera, Array.from(vsm._selectedNodes), vsm._highlightColorABGR, vsm);
|
|
1434
1449
|
}
|
|
1435
1450
|
|
|
1436
1451
|
for (i = 0; i < tools.length; i++) { // loop over all oTools
|
|
@@ -1482,14 +1497,18 @@ sap.ui.define([
|
|
|
1482
1497
|
+ tail
|
|
1483
1498
|
);
|
|
1484
1499
|
} finally {
|
|
1485
|
-
|
|
1486
|
-
vsm.revertNodeStates();
|
|
1487
|
-
}
|
|
1500
|
+
vsm?.revertNodeStates?.();
|
|
1488
1501
|
}
|
|
1489
1502
|
|
|
1490
1503
|
this.fireFrameRenderingFinished();
|
|
1491
1504
|
};
|
|
1492
1505
|
|
|
1506
|
+
Viewport.prototype._renderOutline = function(scene, camera, nodes, colorABGR, vsm) {
|
|
1507
|
+
const c = abgrToColor(colorABGR);
|
|
1508
|
+
const color = new THREE.Color(c.red / 255.0, c.green / 255.0, c.blue / 255.0);
|
|
1509
|
+
this._outlineRenderer.render(this._renderer, scene, camera, nodes, color, vsm.getOutlineWidth(), vsm._jointCollection);
|
|
1510
|
+
};
|
|
1511
|
+
|
|
1493
1512
|
/**
|
|
1494
1513
|
* Returns viewport content as an image of desired size.
|
|
1495
1514
|
*
|
|
@@ -1746,9 +1765,7 @@ sap.ui.define([
|
|
|
1746
1765
|
document.body.appendChild(renderer.domElement);
|
|
1747
1766
|
|
|
1748
1767
|
var vsm = this._getViewStateManagerThreeJS();
|
|
1749
|
-
|
|
1750
|
-
vsm.applyNodeStates();
|
|
1751
|
-
}
|
|
1768
|
+
vsm?.applyNodeStates?.();
|
|
1752
1769
|
|
|
1753
1770
|
try {
|
|
1754
1771
|
if (nodeRefs == null) {
|
|
@@ -1781,13 +1798,8 @@ sap.ui.define([
|
|
|
1781
1798
|
var hiddenNodes = [];
|
|
1782
1799
|
nodeRefs.forEach(function(nodeRef) {
|
|
1783
1800
|
nodeRef.traverseVisible(function(node) {
|
|
1784
|
-
|
|
1785
|
-
node._vkUpdate(renderer, cameraRef, viewportSize);
|
|
1801
|
+
node._vkUpdate?.(renderer, cameraRef, viewportSize, null, vsm);
|
|
1786
1802
|
|
|
1787
|
-
if (node._vkGetNodeContentType() === NodeContentType.Symbol) {// reset symbol opacity
|
|
1788
|
-
node._vkSetOpacity(1);
|
|
1789
|
-
}
|
|
1790
|
-
}
|
|
1791
1803
|
if ((!options.includeOverlay && node.userData.renderStage > 0) ||
|
|
1792
1804
|
(!options.includeUnderlay && node.userData.renderStage < 0)) {
|
|
1793
1805
|
// hide overlay/underlay node
|
|
@@ -1846,9 +1858,7 @@ sap.ui.define([
|
|
|
1846
1858
|
scene.remove(lightNode);
|
|
1847
1859
|
scene.children = [];
|
|
1848
1860
|
} finally {
|
|
1849
|
-
|
|
1850
|
-
vsm.revertNodeStates();
|
|
1851
|
-
}
|
|
1861
|
+
vsm?.revertNodeStates?.();
|
|
1852
1862
|
}
|
|
1853
1863
|
|
|
1854
1864
|
var imageData = renderer.getContext().canvas.toDataURL(options.type, options.encoderOptions);
|
|
@@ -32,7 +32,7 @@ sap.ui.define([
|
|
|
32
32
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
33
33
|
* @public
|
|
34
34
|
* @author SAP SE
|
|
35
|
-
* @version 1.
|
|
35
|
+
* @version 1.139.0
|
|
36
36
|
* @extends sap.ui.vk.tools.Tool
|
|
37
37
|
* @alias sap.ui.vk.tools.AnchorPointTool
|
|
38
38
|
*/
|
|
@@ -32,7 +32,7 @@ sap.ui.define([
|
|
|
32
32
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
33
33
|
* @public
|
|
34
34
|
* @author SAP SE
|
|
35
|
-
* @version 1.
|
|
35
|
+
* @version 1.139.0
|
|
36
36
|
* @extends sap.ui.vk.tools.Tool
|
|
37
37
|
* @alias sap.ui.vk.tools.AxisAngleRotationTool
|
|
38
38
|
*/
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
35
35
|
* @public
|
|
36
36
|
* @author SAP SE
|
|
37
|
-
* @version 1.
|
|
37
|
+
* @version 1.139.0
|
|
38
38
|
* @extends sap.ui.vk.tools.Tool
|
|
39
39
|
* @alias sap.ui.vk.tools.CreateEllipseTool
|
|
40
40
|
*/
|
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
31
31
|
* @public
|
|
32
32
|
* @author SAP SE
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.139.0
|
|
34
34
|
* @extends sap.ui.vk.tools.Tool
|
|
35
35
|
* @alias sap.ui.vk.tools.CreatePathTool
|
|
36
36
|
*/
|
|
@@ -30,7 +30,7 @@ sap.ui.define([
|
|
|
30
30
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
31
31
|
* @public
|
|
32
32
|
* @author SAP SE
|
|
33
|
-
* @version 1.
|
|
33
|
+
* @version 1.139.0
|
|
34
34
|
* @extends sap.ui.vk.tools.Tool
|
|
35
35
|
* @alias sap.ui.vk.tools.CreateRectangleTool
|
|
36
36
|
*/
|
|
@@ -28,7 +28,7 @@ sap.ui.define([
|
|
|
28
28
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
29
29
|
* @public
|
|
30
30
|
* @author SAP SE
|
|
31
|
-
* @version 1.
|
|
31
|
+
* @version 1.139.0
|
|
32
32
|
* @extends sap.ui.vk.tools.Tool
|
|
33
33
|
* @alias sap.ui.vk.tools.CreateTextTool
|
|
34
34
|
*/
|
|
@@ -28,7 +28,7 @@ sap.ui.define([
|
|
|
28
28
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
29
29
|
* @public
|
|
30
30
|
* @author SAP SE
|
|
31
|
-
* @version 1.
|
|
31
|
+
* @version 1.139.0
|
|
32
32
|
* @extends sap.ui.vk.tools.Tool
|
|
33
33
|
* @alias sap.ui.vk.tools.CrossSectionTool
|
|
34
34
|
*/
|
|
@@ -32,7 +32,7 @@ sap.ui.define([
|
|
|
32
32
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
33
33
|
* @public
|
|
34
34
|
* @author SAP SE
|
|
35
|
-
* @version 1.
|
|
35
|
+
* @version 1.139.0
|
|
36
36
|
* @extends sap.ui.vk.tools.Tool
|
|
37
37
|
* @alias sap.ui.vk.tools.DuplicateSvgElementTool
|
|
38
38
|
*/
|
|
@@ -52,7 +52,7 @@ sap.ui.define([
|
|
|
52
52
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
53
53
|
* @public
|
|
54
54
|
* @author SAP SE
|
|
55
|
-
* @version 1.
|
|
55
|
+
* @version 1.139.0
|
|
56
56
|
* @extends sap.ui.vk.tools.Tool
|
|
57
57
|
* @alias sap.ui.vk.tools.ExplodeTool
|
|
58
58
|
*/
|
|
@@ -29,7 +29,7 @@ sap.ui.define([
|
|
|
29
29
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
30
30
|
* @public
|
|
31
31
|
* @author SAP SE
|
|
32
|
-
* @version 1.
|
|
32
|
+
* @version 1.139.0
|
|
33
33
|
* @extends sap.ui.vk.tools.Tool
|
|
34
34
|
* @alias sap.ui.vk.tools.HitTestTool
|
|
35
35
|
*/
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
35
35
|
* @public
|
|
36
36
|
* @author SAP SE
|
|
37
|
-
* @version 1.
|
|
37
|
+
* @version 1.139.0
|
|
38
38
|
* @extends sap.ui.vk.tools.Tool
|
|
39
39
|
* @alias sap.ui.vk.tools.MoveTool
|
|
40
40
|
*/
|
|
@@ -28,7 +28,7 @@ sap.ui.define([
|
|
|
28
28
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
29
29
|
* @public
|
|
30
30
|
* @author SAP SE
|
|
31
|
-
* @version 1.
|
|
31
|
+
* @version 1.139.0
|
|
32
32
|
* @extends sap.ui.vk.tools.Tool
|
|
33
33
|
* @alias sap.ui.vk.tools.PointCloudSelectionTool
|
|
34
34
|
* @since 1.118.0
|
|
@@ -31,7 +31,7 @@ sap.ui.define([
|
|
|
31
31
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
32
32
|
* @public
|
|
33
33
|
* @author SAP SE
|
|
34
|
-
* @version 1.
|
|
34
|
+
* @version 1.139.0
|
|
35
35
|
* @extends sap.ui.vk.tools.Tool
|
|
36
36
|
* @alias sap.ui.vk.tools.RectSelectTool
|
|
37
37
|
*/
|
|
@@ -42,7 +42,7 @@ sap.ui.define([
|
|
|
42
42
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
43
43
|
* @public
|
|
44
44
|
* @author SAP SE
|
|
45
|
-
* @version 1.
|
|
45
|
+
* @version 1.139.0
|
|
46
46
|
* @extends sap.ui.vk.tools.Tool
|
|
47
47
|
* @alias sap.ui.vk.tools.RedlineTool
|
|
48
48
|
*/
|
|
@@ -28,7 +28,7 @@ sap.ui.define([
|
|
|
28
28
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
29
29
|
* @public
|
|
30
30
|
* @author SAP SE
|
|
31
|
-
* @version 1.
|
|
31
|
+
* @version 1.139.0
|
|
32
32
|
* @extends sap.ui.vk.tools.Tool
|
|
33
33
|
* @alias sap.ui.vk.tools.RotateOrbitTool
|
|
34
34
|
*/
|
|
@@ -38,7 +38,7 @@ sap.ui.define([
|
|
|
38
38
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
39
39
|
* @public
|
|
40
40
|
* @author SAP SE
|
|
41
|
-
* @version 1.
|
|
41
|
+
* @version 1.139.0
|
|
42
42
|
* @extends sap.ui.vk.tools.Tool
|
|
43
43
|
* @alias sap.ui.vk.tools.RotateTool
|
|
44
44
|
*/
|
|
@@ -28,7 +28,7 @@ sap.ui.define([
|
|
|
28
28
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
29
29
|
* @public
|
|
30
30
|
* @author SAP SE
|
|
31
|
-
* @version 1.
|
|
31
|
+
* @version 1.139.0
|
|
32
32
|
* @extends sap.ui.vk.tools.Tool
|
|
33
33
|
* @alias sap.ui.vk.tools.RotateTurntableTool
|
|
34
34
|
*/
|
|
@@ -34,7 +34,7 @@ sap.ui.define([
|
|
|
34
34
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
35
35
|
* @public
|
|
36
36
|
* @author SAP SE
|
|
37
|
-
* @version 1.
|
|
37
|
+
* @version 1.139.0
|
|
38
38
|
* @extends sap.ui.vk.tools.Tool
|
|
39
39
|
* @alias sap.ui.vk.tools.ScaleTool
|
|
40
40
|
*/
|
|
@@ -26,7 +26,7 @@ sap.ui.define([
|
|
|
26
26
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
27
27
|
* @public
|
|
28
28
|
* @author SAP SE
|
|
29
|
-
* @version 1.
|
|
29
|
+
* @version 1.139.0
|
|
30
30
|
* @extends sap.ui.vk.tools.Tool
|
|
31
31
|
* @alias sap.ui.vk.tools.SceneOrientationTool
|
|
32
32
|
*/
|
|
@@ -27,7 +27,7 @@ sap.ui.define([
|
|
|
27
27
|
* @param {object} [oScope] scope An object for resolving string-based type and formatter references in bindings.
|
|
28
28
|
* @public
|
|
29
29
|
* @author SAP SE
|
|
30
|
-
* @version 1.
|
|
30
|
+
* @version 1.139.0
|
|
31
31
|
* @extends sap.ui.core.Element
|
|
32
32
|
* @alias sap.ui.vk.tools.Tool
|
|
33
33
|
*/
|
|
@@ -28,7 +28,7 @@ sap.ui.define([
|
|
|
28
28
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
29
29
|
* @public
|
|
30
30
|
* @author SAP SE
|
|
31
|
-
* @version 1.
|
|
31
|
+
* @version 1.139.0
|
|
32
32
|
* @extends sap.ui.vk.tools.Tool
|
|
33
33
|
* @alias sap.ui.vk.tools.TooltipTool
|
|
34
34
|
*/
|
|
@@ -22,6 +22,7 @@ sap.ui.define([
|
|
|
22
22
|
TooltipToolHandler.prototype.hover = function(event) {
|
|
23
23
|
const gizmo = this._tool.getGizmo();
|
|
24
24
|
const viewport = this.getViewport();
|
|
25
|
+
|
|
25
26
|
if (gizmo && this._inside(event) && viewport.getScene()) {
|
|
26
27
|
const absoluteX = event.x, absoluteY = event.y;
|
|
27
28
|
const x = absoluteX - this._rect.x, y = absoluteY - this._rect.y;
|
|
@@ -33,6 +34,10 @@ sap.ui.define([
|
|
|
33
34
|
// TODO: Return object should be consistent among all viewports!
|
|
34
35
|
hitObject = hitObject.object;
|
|
35
36
|
}
|
|
37
|
+
if (viewport.isECAD?.() === true) {
|
|
38
|
+
// return whole element
|
|
39
|
+
hitObject = viewport.findElement(hitObject);
|
|
40
|
+
}
|
|
36
41
|
gizmo.update(x, y, absoluteX, absoluteY, hitObject);
|
|
37
42
|
};
|
|
38
43
|
|
|
@@ -36,7 +36,7 @@ sap.ui.define([
|
|
|
36
36
|
* @param {object} [mSettings] An optional map/JSON object with initial property values, aggregated objects etc. for the new tool instance.
|
|
37
37
|
* @public
|
|
38
38
|
* @author SAP SE
|
|
39
|
-
* @version 1.
|
|
39
|
+
* @version 1.139.0
|
|
40
40
|
* @extends sap.ui.vk.tools.Tool
|
|
41
41
|
* @alias sap.ui.vk.tools.TransformSvgElementTool
|
|
42
42
|
*/
|