@babylonjs/gui 5.0.0-rc.0 → 5.0.0-rc.11

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 (305) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/adtInstrumentation.js.map +1 -1
  4. package/2D/advancedDynamicTexture.d.ts +449 -423
  5. package/2D/advancedDynamicTexture.js +1318 -1286
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -97
  8. package/2D/controls/button.js +276 -238
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -51
  11. package/2D/controls/checkbox.js +188 -178
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -90
  14. package/2D/controls/colorpicker.js +1417 -1400
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -130
  17. package/2D/controls/container.js +570 -525
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -743
  20. package/2D/controls/control.js +2433 -2308
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -55
  23. package/2D/controls/displayGrid.js +245 -245
  24. package/2D/controls/displayGrid.js.map +1 -1
  25. package/2D/controls/ellipse.d.ts +21 -21
  26. package/2D/controls/ellipse.js +85 -85
  27. package/2D/controls/ellipse.js.map +1 -1
  28. package/2D/controls/focusableButton.d.ts +59 -52
  29. package/2D/controls/focusableButton.js +99 -92
  30. package/2D/controls/focusableButton.js.map +1 -1
  31. package/2D/controls/focusableControl.d.ts +34 -34
  32. package/2D/controls/focusableControl.js +1 -1
  33. package/2D/controls/focusableControl.js.map +1 -1
  34. package/2D/controls/grid.d.ts +139 -135
  35. package/2D/controls/grid.js +529 -525
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -197
  38. package/2D/controls/image.js +887 -879
  39. package/2D/controls/image.js.map +1 -1
  40. package/2D/controls/index.d.ts +29 -29
  41. package/2D/controls/index.js +29 -29
  42. package/2D/controls/index.js.map +1 -1
  43. package/2D/controls/inputPassword.d.ts +9 -8
  44. package/2D/controls/inputPassword.js +28 -25
  45. package/2D/controls/inputPassword.js.map +1 -1
  46. package/2D/controls/inputText.d.ts +201 -182
  47. package/2D/controls/inputText.js +1119 -1096
  48. package/2D/controls/inputText.js.map +1 -1
  49. package/2D/controls/line.d.ts +66 -66
  50. package/2D/controls/line.js +271 -271
  51. package/2D/controls/line.js.map +1 -1
  52. package/2D/controls/multiLine.d.ts +75 -77
  53. package/2D/controls/multiLine.js +262 -262
  54. package/2D/controls/multiLine.js.map +1 -1
  55. package/2D/controls/radioButton.d.ts +49 -49
  56. package/2D/controls/radioButton.js +205 -205
  57. package/2D/controls/radioButton.js.map +1 -1
  58. package/2D/controls/rectangle.d.ts +29 -29
  59. package/2D/controls/rectangle.js +150 -150
  60. package/2D/controls/rectangle.js.map +1 -1
  61. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -175
  62. package/2D/controls/scrollViewers/scrollViewer.js +677 -676
  63. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  64. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -45
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -263
  66. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  67. package/2D/controls/selector.d.ts +263 -209
  68. package/2D/controls/selector.js +692 -629
  69. package/2D/controls/selector.js.map +1 -1
  70. package/2D/controls/sliders/baseSlider.d.ts +82 -78
  71. package/2D/controls/sliders/baseSlider.js +347 -343
  72. package/2D/controls/sliders/baseSlider.js.map +1 -1
  73. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -47
  74. package/2D/controls/sliders/imageBasedSlider.js +192 -188
  75. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  76. package/2D/controls/sliders/imageScrollBar.d.ts +65 -61
  77. package/2D/controls/sliders/imageScrollBar.js +263 -256
  78. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  79. package/2D/controls/sliders/scrollBar.d.ts +38 -34
  80. package/2D/controls/sliders/scrollBar.js +143 -136
  81. package/2D/controls/sliders/scrollBar.js.map +1 -1
  82. package/2D/controls/sliders/slider.d.ts +35 -37
  83. package/2D/controls/sliders/slider.js +271 -271
  84. package/2D/controls/sliders/slider.js.map +1 -1
  85. package/2D/controls/stackPanel.d.ts +64 -56
  86. package/2D/controls/stackPanel.js +246 -236
  87. package/2D/controls/stackPanel.js.map +1 -1
  88. package/2D/controls/statics.d.ts +6 -6
  89. package/2D/controls/statics.js +49 -47
  90. package/2D/controls/statics.js.map +1 -1
  91. package/2D/controls/textBlock.d.ts +175 -172
  92. package/2D/controls/textBlock.js +603 -598
  93. package/2D/controls/textBlock.js.map +1 -1
  94. package/2D/controls/textWrapper.d.ts +13 -13
  95. package/2D/controls/textWrapper.js +101 -101
  96. package/2D/controls/textWrapper.js.map +1 -1
  97. package/2D/controls/toggleButton.d.ts +117 -83
  98. package/2D/controls/toggleButton.js +268 -234
  99. package/2D/controls/toggleButton.js.map +1 -1
  100. package/2D/controls/virtualKeyboard.d.ts +96 -96
  101. package/2D/controls/virtualKeyboard.js +256 -256
  102. package/2D/controls/virtualKeyboard.js.map +1 -1
  103. package/2D/index.d.ts +9 -9
  104. package/2D/index.js +10 -9
  105. package/2D/index.js.map +1 -1
  106. package/2D/math2D.d.ts +117 -117
  107. package/2D/math2D.js +221 -221
  108. package/2D/math2D.js.map +1 -1
  109. package/2D/measure.d.ts +77 -77
  110. package/2D/measure.js +139 -149
  111. package/2D/measure.js.map +1 -1
  112. package/2D/multiLinePoint.d.ts +47 -47
  113. package/2D/multiLinePoint.js +127 -127
  114. package/2D/multiLinePoint.js.map +1 -1
  115. package/2D/style.d.ts +46 -46
  116. package/2D/style.js +97 -97
  117. package/2D/style.js.map +1 -1
  118. package/2D/valueAndUnit.d.ts +89 -89
  119. package/2D/valueAndUnit.js +226 -222
  120. package/2D/valueAndUnit.js.map +1 -1
  121. package/2D/xmlLoader.d.ts +60 -60
  122. package/2D/xmlLoader.js +348 -348
  123. package/2D/xmlLoader.js.map +1 -1
  124. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  125. package/3D/behaviors/defaultBehavior.js +121 -121
  126. package/3D/behaviors/defaultBehavior.js.map +1 -1
  127. package/3D/controls/abstractButton3D.d.ts +15 -15
  128. package/3D/controls/abstractButton3D.js +25 -25
  129. package/3D/controls/abstractButton3D.js.map +1 -1
  130. package/3D/controls/button3D.d.ts +30 -30
  131. package/3D/controls/button3D.js +93 -93
  132. package/3D/controls/button3D.js.map +1 -1
  133. package/3D/controls/container3D.d.ts +72 -72
  134. package/3D/controls/container3D.js +139 -140
  135. package/3D/controls/container3D.js.map +1 -1
  136. package/3D/controls/contentDisplay3D.d.ts +30 -30
  137. package/3D/controls/contentDisplay3D.js +79 -78
  138. package/3D/controls/contentDisplay3D.js.map +1 -1
  139. package/3D/controls/control3D.d.ts +201 -165
  140. package/3D/controls/control3D.js +445 -408
  141. package/3D/controls/control3D.js.map +1 -1
  142. package/3D/controls/cylinderPanel.d.ts +17 -17
  143. package/3D/controls/cylinderPanel.js +66 -66
  144. package/3D/controls/cylinderPanel.js.map +1 -1
  145. package/3D/controls/handMenu.d.ts +28 -28
  146. package/3D/controls/handMenu.js +47 -47
  147. package/3D/controls/handMenu.js.map +1 -1
  148. package/3D/controls/holographicBackplate.d.ts +49 -48
  149. package/3D/controls/holographicBackplate.js +120 -120
  150. package/3D/controls/holographicBackplate.js.map +1 -1
  151. package/3D/controls/holographicButton.d.ts +84 -83
  152. package/3D/controls/holographicButton.js +339 -338
  153. package/3D/controls/holographicButton.js.map +1 -1
  154. package/3D/controls/holographicSlate.d.ts +131 -128
  155. package/3D/controls/holographicSlate.js +431 -428
  156. package/3D/controls/holographicSlate.js.map +1 -1
  157. package/3D/controls/index.d.ts +21 -21
  158. package/3D/controls/index.js +21 -21
  159. package/3D/controls/index.js.map +1 -1
  160. package/3D/controls/meshButton3D.d.ts +21 -21
  161. package/3D/controls/meshButton3D.js +62 -61
  162. package/3D/controls/meshButton3D.js.map +1 -1
  163. package/3D/controls/nearMenu.d.ts +44 -44
  164. package/3D/controls/nearMenu.js +114 -112
  165. package/3D/controls/nearMenu.js.map +1 -1
  166. package/3D/controls/planePanel.d.ts +9 -9
  167. package/3D/controls/planePanel.js +36 -36
  168. package/3D/controls/planePanel.js.map +1 -1
  169. package/3D/controls/scatterPanel.d.ts +18 -18
  170. package/3D/controls/scatterPanel.js +108 -108
  171. package/3D/controls/scatterPanel.js.map +1 -1
  172. package/3D/controls/slider3D.d.ts +81 -80
  173. package/3D/controls/slider3D.js +268 -267
  174. package/3D/controls/slider3D.js.map +1 -1
  175. package/3D/controls/spherePanel.d.ts +17 -17
  176. package/3D/controls/spherePanel.js +67 -67
  177. package/3D/controls/spherePanel.js.map +1 -1
  178. package/3D/controls/stackPanel3D.d.ts +22 -22
  179. package/3D/controls/stackPanel3D.js +107 -107
  180. package/3D/controls/stackPanel3D.js.map +1 -1
  181. package/3D/controls/touchButton3D.d.ts +80 -75
  182. package/3D/controls/touchButton3D.js +233 -227
  183. package/3D/controls/touchButton3D.js.map +1 -1
  184. package/3D/controls/touchHolographicButton.d.ts +110 -109
  185. package/3D/controls/touchHolographicButton.js +445 -445
  186. package/3D/controls/touchHolographicButton.js.map +1 -1
  187. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  188. package/3D/controls/touchHolographicMenu.js +149 -148
  189. package/3D/controls/touchHolographicMenu.js.map +1 -1
  190. package/3D/controls/touchMeshButton3D.d.ts +21 -22
  191. package/3D/controls/touchMeshButton3D.js +62 -62
  192. package/3D/controls/touchMeshButton3D.js.map +1 -1
  193. package/3D/controls/volumeBasedPanel.d.ts +53 -52
  194. package/3D/controls/volumeBasedPanel.js +174 -174
  195. package/3D/controls/volumeBasedPanel.js.map +1 -1
  196. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  197. package/3D/gizmos/gizmoHandle.js +209 -209
  198. package/3D/gizmos/gizmoHandle.js.map +1 -1
  199. package/3D/gizmos/index.d.ts +2 -2
  200. package/3D/gizmos/index.js +2 -2
  201. package/3D/gizmos/index.js.map +1 -1
  202. package/3D/gizmos/slateGizmo.d.ts +57 -57
  203. package/3D/gizmos/slateGizmo.js +369 -369
  204. package/3D/gizmos/slateGizmo.js.map +1 -1
  205. package/3D/gui3DManager.d.ts +94 -94
  206. package/3D/gui3DManager.js +257 -257
  207. package/3D/gui3DManager.js.map +1 -1
  208. package/3D/index.d.ts +5 -5
  209. package/3D/index.js +6 -5
  210. package/3D/index.js.map +1 -1
  211. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  212. package/3D/materials/fluent/fluentMaterial.js +292 -281
  213. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  214. package/3D/materials/fluent/index.d.ts +1 -1
  215. package/3D/materials/fluent/index.js +1 -1
  216. package/3D/materials/fluent/index.js.map +1 -1
  217. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  218. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -6
  219. package/3D/materials/fluent/shaders/fluent.fragment.js.map +1 -1
  220. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  221. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -6
  222. package/3D/materials/fluent/shaders/fluent.vertex.js.map +1 -1
  223. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  224. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -434
  225. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  226. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  227. package/3D/materials/fluentBackplate/index.js +1 -1
  228. package/3D/materials/fluentBackplate/index.js.map +1 -1
  229. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  230. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -6
  231. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js.map +1 -1
  232. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  233. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -6
  234. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js.map +1 -1
  235. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  236. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -537
  237. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  238. package/3D/materials/fluentButton/index.d.ts +1 -1
  239. package/3D/materials/fluentButton/index.js +1 -1
  240. package/3D/materials/fluentButton/index.js.map +1 -1
  241. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  242. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -6
  243. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js.map +1 -1
  244. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  245. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -6
  246. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js.map +1 -1
  247. package/3D/materials/fluentMaterial.d.ts +4 -4
  248. package/3D/materials/fluentMaterial.js +4 -4
  249. package/3D/materials/fluentMaterial.js.map +1 -1
  250. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  251. package/3D/materials/handle/handleMaterial.js +126 -126
  252. package/3D/materials/handle/handleMaterial.js.map +1 -1
  253. package/3D/materials/handle/index.d.ts +1 -1
  254. package/3D/materials/handle/index.js +1 -1
  255. package/3D/materials/handle/index.js.map +1 -1
  256. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  257. package/3D/materials/handle/shaders/handle.fragment.js +8 -6
  258. package/3D/materials/handle/shaders/handle.fragment.js.map +1 -1
  259. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  260. package/3D/materials/handle/shaders/handle.vertex.js +8 -6
  261. package/3D/materials/handle/shaders/handle.vertex.js.map +1 -1
  262. package/3D/materials/index.d.ts +5 -5
  263. package/3D/materials/index.js +6 -5
  264. package/3D/materials/index.js.map +1 -1
  265. package/3D/materials/mrdl/index.d.ts +3 -3
  266. package/3D/materials/mrdl/index.js +3 -3
  267. package/3D/materials/mrdl/index.js.map +1 -1
  268. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  269. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -409
  270. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  271. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  272. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -786
  273. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  274. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  275. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -786
  276. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  277. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  278. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -6
  279. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js.map +1 -1
  280. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  281. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -6
  282. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js.map +1 -1
  283. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  284. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -6
  285. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js.map +1 -1
  286. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  287. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -6
  288. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js.map +1 -1
  289. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  290. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -6
  291. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js.map +1 -1
  292. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  293. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -6
  294. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js.map +1 -1
  295. package/3D/vector3WithInfo.d.ts +16 -16
  296. package/3D/vector3WithInfo.js +23 -23
  297. package/3D/vector3WithInfo.js.map +1 -1
  298. package/index.d.ts +2 -2
  299. package/index.js +3 -2
  300. package/index.js.map +1 -1
  301. package/legacy/legacy.d.ts +1 -1
  302. package/legacy/legacy.js +14 -13
  303. package/legacy/legacy.js.map +1 -1
  304. package/package.json +21 -328
  305. package/readme.md +2 -2
@@ -1,121 +1,121 @@
1
- import { __extends } from "tslib";
2
- import { CreateBox } from "@babylonjs/core/Meshes/Builders/boxBuilder.js";
3
- import { FluentBackplateMaterial } from "../materials/fluentBackplate/fluentBackplateMaterial.js";
4
- import { Control3D } from "./control3D.js";
5
- import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader.js";
6
- /**
7
- * Class used to create a holographic backplate in 3D
8
- * @since 5.0.0
9
- */
10
- var HolographicBackplate = /** @class */ (function (_super) {
11
- __extends(HolographicBackplate, _super);
12
- /**
13
- * Creates a new holographic backplate
14
- * @param name defines the control name
15
- */
16
- function HolographicBackplate(name, _shareMaterials) {
17
- if (_shareMaterials === void 0) { _shareMaterials = true; }
18
- var _this = _super.call(this, name) || this;
19
- _this._shareMaterials = _shareMaterials;
20
- return _this;
21
- }
22
- Object.defineProperty(HolographicBackplate.prototype, "renderingGroupId", {
23
- get: function () {
24
- return this._model.renderingGroupId;
25
- },
26
- /**
27
- * Rendering ground id of the backplate mesh.
28
- */
29
- set: function (id) {
30
- this._model.renderingGroupId = id;
31
- },
32
- enumerable: false,
33
- configurable: true
34
- });
35
- Object.defineProperty(HolographicBackplate.prototype, "material", {
36
- /**
37
- * Gets the material used by the backplate
38
- */
39
- get: function () {
40
- return this._material;
41
- },
42
- enumerable: false,
43
- configurable: true
44
- });
45
- Object.defineProperty(HolographicBackplate.prototype, "shareMaterials", {
46
- /**
47
- * Gets a boolean indicating if this backplate shares its material with other HolographicBackplates
48
- */
49
- get: function () {
50
- return this._shareMaterials;
51
- },
52
- enumerable: false,
53
- configurable: true
54
- });
55
- HolographicBackplate.prototype._getTypeName = function () {
56
- return "HolographicBackplate";
57
- };
58
- // Mesh association
59
- HolographicBackplate.prototype._createNode = function (scene) {
60
- var _this = this;
61
- var _a;
62
- var collisionMesh = CreateBox(((_a = this.name) !== null && _a !== void 0 ? _a : "HolographicBackplate") + "_CollisionMesh", {
63
- width: 1.0,
64
- height: 1.0,
65
- depth: 1.0,
66
- }, scene);
67
- collisionMesh.isPickable = true;
68
- collisionMesh.visibility = 0;
69
- SceneLoader.ImportMeshAsync(undefined, HolographicBackplate.MODEL_BASE_URL, HolographicBackplate.MODEL_FILENAME, scene)
70
- .then(function (result) {
71
- var importedModel = result.meshes[1];
72
- importedModel.name = "".concat(_this.name, "_frontPlate");
73
- importedModel.isPickable = false;
74
- importedModel.parent = collisionMesh;
75
- if (!!_this._material) {
76
- importedModel.material = _this._material;
77
- }
78
- _this._model = importedModel;
79
- });
80
- return collisionMesh;
81
- };
82
- HolographicBackplate.prototype._createMaterial = function (mesh) {
83
- this._material = new FluentBackplateMaterial(this.name + " Material", mesh.getScene());
84
- };
85
- HolographicBackplate.prototype._affectMaterial = function (mesh) {
86
- // Back
87
- if (this._shareMaterials) {
88
- if (!this._host._touchSharedMaterials["fluentBackplateMaterial"]) {
89
- this._createMaterial(mesh);
90
- this._host._touchSharedMaterials["fluentBackplateMaterial"] = this._material;
91
- }
92
- else {
93
- this._material = this._host._touchSharedMaterials["fluentBackplateMaterial"];
94
- }
95
- }
96
- else {
97
- this._createMaterial(mesh);
98
- }
99
- };
100
- /**
101
- * Releases all associated resources
102
- */
103
- HolographicBackplate.prototype.dispose = function () {
104
- _super.prototype.dispose.call(this); // will dispose main mesh ie. back plate
105
- if (!this.shareMaterials) {
106
- this._material.dispose();
107
- }
108
- this._model.dispose();
109
- };
110
- /**
111
- * Base Url for the button model.
112
- */
113
- HolographicBackplate.MODEL_BASE_URL = "https://assets.babylonjs.com/meshes/MRTK/";
114
- /**
115
- * File name for the button model.
116
- */
117
- HolographicBackplate.MODEL_FILENAME = 'mrtk-fluent-backplate.glb';
118
- return HolographicBackplate;
119
- }(Control3D));
120
- export { HolographicBackplate };
1
+ import { __extends } from "tslib";
2
+ import { CreateBox } from "@babylonjs/core/Meshes/Builders/boxBuilder.js";
3
+ import { FluentBackplateMaterial } from "../materials/fluentBackplate/fluentBackplateMaterial";
4
+ import { Control3D } from "./control3D";
5
+ import { SceneLoader } from "@babylonjs/core/Loading/sceneLoader.js";
6
+ /**
7
+ * Class used to create a holographic backplate in 3D
8
+ * @since 5.0.0
9
+ */
10
+ var HolographicBackplate = /** @class */ (function (_super) {
11
+ __extends(HolographicBackplate, _super);
12
+ /**
13
+ * Creates a new holographic backplate
14
+ * @param name defines the control name
15
+ * @param _shareMaterials
16
+ */
17
+ function HolographicBackplate(name, _shareMaterials) {
18
+ if (_shareMaterials === void 0) { _shareMaterials = true; }
19
+ var _this = _super.call(this, name) || this;
20
+ _this._shareMaterials = _shareMaterials;
21
+ return _this;
22
+ }
23
+ Object.defineProperty(HolographicBackplate.prototype, "renderingGroupId", {
24
+ get: function () {
25
+ return this._model.renderingGroupId;
26
+ },
27
+ /**
28
+ * Rendering ground id of the backplate mesh.
29
+ */
30
+ set: function (id) {
31
+ this._model.renderingGroupId = id;
32
+ },
33
+ enumerable: false,
34
+ configurable: true
35
+ });
36
+ Object.defineProperty(HolographicBackplate.prototype, "material", {
37
+ /**
38
+ * Gets the material used by the backplate
39
+ */
40
+ get: function () {
41
+ return this._material;
42
+ },
43
+ enumerable: false,
44
+ configurable: true
45
+ });
46
+ Object.defineProperty(HolographicBackplate.prototype, "shareMaterials", {
47
+ /**
48
+ * Gets a boolean indicating if this backplate shares its material with other HolographicBackplates
49
+ */
50
+ get: function () {
51
+ return this._shareMaterials;
52
+ },
53
+ enumerable: false,
54
+ configurable: true
55
+ });
56
+ HolographicBackplate.prototype._getTypeName = function () {
57
+ return "HolographicBackplate";
58
+ };
59
+ // Mesh association
60
+ HolographicBackplate.prototype._createNode = function (scene) {
61
+ var _this = this;
62
+ var _a;
63
+ var collisionMesh = CreateBox(((_a = this.name) !== null && _a !== void 0 ? _a : "HolographicBackplate") + "_CollisionMesh", {
64
+ width: 1.0,
65
+ height: 1.0,
66
+ depth: 1.0,
67
+ }, scene);
68
+ collisionMesh.isPickable = true;
69
+ collisionMesh.visibility = 0;
70
+ SceneLoader.ImportMeshAsync(undefined, HolographicBackplate.MODEL_BASE_URL, HolographicBackplate.MODEL_FILENAME, scene).then(function (result) {
71
+ var importedModel = result.meshes[1];
72
+ importedModel.name = "".concat(_this.name, "_frontPlate");
73
+ importedModel.isPickable = false;
74
+ importedModel.parent = collisionMesh;
75
+ if (_this._material) {
76
+ importedModel.material = _this._material;
77
+ }
78
+ _this._model = importedModel;
79
+ });
80
+ return collisionMesh;
81
+ };
82
+ HolographicBackplate.prototype._createMaterial = function (mesh) {
83
+ this._material = new FluentBackplateMaterial(this.name + " Material", mesh.getScene());
84
+ };
85
+ HolographicBackplate.prototype._affectMaterial = function (mesh) {
86
+ // Back
87
+ if (this._shareMaterials) {
88
+ if (!this._host._touchSharedMaterials["fluentBackplateMaterial"]) {
89
+ this._createMaterial(mesh);
90
+ this._host._touchSharedMaterials["fluentBackplateMaterial"] = this._material;
91
+ }
92
+ else {
93
+ this._material = this._host._touchSharedMaterials["fluentBackplateMaterial"];
94
+ }
95
+ }
96
+ else {
97
+ this._createMaterial(mesh);
98
+ }
99
+ };
100
+ /**
101
+ * Releases all associated resources
102
+ */
103
+ HolographicBackplate.prototype.dispose = function () {
104
+ _super.prototype.dispose.call(this); // will dispose main mesh ie. back plate
105
+ if (!this.shareMaterials) {
106
+ this._material.dispose();
107
+ }
108
+ this._model.dispose();
109
+ };
110
+ /**
111
+ * Base Url for the button model.
112
+ */
113
+ HolographicBackplate.MODEL_BASE_URL = "https://assets.babylonjs.com/meshes/MRTK/";
114
+ /**
115
+ * File name for the button model.
116
+ */
117
+ HolographicBackplate.MODEL_FILENAME = "mrtk-fluent-backplate.glb";
118
+ return HolographicBackplate;
119
+ }(Control3D));
120
+ export { HolographicBackplate };
121
121
  //# sourceMappingURL=holographicBackplate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"holographicBackplate.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/3D/controls/holographicBackplate.ts"],"names":[],"mappings":"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","sourcesContent":["import { TransformNode } from \"@babylonjs/core/Meshes/transformNode\";\r\nimport { Mesh } from \"@babylonjs/core/Meshes/mesh\";\r\nimport { CreateBox } from \"@babylonjs/core/Meshes/Builders/boxBuilder\";\r\nimport { Scene } from \"@babylonjs/core/scene\";\r\nimport { FluentBackplateMaterial } from \"../materials/fluentBackplate/fluentBackplateMaterial\";\r\nimport { Control3D } from \"./control3D\";\r\nimport { SceneLoader } from \"@babylonjs/core/Loading/sceneLoader\";\r\nimport { AbstractMesh } from \"@babylonjs/core/Meshes/abstractMesh\";\r\n\r\n/**\r\n * Class used to create a holographic backplate in 3D\r\n * @since 5.0.0\r\n */\r\nexport class HolographicBackplate extends Control3D {\r\n /**\r\n * Base Url for the button model.\r\n */\r\n public static MODEL_BASE_URL: string = \"https://assets.babylonjs.com/meshes/MRTK/\";\r\n /**\r\n * File name for the button model.\r\n */\r\n public static MODEL_FILENAME: string = 'mrtk-fluent-backplate.glb';\r\n\r\n private _model: AbstractMesh;\r\n private _material: FluentBackplateMaterial;\r\n\r\n /**\r\n * Rendering ground id of the backplate mesh.\r\n */\r\n public set renderingGroupId(id: number) {\r\n this._model.renderingGroupId = id;\r\n }\r\n public get renderingGroupId(): number {\r\n return this._model.renderingGroupId;\r\n }\r\n\r\n /**\r\n * Gets the material used by the backplate\r\n */\r\n public get material(): FluentBackplateMaterial {\r\n return this._material;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if this backplate shares its material with other HolographicBackplates\r\n */\r\n public get shareMaterials(): boolean {\r\n return this._shareMaterials;\r\n }\r\n\r\n /**\r\n * Creates a new holographic backplate\r\n * @param name defines the control name\r\n */\r\n constructor(name?: string, private _shareMaterials = true) {\r\n super(name);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"HolographicBackplate\";\r\n }\r\n\r\n // Mesh association\r\n protected _createNode(scene: Scene): TransformNode {\r\n const collisionMesh = CreateBox((this.name ?? \"HolographicBackplate\") + \"_CollisionMesh\", {\r\n width: 1.0,\r\n height: 1.0,\r\n depth: 1.0,\r\n }, scene);\r\n collisionMesh.isPickable = true;\r\n collisionMesh.visibility = 0;\r\n\r\n SceneLoader.ImportMeshAsync(\r\n undefined,\r\n HolographicBackplate.MODEL_BASE_URL,\r\n HolographicBackplate.MODEL_FILENAME,\r\n scene)\r\n .then((result) => {\r\n var importedModel = result.meshes[1];\r\n importedModel.name = `${this.name}_frontPlate`;\r\n importedModel.isPickable = false;\r\n importedModel.parent = collisionMesh;\r\n if (!!this._material) {\r\n importedModel.material = this._material;\r\n }\r\n this._model = importedModel;\r\n });\r\n\r\n return collisionMesh;\r\n }\r\n\r\n private _createMaterial(mesh: Mesh) {\r\n this._material = new FluentBackplateMaterial(this.name + \" Material\", mesh.getScene());\r\n }\r\n\r\n protected _affectMaterial(mesh: Mesh) {\r\n // Back\r\n if (this._shareMaterials) {\r\n if (!this._host._touchSharedMaterials[\"fluentBackplateMaterial\"]) {\r\n this._createMaterial(mesh);\r\n this._host._touchSharedMaterials[\"fluentBackplateMaterial\"] = this._material;\r\n } else {\r\n this._material = this._host._touchSharedMaterials[\"fluentBackplateMaterial\"] as FluentBackplateMaterial;\r\n }\r\n } else {\r\n this._createMaterial(mesh);\r\n }\r\n }\r\n\r\n /**\r\n * Releases all associated resources\r\n */\r\n public dispose() {\r\n super.dispose(); // will dispose main mesh ie. back plate\r\n\r\n if (!this.shareMaterials) {\r\n this._material.dispose();\r\n }\r\n\r\n this._model.dispose();\r\n }\r\n}"]}
1
+ {"version":3,"file":"holographicBackplate.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/controls/holographicBackplate.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,sDAAwC;AAE5D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAC/F,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,+CAAiC;AAGvD;;;GAGG;AACH;IAA0C,wCAAS;IAqC/C;;;;OAIG;IACH,8BAAY,IAAa,EAAU,eAAsB;QAAtB,gCAAA,EAAA,sBAAsB;QAAzD,YACI,kBAAM,IAAI,CAAC,SACd;QAFkC,qBAAe,GAAf,eAAe,CAAO;;IAEzD,CAAC;IA5BD,sBAAW,kDAAgB;aAG3B;YACI,OAAO,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC;QACxC,CAAC;QARD;;WAEG;aACH,UAA4B,EAAU;YAClC,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,EAAE,CAAC;QACtC,CAAC;;;OAAA;IAQD,sBAAW,0CAAQ;QAHnB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,SAAS,CAAC;QAC1B,CAAC;;;OAAA;IAKD,sBAAW,gDAAc;QAHzB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,eAAe,CAAC;QAChC,CAAC;;;OAAA;IAWS,2CAAY,GAAtB;QACI,OAAO,sBAAsB,CAAC;IAClC,CAAC;IAED,mBAAmB;IACT,0CAAW,GAArB,UAAsB,KAAY;QAAlC,iBAyBC;;QAxBG,IAAM,aAAa,GAAG,SAAS,CAC3B,CAAC,MAAA,IAAI,CAAC,IAAI,mCAAI,sBAAsB,CAAC,GAAG,gBAAgB,EACxD;YACI,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;YACX,KAAK,EAAE,GAAG;SACb,EACD,KAAK,CACR,CAAC;QACF,aAAa,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,aAAa,CAAC,UAAU,GAAG,CAAC,CAAC;QAE7B,WAAW,CAAC,eAAe,CAAC,SAAS,EAAE,oBAAoB,CAAC,cAAc,EAAE,oBAAoB,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,UAAC,MAAM;YAChI,IAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YACvC,aAAa,CAAC,IAAI,GAAG,UAAG,KAAI,CAAC,IAAI,gBAAa,CAAC;YAC/C,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC;YACjC,aAAa,CAAC,MAAM,GAAG,aAAa,CAAC;YACrC,IAAI,KAAI,CAAC,SAAS,EAAE;gBAChB,aAAa,CAAC,QAAQ,GAAG,KAAI,CAAC,SAAS,CAAC;aAC3C;YACD,KAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAChC,CAAC,CAAC,CAAC;QAEH,OAAO,aAAa,CAAC;IACzB,CAAC;IAEO,8CAAe,GAAvB,UAAwB,IAAU;QAC9B,IAAI,CAAC,SAAS,GAAG,IAAI,uBAAuB,CAAC,IAAI,CAAC,IAAI,GAAG,WAAW,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;IAC3F,CAAC;IAES,8CAAe,GAAzB,UAA0B,IAAU;QAChC,OAAO;QACP,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,EAAE;gBAC9D,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,yBAAyB,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC;aAChF;iBAAM;gBACH,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,yBAAyB,CAA4B,CAAC;aAC3G;SACJ;aAAM;YACH,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;SAC9B;IACL,CAAC;IAED;;OAEG;IACI,sCAAO,GAAd;QACI,iBAAM,OAAO,WAAE,CAAC,CAAC,wCAAwC;QAEzD,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACtB,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;SAC5B;QAED,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IA1GD;;OAEG;IACW,mCAAc,GAAW,2CAA2C,CAAC;IACnF;;OAEG;IACW,mCAAc,GAAW,2BAA2B,CAAC;IAoGvE,2BAAC;CAAA,AA5GD,CAA0C,SAAS,GA4GlD;SA5GY,oBAAoB","sourcesContent":["import type { TransformNode } from \"core/Meshes/transformNode\";\r\nimport type { Mesh } from \"core/Meshes/mesh\";\r\nimport { CreateBox } from \"core/Meshes/Builders/boxBuilder\";\r\nimport type { Scene } from \"core/scene\";\r\nimport { FluentBackplateMaterial } from \"../materials/fluentBackplate/fluentBackplateMaterial\";\r\nimport { Control3D } from \"./control3D\";\r\nimport { SceneLoader } from \"core/Loading/sceneLoader\";\r\nimport type { AbstractMesh } from \"core/Meshes/abstractMesh\";\r\n\r\n/**\r\n * Class used to create a holographic backplate in 3D\r\n * @since 5.0.0\r\n */\r\nexport class HolographicBackplate extends Control3D {\r\n /**\r\n * Base Url for the button model.\r\n */\r\n public static MODEL_BASE_URL: string = \"https://assets.babylonjs.com/meshes/MRTK/\";\r\n /**\r\n * File name for the button model.\r\n */\r\n public static MODEL_FILENAME: string = \"mrtk-fluent-backplate.glb\";\r\n\r\n private _model: AbstractMesh;\r\n private _material: FluentBackplateMaterial;\r\n\r\n /**\r\n * Rendering ground id of the backplate mesh.\r\n */\r\n public set renderingGroupId(id: number) {\r\n this._model.renderingGroupId = id;\r\n }\r\n public get renderingGroupId(): number {\r\n return this._model.renderingGroupId;\r\n }\r\n\r\n /**\r\n * Gets the material used by the backplate\r\n */\r\n public get material(): FluentBackplateMaterial {\r\n return this._material;\r\n }\r\n\r\n /**\r\n * Gets a boolean indicating if this backplate shares its material with other HolographicBackplates\r\n */\r\n public get shareMaterials(): boolean {\r\n return this._shareMaterials;\r\n }\r\n\r\n /**\r\n * Creates a new holographic backplate\r\n * @param name defines the control name\r\n * @param _shareMaterials\r\n */\r\n constructor(name?: string, private _shareMaterials = true) {\r\n super(name);\r\n }\r\n\r\n protected _getTypeName(): string {\r\n return \"HolographicBackplate\";\r\n }\r\n\r\n // Mesh association\r\n protected _createNode(scene: Scene): TransformNode {\r\n const collisionMesh = CreateBox(\r\n (this.name ?? \"HolographicBackplate\") + \"_CollisionMesh\",\r\n {\r\n width: 1.0,\r\n height: 1.0,\r\n depth: 1.0,\r\n },\r\n scene\r\n );\r\n collisionMesh.isPickable = true;\r\n collisionMesh.visibility = 0;\r\n\r\n SceneLoader.ImportMeshAsync(undefined, HolographicBackplate.MODEL_BASE_URL, HolographicBackplate.MODEL_FILENAME, scene).then((result) => {\r\n const importedModel = result.meshes[1];\r\n importedModel.name = `${this.name}_frontPlate`;\r\n importedModel.isPickable = false;\r\n importedModel.parent = collisionMesh;\r\n if (this._material) {\r\n importedModel.material = this._material;\r\n }\r\n this._model = importedModel;\r\n });\r\n\r\n return collisionMesh;\r\n }\r\n\r\n private _createMaterial(mesh: Mesh) {\r\n this._material = new FluentBackplateMaterial(this.name + \" Material\", mesh.getScene());\r\n }\r\n\r\n protected _affectMaterial(mesh: Mesh) {\r\n // Back\r\n if (this._shareMaterials) {\r\n if (!this._host._touchSharedMaterials[\"fluentBackplateMaterial\"]) {\r\n this._createMaterial(mesh);\r\n this._host._touchSharedMaterials[\"fluentBackplateMaterial\"] = this._material;\r\n } else {\r\n this._material = this._host._touchSharedMaterials[\"fluentBackplateMaterial\"] as FluentBackplateMaterial;\r\n }\r\n } else {\r\n this._createMaterial(mesh);\r\n }\r\n }\r\n\r\n /**\r\n * Releases all associated resources\r\n */\r\n public dispose() {\r\n super.dispose(); // will dispose main mesh ie. back plate\r\n\r\n if (!this.shareMaterials) {\r\n this._material.dispose();\r\n }\r\n\r\n this._model.dispose();\r\n }\r\n}\r\n"]}
@@ -1,83 +1,84 @@
1
- import { Button3D } from "./button3D";
2
- import { Nullable } from "@babylonjs/core/types";
3
- import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial";
4
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode";
5
- import { Mesh } from "@babylonjs/core/Meshes/mesh";
6
- import { Scene } from "@babylonjs/core/scene";
7
- import { FluentMaterial } from "../materials/fluent/fluentMaterial";
8
- import { AdvancedDynamicTexture } from "../../2D/advancedDynamicTexture";
9
- /**
10
- * Class used to create a holographic button in 3D
11
- */
12
- export declare class HolographicButton extends Button3D {
13
- private _backPlate;
14
- private _textPlate;
15
- private _frontPlate;
16
- private _text;
17
- private _imageUrl;
18
- private _shareMaterials;
19
- private _frontMaterial;
20
- private _backMaterial;
21
- private _plateMaterial;
22
- private _pickedPointObserver;
23
- private _tooltipFade;
24
- private _tooltipTextBlock;
25
- private _tooltipTexture;
26
- private _tooltipMesh;
27
- private _tooltipHoverObserver;
28
- private _tooltipOutObserver;
29
- private _disposeTooltip;
30
- /**
31
- * Rendering ground id of all the mesh in the button
32
- */
33
- set renderingGroupId(id: number);
34
- get renderingGroupId(): number;
35
- /**
36
- * Text to be displayed on the tooltip shown when hovering on the button. When set to null tooltip is disabled. (Default: null)
37
- */
38
- set tooltipText(text: Nullable<string>);
39
- get tooltipText(): Nullable<string>;
40
- /**
41
- * Gets or sets text for the button
42
- */
43
- get text(): string;
44
- set text(value: string);
45
- /**
46
- * Gets or sets the image url for the button
47
- */
48
- get imageUrl(): string;
49
- set imageUrl(value: string);
50
- /**
51
- * Gets the back material used by this button
52
- */
53
- get backMaterial(): FluentMaterial;
54
- /**
55
- * Gets the front material used by this button
56
- */
57
- get frontMaterial(): FluentMaterial;
58
- /**
59
- * Gets the plate material used by this button
60
- */
61
- get plateMaterial(): StandardMaterial;
62
- /**
63
- * Gets a boolean indicating if this button shares its material with other HolographicButtons
64
- */
65
- get shareMaterials(): boolean;
66
- /**
67
- * Creates a new button
68
- * @param name defines the control name
69
- */
70
- constructor(name?: string, shareMaterials?: boolean);
71
- protected _getTypeName(): string;
72
- private _rebuildContent;
73
- protected _createNode(scene: Scene): TransformNode;
74
- protected _applyFacade(facadeTexture: AdvancedDynamicTexture): void;
75
- private _createBackMaterial;
76
- private _createFrontMaterial;
77
- private _createPlateMaterial;
78
- protected _affectMaterial(mesh: Mesh): void;
79
- /**
80
- * Releases all associated resources
81
- */
82
- dispose(): void;
83
- }
1
+ import { Button3D } from "./button3D";
2
+ import type { Nullable } from "@babylonjs/core/types.js";
3
+ import { StandardMaterial } from "@babylonjs/core/Materials/standardMaterial.js";
4
+ import type { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
5
+ import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
6
+ import type { Scene } from "@babylonjs/core/scene.js";
7
+ import { FluentMaterial } from "../materials/fluent/fluentMaterial";
8
+ import { AdvancedDynamicTexture } from "../../2D/advancedDynamicTexture";
9
+ /**
10
+ * Class used to create a holographic button in 3D
11
+ */
12
+ export declare class HolographicButton extends Button3D {
13
+ private _backPlate;
14
+ private _textPlate;
15
+ private _frontPlate;
16
+ private _text;
17
+ private _imageUrl;
18
+ private _shareMaterials;
19
+ private _frontMaterial;
20
+ private _backMaterial;
21
+ private _plateMaterial;
22
+ private _pickedPointObserver;
23
+ private _tooltipFade;
24
+ private _tooltipTextBlock;
25
+ private _tooltipTexture;
26
+ private _tooltipMesh;
27
+ private _tooltipHoverObserver;
28
+ private _tooltipOutObserver;
29
+ private _disposeTooltip;
30
+ /**
31
+ * Rendering ground id of all the mesh in the button
32
+ */
33
+ set renderingGroupId(id: number);
34
+ get renderingGroupId(): number;
35
+ /**
36
+ * Text to be displayed on the tooltip shown when hovering on the button. When set to null tooltip is disabled. (Default: null)
37
+ */
38
+ set tooltipText(text: Nullable<string>);
39
+ get tooltipText(): Nullable<string>;
40
+ /**
41
+ * Gets or sets text for the button
42
+ */
43
+ get text(): string;
44
+ set text(value: string);
45
+ /**
46
+ * Gets or sets the image url for the button
47
+ */
48
+ get imageUrl(): string;
49
+ set imageUrl(value: string);
50
+ /**
51
+ * Gets the back material used by this button
52
+ */
53
+ get backMaterial(): FluentMaterial;
54
+ /**
55
+ * Gets the front material used by this button
56
+ */
57
+ get frontMaterial(): FluentMaterial;
58
+ /**
59
+ * Gets the plate material used by this button
60
+ */
61
+ get plateMaterial(): StandardMaterial;
62
+ /**
63
+ * Gets a boolean indicating if this button shares its material with other HolographicButtons
64
+ */
65
+ get shareMaterials(): boolean;
66
+ /**
67
+ * Creates a new button
68
+ * @param name defines the control name
69
+ * @param shareMaterials
70
+ */
71
+ constructor(name?: string, shareMaterials?: boolean);
72
+ protected _getTypeName(): string;
73
+ private _rebuildContent;
74
+ protected _createNode(scene: Scene): TransformNode;
75
+ protected _applyFacade(facadeTexture: AdvancedDynamicTexture): void;
76
+ private _createBackMaterial;
77
+ private _createFrontMaterial;
78
+ private _createPlateMaterial;
79
+ protected _affectMaterial(mesh: Mesh): void;
80
+ /**
81
+ * Releases all associated resources
82
+ */
83
+ dispose(): void;
84
+ }