@sapui5/sap.ui.vk 1.134.0 → 1.136.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.
Files changed (182) hide show
  1. package/package.json +1 -1
  2. package/src/sap/ui/vk/.library +1 -1
  3. package/src/sap/ui/vk/AnimationPlayback.js +1 -2
  4. package/src/sap/ui/vk/AnimationPlayer.js +1 -1
  5. package/src/sap/ui/vk/AnimationSequence.js +1 -5
  6. package/src/sap/ui/vk/AnimationTimeSlider.js +1 -2
  7. package/src/sap/ui/vk/AnimationTrack.js +2 -4
  8. package/src/sap/ui/vk/Annotation.js +1 -1
  9. package/src/sap/ui/vk/BaseNodeProxy.js +1 -1
  10. package/src/sap/ui/vk/Camera.js +1 -1
  11. package/src/sap/ui/vk/ContentConnector.js +1 -1
  12. package/src/sap/ui/vk/ContentManager.js +1 -1
  13. package/src/sap/ui/vk/ContentResource.js +9 -1
  14. package/src/sap/ui/vk/Core.js +1 -1
  15. package/src/sap/ui/vk/DownloadManager.js +1 -1
  16. package/src/sap/ui/vk/DrawerToolbar.js +1 -1
  17. package/src/sap/ui/vk/DvlException.js +1 -1
  18. package/src/sap/ui/vk/FlexibleControl.js +1 -1
  19. package/src/sap/ui/vk/FlexibleControlLayoutData.js +1 -1
  20. package/src/sap/ui/vk/Highlight.js +40 -318
  21. package/src/sap/ui/vk/ImageContentManager.js +1 -1
  22. package/src/sap/ui/vk/JointUtils.js +1 -2
  23. package/src/sap/ui/vk/LayerProxy.js +1 -1
  24. package/src/sap/ui/vk/Loco.js +1 -1
  25. package/src/sap/ui/vk/Material.js +1 -1
  26. package/src/sap/ui/vk/NativeViewport.js +1 -1
  27. package/src/sap/ui/vk/NodeHierarchy.js +1 -1
  28. package/src/sap/ui/vk/NodeProxy.js +1 -1
  29. package/src/sap/ui/vk/NodeUtils.js +1 -2
  30. package/src/sap/ui/vk/Notifications.js +1 -1
  31. package/src/sap/ui/vk/OrthographicCamera.js +1 -1
  32. package/src/sap/ui/vk/OutputSettings.js +1 -1
  33. package/src/sap/ui/vk/PerspectiveCamera.js +1 -1
  34. package/src/sap/ui/vk/ProgressIndicator.js +1 -1
  35. package/src/sap/ui/vk/RedlineCollaboration.js +1 -1
  36. package/src/sap/ui/vk/RedlineConversation.js +1 -1
  37. package/src/sap/ui/vk/RedlineDesign.js +1 -1
  38. package/src/sap/ui/vk/RedlineElement.js +1 -1
  39. package/src/sap/ui/vk/RedlineElementComment.js +1 -1
  40. package/src/sap/ui/vk/RedlineElementEllipse.js +1 -1
  41. package/src/sap/ui/vk/RedlineElementFreehand.js +1 -1
  42. package/src/sap/ui/vk/RedlineElementLine.js +1 -1
  43. package/src/sap/ui/vk/RedlineElementRectangle.js +1 -1
  44. package/src/sap/ui/vk/RedlineElementText.js +1 -1
  45. package/src/sap/ui/vk/RedlineSurface.js +1 -1
  46. package/src/sap/ui/vk/SafeArea.js +1 -1
  47. package/src/sap/ui/vk/Scene.js +1 -1
  48. package/src/sap/ui/vk/SceneTree.js +1 -1
  49. package/src/sap/ui/vk/StepNavigation.js +1 -1
  50. package/src/sap/ui/vk/Texture.js +1 -1
  51. package/src/sap/ui/vk/ToggleMenuButton.js +1 -1
  52. package/src/sap/ui/vk/ToggleMenuItem.js +1 -1
  53. package/src/sap/ui/vk/Toolbar.js +1 -1
  54. package/src/sap/ui/vk/View.js +57 -75
  55. package/src/sap/ui/vk/ViewGallery.js +10 -2
  56. package/src/sap/ui/vk/ViewGalleryThumbnail.js +1 -1
  57. package/src/sap/ui/vk/ViewGroup.js +1 -1
  58. package/src/sap/ui/vk/ViewManager.js +1 -1
  59. package/src/sap/ui/vk/ViewStateManager.js +1 -5
  60. package/src/sap/ui/vk/ViewStateManagerBase.js +1 -3
  61. package/src/sap/ui/vk/Viewer.js +1 -131
  62. package/src/sap/ui/vk/Viewport.js +1 -1
  63. package/src/sap/ui/vk/ViewportBase.js +3 -1
  64. package/src/sap/ui/vk/VisibilityMode.js +2 -1
  65. package/src/sap/ui/vk/dvl/BaseNodeProxy.js +1 -1
  66. package/src/sap/ui/vk/dvl/ContentManager.js +1 -1
  67. package/src/sap/ui/vk/dvl/GraphicsCore.js +1 -1
  68. package/src/sap/ui/vk/dvl/LayerProxy.js +1 -1
  69. package/src/sap/ui/vk/dvl/NodeHierarchy.js +1 -1
  70. package/src/sap/ui/vk/dvl/NodeProxy.js +1 -1
  71. package/src/sap/ui/vk/dvl/Scene.js +1 -1
  72. package/src/sap/ui/vk/dvl/ViewStateManager.js +1 -1
  73. package/src/sap/ui/vk/dvl/Viewport.js +1 -1
  74. package/src/sap/ui/vk/ecad/ElementsPanel.js +469 -0
  75. package/src/sap/ui/vk/{tools/AnchorPointToolGizmoRenderer.js → ecad/ElementsPanelRenderer.js} +13 -12
  76. package/src/sap/ui/vk/ecad/LayersPanel.js +440 -0
  77. package/src/sap/ui/vk/{tools/CrossSectionToolGizmoRenderer.js → ecad/LayersPanelRenderer.js} +13 -12
  78. package/src/sap/ui/vk/ecad/VisibilityType.js +31 -0
  79. package/src/sap/ui/vk/i18n/messagebundle.properties +50 -0
  80. package/src/sap/ui/vk/library.js +5 -3
  81. package/src/sap/ui/vk/matai/MataiLoaderWorker.js +4 -0
  82. package/src/sap/ui/vk/measurements/Angle.js +1 -1
  83. package/src/sap/ui/vk/measurements/Area.js +1 -1
  84. package/src/sap/ui/vk/measurements/Distance.js +1 -1
  85. package/src/sap/ui/vk/measurements/Edge.js +1 -1
  86. package/src/sap/ui/vk/measurements/Face.js +1 -1
  87. package/src/sap/ui/vk/measurements/Feature.js +1 -1
  88. package/src/sap/ui/vk/measurements/Surface.js +1 -1
  89. package/src/sap/ui/vk/measurements/Vertex.js +1 -1
  90. package/src/sap/ui/vk/pdf/ContentManager.js +1 -1
  91. package/src/sap/ui/vk/pdf/PageGallery.js +3 -5
  92. package/src/sap/ui/vk/pdf/Viewport.js +1 -1
  93. package/src/sap/ui/vk/svg/BaseNodeProxy.js +1 -1
  94. package/src/sap/ui/vk/svg/ContentDeliveryService.js +2 -1
  95. package/src/sap/ui/vk/svg/ContentManager.js +2 -1
  96. package/src/sap/ui/vk/svg/HotspotHelper.js +2 -4
  97. package/src/sap/ui/vk/svg/NodeHierarchy.js +1 -1
  98. package/src/sap/ui/vk/svg/NodeProxy.js +1 -1
  99. package/src/sap/ui/vk/svg/OrthographicCamera.js +1 -1
  100. package/src/sap/ui/vk/svg/Scene.js +1 -1
  101. package/src/sap/ui/vk/svg/SceneBuilder.js +1 -2
  102. package/src/sap/ui/vk/svg/ViewStateManager.js +1 -2
  103. package/src/sap/ui/vk/svg/Viewport.js +1 -1
  104. package/src/sap/ui/vk/thirdparty/pdf.worker.js +1 -1
  105. package/src/sap/ui/vk/threejs/AnimationHelper.js +1 -2
  106. package/src/sap/ui/vk/threejs/BaseNodeProxy.js +1 -1
  107. package/src/sap/ui/vk/threejs/Billboard.js +2 -3
  108. package/src/sap/ui/vk/threejs/Callout.js +1 -2
  109. package/src/sap/ui/vk/threejs/ContentDeliveryService.js +2 -1
  110. package/src/sap/ui/vk/threejs/ContentManager.js +1 -1
  111. package/src/sap/ui/vk/threejs/DetailView.js +1 -2
  112. package/src/sap/ui/vk/threejs/HighlightPlayer.js +18 -25
  113. package/src/sap/ui/vk/threejs/Material.js +1 -4
  114. package/src/sap/ui/vk/threejs/NodeHierarchy.js +1 -1
  115. package/src/sap/ui/vk/threejs/NodeProxy.js +7 -26
  116. package/src/sap/ui/vk/threejs/OrthographicCamera.js +1 -1
  117. package/src/sap/ui/vk/threejs/ParametricGenerators.js +1 -1
  118. package/src/sap/ui/vk/threejs/PerspectiveCamera.js +1 -1
  119. package/src/sap/ui/vk/threejs/PointCloudGroup.js +1 -2
  120. package/src/sap/ui/vk/threejs/PolylineGeometry.js +29 -1
  121. package/src/sap/ui/vk/threejs/Scene.js +83 -76
  122. package/src/sap/ui/vk/threejs/SceneBuilder.js +8 -23
  123. package/src/sap/ui/vk/threejs/Texture.js +1 -4
  124. package/src/sap/ui/vk/threejs/ThreeExtensions.js +30 -75
  125. package/src/sap/ui/vk/threejs/ThreeUtils.js +1 -1
  126. package/src/sap/ui/vk/threejs/Thrustline.js +1 -4
  127. package/src/sap/ui/vk/threejs/ViewStateManager.js +7 -8
  128. package/src/sap/ui/vk/threejs/Viewport.js +1 -3
  129. package/src/sap/ui/vk/threejs/v2/ViewStateManager.js +12 -29
  130. package/src/sap/ui/vk/tools/AnchorPointTool.js +1 -1
  131. package/src/sap/ui/vk/tools/AnchorPointToolGizmo.js +11 -3
  132. package/src/sap/ui/vk/tools/AngleMeasurementToolGizmo.js +2 -1
  133. package/src/sap/ui/vk/tools/AreaMeasurementToolGizmo.js +2 -1
  134. package/src/sap/ui/vk/tools/AxisAngleRotationTool.js +1 -7
  135. package/src/sap/ui/vk/tools/AxisAngleRotationToolGizmo.js +1 -1
  136. package/src/sap/ui/vk/tools/CreateEllipseTool.js +1 -1
  137. package/src/sap/ui/vk/tools/CreateEllipseToolGizmo.js +3 -2
  138. package/src/sap/ui/vk/tools/CreateParametricGizmo.js +3 -2
  139. package/src/sap/ui/vk/tools/CreatePathTool.js +1 -1
  140. package/src/sap/ui/vk/tools/CreatePathToolGizmo.js +3 -2
  141. package/src/sap/ui/vk/tools/CreateRectangleTool.js +1 -1
  142. package/src/sap/ui/vk/tools/CreateRectangleToolGizmo.js +3 -2
  143. package/src/sap/ui/vk/tools/CreateTextTool.js +1 -1
  144. package/src/sap/ui/vk/tools/CreateTextToolGizmo.js +12 -1
  145. package/src/sap/ui/vk/tools/CrossSectionTool.js +1 -1
  146. package/src/sap/ui/vk/tools/CrossSectionToolGizmo.js +11 -1
  147. package/src/sap/ui/vk/tools/DistanceMeasurementToolGizmo.js +2 -1
  148. package/src/sap/ui/vk/tools/DuplicateSvgElementTool.js +1 -1
  149. package/src/sap/ui/vk/tools/DuplicateSvgElementToolGizmo.js +3 -2
  150. package/src/sap/ui/vk/tools/ExplodeItemGroup.js +1 -1
  151. package/src/sap/ui/vk/tools/ExplodeTool.js +3 -3
  152. package/src/sap/ui/vk/tools/ExplodeToolGizmo.js +3 -2
  153. package/src/sap/ui/vk/tools/Gizmo.js +2 -5
  154. package/src/sap/ui/vk/tools/HitTestTool.js +1 -1
  155. package/src/sap/ui/vk/tools/MeasurementToolGizmo.js +2 -1
  156. package/src/sap/ui/vk/tools/MoveTool.js +1 -1
  157. package/src/sap/ui/vk/tools/MoveToolGizmo.js +1 -1
  158. package/src/sap/ui/vk/tools/PointCloudSelectionTool.js +1 -1
  159. package/src/sap/ui/vk/tools/PointCloudSelectionToolGizmo.js +1 -1
  160. package/src/sap/ui/vk/tools/RectSelectTool.js +1 -1
  161. package/src/sap/ui/vk/tools/RedlineTool.js +1 -1
  162. package/src/sap/ui/vk/tools/RedlineToolGizmo.js +1 -1
  163. package/src/sap/ui/vk/tools/RotateOrbitTool.js +1 -1
  164. package/src/sap/ui/vk/tools/RotateTool.js +1 -1
  165. package/src/sap/ui/vk/tools/RotateToolGizmo.js +1 -1
  166. package/src/sap/ui/vk/tools/RotateTurntableTool.js +1 -1
  167. package/src/sap/ui/vk/tools/ScaleTool.js +1 -1
  168. package/src/sap/ui/vk/tools/ScaleToolGizmo.js +1 -1
  169. package/src/sap/ui/vk/tools/SceneOrientationTool.js +1 -1
  170. package/src/sap/ui/vk/tools/SceneOrientationToolGizmo.js +13 -1
  171. package/src/sap/ui/vk/tools/Tool.js +1 -1
  172. package/src/sap/ui/vk/tools/TooltipTool.js +1 -1
  173. package/src/sap/ui/vk/tools/TooltipToolGizmo.js +1 -1
  174. package/src/sap/ui/vk/tools/TransformSvgElementTool.js +1 -1
  175. package/src/sap/ui/vk/tools/TransformSvgElementToolGizmo.js +1 -1
  176. package/src/sap/ui/vk/totara/TotaraUtils.js +5 -0
  177. package/src/sap/ui/vk/ve/dvl.js +1 -1
  178. package/src/sap/ui/vk/ve/dvl.wasm +0 -0
  179. package/src/sap/ui/vk/ve/matai.js +1 -1
  180. package/src/sap/ui/vk/ve/matai.wasm +0 -0
  181. package/src/sap/ui/vk/tools/CreateTextToolGizmoRenderer.js +0 -41
  182. package/src/sap/ui/vk/tools/SceneOrientationToolGizmoRenderer.js +0 -39
@@ -43,7 +43,7 @@ sap.ui.define([
43
43
  * @param {object} [mSettings] Initial settings for the new ContentManager object.
44
44
  * @private
45
45
  * @author SAP SE
46
- * @version 1.134.0
46
+ * @version 1.136.0
47
47
  * @extends sap.ui.vk.ContentManager
48
48
  * @alias sap.ui.vk.pdf.ContentManager
49
49
  * @since 1.123.0
@@ -426,6 +426,9 @@ sap.ui.define([
426
426
  };
427
427
 
428
428
  PageGallery.prototype.onBeforeRendering = function() {
429
+ this._intersectionObserver?.disconnect();
430
+ this._intersectionObserver = null;
431
+
429
432
  this._unsubscribeFromEvents();
430
433
  };
431
434
 
@@ -463,11 +466,6 @@ sap.ui.define([
463
466
  this._subscribeToEvents();
464
467
  };
465
468
 
466
- PageGallery.prototype.onBeforeRendering = function() {
467
- this._intersectionObserver?.disconnect();
468
- this._intersectionObserver = null;
469
- };
470
-
471
469
  PageGallery.prototype._intersectionObserverCallback = function(entries) {
472
470
  const pages = this._getPagesControl().getItems();
473
471
  const visiblePages = this._visiblePages;
@@ -64,7 +64,7 @@ sap.ui.define([
64
64
  *
65
65
  * @extends sap.ui.vk.ViewportBase
66
66
  * @author SAP SE
67
- * @version 1.134.0
67
+ * @version 1.136.0
68
68
  * @constructor
69
69
  * @public
70
70
  * @alias sap.ui.vk.pdf.Viewport
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  *
36
36
  * @public
37
37
  * @author SAP SE
38
- * @version 1.134.0
38
+ * @version 1.136.0
39
39
  * @extends sap.ui.vk.BaseNodeProxy
40
40
  * @implements sap.ui.base.Poolable
41
41
  * @alias sap.ui.vk.svg.BaseNodeProxy
@@ -29,7 +29,7 @@ sap.ui.define([
29
29
  * @class Provides a class to communicate with content delivery service.
30
30
  * @private
31
31
  * @author SAP SE
32
- * @version 1.134.0
32
+ * @version 1.136.0
33
33
  * @extends sap.ui.base.ManagedObject
34
34
  * @alias sap.ui.vk.svg.ContentDeliveryService
35
35
  */
@@ -359,6 +359,7 @@ sap.ui.define([
359
359
  includeBackground: contentResource.getIncludeBackground(),
360
360
  includeHidden: contentResource.getIncludeHidden(),
361
361
  includeParametric: contentResource.getIncludeParametric(),
362
+ includeMetadata: contentResource.getIncludeMetadata(),
362
363
  includeUsageId: contentResource.getIncludeUsageId(),
363
364
  metadataFilter: contentResource.getMetadataFilter(),
364
365
  pushPMI: contentResource.getPushPMI(),
@@ -45,7 +45,7 @@ sap.ui.define([
45
45
  * @param {object} [mSettings] Initial settings for the new ContentManager object.
46
46
  * @protected
47
47
  * @author SAP SE
48
- * @version 1.134.0
48
+ * @version 1.136.0
49
49
  * @extends sap.ui.vk.ContentManager
50
50
  * @alias sap.ui.vk.svg.ContentManager
51
51
  * @since 1.80.0
@@ -234,6 +234,7 @@ sap.ui.define([
234
234
  includeBackground: contentResource.getIncludeBackground(),
235
235
  includeHidden: contentResource.getIncludeHidden(),
236
236
  includeParametric: true,
237
+ includeMetadata: contentResource.getIncludeMetadata(),
237
238
  includeUsageId: contentResource.getIncludeUsageId(),
238
239
  metadataFilter: contentResource.getMetadataFilter(),
239
240
  pushPMI: true,
@@ -40,7 +40,7 @@ sap.ui.define([
40
40
  * If omitted, duplicated hotspots must be placed at a small offset from the original.
41
41
  * @param {sap.ui.vk.svg.Viewport} viewport Viewport to determine duplicate hotspot offset if transformationMatrix not specified.
42
42
  * @returns {sap.ui.vk.svg.Element[]} Duplicated hotspots in a form can be passed to the backend service.
43
- * @experimental
43
+ * @experimental Since 1.81.0 This class is experimental and might be modified or removed in future versions.
44
44
  * @public
45
45
  */
46
46
  HotspotHelper.prototype.duplicateHotspot = function(hotspots, parentNode, transformationMatrix, viewport) {
@@ -80,7 +80,6 @@ sap.ui.define([
80
80
  * A better solution would be updating the data in the backend service.
81
81
  *
82
82
  * @param {sap.ui.vk.svg.Element} hotspotNode Hotspot object to update.
83
- * @experimental
84
83
  * @private
85
84
  */
86
85
  HotspotHelper.prototype.updateHotspot = function(hotspotNode) {
@@ -140,7 +139,6 @@ sap.ui.define([
140
139
  * @returns {any} object contains the follow fields
141
140
  * {any} <code>nodeRef</code> Merged hotspot node reference
142
141
  * {any} <code>request</code> Merged hotspots in a form can be passed to the backend service
143
- * @experimental
144
142
  * @public
145
143
  */
146
144
  HotspotHelper.prototype.mergeHotspots = function(scene, hotspots) {
@@ -267,7 +265,7 @@ sap.ui.define([
267
265
  * @returns {any} object contains the follow fields
268
266
  * {any} <code>nodeRef</code> Merged node reference
269
267
  * {any} <code>request</code> Merged nodes in a form can be passed to the backend service
270
- * @experimental
268
+ * @experimental Since 1.81.0 This class is experimental and might be modified or removed in future versions.
271
269
  * @public
272
270
  */
273
271
  HotspotHelper.prototype.mergeElements = function(nodeHierarchy, nodes) {
@@ -55,7 +55,7 @@ sap.ui.define([
55
55
  *
56
56
  * @public
57
57
  * @author SAP SE
58
- * @version 1.134.0
58
+ * @version 1.136.0
59
59
  * @extends sap.ui.vk.NodeHierarchy
60
60
  * @alias sap.ui.vk.svg.NodeHierarchy
61
61
  */
@@ -36,7 +36,7 @@ sap.ui.define([
36
36
  *
37
37
  * @public
38
38
  * @author SAP SE
39
- * @version 1.134.0
39
+ * @version 1.136.0
40
40
  * @extends sap.ui.vk.NodeProxy
41
41
  * @alias sap.ui.vk.svg.NodeProxy
42
42
  */
@@ -22,7 +22,7 @@ sap.ui.define([
22
22
  *
23
23
  * @public
24
24
  * @author SAP SE
25
- * @version 1.134.0
25
+ * @version 1.136.0
26
26
  * @extends sap.ui.vk.OrthographicCamera
27
27
  * @alias sap.ui.vk.svg.OrthographicCamera
28
28
  * @since 1.80.0
@@ -26,7 +26,7 @@ sap.ui.define([
26
26
  *
27
27
  * @public
28
28
  * @author SAP SE
29
- * @version 1.134.0
29
+ * @version 1.136.0
30
30
  * @extends sap.ui.vk.Scene
31
31
  * @alias sap.ui.vk.svg.Scene
32
32
  */
@@ -66,8 +66,7 @@ sap.ui.define([
66
66
  *
67
67
  * @private
68
68
  * @author SAP SE
69
- * @version 1.134.0
70
- * @experimental Since 1.81.0 This class is experimental and might be modified or removed in future versions.
69
+ * @version 1.136.0
71
70
  */
72
71
  var SceneBuilder = function(rootNode, contentResource, resolve, reject) {
73
72
  this._rootNode = rootNode;
@@ -49,7 +49,7 @@ sap.ui.define([
49
49
  * @param {object} [mSettings] Initial settings for the new ViewStateManager object.
50
50
  * @public
51
51
  * @author SAP SE
52
- * @version 1.134.0
52
+ * @version 1.136.0
53
53
  * @extends sap.ui.vk.ViewStateManagerBase
54
54
  * @alias sap.ui.vk.svg.ViewStateManager
55
55
  * @since 1.80.0
@@ -1142,7 +1142,6 @@ sap.ui.define([
1142
1142
  * @see {@link sap.ui.vk.AnimationSequence.setJoint} for joint definition
1143
1143
  * @returns {this} <code>this</code> to allow method chaining.
1144
1144
  *
1145
- * @experimental Since 1.71.0 This class is experimental and might be modified or removed in future versions.
1146
1145
  * @private
1147
1146
  */
1148
1147
  ViewStateManager.prototype.setJoints = function(joints, playback) {
@@ -74,7 +74,7 @@ sap.ui.define([
74
74
  *
75
75
  * @public
76
76
  * @author SAP SE
77
- * @version 1.134.0
77
+ * @version 1.136.0
78
78
  * @extends sap.ui.vk.ViewportBase
79
79
  * @alias sap.ui.vk.svg.Viewport
80
80
  */
@@ -54306,7 +54306,7 @@ class PDFDocument {
54306
54306
  if (PDF_VERSION_REGEXP.test(version)) {
54307
54307
  this._version = version;
54308
54308
  } else {
54309
- warn(`Invalid PDF header version: 1.134.0`);
54309
+ warn(`Invalid PDF header version: 1.136.0`);
54310
54310
  }
54311
54311
  }
54312
54312
  parseStartXRef() {
@@ -35,8 +35,7 @@ sap.ui.define([
35
35
  *
36
36
  * @private
37
37
  * @author SAP SE
38
- * @version 1.134.0
39
- * @experimental Since 1.60.0 This class is experimental and might be modified or removed in future versions.
38
+ * @version 1.136.0
40
39
  */
41
40
  var AnimationHelper = function() {
42
41
  };
@@ -35,7 +35,7 @@ sap.ui.define([
35
35
  *
36
36
  * @public
37
37
  * @author SAP SE
38
- * @version 1.134.0
38
+ * @version 1.136.0
39
39
  * @extends sap.ui.vk.BaseNodeProxy
40
40
  * @implements sap.ui.base.Poolable
41
41
  * @alias sap.ui.vk.threejs.BaseNodeProxy
@@ -39,10 +39,9 @@ sap.ui.define([
39
39
  *
40
40
  * @private
41
41
  * @author SAP SE
42
- * @version 1.134.0
42
+ * @version 1.136.0
43
43
  * @extends sap.ui.base.ManagedObject
44
44
  * @alias sap.ui.vk.threejs.Billboard
45
- * @experimental Since 1.60.0 This class is experimental and might be modified or removed in future versions.
46
45
  */
47
46
  var Billboard = BaseObject.extend("sap.ui.vk.threejs.Billboard", /** @lends sap.ui.vk.threejs.Billboard.prototype */ {
48
47
  metadata: {
@@ -154,7 +153,7 @@ sap.ui.define([
154
153
  BaseObject.prototype.init.call(this);
155
154
  }
156
155
 
157
- var material = new THREE.MeshBasicMaterial({
156
+ var material = new THREE.MeshPhongMaterial({
158
157
  depthTest: false,
159
158
  depthWrite: false,
160
159
  transparent: true,
@@ -39,10 +39,9 @@ sap.ui.define([
39
39
  *
40
40
  * @private
41
41
  * @author SAP SE
42
- * @version 1.134.0
42
+ * @version 1.136.0
43
43
  * @extends sap.ui.vk.threejs.Billboard
44
44
  * @alias sap.ui.vk.threejs.Callout
45
- * @experimental Since 1.60.0 This class is experimental and might be modified or removed in future versions.
46
45
  */
47
46
  var Callout = Billboard.extend("sap.ui.vk.threejs.Callout", /** @lends sap.ui.vk.threejs.Callout.prototype */ {
48
47
  metadata: {
@@ -33,7 +33,7 @@ sap.ui.define([
33
33
  * @class Provides a class to communicate with content delivery service.
34
34
  * @private
35
35
  * @author SAP SE
36
- * @version 1.134.0
36
+ * @version 1.136.0
37
37
  * @extends sap.ui.base.ManagedObject
38
38
  * @alias sap.ui.vk.threejs.ContentDeliveryService
39
39
  */
@@ -370,6 +370,7 @@ sap.ui.define([
370
370
  includeBackground: contentResource.getIncludeBackground(),
371
371
  includeHidden: contentResource.getIncludeHidden(),
372
372
  includeParametric: contentResource.getIncludeParametric(),
373
+ includeMetadata: contentResource.getIncludeMetadata(),
373
374
  includeUsageId: contentResource.getIncludeUsageId(),
374
375
  metadataFilter: contentResource.getMetadataFilter(),
375
376
  pushPMI: contentResource.getPushPMI(),
@@ -112,7 +112,7 @@ sap.ui.define([
112
112
  * @param {object} [mSettings] Initial settings for the new ContentManager object.
113
113
  * @protected
114
114
  * @author SAP SE
115
- * @version 1.134.0
115
+ * @version 1.136.0
116
116
  * @extends sap.ui.vk.ContentManager
117
117
  * @alias sap.ui.vk.threejs.ContentManager
118
118
  * @since 1.50.0
@@ -33,10 +33,9 @@ sap.ui.define([
33
33
  *
34
34
  * @private
35
35
  * @author SAP SE
36
- * @version 1.134.0
36
+ * @version 1.136.0
37
37
  * @extends sap.ui.base.ManagedObject
38
38
  * @alias sap.ui.vk.threejs.DetailView
39
- * @experimental Since 1.60.0 This class is experimental and might be modified or removed in future versions.
40
39
  */
41
40
  var DetailView = BaseObject.extend("sap.ui.vk.threejs.DetailView", /** @lends sap.ui.vk.threejs.DetailView.prototype */ {
42
41
  metadata: {
@@ -24,10 +24,9 @@ sap.ui.define([
24
24
  *
25
25
  * @private
26
26
  * @author SAP SE
27
- * @version 1.134.0
27
+ * @version 1.136.0
28
28
  * @extends sap.ui.base.Object
29
29
  * @alias sap.ui.vk.threejs.HighlightPlayer
30
- * @experimental Since 1.67.0 This class is experimental and might be modified or removed in future versions.
31
30
  */
32
31
  var HighlightPlayer = BaseObject.extend("sap.ui.vk.threejs.HighlightPlayer", /** @lends sap.ui.vk.three.HighlightPlayer.prototype */ {
33
32
 
@@ -106,38 +105,32 @@ sap.ui.define([
106
105
  }
107
106
  this._timeElapsed = time - this._startTime;
108
107
 
109
- var that = this;
110
-
111
108
  var completedHighlights = [];
112
109
  this._highlightsNodesMap.forEach(function(nodesInfo, highlight) {
113
- var resColor = highlight.getColour(that._timeElapsed / 1000.0);
114
- var nodes = nodesInfo.nodes, ni;
115
- if (resColor !== undefined) {
116
- for (ni = 0; ni < nodes.length; ni++) {
117
- nodes[ni]._vkSetHighlightColor(resColor.colour);
118
- }
119
- }
110
+ const res = highlight.evaluate(this._timeElapsed / 1000.0);
120
111
 
121
- var resOpacity = highlight.getOpacity(that._timeElapsed / 1000.0);
122
- if (resOpacity !== undefined) {
123
- for (ni = 0; ni < nodes.length; ni++) {
124
- nodes[ni]._vkSetOpacity(resOpacity.opacity);
112
+ nodesInfo.nodes.forEach(function(node) {
113
+ if (res.color != null) {
114
+ node._vkSetHighlightColor(res.color);
125
115
  }
126
-
127
- if (resOpacity.isCompleted && highlight.isFadeOut() && nodesInfo.hiddenNodes !== undefined) {
128
- that._viewStateManager.setVisibilityState(nodesInfo.hiddenNodes, false, false);
116
+ if (res.opacity != null) {
117
+ node._vkSetOpacity(res.opacity);
129
118
  }
130
- }
119
+ });
131
120
 
132
- if ((resColor === undefined || resColor.isCompleted) && (resOpacity === undefined || resOpacity.isCompleted)) {
133
- completedHighlights.push(highlight);
121
+ if (res.isCompleted) {
122
+ if (highlight.isFadeOut() && nodesInfo.hiddenNodes !== undefined) {
123
+ this._viewStateManager.setVisibilityState(nodesInfo.hiddenNodes, false, false);
124
+ }
125
+ if (highlight.isFadeInOut()) {
126
+ completedHighlights.push(highlight);
127
+ }
134
128
  }
135
-
136
- });
129
+ }, this);
137
130
 
138
131
  completedHighlights.forEach(function(highlight) {
139
- that._highlightsNodesMap.delete(highlight);
140
- });
132
+ this._highlightsNodesMap.delete(highlight);
133
+ }, this);
141
134
 
142
135
  if (this._highlightsNodesMap.size === 0) {
143
136
  this._state = HighlightDisplayState.stopped;
@@ -28,13 +28,10 @@ sap.ui.define([
28
28
  /**
29
29
  * Constructor for a new Material.
30
30
  *
31
- *
32
31
  * @class Provides the interface for the material.
33
- *
34
- *
35
32
  * @public
36
33
  * @author SAP SE
37
- * @version 1.134.0
34
+ * @version 1.136.0
38
35
  * @extends sap.ui.vk.Material
39
36
  * @alias sap.ui.vk.threejs.Material
40
37
  * @experimental Since 1.60.0 This class is experimental and might be modified or removed in future versions.
@@ -55,7 +55,7 @@ sap.ui.define([
55
55
  *
56
56
  * @public
57
57
  * @author SAP SE
58
- * @version 1.134.0
58
+ * @version 1.136.0
59
59
  * @extends sap.ui.vk.NodeHierarchy
60
60
  * @alias sap.ui.vk.threejs.NodeHierarchy
61
61
  */
@@ -42,7 +42,7 @@ sap.ui.define([
42
42
  *
43
43
  * @public
44
44
  * @author SAP SE
45
- * @version 1.134.0
45
+ * @version 1.136.0
46
46
  * @extends sap.ui.vk.NodeProxy
47
47
  * @alias sap.ui.vk.threejs.NodeProxy
48
48
  */
@@ -252,33 +252,14 @@ sap.ui.define([
252
252
  }
253
253
 
254
254
  if (nodeRef.material !== undefined) {
255
- if (nodeRef.userData.highlightColor !== undefined) {
256
- if (nodeRef.userData.originalMaterial.side) {
257
- materialRef.side = nodeRef.userData.originalMaterial.side;
258
- }
259
- nodeRef.userData.originalMaterial = materialRef;
260
- materialRef.userData.materialUsed++;
261
-
262
- nodeRef.material = materialRef.clone();
263
- var c = abgrToColor(nodeRef.userData.highlightColor);
264
- nodeRef.material.color.lerp(new THREE.Color(c.red / 255.0, c.green / 255.0, c.blue / 255.0), c.alpha);
265
- // when highlightColor = 0: total transparent, so do not change original emissive and specular
266
- if (materialRef.userData.defaultHighlightingEmissive && nodeRef.userData.highlightColor !== 0) {
267
- nodeRef.material.emissive.copy(materialRef.userData.defaultHighlightingEmissive);
268
- }
269
- if (materialRef.userData.defaultHighlightingSpecular && nodeRef.userData.highlightColor !== 0) {
270
- nodeRef.material.specular.copy(materialRef.userData.defaultHighlightingSpecular);
271
- }
272
- } else {
273
- if (nodeRef.material.side) {
274
- materialRef.side = nodeRef.material.side;
275
- }
276
- nodeRef.material = materialRef;
277
- materialRef.userData.materialUsed++;
278
- delete nodeRef.userData.originalMaterial;
255
+ if (nodeRef.material.side) {
256
+ materialRef.side = nodeRef.material.side;
279
257
  }
258
+ nodeRef.material = materialRef;
259
+ materialRef.userData.materialUsed++;
260
+ delete nodeRef.userData.originalMaterial;
280
261
 
281
- nodeRef._vkUpdateMaterialOpacity(); // todo: probably should be _vkUpdateMaterialColorAndOpacity, not _vkUpdateMaterialOpacity
262
+ nodeRef._vkUpdateMaterialColorAndOpacity();
282
263
  }
283
264
  };
284
265
 
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @public
26
26
  * @author SAP SE
27
- * @version 1.134.0
27
+ * @version 1.136.0
28
28
  * @extends sap.ui.vk.OrthographicCamera
29
29
  * @alias sap.ui.vk.threejs.OrthographicCamera
30
30
  * @since 1.52.0
@@ -27,7 +27,7 @@ sap.ui.define([
27
27
  },
28
28
 
29
29
  generateBox: function(boxJson, material) {
30
- const mesh = new THREE.Mesh(new THREE.BoxGeometry(boxJson.width, boxJson.length, boxJson.height), material || undefined);
30
+ const mesh = new THREE.Mesh(new THREE.BoxGeometry(boxJson.length, boxJson.width, boxJson.height), material || undefined);
31
31
  mesh.name = "box";
32
32
  return mesh;
33
33
  },
@@ -24,7 +24,7 @@ sap.ui.define([
24
24
  *
25
25
  * @public
26
26
  * @author SAP SE
27
- * @version 1.134.0
27
+ * @version 1.136.0
28
28
  * @extends sap.ui.vk.PerspectiveCamera
29
29
  * @alias sap.ui.vk.threejs.PerspectiveCamera
30
30
  * @since 1.52.0
@@ -26,9 +26,8 @@ sap.ui.define([
26
26
  * @abstract
27
27
  * @private
28
28
  * @author SAP SE
29
- * @version 1.134.0
29
+ * @version 1.136.0
30
30
  * @alias sap.ui.vk.threejs.PointCloudGroup
31
- * @experimental Since 1.118.0 This class is experimental and might be modified or removed in future versions.
32
31
  */
33
32
  const PointCloudGroup = function(settings) {
34
33
  this._position = new THREE.Vector3();
@@ -13,7 +13,7 @@ sap.ui.define([
13
13
  ) {
14
14
  "use strict";
15
15
 
16
- function PolylineGeometry() {
16
+ function PolylineGeometry(outlineGeometry = null) {
17
17
  var _this = new THREE.InstancedBufferGeometry();
18
18
 
19
19
  Object.setPrototypeOf(_this, PolylineGeometry.prototype);
@@ -28,6 +28,34 @@ sap.ui.define([
28
28
  _this.setAttribute("position", new THREE.Float32BufferAttribute(positions, 3));
29
29
  _this.setAttribute("uv", new THREE.Float32BufferAttribute(uvs, 2));
30
30
 
31
+ const positionAttribute = outlineGeometry ? outlineGeometry.getAttribute("position") : null;
32
+ if (positionAttribute && positionAttribute.count > 0) {
33
+ const normal1 = outlineGeometry.getAttribute("normal1").array;
34
+ const normal2 = outlineGeometry.getAttribute("normal2").array;
35
+ const positions = [];
36
+ const vertexCount = positionAttribute.count;
37
+ const pa = positionAttribute.array;
38
+ for (let i = 0; i < vertexCount; ++i) {
39
+ positions.push(new THREE.Vector3(pa[i * 3], pa[i * 3 + 1], pa[i * 3 + 2]));
40
+ }
41
+
42
+ const edgeCount = vertexCount / 2;
43
+ const indices = [];
44
+ const normals = new Float32Array(6 * edgeCount);
45
+ for (let j = 0; j < edgeCount; ++j) {
46
+ indices.push(j * 2);
47
+ indices.push(j * 2 + 1);
48
+ normals[j * 6] = normal1[j * 6];
49
+ normals[j * 6 + 1] = normal1[j * 6 + 1];
50
+ normals[j * 6 + 2] = normal1[j * 6 + 2];
51
+ normals[j * 6 + 3] = normal2[j * 6];
52
+ normals[j * 6 + 4] = normal2[j * 6 + 1];
53
+ normals[j * 6 + 5] = normal2[j * 6 + 2];
54
+ }
55
+
56
+ _this.setVertices(positions, indices, normals);
57
+ }
58
+
31
59
  return _this;
32
60
  }
33
61