@babylonjs/gui 5.0.0-rc.6 → 5.0.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 (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
package/2D/measure.d.ts CHANGED
@@ -1,77 +1,77 @@
1
- import { Matrix2D } from "./math2D";
2
- /**
3
- * Class used to store 2D control sizes
4
- */
5
- export declare class Measure {
6
- /** defines left coordinate */
7
- left: number;
8
- /** defines top coordinate */
9
- top: number;
10
- /** defines width dimension */
11
- width: number;
12
- /** defines height dimension */
13
- height: number;
14
- /**
15
- * Creates a new measure
16
- * @param left defines left coordinate
17
- * @param top defines top coordinate
18
- * @param width defines width dimension
19
- * @param height defines height dimension
20
- */
21
- constructor(
22
- /** defines left coordinate */
23
- left: number,
24
- /** defines top coordinate */
25
- top: number,
26
- /** defines width dimension */
27
- width: number,
28
- /** defines height dimension */
29
- height: number);
30
- /**
31
- * Copy from another measure
32
- * @param other defines the other measure to copy from
33
- */
34
- copyFrom(other: Measure): void;
35
- /**
36
- * Copy from a group of 4 floats
37
- * @param left defines left coordinate
38
- * @param top defines top coordinate
39
- * @param width defines width dimension
40
- * @param height defines height dimension
41
- */
42
- copyFromFloats(left: number, top: number, width: number, height: number): void;
43
- /**
44
- * Computes the axis aligned bounding box measure for two given measures
45
- * @param a Input measure
46
- * @param b Input measure
47
- * @param result the resulting bounding measure
48
- */
49
- static CombineToRef(a: Measure, b: Measure, result: Measure): void;
50
- /**
51
- * Computes the axis aligned bounding box of the measure after it is modified by a given transform
52
- * @param transform the matrix to transform the measure before computing the AABB
53
- * @param addX number to add to left
54
- * @param addY number to add to top
55
- * @param addWidth number to add to width
56
- * @param addHeight number to add to height
57
- * @param result the resulting AABB
58
- */
59
- addAndTransformToRef(transform: Matrix2D, addX: number, addY: number, addWidth: number, addHeight: number, result: Measure): void;
60
- /**
61
- * Computes the axis aligned bounding box of the measure after it is modified by a given transform
62
- * @param transform the matrix to transform the measure before computing the AABB
63
- * @param result the resulting AABB
64
- */
65
- transformToRef(transform: Matrix2D, result: Measure): void;
66
- /**
67
- * Check equality between this measure and another one
68
- * @param other defines the other measures
69
- * @returns true if both measures are equals
70
- */
71
- isEqualsTo(other: Measure): boolean;
72
- /**
73
- * Creates an empty measure
74
- * @returns a new measure
75
- */
76
- static Empty(): Measure;
77
- }
1
+ import type { Matrix2D } from "./math2D";
2
+ /**
3
+ * Class used to store 2D control sizes
4
+ */
5
+ export declare class Measure {
6
+ /** defines left coordinate */
7
+ left: number;
8
+ /** defines top coordinate */
9
+ top: number;
10
+ /** defines width dimension */
11
+ width: number;
12
+ /** defines height dimension */
13
+ height: number;
14
+ /**
15
+ * Creates a new measure
16
+ * @param left defines left coordinate
17
+ * @param top defines top coordinate
18
+ * @param width defines width dimension
19
+ * @param height defines height dimension
20
+ */
21
+ constructor(
22
+ /** defines left coordinate */
23
+ left: number,
24
+ /** defines top coordinate */
25
+ top: number,
26
+ /** defines width dimension */
27
+ width: number,
28
+ /** defines height dimension */
29
+ height: number);
30
+ /**
31
+ * Copy from another measure
32
+ * @param other defines the other measure to copy from
33
+ */
34
+ copyFrom(other: Measure): void;
35
+ /**
36
+ * Copy from a group of 4 floats
37
+ * @param left defines left coordinate
38
+ * @param top defines top coordinate
39
+ * @param width defines width dimension
40
+ * @param height defines height dimension
41
+ */
42
+ copyFromFloats(left: number, top: number, width: number, height: number): void;
43
+ /**
44
+ * Computes the axis aligned bounding box measure for two given measures
45
+ * @param a Input measure
46
+ * @param b Input measure
47
+ * @param result the resulting bounding measure
48
+ */
49
+ static CombineToRef(a: Measure, b: Measure, result: Measure): void;
50
+ /**
51
+ * Computes the axis aligned bounding box of the measure after it is modified by a given transform
52
+ * @param transform the matrix to transform the measure before computing the AABB
53
+ * @param addX number to add to left
54
+ * @param addY number to add to top
55
+ * @param addWidth number to add to width
56
+ * @param addHeight number to add to height
57
+ * @param result the resulting AABB
58
+ */
59
+ addAndTransformToRef(transform: Matrix2D, addX: number, addY: number, addWidth: number, addHeight: number, result: Measure): void;
60
+ /**
61
+ * Computes the axis aligned bounding box of the measure after it is modified by a given transform
62
+ * @param transform the matrix to transform the measure before computing the AABB
63
+ * @param result the resulting AABB
64
+ */
65
+ transformToRef(transform: Matrix2D, result: Measure): void;
66
+ /**
67
+ * Check equality between this measure and another one
68
+ * @param other defines the other measures
69
+ * @returns true if both measures are equals
70
+ */
71
+ isEqualsTo(other: Measure): boolean;
72
+ /**
73
+ * Creates an empty measure
74
+ * @returns a new measure
75
+ */
76
+ static Empty(): Measure;
77
+ }
package/2D/measure.js CHANGED
@@ -1,140 +1,140 @@
1
- import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
2
- var tmpRect = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];
3
- var tmpRect2 = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];
4
- var tmpV1 = new Vector2(0, 0);
5
- var tmpV2 = new Vector2(0, 0);
6
- /**
7
- * Class used to store 2D control sizes
8
- */
9
- var Measure = /** @class */ (function () {
10
- /**
11
- * Creates a new measure
12
- * @param left defines left coordinate
13
- * @param top defines top coordinate
14
- * @param width defines width dimension
15
- * @param height defines height dimension
16
- */
17
- function Measure(
18
- /** defines left coordinate */
19
- left,
20
- /** defines top coordinate */
21
- top,
22
- /** defines width dimension */
23
- width,
24
- /** defines height dimension */
25
- height) {
26
- this.left = left;
27
- this.top = top;
28
- this.width = width;
29
- this.height = height;
30
- }
31
- /**
32
- * Copy from another measure
33
- * @param other defines the other measure to copy from
34
- */
35
- Measure.prototype.copyFrom = function (other) {
36
- this.left = other.left;
37
- this.top = other.top;
38
- this.width = other.width;
39
- this.height = other.height;
40
- };
41
- /**
42
- * Copy from a group of 4 floats
43
- * @param left defines left coordinate
44
- * @param top defines top coordinate
45
- * @param width defines width dimension
46
- * @param height defines height dimension
47
- */
48
- Measure.prototype.copyFromFloats = function (left, top, width, height) {
49
- this.left = left;
50
- this.top = top;
51
- this.width = width;
52
- this.height = height;
53
- };
54
- /**
55
- * Computes the axis aligned bounding box measure for two given measures
56
- * @param a Input measure
57
- * @param b Input measure
58
- * @param result the resulting bounding measure
59
- */
60
- Measure.CombineToRef = function (a, b, result) {
61
- var left = Math.min(a.left, b.left);
62
- var top = Math.min(a.top, b.top);
63
- var right = Math.max(a.left + a.width, b.left + b.width);
64
- var bottom = Math.max(a.top + a.height, b.top + b.height);
65
- result.left = left;
66
- result.top = top;
67
- result.width = right - left;
68
- result.height = bottom - top;
69
- };
70
- /**
71
- * Computes the axis aligned bounding box of the measure after it is modified by a given transform
72
- * @param transform the matrix to transform the measure before computing the AABB
73
- * @param addX number to add to left
74
- * @param addY number to add to top
75
- * @param addWidth number to add to width
76
- * @param addHeight number to add to height
77
- * @param result the resulting AABB
78
- */
79
- Measure.prototype.addAndTransformToRef = function (transform, addX, addY, addWidth, addHeight, result) {
80
- var left = this.left + addX;
81
- var top = this.top + addY;
82
- var width = this.width + addWidth;
83
- var height = this.height + addHeight;
84
- tmpRect[0].copyFromFloats(left, top);
85
- tmpRect[1].copyFromFloats(left + width, top);
86
- tmpRect[2].copyFromFloats(left + width, top + height);
87
- tmpRect[3].copyFromFloats(left, top + height);
88
- tmpV1.copyFromFloats(Number.MAX_VALUE, Number.MAX_VALUE);
89
- tmpV2.copyFromFloats(0, 0);
90
- for (var i = 0; i < 4; i++) {
91
- transform.transformCoordinates(tmpRect[i].x, tmpRect[i].y, tmpRect2[i]);
92
- tmpV1.x = Math.floor(Math.min(tmpV1.x, tmpRect2[i].x));
93
- tmpV1.y = Math.floor(Math.min(tmpV1.y, tmpRect2[i].y));
94
- tmpV2.x = Math.ceil(Math.max(tmpV2.x, tmpRect2[i].x));
95
- tmpV2.y = Math.ceil(Math.max(tmpV2.y, tmpRect2[i].y));
96
- }
97
- result.left = tmpV1.x;
98
- result.top = tmpV1.y;
99
- result.width = tmpV2.x - tmpV1.x;
100
- result.height = tmpV2.y - tmpV1.y;
101
- };
102
- /**
103
- * Computes the axis aligned bounding box of the measure after it is modified by a given transform
104
- * @param transform the matrix to transform the measure before computing the AABB
105
- * @param result the resulting AABB
106
- */
107
- Measure.prototype.transformToRef = function (transform, result) {
108
- this.addAndTransformToRef(transform, 0, 0, 0, 0, result);
109
- };
110
- /**
111
- * Check equality between this measure and another one
112
- * @param other defines the other measures
113
- * @returns true if both measures are equals
114
- */
115
- Measure.prototype.isEqualsTo = function (other) {
116
- if (this.left !== other.left) {
117
- return false;
118
- }
119
- if (this.top !== other.top) {
120
- return false;
121
- }
122
- if (this.width !== other.width) {
123
- return false;
124
- }
125
- if (this.height !== other.height) {
126
- return false;
127
- }
128
- return true;
129
- };
130
- /**
131
- * Creates an empty measure
132
- * @returns a new measure
133
- */
134
- Measure.Empty = function () {
135
- return new Measure(0, 0, 0, 0);
136
- };
137
- return Measure;
138
- }());
139
- export { Measure };
1
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
2
+ var tmpRect = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];
3
+ var tmpRect2 = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];
4
+ var tmpV1 = new Vector2(0, 0);
5
+ var tmpV2 = new Vector2(0, 0);
6
+ /**
7
+ * Class used to store 2D control sizes
8
+ */
9
+ var Measure = /** @class */ (function () {
10
+ /**
11
+ * Creates a new measure
12
+ * @param left defines left coordinate
13
+ * @param top defines top coordinate
14
+ * @param width defines width dimension
15
+ * @param height defines height dimension
16
+ */
17
+ function Measure(
18
+ /** defines left coordinate */
19
+ left,
20
+ /** defines top coordinate */
21
+ top,
22
+ /** defines width dimension */
23
+ width,
24
+ /** defines height dimension */
25
+ height) {
26
+ this.left = left;
27
+ this.top = top;
28
+ this.width = width;
29
+ this.height = height;
30
+ }
31
+ /**
32
+ * Copy from another measure
33
+ * @param other defines the other measure to copy from
34
+ */
35
+ Measure.prototype.copyFrom = function (other) {
36
+ this.left = other.left;
37
+ this.top = other.top;
38
+ this.width = other.width;
39
+ this.height = other.height;
40
+ };
41
+ /**
42
+ * Copy from a group of 4 floats
43
+ * @param left defines left coordinate
44
+ * @param top defines top coordinate
45
+ * @param width defines width dimension
46
+ * @param height defines height dimension
47
+ */
48
+ Measure.prototype.copyFromFloats = function (left, top, width, height) {
49
+ this.left = left;
50
+ this.top = top;
51
+ this.width = width;
52
+ this.height = height;
53
+ };
54
+ /**
55
+ * Computes the axis aligned bounding box measure for two given measures
56
+ * @param a Input measure
57
+ * @param b Input measure
58
+ * @param result the resulting bounding measure
59
+ */
60
+ Measure.CombineToRef = function (a, b, result) {
61
+ var left = Math.min(a.left, b.left);
62
+ var top = Math.min(a.top, b.top);
63
+ var right = Math.max(a.left + a.width, b.left + b.width);
64
+ var bottom = Math.max(a.top + a.height, b.top + b.height);
65
+ result.left = left;
66
+ result.top = top;
67
+ result.width = right - left;
68
+ result.height = bottom - top;
69
+ };
70
+ /**
71
+ * Computes the axis aligned bounding box of the measure after it is modified by a given transform
72
+ * @param transform the matrix to transform the measure before computing the AABB
73
+ * @param addX number to add to left
74
+ * @param addY number to add to top
75
+ * @param addWidth number to add to width
76
+ * @param addHeight number to add to height
77
+ * @param result the resulting AABB
78
+ */
79
+ Measure.prototype.addAndTransformToRef = function (transform, addX, addY, addWidth, addHeight, result) {
80
+ var left = this.left + addX;
81
+ var top = this.top + addY;
82
+ var width = this.width + addWidth;
83
+ var height = this.height + addHeight;
84
+ tmpRect[0].copyFromFloats(left, top);
85
+ tmpRect[1].copyFromFloats(left + width, top);
86
+ tmpRect[2].copyFromFloats(left + width, top + height);
87
+ tmpRect[3].copyFromFloats(left, top + height);
88
+ tmpV1.copyFromFloats(Number.MAX_VALUE, Number.MAX_VALUE);
89
+ tmpV2.copyFromFloats(0, 0);
90
+ for (var i = 0; i < 4; i++) {
91
+ transform.transformCoordinates(tmpRect[i].x, tmpRect[i].y, tmpRect2[i]);
92
+ tmpV1.x = Math.floor(Math.min(tmpV1.x, tmpRect2[i].x));
93
+ tmpV1.y = Math.floor(Math.min(tmpV1.y, tmpRect2[i].y));
94
+ tmpV2.x = Math.ceil(Math.max(tmpV2.x, tmpRect2[i].x));
95
+ tmpV2.y = Math.ceil(Math.max(tmpV2.y, tmpRect2[i].y));
96
+ }
97
+ result.left = tmpV1.x;
98
+ result.top = tmpV1.y;
99
+ result.width = tmpV2.x - tmpV1.x;
100
+ result.height = tmpV2.y - tmpV1.y;
101
+ };
102
+ /**
103
+ * Computes the axis aligned bounding box of the measure after it is modified by a given transform
104
+ * @param transform the matrix to transform the measure before computing the AABB
105
+ * @param result the resulting AABB
106
+ */
107
+ Measure.prototype.transformToRef = function (transform, result) {
108
+ this.addAndTransformToRef(transform, 0, 0, 0, 0, result);
109
+ };
110
+ /**
111
+ * Check equality between this measure and another one
112
+ * @param other defines the other measures
113
+ * @returns true if both measures are equals
114
+ */
115
+ Measure.prototype.isEqualsTo = function (other) {
116
+ if (this.left !== other.left) {
117
+ return false;
118
+ }
119
+ if (this.top !== other.top) {
120
+ return false;
121
+ }
122
+ if (this.width !== other.width) {
123
+ return false;
124
+ }
125
+ if (this.height !== other.height) {
126
+ return false;
127
+ }
128
+ return true;
129
+ };
130
+ /**
131
+ * Creates an empty measure
132
+ * @returns a new measure
133
+ */
134
+ Measure.Empty = function () {
135
+ return new Measure(0, 0, 0, 0);
136
+ };
137
+ return Measure;
138
+ }());
139
+ export { Measure };
140
140
  //# sourceMappingURL=measure.js.map
package/2D/measure.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"measure.js","sourceRoot":"","sources":["../../../../../lts/gui/generated/2D/measure.ts"],"names":[],"mappings":"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","sourcesContent":["import { Matrix2D } from \"./math2D\";\r\nimport { Vector2 } from \"core/Maths/math.vector\";\r\n\r\nconst tmpRect = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];\r\n\r\nconst tmpRect2 = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];\r\n\r\nconst tmpV1 = new Vector2(0, 0);\r\nconst tmpV2 = new Vector2(0, 0);\r\n\r\n/**\r\n * Class used to store 2D control sizes\r\n */\r\nexport class Measure {\r\n /**\r\n * Creates a new measure\r\n * @param left defines left coordinate\r\n * @param top defines top coordinate\r\n * @param width defines width dimension\r\n * @param height defines height dimension\r\n */\r\n public constructor(\r\n /** defines left coordinate */\r\n public left: number,\r\n /** defines top coordinate */\r\n public top: number,\r\n /** defines width dimension */\r\n public width: number,\r\n /** defines height dimension */\r\n public height: number\r\n ) {}\r\n\r\n /**\r\n * Copy from another measure\r\n * @param other defines the other measure to copy from\r\n */\r\n public copyFrom(other: Measure): void {\r\n this.left = other.left;\r\n this.top = other.top;\r\n this.width = other.width;\r\n this.height = other.height;\r\n }\r\n\r\n /**\r\n * Copy from a group of 4 floats\r\n * @param left defines left coordinate\r\n * @param top defines top coordinate\r\n * @param width defines width dimension\r\n * @param height defines height dimension\r\n */\r\n public copyFromFloats(left: number, top: number, width: number, height: number): void {\r\n this.left = left;\r\n this.top = top;\r\n this.width = width;\r\n this.height = height;\r\n }\r\n\r\n /**\r\n * Computes the axis aligned bounding box measure for two given measures\r\n * @param a Input measure\r\n * @param b Input measure\r\n * @param result the resulting bounding measure\r\n */\r\n public static CombineToRef(a: Measure, b: Measure, result: Measure) {\r\n const left = Math.min(a.left, b.left);\r\n const top = Math.min(a.top, b.top);\r\n const right = Math.max(a.left + a.width, b.left + b.width);\r\n const bottom = Math.max(a.top + a.height, b.top + b.height);\r\n result.left = left;\r\n result.top = top;\r\n result.width = right - left;\r\n result.height = bottom - top;\r\n }\r\n\r\n /**\r\n * Computes the axis aligned bounding box of the measure after it is modified by a given transform\r\n * @param transform the matrix to transform the measure before computing the AABB\r\n * @param addX number to add to left\r\n * @param addY number to add to top\r\n * @param addWidth number to add to width\r\n * @param addHeight number to add to height\r\n * @param result the resulting AABB\r\n */\r\n public addAndTransformToRef(transform: Matrix2D, addX: number, addY: number, addWidth: number, addHeight: number, result: Measure) {\r\n const left = this.left + addX;\r\n const top = this.top + addY;\r\n const width = this.width + addWidth;\r\n const height = this.height + addHeight;\r\n\r\n tmpRect[0].copyFromFloats(left, top);\r\n tmpRect[1].copyFromFloats(left + width, top);\r\n tmpRect[2].copyFromFloats(left + width, top + height);\r\n tmpRect[3].copyFromFloats(left, top + height);\r\n\r\n tmpV1.copyFromFloats(Number.MAX_VALUE, Number.MAX_VALUE);\r\n tmpV2.copyFromFloats(0, 0);\r\n for (let i = 0; i < 4; i++) {\r\n transform.transformCoordinates(tmpRect[i].x, tmpRect[i].y, tmpRect2[i]);\r\n tmpV1.x = Math.floor(Math.min(tmpV1.x, tmpRect2[i].x));\r\n tmpV1.y = Math.floor(Math.min(tmpV1.y, tmpRect2[i].y));\r\n tmpV2.x = Math.ceil(Math.max(tmpV2.x, tmpRect2[i].x));\r\n tmpV2.y = Math.ceil(Math.max(tmpV2.y, tmpRect2[i].y));\r\n }\r\n result.left = tmpV1.x;\r\n result.top = tmpV1.y;\r\n result.width = tmpV2.x - tmpV1.x;\r\n result.height = tmpV2.y - tmpV1.y;\r\n }\r\n\r\n /**\r\n * Computes the axis aligned bounding box of the measure after it is modified by a given transform\r\n * @param transform the matrix to transform the measure before computing the AABB\r\n * @param result the resulting AABB\r\n */\r\n public transformToRef(transform: Matrix2D, result: Measure) {\r\n this.addAndTransformToRef(transform, 0, 0, 0, 0, result);\r\n }\r\n /**\r\n * Check equality between this measure and another one\r\n * @param other defines the other measures\r\n * @returns true if both measures are equals\r\n */\r\n public isEqualsTo(other: Measure): boolean {\r\n if (this.left !== other.left) {\r\n return false;\r\n }\r\n\r\n if (this.top !== other.top) {\r\n return false;\r\n }\r\n\r\n if (this.width !== other.width) {\r\n return false;\r\n }\r\n\r\n if (this.height !== other.height) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Creates an empty measure\r\n * @returns a new measure\r\n */\r\n public static Empty(): Measure {\r\n return new Measure(0, 0, 0, 0);\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"measure.js","sourceRoot":"","sources":["../../../../../lts/gui/generated/2D/measure.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Matrix2D } from \"./math2D\";\r\nimport { Vector2 } from \"core/Maths/math.vector\";\r\n\r\nconst tmpRect = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];\r\n\r\nconst tmpRect2 = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];\r\n\r\nconst tmpV1 = new Vector2(0, 0);\r\nconst tmpV2 = new Vector2(0, 0);\r\n\r\n/**\r\n * Class used to store 2D control sizes\r\n */\r\nexport class Measure {\r\n /**\r\n * Creates a new measure\r\n * @param left defines left coordinate\r\n * @param top defines top coordinate\r\n * @param width defines width dimension\r\n * @param height defines height dimension\r\n */\r\n public constructor(\r\n /** defines left coordinate */\r\n public left: number,\r\n /** defines top coordinate */\r\n public top: number,\r\n /** defines width dimension */\r\n public width: number,\r\n /** defines height dimension */\r\n public height: number\r\n ) {}\r\n\r\n /**\r\n * Copy from another measure\r\n * @param other defines the other measure to copy from\r\n */\r\n public copyFrom(other: Measure): void {\r\n this.left = other.left;\r\n this.top = other.top;\r\n this.width = other.width;\r\n this.height = other.height;\r\n }\r\n\r\n /**\r\n * Copy from a group of 4 floats\r\n * @param left defines left coordinate\r\n * @param top defines top coordinate\r\n * @param width defines width dimension\r\n * @param height defines height dimension\r\n */\r\n public copyFromFloats(left: number, top: number, width: number, height: number): void {\r\n this.left = left;\r\n this.top = top;\r\n this.width = width;\r\n this.height = height;\r\n }\r\n\r\n /**\r\n * Computes the axis aligned bounding box measure for two given measures\r\n * @param a Input measure\r\n * @param b Input measure\r\n * @param result the resulting bounding measure\r\n */\r\n public static CombineToRef(a: Measure, b: Measure, result: Measure) {\r\n const left = Math.min(a.left, b.left);\r\n const top = Math.min(a.top, b.top);\r\n const right = Math.max(a.left + a.width, b.left + b.width);\r\n const bottom = Math.max(a.top + a.height, b.top + b.height);\r\n result.left = left;\r\n result.top = top;\r\n result.width = right - left;\r\n result.height = bottom - top;\r\n }\r\n\r\n /**\r\n * Computes the axis aligned bounding box of the measure after it is modified by a given transform\r\n * @param transform the matrix to transform the measure before computing the AABB\r\n * @param addX number to add to left\r\n * @param addY number to add to top\r\n * @param addWidth number to add to width\r\n * @param addHeight number to add to height\r\n * @param result the resulting AABB\r\n */\r\n public addAndTransformToRef(transform: Matrix2D, addX: number, addY: number, addWidth: number, addHeight: number, result: Measure) {\r\n const left = this.left + addX;\r\n const top = this.top + addY;\r\n const width = this.width + addWidth;\r\n const height = this.height + addHeight;\r\n\r\n tmpRect[0].copyFromFloats(left, top);\r\n tmpRect[1].copyFromFloats(left + width, top);\r\n tmpRect[2].copyFromFloats(left + width, top + height);\r\n tmpRect[3].copyFromFloats(left, top + height);\r\n\r\n tmpV1.copyFromFloats(Number.MAX_VALUE, Number.MAX_VALUE);\r\n tmpV2.copyFromFloats(0, 0);\r\n for (let i = 0; i < 4; i++) {\r\n transform.transformCoordinates(tmpRect[i].x, tmpRect[i].y, tmpRect2[i]);\r\n tmpV1.x = Math.floor(Math.min(tmpV1.x, tmpRect2[i].x));\r\n tmpV1.y = Math.floor(Math.min(tmpV1.y, tmpRect2[i].y));\r\n tmpV2.x = Math.ceil(Math.max(tmpV2.x, tmpRect2[i].x));\r\n tmpV2.y = Math.ceil(Math.max(tmpV2.y, tmpRect2[i].y));\r\n }\r\n result.left = tmpV1.x;\r\n result.top = tmpV1.y;\r\n result.width = tmpV2.x - tmpV1.x;\r\n result.height = tmpV2.y - tmpV1.y;\r\n }\r\n\r\n /**\r\n * Computes the axis aligned bounding box of the measure after it is modified by a given transform\r\n * @param transform the matrix to transform the measure before computing the AABB\r\n * @param result the resulting AABB\r\n */\r\n public transformToRef(transform: Matrix2D, result: Measure) {\r\n this.addAndTransformToRef(transform, 0, 0, 0, 0, result);\r\n }\r\n /**\r\n * Check equality between this measure and another one\r\n * @param other defines the other measures\r\n * @returns true if both measures are equals\r\n */\r\n public isEqualsTo(other: Measure): boolean {\r\n if (this.left !== other.left) {\r\n return false;\r\n }\r\n\r\n if (this.top !== other.top) {\r\n return false;\r\n }\r\n\r\n if (this.width !== other.width) {\r\n return false;\r\n }\r\n\r\n if (this.height !== other.height) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * Creates an empty measure\r\n * @returns a new measure\r\n */\r\n public static Empty(): Measure {\r\n return new Measure(0, 0, 0, 0);\r\n }\r\n}\r\n"]}
@@ -1,47 +1,47 @@
1
- import { Nullable } from "@babylonjs/core/types.js";
2
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
3
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
4
- import { MultiLine } from "./controls/multiLine";
5
- import { Control } from "./controls/control";
6
- /**
7
- * Class used to store a point for a MultiLine object.
8
- * The point can be pure 2D coordinates, a mesh or a control
9
- */
10
- export declare class MultiLinePoint {
11
- private _multiLine;
12
- private _x;
13
- private _y;
14
- private _control;
15
- private _mesh;
16
- private _controlObserver;
17
- private _meshObserver;
18
- /** @hidden */
19
- _point: Vector3;
20
- /**
21
- * Creates a new MultiLinePoint
22
- * @param multiLine defines the source MultiLine object
23
- */
24
- constructor(multiLine: MultiLine);
25
- /** Gets or sets x coordinate */
26
- get x(): string | number;
27
- set x(value: string | number);
28
- /** Gets or sets y coordinate */
29
- get y(): string | number;
30
- set y(value: string | number);
31
- /** Gets or sets the control associated with this point */
32
- get control(): Nullable<Control>;
33
- set control(value: Nullable<Control>);
34
- /** Gets or sets the mesh associated with this point */
35
- get mesh(): Nullable<AbstractMesh>;
36
- set mesh(value: Nullable<AbstractMesh>);
37
- /** Resets links */
38
- resetLinks(): void;
39
- /**
40
- * Gets a translation vector with Z component
41
- * @returns the translation vector
42
- */
43
- translate(): Vector3;
44
- private _translatePoint;
45
- /** Release associated resources */
46
- dispose(): void;
47
- }
1
+ import type { Nullable } from "@babylonjs/core/types.js";
2
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
3
+ import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
4
+ import type { MultiLine } from "./controls/multiLine";
5
+ import type { Control } from "./controls/control";
6
+ /**
7
+ * Class used to store a point for a MultiLine object.
8
+ * The point can be pure 2D coordinates, a mesh or a control
9
+ */
10
+ export declare class MultiLinePoint {
11
+ private _multiLine;
12
+ private _x;
13
+ private _y;
14
+ private _control;
15
+ private _mesh;
16
+ private _controlObserver;
17
+ private _meshObserver;
18
+ /** @hidden */
19
+ _point: Vector3;
20
+ /**
21
+ * Creates a new MultiLinePoint
22
+ * @param multiLine defines the source MultiLine object
23
+ */
24
+ constructor(multiLine: MultiLine);
25
+ /** Gets or sets x coordinate */
26
+ get x(): string | number;
27
+ set x(value: string | number);
28
+ /** Gets or sets y coordinate */
29
+ get y(): string | number;
30
+ set y(value: string | number);
31
+ /** Gets or sets the control associated with this point */
32
+ get control(): Nullable<Control>;
33
+ set control(value: Nullable<Control>);
34
+ /** Gets or sets the mesh associated with this point */
35
+ get mesh(): Nullable<AbstractMesh>;
36
+ set mesh(value: Nullable<AbstractMesh>);
37
+ /** Resets links */
38
+ resetLinks(): void;
39
+ /**
40
+ * Gets a translation vector with Z component
41
+ * @returns the translation vector
42
+ */
43
+ translate(): Vector3;
44
+ private _translatePoint;
45
+ /** Release associated resources */
46
+ dispose(): void;
47
+ }