@babylonjs/gui 5.0.0-rc.7 → 5.0.1

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 (277) 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 -448
  5. package/2D/advancedDynamicTexture.js +1318 -1318
  6. package/2D/advancedDynamicTexture.js.map +1 -1
  7. package/2D/controls/button.d.ts +135 -135
  8. package/2D/controls/button.js +276 -276
  9. package/2D/controls/button.js.map +1 -1
  10. package/2D/controls/checkbox.d.ts +59 -59
  11. package/2D/controls/checkbox.js +188 -188
  12. package/2D/controls/checkbox.js.map +1 -1
  13. package/2D/controls/colorpicker.d.ts +103 -103
  14. package/2D/controls/colorpicker.js +1417 -1417
  15. package/2D/controls/colorpicker.js.map +1 -1
  16. package/2D/controls/container.d.ts +175 -175
  17. package/2D/controls/container.js +570 -570
  18. package/2D/controls/container.js.map +1 -1
  19. package/2D/controls/control.d.ts +866 -866
  20. package/2D/controls/control.js +2433 -2433
  21. package/2D/controls/control.js.map +1 -1
  22. package/2D/controls/displayGrid.d.ts +53 -53
  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 -59
  29. package/2D/controls/focusableButton.js +99 -99
  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 -139
  35. package/2D/controls/grid.js +529 -529
  36. package/2D/controls/grid.js.map +1 -1
  37. package/2D/controls/image.d.ts +204 -204
  38. package/2D/controls/image.js +887 -887
  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/inputPassword.d.ts +9 -8
  43. package/2D/controls/inputPassword.js +28 -25
  44. package/2D/controls/inputPassword.js.map +1 -1
  45. package/2D/controls/inputText.d.ts +201 -201
  46. package/2D/controls/inputText.js +1119 -1119
  47. package/2D/controls/inputText.js.map +1 -1
  48. package/2D/controls/line.d.ts +66 -66
  49. package/2D/controls/line.js +271 -271
  50. package/2D/controls/line.js.map +1 -1
  51. package/2D/controls/multiLine.d.ts +75 -75
  52. package/2D/controls/multiLine.js +262 -262
  53. package/2D/controls/multiLine.js.map +1 -1
  54. package/2D/controls/radioButton.d.ts +49 -49
  55. package/2D/controls/radioButton.js +205 -205
  56. package/2D/controls/radioButton.js.map +1 -1
  57. package/2D/controls/rectangle.d.ts +29 -29
  58. package/2D/controls/rectangle.js +150 -150
  59. package/2D/controls/rectangle.js.map +1 -1
  60. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  61. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  62. package/2D/controls/scrollViewers/scrollViewer.js.map +1 -1
  63. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  64. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  65. package/2D/controls/scrollViewers/scrollViewerWindow.js.map +1 -1
  66. package/2D/controls/selector.d.ts +263 -263
  67. package/2D/controls/selector.js +692 -692
  68. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  69. package/2D/controls/sliders/baseSlider.js +347 -347
  70. package/2D/controls/sliders/baseSlider.js.map +1 -1
  71. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  72. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  73. package/2D/controls/sliders/imageBasedSlider.js.map +1 -1
  74. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  75. package/2D/controls/sliders/imageScrollBar.js +263 -263
  76. package/2D/controls/sliders/imageScrollBar.js.map +1 -1
  77. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  78. package/2D/controls/sliders/scrollBar.js +143 -143
  79. package/2D/controls/sliders/scrollBar.js.map +1 -1
  80. package/2D/controls/sliders/slider.d.ts +35 -35
  81. package/2D/controls/sliders/slider.js +271 -271
  82. package/2D/controls/sliders/slider.js.map +1 -1
  83. package/2D/controls/stackPanel.d.ts +64 -64
  84. package/2D/controls/stackPanel.js +246 -246
  85. package/2D/controls/stackPanel.js.map +1 -1
  86. package/2D/controls/statics.d.ts +6 -6
  87. package/2D/controls/statics.js +49 -49
  88. package/2D/controls/textBlock.d.ts +175 -175
  89. package/2D/controls/textBlock.js +603 -603
  90. package/2D/controls/textBlock.js.map +1 -1
  91. package/2D/controls/textWrapper.d.ts +13 -13
  92. package/2D/controls/textWrapper.js +101 -101
  93. package/2D/controls/toggleButton.d.ts +117 -117
  94. package/2D/controls/toggleButton.js +268 -268
  95. package/2D/controls/toggleButton.js.map +1 -1
  96. package/2D/controls/virtualKeyboard.d.ts +96 -96
  97. package/2D/controls/virtualKeyboard.js +256 -256
  98. package/2D/controls/virtualKeyboard.js.map +1 -1
  99. package/2D/index.d.ts +9 -9
  100. package/2D/index.js +10 -9
  101. package/2D/index.js.map +1 -1
  102. package/2D/math2D.d.ts +117 -117
  103. package/2D/math2D.js +221 -221
  104. package/2D/math2D.js.map +1 -1
  105. package/2D/measure.d.ts +77 -77
  106. package/2D/measure.js +139 -139
  107. package/2D/measure.js.map +1 -1
  108. package/2D/multiLinePoint.d.ts +47 -47
  109. package/2D/multiLinePoint.js +127 -127
  110. package/2D/multiLinePoint.js.map +1 -1
  111. package/2D/style.d.ts +46 -46
  112. package/2D/style.js +97 -97
  113. package/2D/style.js.map +1 -1
  114. package/2D/valueAndUnit.d.ts +89 -89
  115. package/2D/valueAndUnit.js +226 -226
  116. package/2D/valueAndUnit.js.map +1 -1
  117. package/2D/xmlLoader.d.ts +60 -60
  118. package/2D/xmlLoader.js +348 -348
  119. package/2D/xmlLoader.js.map +1 -1
  120. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  121. package/3D/behaviors/defaultBehavior.js +121 -121
  122. package/3D/behaviors/defaultBehavior.js.map +1 -1
  123. package/3D/controls/abstractButton3D.d.ts +15 -15
  124. package/3D/controls/abstractButton3D.js +25 -25
  125. package/3D/controls/abstractButton3D.js.map +1 -1
  126. package/3D/controls/button3D.d.ts +30 -30
  127. package/3D/controls/button3D.js +93 -93
  128. package/3D/controls/button3D.js.map +1 -1
  129. package/3D/controls/container3D.d.ts +72 -72
  130. package/3D/controls/container3D.js +139 -139
  131. package/3D/controls/container3D.js.map +1 -1
  132. package/3D/controls/contentDisplay3D.d.ts +30 -30
  133. package/3D/controls/contentDisplay3D.js +79 -79
  134. package/3D/controls/contentDisplay3D.js.map +1 -1
  135. package/3D/controls/control3D.d.ts +201 -201
  136. package/3D/controls/control3D.js +445 -445
  137. package/3D/controls/control3D.js.map +1 -1
  138. package/3D/controls/cylinderPanel.d.ts +17 -17
  139. package/3D/controls/cylinderPanel.js +66 -66
  140. package/3D/controls/cylinderPanel.js.map +1 -1
  141. package/3D/controls/handMenu.d.ts +28 -28
  142. package/3D/controls/handMenu.js +47 -47
  143. package/3D/controls/handMenu.js.map +1 -1
  144. package/3D/controls/holographicBackplate.d.ts +49 -49
  145. package/3D/controls/holographicBackplate.js +120 -120
  146. package/3D/controls/holographicBackplate.js.map +1 -1
  147. package/3D/controls/holographicButton.d.ts +84 -84
  148. package/3D/controls/holographicButton.js +339 -339
  149. package/3D/controls/holographicButton.js.map +1 -1
  150. package/3D/controls/holographicSlate.d.ts +131 -131
  151. package/3D/controls/holographicSlate.js +431 -431
  152. package/3D/controls/holographicSlate.js.map +1 -1
  153. package/3D/controls/index.d.ts +21 -21
  154. package/3D/controls/index.js +21 -21
  155. package/3D/controls/meshButton3D.d.ts +21 -21
  156. package/3D/controls/meshButton3D.js +62 -62
  157. package/3D/controls/meshButton3D.js.map +1 -1
  158. package/3D/controls/nearMenu.d.ts +44 -44
  159. package/3D/controls/nearMenu.js +114 -114
  160. package/3D/controls/nearMenu.js.map +1 -1
  161. package/3D/controls/planePanel.d.ts +9 -9
  162. package/3D/controls/planePanel.js +36 -36
  163. package/3D/controls/planePanel.js.map +1 -1
  164. package/3D/controls/scatterPanel.d.ts +18 -18
  165. package/3D/controls/scatterPanel.js +108 -108
  166. package/3D/controls/scatterPanel.js.map +1 -1
  167. package/3D/controls/slider3D.d.ts +81 -81
  168. package/3D/controls/slider3D.js +268 -268
  169. package/3D/controls/slider3D.js.map +1 -1
  170. package/3D/controls/spherePanel.d.ts +17 -17
  171. package/3D/controls/spherePanel.js +67 -67
  172. package/3D/controls/spherePanel.js.map +1 -1
  173. package/3D/controls/stackPanel3D.d.ts +22 -22
  174. package/3D/controls/stackPanel3D.js +107 -107
  175. package/3D/controls/touchButton3D.d.ts +80 -80
  176. package/3D/controls/touchButton3D.js +233 -233
  177. package/3D/controls/touchButton3D.js.map +1 -1
  178. package/3D/controls/touchHolographicButton.d.ts +110 -110
  179. package/3D/controls/touchHolographicButton.js +445 -445
  180. package/3D/controls/touchHolographicButton.js.map +1 -1
  181. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  182. package/3D/controls/touchHolographicMenu.js +149 -149
  183. package/3D/controls/touchHolographicMenu.js.map +1 -1
  184. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  185. package/3D/controls/touchMeshButton3D.js +62 -62
  186. package/3D/controls/touchMeshButton3D.js.map +1 -1
  187. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  188. package/3D/controls/volumeBasedPanel.js +174 -174
  189. package/3D/controls/volumeBasedPanel.js.map +1 -1
  190. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  191. package/3D/gizmos/gizmoHandle.js +209 -209
  192. package/3D/gizmos/gizmoHandle.js.map +1 -1
  193. package/3D/gizmos/index.d.ts +2 -2
  194. package/3D/gizmos/index.js +2 -2
  195. package/3D/gizmos/slateGizmo.d.ts +57 -57
  196. package/3D/gizmos/slateGizmo.js +369 -369
  197. package/3D/gizmos/slateGizmo.js.map +1 -1
  198. package/3D/gui3DManager.d.ts +94 -94
  199. package/3D/gui3DManager.js +257 -257
  200. package/3D/gui3DManager.js.map +1 -1
  201. package/3D/index.d.ts +5 -5
  202. package/3D/index.js +6 -5
  203. package/3D/index.js.map +1 -1
  204. package/3D/materials/fluent/fluentMaterial.d.ts +91 -90
  205. package/3D/materials/fluent/fluentMaterial.js +292 -292
  206. package/3D/materials/fluent/fluentMaterial.js.map +1 -1
  207. package/3D/materials/fluent/index.d.ts +1 -1
  208. package/3D/materials/fluent/index.js +1 -1
  209. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  210. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  211. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  212. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  213. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +155 -154
  214. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  215. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js.map +1 -1
  216. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  217. package/3D/materials/fluentBackplate/index.js +1 -1
  218. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  219. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  220. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  221. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  222. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +190 -189
  223. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  224. package/3D/materials/fluentButton/fluentButtonMaterial.js.map +1 -1
  225. package/3D/materials/fluentButton/index.d.ts +1 -1
  226. package/3D/materials/fluentButton/index.js +1 -1
  227. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  228. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  229. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  230. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  231. package/3D/materials/fluentMaterial.d.ts +4 -4
  232. package/3D/materials/fluentMaterial.js +4 -4
  233. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  234. package/3D/materials/handle/handleMaterial.js +126 -126
  235. package/3D/materials/handle/handleMaterial.js.map +1 -1
  236. package/3D/materials/handle/index.d.ts +1 -1
  237. package/3D/materials/handle/index.js +1 -1
  238. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  239. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  240. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  241. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  242. package/3D/materials/index.d.ts +5 -5
  243. package/3D/materials/index.js +6 -5
  244. package/3D/materials/index.js.map +1 -1
  245. package/3D/materials/mrdl/index.d.ts +3 -3
  246. package/3D/materials/mrdl/index.js +3 -3
  247. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +148 -147
  248. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  249. package/3D/materials/mrdl/mrdlBackplateMaterial.js.map +1 -1
  250. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +334 -333
  251. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  252. package/3D/materials/mrdl/mrdlSliderBarMaterial.js.map +1 -1
  253. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +334 -333
  254. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  255. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js.map +1 -1
  256. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  257. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  258. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  259. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  260. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  261. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  262. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  263. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  264. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  265. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  266. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  267. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  268. package/3D/vector3WithInfo.d.ts +16 -16
  269. package/3D/vector3WithInfo.js +23 -23
  270. package/index.d.ts +2 -2
  271. package/index.js +3 -2
  272. package/index.js.map +1 -1
  273. package/legacy/legacy.d.ts +1 -1
  274. package/legacy/legacy.js +14 -13
  275. package/legacy/legacy.js.map +1 -1
  276. package/license.md +71 -0
  277. package/package.json +24 -5
@@ -1,17 +1,17 @@
1
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
- import { float } from "@babylonjs/core/types.js";
3
- import { VolumeBasedPanel } from "./volumeBasedPanel";
4
- import { Control3D } from "./control3D";
5
- /**
6
- * Class used to create a container panel deployed on the surface of a sphere
7
- */
8
- export declare class SpherePanel extends VolumeBasedPanel {
9
- private _radius;
10
- /**
11
- * Gets or sets the radius of the sphere where to project controls (5 by default)
12
- */
13
- get radius(): float;
14
- set radius(value: float);
15
- protected _mapGridNode(control: Control3D, nodePosition: Vector3): void;
16
- private _sphericalMapping;
17
- }
1
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
+ import type { float } from "@babylonjs/core/types.js";
3
+ import { VolumeBasedPanel } from "./volumeBasedPanel";
4
+ import type { Control3D } from "./control3D";
5
+ /**
6
+ * Class used to create a container panel deployed on the surface of a sphere
7
+ */
8
+ export declare class SpherePanel extends VolumeBasedPanel {
9
+ private _radius;
10
+ /**
11
+ * Gets or sets the radius of the sphere where to project controls (5 by default)
12
+ */
13
+ get radius(): float;
14
+ set radius(value: float);
15
+ protected _mapGridNode(control: Control3D, nodePosition: Vector3): void;
16
+ private _sphericalMapping;
17
+ }
@@ -1,68 +1,68 @@
1
- import { __extends } from "tslib";
2
- import { Tools } from "@babylonjs/core/Misc/tools.js";
3
- import { Matrix, TmpVectors, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
4
- import { VolumeBasedPanel } from "./volumeBasedPanel.js";
5
- import { Container3D } from "./container3D.js";
6
- import { Axis, Space } from "@babylonjs/core/Maths/math.axis.js";
7
- /**
8
- * Class used to create a container panel deployed on the surface of a sphere
9
- */
10
- var SpherePanel = /** @class */ (function (_super) {
11
- __extends(SpherePanel, _super);
12
- function SpherePanel() {
13
- var _this = _super !== null && _super.apply(this, arguments) || this;
14
- _this._radius = 5.0;
15
- return _this;
16
- }
17
- Object.defineProperty(SpherePanel.prototype, "radius", {
18
- /**
19
- * Gets or sets the radius of the sphere where to project controls (5 by default)
20
- */
21
- get: function () {
22
- return this._radius;
23
- },
24
- set: function (value) {
25
- var _this = this;
26
- if (this._radius === value) {
27
- return;
28
- }
29
- this._radius = value;
30
- Tools.SetImmediate(function () {
31
- _this._arrangeChildren();
32
- });
33
- },
34
- enumerable: false,
35
- configurable: true
36
- });
37
- SpherePanel.prototype._mapGridNode = function (control, nodePosition) {
38
- var mesh = control.mesh;
39
- if (!mesh) {
40
- return;
41
- }
42
- var newPos = this._sphericalMapping(nodePosition);
43
- control.position = newPos;
44
- switch (this.orientation) {
45
- case Container3D.FACEORIGIN_ORIENTATION:
46
- mesh.lookAt(new Vector3(2 * newPos.x, 2 * newPos.y, 2 * newPos.z));
47
- break;
48
- case Container3D.FACEORIGINREVERSED_ORIENTATION:
49
- mesh.lookAt(new Vector3(-newPos.x, -newPos.y, -newPos.z));
50
- break;
51
- case Container3D.FACEFORWARD_ORIENTATION:
52
- break;
53
- case Container3D.FACEFORWARDREVERSED_ORIENTATION:
54
- mesh.rotate(Axis.Y, Math.PI, Space.LOCAL);
55
- break;
56
- }
57
- };
58
- SpherePanel.prototype._sphericalMapping = function (source) {
59
- var newPos = new Vector3(0, 0, this._radius);
60
- var xAngle = source.y / this._radius;
61
- var yAngle = -(source.x / this._radius);
62
- Matrix.RotationYawPitchRollToRef(yAngle, xAngle, 0, TmpVectors.Matrix[0]);
63
- return Vector3.TransformNormal(newPos, TmpVectors.Matrix[0]);
64
- };
65
- return SpherePanel;
66
- }(VolumeBasedPanel));
67
- export { SpherePanel };
1
+ import { __extends } from "tslib";
2
+ import { Tools } from "@babylonjs/core/Misc/tools.js";
3
+ import { Matrix, TmpVectors, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
4
+ import { VolumeBasedPanel } from "./volumeBasedPanel.js";
5
+ import { Container3D } from "./container3D.js";
6
+ import { Axis, Space } from "@babylonjs/core/Maths/math.axis.js";
7
+ /**
8
+ * Class used to create a container panel deployed on the surface of a sphere
9
+ */
10
+ var SpherePanel = /** @class */ (function (_super) {
11
+ __extends(SpherePanel, _super);
12
+ function SpherePanel() {
13
+ var _this = _super !== null && _super.apply(this, arguments) || this;
14
+ _this._radius = 5.0;
15
+ return _this;
16
+ }
17
+ Object.defineProperty(SpherePanel.prototype, "radius", {
18
+ /**
19
+ * Gets or sets the radius of the sphere where to project controls (5 by default)
20
+ */
21
+ get: function () {
22
+ return this._radius;
23
+ },
24
+ set: function (value) {
25
+ var _this = this;
26
+ if (this._radius === value) {
27
+ return;
28
+ }
29
+ this._radius = value;
30
+ Tools.SetImmediate(function () {
31
+ _this._arrangeChildren();
32
+ });
33
+ },
34
+ enumerable: false,
35
+ configurable: true
36
+ });
37
+ SpherePanel.prototype._mapGridNode = function (control, nodePosition) {
38
+ var mesh = control.mesh;
39
+ if (!mesh) {
40
+ return;
41
+ }
42
+ var newPos = this._sphericalMapping(nodePosition);
43
+ control.position = newPos;
44
+ switch (this.orientation) {
45
+ case Container3D.FACEORIGIN_ORIENTATION:
46
+ mesh.lookAt(new Vector3(2 * newPos.x, 2 * newPos.y, 2 * newPos.z));
47
+ break;
48
+ case Container3D.FACEORIGINREVERSED_ORIENTATION:
49
+ mesh.lookAt(new Vector3(-newPos.x, -newPos.y, -newPos.z));
50
+ break;
51
+ case Container3D.FACEFORWARD_ORIENTATION:
52
+ break;
53
+ case Container3D.FACEFORWARDREVERSED_ORIENTATION:
54
+ mesh.rotate(Axis.Y, Math.PI, Space.LOCAL);
55
+ break;
56
+ }
57
+ };
58
+ SpherePanel.prototype._sphericalMapping = function (source) {
59
+ var newPos = new Vector3(0, 0, this._radius);
60
+ var xAngle = source.y / this._radius;
61
+ var yAngle = -(source.x / this._radius);
62
+ Matrix.RotationYawPitchRollToRef(yAngle, xAngle, 0, TmpVectors.Matrix[0]);
63
+ return Vector3.TransformNormal(newPos, TmpVectors.Matrix[0]);
64
+ };
65
+ return SpherePanel;
66
+ }(VolumeBasedPanel));
67
+ export { SpherePanel };
68
68
  //# sourceMappingURL=spherePanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"spherePanel.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/controls/spherePanel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,sCAAwB;AACxC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,6CAA+B;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,2CAA6B;AAEnD;;GAEG;AACH;IAAiC,+BAAgB;IAAjD;QAAA,qEAyDC;QAxDW,aAAO,GAAG,GAAG,CAAC;;IAwD1B,CAAC;IAnDG,sBAAW,+BAAM;QAHjB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;aAED,UAAkB,KAAY;YAA9B,iBAUC;YATG,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;gBACxB,OAAO;aACV;YAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,KAAK,CAAC,YAAY,CAAC;gBACf,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC;;;OAZA;IAcS,kCAAY,GAAtB,UAAuB,OAAkB,EAAE,YAAqB;QAC5D,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,IAAI,CAAC,IAAI,EAAE;YACP,OAAO;SACV;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;QAE1B,QAAQ,IAAI,CAAC,WAAW,EAAE;YACtB,KAAK,WAAW,CAAC,sBAAsB;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM;YACV,KAAK,WAAW,CAAC,8BAA8B;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACV,KAAK,WAAW,CAAC,uBAAuB;gBACpC,MAAM;YACV,KAAK,WAAW,CAAC,+BAA+B;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM;SACb;IACL,CAAC;IAEO,uCAAiB,GAAzB,UAA0B,MAAe;QACrC,IAAM,MAAM,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvC,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1C,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IACL,kBAAC;AAAD,CAAC,AAzDD,CAAiC,gBAAgB,GAyDhD","sourcesContent":["import { Tools } from \"core/Misc/tools\";\r\nimport { Matrix, TmpVectors, Vector3 } from \"core/Maths/math.vector\";\r\nimport { float } from \"core/types\";\r\n\r\nimport { VolumeBasedPanel } from \"./volumeBasedPanel\";\r\nimport { Control3D } from \"./control3D\";\r\nimport { Container3D } from \"./container3D\";\r\nimport { Axis, Space } from \"core/Maths/math.axis\";\r\n\r\n/**\r\n * Class used to create a container panel deployed on the surface of a sphere\r\n */\r\nexport class SpherePanel extends VolumeBasedPanel {\r\n private _radius = 5.0;\r\n\r\n /**\r\n * Gets or sets the radius of the sphere where to project controls (5 by default)\r\n */\r\n public get radius(): float {\r\n return this._radius;\r\n }\r\n\r\n public set radius(value: float) {\r\n if (this._radius === value) {\r\n return;\r\n }\r\n\r\n this._radius = value;\r\n\r\n Tools.SetImmediate(() => {\r\n this._arrangeChildren();\r\n });\r\n }\r\n\r\n protected _mapGridNode(control: Control3D, nodePosition: Vector3) {\r\n const mesh = control.mesh;\r\n\r\n if (!mesh) {\r\n return;\r\n }\r\n\r\n const newPos = this._sphericalMapping(nodePosition);\r\n control.position = newPos;\r\n\r\n switch (this.orientation) {\r\n case Container3D.FACEORIGIN_ORIENTATION:\r\n mesh.lookAt(new Vector3(2 * newPos.x, 2 * newPos.y, 2 * newPos.z));\r\n break;\r\n case Container3D.FACEORIGINREVERSED_ORIENTATION:\r\n mesh.lookAt(new Vector3(-newPos.x, -newPos.y, -newPos.z));\r\n break;\r\n case Container3D.FACEFORWARD_ORIENTATION:\r\n break;\r\n case Container3D.FACEFORWARDREVERSED_ORIENTATION:\r\n mesh.rotate(Axis.Y, Math.PI, Space.LOCAL);\r\n break;\r\n }\r\n }\r\n\r\n private _sphericalMapping(source: Vector3) {\r\n const newPos = new Vector3(0, 0, this._radius);\r\n\r\n const xAngle = source.y / this._radius;\r\n const yAngle = -(source.x / this._radius);\r\n\r\n Matrix.RotationYawPitchRollToRef(yAngle, xAngle, 0, TmpVectors.Matrix[0]);\r\n\r\n return Vector3.TransformNormal(newPos, TmpVectors.Matrix[0]);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"spherePanel.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/controls/spherePanel.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,sCAAwB;AACxC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,6CAA+B;AAGrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,2CAA6B;AAEnD;;GAEG;AACH;IAAiC,+BAAgB;IAAjD;QAAA,qEAyDC;QAxDW,aAAO,GAAG,GAAG,CAAC;;IAwD1B,CAAC;IAnDG,sBAAW,+BAAM;QAHjB;;WAEG;aACH;YACI,OAAO,IAAI,CAAC,OAAO,CAAC;QACxB,CAAC;aAED,UAAkB,KAAY;YAA9B,iBAUC;YATG,IAAI,IAAI,CAAC,OAAO,KAAK,KAAK,EAAE;gBACxB,OAAO;aACV;YAED,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,KAAK,CAAC,YAAY,CAAC;gBACf,KAAI,CAAC,gBAAgB,EAAE,CAAC;YAC5B,CAAC,CAAC,CAAC;QACP,CAAC;;;OAZA;IAcS,kCAAY,GAAtB,UAAuB,OAAkB,EAAE,YAAqB;QAC5D,IAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QAE1B,IAAI,CAAC,IAAI,EAAE;YACP,OAAO;SACV;QAED,IAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QACpD,OAAO,CAAC,QAAQ,GAAG,MAAM,CAAC;QAE1B,QAAQ,IAAI,CAAC,WAAW,EAAE;YACtB,KAAK,WAAW,CAAC,sBAAsB;gBACnC,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBACnE,MAAM;YACV,KAAK,WAAW,CAAC,8BAA8B;gBAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC1D,MAAM;YACV,KAAK,WAAW,CAAC,uBAAuB;gBACpC,MAAM;YACV,KAAK,WAAW,CAAC,+BAA+B;gBAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC1C,MAAM;SACb;IACL,CAAC;IAEO,uCAAiB,GAAzB,UAA0B,MAAe;QACrC,IAAM,MAAM,GAAG,IAAI,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QAE/C,IAAM,MAAM,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC;QACvC,IAAM,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;QAE1C,MAAM,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAE1E,OAAO,OAAO,CAAC,eAAe,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IACL,kBAAC;AAAD,CAAC,AAzDD,CAAiC,gBAAgB,GAyDhD","sourcesContent":["import { Tools } from \"core/Misc/tools\";\r\nimport { Matrix, TmpVectors, Vector3 } from \"core/Maths/math.vector\";\r\nimport type { float } from \"core/types\";\r\n\r\nimport { VolumeBasedPanel } from \"./volumeBasedPanel\";\r\nimport type { Control3D } from \"./control3D\";\r\nimport { Container3D } from \"./container3D\";\r\nimport { Axis, Space } from \"core/Maths/math.axis\";\r\n\r\n/**\r\n * Class used to create a container panel deployed on the surface of a sphere\r\n */\r\nexport class SpherePanel extends VolumeBasedPanel {\r\n private _radius = 5.0;\r\n\r\n /**\r\n * Gets or sets the radius of the sphere where to project controls (5 by default)\r\n */\r\n public get radius(): float {\r\n return this._radius;\r\n }\r\n\r\n public set radius(value: float) {\r\n if (this._radius === value) {\r\n return;\r\n }\r\n\r\n this._radius = value;\r\n\r\n Tools.SetImmediate(() => {\r\n this._arrangeChildren();\r\n });\r\n }\r\n\r\n protected _mapGridNode(control: Control3D, nodePosition: Vector3) {\r\n const mesh = control.mesh;\r\n\r\n if (!mesh) {\r\n return;\r\n }\r\n\r\n const newPos = this._sphericalMapping(nodePosition);\r\n control.position = newPos;\r\n\r\n switch (this.orientation) {\r\n case Container3D.FACEORIGIN_ORIENTATION:\r\n mesh.lookAt(new Vector3(2 * newPos.x, 2 * newPos.y, 2 * newPos.z));\r\n break;\r\n case Container3D.FACEORIGINREVERSED_ORIENTATION:\r\n mesh.lookAt(new Vector3(-newPos.x, -newPos.y, -newPos.z));\r\n break;\r\n case Container3D.FACEFORWARD_ORIENTATION:\r\n break;\r\n case Container3D.FACEFORWARDREVERSED_ORIENTATION:\r\n mesh.rotate(Axis.Y, Math.PI, Space.LOCAL);\r\n break;\r\n }\r\n }\r\n\r\n private _sphericalMapping(source: Vector3) {\r\n const newPos = new Vector3(0, 0, this._radius);\r\n\r\n const xAngle = source.y / this._radius;\r\n const yAngle = -(source.x / this._radius);\r\n\r\n Matrix.RotationYawPitchRollToRef(yAngle, xAngle, 0, TmpVectors.Matrix[0]);\r\n\r\n return Vector3.TransformNormal(newPos, TmpVectors.Matrix[0]);\r\n }\r\n}\r\n"]}
@@ -1,22 +1,22 @@
1
- import { Container3D } from "./container3D";
2
- /**
3
- * Class used to create a stack panel in 3D on XY plane
4
- */
5
- export declare class StackPanel3D extends Container3D {
6
- private _isVertical;
7
- /**
8
- * Gets or sets a boolean indicating if the stack panel is vertical or horizontal (horizontal by default)
9
- */
10
- get isVertical(): boolean;
11
- set isVertical(value: boolean);
12
- /**
13
- * Gets or sets the distance between elements
14
- */
15
- margin: number;
16
- /**
17
- * Creates new StackPanel
18
- * @param isVertical
19
- */
20
- constructor(isVertical?: boolean);
21
- protected _arrangeChildren(): void;
22
- }
1
+ import { Container3D } from "./container3D";
2
+ /**
3
+ * Class used to create a stack panel in 3D on XY plane
4
+ */
5
+ export declare class StackPanel3D extends Container3D {
6
+ private _isVertical;
7
+ /**
8
+ * Gets or sets a boolean indicating if the stack panel is vertical or horizontal (horizontal by default)
9
+ */
10
+ get isVertical(): boolean;
11
+ set isVertical(value: boolean);
12
+ /**
13
+ * Gets or sets the distance between elements
14
+ */
15
+ margin: number;
16
+ /**
17
+ * Creates new StackPanel
18
+ * @param isVertical
19
+ */
20
+ constructor(isVertical?: boolean);
21
+ protected _arrangeChildren(): void;
22
+ }
@@ -1,108 +1,108 @@
1
- import { __extends } from "tslib";
2
- import { Tools } from "@babylonjs/core/Misc/tools.js";
3
- import { Matrix, TmpVectors, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
4
- import { Container3D } from "./container3D.js";
5
- /**
6
- * Class used to create a stack panel in 3D on XY plane
7
- */
8
- var StackPanel3D = /** @class */ (function (_super) {
9
- __extends(StackPanel3D, _super);
10
- /**
11
- * Creates new StackPanel
12
- * @param isVertical
13
- */
14
- function StackPanel3D(isVertical) {
15
- if (isVertical === void 0) { isVertical = false; }
16
- var _this = _super.call(this) || this;
17
- _this._isVertical = false;
18
- /**
19
- * Gets or sets the distance between elements
20
- */
21
- _this.margin = 0.1;
22
- _this._isVertical = isVertical;
23
- return _this;
24
- }
25
- Object.defineProperty(StackPanel3D.prototype, "isVertical", {
26
- /**
27
- * Gets or sets a boolean indicating if the stack panel is vertical or horizontal (horizontal by default)
28
- */
29
- get: function () {
30
- return this._isVertical;
31
- },
32
- set: function (value) {
33
- var _this = this;
34
- if (this._isVertical === value) {
35
- return;
36
- }
37
- this._isVertical = value;
38
- Tools.SetImmediate(function () {
39
- _this._arrangeChildren();
40
- });
41
- },
42
- enumerable: false,
43
- configurable: true
44
- });
45
- StackPanel3D.prototype._arrangeChildren = function () {
46
- var width = 0;
47
- var height = 0;
48
- var controlCount = 0;
49
- var extendSizes = [];
50
- var currentInverseWorld = Matrix.Invert(this.node.computeWorldMatrix(true));
51
- // Measure
52
- for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
53
- var child = _a[_i];
54
- if (!child.mesh) {
55
- continue;
56
- }
57
- controlCount++;
58
- child.mesh.computeWorldMatrix(true);
59
- child.mesh.getWorldMatrix().multiplyToRef(currentInverseWorld, TmpVectors.Matrix[0]);
60
- var boundingBox = child.mesh.getBoundingInfo().boundingBox;
61
- var extendSize = Vector3.TransformNormal(boundingBox.extendSize, TmpVectors.Matrix[0]);
62
- extendSizes.push(extendSize);
63
- if (this._isVertical) {
64
- height += extendSize.y;
65
- }
66
- else {
67
- width += extendSize.x;
68
- }
69
- }
70
- if (this._isVertical) {
71
- height += ((controlCount - 1) * this.margin) / 2;
72
- }
73
- else {
74
- width += ((controlCount - 1) * this.margin) / 2;
75
- }
76
- // Arrange
77
- var offset;
78
- if (this._isVertical) {
79
- offset = -height;
80
- }
81
- else {
82
- offset = -width;
83
- }
84
- var index = 0;
85
- for (var _b = 0, _c = this._children; _b < _c.length; _b++) {
86
- var child = _c[_b];
87
- if (!child.mesh) {
88
- continue;
89
- }
90
- controlCount--;
91
- var extendSize = extendSizes[index++];
92
- if (this._isVertical) {
93
- child.position.y = offset + extendSize.y;
94
- child.position.x = 0;
95
- offset += extendSize.y * 2;
96
- }
97
- else {
98
- child.position.x = offset + extendSize.x;
99
- child.position.y = 0;
100
- offset += extendSize.x * 2;
101
- }
102
- offset += controlCount > 0 ? this.margin : 0;
103
- }
104
- };
105
- return StackPanel3D;
106
- }(Container3D));
107
- export { StackPanel3D };
1
+ import { __extends } from "tslib";
2
+ import { Tools } from "@babylonjs/core/Misc/tools.js";
3
+ import { Matrix, TmpVectors, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
4
+ import { Container3D } from "./container3D.js";
5
+ /**
6
+ * Class used to create a stack panel in 3D on XY plane
7
+ */
8
+ var StackPanel3D = /** @class */ (function (_super) {
9
+ __extends(StackPanel3D, _super);
10
+ /**
11
+ * Creates new StackPanel
12
+ * @param isVertical
13
+ */
14
+ function StackPanel3D(isVertical) {
15
+ if (isVertical === void 0) { isVertical = false; }
16
+ var _this = _super.call(this) || this;
17
+ _this._isVertical = false;
18
+ /**
19
+ * Gets or sets the distance between elements
20
+ */
21
+ _this.margin = 0.1;
22
+ _this._isVertical = isVertical;
23
+ return _this;
24
+ }
25
+ Object.defineProperty(StackPanel3D.prototype, "isVertical", {
26
+ /**
27
+ * Gets or sets a boolean indicating if the stack panel is vertical or horizontal (horizontal by default)
28
+ */
29
+ get: function () {
30
+ return this._isVertical;
31
+ },
32
+ set: function (value) {
33
+ var _this = this;
34
+ if (this._isVertical === value) {
35
+ return;
36
+ }
37
+ this._isVertical = value;
38
+ Tools.SetImmediate(function () {
39
+ _this._arrangeChildren();
40
+ });
41
+ },
42
+ enumerable: false,
43
+ configurable: true
44
+ });
45
+ StackPanel3D.prototype._arrangeChildren = function () {
46
+ var width = 0;
47
+ var height = 0;
48
+ var controlCount = 0;
49
+ var extendSizes = [];
50
+ var currentInverseWorld = Matrix.Invert(this.node.computeWorldMatrix(true));
51
+ // Measure
52
+ for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
53
+ var child = _a[_i];
54
+ if (!child.mesh) {
55
+ continue;
56
+ }
57
+ controlCount++;
58
+ child.mesh.computeWorldMatrix(true);
59
+ child.mesh.getWorldMatrix().multiplyToRef(currentInverseWorld, TmpVectors.Matrix[0]);
60
+ var boundingBox = child.mesh.getBoundingInfo().boundingBox;
61
+ var extendSize = Vector3.TransformNormal(boundingBox.extendSize, TmpVectors.Matrix[0]);
62
+ extendSizes.push(extendSize);
63
+ if (this._isVertical) {
64
+ height += extendSize.y;
65
+ }
66
+ else {
67
+ width += extendSize.x;
68
+ }
69
+ }
70
+ if (this._isVertical) {
71
+ height += ((controlCount - 1) * this.margin) / 2;
72
+ }
73
+ else {
74
+ width += ((controlCount - 1) * this.margin) / 2;
75
+ }
76
+ // Arrange
77
+ var offset;
78
+ if (this._isVertical) {
79
+ offset = -height;
80
+ }
81
+ else {
82
+ offset = -width;
83
+ }
84
+ var index = 0;
85
+ for (var _b = 0, _c = this._children; _b < _c.length; _b++) {
86
+ var child = _c[_b];
87
+ if (!child.mesh) {
88
+ continue;
89
+ }
90
+ controlCount--;
91
+ var extendSize = extendSizes[index++];
92
+ if (this._isVertical) {
93
+ child.position.y = offset + extendSize.y;
94
+ child.position.x = 0;
95
+ offset += extendSize.y * 2;
96
+ }
97
+ else {
98
+ child.position.x = offset + extendSize.x;
99
+ child.position.y = 0;
100
+ offset += extendSize.x * 2;
101
+ }
102
+ offset += controlCount > 0 ? this.margin : 0;
103
+ }
104
+ };
105
+ return StackPanel3D;
106
+ }(Container3D));
107
+ export { StackPanel3D };
108
108
  //# sourceMappingURL=stackPanel3D.js.map
@@ -1,80 +1,80 @@
1
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
- import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
3
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
4
- import { Scene } from "@babylonjs/core/scene.js";
5
- import { Observable } from "@babylonjs/core/Misc/observable.js";
6
- import { Button3D } from "./button3D";
7
- /**
8
- * Class used to create a touchable button in 3D
9
- */
10
- export declare class TouchButton3D extends Button3D {
11
- private _collisionMesh;
12
- private _collidableFrontDirection;
13
- private _isNearPressed;
14
- private _interactionSurfaceHeight;
15
- private _isToggleButton;
16
- private _toggleState;
17
- private _toggleButtonCallback;
18
- /**
19
- * An event triggered when the button is toggled. Only fired if 'isToggleButton' is true
20
- */
21
- onToggleObservable: Observable<boolean>;
22
- /**
23
- * Creates a new touchable button
24
- * @param name defines the control name
25
- * @param collisionMesh mesh to track collisions with
26
- */
27
- constructor(name?: string, collisionMesh?: Mesh);
28
- /**
29
- * Whether the current interaction is caused by near interaction or not
30
- */
31
- get isActiveNearInteraction(): boolean;
32
- /**
33
- * Sets the front-facing direction of the button. Pass in Vector3.Zero to allow interactions from any direction
34
- * @param frontWorldDir the forward direction of the button
35
- */
36
- set collidableFrontDirection(frontWorldDir: Vector3);
37
- /**
38
- * Returns the front-facing direction of the button, or Vector3.Zero if there is no 'front'
39
- */
40
- get collidableFrontDirection(): Vector3;
41
- /**
42
- * Sets the mesh used for testing input collision
43
- * @param collisionMesh the new collision mesh for the button
44
- */
45
- set collisionMesh(collisionMesh: Mesh);
46
- /**
47
- * Setter for if this TouchButton3D should be treated as a toggle button
48
- * @param value If this TouchHolographicButton should act like a toggle button
49
- */
50
- set isToggleButton(value: boolean);
51
- get isToggleButton(): boolean;
52
- /**
53
- * A public entrypoint to set the toggle state of the TouchHolographicButton. Only works if 'isToggleButton' is true
54
- * @param newState The new state to set the TouchHolographicButton's toggle state to
55
- */
56
- set isToggled(newState: boolean);
57
- get isToggled(): boolean;
58
- protected _onToggle(newState: boolean): void;
59
- private _isInteractionInFrontOfButton;
60
- /**
61
- * Get the height of the touchPoint from the collidable part of the button
62
- * @param touchPoint the point to compare to the button, in absolute position
63
- * @returns the depth of the touch point into the front of the button
64
- */
65
- getPressDepth(touchPoint: Vector3): number;
66
- protected _getInteractionHeight(interactionPos: Vector3, basePos: Vector3): number;
67
- /**
68
- * @param providedType
69
- * @param nearMeshPosition
70
- * @param activeInteractionCount
71
- * @hidden
72
- */
73
- _generatePointerEventType(providedType: number, nearMeshPosition: Vector3, activeInteractionCount: number): number;
74
- protected _getTypeName(): string;
75
- protected _createNode(scene: Scene): TransformNode;
76
- /**
77
- * Releases all associated resources
78
- */
79
- dispose(): void;
80
- }
1
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
2
+ import type { Mesh } from "@babylonjs/core/Meshes/mesh.js";
3
+ import type { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
4
+ import type { Scene } from "@babylonjs/core/scene.js";
5
+ import { Observable } from "@babylonjs/core/Misc/observable.js";
6
+ import { Button3D } from "./button3D";
7
+ /**
8
+ * Class used to create a touchable button in 3D
9
+ */
10
+ export declare class TouchButton3D extends Button3D {
11
+ private _collisionMesh;
12
+ private _collidableFrontDirection;
13
+ private _isNearPressed;
14
+ private _interactionSurfaceHeight;
15
+ private _isToggleButton;
16
+ private _toggleState;
17
+ private _toggleButtonCallback;
18
+ /**
19
+ * An event triggered when the button is toggled. Only fired if 'isToggleButton' is true
20
+ */
21
+ onToggleObservable: Observable<boolean>;
22
+ /**
23
+ * Creates a new touchable button
24
+ * @param name defines the control name
25
+ * @param collisionMesh mesh to track collisions with
26
+ */
27
+ constructor(name?: string, collisionMesh?: Mesh);
28
+ /**
29
+ * Whether the current interaction is caused by near interaction or not
30
+ */
31
+ get isActiveNearInteraction(): boolean;
32
+ /**
33
+ * Sets the front-facing direction of the button. Pass in Vector3.Zero to allow interactions from any direction
34
+ * @param frontWorldDir the forward direction of the button
35
+ */
36
+ set collidableFrontDirection(frontWorldDir: Vector3);
37
+ /**
38
+ * Returns the front-facing direction of the button, or Vector3.Zero if there is no 'front'
39
+ */
40
+ get collidableFrontDirection(): Vector3;
41
+ /**
42
+ * Sets the mesh used for testing input collision
43
+ * @param collisionMesh the new collision mesh for the button
44
+ */
45
+ set collisionMesh(collisionMesh: Mesh);
46
+ /**
47
+ * Setter for if this TouchButton3D should be treated as a toggle button
48
+ * @param value If this TouchHolographicButton should act like a toggle button
49
+ */
50
+ set isToggleButton(value: boolean);
51
+ get isToggleButton(): boolean;
52
+ /**
53
+ * A public entrypoint to set the toggle state of the TouchHolographicButton. Only works if 'isToggleButton' is true
54
+ * @param newState The new state to set the TouchHolographicButton's toggle state to
55
+ */
56
+ set isToggled(newState: boolean);
57
+ get isToggled(): boolean;
58
+ protected _onToggle(newState: boolean): void;
59
+ private _isInteractionInFrontOfButton;
60
+ /**
61
+ * Get the height of the touchPoint from the collidable part of the button
62
+ * @param touchPoint the point to compare to the button, in absolute position
63
+ * @returns the depth of the touch point into the front of the button
64
+ */
65
+ getPressDepth(touchPoint: Vector3): number;
66
+ protected _getInteractionHeight(interactionPos: Vector3, basePos: Vector3): number;
67
+ /**
68
+ * @param providedType
69
+ * @param nearMeshPosition
70
+ * @param activeInteractionCount
71
+ * @hidden
72
+ */
73
+ _generatePointerEventType(providedType: number, nearMeshPosition: Vector3, activeInteractionCount: number): number;
74
+ protected _getTypeName(): string;
75
+ protected _createNode(scene: Scene): TransformNode;
76
+ /**
77
+ * Releases all associated resources
78
+ */
79
+ dispose(): void;
80
+ }