@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.
- 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
|
@@ -1,53 +1,53 @@
|
|
|
1
|
-
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
-
import { int } from "@babylonjs/core/types.js";
|
|
3
|
-
import { Container3D } from "./container3D";
|
|
4
|
-
import { Control3D } from "./control3D";
|
|
5
|
-
/**
|
|
6
|
-
* Abstract class used to create a container panel deployed on the surface of a volume
|
|
7
|
-
*/
|
|
8
|
-
export declare abstract class VolumeBasedPanel extends Container3D {
|
|
9
|
-
private _columns;
|
|
10
|
-
private _rows;
|
|
11
|
-
private _rowThenColum;
|
|
12
|
-
private _orientation;
|
|
13
|
-
protected _cellWidth: number;
|
|
14
|
-
protected _cellHeight: number;
|
|
15
|
-
/**
|
|
16
|
-
* Gets or sets the distance between elements
|
|
17
|
-
*/
|
|
18
|
-
margin: number;
|
|
19
|
-
/**
|
|
20
|
-
* Gets or sets the orientation to apply to all controls (BABYLON.Container3D.FaceOriginReversedOrientation by default)
|
|
21
|
-
* | Value | Type | Description |
|
|
22
|
-
* | ----- | ----------------------------------- | ----------- |
|
|
23
|
-
* | 0 | UNSET_ORIENTATION | Control rotation will remain unchanged |
|
|
24
|
-
* | 1 | FACEORIGIN_ORIENTATION | Control will rotate to make it look at sphere central axis |
|
|
25
|
-
* | 2 | FACEORIGINREVERSED_ORIENTATION | Control will rotate to make it look back at sphere central axis |
|
|
26
|
-
* | 3 | FACEFORWARD_ORIENTATION | Control will rotate to look at z axis (0, 0, 1) |
|
|
27
|
-
* | 4 | FACEFORWARDREVERSED_ORIENTATION | Control will rotate to look at negative z axis (0, 0, -1) |
|
|
28
|
-
*/
|
|
29
|
-
get orientation(): number;
|
|
30
|
-
set orientation(value: number);
|
|
31
|
-
/**
|
|
32
|
-
* Gets or sets the number of columns requested (10 by default).
|
|
33
|
-
* The panel will automatically compute the number of rows based on number of child controls.
|
|
34
|
-
*/
|
|
35
|
-
get columns(): int;
|
|
36
|
-
set columns(value: int);
|
|
37
|
-
/**
|
|
38
|
-
* Gets or sets a the number of rows requested.
|
|
39
|
-
* The panel will automatically compute the number of columns based on number of child controls.
|
|
40
|
-
*/
|
|
41
|
-
get rows(): int;
|
|
42
|
-
set rows(value: int);
|
|
43
|
-
/**
|
|
44
|
-
* Creates new VolumeBasedPanel
|
|
45
|
-
* @param name
|
|
46
|
-
*/
|
|
47
|
-
constructor(name?: string);
|
|
48
|
-
protected _arrangeChildren(): void;
|
|
49
|
-
/** Child classes must implement this function to provide correct control positioning */
|
|
50
|
-
protected abstract _mapGridNode(control: Control3D, nodePosition: Vector3): void;
|
|
51
|
-
/** Child classes can implement this function to provide additional processing */
|
|
52
|
-
protected _finalProcessing(): void;
|
|
53
|
-
}
|
|
1
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
+
import { int } from "@babylonjs/core/types.js";
|
|
3
|
+
import { Container3D } from "./container3D";
|
|
4
|
+
import { Control3D } from "./control3D";
|
|
5
|
+
/**
|
|
6
|
+
* Abstract class used to create a container panel deployed on the surface of a volume
|
|
7
|
+
*/
|
|
8
|
+
export declare abstract class VolumeBasedPanel extends Container3D {
|
|
9
|
+
private _columns;
|
|
10
|
+
private _rows;
|
|
11
|
+
private _rowThenColum;
|
|
12
|
+
private _orientation;
|
|
13
|
+
protected _cellWidth: number;
|
|
14
|
+
protected _cellHeight: number;
|
|
15
|
+
/**
|
|
16
|
+
* Gets or sets the distance between elements
|
|
17
|
+
*/
|
|
18
|
+
margin: number;
|
|
19
|
+
/**
|
|
20
|
+
* Gets or sets the orientation to apply to all controls (BABYLON.Container3D.FaceOriginReversedOrientation by default)
|
|
21
|
+
* | Value | Type | Description |
|
|
22
|
+
* | ----- | ----------------------------------- | ----------- |
|
|
23
|
+
* | 0 | UNSET_ORIENTATION | Control rotation will remain unchanged |
|
|
24
|
+
* | 1 | FACEORIGIN_ORIENTATION | Control will rotate to make it look at sphere central axis |
|
|
25
|
+
* | 2 | FACEORIGINREVERSED_ORIENTATION | Control will rotate to make it look back at sphere central axis |
|
|
26
|
+
* | 3 | FACEFORWARD_ORIENTATION | Control will rotate to look at z axis (0, 0, 1) |
|
|
27
|
+
* | 4 | FACEFORWARDREVERSED_ORIENTATION | Control will rotate to look at negative z axis (0, 0, -1) |
|
|
28
|
+
*/
|
|
29
|
+
get orientation(): number;
|
|
30
|
+
set orientation(value: number);
|
|
31
|
+
/**
|
|
32
|
+
* Gets or sets the number of columns requested (10 by default).
|
|
33
|
+
* The panel will automatically compute the number of rows based on number of child controls.
|
|
34
|
+
*/
|
|
35
|
+
get columns(): int;
|
|
36
|
+
set columns(value: int);
|
|
37
|
+
/**
|
|
38
|
+
* Gets or sets a the number of rows requested.
|
|
39
|
+
* The panel will automatically compute the number of columns based on number of child controls.
|
|
40
|
+
*/
|
|
41
|
+
get rows(): int;
|
|
42
|
+
set rows(value: int);
|
|
43
|
+
/**
|
|
44
|
+
* Creates new VolumeBasedPanel
|
|
45
|
+
* @param name
|
|
46
|
+
*/
|
|
47
|
+
constructor(name?: string);
|
|
48
|
+
protected _arrangeChildren(): void;
|
|
49
|
+
/** Child classes must implement this function to provide correct control positioning */
|
|
50
|
+
protected abstract _mapGridNode(control: Control3D, nodePosition: Vector3): void;
|
|
51
|
+
/** Child classes can implement this function to provide additional processing */
|
|
52
|
+
protected _finalProcessing(): void;
|
|
53
|
+
}
|
|
@@ -1,175 +1,175 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
3
|
-
import { Matrix, Vector3, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
-
import { Container3D } from "./container3D
|
|
5
|
-
/**
|
|
6
|
-
* Abstract class used to create a container panel deployed on the surface of a volume
|
|
7
|
-
*/
|
|
8
|
-
var VolumeBasedPanel = /** @class */ (function (_super) {
|
|
9
|
-
__extends(VolumeBasedPanel, _super);
|
|
10
|
-
/**
|
|
11
|
-
* Creates new VolumeBasedPanel
|
|
12
|
-
* @param name
|
|
13
|
-
*/
|
|
14
|
-
function VolumeBasedPanel(name) {
|
|
15
|
-
var _this = _super.call(this, name) || this;
|
|
16
|
-
_this._columns = 10;
|
|
17
|
-
_this._rows = 0;
|
|
18
|
-
_this._rowThenColum = true;
|
|
19
|
-
_this._orientation = Container3D.FACEORIGIN_ORIENTATION;
|
|
20
|
-
/**
|
|
21
|
-
* Gets or sets the distance between elements
|
|
22
|
-
*/
|
|
23
|
-
_this.margin = 0;
|
|
24
|
-
return _this;
|
|
25
|
-
}
|
|
26
|
-
Object.defineProperty(VolumeBasedPanel.prototype, "orientation", {
|
|
27
|
-
/**
|
|
28
|
-
* Gets or sets the orientation to apply to all controls (BABYLON.Container3D.FaceOriginReversedOrientation by default)
|
|
29
|
-
* | Value | Type | Description |
|
|
30
|
-
* | ----- | ----------------------------------- | ----------- |
|
|
31
|
-
* | 0 | UNSET_ORIENTATION | Control rotation will remain unchanged |
|
|
32
|
-
* | 1 | FACEORIGIN_ORIENTATION | Control will rotate to make it look at sphere central axis |
|
|
33
|
-
* | 2 | FACEORIGINREVERSED_ORIENTATION | Control will rotate to make it look back at sphere central axis |
|
|
34
|
-
* | 3 | FACEFORWARD_ORIENTATION | Control will rotate to look at z axis (0, 0, 1) |
|
|
35
|
-
* | 4 | FACEFORWARDREVERSED_ORIENTATION | Control will rotate to look at negative z axis (0, 0, -1) |
|
|
36
|
-
*/
|
|
37
|
-
get: function () {
|
|
38
|
-
return this._orientation;
|
|
39
|
-
},
|
|
40
|
-
set: function (value) {
|
|
41
|
-
var _this = this;
|
|
42
|
-
if (this._orientation === value) {
|
|
43
|
-
return;
|
|
44
|
-
}
|
|
45
|
-
this._orientation = value;
|
|
46
|
-
Tools.SetImmediate(function () {
|
|
47
|
-
_this._arrangeChildren();
|
|
48
|
-
});
|
|
49
|
-
},
|
|
50
|
-
enumerable: false,
|
|
51
|
-
configurable: true
|
|
52
|
-
});
|
|
53
|
-
Object.defineProperty(VolumeBasedPanel.prototype, "columns", {
|
|
54
|
-
/**
|
|
55
|
-
* Gets or sets the number of columns requested (10 by default).
|
|
56
|
-
* The panel will automatically compute the number of rows based on number of child controls.
|
|
57
|
-
*/
|
|
58
|
-
get: function () {
|
|
59
|
-
return this._columns;
|
|
60
|
-
},
|
|
61
|
-
set: function (value) {
|
|
62
|
-
var _this = this;
|
|
63
|
-
if (this._columns === value) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
this._columns = value;
|
|
67
|
-
this._rowThenColum = true;
|
|
68
|
-
Tools.SetImmediate(function () {
|
|
69
|
-
_this._arrangeChildren();
|
|
70
|
-
});
|
|
71
|
-
},
|
|
72
|
-
enumerable: false,
|
|
73
|
-
configurable: true
|
|
74
|
-
});
|
|
75
|
-
Object.defineProperty(VolumeBasedPanel.prototype, "rows", {
|
|
76
|
-
/**
|
|
77
|
-
* Gets or sets a the number of rows requested.
|
|
78
|
-
* The panel will automatically compute the number of columns based on number of child controls.
|
|
79
|
-
*/
|
|
80
|
-
get: function () {
|
|
81
|
-
return this._rows;
|
|
82
|
-
},
|
|
83
|
-
set: function (value) {
|
|
84
|
-
var _this = this;
|
|
85
|
-
if (this._rows === value) {
|
|
86
|
-
return;
|
|
87
|
-
}
|
|
88
|
-
this._rows = value;
|
|
89
|
-
this._rowThenColum = false;
|
|
90
|
-
Tools.SetImmediate(function () {
|
|
91
|
-
_this._arrangeChildren();
|
|
92
|
-
});
|
|
93
|
-
},
|
|
94
|
-
enumerable: false,
|
|
95
|
-
configurable: true
|
|
96
|
-
});
|
|
97
|
-
VolumeBasedPanel.prototype._arrangeChildren = function () {
|
|
98
|
-
this._cellWidth = 0;
|
|
99
|
-
this._cellHeight = 0;
|
|
100
|
-
var rows = 0;
|
|
101
|
-
var columns = 0;
|
|
102
|
-
var controlCount = 0;
|
|
103
|
-
var currentInverseWorld = Matrix.Invert(this.node.computeWorldMatrix(true));
|
|
104
|
-
// Measure
|
|
105
|
-
for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
|
|
106
|
-
var child = _a[_i];
|
|
107
|
-
if (!child.mesh) {
|
|
108
|
-
continue;
|
|
109
|
-
}
|
|
110
|
-
controlCount++;
|
|
111
|
-
child.mesh.computeWorldMatrix(true);
|
|
112
|
-
// child.mesh.getWorldMatrix().multiplyToRef(currentInverseWorld, Tmp.Matrix[0]);
|
|
113
|
-
var boundingBox = child.mesh.getHierarchyBoundingVectors();
|
|
114
|
-
var extendSize = TmpVectors.Vector3[0];
|
|
115
|
-
var diff = TmpVectors.Vector3[1];
|
|
116
|
-
boundingBox.max.subtractToRef(boundingBox.min, diff);
|
|
117
|
-
diff.scaleInPlace(0.5);
|
|
118
|
-
Vector3.TransformNormalToRef(diff, currentInverseWorld, extendSize);
|
|
119
|
-
this._cellWidth = Math.max(this._cellWidth, extendSize.x * 2);
|
|
120
|
-
this._cellHeight = Math.max(this._cellHeight, extendSize.y * 2);
|
|
121
|
-
}
|
|
122
|
-
this._cellWidth += this.margin * 2;
|
|
123
|
-
this._cellHeight += this.margin * 2;
|
|
124
|
-
// Arrange
|
|
125
|
-
if (this._rowThenColum) {
|
|
126
|
-
columns = this._columns;
|
|
127
|
-
rows = Math.ceil(controlCount / this._columns);
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
rows = this._rows;
|
|
131
|
-
columns = Math.ceil(controlCount / this._rows);
|
|
132
|
-
}
|
|
133
|
-
var startOffsetX = columns * 0.5 * this._cellWidth;
|
|
134
|
-
var startOffsetY = rows * 0.5 * this._cellHeight;
|
|
135
|
-
var nodeGrid = [];
|
|
136
|
-
var cellCounter = 0;
|
|
137
|
-
if (this._rowThenColum) {
|
|
138
|
-
for (var r = 0; r < rows; r++) {
|
|
139
|
-
for (var c = 0; c < columns; c++) {
|
|
140
|
-
nodeGrid.push(new Vector3(c * this._cellWidth - startOffsetX + this._cellWidth / 2, r * this._cellHeight - startOffsetY + this._cellHeight / 2, 0));
|
|
141
|
-
cellCounter++;
|
|
142
|
-
if (cellCounter > controlCount) {
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
else {
|
|
149
|
-
for (var c = 0; c < columns; c++) {
|
|
150
|
-
for (var r = 0; r < rows; r++) {
|
|
151
|
-
nodeGrid.push(new Vector3(c * this._cellWidth - startOffsetX + this._cellWidth / 2, r * this._cellHeight - startOffsetY + this._cellHeight / 2, 0));
|
|
152
|
-
cellCounter++;
|
|
153
|
-
if (cellCounter > controlCount) {
|
|
154
|
-
break;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
cellCounter = 0;
|
|
160
|
-
for (var _b = 0, _c = this._children; _b < _c.length; _b++) {
|
|
161
|
-
var child = _c[_b];
|
|
162
|
-
if (!child.mesh) {
|
|
163
|
-
continue;
|
|
164
|
-
}
|
|
165
|
-
this._mapGridNode(child, nodeGrid[cellCounter]);
|
|
166
|
-
cellCounter++;
|
|
167
|
-
}
|
|
168
|
-
this._finalProcessing();
|
|
169
|
-
};
|
|
170
|
-
/** Child classes can implement this function to provide additional processing */
|
|
171
|
-
VolumeBasedPanel.prototype._finalProcessing = function () { };
|
|
172
|
-
return VolumeBasedPanel;
|
|
173
|
-
}(Container3D));
|
|
174
|
-
export { VolumeBasedPanel };
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
3
|
+
import { Matrix, Vector3, TmpVectors } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
+
import { Container3D } from "./container3D";
|
|
5
|
+
/**
|
|
6
|
+
* Abstract class used to create a container panel deployed on the surface of a volume
|
|
7
|
+
*/
|
|
8
|
+
var VolumeBasedPanel = /** @class */ (function (_super) {
|
|
9
|
+
__extends(VolumeBasedPanel, _super);
|
|
10
|
+
/**
|
|
11
|
+
* Creates new VolumeBasedPanel
|
|
12
|
+
* @param name
|
|
13
|
+
*/
|
|
14
|
+
function VolumeBasedPanel(name) {
|
|
15
|
+
var _this = _super.call(this, name) || this;
|
|
16
|
+
_this._columns = 10;
|
|
17
|
+
_this._rows = 0;
|
|
18
|
+
_this._rowThenColum = true;
|
|
19
|
+
_this._orientation = Container3D.FACEORIGIN_ORIENTATION;
|
|
20
|
+
/**
|
|
21
|
+
* Gets or sets the distance between elements
|
|
22
|
+
*/
|
|
23
|
+
_this.margin = 0;
|
|
24
|
+
return _this;
|
|
25
|
+
}
|
|
26
|
+
Object.defineProperty(VolumeBasedPanel.prototype, "orientation", {
|
|
27
|
+
/**
|
|
28
|
+
* Gets or sets the orientation to apply to all controls (BABYLON.Container3D.FaceOriginReversedOrientation by default)
|
|
29
|
+
* | Value | Type | Description |
|
|
30
|
+
* | ----- | ----------------------------------- | ----------- |
|
|
31
|
+
* | 0 | UNSET_ORIENTATION | Control rotation will remain unchanged |
|
|
32
|
+
* | 1 | FACEORIGIN_ORIENTATION | Control will rotate to make it look at sphere central axis |
|
|
33
|
+
* | 2 | FACEORIGINREVERSED_ORIENTATION | Control will rotate to make it look back at sphere central axis |
|
|
34
|
+
* | 3 | FACEFORWARD_ORIENTATION | Control will rotate to look at z axis (0, 0, 1) |
|
|
35
|
+
* | 4 | FACEFORWARDREVERSED_ORIENTATION | Control will rotate to look at negative z axis (0, 0, -1) |
|
|
36
|
+
*/
|
|
37
|
+
get: function () {
|
|
38
|
+
return this._orientation;
|
|
39
|
+
},
|
|
40
|
+
set: function (value) {
|
|
41
|
+
var _this = this;
|
|
42
|
+
if (this._orientation === value) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
this._orientation = value;
|
|
46
|
+
Tools.SetImmediate(function () {
|
|
47
|
+
_this._arrangeChildren();
|
|
48
|
+
});
|
|
49
|
+
},
|
|
50
|
+
enumerable: false,
|
|
51
|
+
configurable: true
|
|
52
|
+
});
|
|
53
|
+
Object.defineProperty(VolumeBasedPanel.prototype, "columns", {
|
|
54
|
+
/**
|
|
55
|
+
* Gets or sets the number of columns requested (10 by default).
|
|
56
|
+
* The panel will automatically compute the number of rows based on number of child controls.
|
|
57
|
+
*/
|
|
58
|
+
get: function () {
|
|
59
|
+
return this._columns;
|
|
60
|
+
},
|
|
61
|
+
set: function (value) {
|
|
62
|
+
var _this = this;
|
|
63
|
+
if (this._columns === value) {
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
this._columns = value;
|
|
67
|
+
this._rowThenColum = true;
|
|
68
|
+
Tools.SetImmediate(function () {
|
|
69
|
+
_this._arrangeChildren();
|
|
70
|
+
});
|
|
71
|
+
},
|
|
72
|
+
enumerable: false,
|
|
73
|
+
configurable: true
|
|
74
|
+
});
|
|
75
|
+
Object.defineProperty(VolumeBasedPanel.prototype, "rows", {
|
|
76
|
+
/**
|
|
77
|
+
* Gets or sets a the number of rows requested.
|
|
78
|
+
* The panel will automatically compute the number of columns based on number of child controls.
|
|
79
|
+
*/
|
|
80
|
+
get: function () {
|
|
81
|
+
return this._rows;
|
|
82
|
+
},
|
|
83
|
+
set: function (value) {
|
|
84
|
+
var _this = this;
|
|
85
|
+
if (this._rows === value) {
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
this._rows = value;
|
|
89
|
+
this._rowThenColum = false;
|
|
90
|
+
Tools.SetImmediate(function () {
|
|
91
|
+
_this._arrangeChildren();
|
|
92
|
+
});
|
|
93
|
+
},
|
|
94
|
+
enumerable: false,
|
|
95
|
+
configurable: true
|
|
96
|
+
});
|
|
97
|
+
VolumeBasedPanel.prototype._arrangeChildren = function () {
|
|
98
|
+
this._cellWidth = 0;
|
|
99
|
+
this._cellHeight = 0;
|
|
100
|
+
var rows = 0;
|
|
101
|
+
var columns = 0;
|
|
102
|
+
var controlCount = 0;
|
|
103
|
+
var currentInverseWorld = Matrix.Invert(this.node.computeWorldMatrix(true));
|
|
104
|
+
// Measure
|
|
105
|
+
for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
|
|
106
|
+
var child = _a[_i];
|
|
107
|
+
if (!child.mesh) {
|
|
108
|
+
continue;
|
|
109
|
+
}
|
|
110
|
+
controlCount++;
|
|
111
|
+
child.mesh.computeWorldMatrix(true);
|
|
112
|
+
// child.mesh.getWorldMatrix().multiplyToRef(currentInverseWorld, Tmp.Matrix[0]);
|
|
113
|
+
var boundingBox = child.mesh.getHierarchyBoundingVectors();
|
|
114
|
+
var extendSize = TmpVectors.Vector3[0];
|
|
115
|
+
var diff = TmpVectors.Vector3[1];
|
|
116
|
+
boundingBox.max.subtractToRef(boundingBox.min, diff);
|
|
117
|
+
diff.scaleInPlace(0.5);
|
|
118
|
+
Vector3.TransformNormalToRef(diff, currentInverseWorld, extendSize);
|
|
119
|
+
this._cellWidth = Math.max(this._cellWidth, extendSize.x * 2);
|
|
120
|
+
this._cellHeight = Math.max(this._cellHeight, extendSize.y * 2);
|
|
121
|
+
}
|
|
122
|
+
this._cellWidth += this.margin * 2;
|
|
123
|
+
this._cellHeight += this.margin * 2;
|
|
124
|
+
// Arrange
|
|
125
|
+
if (this._rowThenColum) {
|
|
126
|
+
columns = this._columns;
|
|
127
|
+
rows = Math.ceil(controlCount / this._columns);
|
|
128
|
+
}
|
|
129
|
+
else {
|
|
130
|
+
rows = this._rows;
|
|
131
|
+
columns = Math.ceil(controlCount / this._rows);
|
|
132
|
+
}
|
|
133
|
+
var startOffsetX = columns * 0.5 * this._cellWidth;
|
|
134
|
+
var startOffsetY = rows * 0.5 * this._cellHeight;
|
|
135
|
+
var nodeGrid = [];
|
|
136
|
+
var cellCounter = 0;
|
|
137
|
+
if (this._rowThenColum) {
|
|
138
|
+
for (var r = 0; r < rows; r++) {
|
|
139
|
+
for (var c = 0; c < columns; c++) {
|
|
140
|
+
nodeGrid.push(new Vector3(c * this._cellWidth - startOffsetX + this._cellWidth / 2, r * this._cellHeight - startOffsetY + this._cellHeight / 2, 0));
|
|
141
|
+
cellCounter++;
|
|
142
|
+
if (cellCounter > controlCount) {
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
else {
|
|
149
|
+
for (var c = 0; c < columns; c++) {
|
|
150
|
+
for (var r = 0; r < rows; r++) {
|
|
151
|
+
nodeGrid.push(new Vector3(c * this._cellWidth - startOffsetX + this._cellWidth / 2, r * this._cellHeight - startOffsetY + this._cellHeight / 2, 0));
|
|
152
|
+
cellCounter++;
|
|
153
|
+
if (cellCounter > controlCount) {
|
|
154
|
+
break;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
cellCounter = 0;
|
|
160
|
+
for (var _b = 0, _c = this._children; _b < _c.length; _b++) {
|
|
161
|
+
var child = _c[_b];
|
|
162
|
+
if (!child.mesh) {
|
|
163
|
+
continue;
|
|
164
|
+
}
|
|
165
|
+
this._mapGridNode(child, nodeGrid[cellCounter]);
|
|
166
|
+
cellCounter++;
|
|
167
|
+
}
|
|
168
|
+
this._finalProcessing();
|
|
169
|
+
};
|
|
170
|
+
/** Child classes can implement this function to provide additional processing */
|
|
171
|
+
VolumeBasedPanel.prototype._finalProcessing = function () { };
|
|
172
|
+
return VolumeBasedPanel;
|
|
173
|
+
}(Container3D));
|
|
174
|
+
export { VolumeBasedPanel };
|
|
175
175
|
//# sourceMappingURL=volumeBasedPanel.js.map
|