@openglobus/og 0.11.7 → 0.12.3

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 (211) hide show
  1. package/css/og.css +5 -2
  2. package/dist/@openglobus/og.css +1 -0
  3. package/dist/@openglobus/og.esm.js +21 -0
  4. package/dist/@openglobus/og.esm.js.map +1 -0
  5. package/dist/@openglobus/og.umd.js +21 -0
  6. package/dist/@openglobus/og.umd.js.map +1 -0
  7. package/package.json +11 -11
  8. package/src/og/Globe.js +18 -6
  9. package/src/og/camera/Camera.js +70 -79
  10. package/src/og/camera/PlanetCamera.js +25 -30
  11. package/src/og/control/DebugInfo.js +2 -2
  12. package/src/og/control/EarthNavigation.js +26 -17
  13. package/src/og/control/Lighting.js +52 -73
  14. package/src/og/control/MouseNavigation.js +30 -29
  15. package/src/og/control/MouseWheelZoomControl.js +257 -0
  16. package/src/og/control/Sun.js +3 -3
  17. package/src/og/control/index.js +2 -0
  18. package/src/og/control/visibleExtent/Segment.js +1862 -0
  19. package/src/og/control/visibleExtent/VisibleExtent.js +80 -0
  20. package/src/og/control/visibleExtent/drawnode.js +751 -0
  21. package/src/og/entity/BaseBillboard.js +9 -9
  22. package/src/og/entity/Entity.js +742 -742
  23. package/src/og/entity/GeoObjectHandler.js +138 -134
  24. package/src/og/entity/Label.js +7 -7
  25. package/src/og/entity/LabelHandler.js +2 -1
  26. package/src/og/layer/CanvasTiles.js +8 -12
  27. package/src/og/layer/GeoImage.js +2 -10
  28. package/src/og/layer/GeoTexture2d.js +2 -10
  29. package/src/og/layer/GeoVideo.js +2 -10
  30. package/src/og/layer/KML.js +19 -12
  31. package/src/og/layer/Layer.js +4 -23
  32. package/src/og/layer/WMS.js +0 -2
  33. package/src/og/layer/XYZ.js +31 -33
  34. package/src/og/math/Vec3.js +18 -2
  35. package/src/og/quadTree/Node.js +48 -93
  36. package/src/og/quadTree/quadTree.js +1 -1
  37. package/src/og/renderer/Renderer.js +69 -96
  38. package/src/og/renderer/RendererEvents.js +3 -1
  39. package/src/og/scene/Planet.js +171 -173
  40. package/src/og/segment/Segment.js +99 -268
  41. package/src/og/segment/Slice.js +45 -0
  42. package/src/og/shaders/drawnode.js +171 -350
  43. package/src/og/shaders/geoObject.js +15 -6
  44. package/src/og/terrain/EmptyTerrain.js +3 -2
  45. package/src/og/terrain/GlobusTerrain.js +2 -0
  46. package/src/og/utils/GeoImageCreator.js +5 -1
  47. package/src/og/utils/Loader.js +1 -1
  48. package/src/og/utils/PlainSegmentWorker.js +0 -13
  49. package/src/og/webgl/Handler.js +14 -10
  50. package/types/Clock.d.ts +94 -0
  51. package/types/Deferred.d.ts +6 -0
  52. package/types/Events.d.ts +77 -0
  53. package/types/Extent.d.ts +166 -0
  54. package/types/Globe.d.ts +85 -0
  55. package/types/ImageCanvas.d.ts +123 -0
  56. package/types/Lock.d.ts +12 -0
  57. package/types/LonLat.d.ts +108 -0
  58. package/types/Popup.d.ts +42 -0
  59. package/types/QueueArray.d.ts +19 -0
  60. package/types/Rectangle.d.ts +80 -0
  61. package/types/Stack.d.ts +19 -0
  62. package/types/ajax.d.ts +24 -0
  63. package/types/arial.d.ts +48 -0
  64. package/types/astro/astro.d.ts +38 -0
  65. package/types/astro/earth.d.ts +7 -0
  66. package/types/astro/jd.d.ts +254 -0
  67. package/types/bv/Box.d.ts +30 -0
  68. package/types/bv/Sphere.d.ts +38 -0
  69. package/types/bv/index.d.ts +3 -0
  70. package/types/camera/Camera.d.ts +312 -0
  71. package/types/camera/Frustum.d.ts +133 -0
  72. package/types/camera/PlanetCamera.d.ts +219 -0
  73. package/types/camera/index.d.ts +3 -0
  74. package/types/cons.d.ts +40 -0
  75. package/types/control/CompassButton.d.ts +17 -0
  76. package/types/control/Control.d.ts +104 -0
  77. package/types/control/DebugInfo.d.ts +15 -0
  78. package/types/control/EarthCoordinates.d.ts +47 -0
  79. package/types/control/EarthNavigation.d.ts +43 -0
  80. package/types/control/GeoImageDragControl.d.ts +6 -0
  81. package/types/control/KeyboardNavigation.d.ts +21 -0
  82. package/types/control/LayerSwitcher.d.ts +21 -0
  83. package/types/control/Lighting.d.ts +16 -0
  84. package/types/control/MouseNavigation.d.ts +48 -0
  85. package/types/control/MouseWheelZoomControl.d.ts +45 -0
  86. package/types/control/ScaleControl.d.ts +22 -0
  87. package/types/control/ShowFps.d.ts +11 -0
  88. package/types/control/SimpleNavigation.d.ts +25 -0
  89. package/types/control/Sun.d.ts +50 -0
  90. package/types/control/ToggleWireframe.d.ts +12 -0
  91. package/types/control/TouchNavigation.d.ts +48 -0
  92. package/types/control/ZoomControl.d.ts +27 -0
  93. package/types/control/index.d.ts +18 -0
  94. package/types/ellipsoid/Ellipsoid.d.ts +146 -0
  95. package/types/ellipsoid/index.d.ts +3 -0
  96. package/types/ellipsoid/wgs84.d.ts +6 -0
  97. package/types/entity/BaseBillboard.d.ts +215 -0
  98. package/types/entity/Billboard.d.ts +94 -0
  99. package/types/entity/BillboardHandler.d.ts +79 -0
  100. package/types/entity/Entity.d.ts +348 -0
  101. package/types/entity/EntityCollection.d.ts +317 -0
  102. package/types/entity/GeoObject.d.ts +111 -0
  103. package/types/entity/GeoObjectHandler.d.ts +81 -0
  104. package/types/entity/Geometry.d.ts +74 -0
  105. package/types/entity/GeometryHandler.d.ts +76 -0
  106. package/types/entity/Label.d.ts +189 -0
  107. package/types/entity/LabelHandler.d.ts +31 -0
  108. package/types/entity/LabelWorker.d.ts +11 -0
  109. package/types/entity/PointCloud.d.ts +174 -0
  110. package/types/entity/PointCloudHandler.d.ts +38 -0
  111. package/types/entity/Polyline.d.ts +306 -0
  112. package/types/entity/PolylineHandler.d.ts +18 -0
  113. package/types/entity/Ray.d.ts +124 -0
  114. package/types/entity/RayHandler.d.ts +67 -0
  115. package/types/entity/ShapeHandler.d.ts +22 -0
  116. package/types/entity/Strip.d.ts +119 -0
  117. package/types/entity/StripHandler.d.ts +38 -0
  118. package/types/entity/index.d.ts +8 -0
  119. package/types/index.core.d.ts +65 -0
  120. package/types/index.d.ts +45 -0
  121. package/types/index.webgl.d.ts +7 -0
  122. package/types/input/KeyboardHandler.d.ts +10 -0
  123. package/types/input/MouseHandler.d.ts +5 -0
  124. package/types/input/TouchHandler.d.ts +5 -0
  125. package/types/input/input.d.ts +34 -0
  126. package/types/layer/BaseGeoImage.d.ts +94 -0
  127. package/types/layer/CanvasTiles.d.ts +67 -0
  128. package/types/layer/GeoImage.d.ts +52 -0
  129. package/types/layer/GeoTexture2d.d.ts +8 -0
  130. package/types/layer/GeoVideo.d.ts +55 -0
  131. package/types/layer/KML.d.ts +68 -0
  132. package/types/layer/Layer.d.ts +310 -0
  133. package/types/layer/Material.d.ts +45 -0
  134. package/types/layer/Vector.d.ts +208 -0
  135. package/types/layer/WMS.d.ts +61 -0
  136. package/types/layer/XYZ.d.ts +119 -0
  137. package/types/layer/index.d.ts +10 -0
  138. package/types/light/LightSource.d.ts +178 -0
  139. package/types/math/Line2.d.ts +11 -0
  140. package/types/math/Line3.d.ts +10 -0
  141. package/types/math/Mat3.d.ts +65 -0
  142. package/types/math/Mat4.d.ts +176 -0
  143. package/types/math/Plane.d.ts +18 -0
  144. package/types/math/Quat.d.ts +379 -0
  145. package/types/math/Ray.d.ts +82 -0
  146. package/types/math/Vec2.d.ts +309 -0
  147. package/types/math/Vec3.d.ts +467 -0
  148. package/types/math/Vec4.d.ts +162 -0
  149. package/types/math/coder.d.ts +43 -0
  150. package/types/math/index.d.ts +11 -0
  151. package/types/math.d.ts +261 -0
  152. package/types/mercator.d.ts +92 -0
  153. package/types/proj/EPSG3857.d.ts +6 -0
  154. package/types/proj/EPSG4326.d.ts +6 -0
  155. package/types/proj/Proj.d.ts +42 -0
  156. package/types/quadTree/EntityCollectionNode.d.ts +34 -0
  157. package/types/quadTree/Node.d.ts +60 -0
  158. package/types/quadTree/quadTree.d.ts +40 -0
  159. package/types/renderer/Renderer.d.ts +290 -0
  160. package/types/renderer/RendererEvents.d.ts +237 -0
  161. package/types/res/images.d.ts +3 -0
  162. package/types/scene/Axes.d.ts +11 -0
  163. package/types/scene/BaseNode.d.ts +60 -0
  164. package/types/scene/Planet.d.ts +576 -0
  165. package/types/scene/RenderNode.d.ts +142 -0
  166. package/types/scene/SkyBox.d.ts +10 -0
  167. package/types/scene/index.d.ts +4 -0
  168. package/types/segment/Segment.d.ts +275 -0
  169. package/types/segment/SegmentLonLat.d.ts +17 -0
  170. package/types/segment/Slice.d.ts +10 -0
  171. package/types/segment/segmentHelper.d.ts +13 -0
  172. package/types/shaders/billboard.d.ts +3 -0
  173. package/types/shaders/depth.d.ts +2 -0
  174. package/types/shaders/drawnode.d.ts +7 -0
  175. package/types/shaders/geoObject.d.ts +3 -0
  176. package/types/shaders/label.d.ts +4 -0
  177. package/types/shaders/pointCloud.d.ts +2 -0
  178. package/types/shaders/polyline.d.ts +3 -0
  179. package/types/shaders/ray.d.ts +2 -0
  180. package/types/shaders/screenFrame.d.ts +2 -0
  181. package/types/shaders/shape.d.ts +4 -0
  182. package/types/shaders/skybox.d.ts +2 -0
  183. package/types/shaders/toneMapping.d.ts +2 -0
  184. package/types/shapes/BaseShape.d.ts +250 -0
  185. package/types/shapes/Sphere.d.ts +41 -0
  186. package/types/terrain/BilTerrain.d.ts +7 -0
  187. package/types/terrain/EmptyTerrain.d.ts +73 -0
  188. package/types/terrain/Geoid.d.ts +26 -0
  189. package/types/terrain/GlobusTerrain.d.ts +116 -0
  190. package/types/terrain/MapboxTerrain.d.ts +7 -0
  191. package/types/terrain/index.d.ts +5 -0
  192. package/types/utils/FontAtlas.d.ts +15 -0
  193. package/types/utils/GeoImageCreator.d.ts +30 -0
  194. package/types/utils/ImagesCacheManager.d.ts +10 -0
  195. package/types/utils/Loader.d.ts +25 -0
  196. package/types/utils/NormalMapCreator.d.ts +39 -0
  197. package/types/utils/PlainSegmentWorker.d.ts +10 -0
  198. package/types/utils/TerrainWorker.d.ts +9 -0
  199. package/types/utils/TextureAtlas.d.ts +111 -0
  200. package/types/utils/VectorTileCreator.d.ts +16 -0
  201. package/types/utils/colorTable.d.ts +143 -0
  202. package/types/utils/earcut.d.ts +6 -0
  203. package/types/utils/shared.d.ts +231 -0
  204. package/types/webgl/Framebuffer.d.ts +135 -0
  205. package/types/webgl/Handler.d.ts +417 -0
  206. package/types/webgl/Multisample.d.ts +89 -0
  207. package/types/webgl/Program.d.ts +161 -0
  208. package/types/webgl/ProgramController.d.ts +89 -0
  209. package/types/webgl/callbacks.d.ts +1 -0
  210. package/types/webgl/index.d.ts +6 -0
  211. package/types/webgl/types.d.ts +2 -0
@@ -0,0 +1,379 @@
1
+ /**
2
+ * Creates Quat instance.
3
+ * @function
4
+ * @param {Number} [x=0.0] The X component.
5
+ * @param {Number} [y=0.0] The Y component.
6
+ * @param {Number} [z=0.0] The Z component.
7
+ * @param {Number} [w=0.0] The W component.
8
+ * @returns {Quat} -
9
+ */
10
+ export function quat(x?: number, y?: number, z?: number, w?: number): Quat;
11
+ /**
12
+ * A set of 4-dimensional coordinates used to represent rotation in 3-dimensional space.
13
+ * @constructor
14
+ * @param {Number} [x=0.0] The X component.
15
+ * @param {Number} [y=0.0] The Y component.
16
+ * @param {Number} [z=0.0] The Z component.
17
+ * @param {Number} [w=0.0] The W component.
18
+ */
19
+ export class Quat {
20
+ /**
21
+ * Identity Quat.
22
+ * @const
23
+ * @type {Quat}
24
+ */
25
+ static get IDENTITY(): Quat;
26
+ /**
27
+ * Returns a Quat represents rotation around X axis.
28
+ * @static
29
+ * @param {number} a - The angle in radians to rotate around the axis.
30
+ * @returns {Quat} -
31
+ */
32
+ static xRotation(a: number): Quat;
33
+ /**
34
+ * Returns a Quat represents rotation around Y axis.
35
+ * @static
36
+ * @param {number} a - The angle in radians to rotate around the axis.
37
+ * @returns {Quat} -
38
+ */
39
+ static yRotation(a: number): Quat;
40
+ /**
41
+ * Returns a Quat represents rotation around Z axis.
42
+ * @static
43
+ * @param {number} a - The angle in radians to rotate around the axis.
44
+ * @returns {Quat} -
45
+ */
46
+ static zRotation(a: number): Quat;
47
+ /**
48
+ * Computes a Quat representing a rotation around an axis.
49
+ * @static
50
+ * @param {Vec3} axis - The axis of rotation.
51
+ * @param {number} [angle=0.0] The angle in radians to rotate around the axis.
52
+ * @returns {Quat} -
53
+ */
54
+ static axisAngleToQuat(axis: Vec3, angle?: number): Quat;
55
+ /**
56
+ * Computes a rotation from the given heading and up vector.
57
+ * @static
58
+ * @param {Vec3} forward - Heading target coordinates.
59
+ * @param {Vec3} up - Up vector.
60
+ * @returns {Quat} -
61
+ */
62
+ static getLookRotation(forward: Vec3, up: Vec3): Quat;
63
+ /**
64
+ * Computes a Quat from from source point heading to the destination point.
65
+ * @static
66
+ * @param {Vec3} sourcePoint - Source coordinate.
67
+ * @param {Vec3} destPoint - Destination coordinate.
68
+ * @returns {Quat} -
69
+ */
70
+ static getLookAtSourceDest(sourcePoint: Vec3, destPoint: Vec3): Quat;
71
+ /**
72
+ * Compute rotation between two vectors.
73
+ * @static
74
+ * @param {Vec3} u - First vector.
75
+ * @param {Vec3} v - Second vector.
76
+ * @returns {Quat} -
77
+ */
78
+ static getRotationBetweenVectors(u: Vec3, v: Vec3): Quat;
79
+ /**
80
+ * Compute rotation between two vectors.
81
+ * @static
82
+ * @param {Vec3} u - First vector.
83
+ * @param {Vec3} v - Second vector.
84
+ * @param {Quat} res
85
+ * @returns {Quat} -
86
+ */
87
+ static getRotationBetweenVectorsRes(u: Vec3, v: Vec3, res: Quat): Quat;
88
+ /**
89
+ * Compute rotation between two vectors with around vector up
90
+ * for exactly opposite vectors. If vectors exaclty in the same
91
+ * direction than returns identity Quat.
92
+ * @static
93
+ * @param {Vec3} source - First vector.
94
+ * @param {Vec3} dest - Second vector.
95
+ * @param {Vec3} up - Up vector.
96
+ * @returns {Quat} -
97
+ */
98
+ static getRotationBetweenVectorsUp(source: Vec3, dest: Vec3, up: Vec3): Quat;
99
+ /**
100
+ * @param {Number} [x=0.0] The X component.
101
+ * @param {Number} [y=0.0] The Y component.
102
+ * @param {Number} [z=0.0] The Z component.
103
+ * @param {Number} [w=0.0] The W component.
104
+ */
105
+ constructor(x?: number, y?: number, z?: number, w?: number);
106
+ /**
107
+ * The X component.
108
+ * @public
109
+ * @type {Number}
110
+ * @default 0.0
111
+ */
112
+ public x: number;
113
+ /**
114
+ * The Y component.
115
+ * @public
116
+ * @type {Number}
117
+ * @default 0.0
118
+ */
119
+ public y: number;
120
+ /**
121
+ * The Z component.
122
+ * @public
123
+ * @type {Number}
124
+ * @default 0.0
125
+ */
126
+ public z: number;
127
+ /**
128
+ * The W component.
129
+ * @public
130
+ * @type {Number}
131
+ * @default 0.0
132
+ */
133
+ public w: number;
134
+ /**
135
+ * Returns true if the components are zero.
136
+ * @public
137
+ * @param {Quat} q - Quat to subtract.
138
+ * @returns {Quat} -
139
+ */
140
+ public isZero(): Quat;
141
+ /**
142
+ * Clear Quat. Sets zeroes.
143
+ * @public
144
+ * @returns {Quat} -
145
+ */
146
+ public clear(): Quat;
147
+ /**
148
+ * Sets Quat values.
149
+ * @public
150
+ * @param {Number} [x=0.0] The X component.
151
+ * @param {Number} [y=0.0] The Y component.
152
+ * @param {Number} [z=0.0] The Z component.
153
+ * @param {Number} [w=0.0] The W component.
154
+ * @returns {Quat} -
155
+ */
156
+ public set(x?: number, y?: number, z?: number, w?: number): Quat;
157
+ /**
158
+ * Copy Quat values.
159
+ * @public
160
+ * @param {Quat} q - Copy Quat.
161
+ * @returns {Quat} -
162
+ */
163
+ public copy(q: Quat): Quat;
164
+ /**
165
+ * Set current Quat instance to identity Quat.
166
+ * @public
167
+ * @returns {Quat} -
168
+ */
169
+ public setIdentity(): Quat;
170
+ /**
171
+ * Duplicates a Quat instance.
172
+ * @public
173
+ * @returns {Quat} -
174
+ */
175
+ public clone(): Quat;
176
+ /**
177
+ * Computes the componentwise sum of two Quats.
178
+ * @public
179
+ * @param {Quat} q - Quat to add.
180
+ * @returns {Quat} -
181
+ */
182
+ public add(q: Quat): Quat;
183
+ /**
184
+ * Computes the componentwise difference of two Quats.
185
+ * @public
186
+ * @param {Quat} q - Quat to subtract.
187
+ * @returns {Quat} -
188
+ */
189
+ public sub(q: Quat): Quat;
190
+ /**
191
+ * Multiplies the provided Quat componentwise by the provided scalar.
192
+ * @public
193
+ * @param {Number} scale - The scalar to multiply with.
194
+ * @returns {Quat} -
195
+ */
196
+ public scaleTo(scale: number): Quat;
197
+ /**
198
+ * Multiplies the provided Quat componentwise.
199
+ * @public
200
+ * @param {Number} scale - The scalar to multiply with.
201
+ * @returns {Quat} -
202
+ */
203
+ public scale(scale: number): Quat;
204
+ /**
205
+ * Converts Quat values to array.
206
+ * @public
207
+ * @returns {Array.<number>} - (exactly 4 entries)
208
+ */
209
+ public toVec(): Array<number>;
210
+ /**
211
+ * Sets current quaternion by spherical coordinates.
212
+ * @public
213
+ * @param {number} lat - Latitude.
214
+ * @param {number} lon - Longitude.
215
+ * @param {number} angle - Angle in radians.
216
+ * @returns {Quat} -
217
+ */
218
+ public setFromSphericalCoords(lat: number, lon: number, angle: number): Quat;
219
+ /**
220
+ * Sets rotation with the given heading and up vectors.
221
+ * @static
222
+ * @param {Vec3} forward - Heading target coordinates.
223
+ * @param {Vec3} up - Up vector.
224
+ * @returns {Quat} -
225
+ */
226
+ setLookRotation(forward: Vec3, up: Vec3): Quat;
227
+ /**
228
+ * Gets spherical coordinates.
229
+ * @public
230
+ * @returns {Object} Returns object with latitude, longitude and alpha.
231
+ */
232
+ public toSphericalCoords(): any;
233
+ /**
234
+ * Sets current Quat representing a rotation around an axis.
235
+ * @public
236
+ * @param {Vec3} axis - The axis of rotation.
237
+ * @param {number} angle The angle in radians to rotate around the axis.
238
+ * @returns {Quat} -
239
+ */
240
+ public setFromAxisAngle(axis: Vec3, angle: number): Quat;
241
+ /**
242
+ * Returns axis and angle of the current Quat.
243
+ * @public
244
+ * @returns {Object} -
245
+ */
246
+ public getAxisAngle(): any;
247
+ /**
248
+ * Sets current Quat by Euler's angles.
249
+ * @public
250
+ * @param {number} pitch - Pitch angle in degrees.
251
+ * @param {number} yaw - Yaw angle in degrees.
252
+ * @param {number} roll - Roll angle in degrees.
253
+ * @returns {Quat} -
254
+ */
255
+ public setFromEulerAngles(pitch: number, yaw: number, roll: number): Quat;
256
+ /**
257
+ * Returns Euler's angles of the current Quat.
258
+ * @public
259
+ * @returns {Object} -
260
+ */
261
+ public getEulerAngles(): any;
262
+ /**
263
+ * Computes a Quat from the provided 4x4 matrix instance.
264
+ * @public
265
+ * @param {Mat4} m - The rotation matrix.
266
+ * @returns {Quat} -
267
+ */
268
+ public setFromMatrix4(m: Mat4): Quat;
269
+ /**
270
+ * Converts current Quat to the rotation 4x4 matrix.
271
+ * @public
272
+ * @returns {Mat4} -
273
+ */
274
+ public getMat4(out: any): Mat4;
275
+ /**
276
+ * Converts current Quat to the rotation 3x3 matrix.
277
+ * @public
278
+ * @returns {Mat3} -
279
+ * @todo NOT TESTED
280
+ */
281
+ public getMat3(): Mat3;
282
+ /**
283
+ * Returns quatrenion and vector production.
284
+ * @public
285
+ * @param {Vec3} v - 3d Vector.
286
+ * @returns {Vec3} -
287
+ */
288
+ public mulVec3(v: Vec3): Vec3;
289
+ /**
290
+ * Computes the product of two Quats.
291
+ * @public
292
+ * @param {Quat} q - Quat to multiply.
293
+ * @returns {Quat} -
294
+ */
295
+ public mul(q: Quat): Quat;
296
+ /**
297
+ * Computes the product of two Quats.
298
+ * @public
299
+ * @param {Quat} q - Quat to multiply.
300
+ * @returns {Quat} -
301
+ */
302
+ public mulA(q: Quat): Quat;
303
+ /**
304
+ * Gets the conjugate of the Quat.
305
+ * @public
306
+ * @returns {Quat} -
307
+ */
308
+ public conjugate(): Quat;
309
+ /**
310
+ * Computes the inverse of the Quat.
311
+ * @public
312
+ * @returns {Quat} -
313
+ */
314
+ public inverse(): Quat;
315
+ /**
316
+ * Computes a magnitude of the Quat.
317
+ * @public
318
+ * @returns {number} -
319
+ */
320
+ public magnitude(): number;
321
+ /**
322
+ * Computes a squared magnitude of the Quat.
323
+ * @public
324
+ * @returns {number} -
325
+ */
326
+ public magnitude2(): number;
327
+ /**
328
+ * Computes the dot (scalar) product of two Quats.
329
+ * @public
330
+ * @param {Quat} q - Second quatrnion.
331
+ * @returns {number} -
332
+ */
333
+ public dot(q: Quat): number;
334
+ /**
335
+ * Current Quat normalization.
336
+ * @public
337
+ * @returns {Quat} -
338
+ */
339
+ public normalize(): Quat;
340
+ /**
341
+ * Compares two Quats.
342
+ * @public
343
+ * @param {Quat} q - Second quatrnion.
344
+ * @returns {Boolean} -
345
+ */
346
+ public isEqual(q: Quat): boolean;
347
+ /**
348
+ * Performs a spherical linear interpolation between two Quats.
349
+ * @public
350
+ * @param {Quat} b - The end rotation Quat.
351
+ * @param {number} t - interpolation amount between the two Quats.
352
+ * @returns {Quat} -
353
+ */
354
+ public slerp(b: Quat, t: number): Quat;
355
+ /**
356
+ * Returns a roll angle in radians.
357
+ * @public
358
+ * @param {Boolean} [reprojectAxis] -
359
+ * @returns {Number} -
360
+ */
361
+ public getRoll(reprojectAxis?: boolean): number;
362
+ /**
363
+ * Returns a pitch angle in radians.
364
+ * @public
365
+ * @param {Boolean} [reprojectAxis] -
366
+ * @returns {number} -
367
+ */
368
+ public getPitch(reprojectAxis?: boolean): number;
369
+ /**
370
+ * Returns a yaw angle in radians.
371
+ * @public
372
+ * @param {Boolean} [reprojectAxis] -
373
+ * @returns {number} -
374
+ */
375
+ public getYaw(reprojectAxis?: boolean): number;
376
+ }
377
+ import { Vec3 } from "./Vec3.js";
378
+ import { Mat4 } from "./Mat4.js";
379
+ import { Mat3 } from "./Mat3.js";
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Ray object creator.
3
+ * @function
4
+ * @param {Vec3} origin - The origin of the ray.
5
+ * @param {Vec3} direction - The direction of the ray.
6
+ * @returns {Ray}
7
+ */
8
+ export function ray(origin: Vec3, direction: Vec3): Ray;
9
+ /**
10
+ * Represents a ray that extends infinitely from the provided origin in the provided direction.
11
+ * @class
12
+ * @param {Vec3} origin - The origin of the ray.
13
+ * @param {Vec3} direction - The direction of the ray.
14
+ */
15
+ export class Ray {
16
+ /** @const */
17
+ static get OUTSIDE(): number;
18
+ /** @const */
19
+ static get INSIDE(): number;
20
+ /** @const */
21
+ static get INPLANE(): number;
22
+ /** @const */
23
+ static get AWAY(): number;
24
+ constructor(origin: any, direction: any);
25
+ /**
26
+ * The origin of the ray.
27
+ * @public
28
+ * @type {Vec3}
29
+ */
30
+ public origin: Vec3;
31
+ /**
32
+ * The direction of the ray.
33
+ * @public
34
+ * @type {Vec3}
35
+ */
36
+ public direction: Vec3;
37
+ /**
38
+ * Sets a ray parameters.
39
+ * @public
40
+ * @param {Vec3} origin - The origin of the ray.
41
+ * @param {Vec3} direction - The direction of the ray.
42
+ * @returns {Ray}
43
+ */
44
+ public set(origin: Vec3, direction: Vec3): Ray;
45
+ /**
46
+ * Computes the point along the ray on the distance.
47
+ * @public
48
+ * @param {number} distance - Point distance.
49
+ * @returns {Vec3}
50
+ */
51
+ public getPoint(distance: number): Vec3;
52
+ /**
53
+ * Returns ray hit a triange result.
54
+ * @public
55
+ * @param {Vec3} v0 - First triangle corner coordinate.
56
+ * @param {Vec3} v1 - Second triangle corner coordinate.
57
+ * @param {Vec3} v2 - Third triangle corner coordinate.
58
+ * @param {Vec3} res - Hit point object pointer that stores hit result.
59
+ * @returns {number} - Hit code, could 0 - og.Ray.OUTSIDE, 1 - og.Ray.INSIDE,
60
+ * 2 - og.Ray.INPLANE and 3 - og.Ray.AWAY(ray goes away from triangle).
61
+ */
62
+ public hitTriangle(v0: Vec3, v1: Vec3, v2: Vec3, res: Vec3, normal: any): number;
63
+ /**
64
+ * Gets a ray hit a plane result. If the ray cross the plane returns 1 - og.Ray.INSIDE otherwise returns 0 - og.Ray.OUTSIDE.
65
+ * @public
66
+ * @param {Vec3} v0 - First plane point.
67
+ * @param {Vec3} v1 - Second plane point.
68
+ * @param {Vec3} v2 - Third plane point.
69
+ * @param {Vec3} res - Hit point object pointer that stores hit result.
70
+ * @returns {number}
71
+ */
72
+ public hitPlane(v0: Vec3, v1: Vec3, v2: Vec3, res: Vec3): number;
73
+ /**
74
+ * Returns a ray hit sphere coordiante. If there isn't hit returns null.
75
+ * @public
76
+ * @param {Sphere} sphere - Sphere object.
77
+ * @returns {Vec3}
78
+ */
79
+ public hitSphere(sphere: Sphere): Vec3;
80
+ hitBox(box: any): void;
81
+ }
82
+ import { Vec3 } from "./Vec3.js";