@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.
Files changed (203) hide show
  1. package/2D/adtInstrumentation.d.ts +52 -52
  2. package/2D/adtInstrumentation.js +126 -126
  3. package/2D/advancedDynamicTexture.d.ts +448 -448
  4. package/2D/advancedDynamicTexture.js +1318 -1318
  5. package/2D/controls/button.d.ts +135 -135
  6. package/2D/controls/button.js +276 -276
  7. package/2D/controls/checkbox.d.ts +59 -59
  8. package/2D/controls/checkbox.js +188 -188
  9. package/2D/controls/colorpicker.d.ts +103 -103
  10. package/2D/controls/colorpicker.js +1417 -1417
  11. package/2D/controls/container.d.ts +175 -175
  12. package/2D/controls/container.js +570 -570
  13. package/2D/controls/control.d.ts +866 -866
  14. package/2D/controls/control.js +2433 -2433
  15. package/2D/controls/displayGrid.d.ts +53 -53
  16. package/2D/controls/displayGrid.js +245 -245
  17. package/2D/controls/ellipse.d.ts +21 -21
  18. package/2D/controls/ellipse.js +85 -85
  19. package/2D/controls/focusableButton.d.ts +59 -59
  20. package/2D/controls/focusableButton.js +99 -99
  21. package/2D/controls/focusableControl.d.ts +34 -34
  22. package/2D/controls/focusableControl.js +1 -1
  23. package/2D/controls/grid.d.ts +139 -139
  24. package/2D/controls/grid.js +529 -529
  25. package/2D/controls/image.d.ts +204 -204
  26. package/2D/controls/image.js +887 -887
  27. package/2D/controls/index.d.ts +29 -29
  28. package/2D/controls/index.js +29 -29
  29. package/2D/controls/inputPassword.d.ts +8 -8
  30. package/2D/controls/inputPassword.js +25 -25
  31. package/2D/controls/inputText.d.ts +201 -201
  32. package/2D/controls/inputText.js +1119 -1119
  33. package/2D/controls/line.d.ts +66 -66
  34. package/2D/controls/line.js +271 -271
  35. package/2D/controls/multiLine.d.ts +75 -75
  36. package/2D/controls/multiLine.js +262 -262
  37. package/2D/controls/radioButton.d.ts +49 -49
  38. package/2D/controls/radioButton.js +205 -205
  39. package/2D/controls/rectangle.d.ts +29 -29
  40. package/2D/controls/rectangle.js +150 -150
  41. package/2D/controls/scrollViewers/scrollViewer.d.ts +182 -182
  42. package/2D/controls/scrollViewers/scrollViewer.js +677 -677
  43. package/2D/controls/scrollViewers/scrollViewerWindow.d.ts +57 -57
  44. package/2D/controls/scrollViewers/scrollViewerWindow.js +278 -278
  45. package/2D/controls/selector.d.ts +263 -263
  46. package/2D/controls/selector.js +692 -692
  47. package/2D/controls/sliders/baseSlider.d.ts +82 -82
  48. package/2D/controls/sliders/baseSlider.js +347 -347
  49. package/2D/controls/sliders/imageBasedSlider.d.ts +49 -49
  50. package/2D/controls/sliders/imageBasedSlider.js +192 -192
  51. package/2D/controls/sliders/imageScrollBar.d.ts +65 -65
  52. package/2D/controls/sliders/imageScrollBar.js +263 -263
  53. package/2D/controls/sliders/scrollBar.d.ts +38 -38
  54. package/2D/controls/sliders/scrollBar.js +143 -143
  55. package/2D/controls/sliders/slider.d.ts +35 -35
  56. package/2D/controls/sliders/slider.js +271 -271
  57. package/2D/controls/stackPanel.d.ts +64 -64
  58. package/2D/controls/stackPanel.js +246 -246
  59. package/2D/controls/statics.d.ts +6 -6
  60. package/2D/controls/statics.js +49 -49
  61. package/2D/controls/textBlock.d.ts +175 -175
  62. package/2D/controls/textBlock.js +603 -603
  63. package/2D/controls/textWrapper.d.ts +13 -13
  64. package/2D/controls/textWrapper.js +101 -101
  65. package/2D/controls/toggleButton.d.ts +117 -117
  66. package/2D/controls/toggleButton.js +268 -268
  67. package/2D/controls/virtualKeyboard.d.ts +96 -96
  68. package/2D/controls/virtualKeyboard.js +256 -256
  69. package/2D/index.d.ts +9 -9
  70. package/2D/index.js +9 -9
  71. package/2D/math2D.d.ts +117 -117
  72. package/2D/math2D.js +221 -221
  73. package/2D/measure.d.ts +77 -77
  74. package/2D/measure.js +139 -139
  75. package/2D/multiLinePoint.d.ts +47 -47
  76. package/2D/multiLinePoint.js +127 -127
  77. package/2D/style.d.ts +46 -46
  78. package/2D/style.js +97 -97
  79. package/2D/valueAndUnit.d.ts +89 -89
  80. package/2D/valueAndUnit.js +226 -226
  81. package/2D/xmlLoader.d.ts +60 -60
  82. package/2D/xmlLoader.js +348 -348
  83. package/3D/behaviors/defaultBehavior.d.ts +73 -73
  84. package/3D/behaviors/defaultBehavior.js +121 -121
  85. package/3D/controls/abstractButton3D.d.ts +15 -15
  86. package/3D/controls/abstractButton3D.js +25 -25
  87. package/3D/controls/button3D.d.ts +30 -30
  88. package/3D/controls/button3D.js +93 -93
  89. package/3D/controls/container3D.d.ts +72 -72
  90. package/3D/controls/container3D.js +139 -139
  91. package/3D/controls/contentDisplay3D.d.ts +30 -30
  92. package/3D/controls/contentDisplay3D.js +79 -79
  93. package/3D/controls/control3D.d.ts +201 -201
  94. package/3D/controls/control3D.js +445 -445
  95. package/3D/controls/cylinderPanel.d.ts +17 -17
  96. package/3D/controls/cylinderPanel.js +66 -66
  97. package/3D/controls/handMenu.d.ts +28 -28
  98. package/3D/controls/handMenu.js +47 -47
  99. package/3D/controls/holographicBackplate.d.ts +49 -49
  100. package/3D/controls/holographicBackplate.js +120 -120
  101. package/3D/controls/holographicButton.d.ts +84 -84
  102. package/3D/controls/holographicButton.js +339 -339
  103. package/3D/controls/holographicSlate.d.ts +131 -131
  104. package/3D/controls/holographicSlate.js +431 -431
  105. package/3D/controls/index.d.ts +21 -21
  106. package/3D/controls/index.js +21 -21
  107. package/3D/controls/meshButton3D.d.ts +21 -21
  108. package/3D/controls/meshButton3D.js +62 -62
  109. package/3D/controls/nearMenu.d.ts +44 -44
  110. package/3D/controls/nearMenu.js +114 -114
  111. package/3D/controls/planePanel.d.ts +9 -9
  112. package/3D/controls/planePanel.js +36 -36
  113. package/3D/controls/scatterPanel.d.ts +18 -18
  114. package/3D/controls/scatterPanel.js +108 -108
  115. package/3D/controls/slider3D.d.ts +81 -81
  116. package/3D/controls/slider3D.js +268 -268
  117. package/3D/controls/spherePanel.d.ts +17 -17
  118. package/3D/controls/spherePanel.js +67 -67
  119. package/3D/controls/stackPanel3D.d.ts +22 -22
  120. package/3D/controls/stackPanel3D.js +107 -107
  121. package/3D/controls/touchButton3D.d.ts +80 -80
  122. package/3D/controls/touchButton3D.js +233 -233
  123. package/3D/controls/touchHolographicButton.d.ts +110 -110
  124. package/3D/controls/touchHolographicButton.js +445 -445
  125. package/3D/controls/touchHolographicMenu.d.ts +61 -61
  126. package/3D/controls/touchHolographicMenu.js +149 -149
  127. package/3D/controls/touchMeshButton3D.d.ts +21 -21
  128. package/3D/controls/touchMeshButton3D.js +62 -62
  129. package/3D/controls/volumeBasedPanel.d.ts +53 -53
  130. package/3D/controls/volumeBasedPanel.js +174 -174
  131. package/3D/gizmos/gizmoHandle.d.ts +108 -108
  132. package/3D/gizmos/gizmoHandle.js +209 -209
  133. package/3D/gizmos/index.d.ts +2 -2
  134. package/3D/gizmos/index.js +2 -2
  135. package/3D/gizmos/slateGizmo.d.ts +57 -57
  136. package/3D/gizmos/slateGizmo.js +369 -369
  137. package/3D/gui3DManager.d.ts +94 -94
  138. package/3D/gui3DManager.js +257 -257
  139. package/3D/index.d.ts +5 -5
  140. package/3D/index.js +5 -5
  141. package/3D/materials/fluent/fluentMaterial.d.ts +90 -90
  142. package/3D/materials/fluent/fluentMaterial.js +292 -292
  143. package/3D/materials/fluent/index.d.ts +1 -1
  144. package/3D/materials/fluent/index.js +1 -1
  145. package/3D/materials/fluent/shaders/fluent.fragment.d.ts +5 -5
  146. package/3D/materials/fluent/shaders/fluent.fragment.js +8 -8
  147. package/3D/materials/fluent/shaders/fluent.vertex.d.ts +5 -5
  148. package/3D/materials/fluent/shaders/fluent.vertex.js +8 -8
  149. package/3D/materials/fluentBackplate/fluentBackplateMaterial.d.ts +154 -154
  150. package/3D/materials/fluentBackplate/fluentBackplateMaterial.js +469 -469
  151. package/3D/materials/fluentBackplate/index.d.ts +1 -1
  152. package/3D/materials/fluentBackplate/index.js +1 -1
  153. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.d.ts +5 -5
  154. package/3D/materials/fluentBackplate/shaders/fluentBackplate.fragment.js +8 -8
  155. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.d.ts +5 -5
  156. package/3D/materials/fluentBackplate/shaders/fluentBackplate.vertex.js +8 -8
  157. package/3D/materials/fluentButton/fluentButtonMaterial.d.ts +189 -189
  158. package/3D/materials/fluentButton/fluentButtonMaterial.js +539 -539
  159. package/3D/materials/fluentButton/index.d.ts +1 -1
  160. package/3D/materials/fluentButton/index.js +1 -1
  161. package/3D/materials/fluentButton/shaders/fluentButton.fragment.d.ts +5 -5
  162. package/3D/materials/fluentButton/shaders/fluentButton.fragment.js +8 -8
  163. package/3D/materials/fluentButton/shaders/fluentButton.vertex.d.ts +5 -5
  164. package/3D/materials/fluentButton/shaders/fluentButton.vertex.js +8 -8
  165. package/3D/materials/fluentMaterial.d.ts +4 -4
  166. package/3D/materials/fluentMaterial.js +4 -4
  167. package/3D/materials/handle/handleMaterial.d.ts +68 -68
  168. package/3D/materials/handle/handleMaterial.js +126 -126
  169. package/3D/materials/handle/index.d.ts +1 -1
  170. package/3D/materials/handle/index.js +1 -1
  171. package/3D/materials/handle/shaders/handle.fragment.d.ts +5 -5
  172. package/3D/materials/handle/shaders/handle.fragment.js +8 -8
  173. package/3D/materials/handle/shaders/handle.vertex.d.ts +5 -5
  174. package/3D/materials/handle/shaders/handle.vertex.js +8 -8
  175. package/3D/materials/index.d.ts +5 -5
  176. package/3D/materials/index.js +5 -5
  177. package/3D/materials/mrdl/index.d.ts +3 -3
  178. package/3D/materials/mrdl/index.js +3 -3
  179. package/3D/materials/mrdl/mrdlBackplateMaterial.d.ts +147 -147
  180. package/3D/materials/mrdl/mrdlBackplateMaterial.js +436 -436
  181. package/3D/materials/mrdl/mrdlSliderBarMaterial.d.ts +333 -333
  182. package/3D/materials/mrdl/mrdlSliderBarMaterial.js +851 -851
  183. package/3D/materials/mrdl/mrdlSliderThumbMaterial.d.ts +333 -333
  184. package/3D/materials/mrdl/mrdlSliderThumbMaterial.js +851 -851
  185. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.d.ts +5 -5
  186. package/3D/materials/mrdl/shaders/mrdlBackplate.fragment.js +8 -8
  187. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.d.ts +5 -5
  188. package/3D/materials/mrdl/shaders/mrdlBackplate.vertex.js +8 -8
  189. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.d.ts +5 -5
  190. package/3D/materials/mrdl/shaders/mrdlSliderBar.fragment.js +8 -8
  191. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.d.ts +5 -5
  192. package/3D/materials/mrdl/shaders/mrdlSliderBar.vertex.js +8 -8
  193. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.d.ts +5 -5
  194. package/3D/materials/mrdl/shaders/mrdlSliderThumb.fragment.js +8 -8
  195. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.d.ts +5 -5
  196. package/3D/materials/mrdl/shaders/mrdlSliderThumb.vertex.js +8 -8
  197. package/3D/vector3WithInfo.d.ts +16 -16
  198. package/3D/vector3WithInfo.js +23 -23
  199. package/index.d.ts +2 -2
  200. package/index.js +2 -2
  201. package/legacy/legacy.d.ts +1 -1
  202. package/legacy/legacy.js +13 -13
  203. package/package.json +2 -2
package/2D/math2D.js CHANGED
@@ -1,222 +1,222 @@
1
- import { __extends } from "tslib";
2
- import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
- import { Epsilon } from "@babylonjs/core/Maths/math.constants.js";
4
- /**
5
- * Class used to transport Vector2 information for pointer events
6
- */
7
- var Vector2WithInfo = /** @class */ (function (_super) {
8
- __extends(Vector2WithInfo, _super);
9
- /**
10
- * Creates a new Vector2WithInfo
11
- * @param source defines the vector2 data to transport
12
- * @param buttonIndex defines the current mouse button index
13
- */
14
- function Vector2WithInfo(source,
15
- /** defines the current mouse button index */
16
- buttonIndex) {
17
- if (buttonIndex === void 0) { buttonIndex = 0; }
18
- var _this = _super.call(this, source.x, source.y) || this;
19
- _this.buttonIndex = buttonIndex;
20
- return _this;
21
- }
22
- return Vector2WithInfo;
23
- }(Vector2));
24
- export { Vector2WithInfo };
25
- /** Class used to provide 2D matrix features */
26
- var Matrix2D = /** @class */ (function () {
27
- /**
28
- * Creates a new matrix
29
- * @param m00 defines value for (0, 0)
30
- * @param m01 defines value for (0, 1)
31
- * @param m10 defines value for (1, 0)
32
- * @param m11 defines value for (1, 1)
33
- * @param m20 defines value for (2, 0)
34
- * @param m21 defines value for (2, 1)
35
- */
36
- function Matrix2D(m00, m01, m10, m11, m20, m21) {
37
- /** Gets the internal array of 6 floats used to store matrix data */
38
- this.m = new Float32Array(6);
39
- this.fromValues(m00, m01, m10, m11, m20, m21);
40
- }
41
- /**
42
- * Fills the matrix from direct values
43
- * @param m00 defines value for (0, 0)
44
- * @param m01 defines value for (0, 1)
45
- * @param m10 defines value for (1, 0)
46
- * @param m11 defines value for (1, 1)
47
- * @param m20 defines value for (2, 0)
48
- * @param m21 defines value for (2, 1)
49
- * @returns the current modified matrix
50
- */
51
- Matrix2D.prototype.fromValues = function (m00, m01, m10, m11, m20, m21) {
52
- this.m[0] = m00;
53
- this.m[1] = m01;
54
- this.m[2] = m10;
55
- this.m[3] = m11;
56
- this.m[4] = m20;
57
- this.m[5] = m21;
58
- return this;
59
- };
60
- /**
61
- * Gets matrix determinant
62
- * @returns the determinant
63
- */
64
- Matrix2D.prototype.determinant = function () {
65
- return this.m[0] * this.m[3] - this.m[1] * this.m[2];
66
- };
67
- /**
68
- * Inverses the matrix and stores it in a target matrix
69
- * @param result defines the target matrix
70
- * @returns the current matrix
71
- */
72
- Matrix2D.prototype.invertToRef = function (result) {
73
- var l0 = this.m[0];
74
- var l1 = this.m[1];
75
- var l2 = this.m[2];
76
- var l3 = this.m[3];
77
- var l4 = this.m[4];
78
- var l5 = this.m[5];
79
- var det = this.determinant();
80
- if (det < Epsilon * Epsilon) {
81
- result.m[0] = 0;
82
- result.m[1] = 0;
83
- result.m[2] = 0;
84
- result.m[3] = 0;
85
- result.m[4] = 0;
86
- result.m[5] = 0;
87
- return this;
88
- }
89
- var detDiv = 1 / det;
90
- var det4 = l2 * l5 - l3 * l4;
91
- var det5 = l1 * l4 - l0 * l5;
92
- result.m[0] = l3 * detDiv;
93
- result.m[1] = -l1 * detDiv;
94
- result.m[2] = -l2 * detDiv;
95
- result.m[3] = l0 * detDiv;
96
- result.m[4] = det4 * detDiv;
97
- result.m[5] = det5 * detDiv;
98
- return this;
99
- };
100
- /**
101
- * Multiplies the current matrix with another one
102
- * @param other defines the second operand
103
- * @param result defines the target matrix
104
- * @returns the current matrix
105
- */
106
- Matrix2D.prototype.multiplyToRef = function (other, result) {
107
- var l0 = this.m[0];
108
- var l1 = this.m[1];
109
- var l2 = this.m[2];
110
- var l3 = this.m[3];
111
- var l4 = this.m[4];
112
- var l5 = this.m[5];
113
- var r0 = other.m[0];
114
- var r1 = other.m[1];
115
- var r2 = other.m[2];
116
- var r3 = other.m[3];
117
- var r4 = other.m[4];
118
- var r5 = other.m[5];
119
- result.m[0] = l0 * r0 + l1 * r2;
120
- result.m[1] = l0 * r1 + l1 * r3;
121
- result.m[2] = l2 * r0 + l3 * r2;
122
- result.m[3] = l2 * r1 + l3 * r3;
123
- result.m[4] = l4 * r0 + l5 * r2 + r4;
124
- result.m[5] = l4 * r1 + l5 * r3 + r5;
125
- return this;
126
- };
127
- /**
128
- * Applies the current matrix to a set of 2 floats and stores the result in a vector2
129
- * @param x defines the x coordinate to transform
130
- * @param y defines the x coordinate to transform
131
- * @param result defines the target vector2
132
- * @returns the current matrix
133
- */
134
- Matrix2D.prototype.transformCoordinates = function (x, y, result) {
135
- result.x = x * this.m[0] + y * this.m[2] + this.m[4];
136
- result.y = x * this.m[1] + y * this.m[3] + this.m[5];
137
- return this;
138
- };
139
- // Statics
140
- /**
141
- * Creates an identity matrix
142
- * @returns a new matrix
143
- */
144
- Matrix2D.Identity = function () {
145
- return new Matrix2D(1, 0, 0, 1, 0, 0);
146
- };
147
- /**
148
- * Creates an identity matrix and stores it in a target matrix
149
- * @param result defines the target matrix
150
- */
151
- Matrix2D.IdentityToRef = function (result) {
152
- result.m[0] = 1;
153
- result.m[1] = 0;
154
- result.m[2] = 0;
155
- result.m[3] = 1;
156
- result.m[4] = 0;
157
- result.m[5] = 0;
158
- };
159
- /**
160
- * Creates a translation matrix and stores it in a target matrix
161
- * @param x defines the x coordinate of the translation
162
- * @param y defines the y coordinate of the translation
163
- * @param result defines the target matrix
164
- */
165
- Matrix2D.TranslationToRef = function (x, y, result) {
166
- result.fromValues(1, 0, 0, 1, x, y);
167
- };
168
- /**
169
- * Creates a scaling matrix and stores it in a target matrix
170
- * @param x defines the x coordinate of the scaling
171
- * @param y defines the y coordinate of the scaling
172
- * @param result defines the target matrix
173
- */
174
- Matrix2D.ScalingToRef = function (x, y, result) {
175
- result.fromValues(x, 0, 0, y, 0, 0);
176
- };
177
- /**
178
- * Creates a rotation matrix and stores it in a target matrix
179
- * @param angle defines the rotation angle
180
- * @param result defines the target matrix
181
- */
182
- Matrix2D.RotationToRef = function (angle, result) {
183
- var s = Math.sin(angle);
184
- var c = Math.cos(angle);
185
- result.fromValues(c, s, -s, c, 0, 0);
186
- };
187
- /**
188
- * Composes a matrix from translation, rotation, scaling and parent matrix and stores it in a target matrix
189
- * @param tx defines the x coordinate of the translation
190
- * @param ty defines the y coordinate of the translation
191
- * @param angle defines the rotation angle
192
- * @param scaleX defines the x coordinate of the scaling
193
- * @param scaleY defines the y coordinate of the scaling
194
- * @param parentMatrix defines the parent matrix to multiply by (can be null)
195
- * @param result defines the target matrix
196
- */
197
- Matrix2D.ComposeToRef = function (tx, ty, angle, scaleX, scaleY, parentMatrix, result) {
198
- Matrix2D.TranslationToRef(tx, ty, Matrix2D._TempPreTranslationMatrix);
199
- Matrix2D.ScalingToRef(scaleX, scaleY, Matrix2D._TempScalingMatrix);
200
- Matrix2D.RotationToRef(angle, Matrix2D._TempRotationMatrix);
201
- Matrix2D.TranslationToRef(-tx, -ty, Matrix2D._TempPostTranslationMatrix);
202
- Matrix2D._TempPreTranslationMatrix.multiplyToRef(Matrix2D._TempScalingMatrix, Matrix2D._TempCompose0);
203
- Matrix2D._TempCompose0.multiplyToRef(Matrix2D._TempRotationMatrix, Matrix2D._TempCompose1);
204
- if (parentMatrix) {
205
- Matrix2D._TempCompose1.multiplyToRef(Matrix2D._TempPostTranslationMatrix, Matrix2D._TempCompose2);
206
- Matrix2D._TempCompose2.multiplyToRef(parentMatrix, result);
207
- }
208
- else {
209
- Matrix2D._TempCompose1.multiplyToRef(Matrix2D._TempPostTranslationMatrix, result);
210
- }
211
- };
212
- Matrix2D._TempPreTranslationMatrix = Matrix2D.Identity();
213
- Matrix2D._TempPostTranslationMatrix = Matrix2D.Identity();
214
- Matrix2D._TempRotationMatrix = Matrix2D.Identity();
215
- Matrix2D._TempScalingMatrix = Matrix2D.Identity();
216
- Matrix2D._TempCompose0 = Matrix2D.Identity();
217
- Matrix2D._TempCompose1 = Matrix2D.Identity();
218
- Matrix2D._TempCompose2 = Matrix2D.Identity();
219
- return Matrix2D;
220
- }());
221
- export { Matrix2D };
1
+ import { __extends } from "tslib";
2
+ import { Vector2 } from "@babylonjs/core/Maths/math.vector.js";
3
+ import { Epsilon } from "@babylonjs/core/Maths/math.constants.js";
4
+ /**
5
+ * Class used to transport Vector2 information for pointer events
6
+ */
7
+ var Vector2WithInfo = /** @class */ (function (_super) {
8
+ __extends(Vector2WithInfo, _super);
9
+ /**
10
+ * Creates a new Vector2WithInfo
11
+ * @param source defines the vector2 data to transport
12
+ * @param buttonIndex defines the current mouse button index
13
+ */
14
+ function Vector2WithInfo(source,
15
+ /** defines the current mouse button index */
16
+ buttonIndex) {
17
+ if (buttonIndex === void 0) { buttonIndex = 0; }
18
+ var _this = _super.call(this, source.x, source.y) || this;
19
+ _this.buttonIndex = buttonIndex;
20
+ return _this;
21
+ }
22
+ return Vector2WithInfo;
23
+ }(Vector2));
24
+ export { Vector2WithInfo };
25
+ /** Class used to provide 2D matrix features */
26
+ var Matrix2D = /** @class */ (function () {
27
+ /**
28
+ * Creates a new matrix
29
+ * @param m00 defines value for (0, 0)
30
+ * @param m01 defines value for (0, 1)
31
+ * @param m10 defines value for (1, 0)
32
+ * @param m11 defines value for (1, 1)
33
+ * @param m20 defines value for (2, 0)
34
+ * @param m21 defines value for (2, 1)
35
+ */
36
+ function Matrix2D(m00, m01, m10, m11, m20, m21) {
37
+ /** Gets the internal array of 6 floats used to store matrix data */
38
+ this.m = new Float32Array(6);
39
+ this.fromValues(m00, m01, m10, m11, m20, m21);
40
+ }
41
+ /**
42
+ * Fills the matrix from direct values
43
+ * @param m00 defines value for (0, 0)
44
+ * @param m01 defines value for (0, 1)
45
+ * @param m10 defines value for (1, 0)
46
+ * @param m11 defines value for (1, 1)
47
+ * @param m20 defines value for (2, 0)
48
+ * @param m21 defines value for (2, 1)
49
+ * @returns the current modified matrix
50
+ */
51
+ Matrix2D.prototype.fromValues = function (m00, m01, m10, m11, m20, m21) {
52
+ this.m[0] = m00;
53
+ this.m[1] = m01;
54
+ this.m[2] = m10;
55
+ this.m[3] = m11;
56
+ this.m[4] = m20;
57
+ this.m[5] = m21;
58
+ return this;
59
+ };
60
+ /**
61
+ * Gets matrix determinant
62
+ * @returns the determinant
63
+ */
64
+ Matrix2D.prototype.determinant = function () {
65
+ return this.m[0] * this.m[3] - this.m[1] * this.m[2];
66
+ };
67
+ /**
68
+ * Inverses the matrix and stores it in a target matrix
69
+ * @param result defines the target matrix
70
+ * @returns the current matrix
71
+ */
72
+ Matrix2D.prototype.invertToRef = function (result) {
73
+ var l0 = this.m[0];
74
+ var l1 = this.m[1];
75
+ var l2 = this.m[2];
76
+ var l3 = this.m[3];
77
+ var l4 = this.m[4];
78
+ var l5 = this.m[5];
79
+ var det = this.determinant();
80
+ if (det < Epsilon * Epsilon) {
81
+ result.m[0] = 0;
82
+ result.m[1] = 0;
83
+ result.m[2] = 0;
84
+ result.m[3] = 0;
85
+ result.m[4] = 0;
86
+ result.m[5] = 0;
87
+ return this;
88
+ }
89
+ var detDiv = 1 / det;
90
+ var det4 = l2 * l5 - l3 * l4;
91
+ var det5 = l1 * l4 - l0 * l5;
92
+ result.m[0] = l3 * detDiv;
93
+ result.m[1] = -l1 * detDiv;
94
+ result.m[2] = -l2 * detDiv;
95
+ result.m[3] = l0 * detDiv;
96
+ result.m[4] = det4 * detDiv;
97
+ result.m[5] = det5 * detDiv;
98
+ return this;
99
+ };
100
+ /**
101
+ * Multiplies the current matrix with another one
102
+ * @param other defines the second operand
103
+ * @param result defines the target matrix
104
+ * @returns the current matrix
105
+ */
106
+ Matrix2D.prototype.multiplyToRef = function (other, result) {
107
+ var l0 = this.m[0];
108
+ var l1 = this.m[1];
109
+ var l2 = this.m[2];
110
+ var l3 = this.m[3];
111
+ var l4 = this.m[4];
112
+ var l5 = this.m[5];
113
+ var r0 = other.m[0];
114
+ var r1 = other.m[1];
115
+ var r2 = other.m[2];
116
+ var r3 = other.m[3];
117
+ var r4 = other.m[4];
118
+ var r5 = other.m[5];
119
+ result.m[0] = l0 * r0 + l1 * r2;
120
+ result.m[1] = l0 * r1 + l1 * r3;
121
+ result.m[2] = l2 * r0 + l3 * r2;
122
+ result.m[3] = l2 * r1 + l3 * r3;
123
+ result.m[4] = l4 * r0 + l5 * r2 + r4;
124
+ result.m[5] = l4 * r1 + l5 * r3 + r5;
125
+ return this;
126
+ };
127
+ /**
128
+ * Applies the current matrix to a set of 2 floats and stores the result in a vector2
129
+ * @param x defines the x coordinate to transform
130
+ * @param y defines the x coordinate to transform
131
+ * @param result defines the target vector2
132
+ * @returns the current matrix
133
+ */
134
+ Matrix2D.prototype.transformCoordinates = function (x, y, result) {
135
+ result.x = x * this.m[0] + y * this.m[2] + this.m[4];
136
+ result.y = x * this.m[1] + y * this.m[3] + this.m[5];
137
+ return this;
138
+ };
139
+ // Statics
140
+ /**
141
+ * Creates an identity matrix
142
+ * @returns a new matrix
143
+ */
144
+ Matrix2D.Identity = function () {
145
+ return new Matrix2D(1, 0, 0, 1, 0, 0);
146
+ };
147
+ /**
148
+ * Creates an identity matrix and stores it in a target matrix
149
+ * @param result defines the target matrix
150
+ */
151
+ Matrix2D.IdentityToRef = function (result) {
152
+ result.m[0] = 1;
153
+ result.m[1] = 0;
154
+ result.m[2] = 0;
155
+ result.m[3] = 1;
156
+ result.m[4] = 0;
157
+ result.m[5] = 0;
158
+ };
159
+ /**
160
+ * Creates a translation matrix and stores it in a target matrix
161
+ * @param x defines the x coordinate of the translation
162
+ * @param y defines the y coordinate of the translation
163
+ * @param result defines the target matrix
164
+ */
165
+ Matrix2D.TranslationToRef = function (x, y, result) {
166
+ result.fromValues(1, 0, 0, 1, x, y);
167
+ };
168
+ /**
169
+ * Creates a scaling matrix and stores it in a target matrix
170
+ * @param x defines the x coordinate of the scaling
171
+ * @param y defines the y coordinate of the scaling
172
+ * @param result defines the target matrix
173
+ */
174
+ Matrix2D.ScalingToRef = function (x, y, result) {
175
+ result.fromValues(x, 0, 0, y, 0, 0);
176
+ };
177
+ /**
178
+ * Creates a rotation matrix and stores it in a target matrix
179
+ * @param angle defines the rotation angle
180
+ * @param result defines the target matrix
181
+ */
182
+ Matrix2D.RotationToRef = function (angle, result) {
183
+ var s = Math.sin(angle);
184
+ var c = Math.cos(angle);
185
+ result.fromValues(c, s, -s, c, 0, 0);
186
+ };
187
+ /**
188
+ * Composes a matrix from translation, rotation, scaling and parent matrix and stores it in a target matrix
189
+ * @param tx defines the x coordinate of the translation
190
+ * @param ty defines the y coordinate of the translation
191
+ * @param angle defines the rotation angle
192
+ * @param scaleX defines the x coordinate of the scaling
193
+ * @param scaleY defines the y coordinate of the scaling
194
+ * @param parentMatrix defines the parent matrix to multiply by (can be null)
195
+ * @param result defines the target matrix
196
+ */
197
+ Matrix2D.ComposeToRef = function (tx, ty, angle, scaleX, scaleY, parentMatrix, result) {
198
+ Matrix2D.TranslationToRef(tx, ty, Matrix2D._TempPreTranslationMatrix);
199
+ Matrix2D.ScalingToRef(scaleX, scaleY, Matrix2D._TempScalingMatrix);
200
+ Matrix2D.RotationToRef(angle, Matrix2D._TempRotationMatrix);
201
+ Matrix2D.TranslationToRef(-tx, -ty, Matrix2D._TempPostTranslationMatrix);
202
+ Matrix2D._TempPreTranslationMatrix.multiplyToRef(Matrix2D._TempScalingMatrix, Matrix2D._TempCompose0);
203
+ Matrix2D._TempCompose0.multiplyToRef(Matrix2D._TempRotationMatrix, Matrix2D._TempCompose1);
204
+ if (parentMatrix) {
205
+ Matrix2D._TempCompose1.multiplyToRef(Matrix2D._TempPostTranslationMatrix, Matrix2D._TempCompose2);
206
+ Matrix2D._TempCompose2.multiplyToRef(parentMatrix, result);
207
+ }
208
+ else {
209
+ Matrix2D._TempCompose1.multiplyToRef(Matrix2D._TempPostTranslationMatrix, result);
210
+ }
211
+ };
212
+ Matrix2D._TempPreTranslationMatrix = Matrix2D.Identity();
213
+ Matrix2D._TempPostTranslationMatrix = Matrix2D.Identity();
214
+ Matrix2D._TempRotationMatrix = Matrix2D.Identity();
215
+ Matrix2D._TempScalingMatrix = Matrix2D.Identity();
216
+ Matrix2D._TempCompose0 = Matrix2D.Identity();
217
+ Matrix2D._TempCompose1 = Matrix2D.Identity();
218
+ Matrix2D._TempCompose2 = Matrix2D.Identity();
219
+ return Matrix2D;
220
+ }());
221
+ export { Matrix2D };
222
222
  //# sourceMappingURL=math2D.js.map
package/2D/measure.d.ts CHANGED
@@ -1,77 +1,77 @@
1
- import { Matrix2D } from "./math2D";
2
- /**
3
- * Class used to store 2D control sizes
4
- */
5
- export declare class Measure {
6
- /** defines left coordinate */
7
- left: number;
8
- /** defines top coordinate */
9
- top: number;
10
- /** defines width dimension */
11
- width: number;
12
- /** defines height dimension */
13
- height: number;
14
- /**
15
- * Creates a new measure
16
- * @param left defines left coordinate
17
- * @param top defines top coordinate
18
- * @param width defines width dimension
19
- * @param height defines height dimension
20
- */
21
- constructor(
22
- /** defines left coordinate */
23
- left: number,
24
- /** defines top coordinate */
25
- top: number,
26
- /** defines width dimension */
27
- width: number,
28
- /** defines height dimension */
29
- height: number);
30
- /**
31
- * Copy from another measure
32
- * @param other defines the other measure to copy from
33
- */
34
- copyFrom(other: Measure): void;
35
- /**
36
- * Copy from a group of 4 floats
37
- * @param left defines left coordinate
38
- * @param top defines top coordinate
39
- * @param width defines width dimension
40
- * @param height defines height dimension
41
- */
42
- copyFromFloats(left: number, top: number, width: number, height: number): void;
43
- /**
44
- * Computes the axis aligned bounding box measure for two given measures
45
- * @param a Input measure
46
- * @param b Input measure
47
- * @param result the resulting bounding measure
48
- */
49
- static CombineToRef(a: Measure, b: Measure, result: Measure): void;
50
- /**
51
- * Computes the axis aligned bounding box of the measure after it is modified by a given transform
52
- * @param transform the matrix to transform the measure before computing the AABB
53
- * @param addX number to add to left
54
- * @param addY number to add to top
55
- * @param addWidth number to add to width
56
- * @param addHeight number to add to height
57
- * @param result the resulting AABB
58
- */
59
- addAndTransformToRef(transform: Matrix2D, addX: number, addY: number, addWidth: number, addHeight: number, result: Measure): void;
60
- /**
61
- * Computes the axis aligned bounding box of the measure after it is modified by a given transform
62
- * @param transform the matrix to transform the measure before computing the AABB
63
- * @param result the resulting AABB
64
- */
65
- transformToRef(transform: Matrix2D, result: Measure): void;
66
- /**
67
- * Check equality between this measure and another one
68
- * @param other defines the other measures
69
- * @returns true if both measures are equals
70
- */
71
- isEqualsTo(other: Measure): boolean;
72
- /**
73
- * Creates an empty measure
74
- * @returns a new measure
75
- */
76
- static Empty(): Measure;
77
- }
1
+ import { Matrix2D } from "./math2D";
2
+ /**
3
+ * Class used to store 2D control sizes
4
+ */
5
+ export declare class Measure {
6
+ /** defines left coordinate */
7
+ left: number;
8
+ /** defines top coordinate */
9
+ top: number;
10
+ /** defines width dimension */
11
+ width: number;
12
+ /** defines height dimension */
13
+ height: number;
14
+ /**
15
+ * Creates a new measure
16
+ * @param left defines left coordinate
17
+ * @param top defines top coordinate
18
+ * @param width defines width dimension
19
+ * @param height defines height dimension
20
+ */
21
+ constructor(
22
+ /** defines left coordinate */
23
+ left: number,
24
+ /** defines top coordinate */
25
+ top: number,
26
+ /** defines width dimension */
27
+ width: number,
28
+ /** defines height dimension */
29
+ height: number);
30
+ /**
31
+ * Copy from another measure
32
+ * @param other defines the other measure to copy from
33
+ */
34
+ copyFrom(other: Measure): void;
35
+ /**
36
+ * Copy from a group of 4 floats
37
+ * @param left defines left coordinate
38
+ * @param top defines top coordinate
39
+ * @param width defines width dimension
40
+ * @param height defines height dimension
41
+ */
42
+ copyFromFloats(left: number, top: number, width: number, height: number): void;
43
+ /**
44
+ * Computes the axis aligned bounding box measure for two given measures
45
+ * @param a Input measure
46
+ * @param b Input measure
47
+ * @param result the resulting bounding measure
48
+ */
49
+ static CombineToRef(a: Measure, b: Measure, result: Measure): void;
50
+ /**
51
+ * Computes the axis aligned bounding box of the measure after it is modified by a given transform
52
+ * @param transform the matrix to transform the measure before computing the AABB
53
+ * @param addX number to add to left
54
+ * @param addY number to add to top
55
+ * @param addWidth number to add to width
56
+ * @param addHeight number to add to height
57
+ * @param result the resulting AABB
58
+ */
59
+ addAndTransformToRef(transform: Matrix2D, addX: number, addY: number, addWidth: number, addHeight: number, result: Measure): void;
60
+ /**
61
+ * Computes the axis aligned bounding box of the measure after it is modified by a given transform
62
+ * @param transform the matrix to transform the measure before computing the AABB
63
+ * @param result the resulting AABB
64
+ */
65
+ transformToRef(transform: Matrix2D, result: Measure): void;
66
+ /**
67
+ * Check equality between this measure and another one
68
+ * @param other defines the other measures
69
+ * @returns true if both measures are equals
70
+ */
71
+ isEqualsTo(other: Measure): boolean;
72
+ /**
73
+ * Creates an empty measure
74
+ * @returns a new measure
75
+ */
76
+ static Empty(): Measure;
77
+ }