@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/2D/measure.js
CHANGED
|
@@ -1,140 +1,140 @@
|
|
|
1
|
-
import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
-
var tmpRect = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];
|
|
3
|
-
var tmpRect2 = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];
|
|
4
|
-
var tmpV1 = new Vector2(0, 0);
|
|
5
|
-
var tmpV2 = new Vector2(0, 0);
|
|
6
|
-
/**
|
|
7
|
-
* Class used to store 2D control sizes
|
|
8
|
-
*/
|
|
9
|
-
var Measure = /** @class */ (function () {
|
|
10
|
-
/**
|
|
11
|
-
* Creates a new measure
|
|
12
|
-
* @param left defines left coordinate
|
|
13
|
-
* @param top defines top coordinate
|
|
14
|
-
* @param width defines width dimension
|
|
15
|
-
* @param height defines height dimension
|
|
16
|
-
*/
|
|
17
|
-
function Measure(
|
|
18
|
-
/** defines left coordinate */
|
|
19
|
-
left,
|
|
20
|
-
/** defines top coordinate */
|
|
21
|
-
top,
|
|
22
|
-
/** defines width dimension */
|
|
23
|
-
width,
|
|
24
|
-
/** defines height dimension */
|
|
25
|
-
height) {
|
|
26
|
-
this.left = left;
|
|
27
|
-
this.top = top;
|
|
28
|
-
this.width = width;
|
|
29
|
-
this.height = height;
|
|
30
|
-
}
|
|
31
|
-
/**
|
|
32
|
-
* Copy from another measure
|
|
33
|
-
* @param other defines the other measure to copy from
|
|
34
|
-
*/
|
|
35
|
-
Measure.prototype.copyFrom = function (other) {
|
|
36
|
-
this.left = other.left;
|
|
37
|
-
this.top = other.top;
|
|
38
|
-
this.width = other.width;
|
|
39
|
-
this.height = other.height;
|
|
40
|
-
};
|
|
41
|
-
/**
|
|
42
|
-
* Copy from a group of 4 floats
|
|
43
|
-
* @param left defines left coordinate
|
|
44
|
-
* @param top defines top coordinate
|
|
45
|
-
* @param width defines width dimension
|
|
46
|
-
* @param height defines height dimension
|
|
47
|
-
*/
|
|
48
|
-
Measure.prototype.copyFromFloats = function (left, top, width, height) {
|
|
49
|
-
this.left = left;
|
|
50
|
-
this.top = top;
|
|
51
|
-
this.width = width;
|
|
52
|
-
this.height = height;
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* Computes the axis aligned bounding box measure for two given measures
|
|
56
|
-
* @param a Input measure
|
|
57
|
-
* @param b Input measure
|
|
58
|
-
* @param result the resulting bounding measure
|
|
59
|
-
*/
|
|
60
|
-
Measure.CombineToRef = function (a, b, result) {
|
|
61
|
-
var left = Math.min(a.left, b.left);
|
|
62
|
-
var top = Math.min(a.top, b.top);
|
|
63
|
-
var right = Math.max(a.left + a.width, b.left + b.width);
|
|
64
|
-
var bottom = Math.max(a.top + a.height, b.top + b.height);
|
|
65
|
-
result.left = left;
|
|
66
|
-
result.top = top;
|
|
67
|
-
result.width = right - left;
|
|
68
|
-
result.height = bottom - top;
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* Computes the axis aligned bounding box of the measure after it is modified by a given transform
|
|
72
|
-
* @param transform the matrix to transform the measure before computing the AABB
|
|
73
|
-
* @param addX number to add to left
|
|
74
|
-
* @param addY number to add to top
|
|
75
|
-
* @param addWidth number to add to width
|
|
76
|
-
* @param addHeight number to add to height
|
|
77
|
-
* @param result the resulting AABB
|
|
78
|
-
*/
|
|
79
|
-
Measure.prototype.addAndTransformToRef = function (transform, addX, addY, addWidth, addHeight, result) {
|
|
80
|
-
var left = this.left + addX;
|
|
81
|
-
var top = this.top + addY;
|
|
82
|
-
var width = this.width + addWidth;
|
|
83
|
-
var height = this.height + addHeight;
|
|
84
|
-
tmpRect[0].copyFromFloats(left, top);
|
|
85
|
-
tmpRect[1].copyFromFloats(left + width, top);
|
|
86
|
-
tmpRect[2].copyFromFloats(left + width, top + height);
|
|
87
|
-
tmpRect[3].copyFromFloats(left, top + height);
|
|
88
|
-
tmpV1.copyFromFloats(Number.MAX_VALUE, Number.MAX_VALUE);
|
|
89
|
-
tmpV2.copyFromFloats(0, 0);
|
|
90
|
-
for (var i = 0; i < 4; i++) {
|
|
91
|
-
transform.transformCoordinates(tmpRect[i].x, tmpRect[i].y, tmpRect2[i]);
|
|
92
|
-
tmpV1.x = Math.floor(Math.min(tmpV1.x, tmpRect2[i].x));
|
|
93
|
-
tmpV1.y = Math.floor(Math.min(tmpV1.y, tmpRect2[i].y));
|
|
94
|
-
tmpV2.x = Math.ceil(Math.max(tmpV2.x, tmpRect2[i].x));
|
|
95
|
-
tmpV2.y = Math.ceil(Math.max(tmpV2.y, tmpRect2[i].y));
|
|
96
|
-
}
|
|
97
|
-
result.left = tmpV1.x;
|
|
98
|
-
result.top = tmpV1.y;
|
|
99
|
-
result.width = tmpV2.x - tmpV1.x;
|
|
100
|
-
result.height = tmpV2.y - tmpV1.y;
|
|
101
|
-
};
|
|
102
|
-
/**
|
|
103
|
-
* Computes the axis aligned bounding box of the measure after it is modified by a given transform
|
|
104
|
-
* @param transform the matrix to transform the measure before computing the AABB
|
|
105
|
-
* @param result the resulting AABB
|
|
106
|
-
*/
|
|
107
|
-
Measure.prototype.transformToRef = function (transform, result) {
|
|
108
|
-
this.addAndTransformToRef(transform, 0, 0, 0, 0, result);
|
|
109
|
-
};
|
|
110
|
-
/**
|
|
111
|
-
* Check equality between this measure and another one
|
|
112
|
-
* @param other defines the other measures
|
|
113
|
-
* @returns true if both measures are equals
|
|
114
|
-
*/
|
|
115
|
-
Measure.prototype.isEqualsTo = function (other) {
|
|
116
|
-
if (this.left !== other.left) {
|
|
117
|
-
return false;
|
|
118
|
-
}
|
|
119
|
-
if (this.top !== other.top) {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
if (this.width !== other.width) {
|
|
123
|
-
return false;
|
|
124
|
-
}
|
|
125
|
-
if (this.height !== other.height) {
|
|
126
|
-
return false;
|
|
127
|
-
}
|
|
128
|
-
return true;
|
|
129
|
-
};
|
|
130
|
-
/**
|
|
131
|
-
* Creates an empty measure
|
|
132
|
-
* @returns a new measure
|
|
133
|
-
*/
|
|
134
|
-
Measure.Empty = function () {
|
|
135
|
-
return new Measure(0, 0, 0, 0);
|
|
136
|
-
};
|
|
137
|
-
return Measure;
|
|
138
|
-
}());
|
|
139
|
-
export { Measure };
|
|
1
|
+
import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
+
var tmpRect = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];
|
|
3
|
+
var tmpRect2 = [new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0), new Vector2(0, 0)];
|
|
4
|
+
var tmpV1 = new Vector2(0, 0);
|
|
5
|
+
var tmpV2 = new Vector2(0, 0);
|
|
6
|
+
/**
|
|
7
|
+
* Class used to store 2D control sizes
|
|
8
|
+
*/
|
|
9
|
+
var Measure = /** @class */ (function () {
|
|
10
|
+
/**
|
|
11
|
+
* Creates a new measure
|
|
12
|
+
* @param left defines left coordinate
|
|
13
|
+
* @param top defines top coordinate
|
|
14
|
+
* @param width defines width dimension
|
|
15
|
+
* @param height defines height dimension
|
|
16
|
+
*/
|
|
17
|
+
function Measure(
|
|
18
|
+
/** defines left coordinate */
|
|
19
|
+
left,
|
|
20
|
+
/** defines top coordinate */
|
|
21
|
+
top,
|
|
22
|
+
/** defines width dimension */
|
|
23
|
+
width,
|
|
24
|
+
/** defines height dimension */
|
|
25
|
+
height) {
|
|
26
|
+
this.left = left;
|
|
27
|
+
this.top = top;
|
|
28
|
+
this.width = width;
|
|
29
|
+
this.height = height;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Copy from another measure
|
|
33
|
+
* @param other defines the other measure to copy from
|
|
34
|
+
*/
|
|
35
|
+
Measure.prototype.copyFrom = function (other) {
|
|
36
|
+
this.left = other.left;
|
|
37
|
+
this.top = other.top;
|
|
38
|
+
this.width = other.width;
|
|
39
|
+
this.height = other.height;
|
|
40
|
+
};
|
|
41
|
+
/**
|
|
42
|
+
* Copy from a group of 4 floats
|
|
43
|
+
* @param left defines left coordinate
|
|
44
|
+
* @param top defines top coordinate
|
|
45
|
+
* @param width defines width dimension
|
|
46
|
+
* @param height defines height dimension
|
|
47
|
+
*/
|
|
48
|
+
Measure.prototype.copyFromFloats = function (left, top, width, height) {
|
|
49
|
+
this.left = left;
|
|
50
|
+
this.top = top;
|
|
51
|
+
this.width = width;
|
|
52
|
+
this.height = height;
|
|
53
|
+
};
|
|
54
|
+
/**
|
|
55
|
+
* Computes the axis aligned bounding box measure for two given measures
|
|
56
|
+
* @param a Input measure
|
|
57
|
+
* @param b Input measure
|
|
58
|
+
* @param result the resulting bounding measure
|
|
59
|
+
*/
|
|
60
|
+
Measure.CombineToRef = function (a, b, result) {
|
|
61
|
+
var left = Math.min(a.left, b.left);
|
|
62
|
+
var top = Math.min(a.top, b.top);
|
|
63
|
+
var right = Math.max(a.left + a.width, b.left + b.width);
|
|
64
|
+
var bottom = Math.max(a.top + a.height, b.top + b.height);
|
|
65
|
+
result.left = left;
|
|
66
|
+
result.top = top;
|
|
67
|
+
result.width = right - left;
|
|
68
|
+
result.height = bottom - top;
|
|
69
|
+
};
|
|
70
|
+
/**
|
|
71
|
+
* Computes the axis aligned bounding box of the measure after it is modified by a given transform
|
|
72
|
+
* @param transform the matrix to transform the measure before computing the AABB
|
|
73
|
+
* @param addX number to add to left
|
|
74
|
+
* @param addY number to add to top
|
|
75
|
+
* @param addWidth number to add to width
|
|
76
|
+
* @param addHeight number to add to height
|
|
77
|
+
* @param result the resulting AABB
|
|
78
|
+
*/
|
|
79
|
+
Measure.prototype.addAndTransformToRef = function (transform, addX, addY, addWidth, addHeight, result) {
|
|
80
|
+
var left = this.left + addX;
|
|
81
|
+
var top = this.top + addY;
|
|
82
|
+
var width = this.width + addWidth;
|
|
83
|
+
var height = this.height + addHeight;
|
|
84
|
+
tmpRect[0].copyFromFloats(left, top);
|
|
85
|
+
tmpRect[1].copyFromFloats(left + width, top);
|
|
86
|
+
tmpRect[2].copyFromFloats(left + width, top + height);
|
|
87
|
+
tmpRect[3].copyFromFloats(left, top + height);
|
|
88
|
+
tmpV1.copyFromFloats(Number.MAX_VALUE, Number.MAX_VALUE);
|
|
89
|
+
tmpV2.copyFromFloats(0, 0);
|
|
90
|
+
for (var i = 0; i < 4; i++) {
|
|
91
|
+
transform.transformCoordinates(tmpRect[i].x, tmpRect[i].y, tmpRect2[i]);
|
|
92
|
+
tmpV1.x = Math.floor(Math.min(tmpV1.x, tmpRect2[i].x));
|
|
93
|
+
tmpV1.y = Math.floor(Math.min(tmpV1.y, tmpRect2[i].y));
|
|
94
|
+
tmpV2.x = Math.ceil(Math.max(tmpV2.x, tmpRect2[i].x));
|
|
95
|
+
tmpV2.y = Math.ceil(Math.max(tmpV2.y, tmpRect2[i].y));
|
|
96
|
+
}
|
|
97
|
+
result.left = tmpV1.x;
|
|
98
|
+
result.top = tmpV1.y;
|
|
99
|
+
result.width = tmpV2.x - tmpV1.x;
|
|
100
|
+
result.height = tmpV2.y - tmpV1.y;
|
|
101
|
+
};
|
|
102
|
+
/**
|
|
103
|
+
* Computes the axis aligned bounding box of the measure after it is modified by a given transform
|
|
104
|
+
* @param transform the matrix to transform the measure before computing the AABB
|
|
105
|
+
* @param result the resulting AABB
|
|
106
|
+
*/
|
|
107
|
+
Measure.prototype.transformToRef = function (transform, result) {
|
|
108
|
+
this.addAndTransformToRef(transform, 0, 0, 0, 0, result);
|
|
109
|
+
};
|
|
110
|
+
/**
|
|
111
|
+
* Check equality between this measure and another one
|
|
112
|
+
* @param other defines the other measures
|
|
113
|
+
* @returns true if both measures are equals
|
|
114
|
+
*/
|
|
115
|
+
Measure.prototype.isEqualsTo = function (other) {
|
|
116
|
+
if (this.left !== other.left) {
|
|
117
|
+
return false;
|
|
118
|
+
}
|
|
119
|
+
if (this.top !== other.top) {
|
|
120
|
+
return false;
|
|
121
|
+
}
|
|
122
|
+
if (this.width !== other.width) {
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
if (this.height !== other.height) {
|
|
126
|
+
return false;
|
|
127
|
+
}
|
|
128
|
+
return true;
|
|
129
|
+
};
|
|
130
|
+
/**
|
|
131
|
+
* Creates an empty measure
|
|
132
|
+
* @returns a new measure
|
|
133
|
+
*/
|
|
134
|
+
Measure.Empty = function () {
|
|
135
|
+
return new Measure(0, 0, 0, 0);
|
|
136
|
+
};
|
|
137
|
+
return Measure;
|
|
138
|
+
}());
|
|
139
|
+
export { Measure };
|
|
140
140
|
//# sourceMappingURL=measure.js.map
|
package/2D/multiLinePoint.d.ts
CHANGED
|
@@ -1,47 +1,47 @@
|
|
|
1
|
-
import { Nullable } from "@babylonjs/core/types.js";
|
|
2
|
-
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
3
|
-
import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
4
|
-
import { MultiLine } from "./controls/multiLine";
|
|
5
|
-
import { Control } from "./controls/control";
|
|
6
|
-
/**
|
|
7
|
-
* Class used to store a point for a MultiLine object.
|
|
8
|
-
* The point can be pure 2D coordinates, a mesh or a control
|
|
9
|
-
*/
|
|
10
|
-
export declare class MultiLinePoint {
|
|
11
|
-
private _multiLine;
|
|
12
|
-
private _x;
|
|
13
|
-
private _y;
|
|
14
|
-
private _control;
|
|
15
|
-
private _mesh;
|
|
16
|
-
private _controlObserver;
|
|
17
|
-
private _meshObserver;
|
|
18
|
-
/** @hidden */
|
|
19
|
-
_point: Vector3;
|
|
20
|
-
/**
|
|
21
|
-
* Creates a new MultiLinePoint
|
|
22
|
-
* @param multiLine defines the source MultiLine object
|
|
23
|
-
*/
|
|
24
|
-
constructor(multiLine: MultiLine);
|
|
25
|
-
/** Gets or sets x coordinate */
|
|
26
|
-
get x(): string | number;
|
|
27
|
-
set x(value: string | number);
|
|
28
|
-
/** Gets or sets y coordinate */
|
|
29
|
-
get y(): string | number;
|
|
30
|
-
set y(value: string | number);
|
|
31
|
-
/** Gets or sets the control associated with this point */
|
|
32
|
-
get control(): Nullable<Control>;
|
|
33
|
-
set control(value: Nullable<Control>);
|
|
34
|
-
/** Gets or sets the mesh associated with this point */
|
|
35
|
-
get mesh(): Nullable<AbstractMesh>;
|
|
36
|
-
set mesh(value: Nullable<AbstractMesh>);
|
|
37
|
-
/** Resets links */
|
|
38
|
-
resetLinks(): void;
|
|
39
|
-
/**
|
|
40
|
-
* Gets a translation vector with Z component
|
|
41
|
-
* @returns the translation vector
|
|
42
|
-
*/
|
|
43
|
-
translate(): Vector3;
|
|
44
|
-
private _translatePoint;
|
|
45
|
-
/** Release associated resources */
|
|
46
|
-
dispose(): void;
|
|
47
|
-
}
|
|
1
|
+
import { Nullable } from "@babylonjs/core/types.js";
|
|
2
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
3
|
+
import { AbstractMesh } from "@babylonjs/core/Meshes/abstractMesh.js";
|
|
4
|
+
import { MultiLine } from "./controls/multiLine";
|
|
5
|
+
import { Control } from "./controls/control";
|
|
6
|
+
/**
|
|
7
|
+
* Class used to store a point for a MultiLine object.
|
|
8
|
+
* The point can be pure 2D coordinates, a mesh or a control
|
|
9
|
+
*/
|
|
10
|
+
export declare class MultiLinePoint {
|
|
11
|
+
private _multiLine;
|
|
12
|
+
private _x;
|
|
13
|
+
private _y;
|
|
14
|
+
private _control;
|
|
15
|
+
private _mesh;
|
|
16
|
+
private _controlObserver;
|
|
17
|
+
private _meshObserver;
|
|
18
|
+
/** @hidden */
|
|
19
|
+
_point: Vector3;
|
|
20
|
+
/**
|
|
21
|
+
* Creates a new MultiLinePoint
|
|
22
|
+
* @param multiLine defines the source MultiLine object
|
|
23
|
+
*/
|
|
24
|
+
constructor(multiLine: MultiLine);
|
|
25
|
+
/** Gets or sets x coordinate */
|
|
26
|
+
get x(): string | number;
|
|
27
|
+
set x(value: string | number);
|
|
28
|
+
/** Gets or sets y coordinate */
|
|
29
|
+
get y(): string | number;
|
|
30
|
+
set y(value: string | number);
|
|
31
|
+
/** Gets or sets the control associated with this point */
|
|
32
|
+
get control(): Nullable<Control>;
|
|
33
|
+
set control(value: Nullable<Control>);
|
|
34
|
+
/** Gets or sets the mesh associated with this point */
|
|
35
|
+
get mesh(): Nullable<AbstractMesh>;
|
|
36
|
+
set mesh(value: Nullable<AbstractMesh>);
|
|
37
|
+
/** Resets links */
|
|
38
|
+
resetLinks(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Gets a translation vector with Z component
|
|
41
|
+
* @returns the translation vector
|
|
42
|
+
*/
|
|
43
|
+
translate(): Vector3;
|
|
44
|
+
private _translatePoint;
|
|
45
|
+
/** Release associated resources */
|
|
46
|
+
dispose(): void;
|
|
47
|
+
}
|
package/2D/multiLinePoint.js
CHANGED
|
@@ -1,128 +1,128 @@
|
|
|
1
|
-
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
-
import { Epsilon } from "@babylonjs/core/Maths/math.constants.js";
|
|
3
|
-
import { ValueAndUnit } from "./valueAndUnit
|
|
4
|
-
/**
|
|
5
|
-
* Class used to store a point for a MultiLine object.
|
|
6
|
-
* The point can be pure 2D coordinates, a mesh or a control
|
|
7
|
-
*/
|
|
8
|
-
var MultiLinePoint = /** @class */ (function () {
|
|
9
|
-
/**
|
|
10
|
-
* Creates a new MultiLinePoint
|
|
11
|
-
* @param multiLine defines the source MultiLine object
|
|
12
|
-
*/
|
|
13
|
-
function MultiLinePoint(multiLine) {
|
|
14
|
-
this._multiLine = multiLine;
|
|
15
|
-
this._x = new ValueAndUnit(0);
|
|
16
|
-
this._y = new ValueAndUnit(0);
|
|
17
|
-
this._point = new Vector3(0, 0, 0);
|
|
18
|
-
}
|
|
19
|
-
Object.defineProperty(MultiLinePoint.prototype, "x", {
|
|
20
|
-
/** Gets or sets x coordinate */
|
|
21
|
-
get: function () {
|
|
22
|
-
return this._x.toString(this._multiLine._host);
|
|
23
|
-
},
|
|
24
|
-
set: function (value) {
|
|
25
|
-
if (this._x.toString(this._multiLine._host) === value) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
if (this._x.fromString(value)) {
|
|
29
|
-
this._multiLine._markAsDirty();
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
enumerable: false,
|
|
33
|
-
configurable: true
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(MultiLinePoint.prototype, "y", {
|
|
36
|
-
/** Gets or sets y coordinate */
|
|
37
|
-
get: function () {
|
|
38
|
-
return this._y.toString(this._multiLine._host);
|
|
39
|
-
},
|
|
40
|
-
set: function (value) {
|
|
41
|
-
if (this._y.toString(this._multiLine._host) === value) {
|
|
42
|
-
return;
|
|
43
|
-
}
|
|
44
|
-
if (this._y.fromString(value)) {
|
|
45
|
-
this._multiLine._markAsDirty();
|
|
46
|
-
}
|
|
47
|
-
},
|
|
48
|
-
enumerable: false,
|
|
49
|
-
configurable: true
|
|
50
|
-
});
|
|
51
|
-
Object.defineProperty(MultiLinePoint.prototype, "control", {
|
|
52
|
-
/** Gets or sets the control associated with this point */
|
|
53
|
-
get: function () {
|
|
54
|
-
return this._control;
|
|
55
|
-
},
|
|
56
|
-
set: function (value) {
|
|
57
|
-
if (this._control === value) {
|
|
58
|
-
return;
|
|
59
|
-
}
|
|
60
|
-
if (this._control && this._controlObserver) {
|
|
61
|
-
this._control.onDirtyObservable.remove(this._controlObserver);
|
|
62
|
-
this._controlObserver = null;
|
|
63
|
-
}
|
|
64
|
-
this._control = value;
|
|
65
|
-
if (this._control) {
|
|
66
|
-
this._controlObserver = this._control.onDirtyObservable.add(this._multiLine.onPointUpdate);
|
|
67
|
-
}
|
|
68
|
-
this._multiLine._markAsDirty();
|
|
69
|
-
},
|
|
70
|
-
enumerable: false,
|
|
71
|
-
configurable: true
|
|
72
|
-
});
|
|
73
|
-
Object.defineProperty(MultiLinePoint.prototype, "mesh", {
|
|
74
|
-
/** Gets or sets the mesh associated with this point */
|
|
75
|
-
get: function () {
|
|
76
|
-
return this._mesh;
|
|
77
|
-
},
|
|
78
|
-
set: function (value) {
|
|
79
|
-
if (this._mesh === value) {
|
|
80
|
-
return;
|
|
81
|
-
}
|
|
82
|
-
if (this._mesh && this._meshObserver) {
|
|
83
|
-
this._mesh.getScene().onAfterCameraRenderObservable.remove(this._meshObserver);
|
|
84
|
-
}
|
|
85
|
-
this._mesh = value;
|
|
86
|
-
if (this._mesh) {
|
|
87
|
-
this._meshObserver = this._mesh.getScene().onAfterCameraRenderObservable.add(this._multiLine.onPointUpdate);
|
|
88
|
-
}
|
|
89
|
-
this._multiLine._markAsDirty();
|
|
90
|
-
},
|
|
91
|
-
enumerable: false,
|
|
92
|
-
configurable: true
|
|
93
|
-
});
|
|
94
|
-
/** Resets links */
|
|
95
|
-
MultiLinePoint.prototype.resetLinks = function () {
|
|
96
|
-
this.control = null;
|
|
97
|
-
this.mesh = null;
|
|
98
|
-
};
|
|
99
|
-
/**
|
|
100
|
-
* Gets a translation vector with Z component
|
|
101
|
-
* @returns the translation vector
|
|
102
|
-
*/
|
|
103
|
-
MultiLinePoint.prototype.translate = function () {
|
|
104
|
-
this._point = this._translatePoint();
|
|
105
|
-
return this._point;
|
|
106
|
-
};
|
|
107
|
-
MultiLinePoint.prototype._translatePoint = function () {
|
|
108
|
-
if (this._mesh != null) {
|
|
109
|
-
return this._multiLine._host.getProjectedPositionWithZ(this._mesh.getBoundingInfo().boundingSphere.center, this._mesh.getWorldMatrix());
|
|
110
|
-
}
|
|
111
|
-
else if (this._control != null) {
|
|
112
|
-
return new Vector3(this._control.centerX, this._control.centerY, 1 - Epsilon);
|
|
113
|
-
}
|
|
114
|
-
else {
|
|
115
|
-
var host = this._multiLine._host;
|
|
116
|
-
var xValue = this._x.getValueInPixel(host, Number(host._canvas.width));
|
|
117
|
-
var yValue = this._y.getValueInPixel(host, Number(host._canvas.height));
|
|
118
|
-
return new Vector3(xValue, yValue, 1 - Epsilon);
|
|
119
|
-
}
|
|
120
|
-
};
|
|
121
|
-
/** Release associated resources */
|
|
122
|
-
MultiLinePoint.prototype.dispose = function () {
|
|
123
|
-
this.resetLinks();
|
|
124
|
-
};
|
|
125
|
-
return MultiLinePoint;
|
|
126
|
-
}());
|
|
127
|
-
export { MultiLinePoint };
|
|
1
|
+
import { Vector3 } from "@babylonjs/core/Maths/math.vector.js";
|
|
2
|
+
import { Epsilon } from "@babylonjs/core/Maths/math.constants.js";
|
|
3
|
+
import { ValueAndUnit } from "./valueAndUnit";
|
|
4
|
+
/**
|
|
5
|
+
* Class used to store a point for a MultiLine object.
|
|
6
|
+
* The point can be pure 2D coordinates, a mesh or a control
|
|
7
|
+
*/
|
|
8
|
+
var MultiLinePoint = /** @class */ (function () {
|
|
9
|
+
/**
|
|
10
|
+
* Creates a new MultiLinePoint
|
|
11
|
+
* @param multiLine defines the source MultiLine object
|
|
12
|
+
*/
|
|
13
|
+
function MultiLinePoint(multiLine) {
|
|
14
|
+
this._multiLine = multiLine;
|
|
15
|
+
this._x = new ValueAndUnit(0);
|
|
16
|
+
this._y = new ValueAndUnit(0);
|
|
17
|
+
this._point = new Vector3(0, 0, 0);
|
|
18
|
+
}
|
|
19
|
+
Object.defineProperty(MultiLinePoint.prototype, "x", {
|
|
20
|
+
/** Gets or sets x coordinate */
|
|
21
|
+
get: function () {
|
|
22
|
+
return this._x.toString(this._multiLine._host);
|
|
23
|
+
},
|
|
24
|
+
set: function (value) {
|
|
25
|
+
if (this._x.toString(this._multiLine._host) === value) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (this._x.fromString(value)) {
|
|
29
|
+
this._multiLine._markAsDirty();
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
enumerable: false,
|
|
33
|
+
configurable: true
|
|
34
|
+
});
|
|
35
|
+
Object.defineProperty(MultiLinePoint.prototype, "y", {
|
|
36
|
+
/** Gets or sets y coordinate */
|
|
37
|
+
get: function () {
|
|
38
|
+
return this._y.toString(this._multiLine._host);
|
|
39
|
+
},
|
|
40
|
+
set: function (value) {
|
|
41
|
+
if (this._y.toString(this._multiLine._host) === value) {
|
|
42
|
+
return;
|
|
43
|
+
}
|
|
44
|
+
if (this._y.fromString(value)) {
|
|
45
|
+
this._multiLine._markAsDirty();
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
enumerable: false,
|
|
49
|
+
configurable: true
|
|
50
|
+
});
|
|
51
|
+
Object.defineProperty(MultiLinePoint.prototype, "control", {
|
|
52
|
+
/** Gets or sets the control associated with this point */
|
|
53
|
+
get: function () {
|
|
54
|
+
return this._control;
|
|
55
|
+
},
|
|
56
|
+
set: function (value) {
|
|
57
|
+
if (this._control === value) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
if (this._control && this._controlObserver) {
|
|
61
|
+
this._control.onDirtyObservable.remove(this._controlObserver);
|
|
62
|
+
this._controlObserver = null;
|
|
63
|
+
}
|
|
64
|
+
this._control = value;
|
|
65
|
+
if (this._control) {
|
|
66
|
+
this._controlObserver = this._control.onDirtyObservable.add(this._multiLine.onPointUpdate);
|
|
67
|
+
}
|
|
68
|
+
this._multiLine._markAsDirty();
|
|
69
|
+
},
|
|
70
|
+
enumerable: false,
|
|
71
|
+
configurable: true
|
|
72
|
+
});
|
|
73
|
+
Object.defineProperty(MultiLinePoint.prototype, "mesh", {
|
|
74
|
+
/** Gets or sets the mesh associated with this point */
|
|
75
|
+
get: function () {
|
|
76
|
+
return this._mesh;
|
|
77
|
+
},
|
|
78
|
+
set: function (value) {
|
|
79
|
+
if (this._mesh === value) {
|
|
80
|
+
return;
|
|
81
|
+
}
|
|
82
|
+
if (this._mesh && this._meshObserver) {
|
|
83
|
+
this._mesh.getScene().onAfterCameraRenderObservable.remove(this._meshObserver);
|
|
84
|
+
}
|
|
85
|
+
this._mesh = value;
|
|
86
|
+
if (this._mesh) {
|
|
87
|
+
this._meshObserver = this._mesh.getScene().onAfterCameraRenderObservable.add(this._multiLine.onPointUpdate);
|
|
88
|
+
}
|
|
89
|
+
this._multiLine._markAsDirty();
|
|
90
|
+
},
|
|
91
|
+
enumerable: false,
|
|
92
|
+
configurable: true
|
|
93
|
+
});
|
|
94
|
+
/** Resets links */
|
|
95
|
+
MultiLinePoint.prototype.resetLinks = function () {
|
|
96
|
+
this.control = null;
|
|
97
|
+
this.mesh = null;
|
|
98
|
+
};
|
|
99
|
+
/**
|
|
100
|
+
* Gets a translation vector with Z component
|
|
101
|
+
* @returns the translation vector
|
|
102
|
+
*/
|
|
103
|
+
MultiLinePoint.prototype.translate = function () {
|
|
104
|
+
this._point = this._translatePoint();
|
|
105
|
+
return this._point;
|
|
106
|
+
};
|
|
107
|
+
MultiLinePoint.prototype._translatePoint = function () {
|
|
108
|
+
if (this._mesh != null) {
|
|
109
|
+
return this._multiLine._host.getProjectedPositionWithZ(this._mesh.getBoundingInfo().boundingSphere.center, this._mesh.getWorldMatrix());
|
|
110
|
+
}
|
|
111
|
+
else if (this._control != null) {
|
|
112
|
+
return new Vector3(this._control.centerX, this._control.centerY, 1 - Epsilon);
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
var host = this._multiLine._host;
|
|
116
|
+
var xValue = this._x.getValueInPixel(host, Number(host._canvas.width));
|
|
117
|
+
var yValue = this._y.getValueInPixel(host, Number(host._canvas.height));
|
|
118
|
+
return new Vector3(xValue, yValue, 1 - Epsilon);
|
|
119
|
+
}
|
|
120
|
+
};
|
|
121
|
+
/** Release associated resources */
|
|
122
|
+
MultiLinePoint.prototype.dispose = function () {
|
|
123
|
+
this.resetLinks();
|
|
124
|
+
};
|
|
125
|
+
return MultiLinePoint;
|
|
126
|
+
}());
|
|
127
|
+
export { MultiLinePoint };
|
|
128
128
|
//# sourceMappingURL=multiLinePoint.js.map
|