@openglobus/og 0.10.6 → 0.11.1

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 (163) hide show
  1. package/package.json +10 -7
  2. package/src/og/Extent.js +1 -1
  3. package/src/og/LonLat.js +7 -2
  4. package/src/og/Popup.js +2 -1
  5. package/src/og/camera/PlanetCamera.js +4 -2
  6. package/src/og/entity/EntityCollection.js +1 -1
  7. package/src/og/entity/LabelHandler.js +366 -74
  8. package/src/og/entity/Polyline.js +3 -2
  9. package/src/og/layer/KML.js +7 -5
  10. package/src/og/layer/Vector.js +5 -0
  11. package/src/og/layer/index.js +2 -1
  12. package/src/og/math/Vec2.js +448 -448
  13. package/src/og/math/Vec3.js +759 -757
  14. package/src/og/math/Vec4.js +216 -215
  15. package/src/og/scene/Planet.js +14 -4
  16. package/src/og/segment/SegmentLonLat.js +7 -0
  17. package/src/og/terrain/GlobusTerrain.js +4 -0
  18. package/src/og/utils/GeoImageCreator.js +123 -121
  19. package/src/og/utils/Loader.js +81 -80
  20. package/src/og/utils/NormalMapCreator.js +320 -318
  21. package/src/og/utils/VectorTileCreator.js +251 -250
  22. package/src/og/webgl/Framebuffer.js +265 -264
  23. package/src/og/webgl/Handler.js +1022 -1022
  24. package/src/og/webgl/Multisample.js +169 -168
  25. package/src/og/webgl/ProgramController.js +113 -112
  26. package/types/Clock.d.ts +90 -0
  27. package/types/Deferred.d.ts +6 -0
  28. package/types/Events.d.ts +73 -0
  29. package/types/Extent.d.ts +162 -0
  30. package/types/Globe.d.ts +80 -0
  31. package/types/ImageCanvas.d.ts +121 -0
  32. package/types/Lock.d.ts +12 -0
  33. package/types/LonLat.d.ts +108 -0
  34. package/types/Popup.d.ts +38 -0
  35. package/types/QueueArray.d.ts +15 -0
  36. package/types/Rectangle.d.ts +74 -0
  37. package/types/Stack.d.ts +15 -0
  38. package/types/ajax.d.ts +24 -0
  39. package/types/arial.d.ts +48 -0
  40. package/types/astro/astro.d.ts +38 -0
  41. package/types/astro/earth.d.ts +6 -0
  42. package/types/astro/jd.d.ts +254 -0
  43. package/types/bv/Box.d.ts +25 -0
  44. package/types/bv/Sphere.d.ts +32 -0
  45. package/types/bv/index.d.ts +3 -0
  46. package/types/camera/Camera.d.ts +303 -0
  47. package/types/camera/Frustum.d.ts +129 -0
  48. package/types/camera/PlanetCamera.d.ts +222 -0
  49. package/types/camera/index.d.ts +3 -0
  50. package/types/cons.d.ts +40 -0
  51. package/types/control/CompassButton.d.ts +17 -0
  52. package/types/control/Control.d.ts +101 -0
  53. package/types/control/DebugInfo.d.ts +16 -0
  54. package/types/control/EarthCoordinates.d.ts +47 -0
  55. package/types/control/GeoImageDragControl.d.ts +6 -0
  56. package/types/control/KeyboardNavigation.d.ts +22 -0
  57. package/types/control/LayerSwitcher.d.ts +23 -0
  58. package/types/control/Lighting.d.ts +16 -0
  59. package/types/control/ScaleControl.d.ts +22 -0
  60. package/types/control/ShowFps.d.ts +12 -0
  61. package/types/control/SimpleNavigation.d.ts +28 -0
  62. package/types/control/Sun.d.ts +52 -0
  63. package/types/control/ToggleWireframe.d.ts +12 -0
  64. package/types/control/ZoomControl.d.ts +28 -0
  65. package/types/control/index.d.ts +15 -0
  66. package/types/ellipsoid/Ellipsoid.d.ts +142 -0
  67. package/types/ellipsoid/index.d.ts +3 -0
  68. package/types/ellipsoid/wgs84.d.ts +5 -0
  69. package/types/entity/BaseBillboard.d.ts +208 -0
  70. package/types/entity/Billboard.d.ts +94 -0
  71. package/types/entity/BillboardHandler.d.ts +74 -0
  72. package/types/entity/Entity.d.ts +330 -0
  73. package/types/entity/EntityCollection.d.ts +303 -0
  74. package/types/entity/Geometry.d.ts +72 -0
  75. package/types/entity/GeometryHandler.d.ts +76 -0
  76. package/types/entity/Label.d.ts +194 -0
  77. package/types/entity/LabelHandler.d.ts +24 -0
  78. package/types/entity/PointCloud.d.ts +174 -0
  79. package/types/entity/PointCloudHandler.d.ts +38 -0
  80. package/types/entity/Polyline.d.ts +303 -0
  81. package/types/entity/PolylineHandler.d.ts +18 -0
  82. package/types/entity/Ray.d.ts +123 -0
  83. package/types/entity/RayHandler.d.ts +67 -0
  84. package/types/entity/ShapeHandler.d.ts +22 -0
  85. package/types/entity/Strip.d.ts +118 -0
  86. package/types/entity/StripHandler.d.ts +38 -0
  87. package/types/entity/index.d.ts +8 -0
  88. package/types/index.core.d.ts +65 -0
  89. package/types/index.d.ts +45 -0
  90. package/types/index.webgl.d.ts +7 -0
  91. package/types/inherits.d.ts +4 -0
  92. package/types/input/input.d.ts +34 -0
  93. package/types/layer/BaseGeoImage.d.ts +106 -0
  94. package/types/layer/CanvasTiles.d.ts +75 -0
  95. package/types/layer/GeoImage.d.ts +65 -0
  96. package/types/layer/GeoTexture2d.d.ts +8 -0
  97. package/types/layer/GeoVideo.d.ts +80 -0
  98. package/types/layer/KML.d.ts +58 -0
  99. package/types/layer/WMS.d.ts +66 -0
  100. package/types/layer/XYZ.d.ts +126 -0
  101. package/types/layer/index.d.ts +10 -0
  102. package/types/light/LightSource.d.ts +177 -0
  103. package/types/math/Mat3.d.ts +53 -0
  104. package/types/math/Mat4.d.ts +157 -0
  105. package/types/math/Plane.d.ts +17 -0
  106. package/types/math/Vec2.d.ts +308 -0
  107. package/types/math/Vec3.d.ts +459 -0
  108. package/types/math/Vec4.d.ts +161 -0
  109. package/types/math/coder.d.ts +42 -0
  110. package/types/math/index.d.ts +11 -0
  111. package/types/math.d.ts +261 -0
  112. package/types/mercator.d.ts +92 -0
  113. package/types/proj/EPSG3857.d.ts +5 -0
  114. package/types/proj/EPSG4326.d.ts +5 -0
  115. package/types/quadTree/quadTree.d.ts +40 -0
  116. package/types/renderer/RendererEvents.d.ts +230 -0
  117. package/types/res/images.d.ts +3 -0
  118. package/types/scene/Axes.d.ts +11 -0
  119. package/types/scene/BaseNode.d.ts +60 -0
  120. package/types/scene/Planet.d.ts +572 -0
  121. package/types/scene/RenderNode.d.ts +143 -0
  122. package/types/scene/SkyBox.d.ts +10 -0
  123. package/types/scene/index.d.ts +4 -0
  124. package/types/segment/segmentHelper.d.ts +13 -0
  125. package/types/shaders/billboard.d.ts +3 -0
  126. package/types/shaders/depth.d.ts +2 -0
  127. package/types/shaders/drawnode.d.ts +7 -0
  128. package/types/shaders/label.d.ts +4 -0
  129. package/types/shaders/pointCloud.d.ts +2 -0
  130. package/types/shaders/polyline.d.ts +3 -0
  131. package/types/shaders/ray.d.ts +2 -0
  132. package/types/shaders/screenFrame.d.ts +2 -0
  133. package/types/shaders/shape.d.ts +4 -0
  134. package/types/shaders/skybox.d.ts +2 -0
  135. package/types/shaders/toneMapping.d.ts +2 -0
  136. package/types/shapes/BaseShape.d.ts +247 -0
  137. package/types/shapes/Sphere.d.ts +41 -0
  138. package/types/terrain/BilTerrain.d.ts +8 -0
  139. package/types/terrain/EmptyTerrain.d.ts +72 -0
  140. package/types/terrain/Geoid.d.ts +26 -0
  141. package/types/terrain/GlobusTerrain.d.ts +153 -0
  142. package/types/terrain/MapboxTerrain.d.ts +8 -0
  143. package/types/terrain/index.d.ts +5 -0
  144. package/types/utils/FontAtlas.d.ts +14 -0
  145. package/types/utils/GeoImageCreator.d.ts +29 -0
  146. package/types/utils/ImagesCacheManager.d.ts +10 -0
  147. package/types/utils/Loader.d.ts +25 -0
  148. package/types/utils/NormalMapCreator.d.ts +39 -0
  149. package/types/utils/PlainSegmentWorker.d.ts +10 -0
  150. package/types/utils/TerrainWorker.d.ts +9 -0
  151. package/types/utils/TextureAtlas.d.ts +111 -0
  152. package/types/utils/VectorTileCreator.d.ts +16 -0
  153. package/types/utils/colorTable.d.ts +143 -0
  154. package/types/utils/earcut.d.ts +6 -0
  155. package/types/utils/shared.d.ts +230 -0
  156. package/types/webgl/Framebuffer.d.ts +135 -0
  157. package/types/webgl/Handler.d.ts +372 -0
  158. package/types/webgl/Multisample.d.ts +89 -0
  159. package/types/webgl/Program.d.ts +155 -0
  160. package/types/webgl/ProgramController.d.ts +84 -0
  161. package/types/webgl/callbacks.d.ts +1 -0
  162. package/types/webgl/index.d.ts +6 -0
  163. package/types/webgl/types.d.ts +2 -0
@@ -0,0 +1,459 @@
1
+ /**
2
+ * Vector 3d object creator.
3
+ * @function
4
+ * @param {number} [x] - First cvalue.
5
+ * @param {number} [y] - Second value.
6
+ * @param {number} [z] - Third value.
7
+ * @returns {og.Vec3} -
8
+ */
9
+ export function vec3(x?: number, y?: number, z?: number): any;
10
+ /**
11
+ * Class represents a 3d vector.
12
+ * @class
13
+ * @param {number} [x] - First value.
14
+ * @param {number} [y] - Second value.
15
+ * @param {number} [z] - Third value.
16
+ */
17
+ export class Vec3 {
18
+ /** @const */
19
+ static get UP(): Vec3;
20
+ /** @const */
21
+ static get DOWN(): Vec3;
22
+ /** @const */
23
+ static get RIGHT(): Vec3;
24
+ /** @const */
25
+ static get LEFT(): Vec3;
26
+ /** @const */
27
+ static get FORWARD(): Vec3;
28
+ /** @const */
29
+ static get BACKWARD(): Vec3;
30
+ /** @const */
31
+ static get ZERO(): Vec3;
32
+ /** @const */
33
+ static get UNIT_X(): Vec3;
34
+ /** @const */
35
+ static get UNIT_Y(): Vec3;
36
+ /** @const */
37
+ static get UNIT_Z(): Vec3;
38
+ /**
39
+ * Separate 63 bit Vec3 to two Vec3 32 bit float values.
40
+ * @function
41
+ * @param {number} value - Double type value.
42
+ * @param {Vec3} high - Out vector high values.
43
+ * @param {Vec3} low - Out vector low values.
44
+ * @returns {Array.<number,number>} Encoded array.
45
+ */
46
+ static doubleToTwoFloats(v: any, high: Vec3, low: Vec3): Array<number, number>;
47
+ /**
48
+ * Separate 63 bit Vec3 to two Vec3 32 bit float values.
49
+ * @function
50
+ * @param {number} value - Double type value.
51
+ * @param {Float32Array} high - Out vector high values.
52
+ * @param {Float32Array} low - Out vector low values.
53
+ * @returns {Array.<number,number>} Encoded array.
54
+ */
55
+ static doubleToTwoFloat32Array(v: any, high: Float32Array, low: Float32Array): Array<number, number>;
56
+ /**
57
+ * Creates 3d vector from array.
58
+ * @function
59
+ * @param {Array.<number,number,number>} arr - Input array
60
+ * @returns {og.Vec3} -
61
+ */
62
+ static fromVec(arr: Array<number, number, number>): any;
63
+ /**
64
+ * Gets angle between two vectors.
65
+ * @static
66
+ * @param {og.Vec3} a - First vector.
67
+ * @param {og.Vec3} b - Second vector.
68
+ * @returns {number} -
69
+ */
70
+ static angle(a: any, b: any): number;
71
+ /**
72
+ * Returns two vectors linear interpolation.
73
+ * @static
74
+ * @param {og.Vec3} v1 - Start vector.
75
+ * @param {og.Vec3} v2 - End vector.
76
+ * @param {number} l - Interpolate value.
77
+ * @returns {og.Vec3} -
78
+ */
79
+ static lerp(v1: any, v2: any, l: number): any;
80
+ /**
81
+ * Returns summary vector.
82
+ * @static
83
+ * @param {og.Vec3} a - First vector.
84
+ * @param {og.Vec3} b - Second vector.
85
+ * @returns {og.Vec3} - Summary vector.
86
+ */
87
+ static add(a: any, b: any): any;
88
+ /**
89
+ * Returns two vectors subtraction.
90
+ * @static
91
+ * @param {og.Vec3} a - First vector.
92
+ * @param {og.Vec3} b - Second vector.
93
+ * @returns {og.Vec3} - Vectors subtraction.
94
+ */
95
+ static sub(a: any, b: any): any;
96
+ /**
97
+ * Returns scaled vector.
98
+ * @static
99
+ * @param {og.Vec3} a - Input vector.
100
+ * @param {number} scale - Scale value.
101
+ * @returns {og.Vec3} -
102
+ */
103
+ static scale(a: any, scale: number): any;
104
+ /**
105
+ * Returns two vectors production.
106
+ * @static
107
+ * @param {og.Vec3} a - First vector.
108
+ * @param {og.Vec3} b - Second vector.
109
+ * @returns {og.Vec3} -
110
+ */
111
+ static mul(a: any, b: any): any;
112
+ /**
113
+ * Returns true if two vectors are non collinear.
114
+ * @public
115
+ * @param {og.Vec3} a - First vector.
116
+ * @param {og.Vec3} b - Second vector.
117
+ * @returns {og.Vec3} -
118
+ */
119
+ public static noncollinear(a: any, b: any): any;
120
+ /**
121
+ * Get projection of the vector to plane where n - normal to the plane.
122
+ * @static
123
+ * @param {og.Vec3} b - Vector to project.
124
+ * @param {og.Vec3} n - Plane normal.
125
+ * @param {og.Vec3} [def] - Default value for non existed result.
126
+ * @returns {og.Vec3} -
127
+ */
128
+ static proj_b_to_plane(b: any, n: any, def?: any): any;
129
+ /**
130
+ * Get projection of the first vector to the second.
131
+ * @static
132
+ * @param {og.Vec3} b - First vector.
133
+ * @param {og.Vec3} a - Second vector.
134
+ * @returns {og.Vec3} -
135
+ */
136
+ static proj_b_to_a(b: any, a: any): any;
137
+ /**
138
+ * Makes vectors normalized and orthogonal to each other.
139
+ * Normalizes normal. Normalizes tangent and makes sure it is orthogonal to normal (that is, angle between them is 90 degrees).
140
+ * @static
141
+ * @param {og.Vec3} normal - Normal vector.
142
+ * @param {og.Vec3} tangent - Tangent vector.
143
+ * @returns {og.Vec3} -
144
+ */
145
+ static orthoNormalize(normal: any, tangent: any): any;
146
+ /**
147
+ * Returns vector components division product one to another.
148
+ * @static
149
+ * @param {og.Vec3} a - First vector.
150
+ * @param {og.Vec3} b - Second vector.
151
+ * @returns {og.Vec3} -
152
+ */
153
+ static div(a: any, b: any): any;
154
+ static get LERP_DELTA(): number;
155
+ constructor(x: any, y: any, z: any);
156
+ /**
157
+ * @public
158
+ * @type {number}
159
+ */
160
+ public x: number;
161
+ /**
162
+ * @public
163
+ * @type {number}
164
+ */
165
+ public y: number;
166
+ /**
167
+ * @public
168
+ * @type {number}
169
+ */
170
+ public z: number;
171
+ /**
172
+ * Converts to 4d vector, Fourth value is 1.0.
173
+ * @public
174
+ * @returns {og.Vec4} -
175
+ */
176
+ public toVec4(): any;
177
+ /**
178
+ * Returns clone vector.
179
+ * @public
180
+ * @returns {og.Vec3} -
181
+ */
182
+ public clone(): any;
183
+ /**
184
+ * Converts vector to text string.
185
+ * @public
186
+ * @returns {string} -
187
+ */
188
+ public toString(): string;
189
+ /**
190
+ * Returns true if vector's values are zero.
191
+ * @public
192
+ * @returns {boolean} -
193
+ */
194
+ public isZero(): boolean;
195
+ /**
196
+ * Get projection of the first vector to the second.
197
+ * @static
198
+ * @param {og.Vec3} a - Project vector.
199
+ * @returns {og.Vec3} -
200
+ */
201
+ projToVec(a: any): any;
202
+ /**
203
+ * Compares with vector. Returns true if it equals another.
204
+ * @public
205
+ * @param {og.Vec3} p - Vector to compare.
206
+ * @returns {boolean} -
207
+ */
208
+ public equal(p: any): boolean;
209
+ /**
210
+ * Copy input vector's values.
211
+ * @param {og.Vec3} point3 - Vector to copy.
212
+ * @returns {og.Vec3} -
213
+ */
214
+ copy(point3: any): any;
215
+ /**
216
+ * Gets vector's length.
217
+ * @public
218
+ * @returns {number} -
219
+ */
220
+ public length(): number;
221
+ /**
222
+ * Returns squared vector's length.
223
+ * @public
224
+ * @returns {number} -
225
+ */
226
+ public length2(): number;
227
+ /**
228
+ * Converts vector's values to a quaternion object.
229
+ * @public
230
+ * @returns {og.Quat} -
231
+ */
232
+ public getQuat(): any;
233
+ /**
234
+ * Adds vector to the current.
235
+ * @public
236
+ * @param {og.Vec3} point3 - Point to add.
237
+ * @returns {og.Vec3} -
238
+ */
239
+ public addA(point3: any): any;
240
+ /**
241
+ * Gets two vectors summarization.
242
+ * @public
243
+ * @param {og.Vec3} point3 - Vector to add.
244
+ * @returns {og.Vec3} Returns a sum vector.
245
+ */
246
+ public add(point3: any): any;
247
+ /**
248
+ * Subtract vector from the current.
249
+ * @public
250
+ * @param {og.Vec3} point3 - Subtract vector.
251
+ * @returns {og.Vec3} -
252
+ */
253
+ public subA(point3: any): any;
254
+ /**
255
+ * Gets vector subtraction.
256
+ * @public
257
+ * @param {og.Vec3} point3 - Subtract vector.
258
+ * @return {og.Vec3} Returns new instance of a subtraction
259
+ */
260
+ public sub(point3: any): any;
261
+ /**
262
+ * Scale current vector.
263
+ * @public
264
+ * @param {number} scale - Scale value.
265
+ * @returns {og.Vec3} -
266
+ */
267
+ public scale(scale: number): any;
268
+ /**
269
+ * Scale current vector to another instance.
270
+ * @public
271
+ * @param {number} scale - Scale value.
272
+ * @returns {og.Vec3} -
273
+ */
274
+ public scaleTo(scale: number): any;
275
+ /**
276
+ * Multiply current vector object to another and store result in the current instance.
277
+ * @public
278
+ * @param {og.Vec3} vec - Multiply vector.
279
+ * @returns {og.Vec3} -
280
+ */
281
+ public mulA(vec: any): any;
282
+ /**
283
+ * Multiply current vector object to another and returns new vector instance.
284
+ * @public
285
+ * @param {og.Vec3} vec - Multiply vector.
286
+ * @returns {og.Vec3} -
287
+ */
288
+ public mul(vec: any): any;
289
+ /**
290
+ * Divide current vector's components to another. Results stores in the current vector object.
291
+ * @public
292
+ * @param {og.Vec3} vec - Div vector.
293
+ * @returns {og.Vec3} -
294
+ */
295
+ public divA(vec: any): any;
296
+ /**
297
+ * Divide current vector's components to another and returns new vector instance.
298
+ * @public
299
+ * @param {og.Vec3} vec - Div vector.
300
+ * @returns {og.Vec3} -
301
+ */
302
+ public div(vec: any): any;
303
+ /**
304
+ * Gets vectors dot production.
305
+ * @public
306
+ * @param {og.Vec3} point3 - Another vector.
307
+ * @returns {number} -
308
+ */
309
+ public dot(point3: any): number;
310
+ /**
311
+ * Gets vectors dot production.
312
+ * @public
313
+ * @param {Array.<number,number,number>} arr - Array vector.
314
+ * @returns {number} -
315
+ */
316
+ public dotArr(arr: Array<number, number, number>): number;
317
+ /**
318
+ * Gets vectors cross production.
319
+ * @public
320
+ * @param {og.Vec3} point3 - Another vector.
321
+ * @returns {og.Vec3} -
322
+ */
323
+ public cross(point3: any): any;
324
+ /**
325
+ * Sets vector to zero.
326
+ * @public
327
+ * @returns {og.Vec3} -
328
+ */
329
+ public clear(): any;
330
+ /**
331
+ * Returns normalized vector.
332
+ * @public
333
+ * @returns {og.Vec3} -
334
+ */
335
+ public getNormal(): any;
336
+ /**
337
+ * Returns normalized vector.
338
+ * @deprecated
339
+ * @public
340
+ * @returns {og.Vec3} -
341
+ */
342
+ public normal(): any;
343
+ /**
344
+ * Returns normalized negate vector.
345
+ * @public
346
+ * @returns {og.Vec3} -
347
+ */
348
+ public normalNegate(): any;
349
+ /**
350
+ * Returns normalized negate scale vector.
351
+ * @public
352
+ * @returns {og.Vec3} -
353
+ */
354
+ public normalNegateScale(scale: any): any;
355
+ /**
356
+ * Returns normalized scale vector.
357
+ * @public
358
+ * @returns {og.Vec3} -
359
+ */
360
+ public normalScale(scale: any): any;
361
+ /**
362
+ * Normalize current vector.
363
+ * @public
364
+ * @returns {og.Vec3} -
365
+ */
366
+ public normalize(): any;
367
+ /**
368
+ * Converts vector to a number array.
369
+ * @public
370
+ * @returns {Array.<number,number,number>} -
371
+ * @deprecated
372
+ */
373
+ public toVec(): Array<number, number, number>;
374
+ /**
375
+ * Converts vector to a number array.
376
+ * @public
377
+ * @returns {Array.<number,number,number>} -
378
+ */
379
+ public toArray(): Array<number, number, number>;
380
+ /**
381
+ * Gets distance to point.
382
+ * @public
383
+ * @param {og.Vec3} point3 - Distant point.
384
+ * @returns {number} -
385
+ */
386
+ public distance(point3: any): number;
387
+ /**
388
+ * Sets vector's values.
389
+ * @public
390
+ * @param {number} x - Value X.
391
+ * @param {number} y - Value Y.
392
+ * @param {number} z - Value Z.
393
+ * @returns {og.Vec3} -
394
+ */
395
+ public set(x: number, y: number, z: number): any;
396
+ /**
397
+ * Negate current vector.
398
+ * @public
399
+ * @returns {og.Vec3} -
400
+ */
401
+ public negate(): any;
402
+ /**
403
+ * Negate current vector to another instance.
404
+ * @public
405
+ * @returns {og.Vec3} -
406
+ */
407
+ public negateTo(): any;
408
+ /**
409
+ * Gets projected point coordinates of the current vector on the ray.
410
+ * @public
411
+ * @param {og.Vec3} pos - Ray position.
412
+ * @param {og.Vec3} direction - Ray direction.
413
+ * @returns {og.Vec3} -
414
+ */
415
+ public projToRay(pos: any, direction: any): any;
416
+ /**
417
+ * Gets angle between two vectors.
418
+ * @public
419
+ * @param {og.Vec3} a - Another vector.
420
+ * @returns {number} -
421
+ */
422
+ public angle(a: any): number;
423
+ /**
424
+ * Returns two vectors linear interpolation.
425
+ * @public
426
+ * @param {og.Vec3} v2 - End vector.
427
+ * @param {number} l - Interpolate value.
428
+ * @returns {og.Vec3} -
429
+ */
430
+ public lerp(v2: any, l: number): any;
431
+ /**
432
+ * Returns vector interpolation by v(t) = v1 * t + v2 * (1 - t)
433
+ * @public
434
+ * @param {og.Vec3} v2 - End vector.
435
+ * @param {number} t - Interpolate value.
436
+ * @returns {og.Vec3} -
437
+ */
438
+ public smerp(v2: any, t: number): any;
439
+ /**
440
+ * Spherically interpolates between two vectors.
441
+ * Interpolates between current and v2 vector by amount t. The difference between this and linear interpolation (aka, "lerp") is that
442
+ * the vectors are treated as directions rather than points in space. The direction of the returned vector is interpolated
443
+ * by the angle and its magnitude is interpolated between the magnitudes of from and to.
444
+ * @public
445
+ * @param {og.Vec3} v2 -
446
+ * @param {number} t - The parameter t is clamped to the range [0, 1].
447
+ * @returns {og.Vec3} -
448
+ */
449
+ public slerp(v2: any, t: number): any;
450
+ /**
451
+ * Gets the shortest arc quaternion to rotate this vector to the destination vector.
452
+ * @param {Vec3} dest -
453
+ * @param {Vec3} fallbackAxis -
454
+ * @returns {Quat} -
455
+ * @todo: TEST IT!
456
+ */
457
+ getRotationTo(dest: Vec3, fallbackAxis: Vec3): Quat;
458
+ }
459
+ import { Quat } from "./Quat.js";
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Vector 4d object creator.
3
+ * @function
4
+ * @param {number} [x] - First cvalue.
5
+ * @param {number} [y] - Second value.
6
+ * @param {number} [z] - Third value.
7
+ * @param {number} [w] - Fourth value.
8
+ * @returns {og.math.Vec4}
9
+ */
10
+ export function vec4(x?: number, y?: number, z?: number, w?: number): any;
11
+ /**
12
+ * Class represents a 4d vector.
13
+ * @class
14
+ * @param {number} [x] - First value.
15
+ * @param {number} [y] - Second value.
16
+ * @param {number} [z] - Third value.
17
+ * @param {number} [w] - Fourth value.
18
+ */
19
+ export class Vec4 {
20
+ /**
21
+ * Identity vector [0,0,0,1].
22
+ * @const
23
+ * @type {og.math.Vec4}
24
+ */
25
+ static get identity(): any;
26
+ /**
27
+ * Creates 4d vector from array.
28
+ * @function
29
+ * @param {Array.<number,number,number,number>}
30
+ * @returns {og.math.Vec4}
31
+ */
32
+ static fromVec(arr: any): any;
33
+ constructor(x: any, y: any, z: any, w: any);
34
+ /**
35
+ * @public
36
+ * @type {number}
37
+ */
38
+ public x: number;
39
+ /**
40
+ * @public
41
+ * @type {number}
42
+ */
43
+ public y: number;
44
+ /**
45
+ * @public
46
+ * @type {number}
47
+ */
48
+ public z: number;
49
+ /**
50
+ * @public
51
+ * @type {number}
52
+ */
53
+ public w: number;
54
+ /**
55
+ * Converts to 3d vector, without fourth value.
56
+ * @public
57
+ * @returns {og.Vec3}
58
+ */
59
+ public toVec3(): any;
60
+ /**
61
+ * Returns clone vector.
62
+ * @public
63
+ * @returns {og.math.Vec4}
64
+ */
65
+ public clone(v: any): any;
66
+ /**
67
+ * Compares with vector. Returns true if it equals another.
68
+ * @public
69
+ * @param {og.math.Vec4} p - Vector to compare.
70
+ * @returns {boolean}
71
+ */
72
+ public equal(v: any): boolean;
73
+ /**
74
+ * Copy input vector's values.
75
+ * @param {og.math.Vec4} v - Vector to copy.
76
+ * @returns {og.math.Vec4}
77
+ */
78
+ copy(v: any): any;
79
+ /**
80
+ * Converts vector to a number array.
81
+ * @public
82
+ * @returns {Array.<number,number,number,number>}
83
+ * @deprecated
84
+ */
85
+ public toVec(): Array<number, number, number, number>;
86
+ /**
87
+ * Converts vector to a number array.
88
+ * @public
89
+ * @returns {Array.<number,number,number,number>}
90
+ */
91
+ public toArray(): Array<number, number, number, number>;
92
+ /**
93
+ * Sets vector's values.
94
+ * @public
95
+ * @param {number} x - Value X.
96
+ * @param {number} y - Value Y.
97
+ * @param {number} z - Value Z.
98
+ * @param {number} w - Value W.
99
+ * @returns {og.math.Vec4}
100
+ */
101
+ public set(x: number, y: number, z: number, w: number): any;
102
+ /**
103
+ * Adds vector to the current.
104
+ * @public
105
+ * @param {og.math.Vec4}
106
+ * @returns {og.math.Vec4}
107
+ */
108
+ public addA(v: any): any;
109
+ /**
110
+ * Subtract vector from the current.
111
+ * @public
112
+ * @param {og.math.Vec4} v - Subtract vector.
113
+ * @returns {og.math.Vec4}
114
+ */
115
+ public subA(v: any): any;
116
+ /**
117
+ * Scale current vector.
118
+ * @public
119
+ * @param {number} scale - Scale value.
120
+ * @returns {og.math.Vec4}
121
+ */
122
+ public scale(scale: number): any;
123
+ /**
124
+ * Makes vector affinity. Thereby fourh component becomes to 1.0.
125
+ * @public
126
+ * @returns {og.math.Vec4}
127
+ */
128
+ public affinity(): any;
129
+ /**
130
+ * Scale current vector to another instance.
131
+ * @public
132
+ * @param {number} scale - Scale value.
133
+ * @returns {og.Vec3}
134
+ */
135
+ public scaleTo(scale: number): any;
136
+ /**
137
+ * Vector's edge function that returns vector where each component is 0.0 if it's smaller then edge and otherwise 1.0.
138
+ * @public
139
+ * @returns {og.math.Vec4}
140
+ */
141
+ public getStep(edge: any): any;
142
+ /**
143
+ * The vector fract function returns the vector of fractional parts of each value, i.e. x minus floor(x).
144
+ * @public
145
+ * @returns {og.math.Vec4}
146
+ */
147
+ public getFrac(v: any): any;
148
+ /**
149
+ * Gets vectors dot production.
150
+ * @public
151
+ * @param {og.math.Vec4} v - Another vector.
152
+ * @returns {number} - Dot product.
153
+ */
154
+ public dot(v: any): number;
155
+ /**
156
+ * Returns true if vector's values are zero.
157
+ * @public
158
+ * @returns {boolean} -
159
+ */
160
+ public isZero(): boolean;
161
+ }
@@ -0,0 +1,42 @@
1
+ /**
2
+ * Encode 32 bit float value to the RGBA vector.
3
+ * @function
4
+ * @param {number} v - 32 bit float value.
5
+ * @returns {og.math.Vec4} - RGBA vector value.
6
+ */
7
+ export function encodeFloatToRGBA(v: number): any;
8
+ /**
9
+ * Decode RGBA vector to 32 bit float value.
10
+ * @function
11
+ * @param {og.Vec4} rgba - RGBA encoded 32 bit float value.
12
+ * @returns {number} - Float value.
13
+ */
14
+ export function decodeFloatFromRGBA(rgba: any): number;
15
+ /**
16
+ * Decode RGBA vector to 32 bit float value.
17
+ * @function
18
+ * @param {og.Vec4} rgba - RGBA encoded 32 bit float value.
19
+ * @returns {number} - Float value.
20
+ */
21
+ export function decodeFloatFromRGBAArr(arr: any, use32: any): number;
22
+ /**
23
+ * Separate 64 bit value to two 32 bit float values.
24
+ * @function
25
+ * @param {number} value - Double type value.
26
+ * @returns {Array.<number,number>} Encoded array.
27
+ */
28
+ export function doubleToTwoFloats(value: number): Array<number, number>;
29
+ /**
30
+ * Separate 64 bit value to two 32 bit float values.
31
+ * @function
32
+ * @param {number} value - Double type value.
33
+ * @returns {Array.<number,number>} Encoded array.
34
+ */
35
+ export function doubleToTwoFloats2(value: number, highLowArr: any): Array<number, number>;
36
+ /**
37
+ * Separate 64 bit value to two 32 bit float values.
38
+ * @function
39
+ * @param {number} value - Double type value.
40
+ * @returns {Array.<number,number>} Encoded array.
41
+ */
42
+ export function doubleToTwoFloatsV2(value: number, highLowVec: any): Array<number, number>;
@@ -0,0 +1,11 @@
1
+ import { Line2 } from "./Line2.js";
2
+ import { Line3 } from "./Line3.js";
3
+ import { Mat3 } from "./Mat3.js";
4
+ import { Mat4 } from "./Mat4.js";
5
+ import { Plane } from "./Plane.js";
6
+ import { Quat } from "./Quat.js";
7
+ import { Ray } from "./Ray.js";
8
+ import { Vec2 } from "./Vec2.js";
9
+ import { Vec3 } from "./Vec3.js";
10
+ import { Vec4 } from "./Vec4.js";
11
+ export { Line2, Line3, Mat3, Mat4, Plane, Quat, Ray, Vec2, Vec3, Vec4 };