@babylonjs/gui 5.0.0-rc.5 → 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,73 +1,73 @@
1
- import { Behavior } from "@babylonjs/core/Behaviors/behavior.js";
2
- import { FollowBehavior } from "@babylonjs/core/Behaviors/Meshes/followBehavior.js";
3
- import { SixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/sixDofDragBehavior.js";
4
- import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
5
- import { Nullable } from "@babylonjs/core/types.js";
6
- import { SurfaceMagnetismBehavior } from "@babylonjs/core/Behaviors/Meshes/surfaceMagnetismBehavior.js";
7
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
8
- /**
9
- * Default behavior for 3D UI elements.
10
- * Handles a FollowBehavior, SixDofBehavior and SurfaceMagnetismBehavior
11
- * @since 5.0.0
12
- */
13
- export declare class DefaultBehavior implements Behavior<Mesh> {
14
- private _scene;
15
- private _followBehavior;
16
- private _sixDofDragBehavior;
17
- private _surfaceMagnetismBehavior;
18
- private _onBeforeRenderObserver;
19
- private _onDragObserver;
20
- /**
21
- * Instantiates the default behavior
22
- */
23
- constructor();
24
- /**
25
- * Attached node of this behavior
26
- */
27
- attachedNode: Nullable<Mesh>;
28
- /**
29
- * The name of the behavior
30
- */
31
- get name(): string;
32
- /**
33
- * The follow behavior
34
- */
35
- get followBehavior(): FollowBehavior;
36
- /**
37
- * The six DoF drag behavior
38
- */
39
- get sixDofDragBehavior(): SixDofDragBehavior;
40
- /**
41
- * The surface magnetism behavior
42
- */
43
- get surfaceMagnetismBehavior(): SurfaceMagnetismBehavior;
44
- /**
45
- * Enables the follow behavior
46
- */
47
- followBehaviorEnabled: boolean;
48
- /**
49
- * Enables the six DoF drag behavior
50
- */
51
- sixDofDragBehaviorEnabled: boolean;
52
- /**
53
- * Enables the surface magnetism behavior
54
- */
55
- surfaceMagnetismBehaviorEnabled: boolean;
56
- /**
57
- * Initializes the behavior
58
- */
59
- init(): void;
60
- /**
61
- * Attaches the default behavior
62
- * @param ownerMesh The top level mesh
63
- * @param draggablesMeshes Descendant meshes that can be used for dragging the owner mesh
64
- * @param sceneUnderstandingMeshes Meshes from the scene understanding that will be used for surface magnetism
65
- */
66
- attach(ownerMesh: Mesh, draggablesMeshes?: Mesh[], sceneUnderstandingMeshes?: AbstractMesh[]): void;
67
- /**
68
- * Detaches the behavior from the mesh
69
- */
70
- detach(): void;
71
- private _addObservables;
72
- private _removeObservables;
73
- }
1
+ import { Behavior } from "@babylonjs/core/Behaviors/behavior.js";
2
+ import { FollowBehavior } from "@babylonjs/core/Behaviors/Meshes/followBehavior.js";
3
+ import { SixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/sixDofDragBehavior.js";
4
+ import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
5
+ import { Nullable } from "@babylonjs/core/types.js";
6
+ import { SurfaceMagnetismBehavior } from "@babylonjs/core/Behaviors/Meshes/surfaceMagnetismBehavior.js";
7
+ import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
8
+ /**
9
+ * Default behavior for 3D UI elements.
10
+ * Handles a FollowBehavior, SixDofBehavior and SurfaceMagnetismBehavior
11
+ * @since 5.0.0
12
+ */
13
+ export declare class DefaultBehavior implements Behavior<Mesh> {
14
+ private _scene;
15
+ private _followBehavior;
16
+ private _sixDofDragBehavior;
17
+ private _surfaceMagnetismBehavior;
18
+ private _onBeforeRenderObserver;
19
+ private _onDragObserver;
20
+ /**
21
+ * Instantiates the default behavior
22
+ */
23
+ constructor();
24
+ /**
25
+ * Attached node of this behavior
26
+ */
27
+ attachedNode: Nullable<Mesh>;
28
+ /**
29
+ * The name of the behavior
30
+ */
31
+ get name(): string;
32
+ /**
33
+ * The follow behavior
34
+ */
35
+ get followBehavior(): FollowBehavior;
36
+ /**
37
+ * The six DoF drag behavior
38
+ */
39
+ get sixDofDragBehavior(): SixDofDragBehavior;
40
+ /**
41
+ * The surface magnetism behavior
42
+ */
43
+ get surfaceMagnetismBehavior(): SurfaceMagnetismBehavior;
44
+ /**
45
+ * Enables the follow behavior
46
+ */
47
+ followBehaviorEnabled: boolean;
48
+ /**
49
+ * Enables the six DoF drag behavior
50
+ */
51
+ sixDofDragBehaviorEnabled: boolean;
52
+ /**
53
+ * Enables the surface magnetism behavior
54
+ */
55
+ surfaceMagnetismBehaviorEnabled: boolean;
56
+ /**
57
+ * Initializes the behavior
58
+ */
59
+ init(): void;
60
+ /**
61
+ * Attaches the default behavior
62
+ * @param ownerMesh The top level mesh
63
+ * @param draggablesMeshes Descendant meshes that can be used for dragging the owner mesh
64
+ * @param sceneUnderstandingMeshes Meshes from the scene understanding that will be used for surface magnetism
65
+ */
66
+ attach(ownerMesh: Mesh, draggablesMeshes?: Mesh[], sceneUnderstandingMeshes?: AbstractMesh[]): void;
67
+ /**
68
+ * Detaches the behavior from the mesh
69
+ */
70
+ detach(): void;
71
+ private _addObservables;
72
+ private _removeObservables;
73
+ }
@@ -1,122 +1,122 @@
1
- import { FollowBehavior } from "@babylonjs/core/Behaviors/Meshes/followBehavior.js";
2
- import { SixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/sixDofDragBehavior.js";
3
- import { SurfaceMagnetismBehavior } from "@babylonjs/core/Behaviors/Meshes/surfaceMagnetismBehavior.js";
4
- /**
5
- * Default behavior for 3D UI elements.
6
- * Handles a FollowBehavior, SixDofBehavior and SurfaceMagnetismBehavior
7
- * @since 5.0.0
8
- */
9
- var DefaultBehavior = /** @class */ (function () {
10
- /**
11
- * Instantiates the default behavior
12
- */
13
- function DefaultBehavior() {
14
- /**
15
- * Enables the follow behavior
16
- */
17
- this.followBehaviorEnabled = false;
18
- /**
19
- * Enables the six DoF drag behavior
20
- */
21
- this.sixDofDragBehaviorEnabled = true;
22
- /**
23
- * Enables the surface magnetism behavior
24
- */
25
- this.surfaceMagnetismBehaviorEnabled = true;
26
- this._followBehavior = new FollowBehavior();
27
- this._sixDofDragBehavior = new SixDofDragBehavior();
28
- this._surfaceMagnetismBehavior = new SurfaceMagnetismBehavior();
29
- }
30
- Object.defineProperty(DefaultBehavior.prototype, "name", {
31
- /**
32
- * The name of the behavior
33
- */
34
- get: function () {
35
- return "Default";
36
- },
37
- enumerable: false,
38
- configurable: true
39
- });
40
- Object.defineProperty(DefaultBehavior.prototype, "followBehavior", {
41
- /**
42
- * The follow behavior
43
- */
44
- get: function () {
45
- return this._followBehavior;
46
- },
47
- enumerable: false,
48
- configurable: true
49
- });
50
- Object.defineProperty(DefaultBehavior.prototype, "sixDofDragBehavior", {
51
- /**
52
- * The six DoF drag behavior
53
- */
54
- get: function () {
55
- return this._sixDofDragBehavior;
56
- },
57
- enumerable: false,
58
- configurable: true
59
- });
60
- Object.defineProperty(DefaultBehavior.prototype, "surfaceMagnetismBehavior", {
61
- /**
62
- * The surface magnetism behavior
63
- */
64
- get: function () {
65
- return this._surfaceMagnetismBehavior;
66
- },
67
- enumerable: false,
68
- configurable: true
69
- });
70
- /**
71
- * Initializes the behavior
72
- */
73
- DefaultBehavior.prototype.init = function () { };
74
- /**
75
- * Attaches the default behavior
76
- * @param ownerMesh The top level mesh
77
- * @param draggablesMeshes Descendant meshes that can be used for dragging the owner mesh
78
- * @param sceneUnderstandingMeshes Meshes from the scene understanding that will be used for surface magnetism
79
- */
80
- DefaultBehavior.prototype.attach = function (ownerMesh, draggablesMeshes, sceneUnderstandingMeshes) {
81
- this._scene = ownerMesh.getScene();
82
- this.attachedNode = ownerMesh;
83
- this._addObservables();
84
- // Since our observables are bound before the child behaviors', ours are called first
85
- this._followBehavior.attach(ownerMesh);
86
- this._sixDofDragBehavior.attach(ownerMesh);
87
- this._sixDofDragBehavior.draggableMeshes = draggablesMeshes || null;
88
- this._sixDofDragBehavior.faceCameraOnDragStart = true;
89
- this._surfaceMagnetismBehavior.attach(ownerMesh, this._scene);
90
- if (sceneUnderstandingMeshes) {
91
- this._surfaceMagnetismBehavior.meshes = sceneUnderstandingMeshes;
92
- }
93
- // We disable this behavior because we will handle pose changing event manually with sixDofDragBehavior
94
- this._surfaceMagnetismBehavior.enabled = false;
95
- };
96
- /**
97
- * Detaches the behavior from the mesh
98
- */
99
- DefaultBehavior.prototype.detach = function () {
100
- this.attachedNode = null;
101
- this._removeObservables();
102
- this._followBehavior.detach();
103
- this._sixDofDragBehavior.detach();
104
- this._surfaceMagnetismBehavior.detach();
105
- };
106
- DefaultBehavior.prototype._addObservables = function () {
107
- var _this = this;
108
- this._onBeforeRenderObserver = this._scene.onBeforeRenderObservable.add(function () {
109
- _this._followBehavior._enabled = !_this._sixDofDragBehavior.isMoving && _this.followBehaviorEnabled;
110
- });
111
- this._onDragObserver = this._sixDofDragBehavior.onDragObservable.add(function (event) {
112
- _this._sixDofDragBehavior.disableMovement = _this._surfaceMagnetismBehavior.findAndUpdateTarget(event.pickInfo);
113
- });
114
- };
115
- DefaultBehavior.prototype._removeObservables = function () {
116
- this._scene.onBeforeRenderObservable.remove(this._onBeforeRenderObserver);
117
- this._sixDofDragBehavior.onDragObservable.remove(this._onDragObserver);
118
- };
119
- return DefaultBehavior;
120
- }());
121
- export { DefaultBehavior };
1
+ import { FollowBehavior } from "@babylonjs/core/Behaviors/Meshes/followBehavior.js";
2
+ import { SixDofDragBehavior } from "@babylonjs/core/Behaviors/Meshes/sixDofDragBehavior.js";
3
+ import { SurfaceMagnetismBehavior } from "@babylonjs/core/Behaviors/Meshes/surfaceMagnetismBehavior.js";
4
+ /**
5
+ * Default behavior for 3D UI elements.
6
+ * Handles a FollowBehavior, SixDofBehavior and SurfaceMagnetismBehavior
7
+ * @since 5.0.0
8
+ */
9
+ var DefaultBehavior = /** @class */ (function () {
10
+ /**
11
+ * Instantiates the default behavior
12
+ */
13
+ function DefaultBehavior() {
14
+ /**
15
+ * Enables the follow behavior
16
+ */
17
+ this.followBehaviorEnabled = false;
18
+ /**
19
+ * Enables the six DoF drag behavior
20
+ */
21
+ this.sixDofDragBehaviorEnabled = true;
22
+ /**
23
+ * Enables the surface magnetism behavior
24
+ */
25
+ this.surfaceMagnetismBehaviorEnabled = true;
26
+ this._followBehavior = new FollowBehavior();
27
+ this._sixDofDragBehavior = new SixDofDragBehavior();
28
+ this._surfaceMagnetismBehavior = new SurfaceMagnetismBehavior();
29
+ }
30
+ Object.defineProperty(DefaultBehavior.prototype, "name", {
31
+ /**
32
+ * The name of the behavior
33
+ */
34
+ get: function () {
35
+ return "Default";
36
+ },
37
+ enumerable: false,
38
+ configurable: true
39
+ });
40
+ Object.defineProperty(DefaultBehavior.prototype, "followBehavior", {
41
+ /**
42
+ * The follow behavior
43
+ */
44
+ get: function () {
45
+ return this._followBehavior;
46
+ },
47
+ enumerable: false,
48
+ configurable: true
49
+ });
50
+ Object.defineProperty(DefaultBehavior.prototype, "sixDofDragBehavior", {
51
+ /**
52
+ * The six DoF drag behavior
53
+ */
54
+ get: function () {
55
+ return this._sixDofDragBehavior;
56
+ },
57
+ enumerable: false,
58
+ configurable: true
59
+ });
60
+ Object.defineProperty(DefaultBehavior.prototype, "surfaceMagnetismBehavior", {
61
+ /**
62
+ * The surface magnetism behavior
63
+ */
64
+ get: function () {
65
+ return this._surfaceMagnetismBehavior;
66
+ },
67
+ enumerable: false,
68
+ configurable: true
69
+ });
70
+ /**
71
+ * Initializes the behavior
72
+ */
73
+ DefaultBehavior.prototype.init = function () { };
74
+ /**
75
+ * Attaches the default behavior
76
+ * @param ownerMesh The top level mesh
77
+ * @param draggablesMeshes Descendant meshes that can be used for dragging the owner mesh
78
+ * @param sceneUnderstandingMeshes Meshes from the scene understanding that will be used for surface magnetism
79
+ */
80
+ DefaultBehavior.prototype.attach = function (ownerMesh, draggablesMeshes, sceneUnderstandingMeshes) {
81
+ this._scene = ownerMesh.getScene();
82
+ this.attachedNode = ownerMesh;
83
+ this._addObservables();
84
+ // Since our observables are bound before the child behaviors', ours are called first
85
+ this._followBehavior.attach(ownerMesh);
86
+ this._sixDofDragBehavior.attach(ownerMesh);
87
+ this._sixDofDragBehavior.draggableMeshes = draggablesMeshes || null;
88
+ this._sixDofDragBehavior.faceCameraOnDragStart = true;
89
+ this._surfaceMagnetismBehavior.attach(ownerMesh, this._scene);
90
+ if (sceneUnderstandingMeshes) {
91
+ this._surfaceMagnetismBehavior.meshes = sceneUnderstandingMeshes;
92
+ }
93
+ // We disable this behavior because we will handle pose changing event manually with sixDofDragBehavior
94
+ this._surfaceMagnetismBehavior.enabled = false;
95
+ };
96
+ /**
97
+ * Detaches the behavior from the mesh
98
+ */
99
+ DefaultBehavior.prototype.detach = function () {
100
+ this.attachedNode = null;
101
+ this._removeObservables();
102
+ this._followBehavior.detach();
103
+ this._sixDofDragBehavior.detach();
104
+ this._surfaceMagnetismBehavior.detach();
105
+ };
106
+ DefaultBehavior.prototype._addObservables = function () {
107
+ var _this = this;
108
+ this._onBeforeRenderObserver = this._scene.onBeforeRenderObservable.add(function () {
109
+ _this._followBehavior._enabled = !_this._sixDofDragBehavior.isMoving && _this.followBehaviorEnabled;
110
+ });
111
+ this._onDragObserver = this._sixDofDragBehavior.onDragObservable.add(function (event) {
112
+ _this._sixDofDragBehavior.disableMovement = _this._surfaceMagnetismBehavior.findAndUpdateTarget(event.pickInfo);
113
+ });
114
+ };
115
+ DefaultBehavior.prototype._removeObservables = function () {
116
+ this._scene.onBeforeRenderObservable.remove(this._onBeforeRenderObserver);
117
+ this._sixDofDragBehavior.onDragObservable.remove(this._onDragObserver);
118
+ };
119
+ return DefaultBehavior;
120
+ }());
121
+ export { DefaultBehavior };
122
122
  //# sourceMappingURL=defaultBehavior.js.map
@@ -1,15 +1,15 @@
1
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
- import { Scene } from "@babylonjs/core/scene.js";
3
- import { ContentDisplay3D } from "./contentDisplay3D";
4
- /**
5
- * Class used as a root to all buttons
6
- */
7
- export declare class AbstractButton3D extends ContentDisplay3D {
8
- /**
9
- * Creates a new button
10
- * @param name defines the control name
11
- */
12
- constructor(name?: string);
13
- protected _getTypeName(): string;
14
- protected _createNode(scene: Scene): TransformNode;
15
- }
1
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
+ import { Scene } from "@babylonjs/core/scene.js";
3
+ import { ContentDisplay3D } from "./contentDisplay3D";
4
+ /**
5
+ * Class used as a root to all buttons
6
+ */
7
+ export declare class AbstractButton3D extends ContentDisplay3D {
8
+ /**
9
+ * Creates a new button
10
+ * @param name defines the control name
11
+ */
12
+ constructor(name?: string);
13
+ protected _getTypeName(): string;
14
+ protected _createNode(scene: Scene): TransformNode;
15
+ }
@@ -1,26 +1,26 @@
1
- import { __extends } from "tslib";
2
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
3
- import { ContentDisplay3D } from "./contentDisplay3D.js";
4
- /**
5
- * Class used as a root to all buttons
6
- */
7
- var AbstractButton3D = /** @class */ (function (_super) {
8
- __extends(AbstractButton3D, _super);
9
- /**
10
- * Creates a new button
11
- * @param name defines the control name
12
- */
13
- function AbstractButton3D(name) {
14
- return _super.call(this, name) || this;
15
- }
16
- AbstractButton3D.prototype._getTypeName = function () {
17
- return "AbstractButton3D";
18
- };
19
- // Mesh association
20
- AbstractButton3D.prototype._createNode = function (scene) {
21
- return new TransformNode("button" + this.name, scene);
22
- };
23
- return AbstractButton3D;
24
- }(ContentDisplay3D));
25
- export { AbstractButton3D };
1
+ import { __extends } from "tslib";
2
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
3
+ import { ContentDisplay3D } from "./contentDisplay3D";
4
+ /**
5
+ * Class used as a root to all buttons
6
+ */
7
+ var AbstractButton3D = /** @class */ (function (_super) {
8
+ __extends(AbstractButton3D, _super);
9
+ /**
10
+ * Creates a new button
11
+ * @param name defines the control name
12
+ */
13
+ function AbstractButton3D(name) {
14
+ return _super.call(this, name) || this;
15
+ }
16
+ AbstractButton3D.prototype._getTypeName = function () {
17
+ return "AbstractButton3D";
18
+ };
19
+ // Mesh association
20
+ AbstractButton3D.prototype._createNode = function (scene) {
21
+ return new TransformNode("button" + this.name, scene);
22
+ };
23
+ return AbstractButton3D;
24
+ }(ContentDisplay3D));
25
+ export { AbstractButton3D };
26
26
  //# sourceMappingURL=abstractButton3D.js.map
@@ -1,30 +1,30 @@
1
- import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
- import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
3
- import { Material } from "@babylonjs/core/Materials/material.js";
4
- import { Scene } from "@babylonjs/core/scene.js";
5
- import { AbstractButton3D } from "./abstractButton3D";
6
- import { AdvancedDynamicTexture } from "../../2D/advancedDynamicTexture";
7
- /**
8
- * Class used to create a button in 3D
9
- */
10
- export declare class Button3D extends AbstractButton3D {
11
- /** @hidden */
12
- protected _currentMaterial: Material;
13
- /**
14
- * Creates a new button
15
- * @param name defines the control name
16
- */
17
- constructor(name?: string);
18
- /**
19
- * Apply the facade texture (created from the content property).
20
- * @param facadeTexture defines the AdvancedDynamicTexture to use
21
- */
22
- protected _applyFacade(facadeTexture: AdvancedDynamicTexture): void;
23
- protected _getTypeName(): string;
24
- protected _createNode(scene: Scene): TransformNode;
25
- protected _affectMaterial(mesh: AbstractMesh): void;
26
- /**
27
- * Releases all associated resources
28
- */
29
- dispose(): void;
30
- }
1
+ import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
2
+ import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
3
+ import { Material } from "@babylonjs/core/Materials/material.js";
4
+ import { Scene } from "@babylonjs/core/scene.js";
5
+ import { AbstractButton3D } from "./abstractButton3D";
6
+ import { AdvancedDynamicTexture } from "../../2D/advancedDynamicTexture";
7
+ /**
8
+ * Class used to create a button in 3D
9
+ */
10
+ export declare class Button3D extends AbstractButton3D {
11
+ /** @hidden */
12
+ protected _currentMaterial: Material;
13
+ /**
14
+ * Creates a new button
15
+ * @param name defines the control name
16
+ */
17
+ constructor(name?: string);
18
+ /**
19
+ * Apply the facade texture (created from the content property).
20
+ * @param facadeTexture defines the AdvancedDynamicTexture to use
21
+ */
22
+ protected _applyFacade(facadeTexture: AdvancedDynamicTexture): void;
23
+ protected _getTypeName(): string;
24
+ protected _createNode(scene: Scene): TransformNode;
25
+ protected _affectMaterial(mesh: AbstractMesh): void;
26
+ /**
27
+ * Releases all associated resources
28
+ */
29
+ dispose(): void;
30
+ }