@babylonjs/gui 5.0.0-rc.1 → 5.0.0-rc.10

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 -81
  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,210 +1,210 @@
1
- import { __extends } from "tslib";
2
- import { CreateBox } from "@babylonjs/core/Meshes/Builders/boxBuilder.js";
3
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
4
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
5
- import { HandleMaterial } from "../materials/handle/handleMaterial.js";
6
- import { BaseSixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior.js";
7
- /**
8
- * State of the handle regarding user interaction
9
- */
10
- export var HandleState;
11
- (function (HandleState) {
12
- /**
13
- * Handle is idle
14
- */
15
- HandleState[HandleState["IDLE"] = 0] = "IDLE";
16
- /**
17
- * Handle is hovered
18
- */
19
- HandleState[HandleState["HOVER"] = 1] = "HOVER";
20
- /**
21
- * Handle is dragged
22
- */
23
- HandleState[HandleState["DRAG"] = 2] = "DRAG";
24
- })(HandleState || (HandleState = {}));
25
- /**
26
- * Base class for SlateGizmo handles
27
- */
28
- var GizmoHandle = /** @class */ (function () {
29
- /**
30
- * Creates a handle for a SlateGizmo
31
- * @param gizmo associated SlateGizmo
32
- * @param scene scene
33
- */
34
- function GizmoHandle(gizmo, scene) {
35
- this._state = HandleState.IDLE;
36
- this._materials = [];
37
- this._scene = scene;
38
- this._gizmo = gizmo;
39
- this.node = this.createNode();
40
- this.node.reservedDataStore = {
41
- handle: this,
42
- };
43
- }
44
- Object.defineProperty(GizmoHandle.prototype, "state", {
45
- /**
46
- * The current state of the handle
47
- */
48
- get: function () {
49
- return this._state;
50
- },
51
- enumerable: false,
52
- configurable: true
53
- });
54
- Object.defineProperty(GizmoHandle.prototype, "gizmo", {
55
- /**
56
- * Returns the gizmo carrying this handle
57
- */
58
- get: function () {
59
- return this._gizmo;
60
- },
61
- enumerable: false,
62
- configurable: true
63
- });
64
- Object.defineProperty(GizmoHandle.prototype, "hover", {
65
- /**
66
- * Sets hover state
67
- */
68
- set: function (value) {
69
- if (value) {
70
- this._state |= HandleState.HOVER;
71
- }
72
- else {
73
- this._state &= ~HandleState.HOVER;
74
- }
75
- this._updateMaterial();
76
- },
77
- enumerable: false,
78
- configurable: true
79
- });
80
- Object.defineProperty(GizmoHandle.prototype, "drag", {
81
- /**
82
- * Sets drag state
83
- */
84
- set: function (value) {
85
- if (value) {
86
- this._state |= HandleState.DRAG;
87
- }
88
- else {
89
- this._state &= ~HandleState.DRAG;
90
- }
91
- this._updateMaterial();
92
- },
93
- enumerable: false,
94
- configurable: true
95
- });
96
- GizmoHandle.prototype._createMaterial = function (positionOffset) {
97
- var mat = new HandleMaterial("handle", this._scene);
98
- if (positionOffset) {
99
- mat._positionOffset = positionOffset;
100
- }
101
- return mat;
102
- };
103
- GizmoHandle.prototype._updateMaterial = function () {
104
- var state = this._state;
105
- for (var _i = 0, _a = this._materials; _i < _a.length; _i++) {
106
- var mat = _a[_i];
107
- mat.hover = false;
108
- mat.drag = false;
109
- }
110
- if (state & HandleState.DRAG) {
111
- for (var _b = 0, _c = this._materials; _b < _c.length; _b++) {
112
- var mat = _c[_b];
113
- mat.drag = true;
114
- }
115
- }
116
- else if (state & HandleState.HOVER) {
117
- for (var _d = 0, _e = this._materials; _d < _e.length; _d++) {
118
- var mat = _e[_d];
119
- mat.hover = true;
120
- }
121
- }
122
- };
123
- /**
124
- * Binds callbacks from dragging interaction
125
- * @param dragStartFn Function to call on drag start
126
- * @param dragFn Function to call on drag
127
- * @param dragEndFn Function to call on drag end
128
- */
129
- GizmoHandle.prototype.setDragBehavior = function (dragStartFn, dragFn, dragEndFn) {
130
- var dragBehavior = new BaseSixDofDragBehavior();
131
- this._dragBehavior = dragBehavior;
132
- this._dragStartObserver = dragBehavior.onDragStartObservable.add(dragStartFn);
133
- this._draggingObserver = dragBehavior.onDragObservable.add(dragFn);
134
- this._dragEndObserver = dragBehavior.onDragEndObservable.add(dragEndFn);
135
- this._dragBehavior.attach(this.node);
136
- };
137
- /**
138
- * Disposes the handle
139
- */
140
- GizmoHandle.prototype.dispose = function () {
141
- this._dragBehavior.onDragStartObservable.remove(this._dragStartObserver);
142
- this._dragBehavior.onDragObservable.remove(this._draggingObserver);
143
- this._dragBehavior.onDragEndObservable.remove(this._dragEndObserver);
144
- this._dragBehavior.detach();
145
- for (var _i = 0, _a = this._materials; _i < _a.length; _i++) {
146
- var material = _a[_i];
147
- material.dispose();
148
- }
149
- this.node.dispose();
150
- };
151
- return GizmoHandle;
152
- }());
153
- export { GizmoHandle };
154
- /**
155
- * Side handle class that rotates the slate
156
- */
157
- var SideHandle = /** @class */ (function (_super) {
158
- __extends(SideHandle, _super);
159
- function SideHandle() {
160
- return _super !== null && _super.apply(this, arguments) || this;
161
- }
162
- /**
163
- * Creates the meshes and parent node of the handle
164
- * @returns created node
165
- */
166
- SideHandle.prototype.createNode = function () {
167
- // Create a simple vertical rectangle
168
- var verticalBox = CreateBox("sideVert", { width: 1, height: 10, depth: 0.1 }, this._scene);
169
- var sideNode = new TransformNode("side", this._scene);
170
- verticalBox.parent = sideNode;
171
- var mat = this._createMaterial();
172
- verticalBox.material = mat;
173
- verticalBox.isNearGrabbable = true;
174
- this._materials.push(mat);
175
- return sideNode;
176
- };
177
- return SideHandle;
178
- }(GizmoHandle));
179
- export { SideHandle };
180
- /**
181
- * Corner handle that resizes the slate
182
- */
183
- var CornerHandle = /** @class */ (function (_super) {
184
- __extends(CornerHandle, _super);
185
- function CornerHandle() {
186
- return _super !== null && _super.apply(this, arguments) || this;
187
- }
188
- /**
189
- * Creates the meshes and parent node of the handle
190
- * @returns created node
191
- */
192
- CornerHandle.prototype.createNode = function () {
193
- // Create 2 boxes making a bottom left corner
194
- var horizontalBox = CreateBox("angleHor", { width: 3, height: 1, depth: 0.1 }, this._scene);
195
- var verticalBox = CreateBox("angleVert", { width: 1, height: 3, depth: 0.1 }, this._scene);
196
- var angleNode = new TransformNode("angle", this._scene);
197
- horizontalBox.parent = angleNode;
198
- verticalBox.parent = angleNode;
199
- horizontalBox.material = this._createMaterial(new Vector3(1, 0, 0));
200
- verticalBox.material = this._createMaterial(new Vector3(0, 1, 0));
201
- verticalBox.isNearGrabbable = true;
202
- horizontalBox.isNearGrabbable = true;
203
- this._materials.push(horizontalBox.material);
204
- this._materials.push(verticalBox.material);
205
- return angleNode;
206
- };
207
- return CornerHandle;
208
- }(GizmoHandle));
209
- export { CornerHandle };
1
+ import { __extends } from "tslib";
2
+ import { CreateBox } from "@babylonjs/core/Meshes/Builders/boxBuilder.js";
3
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
4
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
5
+ import { HandleMaterial } from "../materials/handle/handleMaterial";
6
+ import { BaseSixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior.js";
7
+ /**
8
+ * State of the handle regarding user interaction
9
+ */
10
+ export var HandleState;
11
+ (function (HandleState) {
12
+ /**
13
+ * Handle is idle
14
+ */
15
+ HandleState[HandleState["IDLE"] = 0] = "IDLE";
16
+ /**
17
+ * Handle is hovered
18
+ */
19
+ HandleState[HandleState["HOVER"] = 1] = "HOVER";
20
+ /**
21
+ * Handle is dragged
22
+ */
23
+ HandleState[HandleState["DRAG"] = 2] = "DRAG";
24
+ })(HandleState || (HandleState = {}));
25
+ /**
26
+ * Base class for SlateGizmo handles
27
+ */
28
+ var GizmoHandle = /** @class */ (function () {
29
+ /**
30
+ * Creates a handle for a SlateGizmo
31
+ * @param gizmo associated SlateGizmo
32
+ * @param scene scene
33
+ */
34
+ function GizmoHandle(gizmo, scene) {
35
+ this._state = HandleState.IDLE;
36
+ this._materials = [];
37
+ this._scene = scene;
38
+ this._gizmo = gizmo;
39
+ this.node = this.createNode();
40
+ this.node.reservedDataStore = {
41
+ handle: this,
42
+ };
43
+ }
44
+ Object.defineProperty(GizmoHandle.prototype, "state", {
45
+ /**
46
+ * The current state of the handle
47
+ */
48
+ get: function () {
49
+ return this._state;
50
+ },
51
+ enumerable: false,
52
+ configurable: true
53
+ });
54
+ Object.defineProperty(GizmoHandle.prototype, "gizmo", {
55
+ /**
56
+ * Returns the gizmo carrying this handle
57
+ */
58
+ get: function () {
59
+ return this._gizmo;
60
+ },
61
+ enumerable: false,
62
+ configurable: true
63
+ });
64
+ Object.defineProperty(GizmoHandle.prototype, "hover", {
65
+ /**
66
+ * Sets hover state
67
+ */
68
+ set: function (value) {
69
+ if (value) {
70
+ this._state |= HandleState.HOVER;
71
+ }
72
+ else {
73
+ this._state &= ~HandleState.HOVER;
74
+ }
75
+ this._updateMaterial();
76
+ },
77
+ enumerable: false,
78
+ configurable: true
79
+ });
80
+ Object.defineProperty(GizmoHandle.prototype, "drag", {
81
+ /**
82
+ * Sets drag state
83
+ */
84
+ set: function (value) {
85
+ if (value) {
86
+ this._state |= HandleState.DRAG;
87
+ }
88
+ else {
89
+ this._state &= ~HandleState.DRAG;
90
+ }
91
+ this._updateMaterial();
92
+ },
93
+ enumerable: false,
94
+ configurable: true
95
+ });
96
+ GizmoHandle.prototype._createMaterial = function (positionOffset) {
97
+ var mat = new HandleMaterial("handle", this._scene);
98
+ if (positionOffset) {
99
+ mat._positionOffset = positionOffset;
100
+ }
101
+ return mat;
102
+ };
103
+ GizmoHandle.prototype._updateMaterial = function () {
104
+ var state = this._state;
105
+ for (var _i = 0, _a = this._materials; _i < _a.length; _i++) {
106
+ var mat = _a[_i];
107
+ mat.hover = false;
108
+ mat.drag = false;
109
+ }
110
+ if (state & HandleState.DRAG) {
111
+ for (var _b = 0, _c = this._materials; _b < _c.length; _b++) {
112
+ var mat = _c[_b];
113
+ mat.drag = true;
114
+ }
115
+ }
116
+ else if (state & HandleState.HOVER) {
117
+ for (var _d = 0, _e = this._materials; _d < _e.length; _d++) {
118
+ var mat = _e[_d];
119
+ mat.hover = true;
120
+ }
121
+ }
122
+ };
123
+ /**
124
+ * Binds callbacks from dragging interaction
125
+ * @param dragStartFn Function to call on drag start
126
+ * @param dragFn Function to call on drag
127
+ * @param dragEndFn Function to call on drag end
128
+ */
129
+ GizmoHandle.prototype.setDragBehavior = function (dragStartFn, dragFn, dragEndFn) {
130
+ var dragBehavior = new BaseSixDofDragBehavior();
131
+ this._dragBehavior = dragBehavior;
132
+ this._dragStartObserver = dragBehavior.onDragStartObservable.add(dragStartFn);
133
+ this._draggingObserver = dragBehavior.onDragObservable.add(dragFn);
134
+ this._dragEndObserver = dragBehavior.onDragEndObservable.add(dragEndFn);
135
+ this._dragBehavior.attach(this.node);
136
+ };
137
+ /**
138
+ * Disposes the handle
139
+ */
140
+ GizmoHandle.prototype.dispose = function () {
141
+ this._dragBehavior.onDragStartObservable.remove(this._dragStartObserver);
142
+ this._dragBehavior.onDragObservable.remove(this._draggingObserver);
143
+ this._dragBehavior.onDragEndObservable.remove(this._dragEndObserver);
144
+ this._dragBehavior.detach();
145
+ for (var _i = 0, _a = this._materials; _i < _a.length; _i++) {
146
+ var material = _a[_i];
147
+ material.dispose();
148
+ }
149
+ this.node.dispose();
150
+ };
151
+ return GizmoHandle;
152
+ }());
153
+ export { GizmoHandle };
154
+ /**
155
+ * Side handle class that rotates the slate
156
+ */
157
+ var SideHandle = /** @class */ (function (_super) {
158
+ __extends(SideHandle, _super);
159
+ function SideHandle() {
160
+ return _super !== null && _super.apply(this, arguments) || this;
161
+ }
162
+ /**
163
+ * Creates the meshes and parent node of the handle
164
+ * @returns created node
165
+ */
166
+ SideHandle.prototype.createNode = function () {
167
+ // Create a simple vertical rectangle
168
+ var verticalBox = CreateBox("sideVert", { width: 1, height: 10, depth: 0.1 }, this._scene);
169
+ var sideNode = new TransformNode("side", this._scene);
170
+ verticalBox.parent = sideNode;
171
+ var mat = this._createMaterial();
172
+ verticalBox.material = mat;
173
+ verticalBox.isNearGrabbable = true;
174
+ this._materials.push(mat);
175
+ return sideNode;
176
+ };
177
+ return SideHandle;
178
+ }(GizmoHandle));
179
+ export { SideHandle };
180
+ /**
181
+ * Corner handle that resizes the slate
182
+ */
183
+ var CornerHandle = /** @class */ (function (_super) {
184
+ __extends(CornerHandle, _super);
185
+ function CornerHandle() {
186
+ return _super !== null && _super.apply(this, arguments) || this;
187
+ }
188
+ /**
189
+ * Creates the meshes and parent node of the handle
190
+ * @returns created node
191
+ */
192
+ CornerHandle.prototype.createNode = function () {
193
+ // Create 2 boxes making a bottom left corner
194
+ var horizontalBox = CreateBox("angleHor", { width: 3, height: 1, depth: 0.1 }, this._scene);
195
+ var verticalBox = CreateBox("angleVert", { width: 1, height: 3, depth: 0.1 }, this._scene);
196
+ var angleNode = new TransformNode("angle", this._scene);
197
+ horizontalBox.parent = angleNode;
198
+ verticalBox.parent = angleNode;
199
+ horizontalBox.material = this._createMaterial(new Vector3(1, 0, 0));
200
+ verticalBox.material = this._createMaterial(new Vector3(0, 1, 0));
201
+ verticalBox.isNearGrabbable = true;
202
+ horizontalBox.isNearGrabbable = true;
203
+ this._materials.push(horizontalBox.material);
204
+ this._materials.push(verticalBox.material);
205
+ return angleNode;
206
+ };
207
+ return CornerHandle;
208
+ }(GizmoHandle));
209
+ export { CornerHandle };
210
210
  //# sourceMappingURL=gizmoHandle.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"gizmoHandle.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/3D/gizmos/gizmoHandle.ts"],"names":[],"mappings":"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","sourcesContent":["import { Scene } from \"@babylonjs/core/scene\";\r\nimport { CreateBox } from \"@babylonjs/core/Meshes/Builders/boxBuilder\";\r\nimport { TransformNode } from \"@babylonjs/core/Meshes/transformNode\";\r\nimport { Vector3 } from \"@babylonjs/core/Maths/math.vector\";\r\nimport { HandleMaterial } from \"../materials/handle/handleMaterial\";\r\nimport { SlateGizmo } from \"./slateGizmo\";\r\nimport { BaseSixDofDragBehavior } from \"@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior\";\r\nimport { Nullable } from \"@babylonjs/core/types\";\r\nimport { Observer } from \"@babylonjs/core/Misc/observable\";\r\n\r\n/**\r\n * State of the handle regarding user interaction\r\n */\r\nexport enum HandleState {\r\n /**\r\n * Handle is idle\r\n */\r\n IDLE = 0,\r\n /**\r\n * Handle is hovered\r\n */\r\n HOVER = 1,\r\n /**\r\n * Handle is dragged\r\n */\r\n DRAG = 2,\r\n}\r\n\r\n/**\r\n * Base class for SlateGizmo handles\r\n */\r\nexport abstract class GizmoHandle {\r\n protected _scene: Scene;\r\n protected _state: HandleState = HandleState.IDLE;\r\n protected _materials: HandleMaterial[] = [];\r\n\r\n private _dragStartObserver: Nullable<Observer<any>>;\r\n private _draggingObserver: Nullable<Observer<any>>;\r\n private _dragEndObserver: Nullable<Observer<any>>;\r\n /**\r\n * @hidden\r\n */\r\n public _dragBehavior: BaseSixDofDragBehavior;\r\n\r\n /**\r\n * The current state of the handle\r\n */\r\n public get state(): HandleState {\r\n return this._state;\r\n }\r\n\r\n private _gizmo: SlateGizmo;\r\n\r\n /**\r\n * Returns the gizmo carrying this handle\r\n */\r\n public get gizmo() {\r\n return this._gizmo;\r\n }\r\n\r\n /**\r\n * Sets hover state\r\n */\r\n public set hover(value: boolean) {\r\n if (value) {\r\n this._state |= HandleState.HOVER;\r\n } else {\r\n this._state &= ~HandleState.HOVER;\r\n }\r\n\r\n this._updateMaterial();\r\n }\r\n /**\r\n * Sets drag state\r\n */\r\n public set drag(value: boolean) {\r\n if (value) {\r\n this._state |= HandleState.DRAG;\r\n } else {\r\n this._state &= ~HandleState.DRAG;\r\n }\r\n\r\n this._updateMaterial();\r\n }\r\n\r\n /**\r\n * Node of this handle\r\n */\r\n public node: TransformNode;\r\n\r\n /**\r\n * Creates a handle for a SlateGizmo\r\n * @param gizmo associated SlateGizmo\r\n * @param scene scene\r\n */\r\n constructor(gizmo: SlateGizmo, scene: Scene) {\r\n this._scene = scene;\r\n this._gizmo = gizmo;\r\n\r\n this.node = this.createNode();\r\n this.node.reservedDataStore = {\r\n handle: this,\r\n };\r\n }\r\n\r\n protected _createMaterial(positionOffset?: Vector3) {\r\n const mat = new HandleMaterial(\"handle\", this._scene);\r\n if (positionOffset) {\r\n mat._positionOffset = positionOffset;\r\n }\r\n return mat;\r\n }\r\n\r\n private _updateMaterial() {\r\n const state = this._state;\r\n for (const mat of this._materials) {\r\n mat.hover = false;\r\n mat.drag = false;\r\n }\r\n\r\n if (state & HandleState.DRAG) {\r\n for (const mat of this._materials) {\r\n mat.drag = true;\r\n }\r\n } else if (state & HandleState.HOVER) {\r\n for (const mat of this._materials) {\r\n mat.hover = true;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Binds callbacks from dragging interaction\r\n * @param dragStartFn Function to call on drag start\r\n * @param dragFn Function to call on drag\r\n * @param dragEndFn Function to call on drag end\r\n */\r\n public setDragBehavior(dragStartFn: (event: { position: Vector3 }) => void, dragFn: (event: { position: Vector3 }) => void, dragEndFn: () => void) {\r\n const dragBehavior = new BaseSixDofDragBehavior();\r\n\r\n this._dragBehavior = dragBehavior;\r\n\r\n this._dragStartObserver = dragBehavior.onDragStartObservable.add(dragStartFn);\r\n this._draggingObserver = dragBehavior.onDragObservable.add(dragFn);\r\n this._dragEndObserver = dragBehavior.onDragEndObservable.add(dragEndFn);\r\n\r\n this._dragBehavior.attach(this.node);\r\n }\r\n\r\n /**\r\n * Creates the meshes and parent node of the handle\r\n * Should be overriden by child classes\r\n * @returns created node\r\n */\r\n public abstract createNode(): TransformNode;\r\n\r\n /**\r\n * Disposes the handle\r\n */\r\n public dispose() {\r\n this._dragBehavior.onDragStartObservable.remove(this._dragStartObserver);\r\n this._dragBehavior.onDragObservable.remove(this._draggingObserver);\r\n this._dragBehavior.onDragEndObservable.remove(this._dragEndObserver);\r\n\r\n this._dragBehavior.detach();\r\n\r\n for (const material of this._materials) {\r\n material.dispose();\r\n }\r\n this.node.dispose();\r\n }\r\n}\r\n\r\n/**\r\n * Side handle class that rotates the slate\r\n */\r\nexport class SideHandle extends GizmoHandle {\r\n /**\r\n * Creates the meshes and parent node of the handle\r\n * @returns created node\r\n */\r\n public createNode() {\r\n // Create a simple vertical rectangle\r\n const verticalBox = CreateBox(\"sideVert\", { width: 1, height: 10, depth: 0.1 }, this._scene);\r\n const sideNode = new TransformNode(\"side\", this._scene);\r\n verticalBox.parent = sideNode;\r\n\r\n const mat = this._createMaterial();\r\n verticalBox.material = mat;\r\n verticalBox.isNearGrabbable = true;\r\n this._materials.push(mat);\r\n\r\n return sideNode;\r\n }\r\n}\r\n\r\n/**\r\n * Corner handle that resizes the slate\r\n */\r\nexport class CornerHandle extends GizmoHandle {\r\n /**\r\n * Creates the meshes and parent node of the handle\r\n * @returns created node\r\n */\r\n public createNode() {\r\n // Create 2 boxes making a bottom left corner\r\n const horizontalBox = CreateBox(\"angleHor\", { width: 3, height: 1, depth: 0.1 }, this._scene);\r\n const verticalBox = CreateBox(\"angleVert\", { width: 1, height: 3, depth: 0.1 }, this._scene);\r\n\r\n const angleNode = new TransformNode(\"angle\", this._scene);\r\n horizontalBox.parent = angleNode;\r\n verticalBox.parent = angleNode;\r\n\r\n horizontalBox.material = this._createMaterial(new Vector3(1, 0, 0));\r\n verticalBox.material = this._createMaterial(new Vector3(0, 1, 0));\r\n verticalBox.isNearGrabbable = true;\r\n horizontalBox.isNearGrabbable = true;\r\n\r\n this._materials.push(horizontalBox.material as HandleMaterial);\r\n this._materials.push(verticalBox.material as HandleMaterial);\r\n return angleNode;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"gizmoHandle.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/gizmos/gizmoHandle.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Scene } from \"core/scene\";\r\nimport { CreateBox } from \"core/Meshes/Builders/boxBuilder\";\r\nimport { TransformNode } from \"core/Meshes/transformNode\";\r\nimport { Vector3 } from \"core/Maths/math.vector\";\r\nimport { HandleMaterial } from \"../materials/handle/handleMaterial\";\r\nimport type { SlateGizmo } from \"./slateGizmo\";\r\nimport { BaseSixDofDragBehavior } from \"core/Behaviors/Meshes/baseSixDofDragBehavior\";\r\nimport type { Nullable } from \"core/types\";\r\nimport type { Observer } from \"core/Misc/observable\";\r\n\r\n/**\r\n * State of the handle regarding user interaction\r\n */\r\nexport enum HandleState {\r\n /**\r\n * Handle is idle\r\n */\r\n IDLE = 0,\r\n /**\r\n * Handle is hovered\r\n */\r\n HOVER = 1,\r\n /**\r\n * Handle is dragged\r\n */\r\n DRAG = 2,\r\n}\r\n\r\n/**\r\n * Base class for SlateGizmo handles\r\n */\r\nexport abstract class GizmoHandle {\r\n protected _scene: Scene;\r\n protected _state: HandleState = HandleState.IDLE;\r\n protected _materials: HandleMaterial[] = [];\r\n\r\n private _dragStartObserver: Nullable<Observer<any>>;\r\n private _draggingObserver: Nullable<Observer<any>>;\r\n private _dragEndObserver: Nullable<Observer<any>>;\r\n /**\r\n * @hidden\r\n */\r\n public _dragBehavior: BaseSixDofDragBehavior;\r\n\r\n /**\r\n * The current state of the handle\r\n */\r\n public get state(): HandleState {\r\n return this._state;\r\n }\r\n\r\n private _gizmo: SlateGizmo;\r\n\r\n /**\r\n * Returns the gizmo carrying this handle\r\n */\r\n public get gizmo() {\r\n return this._gizmo;\r\n }\r\n\r\n /**\r\n * Sets hover state\r\n */\r\n public set hover(value: boolean) {\r\n if (value) {\r\n this._state |= HandleState.HOVER;\r\n } else {\r\n this._state &= ~HandleState.HOVER;\r\n }\r\n\r\n this._updateMaterial();\r\n }\r\n /**\r\n * Sets drag state\r\n */\r\n public set drag(value: boolean) {\r\n if (value) {\r\n this._state |= HandleState.DRAG;\r\n } else {\r\n this._state &= ~HandleState.DRAG;\r\n }\r\n\r\n this._updateMaterial();\r\n }\r\n\r\n /**\r\n * Node of this handle\r\n */\r\n public node: TransformNode;\r\n\r\n /**\r\n * Creates a handle for a SlateGizmo\r\n * @param gizmo associated SlateGizmo\r\n * @param scene scene\r\n */\r\n constructor(gizmo: SlateGizmo, scene: Scene) {\r\n this._scene = scene;\r\n this._gizmo = gizmo;\r\n\r\n this.node = this.createNode();\r\n this.node.reservedDataStore = {\r\n handle: this,\r\n };\r\n }\r\n\r\n protected _createMaterial(positionOffset?: Vector3) {\r\n const mat = new HandleMaterial(\"handle\", this._scene);\r\n if (positionOffset) {\r\n mat._positionOffset = positionOffset;\r\n }\r\n return mat;\r\n }\r\n\r\n private _updateMaterial() {\r\n const state = this._state;\r\n for (const mat of this._materials) {\r\n mat.hover = false;\r\n mat.drag = false;\r\n }\r\n\r\n if (state & HandleState.DRAG) {\r\n for (const mat of this._materials) {\r\n mat.drag = true;\r\n }\r\n } else if (state & HandleState.HOVER) {\r\n for (const mat of this._materials) {\r\n mat.hover = true;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Binds callbacks from dragging interaction\r\n * @param dragStartFn Function to call on drag start\r\n * @param dragFn Function to call on drag\r\n * @param dragEndFn Function to call on drag end\r\n */\r\n public setDragBehavior(dragStartFn: (event: { position: Vector3 }) => void, dragFn: (event: { position: Vector3 }) => void, dragEndFn: () => void) {\r\n const dragBehavior = new BaseSixDofDragBehavior();\r\n\r\n this._dragBehavior = dragBehavior;\r\n\r\n this._dragStartObserver = dragBehavior.onDragStartObservable.add(dragStartFn);\r\n this._draggingObserver = dragBehavior.onDragObservable.add(dragFn);\r\n this._dragEndObserver = dragBehavior.onDragEndObservable.add(dragEndFn);\r\n\r\n this._dragBehavior.attach(this.node);\r\n }\r\n\r\n /**\r\n * Creates the meshes and parent node of the handle\r\n * Should be overridden by child classes\r\n * @returns created node\r\n */\r\n public abstract createNode(): TransformNode;\r\n\r\n /**\r\n * Disposes the handle\r\n */\r\n public dispose() {\r\n this._dragBehavior.onDragStartObservable.remove(this._dragStartObserver);\r\n this._dragBehavior.onDragObservable.remove(this._draggingObserver);\r\n this._dragBehavior.onDragEndObservable.remove(this._dragEndObserver);\r\n\r\n this._dragBehavior.detach();\r\n\r\n for (const material of this._materials) {\r\n material.dispose();\r\n }\r\n this.node.dispose();\r\n }\r\n}\r\n\r\n/**\r\n * Side handle class that rotates the slate\r\n */\r\nexport class SideHandle extends GizmoHandle {\r\n /**\r\n * Creates the meshes and parent node of the handle\r\n * @returns created node\r\n */\r\n public createNode() {\r\n // Create a simple vertical rectangle\r\n const verticalBox = CreateBox(\"sideVert\", { width: 1, height: 10, depth: 0.1 }, this._scene);\r\n const sideNode = new TransformNode(\"side\", this._scene);\r\n verticalBox.parent = sideNode;\r\n\r\n const mat = this._createMaterial();\r\n verticalBox.material = mat;\r\n verticalBox.isNearGrabbable = true;\r\n this._materials.push(mat);\r\n\r\n return sideNode;\r\n }\r\n}\r\n\r\n/**\r\n * Corner handle that resizes the slate\r\n */\r\nexport class CornerHandle extends GizmoHandle {\r\n /**\r\n * Creates the meshes and parent node of the handle\r\n * @returns created node\r\n */\r\n public createNode() {\r\n // Create 2 boxes making a bottom left corner\r\n const horizontalBox = CreateBox(\"angleHor\", { width: 3, height: 1, depth: 0.1 }, this._scene);\r\n const verticalBox = CreateBox(\"angleVert\", { width: 1, height: 3, depth: 0.1 }, this._scene);\r\n\r\n const angleNode = new TransformNode(\"angle\", this._scene);\r\n horizontalBox.parent = angleNode;\r\n verticalBox.parent = angleNode;\r\n\r\n horizontalBox.material = this._createMaterial(new Vector3(1, 0, 0));\r\n verticalBox.material = this._createMaterial(new Vector3(0, 1, 0));\r\n verticalBox.isNearGrabbable = true;\r\n horizontalBox.isNearGrabbable = true;\r\n\r\n this._materials.push(horizontalBox.material as HandleMaterial);\r\n this._materials.push(verticalBox.material as HandleMaterial);\r\n return angleNode;\r\n }\r\n}\r\n"]}
@@ -1,2 +1,2 @@
1
- export * from "./slateGizmo";
2
- export * from "./gizmoHandle";
1
+ export * from "./slateGizmo";
2
+ export * from "./gizmoHandle";
@@ -1,3 +1,3 @@
1
- export * from "./slateGizmo.js";
2
- export * from "./gizmoHandle.js";
1
+ export * from "./slateGizmo";
2
+ export * from "./gizmoHandle";
3
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../sourceES6/gui/src/3D/gizmos/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC","sourcesContent":["export * from \"./slateGizmo\";\r\nexport * from \"./gizmoHandle\";\r\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../lts/gui/generated/3D/gizmos/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC","sourcesContent":["export * from \"./slateGizmo\";\r\nexport * from \"./gizmoHandle\";\r\n"]}
@@ -1,57 +1,57 @@
1
- import { Gizmo } from "@babylonjs/core/Gizmos/gizmo";
2
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh";
3
- import { UtilityLayerRenderer } from "@babylonjs/core/Rendering/utilityLayerRenderer";
4
- import { Nullable } from "@babylonjs/core/types";
5
- import { HolographicSlate } from "../controls/holographicSlate";
6
- /**
7
- * Gizmo to resize 2D slates
8
- */
9
- export declare class SlateGizmo extends Gizmo {
10
- private _boundingDimensions;
11
- private _pickedPointObserver;
12
- private _renderObserver;
13
- private _tmpQuaternion;
14
- private _tmpVector;
15
- private _corners;
16
- private _sides;
17
- private _handlesParent;
18
- private _handleHovered;
19
- private _handleDragged;
20
- private _boundingBoxGizmo;
21
- /**
22
- * Value we use to offset handles from mesh
23
- */
24
- private _margin;
25
- private _handleSize;
26
- private _attachedSlate;
27
- private _existingSlateScale;
28
- /**
29
- * If set, the handles will increase in size based on the distance away from the camera to have a consistent screen size (Default: true)
30
- */
31
- fixedScreenSize: boolean;
32
- /**
33
- * The distance away from the object which the draggable meshes should appear world sized when fixedScreenSize is set to true (default: 10)
34
- */
35
- fixedScreenSizeDistanceFactor: number;
36
- /**
37
- * The slate attached to this gizmo
38
- */
39
- set attachedSlate(control: Nullable<HolographicSlate>);
40
- get attachedSlate(): Nullable<HolographicSlate>;
41
- constructor(utilityLayer?: UtilityLayerRenderer);
42
- private _createNode;
43
- private _keepAspectRatio;
44
- private _clampDimensions;
45
- private _moveHandle;
46
- private _assignDragBehaviorCorners;
47
- private _assignDragBehaviorSides;
48
- protected _attachedNodeChanged(value: Nullable<AbstractMesh>): void;
49
- /**
50
- * Updates the bounding box information for the gizmo
51
- */
52
- updateBoundingBox(): void;
53
- private _updateHandlesPosition;
54
- private _updateHandlesScaling;
55
- protected _update(): void;
56
- dispose(): void;
57
- }
1
+ import { Gizmo } from "@babylonjs/core/Gizmos/gizmo.js";
2
+ import type { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
3
+ import type { UtilityLayerRenderer } from "@babylonjs/core/Rendering/utilityLayerRenderer.js";
4
+ import type { Nullable } from "@babylonjs/core/types.js";
5
+ import type { HolographicSlate } from "../controls/holographicSlate";
6
+ /**
7
+ * Gizmo to resize 2D slates
8
+ */
9
+ export declare class SlateGizmo extends Gizmo {
10
+ private _boundingDimensions;
11
+ private _pickedPointObserver;
12
+ private _renderObserver;
13
+ private _tmpQuaternion;
14
+ private _tmpVector;
15
+ private _corners;
16
+ private _sides;
17
+ private _handlesParent;
18
+ private _handleHovered;
19
+ private _handleDragged;
20
+ private _boundingBoxGizmo;
21
+ /**
22
+ * Value we use to offset handles from mesh
23
+ */
24
+ private _margin;
25
+ private _handleSize;
26
+ private _attachedSlate;
27
+ private _existingSlateScale;
28
+ /**
29
+ * If set, the handles will increase in size based on the distance away from the camera to have a consistent screen size (Default: true)
30
+ */
31
+ fixedScreenSize: boolean;
32
+ /**
33
+ * The distance away from the object which the draggable meshes should appear world sized when fixedScreenSize is set to true (default: 10)
34
+ */
35
+ fixedScreenSizeDistanceFactor: number;
36
+ /**
37
+ * The slate attached to this gizmo
38
+ */
39
+ set attachedSlate(control: Nullable<HolographicSlate>);
40
+ get attachedSlate(): Nullable<HolographicSlate>;
41
+ constructor(utilityLayer?: UtilityLayerRenderer);
42
+ private _createNode;
43
+ private _keepAspectRatio;
44
+ private _clampDimensions;
45
+ private _moveHandle;
46
+ private _assignDragBehaviorCorners;
47
+ private _assignDragBehaviorSides;
48
+ protected _attachedNodeChanged(value: Nullable<AbstractMesh>): void;
49
+ /**
50
+ * Updates the bounding box information for the gizmo
51
+ */
52
+ updateBoundingBox(): void;
53
+ private _updateHandlesPosition;
54
+ private _updateHandlesScaling;
55
+ protected _update(): void;
56
+ dispose(): void;
57
+ }