@math.gl/core 3.6.3 → 4.0.0-alpha.2

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 (210) hide show
  1. package/dist/classes/base/math-array.d.ts +5 -4
  2. package/dist/classes/base/math-array.d.ts.map +1 -1
  3. package/dist/{esm/classes → classes}/base/math-array.js +8 -3
  4. package/dist/classes/base/math-array.js.map +1 -0
  5. package/dist/classes/base/matrix.d.ts +2 -2
  6. package/dist/classes/base/matrix.d.ts.map +1 -1
  7. package/dist/{esm/classes → classes}/base/matrix.js +4 -4
  8. package/dist/classes/base/matrix.js.map +1 -0
  9. package/dist/classes/base/vector.d.ts +2 -2
  10. package/dist/classes/base/vector.d.ts.map +1 -1
  11. package/dist/{esm/classes → classes}/base/vector.js +4 -4
  12. package/dist/classes/base/vector.js.map +1 -0
  13. package/dist/classes/euler.d.ts +4 -4
  14. package/dist/classes/euler.d.ts.map +1 -1
  15. package/dist/{esm/classes → classes}/euler.js +6 -6
  16. package/dist/classes/euler.js.map +1 -0
  17. package/dist/classes/matrix3.d.ts +5 -2
  18. package/dist/classes/matrix3.d.ts.map +1 -1
  19. package/dist/{esm/classes → classes}/matrix3.js +20 -20
  20. package/dist/classes/matrix3.js.map +1 -0
  21. package/dist/classes/matrix4.d.ts +2 -2
  22. package/dist/classes/matrix4.d.ts.map +1 -1
  23. package/dist/{esm/classes → classes}/matrix4.js +27 -27
  24. package/dist/classes/matrix4.js.map +1 -0
  25. package/dist/classes/pose.d.ts +4 -4
  26. package/dist/classes/pose.d.ts.map +1 -1
  27. package/dist/{esm/classes → classes}/pose.js +4 -4
  28. package/dist/classes/pose.js.map +1 -0
  29. package/dist/classes/quaternion.d.ts +2 -2
  30. package/dist/classes/quaternion.d.ts.map +1 -1
  31. package/dist/{esm/classes → classes}/quaternion.js +26 -26
  32. package/dist/classes/quaternion.js.map +1 -0
  33. package/dist/classes/spherical-coordinates.d.ts +2 -2
  34. package/dist/classes/spherical-coordinates.d.ts.map +1 -1
  35. package/dist/{esm/classes → classes}/spherical-coordinates.js +5 -5
  36. package/dist/classes/spherical-coordinates.js.map +1 -0
  37. package/dist/classes/vector2.d.ts +2 -2
  38. package/dist/classes/vector2.d.ts.map +1 -1
  39. package/dist/{esm/classes → classes}/vector2.js +10 -10
  40. package/dist/classes/vector2.js.map +1 -0
  41. package/dist/classes/vector3.d.ts +2 -2
  42. package/dist/classes/vector3.d.ts.map +1 -1
  43. package/dist/{esm/classes → classes}/vector3.js +14 -14
  44. package/dist/classes/vector3.js.map +1 -0
  45. package/dist/classes/vector4.d.ts +3 -3
  46. package/dist/classes/vector4.d.ts.map +1 -1
  47. package/dist/{esm/classes → classes}/vector4.js +8 -8
  48. package/dist/classes/vector4.js.map +1 -0
  49. package/dist/gl-matrix/common.d.ts +38 -0
  50. package/dist/gl-matrix/common.d.ts.map +1 -0
  51. package/dist/gl-matrix/common.js +19 -0
  52. package/dist/gl-matrix/common.js.map +1 -0
  53. package/dist/gl-matrix/mat3.d.ts +295 -0
  54. package/dist/gl-matrix/mat3.d.ts.map +1 -0
  55. package/dist/gl-matrix/mat3.js +489 -0
  56. package/dist/gl-matrix/mat3.js.map +1 -0
  57. package/dist/gl-matrix/mat4.d.ts +577 -0
  58. package/dist/gl-matrix/mat4.d.ts.map +1 -0
  59. package/dist/gl-matrix/mat4.js +1455 -0
  60. package/dist/gl-matrix/mat4.js.map +1 -0
  61. package/dist/gl-matrix/quat.d.ts +357 -0
  62. package/dist/gl-matrix/quat.d.ts.map +1 -0
  63. package/dist/gl-matrix/quat.js +315 -0
  64. package/dist/gl-matrix/quat.js.map +1 -0
  65. package/dist/gl-matrix/vec2.d.ts +373 -0
  66. package/dist/gl-matrix/vec2.d.ts.map +1 -0
  67. package/dist/gl-matrix/vec2.js +257 -0
  68. package/dist/gl-matrix/vec2.js.map +1 -0
  69. package/dist/gl-matrix/vec3.d.ts +416 -0
  70. package/dist/gl-matrix/vec3.d.ts.map +1 -0
  71. package/dist/gl-matrix/vec3.js +384 -0
  72. package/dist/gl-matrix/vec3.js.map +1 -0
  73. package/dist/gl-matrix/vec4.d.ts +340 -0
  74. package/dist/gl-matrix/vec4.d.ts.map +1 -0
  75. package/dist/gl-matrix/vec4.js +334 -0
  76. package/dist/gl-matrix/vec4.js.map +1 -0
  77. package/dist/gl-matrix/wip/index.d.ts +5 -0
  78. package/dist/gl-matrix/wip/index.d.ts.map +1 -0
  79. package/dist/gl-matrix/wip/index.js +12 -0
  80. package/dist/gl-matrix/wip/index.js.map +1 -0
  81. package/dist/gl-matrix/wip/mat2.d.ts +229 -0
  82. package/dist/gl-matrix/wip/mat2.d.ts.map +1 -0
  83. package/dist/gl-matrix/wip/mat2.js +208 -0
  84. package/dist/gl-matrix/wip/mat2.js.map +1 -0
  85. package/dist/gl-matrix/wip/mat2d.d.ts +244 -0
  86. package/dist/gl-matrix/wip/mat2d.d.ts.map +1 -0
  87. package/dist/gl-matrix/wip/mat2d.js +251 -0
  88. package/dist/gl-matrix/wip/mat2d.js.map +1 -0
  89. package/dist/gl-matrix/wip/quat2.d.ts +352 -0
  90. package/dist/gl-matrix/wip/quat2.d.ts.map +1 -0
  91. package/dist/gl-matrix/wip/quat2.js +482 -0
  92. package/dist/gl-matrix/wip/quat2.js.map +1 -0
  93. package/dist/gl-matrix/wip/types.d.js +2 -0
  94. package/dist/{esm/lib/gl-matrix.d.js.map → gl-matrix/wip/types.d.js.map} +1 -1
  95. package/dist/index.cjs +3788 -0
  96. package/dist/index.d.ts +15 -14
  97. package/dist/index.d.ts.map +1 -1
  98. package/dist/index.js +17 -0
  99. package/dist/index.js.map +1 -0
  100. package/dist/lib/assert.d.ts +1 -1
  101. package/dist/lib/assert.d.ts.map +1 -1
  102. package/dist/lib/assert.js +6 -0
  103. package/dist/lib/assert.js.map +1 -0
  104. package/dist/lib/common.d.ts +10 -5
  105. package/dist/lib/common.d.ts.map +1 -1
  106. package/dist/{esm/lib → lib}/common.js +11 -9
  107. package/dist/lib/common.js.map +1 -0
  108. package/dist/lib/gl-matrix-extras.js.map +1 -0
  109. package/dist/lib/math-utils.d.ts +24 -27
  110. package/dist/lib/math-utils.d.ts.map +1 -1
  111. package/dist/lib/math-utils.js +25 -0
  112. package/dist/lib/math-utils.js.map +1 -0
  113. package/dist/lib/validators.d.ts +1 -1
  114. package/dist/lib/validators.d.ts.map +1 -1
  115. package/dist/{esm/lib → lib}/validators.js +2 -2
  116. package/dist/lib/validators.js.map +1 -0
  117. package/package.json +6 -6
  118. package/src/classes/base/math-array.ts +16 -8
  119. package/src/classes/base/matrix.ts +7 -4
  120. package/src/classes/base/vector.ts +4 -4
  121. package/src/classes/euler.ts +9 -8
  122. package/src/classes/matrix3.ts +37 -24
  123. package/src/classes/matrix4.ts +48 -29
  124. package/src/classes/pose.ts +4 -4
  125. package/src/classes/quaternion.ts +54 -32
  126. package/src/classes/spherical-coordinates.ts +5 -4
  127. package/src/classes/vector2.ts +13 -9
  128. package/src/classes/vector3.ts +26 -12
  129. package/src/classes/vector4.ts +14 -10
  130. package/src/gl-matrix/common.js +58 -0
  131. package/src/gl-matrix/mat3.js +842 -0
  132. package/src/gl-matrix/mat4.js +2169 -0
  133. package/src/gl-matrix/quat.ts +789 -0
  134. package/src/gl-matrix/vec2.js +629 -0
  135. package/src/gl-matrix/vec3.js +827 -0
  136. package/src/gl-matrix/vec4.js +675 -0
  137. package/src/gl-matrix/wip/index.js +15 -0
  138. package/src/gl-matrix/wip/mat2.js +442 -0
  139. package/src/gl-matrix/wip/mat2d.js +505 -0
  140. package/src/gl-matrix/wip/quat2.ts +886 -0
  141. package/src/gl-matrix/wip/types.d.ts +93 -0
  142. package/src/index.ts +16 -14
  143. package/src/lib/assert.ts +1 -1
  144. package/src/lib/common.ts +31 -19
  145. package/src/lib/math-utils.ts +24 -26
  146. package/src/lib/validators.ts +3 -3
  147. package/dist/es5/classes/base/math-array.js +0 -348
  148. package/dist/es5/classes/base/math-array.js.map +0 -1
  149. package/dist/es5/classes/base/matrix.js +0 -108
  150. package/dist/es5/classes/base/matrix.js.map +0 -1
  151. package/dist/es5/classes/base/vector.js +0 -210
  152. package/dist/es5/classes/base/vector.js.map +0 -1
  153. package/dist/es5/classes/euler.js +0 -654
  154. package/dist/es5/classes/euler.js.map +0 -1
  155. package/dist/es5/classes/matrix3.js +0 -284
  156. package/dist/es5/classes/matrix3.js.map +0 -1
  157. package/dist/es5/classes/matrix4.js +0 -574
  158. package/dist/es5/classes/matrix4.js.map +0 -1
  159. package/dist/es5/classes/pose.js +0 -159
  160. package/dist/es5/classes/pose.js.map +0 -1
  161. package/dist/es5/classes/quaternion.js +0 -323
  162. package/dist/es5/classes/quaternion.js.map +0 -1
  163. package/dist/es5/classes/spherical-coordinates.js +0 -208
  164. package/dist/es5/classes/spherical-coordinates.js.map +0 -1
  165. package/dist/es5/classes/vector2.js +0 -156
  166. package/dist/es5/classes/vector2.js.map +0 -1
  167. package/dist/es5/classes/vector3.js +0 -213
  168. package/dist/es5/classes/vector3.js.map +0 -1
  169. package/dist/es5/classes/vector4.js +0 -185
  170. package/dist/es5/classes/vector4.js.map +0 -1
  171. package/dist/es5/docs/README.md +0 -0
  172. package/dist/es5/index.js +0 -236
  173. package/dist/es5/index.js.map +0 -1
  174. package/dist/es5/lib/assert.js +0 -13
  175. package/dist/es5/lib/assert.js.map +0 -1
  176. package/dist/es5/lib/common.js +0 -255
  177. package/dist/es5/lib/common.js.map +0 -1
  178. package/dist/es5/lib/gl-matrix-extras.js +0 -61
  179. package/dist/es5/lib/gl-matrix-extras.js.map +0 -1
  180. package/dist/es5/lib/gl-matrix.d.js +0 -2
  181. package/dist/es5/lib/math-utils.js +0 -34
  182. package/dist/es5/lib/math-utils.js.map +0 -1
  183. package/dist/es5/lib/validators.js +0 -53
  184. package/dist/es5/lib/validators.js.map +0 -1
  185. package/dist/esm/classes/base/math-array.js.map +0 -1
  186. package/dist/esm/classes/base/matrix.js.map +0 -1
  187. package/dist/esm/classes/base/vector.js.map +0 -1
  188. package/dist/esm/classes/euler.js.map +0 -1
  189. package/dist/esm/classes/matrix3.js.map +0 -1
  190. package/dist/esm/classes/matrix4.js.map +0 -1
  191. package/dist/esm/classes/pose.js.map +0 -1
  192. package/dist/esm/classes/quaternion.js.map +0 -1
  193. package/dist/esm/classes/spherical-coordinates.js.map +0 -1
  194. package/dist/esm/classes/vector2.js.map +0 -1
  195. package/dist/esm/classes/vector3.js.map +0 -1
  196. package/dist/esm/classes/vector4.js.map +0 -1
  197. package/dist/esm/docs/README.md +0 -0
  198. package/dist/esm/index.js +0 -16
  199. package/dist/esm/index.js.map +0 -1
  200. package/dist/esm/lib/assert.js +0 -6
  201. package/dist/esm/lib/assert.js.map +0 -1
  202. package/dist/esm/lib/common.js.map +0 -1
  203. package/dist/esm/lib/gl-matrix-extras.js.map +0 -1
  204. package/dist/esm/lib/math-utils.js +0 -27
  205. package/dist/esm/lib/math-utils.js.map +0 -1
  206. package/dist/esm/lib/validators.js.map +0 -1
  207. package/src/docs/README.md +0 -0
  208. /package/dist/{esm/lib → lib}/gl-matrix-extras.js +0 -0
  209. /package/dist/{esm/lib → lib}/gl-matrix.d.js +0 -0
  210. /package/dist/{es5/lib → lib}/gl-matrix.d.js.map +0 -0
@@ -0,0 +1,340 @@
1
+ /**
2
+ * 4 Dimensional Vector
3
+ * @module vec4
4
+ */
5
+ /**
6
+ * Creates a new, empty vec4
7
+ *
8
+ * @returns {vec4} a new 4D vector
9
+ */
10
+ export function create(): vec4;
11
+ /**
12
+ * Creates a new vec4 initialized with values from an existing vector
13
+ *
14
+ * @param {ReadonlyVec4} a vector to clone
15
+ * @returns {vec4} a new 4D vector
16
+ */
17
+ export function clone(a: ReadonlyVec4): vec4;
18
+ /**
19
+ * Creates a new vec4 initialized with the given values
20
+ *
21
+ * @param {Number} x X component
22
+ * @param {Number} y Y component
23
+ * @param {Number} z Z component
24
+ * @param {Number} w W component
25
+ * @returns {vec4} a new 4D vector
26
+ */
27
+ export function fromValues(x: number, y: number, z: number, w: number): vec4;
28
+ /**
29
+ * Copy the values from one vec4 to another
30
+ *
31
+ * @param {vec4} out the receiving vector
32
+ * @param {ReadonlyVec4} a the source vector
33
+ * @returns {vec4} out
34
+ */
35
+ export function copy(out: vec4, a: ReadonlyVec4): vec4;
36
+ /**
37
+ * Set the components of a vec4 to the given values
38
+ *
39
+ * @param {vec4} out the receiving vector
40
+ * @param {Number} x X component
41
+ * @param {Number} y Y component
42
+ * @param {Number} z Z component
43
+ * @param {Number} w W component
44
+ * @returns {vec4} out
45
+ */
46
+ export function set(out: vec4, x: number, y: number, z: number, w: number): vec4;
47
+ /**
48
+ * Adds two vec4's
49
+ *
50
+ * @param {vec4} out the receiving vector
51
+ * @param {ReadonlyVec4} a the first operand
52
+ * @param {ReadonlyVec4} b the second operand
53
+ * @returns {vec4} out
54
+ */
55
+ export function add(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
56
+ /**
57
+ * Subtracts vector b from vector a
58
+ *
59
+ * @param {vec4} out the receiving vector
60
+ * @param {ReadonlyVec4} a the first operand
61
+ * @param {ReadonlyVec4} b the second operand
62
+ * @returns {vec4} out
63
+ */
64
+ export function subtract(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
65
+ /**
66
+ * Multiplies two vec4's
67
+ *
68
+ * @param {vec4} out the receiving vector
69
+ * @param {ReadonlyVec4} a the first operand
70
+ * @param {ReadonlyVec4} b the second operand
71
+ * @returns {vec4} out
72
+ */
73
+ export function multiply(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
74
+ /**
75
+ * Divides two vec4's
76
+ *
77
+ * @param {vec4} out the receiving vector
78
+ * @param {ReadonlyVec4} a the first operand
79
+ * @param {ReadonlyVec4} b the second operand
80
+ * @returns {vec4} out
81
+ */
82
+ export function divide(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
83
+ /**
84
+ * Math.ceil the components of a vec4
85
+ *
86
+ * @param {vec4} out the receiving vector
87
+ * @param {ReadonlyVec4} a vector to ceil
88
+ * @returns {vec4} out
89
+ */
90
+ export function ceil(out: vec4, a: ReadonlyVec4): vec4;
91
+ /**
92
+ * Math.floor the components of a vec4
93
+ *
94
+ * @param {vec4} out the receiving vector
95
+ * @param {ReadonlyVec4} a vector to floor
96
+ * @returns {vec4} out
97
+ */
98
+ export function floor(out: vec4, a: ReadonlyVec4): vec4;
99
+ /**
100
+ * Returns the minimum of two vec4's
101
+ *
102
+ * @param {vec4} out the receiving vector
103
+ * @param {ReadonlyVec4} a the first operand
104
+ * @param {ReadonlyVec4} b the second operand
105
+ * @returns {vec4} out
106
+ */
107
+ export function min(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
108
+ /**
109
+ * Returns the maximum of two vec4's
110
+ *
111
+ * @param {vec4} out the receiving vector
112
+ * @param {ReadonlyVec4} a the first operand
113
+ * @param {ReadonlyVec4} b the second operand
114
+ * @returns {vec4} out
115
+ */
116
+ export function max(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
117
+ /**
118
+ * symmetric round the components of a vec4
119
+ *
120
+ * @param {vec4} out the receiving vector
121
+ * @param {ReadonlyVec4} a vector to round
122
+ * @returns {vec4} out
123
+ */
124
+ export function round(out: vec4, a: ReadonlyVec4): vec4;
125
+ /**
126
+ * Scales a vec4 by a scalar number
127
+ *
128
+ * @param {vec4} out the receiving vector
129
+ * @param {ReadonlyVec4} a the vector to scale
130
+ * @param {Number} b amount to scale the vector by
131
+ * @returns {vec4} out
132
+ */
133
+ export function scale(out: vec4, a: ReadonlyVec4, b: number): vec4;
134
+ /**
135
+ * Adds two vec4's after scaling the second operand by a scalar value
136
+ *
137
+ * @param {vec4} out the receiving vector
138
+ * @param {ReadonlyVec4} a the first operand
139
+ * @param {ReadonlyVec4} b the second operand
140
+ * @param {Number} scale the amount to scale b by before adding
141
+ * @returns {vec4} out
142
+ */
143
+ export function scaleAndAdd(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4, scale: number): vec4;
144
+ /**
145
+ * Calculates the euclidian distance between two vec4's
146
+ *
147
+ * @param {ReadonlyVec4} a the first operand
148
+ * @param {ReadonlyVec4} b the second operand
149
+ * @returns {Number} distance between a and b
150
+ */
151
+ export function distance(a: ReadonlyVec4, b: ReadonlyVec4): number;
152
+ /**
153
+ * Calculates the squared euclidian distance between two vec4's
154
+ *
155
+ * @param {ReadonlyVec4} a the first operand
156
+ * @param {ReadonlyVec4} b the second operand
157
+ * @returns {Number} squared distance between a and b
158
+ */
159
+ export function squaredDistance(a: ReadonlyVec4, b: ReadonlyVec4): number;
160
+ /**
161
+ * Calculates the length of a vec4
162
+ *
163
+ * @param {ReadonlyVec4} a vector to calculate length of
164
+ * @returns {Number} length of a
165
+ */
166
+ export function length(a: ReadonlyVec4): number;
167
+ /**
168
+ * Calculates the squared length of a vec4
169
+ *
170
+ * @param {ReadonlyVec4} a vector to calculate squared length of
171
+ * @returns {Number} squared length of a
172
+ */
173
+ export function squaredLength(a: ReadonlyVec4): number;
174
+ /**
175
+ * Negates the components of a vec4
176
+ *
177
+ * @param {vec4} out the receiving vector
178
+ * @param {ReadonlyVec4} a vector to negate
179
+ * @returns {vec4} out
180
+ */
181
+ export function negate(out: vec4, a: ReadonlyVec4): vec4;
182
+ /**
183
+ * Returns the inverse of the components of a vec4
184
+ *
185
+ * @param {vec4} out the receiving vector
186
+ * @param {ReadonlyVec4} a vector to invert
187
+ * @returns {vec4} out
188
+ */
189
+ export function inverse(out: vec4, a: ReadonlyVec4): vec4;
190
+ /**
191
+ * Normalize a vec4
192
+ *
193
+ * @param {vec4} out the receiving vector
194
+ * @param {ReadonlyVec4} a vector to normalize
195
+ * @returns {vec4} out
196
+ */
197
+ export function normalize(out: vec4, a: ReadonlyVec4): vec4;
198
+ /**
199
+ * Calculates the dot product of two vec4's
200
+ *
201
+ * @param {ReadonlyVec4} a the first operand
202
+ * @param {ReadonlyVec4} b the second operand
203
+ * @returns {Number} dot product of a and b
204
+ */
205
+ export function dot(a: ReadonlyVec4, b: ReadonlyVec4): number;
206
+ /**
207
+ * Returns the cross-product of three vectors in a 4-dimensional space
208
+ *
209
+ * @param {ReadonlyVec4} result the receiving vector
210
+ * @param {ReadonlyVec4} U the first vector
211
+ * @param {ReadonlyVec4} V the second vector
212
+ * @param {ReadonlyVec4} W the third vector
213
+ * @returns {vec4} result
214
+ */
215
+ export function cross(out: any, u: any, v: any, w: any): vec4;
216
+ /**
217
+ * Performs a linear interpolation between two vec4's
218
+ *
219
+ * @param {vec4} out the receiving vector
220
+ * @param {ReadonlyVec4} a the first operand
221
+ * @param {ReadonlyVec4} b the second operand
222
+ * @param {Number} t interpolation amount, in the range [0-1], between the two inputs
223
+ * @returns {vec4} out
224
+ */
225
+ export function lerp(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4, t: number): vec4;
226
+ /**
227
+ * Generates a random vector with the given scale
228
+ *
229
+ * @param {vec4} out the receiving vector
230
+ * @param {Number} [scale] Length of the resulting vector. If omitted, a unit vector will be returned
231
+ * @returns {vec4} out
232
+ */
233
+ export function random(out: vec4, scale?: number): vec4;
234
+ /**
235
+ * Transforms the vec4 with a mat4.
236
+ *
237
+ * @param {vec4} out the receiving vector
238
+ * @param {ReadonlyVec4} a the vector to transform
239
+ * @param {ReadonlyMat4} m matrix to transform with
240
+ * @returns {vec4} out
241
+ */
242
+ export function transformMat4(out: vec4, a: ReadonlyVec4, m: ReadonlyMat4): vec4;
243
+ /**
244
+ * Transforms the vec4 with a quat
245
+ *
246
+ * @param {vec4} out the receiving vector
247
+ * @param {ReadonlyVec4} a the vector to transform
248
+ * @param {ReadonlyQuat} q quaternion to transform with
249
+ * @returns {vec4} out
250
+ */
251
+ export function transformQuat(out: vec4, a: ReadonlyVec4, q: ReadonlyQuat): vec4;
252
+ /**
253
+ * Set the components of a vec4 to zero
254
+ *
255
+ * @param {vec4} out the receiving vector
256
+ * @returns {vec4} out
257
+ */
258
+ export function zero(out: vec4): vec4;
259
+ /**
260
+ * Returns a string representation of a vector
261
+ *
262
+ * @param {ReadonlyVec4} a vector to represent as a string
263
+ * @returns {String} string representation of the vector
264
+ */
265
+ export function str(a: ReadonlyVec4): string;
266
+ /**
267
+ * Returns whether or not the vectors have exactly the same elements in the same position (when compared with ===)
268
+ *
269
+ * @param {ReadonlyVec4} a The first vector.
270
+ * @param {ReadonlyVec4} b The second vector.
271
+ * @returns {Boolean} True if the vectors are equal, false otherwise.
272
+ */
273
+ export function exactEquals(a: ReadonlyVec4, b: ReadonlyVec4): boolean;
274
+ /**
275
+ * Returns whether or not the vectors have approximately the same elements in the same position.
276
+ *
277
+ * @param {ReadonlyVec4} a The first vector.
278
+ * @param {ReadonlyVec4} b The second vector.
279
+ * @returns {Boolean} True if the vectors are equal, false otherwise.
280
+ */
281
+ export function equals(a: ReadonlyVec4, b: ReadonlyVec4): boolean;
282
+ /**
283
+ * Subtracts vector b from vector a
284
+ *
285
+ * @param {vec4} out the receiving vector
286
+ * @param {ReadonlyVec4} a the first operand
287
+ * @param {ReadonlyVec4} b the second operand
288
+ * @returns {vec4} out
289
+ */
290
+ export function sub(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
291
+ /**
292
+ * Multiplies two vec4's
293
+ *
294
+ * @param {vec4} out the receiving vector
295
+ * @param {ReadonlyVec4} a the first operand
296
+ * @param {ReadonlyVec4} b the second operand
297
+ * @returns {vec4} out
298
+ */
299
+ export function mul(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
300
+ /**
301
+ * Divides two vec4's
302
+ *
303
+ * @param {vec4} out the receiving vector
304
+ * @param {ReadonlyVec4} a the first operand
305
+ * @param {ReadonlyVec4} b the second operand
306
+ * @returns {vec4} out
307
+ */
308
+ export function div(out: vec4, a: ReadonlyVec4, b: ReadonlyVec4): vec4;
309
+ /**
310
+ * Calculates the euclidian distance between two vec4's
311
+ *
312
+ * @param {ReadonlyVec4} a the first operand
313
+ * @param {ReadonlyVec4} b the second operand
314
+ * @returns {Number} distance between a and b
315
+ */
316
+ export function dist(a: ReadonlyVec4, b: ReadonlyVec4): number;
317
+ /**
318
+ * Calculates the squared euclidian distance between two vec4's
319
+ *
320
+ * @param {ReadonlyVec4} a the first operand
321
+ * @param {ReadonlyVec4} b the second operand
322
+ * @returns {Number} squared distance between a and b
323
+ */
324
+ export function sqrDist(a: ReadonlyVec4, b: ReadonlyVec4): number;
325
+ /**
326
+ * Calculates the length of a vec4
327
+ *
328
+ * @param {ReadonlyVec4} a vector to calculate length of
329
+ * @returns {Number} length of a
330
+ */
331
+ export function len(a: ReadonlyVec4): number;
332
+ /**
333
+ * Calculates the squared length of a vec4
334
+ *
335
+ * @param {ReadonlyVec4} a vector to calculate squared length of
336
+ * @returns {Number} squared length of a
337
+ */
338
+ export function sqrLen(a: ReadonlyVec4): number;
339
+ export function forEach(a: any, stride: any, offset: any, count: any, fn: any, arg: any): any;
340
+ //# sourceMappingURL=vec4.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vec4.d.ts","sourceRoot":"","sources":["../../src/gl-matrix/vec4.js"],"names":[],"mappings":"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"}
@@ -0,0 +1,334 @@
1
+ import * as glMatrix from './common.js';
2
+ export function create() {
3
+ const out = new glMatrix.ARRAY_TYPE(4);
4
+
5
+ if (glMatrix.ARRAY_TYPE != Float32Array) {
6
+ out[0] = 0;
7
+ out[1] = 0;
8
+ out[2] = 0;
9
+ out[3] = 0;
10
+ }
11
+
12
+ return out;
13
+ }
14
+ export function clone(a) {
15
+ const out = new glMatrix.ARRAY_TYPE(4);
16
+ out[0] = a[0];
17
+ out[1] = a[1];
18
+ out[2] = a[2];
19
+ out[3] = a[3];
20
+ return out;
21
+ }
22
+ export function fromValues(x, y, z, w) {
23
+ const out = new glMatrix.ARRAY_TYPE(4);
24
+ out[0] = x;
25
+ out[1] = y;
26
+ out[2] = z;
27
+ out[3] = w;
28
+ return out;
29
+ }
30
+ export function copy(out, a) {
31
+ out[0] = a[0];
32
+ out[1] = a[1];
33
+ out[2] = a[2];
34
+ out[3] = a[3];
35
+ return out;
36
+ }
37
+ export function set(out, x, y, z, w) {
38
+ out[0] = x;
39
+ out[1] = y;
40
+ out[2] = z;
41
+ out[3] = w;
42
+ return out;
43
+ }
44
+ export function add(out, a, b) {
45
+ out[0] = a[0] + b[0];
46
+ out[1] = a[1] + b[1];
47
+ out[2] = a[2] + b[2];
48
+ out[3] = a[3] + b[3];
49
+ return out;
50
+ }
51
+ export function subtract(out, a, b) {
52
+ out[0] = a[0] - b[0];
53
+ out[1] = a[1] - b[1];
54
+ out[2] = a[2] - b[2];
55
+ out[3] = a[3] - b[3];
56
+ return out;
57
+ }
58
+ export function multiply(out, a, b) {
59
+ out[0] = a[0] * b[0];
60
+ out[1] = a[1] * b[1];
61
+ out[2] = a[2] * b[2];
62
+ out[3] = a[3] * b[3];
63
+ return out;
64
+ }
65
+ export function divide(out, a, b) {
66
+ out[0] = a[0] / b[0];
67
+ out[1] = a[1] / b[1];
68
+ out[2] = a[2] / b[2];
69
+ out[3] = a[3] / b[3];
70
+ return out;
71
+ }
72
+ export function ceil(out, a) {
73
+ out[0] = Math.ceil(a[0]);
74
+ out[1] = Math.ceil(a[1]);
75
+ out[2] = Math.ceil(a[2]);
76
+ out[3] = Math.ceil(a[3]);
77
+ return out;
78
+ }
79
+ export function floor(out, a) {
80
+ out[0] = Math.floor(a[0]);
81
+ out[1] = Math.floor(a[1]);
82
+ out[2] = Math.floor(a[2]);
83
+ out[3] = Math.floor(a[3]);
84
+ return out;
85
+ }
86
+ export function min(out, a, b) {
87
+ out[0] = Math.min(a[0], b[0]);
88
+ out[1] = Math.min(a[1], b[1]);
89
+ out[2] = Math.min(a[2], b[2]);
90
+ out[3] = Math.min(a[3], b[3]);
91
+ return out;
92
+ }
93
+ export function max(out, a, b) {
94
+ out[0] = Math.max(a[0], b[0]);
95
+ out[1] = Math.max(a[1], b[1]);
96
+ out[2] = Math.max(a[2], b[2]);
97
+ out[3] = Math.max(a[3], b[3]);
98
+ return out;
99
+ }
100
+ export function round(out, a) {
101
+ out[0] = glMatrix.round(a[0]);
102
+ out[1] = glMatrix.round(a[1]);
103
+ out[2] = glMatrix.round(a[2]);
104
+ out[3] = glMatrix.round(a[3]);
105
+ return out;
106
+ }
107
+ export function scale(out, a, b) {
108
+ out[0] = a[0] * b;
109
+ out[1] = a[1] * b;
110
+ out[2] = a[2] * b;
111
+ out[3] = a[3] * b;
112
+ return out;
113
+ }
114
+ export function scaleAndAdd(out, a, b, scale) {
115
+ out[0] = a[0] + b[0] * scale;
116
+ out[1] = a[1] + b[1] * scale;
117
+ out[2] = a[2] + b[2] * scale;
118
+ out[3] = a[3] + b[3] * scale;
119
+ return out;
120
+ }
121
+ export function distance(a, b) {
122
+ const x = b[0] - a[0];
123
+ const y = b[1] - a[1];
124
+ const z = b[2] - a[2];
125
+ const w = b[3] - a[3];
126
+ return Math.sqrt(x * x + y * y + z * z + w * w);
127
+ }
128
+ export function squaredDistance(a, b) {
129
+ const x = b[0] - a[0];
130
+ const y = b[1] - a[1];
131
+ const z = b[2] - a[2];
132
+ const w = b[3] - a[3];
133
+ return x * x + y * y + z * z + w * w;
134
+ }
135
+ export function length(a) {
136
+ const x = a[0];
137
+ const y = a[1];
138
+ const z = a[2];
139
+ const w = a[3];
140
+ return Math.sqrt(x * x + y * y + z * z + w * w);
141
+ }
142
+ export function squaredLength(a) {
143
+ const x = a[0];
144
+ const y = a[1];
145
+ const z = a[2];
146
+ const w = a[3];
147
+ return x * x + y * y + z * z + w * w;
148
+ }
149
+ export function negate(out, a) {
150
+ out[0] = -a[0];
151
+ out[1] = -a[1];
152
+ out[2] = -a[2];
153
+ out[3] = -a[3];
154
+ return out;
155
+ }
156
+ export function inverse(out, a) {
157
+ out[0] = 1.0 / a[0];
158
+ out[1] = 1.0 / a[1];
159
+ out[2] = 1.0 / a[2];
160
+ out[3] = 1.0 / a[3];
161
+ return out;
162
+ }
163
+ export function normalize(out, a) {
164
+ const x = a[0];
165
+ const y = a[1];
166
+ const z = a[2];
167
+ const w = a[3];
168
+ let len = x * x + y * y + z * z + w * w;
169
+
170
+ if (len > 0) {
171
+ len = 1 / Math.sqrt(len);
172
+ }
173
+
174
+ out[0] = x * len;
175
+ out[1] = y * len;
176
+ out[2] = z * len;
177
+ out[3] = w * len;
178
+ return out;
179
+ }
180
+ export function dot(a, b) {
181
+ return a[0] * b[0] + a[1] * b[1] + a[2] * b[2] + a[3] * b[3];
182
+ }
183
+ export function cross(out, u, v, w) {
184
+ const A = v[0] * w[1] - v[1] * w[0];
185
+ const B = v[0] * w[2] - v[2] * w[0];
186
+ const C = v[0] * w[3] - v[3] * w[0];
187
+ const D = v[1] * w[2] - v[2] * w[1];
188
+ const E = v[1] * w[3] - v[3] * w[1];
189
+ const F = v[2] * w[3] - v[3] * w[2];
190
+ const G = u[0];
191
+ const H = u[1];
192
+ const I = u[2];
193
+ const J = u[3];
194
+ out[0] = H * F - I * E + J * D;
195
+ out[1] = -(G * F) + I * C - J * B;
196
+ out[2] = G * E - H * C + J * A;
197
+ out[3] = -(G * D) + H * B - I * A;
198
+ return out;
199
+ }
200
+ export function lerp(out, a, b, t) {
201
+ const ax = a[0];
202
+ const ay = a[1];
203
+ const az = a[2];
204
+ const aw = a[3];
205
+ out[0] = ax + t * (b[0] - ax);
206
+ out[1] = ay + t * (b[1] - ay);
207
+ out[2] = az + t * (b[2] - az);
208
+ out[3] = aw + t * (b[3] - aw);
209
+ return out;
210
+ }
211
+ export function random(out, scale) {
212
+ scale = scale === undefined ? 1.0 : scale;
213
+ let v1;
214
+ let v2;
215
+ let v3;
216
+ let v4;
217
+ let s1;
218
+ let s2;
219
+
220
+ do {
221
+ v1 = glMatrix.RANDOM() * 2 - 1;
222
+ v2 = glMatrix.RANDOM() * 2 - 1;
223
+ s1 = v1 * v1 + v2 * v2;
224
+ } while (s1 >= 1);
225
+
226
+ do {
227
+ v3 = glMatrix.RANDOM() * 2 - 1;
228
+ v4 = glMatrix.RANDOM() * 2 - 1;
229
+ s2 = v3 * v3 + v4 * v4;
230
+ } while (s2 >= 1);
231
+
232
+ const d = Math.sqrt((1 - s1) / s2);
233
+ out[0] = scale * v1;
234
+ out[1] = scale * v2;
235
+ out[2] = scale * v3 * d;
236
+ out[3] = scale * v4 * d;
237
+ return out;
238
+ }
239
+ export function transformMat4(out, a, m) {
240
+ const x = a[0];
241
+ const y = a[1];
242
+ const z = a[2];
243
+ const w = a[3];
244
+ out[0] = m[0] * x + m[4] * y + m[8] * z + m[12] * w;
245
+ out[1] = m[1] * x + m[5] * y + m[9] * z + m[13] * w;
246
+ out[2] = m[2] * x + m[6] * y + m[10] * z + m[14] * w;
247
+ out[3] = m[3] * x + m[7] * y + m[11] * z + m[15] * w;
248
+ return out;
249
+ }
250
+ export function transformQuat(out, a, q) {
251
+ const x = a[0];
252
+ const y = a[1];
253
+ const z = a[2];
254
+ const qx = q[0];
255
+ const qy = q[1];
256
+ const qz = q[2];
257
+ const qw = q[3];
258
+ const ix = qw * x + qy * z - qz * y;
259
+ const iy = qw * y + qz * x - qx * z;
260
+ const iz = qw * z + qx * y - qy * x;
261
+ const iw = -qx * x - qy * y - qz * z;
262
+ out[0] = ix * qw + iw * -qx + iy * -qz - iz * -qy;
263
+ out[1] = iy * qw + iw * -qy + iz * -qx - ix * -qz;
264
+ out[2] = iz * qw + iw * -qz + ix * -qy - iy * -qx;
265
+ out[3] = a[3];
266
+ return out;
267
+ }
268
+ export function zero(out) {
269
+ out[0] = 0.0;
270
+ out[1] = 0.0;
271
+ out[2] = 0.0;
272
+ out[3] = 0.0;
273
+ return out;
274
+ }
275
+ export function str(a) {
276
+ return "vec4(".concat(a[0], ", ").concat(a[1], ", ").concat(a[2], ", ").concat(a[3], ")");
277
+ }
278
+ export function exactEquals(a, b) {
279
+ return a[0] === b[0] && a[1] === b[1] && a[2] === b[2] && a[3] === b[3];
280
+ }
281
+ export function equals(a, b) {
282
+ const a0 = a[0];
283
+ const a1 = a[1];
284
+ const a2 = a[2];
285
+ const a3 = a[3];
286
+ const b0 = b[0];
287
+ const b1 = b[1];
288
+ const b2 = b[2];
289
+ const b3 = b[3];
290
+ return Math.abs(a0 - b0) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a0), Math.abs(b0)) && Math.abs(a1 - b1) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a1), Math.abs(b1)) && Math.abs(a2 - b2) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a2), Math.abs(b2)) && Math.abs(a3 - b3) <= glMatrix.EPSILON * Math.max(1.0, Math.abs(a3), Math.abs(b3));
291
+ }
292
+ export const sub = subtract;
293
+ export const mul = multiply;
294
+ export const div = divide;
295
+ export const dist = distance;
296
+ export const sqrDist = squaredDistance;
297
+ export const len = length;
298
+ export const sqrLen = squaredLength;
299
+ export const forEach = function () {
300
+ const vec = create();
301
+ return function (a, stride, offset, count, fn, arg) {
302
+ let i;
303
+ let l;
304
+
305
+ if (!stride) {
306
+ stride = 4;
307
+ }
308
+
309
+ if (!offset) {
310
+ offset = 0;
311
+ }
312
+
313
+ if (count) {
314
+ l = Math.min(count * stride + offset, a.length);
315
+ } else {
316
+ l = a.length;
317
+ }
318
+
319
+ for (i = offset; i < l; i += stride) {
320
+ vec[0] = a[i];
321
+ vec[1] = a[i + 1];
322
+ vec[2] = a[i + 2];
323
+ vec[3] = a[i + 3];
324
+ fn(vec, vec, arg);
325
+ a[i] = vec[0];
326
+ a[i + 1] = vec[1];
327
+ a[i + 2] = vec[2];
328
+ a[i + 3] = vec[3];
329
+ }
330
+
331
+ return a;
332
+ };
333
+ }();
334
+ //# sourceMappingURL=vec4.js.map