@babylonjs/gui 5.0.0-rc.7 → 5.0.0-rc.9

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 (203) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/advancedDynamicTexture.d.ts +448 -448
  4. package/2D/advancedDynamicTexture.js +1318 -1318
  5. package/2D/controls/button.d.ts +135 -135
  6. package/2D/controls/button.js +276 -276
  7. package/2D/controls/checkbox.d.ts +59 -59
  8. package/2D/controls/checkbox.js +188 -188
  9. package/2D/controls/colorpicker.d.ts +103 -103
  10. package/2D/controls/colorpicker.js +1417 -1417
  11. package/2D/controls/container.d.ts +175 -175
  12. package/2D/controls/container.js +570 -570
  13. package/2D/controls/control.d.ts +866 -866
  14. package/2D/controls/control.js +2433 -2433
  15. package/2D/controls/displayGrid.d.ts +53 -53
  16. package/2D/controls/displayGrid.js +245 -245
  17. package/2D/controls/ellipse.d.ts +21 -21
  18. package/2D/controls/ellipse.js +85 -85
  19. package/2D/controls/focusableButton.d.ts +59 -59
  20. package/2D/controls/focusableButton.js +99 -99
  21. package/2D/controls/focusableControl.d.ts +34 -34
  22. package/2D/controls/focusableControl.js +1 -1
  23. package/2D/controls/grid.d.ts +139 -139
  24. package/2D/controls/grid.js +529 -529
  25. package/2D/controls/image.d.ts +204 -204
  26. package/2D/controls/image.js +887 -887
  27. package/2D/controls/index.d.ts +29 -29
  28. package/2D/controls/index.js +29 -29
  29. package/2D/controls/inputPassword.d.ts +8 -8
  30. package/2D/controls/inputPassword.js +25 -25
  31. package/2D/controls/inputText.d.ts +201 -201
  32. package/2D/controls/inputText.js +1119 -1119
  33. package/2D/controls/line.d.ts +66 -66
  34. package/2D/controls/line.js +271 -271
  35. package/2D/controls/multiLine.d.ts +75 -75
  36. package/2D/controls/multiLine.js +262 -262
  37. package/2D/controls/radioButton.d.ts +49 -49
  38. package/2D/controls/radioButton.js +205 -205
  39. package/2D/controls/rectangle.d.ts +29 -29
  40. package/2D/controls/rectangle.js +150 -150
  41. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  42. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  43. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  44. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  45. package/2D/controls/selector.d.ts +263 -263
  46. package/2D/controls/selector.js +692 -692
  47. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  48. package/2D/controls/sliders/baseSlider.js +347 -347
  49. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  50. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  51. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  52. package/2D/controls/sliders/imageScrollBar.js +263 -263
  53. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  54. package/2D/controls/sliders/scrollBar.js +143 -143
  55. package/2D/controls/sliders/slider.d.ts +35 -35
  56. package/2D/controls/sliders/slider.js +271 -271
  57. package/2D/controls/stackPanel.d.ts +64 -64
  58. package/2D/controls/stackPanel.js +246 -246
  59. package/2D/controls/statics.d.ts +6 -6
  60. package/2D/controls/statics.js +49 -49
  61. package/2D/controls/textBlock.d.ts +175 -175
  62. package/2D/controls/textBlock.js +603 -603
  63. package/2D/controls/textWrapper.d.ts +13 -13
  64. package/2D/controls/textWrapper.js +101 -101
  65. package/2D/controls/toggleButton.d.ts +117 -117
  66. package/2D/controls/toggleButton.js +268 -268
  67. package/2D/controls/virtualKeyboard.d.ts +96 -96
  68. package/2D/controls/virtualKeyboard.js +256 -256
  69. package/2D/index.d.ts +9 -9
  70. package/2D/index.js +9 -9
  71. package/2D/math2D.d.ts +117 -117
  72. package/2D/math2D.js +221 -221
  73. package/2D/measure.d.ts +77 -77
  74. package/2D/measure.js +139 -139
  75. package/2D/multiLinePoint.d.ts +47 -47
  76. package/2D/multiLinePoint.js +127 -127
  77. package/2D/style.d.ts +46 -46
  78. package/2D/style.js +97 -97
  79. package/2D/valueAndUnit.d.ts +89 -89
  80. package/2D/valueAndUnit.js +226 -226
  81. package/2D/xmlLoader.d.ts +60 -60
  82. package/2D/xmlLoader.js +348 -348
  83. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  84. package/3D/behaviors/defaultBehavior.js +121 -121
  85. package/3D/controls/abstractButton3D.d.ts +15 -15
  86. package/3D/controls/abstractButton3D.js +25 -25
  87. package/3D/controls/button3D.d.ts +30 -30
  88. package/3D/controls/button3D.js +93 -93
  89. package/3D/controls/container3D.d.ts +72 -72
  90. package/3D/controls/container3D.js +139 -139
  91. package/3D/controls/contentDisplay3D.d.ts +30 -30
  92. package/3D/controls/contentDisplay3D.js +79 -79
  93. package/3D/controls/control3D.d.ts +201 -201
  94. package/3D/controls/control3D.js +445 -445
  95. package/3D/controls/cylinderPanel.d.ts +17 -17
  96. package/3D/controls/cylinderPanel.js +66 -66
  97. package/3D/controls/handMenu.d.ts +28 -28
  98. package/3D/controls/handMenu.js +47 -47
  99. package/3D/controls/holographicBackplate.d.ts +49 -49
  100. package/3D/controls/holographicBackplate.js +120 -120
  101. package/3D/controls/holographicButton.d.ts +84 -84
  102. package/3D/controls/holographicButton.js +339 -339
  103. package/3D/controls/holographicSlate.d.ts +131 -131
  104. package/3D/controls/holographicSlate.js +431 -431
  105. package/3D/controls/index.d.ts +21 -21
  106. package/3D/controls/index.js +21 -21
  107. package/3D/controls/meshButton3D.d.ts +21 -21
  108. package/3D/controls/meshButton3D.js +62 -62
  109. package/3D/controls/nearMenu.d.ts +44 -44
  110. package/3D/controls/nearMenu.js +114 -114
  111. package/3D/controls/planePanel.d.ts +9 -9
  112. package/3D/controls/planePanel.js +36 -36
  113. package/3D/controls/scatterPanel.d.ts +18 -18
  114. package/3D/controls/scatterPanel.js +108 -108
  115. package/3D/controls/slider3D.d.ts +81 -81
  116. package/3D/controls/slider3D.js +268 -268
  117. package/3D/controls/spherePanel.d.ts +17 -17
  118. package/3D/controls/spherePanel.js +67 -67
  119. package/3D/controls/stackPanel3D.d.ts +22 -22
  120. package/3D/controls/stackPanel3D.js +107 -107
  121. package/3D/controls/touchButton3D.d.ts +80 -80
  122. package/3D/controls/touchButton3D.js +233 -233
  123. package/3D/controls/touchHolographicButton.d.ts +110 -110
  124. package/3D/controls/touchHolographicButton.js +445 -445
  125. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  126. package/3D/controls/touchHolographicMenu.js +149 -149
  127. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  128. package/3D/controls/touchMeshButton3D.js +62 -62
  129. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  130. package/3D/controls/volumeBasedPanel.js +174 -174
  131. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  132. package/3D/gizmos/gizmoHandle.js +209 -209
  133. package/3D/gizmos/index.d.ts +2 -2
  134. package/3D/gizmos/index.js +2 -2
  135. package/3D/gizmos/slateGizmo.d.ts +57 -57
  136. package/3D/gizmos/slateGizmo.js +369 -369
  137. package/3D/gui3DManager.d.ts +94 -94
  138. package/3D/gui3DManager.js +257 -257
  139. package/3D/index.d.ts +5 -5
  140. package/3D/index.js +5 -5
  141. package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
  142. package/3D/materials/fluent/fluentMaterial.js +292 -292
  143. package/3D/materials/fluent/index.d.ts +1 -1
  144. package/3D/materials/fluent/index.js +1 -1
  145. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  146. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  147. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  148. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  149. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -154
  150. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  151. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  152. package/3D/materials/fluentBackplate/index.js +1 -1
  153. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  154. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  155. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  156. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  157. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -189
  158. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  159. package/3D/materials/fluentButton/index.d.ts +1 -1
  160. package/3D/materials/fluentButton/index.js +1 -1
  161. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  162. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  163. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  164. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  165. package/3D/materials/fluentMaterial.d.ts +4 -4
  166. package/3D/materials/fluentMaterial.js +4 -4
  167. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  168. package/3D/materials/handle/handleMaterial.js +126 -126
  169. package/3D/materials/handle/index.d.ts +1 -1
  170. package/3D/materials/handle/index.js +1 -1
  171. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  172. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  173. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  174. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  175. package/3D/materials/index.d.ts +5 -5
  176. package/3D/materials/index.js +5 -5
  177. package/3D/materials/mrdl/index.d.ts +3 -3
  178. package/3D/materials/mrdl/index.js +3 -3
  179. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
  180. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  181. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
  182. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  183. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
  184. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  185. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  186. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  187. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  188. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  189. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  190. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  191. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  192. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  193. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  194. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  195. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  196. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  197. package/3D/vector3WithInfo.d.ts +16 -16
  198. package/3D/vector3WithInfo.js +23 -23
  199. package/index.d.ts +2 -2
  200. package/index.js +2 -2
  201. package/legacy/legacy.d.ts +1 -1
  202. package/legacy/legacy.js +13 -13
  203. package/package.json +2 -2
@@ -1,108 +1,108 @@
1
- import { Scene } from "@babylonjs/core/scene.js";
2
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
3
- import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
4
- import { HandleMaterial } from "../materials/handle/handleMaterial";
5
- import { SlateGizmo } from "./slateGizmo";
6
- import { BaseSixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior.js";
7
- /**
8
- * State of the handle regarding user interaction
9
- */
10
- export declare enum HandleState {
11
- /**
12
- * Handle is idle
13
- */
14
- IDLE = 0,
15
- /**
16
- * Handle is hovered
17
- */
18
- HOVER = 1,
19
- /**
20
- * Handle is dragged
21
- */
22
- DRAG = 2
23
- }
24
- /**
25
- * Base class for SlateGizmo handles
26
- */
27
- export declare abstract class GizmoHandle {
28
- protected _scene: Scene;
29
- protected _state: HandleState;
30
- protected _materials: HandleMaterial[];
31
- private _dragStartObserver;
32
- private _draggingObserver;
33
- private _dragEndObserver;
34
- /**
35
- * @hidden
36
- */
37
- _dragBehavior: BaseSixDofDragBehavior;
38
- /**
39
- * The current state of the handle
40
- */
41
- get state(): HandleState;
42
- private _gizmo;
43
- /**
44
- * Returns the gizmo carrying this handle
45
- */
46
- get gizmo(): SlateGizmo;
47
- /**
48
- * Sets hover state
49
- */
50
- set hover(value: boolean);
51
- /**
52
- * Sets drag state
53
- */
54
- set drag(value: boolean);
55
- /**
56
- * Node of this handle
57
- */
58
- node: TransformNode;
59
- /**
60
- * Creates a handle for a SlateGizmo
61
- * @param gizmo associated SlateGizmo
62
- * @param scene scene
63
- */
64
- constructor(gizmo: SlateGizmo, scene: Scene);
65
- protected _createMaterial(positionOffset?: Vector3): HandleMaterial;
66
- private _updateMaterial;
67
- /**
68
- * Binds callbacks from dragging interaction
69
- * @param dragStartFn Function to call on drag start
70
- * @param dragFn Function to call on drag
71
- * @param dragEndFn Function to call on drag end
72
- */
73
- setDragBehavior(dragStartFn: (event: {
74
- position: Vector3;
75
- }) => void, dragFn: (event: {
76
- position: Vector3;
77
- }) => void, dragEndFn: () => void): void;
78
- /**
79
- * Creates the meshes and parent node of the handle
80
- * Should be overridden by child classes
81
- * @returns created node
82
- */
83
- abstract createNode(): TransformNode;
84
- /**
85
- * Disposes the handle
86
- */
87
- dispose(): void;
88
- }
89
- /**
90
- * Side handle class that rotates the slate
91
- */
92
- export declare class SideHandle extends GizmoHandle {
93
- /**
94
- * Creates the meshes and parent node of the handle
95
- * @returns created node
96
- */
97
- createNode(): TransformNode;
98
- }
99
- /**
100
- * Corner handle that resizes the slate
101
- */
102
- export declare class CornerHandle extends GizmoHandle {
103
- /**
104
- * Creates the meshes and parent node of the handle
105
- * @returns created node
106
- */
107
- createNode(): TransformNode;
108
- }
1
+ import { Scene } from "@babylonjs/core/scene.js";
2
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
3
+ import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
4
+ import { HandleMaterial } from "../materials/handle/handleMaterial";
5
+ import { SlateGizmo } from "./slateGizmo";
6
+ import { BaseSixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/baseSixDofDragBehavior.js";
7
+ /**
8
+ * State of the handle regarding user interaction
9
+ */
10
+ export declare enum HandleState {
11
+ /**
12
+ * Handle is idle
13
+ */
14
+ IDLE = 0,
15
+ /**
16
+ * Handle is hovered
17
+ */
18
+ HOVER = 1,
19
+ /**
20
+ * Handle is dragged
21
+ */
22
+ DRAG = 2
23
+ }
24
+ /**
25
+ * Base class for SlateGizmo handles
26
+ */
27
+ export declare abstract class GizmoHandle {
28
+ protected _scene: Scene;
29
+ protected _state: HandleState;
30
+ protected _materials: HandleMaterial[];
31
+ private _dragStartObserver;
32
+ private _draggingObserver;
33
+ private _dragEndObserver;
34
+ /**
35
+ * @hidden
36
+ */
37
+ _dragBehavior: BaseSixDofDragBehavior;
38
+ /**
39
+ * The current state of the handle
40
+ */
41
+ get state(): HandleState;
42
+ private _gizmo;
43
+ /**
44
+ * Returns the gizmo carrying this handle
45
+ */
46
+ get gizmo(): SlateGizmo;
47
+ /**
48
+ * Sets hover state
49
+ */
50
+ set hover(value: boolean);
51
+ /**
52
+ * Sets drag state
53
+ */
54
+ set drag(value: boolean);
55
+ /**
56
+ * Node of this handle
57
+ */
58
+ node: TransformNode;
59
+ /**
60
+ * Creates a handle for a SlateGizmo
61
+ * @param gizmo associated SlateGizmo
62
+ * @param scene scene
63
+ */
64
+ constructor(gizmo: SlateGizmo, scene: Scene);
65
+ protected _createMaterial(positionOffset?: Vector3): HandleMaterial;
66
+ private _updateMaterial;
67
+ /**
68
+ * Binds callbacks from dragging interaction
69
+ * @param dragStartFn Function to call on drag start
70
+ * @param dragFn Function to call on drag
71
+ * @param dragEndFn Function to call on drag end
72
+ */
73
+ setDragBehavior(dragStartFn: (event: {
74
+ position: Vector3;
75
+ }) => void, dragFn: (event: {
76
+ position: Vector3;
77
+ }) => void, dragEndFn: () => void): void;
78
+ /**
79
+ * Creates the meshes and parent node of the handle
80
+ * Should be overridden by child classes
81
+ * @returns created node
82
+ */
83
+ abstract createNode(): TransformNode;
84
+ /**
85
+ * Disposes the handle
86
+ */
87
+ dispose(): void;
88
+ }
89
+ /**
90
+ * Side handle class that rotates the slate
91
+ */
92
+ export declare class SideHandle extends GizmoHandle {
93
+ /**
94
+ * Creates the meshes and parent node of the handle
95
+ * @returns created node
96
+ */
97
+ createNode(): TransformNode;
98
+ }
99
+ /**
100
+ * Corner handle that resizes the slate
101
+ */
102
+ export declare class CornerHandle extends GizmoHandle {
103
+ /**
104
+ * Creates the meshes and parent node of the handle
105
+ * @returns created node
106
+ */
107
+ createNode(): TransformNode;
108
+ }
@@ -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,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