@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
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { TmpVectors, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
3
|
-
import { Container3D } from "./container3D
|
|
4
|
-
import { VolumeBasedPanel } from "./volumeBasedPanel
|
|
5
|
-
/**
|
|
6
|
-
* Class used to create a container panel deployed on the surface of a plane
|
|
7
|
-
*/
|
|
8
|
-
var PlanePanel = /** @class */ (function (_super) {
|
|
9
|
-
__extends(PlanePanel, _super);
|
|
10
|
-
function PlanePanel() {
|
|
11
|
-
return _super !== null && _super.apply(this, arguments) || this;
|
|
12
|
-
}
|
|
13
|
-
PlanePanel.prototype._mapGridNode = function (control, nodePosition) {
|
|
14
|
-
var mesh = control.mesh;
|
|
15
|
-
if (!mesh) {
|
|
16
|
-
return;
|
|
17
|
-
}
|
|
18
|
-
control.position = nodePosition.clone();
|
|
19
|
-
var target = TmpVectors.Vector3[0];
|
|
20
|
-
target.copyFrom(nodePosition);
|
|
21
|
-
switch (this.orientation) {
|
|
22
|
-
case Container3D.FACEORIGIN_ORIENTATION:
|
|
23
|
-
case Container3D.FACEFORWARD_ORIENTATION:
|
|
24
|
-
target.addInPlace(new Vector3(0, 0, 1));
|
|
25
|
-
mesh.lookAt(target);
|
|
26
|
-
break;
|
|
27
|
-
case Container3D.FACEFORWARDREVERSED_ORIENTATION:
|
|
28
|
-
case Container3D.FACEORIGINREVERSED_ORIENTATION:
|
|
29
|
-
target.addInPlace(new Vector3(0, 0, -1));
|
|
30
|
-
mesh.lookAt(target);
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
};
|
|
34
|
-
return PlanePanel;
|
|
35
|
-
}(VolumeBasedPanel));
|
|
36
|
-
export { PlanePanel };
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { TmpVectors, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
3
|
+
import { Container3D } from "./container3D";
|
|
4
|
+
import { VolumeBasedPanel } from "./volumeBasedPanel";
|
|
5
|
+
/**
|
|
6
|
+
* Class used to create a container panel deployed on the surface of a plane
|
|
7
|
+
*/
|
|
8
|
+
var PlanePanel = /** @class */ (function (_super) {
|
|
9
|
+
__extends(PlanePanel, _super);
|
|
10
|
+
function PlanePanel() {
|
|
11
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
|
12
|
+
}
|
|
13
|
+
PlanePanel.prototype._mapGridNode = function (control, nodePosition) {
|
|
14
|
+
var mesh = control.mesh;
|
|
15
|
+
if (!mesh) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
control.position = nodePosition.clone();
|
|
19
|
+
var target = TmpVectors.Vector3[0];
|
|
20
|
+
target.copyFrom(nodePosition);
|
|
21
|
+
switch (this.orientation) {
|
|
22
|
+
case Container3D.FACEORIGIN_ORIENTATION:
|
|
23
|
+
case Container3D.FACEFORWARD_ORIENTATION:
|
|
24
|
+
target.addInPlace(new Vector3(0, 0, 1));
|
|
25
|
+
mesh.lookAt(target);
|
|
26
|
+
break;
|
|
27
|
+
case Container3D.FACEFORWARDREVERSED_ORIENTATION:
|
|
28
|
+
case Container3D.FACEORIGINREVERSED_ORIENTATION:
|
|
29
|
+
target.addInPlace(new Vector3(0, 0, -1));
|
|
30
|
+
mesh.lookAt(target);
|
|
31
|
+
break;
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
return PlanePanel;
|
|
35
|
+
}(VolumeBasedPanel));
|
|
36
|
+
export { PlanePanel };
|
|
37
37
|
//# sourceMappingURL=planePanel.js.map
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
-
import { float } from "@babylonjs/core/types.js";
|
|
3
|
-
import { VolumeBasedPanel } from "./volumeBasedPanel";
|
|
4
|
-
import { Control3D } from "./control3D";
|
|
5
|
-
/**
|
|
6
|
-
* Class used to create a container panel where items get randomized planar mapping
|
|
7
|
-
*/
|
|
8
|
-
export declare class ScatterPanel extends VolumeBasedPanel {
|
|
9
|
-
private _iteration;
|
|
10
|
-
/**
|
|
11
|
-
* Gets or sets the number of iteration to use to scatter the controls (100 by default)
|
|
12
|
-
*/
|
|
13
|
-
get iteration(): float;
|
|
14
|
-
set iteration(value: float);
|
|
15
|
-
protected _mapGridNode(control: Control3D, nodePosition: Vector3): void;
|
|
16
|
-
private _scatterMapping;
|
|
17
|
-
protected _finalProcessing(): void;
|
|
18
|
-
}
|
|
1
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
+
import { float } from "@babylonjs/core/types.js";
|
|
3
|
+
import { VolumeBasedPanel } from "./volumeBasedPanel";
|
|
4
|
+
import { Control3D } from "./control3D";
|
|
5
|
+
/**
|
|
6
|
+
* Class used to create a container panel where items get randomized planar mapping
|
|
7
|
+
*/
|
|
8
|
+
export declare class ScatterPanel extends VolumeBasedPanel {
|
|
9
|
+
private _iteration;
|
|
10
|
+
/**
|
|
11
|
+
* Gets or sets the number of iteration to use to scatter the controls (100 by default)
|
|
12
|
+
*/
|
|
13
|
+
get iteration(): float;
|
|
14
|
+
set iteration(value: float);
|
|
15
|
+
protected _mapGridNode(control: Control3D, nodePosition: Vector3): void;
|
|
16
|
+
private _scatterMapping;
|
|
17
|
+
protected _finalProcessing(): void;
|
|
18
|
+
}
|
|
@@ -1,109 +1,109 @@
|
|
|
1
|
-
import { __extends } from "tslib";
|
|
2
|
-
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
3
|
-
import { TmpVectors, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
-
import { VolumeBasedPanel } from "./volumeBasedPanel
|
|
5
|
-
import { Container3D } from "./container3D
|
|
6
|
-
/**
|
|
7
|
-
* Class used to create a container panel where items get randomized planar mapping
|
|
8
|
-
*/
|
|
9
|
-
var ScatterPanel = /** @class */ (function (_super) {
|
|
10
|
-
__extends(ScatterPanel, _super);
|
|
11
|
-
function ScatterPanel() {
|
|
12
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
13
|
-
_this._iteration = 100.0;
|
|
14
|
-
return _this;
|
|
15
|
-
}
|
|
16
|
-
Object.defineProperty(ScatterPanel.prototype, "iteration", {
|
|
17
|
-
/**
|
|
18
|
-
* Gets or sets the number of iteration to use to scatter the controls (100 by default)
|
|
19
|
-
*/
|
|
20
|
-
get: function () {
|
|
21
|
-
return this._iteration;
|
|
22
|
-
},
|
|
23
|
-
set: function (value) {
|
|
24
|
-
var _this = this;
|
|
25
|
-
if (this._iteration === value) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this._iteration = value;
|
|
29
|
-
Tools.SetImmediate(function () {
|
|
30
|
-
_this._arrangeChildren();
|
|
31
|
-
});
|
|
32
|
-
},
|
|
33
|
-
enumerable: false,
|
|
34
|
-
configurable: true
|
|
35
|
-
});
|
|
36
|
-
ScatterPanel.prototype._mapGridNode = function (control, nodePosition) {
|
|
37
|
-
var mesh = control.mesh;
|
|
38
|
-
var newPos = this._scatterMapping(nodePosition);
|
|
39
|
-
if (!mesh) {
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
switch (this.orientation) {
|
|
43
|
-
case Container3D.FACEORIGIN_ORIENTATION:
|
|
44
|
-
case Container3D.FACEFORWARD_ORIENTATION:
|
|
45
|
-
mesh.lookAt(new Vector3(0, 0, 1));
|
|
46
|
-
break;
|
|
47
|
-
case Container3D.FACEFORWARDREVERSED_ORIENTATION:
|
|
48
|
-
case Container3D.FACEORIGINREVERSED_ORIENTATION:
|
|
49
|
-
mesh.lookAt(new Vector3(0, 0, -1));
|
|
50
|
-
break;
|
|
51
|
-
}
|
|
52
|
-
control.position = newPos;
|
|
53
|
-
};
|
|
54
|
-
ScatterPanel.prototype._scatterMapping = function (source) {
|
|
55
|
-
source.x = (1.0 - Math.random() * 2.0) * this._cellWidth;
|
|
56
|
-
source.y = (1.0 - Math.random() * 2.0) * this._cellHeight;
|
|
57
|
-
return source;
|
|
58
|
-
};
|
|
59
|
-
ScatterPanel.prototype._finalProcessing = function () {
|
|
60
|
-
var meshes = [];
|
|
61
|
-
for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
|
|
62
|
-
var child = _a[_i];
|
|
63
|
-
if (!child.mesh) {
|
|
64
|
-
continue;
|
|
65
|
-
}
|
|
66
|
-
meshes.push(child.mesh);
|
|
67
|
-
}
|
|
68
|
-
for (var count = 0; count < this._iteration; count++) {
|
|
69
|
-
meshes.sort(function (a, b) {
|
|
70
|
-
var distance1 = a.position.lengthSquared();
|
|
71
|
-
var distance2 = b.position.lengthSquared();
|
|
72
|
-
if (distance1 < distance2) {
|
|
73
|
-
return 1;
|
|
74
|
-
}
|
|
75
|
-
else if (distance1 > distance2) {
|
|
76
|
-
return -1;
|
|
77
|
-
}
|
|
78
|
-
return 0;
|
|
79
|
-
});
|
|
80
|
-
var radiusPaddingSquared = Math.pow(this.margin, 2.0);
|
|
81
|
-
var cellSize = Math.max(this._cellWidth, this._cellHeight);
|
|
82
|
-
var difference2D = TmpVectors.Vector2[0];
|
|
83
|
-
var difference = TmpVectors.Vector3[0];
|
|
84
|
-
for (var i = 0; i < meshes.length - 1; i++) {
|
|
85
|
-
for (var j = i + 1; j < meshes.length; j++) {
|
|
86
|
-
if (i != j) {
|
|
87
|
-
meshes[j].position.subtractToRef(meshes[i].position, difference);
|
|
88
|
-
// Ignore Z axis
|
|
89
|
-
difference2D.x = difference.x;
|
|
90
|
-
difference2D.y = difference.y;
|
|
91
|
-
var combinedRadius = cellSize;
|
|
92
|
-
var distance = difference2D.lengthSquared() - radiusPaddingSquared;
|
|
93
|
-
var minSeparation = Math.min(distance, radiusPaddingSquared);
|
|
94
|
-
distance -= minSeparation;
|
|
95
|
-
if (distance < Math.pow(combinedRadius, 2.0)) {
|
|
96
|
-
difference2D.normalize();
|
|
97
|
-
difference.scaleInPlace((combinedRadius - Math.sqrt(distance)) * 0.5);
|
|
98
|
-
meshes[j].position.addInPlace(difference);
|
|
99
|
-
meshes[i].position.subtractInPlace(difference);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
return ScatterPanel;
|
|
107
|
-
}(VolumeBasedPanel));
|
|
108
|
-
export { ScatterPanel };
|
|
1
|
+
import { __extends } from "tslib";
|
|
2
|
+
import { Tools } from "@babylonjs/core/Misc/tools.js";
|
|
3
|
+
import { TmpVectors, Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
4
|
+
import { VolumeBasedPanel } from "./volumeBasedPanel";
|
|
5
|
+
import { Container3D } from "./container3D";
|
|
6
|
+
/**
|
|
7
|
+
* Class used to create a container panel where items get randomized planar mapping
|
|
8
|
+
*/
|
|
9
|
+
var ScatterPanel = /** @class */ (function (_super) {
|
|
10
|
+
__extends(ScatterPanel, _super);
|
|
11
|
+
function ScatterPanel() {
|
|
12
|
+
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
13
|
+
_this._iteration = 100.0;
|
|
14
|
+
return _this;
|
|
15
|
+
}
|
|
16
|
+
Object.defineProperty(ScatterPanel.prototype, "iteration", {
|
|
17
|
+
/**
|
|
18
|
+
* Gets or sets the number of iteration to use to scatter the controls (100 by default)
|
|
19
|
+
*/
|
|
20
|
+
get: function () {
|
|
21
|
+
return this._iteration;
|
|
22
|
+
},
|
|
23
|
+
set: function (value) {
|
|
24
|
+
var _this = this;
|
|
25
|
+
if (this._iteration === value) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
this._iteration = value;
|
|
29
|
+
Tools.SetImmediate(function () {
|
|
30
|
+
_this._arrangeChildren();
|
|
31
|
+
});
|
|
32
|
+
},
|
|
33
|
+
enumerable: false,
|
|
34
|
+
configurable: true
|
|
35
|
+
});
|
|
36
|
+
ScatterPanel.prototype._mapGridNode = function (control, nodePosition) {
|
|
37
|
+
var mesh = control.mesh;
|
|
38
|
+
var newPos = this._scatterMapping(nodePosition);
|
|
39
|
+
if (!mesh) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
switch (this.orientation) {
|
|
43
|
+
case Container3D.FACEORIGIN_ORIENTATION:
|
|
44
|
+
case Container3D.FACEFORWARD_ORIENTATION:
|
|
45
|
+
mesh.lookAt(new Vector3(0, 0, 1));
|
|
46
|
+
break;
|
|
47
|
+
case Container3D.FACEFORWARDREVERSED_ORIENTATION:
|
|
48
|
+
case Container3D.FACEORIGINREVERSED_ORIENTATION:
|
|
49
|
+
mesh.lookAt(new Vector3(0, 0, -1));
|
|
50
|
+
break;
|
|
51
|
+
}
|
|
52
|
+
control.position = newPos;
|
|
53
|
+
};
|
|
54
|
+
ScatterPanel.prototype._scatterMapping = function (source) {
|
|
55
|
+
source.x = (1.0 - Math.random() * 2.0) * this._cellWidth;
|
|
56
|
+
source.y = (1.0 - Math.random() * 2.0) * this._cellHeight;
|
|
57
|
+
return source;
|
|
58
|
+
};
|
|
59
|
+
ScatterPanel.prototype._finalProcessing = function () {
|
|
60
|
+
var meshes = [];
|
|
61
|
+
for (var _i = 0, _a = this._children; _i < _a.length; _i++) {
|
|
62
|
+
var child = _a[_i];
|
|
63
|
+
if (!child.mesh) {
|
|
64
|
+
continue;
|
|
65
|
+
}
|
|
66
|
+
meshes.push(child.mesh);
|
|
67
|
+
}
|
|
68
|
+
for (var count = 0; count < this._iteration; count++) {
|
|
69
|
+
meshes.sort(function (a, b) {
|
|
70
|
+
var distance1 = a.position.lengthSquared();
|
|
71
|
+
var distance2 = b.position.lengthSquared();
|
|
72
|
+
if (distance1 < distance2) {
|
|
73
|
+
return 1;
|
|
74
|
+
}
|
|
75
|
+
else if (distance1 > distance2) {
|
|
76
|
+
return -1;
|
|
77
|
+
}
|
|
78
|
+
return 0;
|
|
79
|
+
});
|
|
80
|
+
var radiusPaddingSquared = Math.pow(this.margin, 2.0);
|
|
81
|
+
var cellSize = Math.max(this._cellWidth, this._cellHeight);
|
|
82
|
+
var difference2D = TmpVectors.Vector2[0];
|
|
83
|
+
var difference = TmpVectors.Vector3[0];
|
|
84
|
+
for (var i = 0; i < meshes.length - 1; i++) {
|
|
85
|
+
for (var j = i + 1; j < meshes.length; j++) {
|
|
86
|
+
if (i != j) {
|
|
87
|
+
meshes[j].position.subtractToRef(meshes[i].position, difference);
|
|
88
|
+
// Ignore Z axis
|
|
89
|
+
difference2D.x = difference.x;
|
|
90
|
+
difference2D.y = difference.y;
|
|
91
|
+
var combinedRadius = cellSize;
|
|
92
|
+
var distance = difference2D.lengthSquared() - radiusPaddingSquared;
|
|
93
|
+
var minSeparation = Math.min(distance, radiusPaddingSquared);
|
|
94
|
+
distance -= minSeparation;
|
|
95
|
+
if (distance < Math.pow(combinedRadius, 2.0)) {
|
|
96
|
+
difference2D.normalize();
|
|
97
|
+
difference.scaleInPlace((combinedRadius - Math.sqrt(distance)) * 0.5);
|
|
98
|
+
meshes[j].position.addInPlace(difference);
|
|
99
|
+
meshes[i].position.subtractInPlace(difference);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
return ScatterPanel;
|
|
107
|
+
}(VolumeBasedPanel));
|
|
108
|
+
export { ScatterPanel };
|
|
109
109
|
//# sourceMappingURL=scatterPanel.js.map
|
|
@@ -1,81 +1,81 @@
|
|
|
1
|
-
import { Nullable } from "@babylonjs/core/types.js";
|
|
2
|
-
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
|
-
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
4
|
-
import { Scene } from "@babylonjs/core/scene.js";
|
|
5
|
-
import { Control3D } from "./control3D";
|
|
6
|
-
import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
7
|
-
import { MRDLSliderBarMaterial } from "../materials/mrdl/mrdlSliderBarMaterial";
|
|
8
|
-
import { MRDLSliderThumbMaterial } from "../materials/mrdl/mrdlSliderThumbMaterial";
|
|
9
|
-
import { MRDLBackplateMaterial } from "../materials/mrdl/mrdlBackplateMaterial";
|
|
10
|
-
/**
|
|
11
|
-
* Class used to create a slider in 3D
|
|
12
|
-
*/
|
|
13
|
-
export declare class Slider3D extends Control3D {
|
|
14
|
-
/**
|
|
15
|
-
* Base Url for the models.
|
|
16
|
-
*/
|
|
17
|
-
static MODEL_BASE_URL: string;
|
|
18
|
-
/**
|
|
19
|
-
* File name for the 8x4 model.
|
|
20
|
-
*/
|
|
21
|
-
static MODEL_FILENAME: string;
|
|
22
|
-
private _sliderBackplate;
|
|
23
|
-
private _sliderBackplateMaterial;
|
|
24
|
-
private _sliderBarMaterial;
|
|
25
|
-
private _sliderThumbMaterial;
|
|
26
|
-
private _sliderThumb;
|
|
27
|
-
private _sliderBar;
|
|
28
|
-
private _sliderBackplateVisible;
|
|
29
|
-
private _minimum;
|
|
30
|
-
private _maximum;
|
|
31
|
-
private _value;
|
|
32
|
-
private _step;
|
|
33
|
-
private _draggedPosition;
|
|
34
|
-
/** Observable raised when the sldier value changes */
|
|
35
|
-
onValueChangedObservable: Observable<number>;
|
|
36
|
-
/**
|
|
37
|
-
* Creates a new slider
|
|
38
|
-
* @param name defines the control name
|
|
39
|
-
* @param sliderBackplateVisible defines if the control has a backplate, default is false
|
|
40
|
-
*/
|
|
41
|
-
constructor(name?: string, sliderBackplateVisible?: boolean);
|
|
42
|
-
/**
|
|
43
|
-
* Gets the mesh used to render this control
|
|
44
|
-
*/
|
|
45
|
-
get mesh(): Nullable<AbstractMesh>;
|
|
46
|
-
/** Gets or sets minimum value */
|
|
47
|
-
get minimum(): number;
|
|
48
|
-
set minimum(value: number);
|
|
49
|
-
/** Gets or sets maximum value */
|
|
50
|
-
get maximum(): number;
|
|
51
|
-
set maximum(value: number);
|
|
52
|
-
/** Gets or sets step value */
|
|
53
|
-
get step(): number;
|
|
54
|
-
set step(value: number);
|
|
55
|
-
/** Gets or sets current value */
|
|
56
|
-
get value(): number;
|
|
57
|
-
set value(value: number);
|
|
58
|
-
protected get start(): number;
|
|
59
|
-
protected get end(): number;
|
|
60
|
-
/**
|
|
61
|
-
* Gets the slider bar material used by this control
|
|
62
|
-
*/
|
|
63
|
-
get sliderBarMaterial(): MRDLSliderBarMaterial;
|
|
64
|
-
/**
|
|
65
|
-
* Gets the slider thumb material used by this control
|
|
66
|
-
*/
|
|
67
|
-
get sliderThumbMaterial(): MRDLSliderThumbMaterial;
|
|
68
|
-
/**
|
|
69
|
-
* Gets the slider backplate material used by this control
|
|
70
|
-
*/
|
|
71
|
-
get sliderBackplateMaterial(): MRDLBackplateMaterial;
|
|
72
|
-
protected _createNode(scene: Scene): TransformNode;
|
|
73
|
-
protected _affectMaterial(mesh: AbstractMesh): void;
|
|
74
|
-
private _createBehavior;
|
|
75
|
-
private _convertToPosition;
|
|
76
|
-
private _convertToValue;
|
|
77
|
-
/**
|
|
78
|
-
* Releases all associated resources
|
|
79
|
-
*/
|
|
80
|
-
dispose(): void;
|
|
81
|
-
}
|
|
1
|
+
import { Nullable } from "@babylonjs/core/types.js";
|
|
2
|
+
import { Observable } from "@babylonjs/core/Misc/observable.js";
|
|
3
|
+
import { TransformNode } from "@babylonjs/core/Meshes/transformNode.js";
|
|
4
|
+
import { Scene } from "@babylonjs/core/scene.js";
|
|
5
|
+
import { Control3D } from "./control3D";
|
|
6
|
+
import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
7
|
+
import { MRDLSliderBarMaterial } from "../materials/mrdl/mrdlSliderBarMaterial";
|
|
8
|
+
import { MRDLSliderThumbMaterial } from "../materials/mrdl/mrdlSliderThumbMaterial";
|
|
9
|
+
import { MRDLBackplateMaterial } from "../materials/mrdl/mrdlBackplateMaterial";
|
|
10
|
+
/**
|
|
11
|
+
* Class used to create a slider in 3D
|
|
12
|
+
*/
|
|
13
|
+
export declare class Slider3D extends Control3D {
|
|
14
|
+
/**
|
|
15
|
+
* Base Url for the models.
|
|
16
|
+
*/
|
|
17
|
+
static MODEL_BASE_URL: string;
|
|
18
|
+
/**
|
|
19
|
+
* File name for the 8x4 model.
|
|
20
|
+
*/
|
|
21
|
+
static MODEL_FILENAME: string;
|
|
22
|
+
private _sliderBackplate;
|
|
23
|
+
private _sliderBackplateMaterial;
|
|
24
|
+
private _sliderBarMaterial;
|
|
25
|
+
private _sliderThumbMaterial;
|
|
26
|
+
private _sliderThumb;
|
|
27
|
+
private _sliderBar;
|
|
28
|
+
private _sliderBackplateVisible;
|
|
29
|
+
private _minimum;
|
|
30
|
+
private _maximum;
|
|
31
|
+
private _value;
|
|
32
|
+
private _step;
|
|
33
|
+
private _draggedPosition;
|
|
34
|
+
/** Observable raised when the sldier value changes */
|
|
35
|
+
onValueChangedObservable: Observable<number>;
|
|
36
|
+
/**
|
|
37
|
+
* Creates a new slider
|
|
38
|
+
* @param name defines the control name
|
|
39
|
+
* @param sliderBackplateVisible defines if the control has a backplate, default is false
|
|
40
|
+
*/
|
|
41
|
+
constructor(name?: string, sliderBackplateVisible?: boolean);
|
|
42
|
+
/**
|
|
43
|
+
* Gets the mesh used to render this control
|
|
44
|
+
*/
|
|
45
|
+
get mesh(): Nullable<AbstractMesh>;
|
|
46
|
+
/** Gets or sets minimum value */
|
|
47
|
+
get minimum(): number;
|
|
48
|
+
set minimum(value: number);
|
|
49
|
+
/** Gets or sets maximum value */
|
|
50
|
+
get maximum(): number;
|
|
51
|
+
set maximum(value: number);
|
|
52
|
+
/** Gets or sets step value */
|
|
53
|
+
get step(): number;
|
|
54
|
+
set step(value: number);
|
|
55
|
+
/** Gets or sets current value */
|
|
56
|
+
get value(): number;
|
|
57
|
+
set value(value: number);
|
|
58
|
+
protected get start(): number;
|
|
59
|
+
protected get end(): number;
|
|
60
|
+
/**
|
|
61
|
+
* Gets the slider bar material used by this control
|
|
62
|
+
*/
|
|
63
|
+
get sliderBarMaterial(): MRDLSliderBarMaterial;
|
|
64
|
+
/**
|
|
65
|
+
* Gets the slider thumb material used by this control
|
|
66
|
+
*/
|
|
67
|
+
get sliderThumbMaterial(): MRDLSliderThumbMaterial;
|
|
68
|
+
/**
|
|
69
|
+
* Gets the slider backplate material used by this control
|
|
70
|
+
*/
|
|
71
|
+
get sliderBackplateMaterial(): MRDLBackplateMaterial;
|
|
72
|
+
protected _createNode(scene: Scene): TransformNode;
|
|
73
|
+
protected _affectMaterial(mesh: AbstractMesh): void;
|
|
74
|
+
private _createBehavior;
|
|
75
|
+
private _convertToPosition;
|
|
76
|
+
private _convertToValue;
|
|
77
|
+
/**
|
|
78
|
+
* Releases all associated resources
|
|
79
|
+
*/
|
|
80
|
+
dispose(): void;
|
|
81
|
+
}
|