@sapui5/sap.ui.vk 1.138.0 → 1.140.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 +3 -3
- 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 +13 -3
- 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 +408 -385
- package/src/sap/ui/vk/ecad/LayersPanel.js +95 -99
- package/src/sap/ui/vk/i18n/messagebundle.properties +44 -46
- package/src/sap/ui/vk/i18n/messagebundle_ar.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_bg.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_ca.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_cnr.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_cs.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_cy.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_da.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_de.properties +28 -14
- package/src/sap/ui/vk/i18n/messagebundle_el.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_en.properties +27 -327
- package/src/sap/ui/vk/i18n/messagebundle_en_GB.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_en_US_saprigi.properties +24 -12
- package/src/sap/ui/vk/i18n/messagebundle_es.properties +29 -15
- package/src/sap/ui/vk/i18n/messagebundle_es_MX.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_et.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_fi.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_fr.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_fr_CA.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_hi.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_hr.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_hu.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_id.properties +29 -15
- package/src/sap/ui/vk/i18n/messagebundle_it.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_iw.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_ja.properties +29 -15
- package/src/sap/ui/vk/i18n/messagebundle_kk.properties +39 -25
- package/src/sap/ui/vk/i18n/messagebundle_ko.properties +24 -10
- package/src/sap/ui/vk/i18n/messagebundle_lt.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_lv.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_mk.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_ms.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_nl.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_no.properties +28 -14
- package/src/sap/ui/vk/i18n/messagebundle_pl.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_pt.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_pt_PT.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_ro.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_ru.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_sh.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_sk.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_sl.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_sr.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_sv.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_th.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_tr.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_uk.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_vi.properties +28 -14
- package/src/sap/ui/vk/i18n/messagebundle_zh_CN.properties +27 -13
- package/src/sap/ui/vk/i18n/messagebundle_zh_TW.properties +27 -13
- 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/BufferGeometryUtils.js +86 -27
- package/src/sap/ui/vk/thirdparty/pdf.worker.js +1 -1
- package/src/sap/ui/vk/thirdparty/three.js +54501 -32246
- 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 +755 -451
- package/src/sap/ui/vk/threejs/Viewport.js +47 -35
- 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 +4 -3
- 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/SceneContext.js +3 -1
- package/src/sap/ui/vk/totara/TotaraLoader.js +2 -2
- package/src/sap/ui/vk/totara/TotaraLoaderWorker.js +18 -21
- package/src/sap/ui/vk/ve/dvl.wasm +0 -0
- 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.140.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;
|
|
@@ -613,6 +624,7 @@ sap.ui.define([
|
|
|
613
624
|
});
|
|
614
625
|
}
|
|
615
626
|
|
|
627
|
+
const vsm = this._getViewStateManagerThreeJS();
|
|
616
628
|
var annotations = this._scene && this._scene._getAnnotations();
|
|
617
629
|
if (annotations) {
|
|
618
630
|
annotations.forEach(function(annotationInfo) {
|
|
@@ -620,7 +632,7 @@ sap.ui.define([
|
|
|
620
632
|
var annotation = Annotation.createAnnotation(annotationInfo, this);
|
|
621
633
|
annotation.autoGenerated = true;
|
|
622
634
|
this.addAnnotation(annotation);
|
|
623
|
-
annotation.setDisplay(nodeRef.visible);
|
|
635
|
+
annotation.setDisplay(vsm?.getVisibilityState(nodeRef) ?? nodeRef.visible);
|
|
624
636
|
}
|
|
625
637
|
}, this);
|
|
626
638
|
}
|
|
@@ -774,18 +786,14 @@ sap.ui.define([
|
|
|
774
786
|
}
|
|
775
787
|
|
|
776
788
|
var vsm = this._getViewStateManagerThreeJS();
|
|
777
|
-
|
|
778
|
-
vsm.applyNodeStates();
|
|
779
|
-
}
|
|
789
|
+
vsm?.applyNodeStates?.();
|
|
780
790
|
|
|
781
791
|
try {
|
|
782
792
|
var canvas = this._canvas;
|
|
783
793
|
return this._hitTester.hitTest(x - canvas.clientLeft, y - canvas.clientTop, canvas.clientWidth, canvas.clientHeight,
|
|
784
794
|
this._renderer, nativeScene, nativeCamera, this._clippingPlanes, options);
|
|
785
795
|
} finally {
|
|
786
|
-
|
|
787
|
-
vsm.revertNodeStates();
|
|
788
|
-
}
|
|
796
|
+
vsm?.revertNodeStates?.();
|
|
789
797
|
}
|
|
790
798
|
};
|
|
791
799
|
|
|
@@ -801,14 +809,15 @@ sap.ui.define([
|
|
|
801
809
|
|
|
802
810
|
Viewport.prototype._findBackgroundNode = function() {
|
|
803
811
|
var nativeScene = this._getNativeScene();
|
|
804
|
-
|
|
812
|
+
const vsm = this._getViewStateManagerThreeJS();
|
|
813
|
+
if (nativeScene == null || vsm == null) {
|
|
805
814
|
return null;
|
|
806
815
|
}
|
|
807
816
|
var findBackgroundChildNodeRecursively = function(nodeRefs) {
|
|
808
817
|
for (var i = 0; i < nodeRefs.length; i++) {
|
|
809
818
|
var node = nodeRefs[i];
|
|
810
|
-
if (node._vkGetNodeContentType() === NodeContentType.Background && node
|
|
811
|
-
if (node.parent.name === "Background" && node.parent
|
|
819
|
+
if (node._vkGetNodeContentType() === NodeContentType.Background && vsm.getVisibilityState(node) === true && (node.name === "plane" || node.name === "sphere")) {
|
|
820
|
+
if (node.parent.name === "Background" && vsm.getVisibilityState(node.parent) === false) {
|
|
812
821
|
return null;
|
|
813
822
|
}
|
|
814
823
|
return node;
|
|
@@ -1071,7 +1080,7 @@ sap.ui.define([
|
|
|
1071
1080
|
}
|
|
1072
1081
|
};
|
|
1073
1082
|
|
|
1074
|
-
function _updateDynamicObjects(renderer, camera, scene, viewport) {
|
|
1083
|
+
function _updateDynamicObjects(renderer, camera, scene, viewport, vsm) {
|
|
1075
1084
|
var viewportSize = new THREE.Vector2(viewport._width, viewport._height);
|
|
1076
1085
|
var backgroundProjection = viewport.getBackgroundProjection();
|
|
1077
1086
|
let somethingWasChanged = false;
|
|
@@ -1083,7 +1092,7 @@ sap.ui.define([
|
|
|
1083
1092
|
if (root.userData._vkDynamicObjects) {
|
|
1084
1093
|
root.userData._vkDynamicObjects.forEach(function(object) {
|
|
1085
1094
|
if (object.parent) {
|
|
1086
|
-
object._vkUpdate(renderer, camera, viewportSize, backgroundProjection);
|
|
1095
|
+
object._vkUpdate(renderer, camera, viewportSize, backgroundProjection, vsm);
|
|
1087
1096
|
somethingWasChanged = true;
|
|
1088
1097
|
}
|
|
1089
1098
|
});
|
|
@@ -1198,9 +1207,7 @@ sap.ui.define([
|
|
|
1198
1207
|
var timerStart = performance.now();
|
|
1199
1208
|
var vsm = this._getViewStateManagerThreeJS();
|
|
1200
1209
|
|
|
1201
|
-
|
|
1202
|
-
vsm.applyNodeStates();
|
|
1203
|
-
}
|
|
1210
|
+
vsm?.applyNodeStates?.(this.getSelectionDisplayMode() === SelectionDisplayMode.Outline);
|
|
1204
1211
|
|
|
1205
1212
|
try {
|
|
1206
1213
|
renderer.setViewport(0, 0, this._canvas.width / window.devicePixelRatio, this._canvas.height / window.devicePixelRatio);
|
|
@@ -1273,7 +1280,7 @@ sap.ui.define([
|
|
|
1273
1280
|
var tools = this.getTools();
|
|
1274
1281
|
var i, tool, gizmo, boundingBox;
|
|
1275
1282
|
|
|
1276
|
-
const someObjectsWereUpdated = _updateDynamicObjects(renderer, nativeCamera, nativeScene, this);
|
|
1283
|
+
const someObjectsWereUpdated = _updateDynamicObjects(renderer, nativeCamera, nativeScene, this, vsm);
|
|
1277
1284
|
const mustUpdateDynamicObjectsAgain = someObjectsWereUpdated && (nativeCamera.near <= 0 || nativeCamera.far <= 0);
|
|
1278
1285
|
|
|
1279
1286
|
// todo: we need to _updateBoundingBoxes() only if some dynamic objects are currently selected
|
|
@@ -1293,6 +1300,12 @@ sap.ui.define([
|
|
|
1293
1300
|
}
|
|
1294
1301
|
timerComputeBoundingBoxEnd = performance.now();
|
|
1295
1302
|
|
|
1303
|
+
if (mustUpdateDynamicObjectsAgain && boundingBox.isEmpty()) {
|
|
1304
|
+
// If the bounding box is empty, it means that there are no visible objects in the scene currently,
|
|
1305
|
+
// so we use bounding box of all objects in the scene in order to get "good" znear and zfar.
|
|
1306
|
+
boundingBox = currentScene._computeBoundingBox(false, false, true);
|
|
1307
|
+
}
|
|
1308
|
+
|
|
1296
1309
|
if (!boundingBox.isEmpty()) {
|
|
1297
1310
|
if (nativeCamera.isOrthographicCamera && nativeCamera.zoom <= 0) {
|
|
1298
1311
|
this._camera.adjustZoom(boundingBox);
|
|
@@ -1316,7 +1329,7 @@ sap.ui.define([
|
|
|
1316
1329
|
// Usually it is fine to use Z near/far computed in previous frame, but it would not work
|
|
1317
1330
|
// if Z near and far equal to -1.0 default values for "auto evaluate", so we must
|
|
1318
1331
|
// update dynamic objects twice in such case (it happens on view activation only).
|
|
1319
|
-
_updateDynamicObjects(renderer, nativeCamera, nativeScene, this);
|
|
1332
|
+
_updateDynamicObjects(renderer, nativeCamera, nativeScene, this, vsm);
|
|
1320
1333
|
}
|
|
1321
1334
|
|
|
1322
1335
|
// check scene dimension and distance from camera
|
|
@@ -1429,8 +1442,12 @@ sap.ui.define([
|
|
|
1429
1442
|
|
|
1430
1443
|
_renderDetailViews(renderer, nativeCamera, nativeScene, boundingBox, this._cameraLight);
|
|
1431
1444
|
|
|
1432
|
-
if (vsm) {
|
|
1433
|
-
|
|
1445
|
+
if (vsm?._outlinedNodes.size > 0) {
|
|
1446
|
+
this._renderOutline(nativeScene, nativeCamera, Array.from(vsm._outlinedNodes), vsm._outlineColorABGR, vsm);
|
|
1447
|
+
}
|
|
1448
|
+
|
|
1449
|
+
if (this.getSelectionDisplayMode() === SelectionDisplayMode.Outline && vsm?._selectedNodes.size > 0) {
|
|
1450
|
+
this._renderOutline(nativeScene, nativeCamera, Array.from(vsm._selectedNodes), vsm._highlightColorABGR, vsm);
|
|
1434
1451
|
}
|
|
1435
1452
|
|
|
1436
1453
|
for (i = 0; i < tools.length; i++) { // loop over all oTools
|
|
@@ -1482,14 +1499,18 @@ sap.ui.define([
|
|
|
1482
1499
|
+ tail
|
|
1483
1500
|
);
|
|
1484
1501
|
} finally {
|
|
1485
|
-
|
|
1486
|
-
vsm.revertNodeStates();
|
|
1487
|
-
}
|
|
1502
|
+
vsm?.revertNodeStates?.();
|
|
1488
1503
|
}
|
|
1489
1504
|
|
|
1490
1505
|
this.fireFrameRenderingFinished();
|
|
1491
1506
|
};
|
|
1492
1507
|
|
|
1508
|
+
Viewport.prototype._renderOutline = function(scene, camera, nodes, colorABGR, vsm) {
|
|
1509
|
+
const c = abgrToColor(colorABGR);
|
|
1510
|
+
const color = new THREE.Color(c.red / 255.0, c.green / 255.0, c.blue / 255.0);
|
|
1511
|
+
this._outlineRenderer.render(this._renderer, scene, camera, nodes, color, vsm.getOutlineWidth(), vsm._jointCollection);
|
|
1512
|
+
};
|
|
1513
|
+
|
|
1493
1514
|
/**
|
|
1494
1515
|
* Returns viewport content as an image of desired size.
|
|
1495
1516
|
*
|
|
@@ -1746,9 +1767,7 @@ sap.ui.define([
|
|
|
1746
1767
|
document.body.appendChild(renderer.domElement);
|
|
1747
1768
|
|
|
1748
1769
|
var vsm = this._getViewStateManagerThreeJS();
|
|
1749
|
-
|
|
1750
|
-
vsm.applyNodeStates();
|
|
1751
|
-
}
|
|
1770
|
+
vsm?.applyNodeStates?.();
|
|
1752
1771
|
|
|
1753
1772
|
try {
|
|
1754
1773
|
if (nodeRefs == null) {
|
|
@@ -1781,13 +1800,8 @@ sap.ui.define([
|
|
|
1781
1800
|
var hiddenNodes = [];
|
|
1782
1801
|
nodeRefs.forEach(function(nodeRef) {
|
|
1783
1802
|
nodeRef.traverseVisible(function(node) {
|
|
1784
|
-
|
|
1785
|
-
node._vkUpdate(renderer, cameraRef, viewportSize);
|
|
1803
|
+
node._vkUpdate?.(renderer, cameraRef, viewportSize, null, vsm);
|
|
1786
1804
|
|
|
1787
|
-
if (node._vkGetNodeContentType() === NodeContentType.Symbol) {// reset symbol opacity
|
|
1788
|
-
node._vkSetOpacity(1);
|
|
1789
|
-
}
|
|
1790
|
-
}
|
|
1791
1805
|
if ((!options.includeOverlay && node.userData.renderStage > 0) ||
|
|
1792
1806
|
(!options.includeUnderlay && node.userData.renderStage < 0)) {
|
|
1793
1807
|
// hide overlay/underlay node
|
|
@@ -1846,9 +1860,7 @@ sap.ui.define([
|
|
|
1846
1860
|
scene.remove(lightNode);
|
|
1847
1861
|
scene.children = [];
|
|
1848
1862
|
} finally {
|
|
1849
|
-
|
|
1850
|
-
vsm.revertNodeStates();
|
|
1851
|
-
}
|
|
1863
|
+
vsm?.revertNodeStates?.();
|
|
1852
1864
|
}
|
|
1853
1865
|
|
|
1854
1866
|
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.140.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.140.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.140.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.140.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.140.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.140.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.140.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.140.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.140.0
|
|
56
56
|
* @extends sap.ui.vk.tools.Tool
|
|
57
57
|
* @alias sap.ui.vk.tools.ExplodeTool
|
|
58
58
|
*/
|
|
@@ -53,7 +53,7 @@ sap.ui.define([
|
|
|
53
53
|
* @extends sap.ui.core.Control
|
|
54
54
|
*
|
|
55
55
|
* @author SAP SE
|
|
56
|
-
* @version 1.
|
|
56
|
+
* @version 1.140.0
|
|
57
57
|
*
|
|
58
58
|
* @constructor
|
|
59
59
|
* @public
|
|
@@ -264,7 +264,8 @@ sap.ui.define([
|
|
|
264
264
|
}
|
|
265
265
|
|
|
266
266
|
const selectedNodes = new Set(this._nodes.map((nodeInfo) => nodeInfo.node));
|
|
267
|
-
this._viewport?._getViewStateManagerThreeJS()
|
|
267
|
+
const vsm = this._viewport?._getViewStateManagerThreeJS();
|
|
268
|
+
vsm?.getJoints()?.forEach((joint) => {
|
|
268
269
|
if (selectedNodes.has(joint.parent)) {
|
|
269
270
|
selectedNodes.add(joint.node);
|
|
270
271
|
}
|
|
@@ -275,7 +276,7 @@ sap.ui.define([
|
|
|
275
276
|
const staticGeometryVertices = [];
|
|
276
277
|
|
|
277
278
|
const traverse = (node, selected) => {
|
|
278
|
-
if (!node.visible || // skip invisible nodes
|
|
279
|
+
if (!(vsm?.getVisibilityState(node) ?? node.visible) || // skip invisible nodes
|
|
279
280
|
node._vkUpdate || // skip dynamic nodes
|
|
280
281
|
node.userData.renderStage > 0 || // skip overlay nodes
|
|
281
282
|
node.userData.renderStage < 0) { // skip underlay nodes
|
|
@@ -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.140.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.140.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.140.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.140.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.140.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.140.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.140.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.140.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.140.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.140.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.140.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.140.0
|
|
32
32
|
* @extends sap.ui.vk.tools.Tool
|
|
33
33
|
* @alias sap.ui.vk.tools.TooltipTool
|
|
34
34
|
*/
|