@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.
- package/2D/adtInstrumentation.d.ts +52 -52
- package/2D/adtInstrumentation.js +126 -126
- package/2D/advancedDynamicTexture.d.ts +448 -448
- package/2D/advancedDynamicTexture.js +1318 -1318
- package/2D/controls/button.d.ts +135 -135
- package/2D/controls/button.js +276 -276
- package/2D/controls/checkbox.d.ts +59 -59
- package/2D/controls/checkbox.js +188 -188
- package/2D/controls/colorpicker.d.ts +103 -103
- package/2D/controls/colorpicker.js +1417 -1417
- package/2D/controls/container.d.ts +175 -175
- package/2D/controls/container.js +570 -570
- package/2D/controls/control.d.ts +866 -866
- package/2D/controls/control.js +2433 -2433
- package/2D/controls/displayGrid.d.ts +53 -53
- package/2D/controls/displayGrid.js +245 -245
- package/2D/controls/ellipse.d.ts +21 -21
- package/2D/controls/ellipse.js +85 -85
- package/2D/controls/focusableButton.d.ts +59 -59
- package/2D/controls/focusableButton.js +99 -99
- package/2D/controls/focusableControl.d.ts +34 -34
- package/2D/controls/focusableControl.js +1 -1
- package/2D/controls/grid.d.ts +139 -139
- package/2D/controls/grid.js +529 -529
- package/2D/controls/image.d.ts +204 -204
- package/2D/controls/image.js +887 -887
- package/2D/controls/index.d.ts +29 -29
- package/2D/controls/index.js +29 -29
- package/2D/controls/inputPassword.d.ts +8 -8
- package/2D/controls/inputPassword.js +25 -25
- package/2D/controls/inputText.d.ts +201 -201
- package/2D/controls/inputText.js +1119 -1119
- package/2D/controls/line.d.ts +66 -66
- package/2D/controls/line.js +271 -271
- package/2D/controls/multiLine.d.ts +75 -75
- package/2D/controls/multiLine.js +262 -262
- package/2D/controls/radioButton.d.ts +49 -49
- package/2D/controls/radioButton.js +205 -205
- package/2D/controls/rectangle.d.ts +29 -29
- package/2D/controls/rectangle.js +150 -150
- package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
- package/2D/controls/scrollViewers/scrollViewer.js +677 -677
- package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
- package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
- package/2D/controls/selector.d.ts +263 -263
- package/2D/controls/selector.js +692 -692
- package/2D/controls/sliders/baseSlider.d.ts +82 -82
- package/2D/controls/sliders/baseSlider.js +347 -347
- package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
- package/2D/controls/sliders/imageBasedSlider.js +192 -192
- package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
- package/2D/controls/sliders/imageScrollBar.js +263 -263
- package/2D/controls/sliders/scrollBar.d.ts +38 -38
- package/2D/controls/sliders/scrollBar.js +143 -143
- package/2D/controls/sliders/slider.d.ts +35 -35
- package/2D/controls/sliders/slider.js +271 -271
- package/2D/controls/stackPanel.d.ts +64 -64
- package/2D/controls/stackPanel.js +246 -246
- package/2D/controls/statics.d.ts +6 -6
- package/2D/controls/statics.js +49 -49
- package/2D/controls/textBlock.d.ts +175 -175
- package/2D/controls/textBlock.js +603 -603
- package/2D/controls/textWrapper.d.ts +13 -13
- package/2D/controls/textWrapper.js +101 -101
- package/2D/controls/toggleButton.d.ts +117 -117
- package/2D/controls/toggleButton.js +268 -268
- package/2D/controls/virtualKeyboard.d.ts +96 -96
- package/2D/controls/virtualKeyboard.js +256 -256
- package/2D/index.d.ts +9 -9
- package/2D/index.js +9 -9
- package/2D/math2D.d.ts +117 -117
- package/2D/math2D.js +221 -221
- package/2D/measure.d.ts +77 -77
- package/2D/measure.js +139 -139
- package/2D/multiLinePoint.d.ts +47 -47
- package/2D/multiLinePoint.js +127 -127
- package/2D/style.d.ts +46 -46
- package/2D/style.js +97 -97
- package/2D/valueAndUnit.d.ts +89 -89
- package/2D/valueAndUnit.js +226 -226
- package/2D/xmlLoader.d.ts +60 -60
- package/2D/xmlLoader.js +348 -348
- package/3D/behaviors/defaultBehavior.d.ts +73 -73
- package/3D/behaviors/defaultBehavior.js +121 -121
- package/3D/controls/abstractButton3D.d.ts +15 -15
- package/3D/controls/abstractButton3D.js +25 -25
- package/3D/controls/button3D.d.ts +30 -30
- package/3D/controls/button3D.js +93 -93
- package/3D/controls/container3D.d.ts +72 -72
- package/3D/controls/container3D.js +139 -139
- package/3D/controls/contentDisplay3D.d.ts +30 -30
- package/3D/controls/contentDisplay3D.js +79 -79
- package/3D/controls/control3D.d.ts +201 -201
- package/3D/controls/control3D.js +445 -445
- package/3D/controls/cylinderPanel.d.ts +17 -17
- package/3D/controls/cylinderPanel.js +66 -66
- package/3D/controls/handMenu.d.ts +28 -28
- package/3D/controls/handMenu.js +47 -47
- package/3D/controls/holographicBackplate.d.ts +49 -49
- package/3D/controls/holographicBackplate.js +120 -120
- package/3D/controls/holographicButton.d.ts +84 -84
- package/3D/controls/holographicButton.js +339 -339
- package/3D/controls/holographicSlate.d.ts +131 -131
- package/3D/controls/holographicSlate.js +431 -431
- package/3D/controls/index.d.ts +21 -21
- package/3D/controls/index.js +21 -21
- package/3D/controls/meshButton3D.d.ts +21 -21
- package/3D/controls/meshButton3D.js +62 -62
- package/3D/controls/nearMenu.d.ts +44 -44
- package/3D/controls/nearMenu.js +114 -114
- package/3D/controls/planePanel.d.ts +9 -9
- package/3D/controls/planePanel.js +36 -36
- package/3D/controls/scatterPanel.d.ts +18 -18
- package/3D/controls/scatterPanel.js +108 -108
- package/3D/controls/slider3D.d.ts +81 -81
- package/3D/controls/slider3D.js +268 -268
- package/3D/controls/spherePanel.d.ts +17 -17
- package/3D/controls/spherePanel.js +67 -67
- package/3D/controls/stackPanel3D.d.ts +22 -22
- package/3D/controls/stackPanel3D.js +107 -107
- package/3D/controls/touchButton3D.d.ts +80 -80
- package/3D/controls/touchButton3D.js +233 -233
- package/3D/controls/touchHolographicButton.d.ts +110 -110
- package/3D/controls/touchHolographicButton.js +445 -445
- package/3D/controls/touchHolographicMenu.d.ts +61 -61
- package/3D/controls/touchHolographicMenu.js +149 -149
- package/3D/controls/touchMeshButton3D.d.ts +21 -21
- package/3D/controls/touchMeshButton3D.js +62 -62
- package/3D/controls/volumeBasedPanel.d.ts +53 -53
- package/3D/controls/volumeBasedPanel.js +174 -174
- package/3D/gizmos/gizmoHandle.d.ts +108 -108
- package/3D/gizmos/gizmoHandle.js +209 -209
- package/3D/gizmos/index.d.ts +2 -2
- package/3D/gizmos/index.js +2 -2
- package/3D/gizmos/slateGizmo.d.ts +57 -57
- package/3D/gizmos/slateGizmo.js +369 -369
- package/3D/gui3DManager.d.ts +94 -94
- package/3D/gui3DManager.js +257 -257
- package/3D/index.d.ts +5 -5
- package/3D/index.js +5 -5
- package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
- package/3D/materials/fluent/fluentMaterial.js +292 -292
- package/3D/materials/fluent/index.d.ts +1 -1
- package/3D/materials/fluent/index.js +1 -1
- package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
- package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
- package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
- package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -154
- package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
- package/3D/materials/fluentBackplate/index.d.ts +1 -1
- package/3D/materials/fluentBackplate/index.js +1 -1
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
- package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
- package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -189
- package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
- package/3D/materials/fluentButton/index.d.ts +1 -1
- package/3D/materials/fluentButton/index.js +1 -1
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
- package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
- package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
- package/3D/materials/fluentMaterial.d.ts +4 -4
- package/3D/materials/fluentMaterial.js +4 -4
- package/3D/materials/handle/handleMaterial.d.ts +68 -68
- package/3D/materials/handle/handleMaterial.js +126 -126
- package/3D/materials/handle/index.d.ts +1 -1
- package/3D/materials/handle/index.js +1 -1
- package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
- package/3D/materials/handle/shaders/handle.fragment.js +8 -8
- package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
- package/3D/materials/handle/shaders/handle.vertex.js +8 -8
- package/3D/materials/index.d.ts +5 -5
- package/3D/materials/index.js +5 -5
- package/3D/materials/mrdl/index.d.ts +3 -3
- package/3D/materials/mrdl/index.js +3 -3
- package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
- package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
- package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
- package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
- package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
- package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
- package/3D/vector3WithInfo.d.ts +16 -16
- package/3D/vector3WithInfo.js +23 -23
- package/index.d.ts +2 -2
- package/index.js +2 -2
- package/legacy/legacy.d.ts +1 -1
- package/legacy/legacy.js +13 -13
- package/package.json +2 -2
package/3D/controls/index.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export * from "./abstractButton3D";
|
|
2
|
-
export * from "./button3D";
|
|
3
|
-
export * from "./container3D";
|
|
4
|
-
export * from "./control3D";
|
|
5
|
-
export * from "./cylinderPanel";
|
|
6
|
-
export * from "./holographicButton";
|
|
7
|
-
export * from "./holographicSlate";
|
|
8
|
-
export * from "./handMenu";
|
|
9
|
-
export * from "./meshButton3D";
|
|
10
|
-
export * from "./nearMenu";
|
|
11
|
-
export * from "./planePanel";
|
|
12
|
-
export * from "./scatterPanel";
|
|
13
|
-
export * from "./slider3D";
|
|
14
|
-
export * from "./spherePanel";
|
|
15
|
-
export * from "./stackPanel3D";
|
|
16
|
-
export * from "./touchButton3D";
|
|
17
|
-
export * from "./touchMeshButton3D";
|
|
18
|
-
export * from "./touchHolographicButton";
|
|
19
|
-
export * from "./touchHolographicMenu";
|
|
20
|
-
export * from "./volumeBasedPanel";
|
|
21
|
-
export * from "./holographicBackplate";
|
|
1
|
+
export * from "./abstractButton3D";
|
|
2
|
+
export * from "./button3D";
|
|
3
|
+
export * from "./container3D";
|
|
4
|
+
export * from "./control3D";
|
|
5
|
+
export * from "./cylinderPanel";
|
|
6
|
+
export * from "./holographicButton";
|
|
7
|
+
export * from "./holographicSlate";
|
|
8
|
+
export * from "./handMenu";
|
|
9
|
+
export * from "./meshButton3D";
|
|
10
|
+
export * from "./nearMenu";
|
|
11
|
+
export * from "./planePanel";
|
|
12
|
+
export * from "./scatterPanel";
|
|
13
|
+
export * from "./slider3D";
|
|
14
|
+
export * from "./spherePanel";
|
|
15
|
+
export * from "./stackPanel3D";
|
|
16
|
+
export * from "./touchButton3D";
|
|
17
|
+
export * from "./touchMeshButton3D";
|
|
18
|
+
export * from "./touchHolographicButton";
|
|
19
|
+
export * from "./touchHolographicMenu";
|
|
20
|
+
export * from "./volumeBasedPanel";
|
|
21
|
+
export * from "./holographicBackplate";
|
package/3D/controls/index.js
CHANGED
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
export * from "./abstractButton3D
|
|
2
|
-
export * from "./button3D
|
|
3
|
-
export * from "./container3D
|
|
4
|
-
export * from "./control3D
|
|
5
|
-
export * from "./cylinderPanel
|
|
6
|
-
export * from "./holographicButton
|
|
7
|
-
export * from "./holographicSlate
|
|
8
|
-
export * from "./handMenu
|
|
9
|
-
export * from "./meshButton3D
|
|
10
|
-
export * from "./nearMenu
|
|
11
|
-
export * from "./planePanel
|
|
12
|
-
export * from "./scatterPanel
|
|
13
|
-
export * from "./slider3D
|
|
14
|
-
export * from "./spherePanel
|
|
15
|
-
export * from "./stackPanel3D
|
|
16
|
-
export * from "./touchButton3D
|
|
17
|
-
export * from "./touchMeshButton3D
|
|
18
|
-
export * from "./touchHolographicButton
|
|
19
|
-
export * from "./touchHolographicMenu
|
|
20
|
-
export * from "./volumeBasedPanel
|
|
21
|
-
export * from "./holographicBackplate
|
|
1
|
+
export * from "./abstractButton3D";
|
|
2
|
+
export * from "./button3D";
|
|
3
|
+
export * from "./container3D";
|
|
4
|
+
export * from "./control3D";
|
|
5
|
+
export * from "./cylinderPanel";
|
|
6
|
+
export * from "./holographicButton";
|
|
7
|
+
export * from "./holographicSlate";
|
|
8
|
+
export * from "./handMenu";
|
|
9
|
+
export * from "./meshButton3D";
|
|
10
|
+
export * from "./nearMenu";
|
|
11
|
+
export * from "./planePanel";
|
|
12
|
+
export * from "./scatterPanel";
|
|
13
|
+
export * from "./slider3D";
|
|
14
|
+
export * from "./spherePanel";
|
|
15
|
+
export * from "./stackPanel3D";
|
|
16
|
+
export * from "./touchButton3D";
|
|
17
|
+
export * from "./touchMeshButton3D";
|
|
18
|
+
export * from "./touchHolographicButton";
|
|
19
|
+
export * from "./touchHolographicMenu";
|
|
20
|
+
export * from "./volumeBasedPanel";
|
|
21
|
+
export * from "./holographicBackplate";
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
2
|
-
import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
3
|
-
import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
|
|
4
|
-
import { Scene } from "@babylonjs/core/scene.js";
|
|
5
|
-
import { Button3D } from "./button3D";
|
|
6
|
-
/**
|
|
7
|
-
* Class used to create an interactable object. It's a 3D button using a mesh coming from the current scene
|
|
8
|
-
*/
|
|
9
|
-
export declare class MeshButton3D extends Button3D {
|
|
10
|
-
/** @hidden */
|
|
11
|
-
protected _currentMesh: Mesh;
|
|
12
|
-
/**
|
|
13
|
-
* Creates a new 3D button based on a mesh
|
|
14
|
-
* @param mesh mesh to become a 3D button
|
|
15
|
-
* @param name defines the control name
|
|
16
|
-
*/
|
|
17
|
-
constructor(mesh: Mesh, name?: string);
|
|
18
|
-
protected _getTypeName(): string;
|
|
19
|
-
protected _createNode(scene: Scene): TransformNode;
|
|
20
|
-
protected _affectMaterial(mesh: AbstractMesh): void;
|
|
21
|
-
}
|
|
1
|
+
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
2
|
+
import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
3
|
+
import { Mesh } from "@babylonjs/core/Meshes/mesh.js";
|
|
4
|
+
import { Scene } from "@babylonjs/core/scene.js";
|
|
5
|
+
import { Button3D } from "./button3D";
|
|
6
|
+
/**
|
|
7
|
+
* Class used to create an interactable object. It's a 3D button using a mesh coming from the current scene
|
|
8
|
+
*/
|
|
9
|
+
export declare class MeshButton3D extends Button3D {
|
|
10
|
+
/** @hidden */
|
|
11
|
+
protected _currentMesh: Mesh;
|
|
12
|
+
/**
|
|
13
|
+
* Creates a new 3D button based on a mesh
|
|
14
|
+
* @param mesh mesh to become a 3D button
|
|
15
|
+
* @param name defines the control name
|
|
16
|
+
*/
|
|
17
|
+
constructor(mesh: Mesh, name?: string);
|
|
18
|
+
protected _getTypeName(): string;
|
|
19
|
+
protected _createNode(scene: Scene): TransformNode;
|
|
20
|
+
protected _affectMaterial(mesh: AbstractMesh): void;
|
|
21
|
+
}
|
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { Button3D } from "./button3D
|
|
3
|
-
/**
|
|
4
|
-
* Class used to create an interactable object. It's a 3D button using a mesh coming from the current scene
|
|
5
|
-
*/
|
|
6
|
-
var MeshButton3D = /** @class */ (function (_super) {
|
|
7
|
-
__extends(MeshButton3D, _super);
|
|
8
|
-
/**
|
|
9
|
-
* Creates a new 3D button based on a mesh
|
|
10
|
-
* @param mesh mesh to become a 3D button
|
|
11
|
-
* @param name defines the control name
|
|
12
|
-
*/
|
|
13
|
-
function MeshButton3D(mesh, name) {
|
|
14
|
-
var _this = _super.call(this, name) || this;
|
|
15
|
-
_this._currentMesh = mesh;
|
|
16
|
-
/**
|
|
17
|
-
* Provides a default behavior on hover/out & up/down
|
|
18
|
-
* Override those function to create your own desired behavior specific to your mesh
|
|
19
|
-
*/
|
|
20
|
-
_this.pointerEnterAnimation = function () {
|
|
21
|
-
if (!_this.mesh) {
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
_this.mesh.scaling.scaleInPlace(1.1);
|
|
25
|
-
};
|
|
26
|
-
_this.pointerOutAnimation = function () {
|
|
27
|
-
if (!_this.mesh) {
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
30
|
-
_this.mesh.scaling.scaleInPlace(1.0 / 1.1);
|
|
31
|
-
};
|
|
32
|
-
_this.pointerDownAnimation = function () {
|
|
33
|
-
if (!_this.mesh) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
_this.mesh.scaling.scaleInPlace(0.95);
|
|
37
|
-
};
|
|
38
|
-
_this.pointerUpAnimation = function () {
|
|
39
|
-
if (!_this.mesh) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
_this.mesh.scaling.scaleInPlace(1.0 / 0.95);
|
|
43
|
-
};
|
|
44
|
-
return _this;
|
|
45
|
-
}
|
|
46
|
-
MeshButton3D.prototype._getTypeName = function () {
|
|
47
|
-
return "MeshButton3D";
|
|
48
|
-
};
|
|
49
|
-
// Mesh association
|
|
50
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
51
|
-
MeshButton3D.prototype._createNode = function (scene) {
|
|
52
|
-
var _this = this;
|
|
53
|
-
this._currentMesh.getChildMeshes().forEach(function (mesh) {
|
|
54
|
-
_this._injectGUI3DReservedDataStore(mesh).control = _this;
|
|
55
|
-
});
|
|
56
|
-
return this._currentMesh;
|
|
57
|
-
};
|
|
58
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
59
|
-
MeshButton3D.prototype._affectMaterial = function (mesh) { };
|
|
60
|
-
return MeshButton3D;
|
|
61
|
-
}(Button3D));
|
|
62
|
-
export { MeshButton3D };
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { Button3D } from "./button3D";
|
|
3
|
+
/**
|
|
4
|
+
* Class used to create an interactable object. It's a 3D button using a mesh coming from the current scene
|
|
5
|
+
*/
|
|
6
|
+
var MeshButton3D = /** @class */ (function (_super) {
|
|
7
|
+
__extends(MeshButton3D, _super);
|
|
8
|
+
/**
|
|
9
|
+
* Creates a new 3D button based on a mesh
|
|
10
|
+
* @param mesh mesh to become a 3D button
|
|
11
|
+
* @param name defines the control name
|
|
12
|
+
*/
|
|
13
|
+
function MeshButton3D(mesh, name) {
|
|
14
|
+
var _this = _super.call(this, name) || this;
|
|
15
|
+
_this._currentMesh = mesh;
|
|
16
|
+
/**
|
|
17
|
+
* Provides a default behavior on hover/out & up/down
|
|
18
|
+
* Override those function to create your own desired behavior specific to your mesh
|
|
19
|
+
*/
|
|
20
|
+
_this.pointerEnterAnimation = function () {
|
|
21
|
+
if (!_this.mesh) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
_this.mesh.scaling.scaleInPlace(1.1);
|
|
25
|
+
};
|
|
26
|
+
_this.pointerOutAnimation = function () {
|
|
27
|
+
if (!_this.mesh) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
_this.mesh.scaling.scaleInPlace(1.0 / 1.1);
|
|
31
|
+
};
|
|
32
|
+
_this.pointerDownAnimation = function () {
|
|
33
|
+
if (!_this.mesh) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
_this.mesh.scaling.scaleInPlace(0.95);
|
|
37
|
+
};
|
|
38
|
+
_this.pointerUpAnimation = function () {
|
|
39
|
+
if (!_this.mesh) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
_this.mesh.scaling.scaleInPlace(1.0 / 0.95);
|
|
43
|
+
};
|
|
44
|
+
return _this;
|
|
45
|
+
}
|
|
46
|
+
MeshButton3D.prototype._getTypeName = function () {
|
|
47
|
+
return "MeshButton3D";
|
|
48
|
+
};
|
|
49
|
+
// Mesh association
|
|
50
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
51
|
+
MeshButton3D.prototype._createNode = function (scene) {
|
|
52
|
+
var _this = this;
|
|
53
|
+
this._currentMesh.getChildMeshes().forEach(function (mesh) {
|
|
54
|
+
_this._injectGUI3DReservedDataStore(mesh).control = _this;
|
|
55
|
+
});
|
|
56
|
+
return this._currentMesh;
|
|
57
|
+
};
|
|
58
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
59
|
+
MeshButton3D.prototype._affectMaterial = function (mesh) { };
|
|
60
|
+
return MeshButton3D;
|
|
61
|
+
}(Button3D));
|
|
62
|
+
export { MeshButton3D };
|
|
63
63
|
//# sourceMappingURL=meshButton3D.js.map
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { Scene } from "@babylonjs/core/scene.js";
|
|
2
|
-
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
3
|
-
import { Nullable } from "@babylonjs/core/types.js";
|
|
4
|
-
import { DefaultBehavior } from "../behaviors/defaultBehavior";
|
|
5
|
-
import { TouchHolographicMenu } from "./touchHolographicMenu";
|
|
6
|
-
/**
|
|
7
|
-
* NearMenu that displays buttons and follows the camera
|
|
8
|
-
* @since 5.0.0
|
|
9
|
-
*/
|
|
10
|
-
export declare class NearMenu extends TouchHolographicMenu {
|
|
11
|
-
/**
|
|
12
|
-
* Base Url for the assets.
|
|
13
|
-
*/
|
|
14
|
-
private static _ASSETS_BASE_URL;
|
|
15
|
-
/**
|
|
16
|
-
* File name for the close icon.
|
|
17
|
-
*/
|
|
18
|
-
private static _PIN_ICON_FILENAME;
|
|
19
|
-
private _pinButton;
|
|
20
|
-
private _dragObserver;
|
|
21
|
-
private _defaultBehavior;
|
|
22
|
-
/**
|
|
23
|
-
* Regroups all mesh behaviors for the near menu
|
|
24
|
-
*/
|
|
25
|
-
get defaultBehavior(): DefaultBehavior;
|
|
26
|
-
private _isPinned;
|
|
27
|
-
/**
|
|
28
|
-
* Indicates if the near menu is world-pinned
|
|
29
|
-
*/
|
|
30
|
-
get isPinned(): boolean;
|
|
31
|
-
set isPinned(value: boolean);
|
|
32
|
-
private _createPinButton;
|
|
33
|
-
protected _createNode(scene: Scene): Nullable<TransformNode>;
|
|
34
|
-
protected _finalProcessing(): void;
|
|
35
|
-
/**
|
|
36
|
-
* Creates a near menu GUI 3D control
|
|
37
|
-
* @param name name of the near menu
|
|
38
|
-
*/
|
|
39
|
-
constructor(name?: string);
|
|
40
|
-
/**
|
|
41
|
-
* Disposes the near menu
|
|
42
|
-
*/
|
|
43
|
-
dispose(): void;
|
|
44
|
-
}
|
|
1
|
+
import { Scene } from "@babylonjs/core/scene.js";
|
|
2
|
+
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
3
|
+
import { Nullable } from "@babylonjs/core/types.js";
|
|
4
|
+
import { DefaultBehavior } from "../behaviors/defaultBehavior";
|
|
5
|
+
import { TouchHolographicMenu } from "./touchHolographicMenu";
|
|
6
|
+
/**
|
|
7
|
+
* NearMenu that displays buttons and follows the camera
|
|
8
|
+
* @since 5.0.0
|
|
9
|
+
*/
|
|
10
|
+
export declare class NearMenu extends TouchHolographicMenu {
|
|
11
|
+
/**
|
|
12
|
+
* Base Url for the assets.
|
|
13
|
+
*/
|
|
14
|
+
private static _ASSETS_BASE_URL;
|
|
15
|
+
/**
|
|
16
|
+
* File name for the close icon.
|
|
17
|
+
*/
|
|
18
|
+
private static _PIN_ICON_FILENAME;
|
|
19
|
+
private _pinButton;
|
|
20
|
+
private _dragObserver;
|
|
21
|
+
private _defaultBehavior;
|
|
22
|
+
/**
|
|
23
|
+
* Regroups all mesh behaviors for the near menu
|
|
24
|
+
*/
|
|
25
|
+
get defaultBehavior(): DefaultBehavior;
|
|
26
|
+
private _isPinned;
|
|
27
|
+
/**
|
|
28
|
+
* Indicates if the near menu is world-pinned
|
|
29
|
+
*/
|
|
30
|
+
get isPinned(): boolean;
|
|
31
|
+
set isPinned(value: boolean);
|
|
32
|
+
private _createPinButton;
|
|
33
|
+
protected _createNode(scene: Scene): Nullable<TransformNode>;
|
|
34
|
+
protected _finalProcessing(): void;
|
|
35
|
+
/**
|
|
36
|
+
* Creates a near menu GUI 3D control
|
|
37
|
+
* @param name name of the near menu
|
|
38
|
+
*/
|
|
39
|
+
constructor(name?: string);
|
|
40
|
+
/**
|
|
41
|
+
* Disposes the near menu
|
|
42
|
+
*/
|
|
43
|
+
dispose(): void;
|
|
44
|
+
}
|
package/3D/controls/nearMenu.js
CHANGED
|
@@ -1,115 +1,115 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { TouchHolographicButton } from "./touchHolographicButton
|
|
3
|
-
import { DefaultBehavior } from "../behaviors/defaultBehavior
|
|
4
|
-
import { TouchHolographicMenu } from "./touchHolographicMenu
|
|
5
|
-
/**
|
|
6
|
-
* NearMenu that displays buttons and follows the camera
|
|
7
|
-
* @since 5.0.0
|
|
8
|
-
*/
|
|
9
|
-
var NearMenu = /** @class */ (function (_super) {
|
|
10
|
-
__extends(NearMenu, _super);
|
|
11
|
-
/**
|
|
12
|
-
* Creates a near menu GUI 3D control
|
|
13
|
-
* @param name name of the near menu
|
|
14
|
-
*/
|
|
15
|
-
function NearMenu(name) {
|
|
16
|
-
var _this = _super.call(this, name) || this;
|
|
17
|
-
_this._isPinned = false;
|
|
18
|
-
_this._defaultBehavior = new DefaultBehavior();
|
|
19
|
-
_this._dragObserver = _this._defaultBehavior.sixDofDragBehavior.onDragObservable.add(function () {
|
|
20
|
-
_this.isPinned = true;
|
|
21
|
-
});
|
|
22
|
-
_this.backPlateMargin = 1;
|
|
23
|
-
return _this;
|
|
24
|
-
}
|
|
25
|
-
Object.defineProperty(NearMenu.prototype, "defaultBehavior", {
|
|
26
|
-
/**
|
|
27
|
-
* Regroups all mesh behaviors for the near menu
|
|
28
|
-
*/
|
|
29
|
-
get: function () {
|
|
30
|
-
return this._defaultBehavior;
|
|
31
|
-
},
|
|
32
|
-
enumerable: false,
|
|
33
|
-
configurable: true
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(NearMenu.prototype, "isPinned", {
|
|
36
|
-
/**
|
|
37
|
-
* Indicates if the near menu is world-pinned
|
|
38
|
-
*/
|
|
39
|
-
get: function () {
|
|
40
|
-
return this._isPinned;
|
|
41
|
-
},
|
|
42
|
-
set: function (value) {
|
|
43
|
-
// Tell the pin button to toggle if this was called manually, for clean state control
|
|
44
|
-
if (this._pinButton.isToggled !== value) {
|
|
45
|
-
this._pinButton.isToggled = value;
|
|
46
|
-
return;
|
|
47
|
-
}
|
|
48
|
-
this._isPinned = value;
|
|
49
|
-
if (value) {
|
|
50
|
-
this._defaultBehavior.followBehaviorEnabled = false;
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
this._defaultBehavior.followBehaviorEnabled = true;
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
enumerable: false,
|
|
57
|
-
configurable: true
|
|
58
|
-
});
|
|
59
|
-
NearMenu.prototype._createPinButton = function (parent) {
|
|
60
|
-
var _this = this;
|
|
61
|
-
var control = new TouchHolographicButton("pin" + this.name, false);
|
|
62
|
-
control.imageUrl = NearMenu._ASSETS_BASE_URL + NearMenu._PIN_ICON_FILENAME;
|
|
63
|
-
control.parent = this;
|
|
64
|
-
control._host = this._host;
|
|
65
|
-
control.isToggleButton = true;
|
|
66
|
-
control.onToggleObservable.add(function (newState) {
|
|
67
|
-
_this.isPinned = newState;
|
|
68
|
-
});
|
|
69
|
-
if (this._host.utilityLayer) {
|
|
70
|
-
control._prepareNode(this._host.utilityLayer.utilityLayerScene);
|
|
71
|
-
control.scaling.scaleInPlace(TouchHolographicMenu.MENU_BUTTON_SCALE);
|
|
72
|
-
if (control.node) {
|
|
73
|
-
control.node.parent = parent;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
return control;
|
|
77
|
-
};
|
|
78
|
-
NearMenu.prototype._createNode = function (scene) {
|
|
79
|
-
var node = _super.prototype._createNode.call(this, scene);
|
|
80
|
-
this._pinButton = this._createPinButton(node);
|
|
81
|
-
this.isPinned = false;
|
|
82
|
-
this._defaultBehavior.attach(node, [this._backPlate]);
|
|
83
|
-
this._defaultBehavior.followBehavior.ignoreCameraPitchAndRoll = true;
|
|
84
|
-
this._defaultBehavior.followBehavior.pitchOffset = -15;
|
|
85
|
-
this._defaultBehavior.followBehavior.minimumDistance = 0.3;
|
|
86
|
-
this._defaultBehavior.followBehavior.defaultDistance = 0.4;
|
|
87
|
-
this._defaultBehavior.followBehavior.maximumDistance = 0.6;
|
|
88
|
-
this._backPlate.isNearGrabbable = true;
|
|
89
|
-
node.isVisible = false;
|
|
90
|
-
return node;
|
|
91
|
-
};
|
|
92
|
-
NearMenu.prototype._finalProcessing = function () {
|
|
93
|
-
_super.prototype._finalProcessing.call(this);
|
|
94
|
-
this._pinButton.position.copyFromFloats((this._backPlate.scaling.x + TouchHolographicMenu.MENU_BUTTON_SCALE) / 2, this._backPlate.scaling.y / 2, 0);
|
|
95
|
-
};
|
|
96
|
-
/**
|
|
97
|
-
* Disposes the near menu
|
|
98
|
-
*/
|
|
99
|
-
NearMenu.prototype.dispose = function () {
|
|
100
|
-
_super.prototype.dispose.call(this);
|
|
101
|
-
this._defaultBehavior.sixDofDragBehavior.onDragObservable.remove(this._dragObserver);
|
|
102
|
-
this._defaultBehavior.detach();
|
|
103
|
-
};
|
|
104
|
-
/**
|
|
105
|
-
* Base Url for the assets.
|
|
106
|
-
*/
|
|
107
|
-
NearMenu._ASSETS_BASE_URL = "https://assets.babylonjs.com/meshes/MRTK/";
|
|
108
|
-
/**
|
|
109
|
-
* File name for the close icon.
|
|
110
|
-
*/
|
|
111
|
-
NearMenu._PIN_ICON_FILENAME = "IconPin.png";
|
|
112
|
-
return NearMenu;
|
|
113
|
-
}(TouchHolographicMenu));
|
|
114
|
-
export { NearMenu };
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { TouchHolographicButton } from "./touchHolographicButton";
|
|
3
|
+
import { DefaultBehavior } from "../behaviors/defaultBehavior";
|
|
4
|
+
import { TouchHolographicMenu } from "./touchHolographicMenu";
|
|
5
|
+
/**
|
|
6
|
+
* NearMenu that displays buttons and follows the camera
|
|
7
|
+
* @since 5.0.0
|
|
8
|
+
*/
|
|
9
|
+
var NearMenu = /** @class */ (function (_super) {
|
|
10
|
+
__extends(NearMenu, _super);
|
|
11
|
+
/**
|
|
12
|
+
* Creates a near menu GUI 3D control
|
|
13
|
+
* @param name name of the near menu
|
|
14
|
+
*/
|
|
15
|
+
function NearMenu(name) {
|
|
16
|
+
var _this = _super.call(this, name) || this;
|
|
17
|
+
_this._isPinned = false;
|
|
18
|
+
_this._defaultBehavior = new DefaultBehavior();
|
|
19
|
+
_this._dragObserver = _this._defaultBehavior.sixDofDragBehavior.onDragObservable.add(function () {
|
|
20
|
+
_this.isPinned = true;
|
|
21
|
+
});
|
|
22
|
+
_this.backPlateMargin = 1;
|
|
23
|
+
return _this;
|
|
24
|
+
}
|
|
25
|
+
Object.defineProperty(NearMenu.prototype, "defaultBehavior", {
|
|
26
|
+
/**
|
|
27
|
+
* Regroups all mesh behaviors for the near menu
|
|
28
|
+
*/
|
|
29
|
+
get: function () {
|
|
30
|
+
return this._defaultBehavior;
|
|
31
|
+
},
|
|
32
|
+
enumerable: false,
|
|
33
|
+
configurable: true
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(NearMenu.prototype, "isPinned", {
|
|
36
|
+
/**
|
|
37
|
+
* Indicates if the near menu is world-pinned
|
|
38
|
+
*/
|
|
39
|
+
get: function () {
|
|
40
|
+
return this._isPinned;
|
|
41
|
+
},
|
|
42
|
+
set: function (value) {
|
|
43
|
+
// Tell the pin button to toggle if this was called manually, for clean state control
|
|
44
|
+
if (this._pinButton.isToggled !== value) {
|
|
45
|
+
this._pinButton.isToggled = value;
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this._isPinned = value;
|
|
49
|
+
if (value) {
|
|
50
|
+
this._defaultBehavior.followBehaviorEnabled = false;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
this._defaultBehavior.followBehaviorEnabled = true;
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
enumerable: false,
|
|
57
|
+
configurable: true
|
|
58
|
+
});
|
|
59
|
+
NearMenu.prototype._createPinButton = function (parent) {
|
|
60
|
+
var _this = this;
|
|
61
|
+
var control = new TouchHolographicButton("pin" + this.name, false);
|
|
62
|
+
control.imageUrl = NearMenu._ASSETS_BASE_URL + NearMenu._PIN_ICON_FILENAME;
|
|
63
|
+
control.parent = this;
|
|
64
|
+
control._host = this._host;
|
|
65
|
+
control.isToggleButton = true;
|
|
66
|
+
control.onToggleObservable.add(function (newState) {
|
|
67
|
+
_this.isPinned = newState;
|
|
68
|
+
});
|
|
69
|
+
if (this._host.utilityLayer) {
|
|
70
|
+
control._prepareNode(this._host.utilityLayer.utilityLayerScene);
|
|
71
|
+
control.scaling.scaleInPlace(TouchHolographicMenu.MENU_BUTTON_SCALE);
|
|
72
|
+
if (control.node) {
|
|
73
|
+
control.node.parent = parent;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
return control;
|
|
77
|
+
};
|
|
78
|
+
NearMenu.prototype._createNode = function (scene) {
|
|
79
|
+
var node = _super.prototype._createNode.call(this, scene);
|
|
80
|
+
this._pinButton = this._createPinButton(node);
|
|
81
|
+
this.isPinned = false;
|
|
82
|
+
this._defaultBehavior.attach(node, [this._backPlate]);
|
|
83
|
+
this._defaultBehavior.followBehavior.ignoreCameraPitchAndRoll = true;
|
|
84
|
+
this._defaultBehavior.followBehavior.pitchOffset = -15;
|
|
85
|
+
this._defaultBehavior.followBehavior.minimumDistance = 0.3;
|
|
86
|
+
this._defaultBehavior.followBehavior.defaultDistance = 0.4;
|
|
87
|
+
this._defaultBehavior.followBehavior.maximumDistance = 0.6;
|
|
88
|
+
this._backPlate.isNearGrabbable = true;
|
|
89
|
+
node.isVisible = false;
|
|
90
|
+
return node;
|
|
91
|
+
};
|
|
92
|
+
NearMenu.prototype._finalProcessing = function () {
|
|
93
|
+
_super.prototype._finalProcessing.call(this);
|
|
94
|
+
this._pinButton.position.copyFromFloats((this._backPlate.scaling.x + TouchHolographicMenu.MENU_BUTTON_SCALE) / 2, this._backPlate.scaling.y / 2, 0);
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Disposes the near menu
|
|
98
|
+
*/
|
|
99
|
+
NearMenu.prototype.dispose = function () {
|
|
100
|
+
_super.prototype.dispose.call(this);
|
|
101
|
+
this._defaultBehavior.sixDofDragBehavior.onDragObservable.remove(this._dragObserver);
|
|
102
|
+
this._defaultBehavior.detach();
|
|
103
|
+
};
|
|
104
|
+
/**
|
|
105
|
+
* Base Url for the assets.
|
|
106
|
+
*/
|
|
107
|
+
NearMenu._ASSETS_BASE_URL = "https://assets.babylonjs.com/meshes/MRTK/";
|
|
108
|
+
/**
|
|
109
|
+
* File name for the close icon.
|
|
110
|
+
*/
|
|
111
|
+
NearMenu._PIN_ICON_FILENAME = "IconPin.png";
|
|
112
|
+
return NearMenu;
|
|
113
|
+
}(TouchHolographicMenu));
|
|
114
|
+
export { NearMenu };
|
|
115
115
|
//# sourceMappingURL=nearMenu.js.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
-
import { Control3D } from "./control3D";
|
|
3
|
-
import { VolumeBasedPanel } from "./volumeBasedPanel";
|
|
4
|
-
/**
|
|
5
|
-
* Class used to create a container panel deployed on the surface of a plane
|
|
6
|
-
*/
|
|
7
|
-
export declare class PlanePanel extends VolumeBasedPanel {
|
|
8
|
-
protected _mapGridNode(control: Control3D, nodePosition: Vector3): void;
|
|
9
|
-
}
|
|
1
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
+
import { Control3D } from "./control3D";
|
|
3
|
+
import { VolumeBasedPanel } from "./volumeBasedPanel";
|
|
4
|
+
/**
|
|
5
|
+
* Class used to create a container panel deployed on the surface of a plane
|
|
6
|
+
*/
|
|
7
|
+
export declare class PlanePanel extends VolumeBasedPanel {
|
|
8
|
+
protected _mapGridNode(control: Control3D, nodePosition: Vector3): void;
|
|
9
|
+
}
|