@openglobus/og 0.11.1 → 0.11.6

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 (255) hide show
  1. package/package.json +18 -20
  2. package/src/og/Clock.js +11 -11
  3. package/src/og/Deferred.js +1 -1
  4. package/src/og/Events.js +9 -7
  5. package/src/og/Extent.js +117 -72
  6. package/src/og/Globe.js +35 -22
  7. package/src/og/ImageCanvas.js +24 -18
  8. package/src/og/Lock.js +2 -2
  9. package/src/og/LonLat.js +40 -37
  10. package/src/og/Popup.js +21 -15
  11. package/src/og/QueueArray.js +7 -3
  12. package/src/og/Rectangle.js +11 -6
  13. package/src/og/Stack.js +8 -5
  14. package/src/og/ajax.js +21 -33
  15. package/src/og/astro/astro.js +5 -5
  16. package/src/og/astro/earth.js +23 -17
  17. package/src/og/astro/jd.js +44 -39
  18. package/src/og/astro/orbit.js +20 -18
  19. package/src/og/astro/rotation.js +17 -8
  20. package/src/og/bv/Box.js +7 -3
  21. package/src/og/bv/Sphere.js +17 -9
  22. package/src/og/camera/Camera.js +137 -86
  23. package/src/og/camera/Frustum.js +30 -19
  24. package/src/og/camera/PlanetCamera.js +30 -26
  25. package/src/og/control/CompassButton.js +8 -2
  26. package/src/og/control/Control.js +13 -11
  27. package/src/og/control/DebugInfo.js +4 -1
  28. package/src/og/control/EarthCoordinates.js +62 -41
  29. package/src/og/control/EarthNavigation.js +20 -22
  30. package/src/og/control/GeoImageDragControl.js +1 -1
  31. package/src/og/control/KeyboardNavigation.js +12 -12
  32. package/src/og/control/LayerSwitcher.js +24 -23
  33. package/src/og/control/Lighting.js +1 -1
  34. package/src/og/control/MouseNavigation.js +1 -1
  35. package/src/og/control/ScaleControl.js +1 -1
  36. package/src/og/control/SegmentBoundVisualization.js +8 -9
  37. package/src/og/control/ShowFps.js +15 -10
  38. package/src/og/control/SimpleNavigation.js +8 -10
  39. package/src/og/control/Sun.js +25 -15
  40. package/src/og/control/ToggleWireframe.js +5 -5
  41. package/src/og/control/TouchNavigation.js +58 -45
  42. package/src/og/control/ZoomControl.js +41 -25
  43. package/src/og/control/index.js +4 -0
  44. package/src/og/ellipsoid/Ellipsoid.js +181 -85
  45. package/src/og/ellipsoid/wgs84.js +4 -4
  46. package/src/og/entity/BaseBillboard.js +97 -44
  47. package/src/og/entity/Billboard.js +15 -11
  48. package/src/og/entity/BillboardHandler.js +314 -64
  49. package/src/og/entity/Entity.js +106 -74
  50. package/src/og/entity/EntityCollection.js +72 -49
  51. package/src/og/entity/GeoObject.js +228 -0
  52. package/src/og/entity/GeoObjectHandler.js +910 -0
  53. package/src/og/entity/Geometry.js +29 -26
  54. package/src/og/entity/GeometryHandler.js +598 -126
  55. package/src/og/entity/Label.js +74 -40
  56. package/src/og/entity/LabelHandler.js +47 -246
  57. package/src/og/entity/LabelWorker.js +213 -0
  58. package/src/og/entity/Object3d.js +504 -0
  59. package/src/og/entity/PointCloud.js +81 -33
  60. package/src/og/entity/PointCloudHandler.js +9 -9
  61. package/src/og/entity/Polyline.js +39 -39
  62. package/src/og/entity/Ray.js +61 -28
  63. package/src/og/entity/ShapeHandler.js +1 -1
  64. package/src/og/entity/Strip.js +77 -48
  65. package/src/og/entity/StripHandler.js +27 -27
  66. package/src/og/entity/index.js +8 -16
  67. package/src/og/input/KeyboardHandler.js +107 -104
  68. package/src/og/input/MouseHandler.js +81 -78
  69. package/src/og/input/TouchHandler.js +55 -51
  70. package/src/og/layer/BaseGeoImage.js +61 -30
  71. package/src/og/layer/CanvasTiles.js +26 -24
  72. package/src/og/layer/GeoImage.js +10 -10
  73. package/src/og/layer/GeoTexture2d.js +1 -1
  74. package/src/og/layer/GeoVideo.js +3 -3
  75. package/src/og/layer/KML.js +66 -40
  76. package/src/og/layer/Layer.js +27 -17
  77. package/src/og/layer/Material.js +93 -61
  78. package/src/og/layer/Vector.js +118 -72
  79. package/src/og/layer/WMS.js +36 -19
  80. package/src/og/layer/XYZ.js +55 -48
  81. package/src/og/light/LightSource.js +47 -40
  82. package/src/og/math/Line2.js +24 -24
  83. package/src/og/math/Line3.js +103 -102
  84. package/src/og/math/Mat3.js +134 -121
  85. package/src/og/math/Mat4.js +603 -459
  86. package/src/og/math/Plane.js +21 -20
  87. package/src/og/math/Quat.js +980 -927
  88. package/src/og/math/Ray.js +195 -187
  89. package/src/og/math/Vec2.js +127 -117
  90. package/src/og/math/Vec3.js +206 -176
  91. package/src/og/math/Vec4.js +49 -53
  92. package/src/og/math/coder.js +18 -18
  93. package/src/og/math.js +12 -12
  94. package/src/og/mercator.js +11 -11
  95. package/src/og/proj/EPSG3857.js +4 -4
  96. package/src/og/proj/EPSG4326.js +4 -4
  97. package/src/og/proj/Proj.js +31 -31
  98. package/src/og/quadTree/EntityCollectionNode.js +310 -300
  99. package/src/og/quadTree/Node.js +1008 -993
  100. package/src/og/renderer/Renderer.js +768 -747
  101. package/src/og/renderer/RendererEvents.js +9 -6
  102. package/src/og/scene/Axes.js +1 -1
  103. package/src/og/scene/BaseNode.js +8 -9
  104. package/src/og/scene/Planet.js +115 -87
  105. package/src/og/scene/RenderNode.js +29 -22
  106. package/src/og/scene/SkyBox.js +1 -1
  107. package/src/og/segment/Segment.js +1886 -1878
  108. package/src/og/segment/SegmentLonLat.js +298 -268
  109. package/src/og/segment/segmentHelper.js +11 -11
  110. package/src/og/shaders/bloom.js +1 -1
  111. package/src/og/shaders/blur.js +2 -2
  112. package/src/og/shaders/depth.js +1 -1
  113. package/src/og/shaders/geoObject.js +211 -0
  114. package/src/og/shaders/label.js +1 -1
  115. package/src/og/shaders/lumFilter.js +1 -1
  116. package/src/og/shaders/pointCloud.js +42 -42
  117. package/src/og/shaders/screenFrame.js +1 -1
  118. package/src/og/shaders/shape.js +15 -21
  119. package/src/og/shaders/skybox.js +37 -37
  120. package/src/og/shaders/toneMapping.js +1 -1
  121. package/src/og/shapes/BaseShape.js +129 -57
  122. package/src/og/shapes/Icosphere.js +30 -15
  123. package/src/og/shapes/Sphere.js +13 -16
  124. package/src/og/terrain/BilTerrain.js +2 -1
  125. package/src/og/terrain/EmptyTerrain.js +2 -2
  126. package/src/og/terrain/Geoid.js +2 -2
  127. package/src/og/terrain/GlobusTerrain.js +10 -10
  128. package/src/og/terrain/MapboxTerrain.js +1 -1
  129. package/src/og/utils/GeoImageCreator.js +9 -9
  130. package/src/og/utils/Loader.js +6 -6
  131. package/src/og/utils/NormalMapCreator.js +13 -13
  132. package/src/og/utils/TerrainWorker.js +1 -1
  133. package/src/og/utils/TextureAtlas.js +20 -22
  134. package/src/og/utils/VectorTileCreator.js +5 -5
  135. package/src/og/utils/earcut.js +1 -1
  136. package/src/og/utils/shared.js +15 -15
  137. package/src/og/webgl/Framebuffer.js +101 -53
  138. package/src/og/webgl/Handler.js +125 -85
  139. package/src/og/webgl/Multisample.js +55 -27
  140. package/src/og/webgl/Program.js +80 -35
  141. package/src/og/webgl/ProgramController.js +27 -23
  142. package/src/og/webgl/callbacks.js +8 -8
  143. package/types/Clock.d.ts +6 -2
  144. package/types/Deferred.d.ts +1 -1
  145. package/types/Events.d.ts +8 -4
  146. package/types/Extent.d.ts +37 -33
  147. package/types/Globe.d.ts +15 -13
  148. package/types/ImageCanvas.d.ts +5 -3
  149. package/types/LonLat.d.ts +24 -24
  150. package/types/Popup.d.ts +4 -0
  151. package/types/QueueArray.d.ts +6 -2
  152. package/types/Rectangle.d.ts +10 -4
  153. package/types/Stack.d.ts +4 -0
  154. package/types/ajax.d.ts +1 -1
  155. package/types/astro/earth.d.ts +3 -2
  156. package/types/bv/Box.d.ts +10 -5
  157. package/types/bv/Sphere.d.ts +13 -7
  158. package/types/camera/Camera.d.ts +90 -81
  159. package/types/camera/Frustum.d.ts +26 -22
  160. package/types/camera/PlanetCamera.d.ts +49 -53
  161. package/types/control/CompassButton.d.ts +4 -4
  162. package/types/control/Control.d.ts +7 -4
  163. package/types/control/DebugInfo.d.ts +3 -4
  164. package/types/control/EarthCoordinates.d.ts +6 -6
  165. package/types/control/EarthNavigation.d.ts +42 -0
  166. package/types/control/KeyboardNavigation.d.ts +3 -4
  167. package/types/control/LayerSwitcher.d.ts +3 -5
  168. package/types/control/Lighting.d.ts +3 -3
  169. package/types/control/MouseNavigation.d.ts +47 -0
  170. package/types/control/ScaleControl.d.ts +3 -3
  171. package/types/control/ShowFps.d.ts +3 -4
  172. package/types/control/SimpleNavigation.d.ts +3 -6
  173. package/types/control/Sun.d.ts +8 -10
  174. package/types/control/ToggleWireframe.d.ts +3 -3
  175. package/types/control/TouchNavigation.d.ts +48 -0
  176. package/types/control/ZoomControl.d.ts +3 -4
  177. package/types/control/index.d.ts +3 -1
  178. package/types/ellipsoid/Ellipsoid.d.ts +47 -43
  179. package/types/ellipsoid/wgs84.d.ts +3 -2
  180. package/types/entity/BaseBillboard.d.ts +41 -34
  181. package/types/entity/Billboard.d.ts +7 -7
  182. package/types/entity/BillboardHandler.d.ts +4 -0
  183. package/types/entity/Entity.d.ts +101 -83
  184. package/types/entity/EntityCollection.d.ts +57 -43
  185. package/types/entity/GeoObject.d.ts +111 -0
  186. package/types/entity/GeoObjectHandler.d.ts +77 -0
  187. package/types/entity/Geometry.d.ts +9 -7
  188. package/types/entity/GeometryHandler.d.ts +2 -2
  189. package/types/entity/Label.d.ts +24 -29
  190. package/types/entity/LabelHandler.d.ts +9 -2
  191. package/types/entity/LabelWorker.d.ts +9 -0
  192. package/types/entity/PointCloud.d.ts +8 -8
  193. package/types/entity/PointCloudHandler.d.ts +3 -3
  194. package/types/entity/Polyline.d.ts +58 -55
  195. package/types/entity/Ray.d.ts +19 -18
  196. package/types/entity/Strip.d.ts +8 -7
  197. package/types/entity/StripHandler.d.ts +3 -3
  198. package/types/entity/index.d.ts +7 -7
  199. package/types/input/KeyboardHandler.d.ts +10 -0
  200. package/types/input/MouseHandler.d.ts +5 -0
  201. package/types/input/TouchHandler.d.ts +5 -0
  202. package/types/layer/BaseGeoImage.d.ts +23 -35
  203. package/types/layer/CanvasTiles.d.ts +15 -22
  204. package/types/layer/GeoImage.d.ts +5 -18
  205. package/types/layer/GeoVideo.d.ts +5 -30
  206. package/types/layer/KML.d.ts +20 -15
  207. package/types/layer/Layer.d.ts +326 -0
  208. package/types/layer/Material.d.ts +45 -0
  209. package/types/layer/Vector.d.ts +208 -0
  210. package/types/layer/WMS.d.ts +4 -7
  211. package/types/layer/XYZ.d.ts +19 -25
  212. package/types/light/LightSource.d.ts +54 -53
  213. package/types/math/Line2.d.ts +11 -0
  214. package/types/math/Line3.d.ts +10 -0
  215. package/types/math/Mat3.d.ts +30 -18
  216. package/types/math/Mat4.d.ts +71 -52
  217. package/types/math/Plane.d.ts +5 -4
  218. package/types/math/Quat.d.ts +379 -0
  219. package/types/math/Ray.d.ts +82 -0
  220. package/types/math/Vec2.d.ts +102 -101
  221. package/types/math/Vec3.d.ts +143 -142
  222. package/types/math/Vec4.d.ts +40 -39
  223. package/types/math/coder.d.ts +12 -11
  224. package/types/math.d.ts +8 -8
  225. package/types/mercator.d.ts +3 -3
  226. package/types/proj/EPSG3857.d.ts +3 -2
  227. package/types/proj/EPSG4326.d.ts +3 -2
  228. package/types/proj/Proj.d.ts +42 -0
  229. package/types/quadTree/EntityCollectionNode.d.ts +34 -0
  230. package/types/quadTree/Node.d.ts +61 -0
  231. package/types/renderer/Renderer.d.ts +300 -0
  232. package/types/renderer/RendererEvents.d.ts +10 -7
  233. package/types/scene/BaseNode.d.ts +9 -9
  234. package/types/scene/Planet.d.ts +131 -126
  235. package/types/scene/RenderNode.d.ts +22 -23
  236. package/types/segment/Segment.d.ts +279 -0
  237. package/types/segment/SegmentLonLat.d.ts +16 -0
  238. package/types/shaders/geoObject.d.ts +3 -0
  239. package/types/shapes/BaseShape.d.ts +43 -40
  240. package/types/shapes/Sphere.d.ts +7 -7
  241. package/types/terrain/BilTerrain.d.ts +0 -1
  242. package/types/terrain/EmptyTerrain.d.ts +4 -4
  243. package/types/terrain/GlobusTerrain.d.ts +17 -54
  244. package/types/terrain/MapboxTerrain.d.ts +0 -1
  245. package/types/utils/GeoImageCreator.d.ts +3 -2
  246. package/types/utils/TextureAtlas.d.ts +8 -8
  247. package/types/utils/shared.d.ts +25 -24
  248. package/types/webgl/Framebuffer.d.ts +5 -5
  249. package/types/webgl/Handler.d.ts +68 -43
  250. package/types/webgl/Multisample.d.ts +5 -5
  251. package/types/webgl/Program.d.ts +8 -2
  252. package/types/webgl/ProgramController.d.ts +18 -13
  253. package/src/og/inherits.js +0 -8
  254. package/src/og/utils/polylabel.js +0 -176
  255. package/types/inherits.d.ts +0 -4
@@ -1,11 +1,11 @@
1
1
  /**
2
2
  * Represents an imagery tiles source provider.
3
3
  * @class
4
- * @extends {og.Layer}
4
+ * @extends {Layer}
5
5
  * @param {string} name - Layer name.
6
6
  * @param {Object} options:
7
7
  * @param {number} [options.opacity=1.0] - Layer opacity.
8
- * @param {Array.<number,number,number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color.
8
+ * @param {Array.<number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color. (exactly 3 entries)
9
9
  * @param {Array.<string>} [options.subdomains=['a','b','c']] - Subdomains of the tile service.
10
10
  * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
11
11
  * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
@@ -16,7 +16,8 @@
16
16
  * @param {boolean} [options.visibility=true] - Layer visibility.
17
17
  * @param {string} [options.crossOrigin=true] - If true, all tiles will have their crossOrigin attribute set to ''.
18
18
  * @param {string} options.url - Tile url source template(see example below).
19
- * @param {og.layer.XYZ~_urlRewriteCallback} options.urlRewrite - Url rewrite function.
19
+ * @param {string} options.textureFilter - texture gl filter. NEAREST, LINEAR, MIPMAP, ANISOTROPHIC.
20
+ * @param {layer.XYZ~_urlRewriteCallback} options.urlRewrite - Url rewrite function.
20
21
  * @fires og.layer.XYZ#load
21
22
  * @fires og.layer.XYZ#loadend
22
23
  *
@@ -28,9 +29,12 @@
28
29
  * attribution: 'Data @ <a href="http://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="http://www.openstreetmap.org/copyright">ODbL</a>'
29
30
  * });
30
31
  */
31
- export class XYZ {
32
- constructor(name: any, options: any);
33
- transparentColor: any;
32
+ export class XYZ extends Layer {
33
+ /**
34
+ * @param {string} name - Layer name.
35
+ * @param {*} options
36
+ */
37
+ constructor(name: string, options: any);
34
38
  /**
35
39
  * Tile url source template.
36
40
  * @public
@@ -61,23 +65,16 @@ export class XYZ {
61
65
  * Rewrites imagery tile url query.
62
66
  * @private
63
67
  * @callback og.layer.XYZ~_urlRewriteCallback
64
- * @param {og.planetSegment.Segment} segment - Segment to load.
68
+ * @param {Segment} segment - Segment to load.
65
69
  * @param {string} url - Created url.
66
70
  * @returns {string} - Url query string.
67
71
  */
68
72
  private _urlRewriteCallback;
69
- get instanceName(): string;
70
73
  /**
71
74
  * Abort loading tiles.
72
75
  * @public
73
76
  */
74
77
  public abortLoading(): void;
75
- /**
76
- * Sets layer visibility.
77
- * @public
78
- * @param {boolean} visibility - Layer visibility.
79
- */
80
- public setVisibility(visibility: boolean): void;
81
78
  /**
82
79
  * Sets imagery tiles url source template.
83
80
  * @public
@@ -92,35 +89,32 @@ export class XYZ {
92
89
  * Start to load tile material.
93
90
  * @public
94
91
  * @virtual
95
- * @param {og.planetSegment.Material} material - Loads current material.
92
+ * @param {Material} material - Loads current material.
96
93
  */
97
- public loadMaterial(material: any, forceLoading: any): void;
94
+ public loadMaterial(material: Material, forceLoading: any): void;
98
95
  /**
99
96
  * Creates query url.
100
97
  * @protected
101
98
  * @virtual
102
- * @param {og.planetSegment.Segment} segment - Creates specific url for current segment.
99
+ * @param {Segment} segment - Creates specific url for current segment.
103
100
  * @returns {String} - Returns url string.
104
101
  */
105
- protected _createUrl(segment: any): string;
102
+ protected _createUrl(segment: Segment): string;
106
103
  _getSubdomain(): any;
107
104
  /**
108
105
  * Returns actual url query string.
109
106
  * @protected
110
- * @param {og.planetSegment.Segment} segment - Segment that loads image data.
107
+ * @param {Segment} segment - Segment that loads image data.
111
108
  * @returns {string} - Url string.
112
109
  */
113
- protected _getHTTPRequestString(segment: any): string;
110
+ protected _getHTTPRequestString(segment: Segment): string;
114
111
  /**
115
112
  * Sets url rewrite callback, used for custom url rewriting for every tile laoding.
116
113
  * @public
117
- * @param {og.layer.XYZ~_urlRewriteCallback} ur - The callback that returns tile custom created url.
114
+ * @param {layer.XYZ~_urlRewriteCallback} ur - The callback that returns tile custom created url.
118
115
  */
119
116
  public setUrlRewriteCallback(ur: any): void;
120
117
  applyMaterial(material: any): any;
121
118
  clearMaterial(material: any): void;
122
- /**
123
- * @protected
124
- */
125
- protected _correctFullExtent(): void;
126
119
  }
120
+ import { Layer } from "./Layer.js";
@@ -3,10 +3,10 @@
3
3
  * @class
4
4
  * @param {string} [name] - Light source name.
5
5
  * @param {Object} [params] - Light parameters:
6
- * @param {og.Vec3} [params.position] - Light source position if it is a point light, otherwise it is a light direction vector.
7
- * @param {og.Vec3} [params.ambient] - Ambient RGB color.
8
- * @param {og.Vec3} [params.diffuse] - Diffuse RGB color.
9
- * @param {og.Vec3} [params.specular] - Specular RGB color.
6
+ * @param {Vec3} [params.position] - Light source position if it is a point light, otherwise it is a light direction vector.
7
+ * @param {Vec3} [params.ambient] - Ambient RGB color.
8
+ * @param {Vec3} [params.diffuse] - Diffuse RGB color.
9
+ * @param {Vec3} [params.specular] - Specular RGB color.
10
10
  * @param {number} [params.shininess] - Specular shininess.
11
11
  */
12
12
  export class LightSource {
@@ -22,15 +22,15 @@ export class LightSource {
22
22
  /**
23
23
  * Render node where light is shines.
24
24
  * @protected
25
- * @type {og.scene.RenderNode}
25
+ * @type {RenderNode}
26
26
  */
27
- protected _renderNode: any;
27
+ protected _renderNode: RenderNode;
28
28
  /**
29
29
  * Light position.
30
30
  * @protected
31
- * @type {og.Vec3}
31
+ * @type {Vec3}
32
32
  */
33
- protected _position: any;
33
+ protected _position: Vec3;
34
34
  /**
35
35
  * True if the light is directional.
36
36
  * @public
@@ -40,21 +40,21 @@ export class LightSource {
40
40
  /**
41
41
  * Ambient color.
42
42
  * @protected
43
- * @type {og.Vec3}
43
+ * @type {Vec3}
44
44
  */
45
- protected _ambient: any;
45
+ protected _ambient: Vec3;
46
46
  /**
47
47
  * Diffuse color.
48
48
  * @protected
49
- * @type {og.Vec3}
49
+ * @type {Vec3}
50
50
  */
51
- protected _diffuse: any;
51
+ protected _diffuse: Vec3;
52
52
  /**
53
53
  * Specular color.
54
54
  * @protected
55
- * @type {og.Vec3}
55
+ * @type {Vec3}
56
56
  */
57
- protected _specular: any;
57
+ protected _specular: Vec3;
58
58
  /**
59
59
  * Shininess.
60
60
  * @protected
@@ -67,17 +67,17 @@ export class LightSource {
67
67
  * @type {boolean}
68
68
  */
69
69
  protected _active: boolean;
70
- _tempAmbient: any;
71
- _tempDiffuse: any;
72
- _tempSpecular: any;
70
+ _tempAmbient: Vec3;
71
+ _tempDiffuse: Vec3;
72
+ _tempSpecular: Vec3;
73
73
  _tempShininess: number;
74
74
  /**
75
75
  * Creates clone of the current light object.
76
76
  * @todo: TODO
77
77
  * @public
78
- * @returns {og.LightSource}
78
+ * @returns {LightSource}
79
79
  */
80
- public clone(): any;
80
+ public clone(): LightSource;
81
81
  /**
82
82
  * Set light activity. If activity is false the light doesn't shine.
83
83
  * @public
@@ -93,85 +93,86 @@ export class LightSource {
93
93
  /**
94
94
  * Set light source position, or if it is a directional type sets light direction vector.
95
95
  * @public
96
- * @param {og.Vec3} position - Light position or direction vector.
97
- * @returns {og.LightSource}
96
+ * @param {Vec3} position - Light position or direction vector.
97
+ * @returns {LightSource}
98
98
  */
99
- public setPosition3v(position: any): any;
99
+ public setPosition3v(position: Vec3): LightSource;
100
100
  /**
101
101
  * Set light source position, or if it is a directional type sets light direction vector.
102
102
  * @public
103
- * @param {og.Vec3} position - Light position or direction vector.
104
- * @returns {og.LightSource}
103
+ * @param {Vec3} position - Light position or direction vector.
104
+ * @returns {LightSource}
105
105
  */
106
- public setPosition(x: any, y: any, z: any): any;
106
+ public setPosition(x: any, y: any, z: any): LightSource;
107
107
  /**
108
108
  * Returns light source position, or if it is a directional type sets light direction vector.
109
109
  * @public
110
- * @returns {og.Vec3} - Light source position/direction.
110
+ * @returns {Vec3} - Light source position/direction.
111
111
  */
112
- public getPosition(): any;
112
+ public getPosition(): Vec3;
113
113
  /**
114
114
  * Set ambient color.
115
115
  * @public
116
- * @param {og.Vec3} rgb - Ambient color.
117
- * @returns {og.LightSource}
116
+ * @param {Vec3} rgb - Ambient color.
117
+ * @returns {LightSource}
118
118
  */
119
- public setAmbient3v(rgb: any): any;
119
+ public setAmbient3v(rgb: Vec3): LightSource;
120
120
  /**
121
121
  * Set diffuse color.
122
122
  * @public
123
- * @param {og.Vec3} rgb - Diffuse color.
124
- * @returns {og.LightSource}
123
+ * @param {Vec3} rgb - Diffuse color.
124
+ * @returns {LightSource}
125
125
  */
126
- public setDiffuse3v(rgb: any): any;
126
+ public setDiffuse3v(rgb: Vec3): LightSource;
127
127
  /**
128
128
  * Set specular color.
129
129
  * @public
130
- * @param {og.Vec3} rgb - Specular color.
131
- * @returns {og.LightSource}
130
+ * @param {Vec3} rgb - Specular color.
131
+ * @returns {LightSource}
132
132
  */
133
- public setSpecular3v(rgb: any): any;
133
+ public setSpecular3v(rgb: Vec3): LightSource;
134
134
  /**
135
- * Set ambient color.
136
- * @public
137
- * @param {og.Vec3} rgb - Ambient color.
138
- * @returns {og.LightSource}
139
- */
140
- public setAmbient(r: any, g: any, b: any): any;
135
+ * Set ambient color.
136
+ * @public
137
+ * @param {Vec3} rgb - Ambient color.
138
+ * @returns {LightSource}
139
+ */
140
+ public setAmbient(r: any, g: any, b: any): LightSource;
141
141
  /**
142
142
  * Set diffuse color.
143
143
  * @public
144
- * @returns {og.LightSource}
144
+ * @returns {LightSource}
145
145
  */
146
- public setDiffuse(r: any, g: any, b: any): any;
146
+ public setDiffuse(r: any, g: any, b: any): LightSource;
147
147
  /**
148
148
  * Set specular color.
149
149
  * @public
150
- * @returns {og.LightSource}
150
+ * @returns {LightSource}
151
151
  */
152
- public setSpecular(r: any, g: any, b: any): any;
152
+ public setSpecular(r: any, g: any, b: any): LightSource;
153
153
  /**
154
154
  * Set material shininess.
155
155
  * @public
156
- * @returns {og.LightSource}
156
+ * @returns {LightSource}
157
157
  */
158
- public setShininess(shininess: any): any;
158
+ public setShininess(shininess: any): LightSource;
159
159
  /**
160
160
  * Sets light to black.
161
161
  * @public
162
- * @returns {og.LightSource}
162
+ * @returns {LightSource}
163
163
  */
164
- public setBlack(): any;
164
+ public setBlack(): LightSource;
165
165
  /**
166
166
  * Adds current light to the render node scene.
167
167
  * @public
168
- * @param {og.scene.RenderNode} renderNode - Render node scene.
169
- * @returns {og.LightSource}
168
+ * @param {RenderNode} renderNode - Render node scene.
169
+ * @returns {LightSource}
170
170
  */
171
- public addTo(renderNode: any): any;
171
+ public addTo(renderNode: RenderNode): LightSource;
172
172
  /**
173
173
  * Removes from render node scene.
174
174
  * @public
175
175
  */
176
176
  public remove(): void;
177
177
  }
178
+ import { Vec3 } from "../math/Vec3.js";
@@ -0,0 +1,11 @@
1
+ export class Line2 {
2
+ static get(p0: any, p1: any): Line2;
3
+ static getParallel(l: any, p: any): Line2;
4
+ static getIntersection(L0: any, L1: any): Vec2;
5
+ constructor(a: any, b: any, c: any);
6
+ a: any;
7
+ b: any;
8
+ c: any;
9
+ intersects(l: any): Vec2;
10
+ }
11
+ import { Vec2 } from "./Vec2.js";
@@ -0,0 +1,10 @@
1
+ export class Line3 {
2
+ constructor(p0: any, p1: any);
3
+ p0: any;
4
+ p1: any;
5
+ getMagnitude(): any;
6
+ getSphereIntersection(sphere: any): Vec3 | Vec3[];
7
+ intersects(line: any, res: any, res2: any): boolean;
8
+ getNearestDistancePoint(point: any, res: any): boolean;
9
+ }
10
+ import { Vec3 } from "./Vec3.js";
@@ -1,53 +1,65 @@
1
1
  /**
2
2
  * Mat3 factory.
3
3
  * @static
4
- * @return {og.Mat3}
4
+ * @return {Mat3}
5
+ */
6
+ export function mat3(): Mat3;
7
+ /**
8
+ * Class represents a 3x3 matrix.
9
+ * @class
5
10
  */
6
- export function mat3(): any;
7
11
  export class Mat3 {
12
+ /**
13
+ * A 3x3 matrix, indexable as a column-major order array.
14
+ * @public
15
+ * @type {Array.<number>}
16
+ */
17
+ public _m: Array<number>;
8
18
  /**
9
19
  * Sets column-major order array matrix.
10
20
  * @public
11
21
  * @param {Array.<number>} m - Matrix array.
12
- * @returns {og.Mat3}
22
+ * @returns {Mat3}
13
23
  */
14
- public set(m: Array<number>): any;
24
+ public set(m: Array<number>): Mat3;
15
25
  /**
16
26
  * Duplicates a Mat3 instance.
17
27
  * @public
18
- * @returns {og.Mat3}
28
+ * @returns {Mat3}
19
29
  */
20
- public clone(): any;
30
+ public clone(): Mat3;
21
31
  /**
22
32
  * Copy matrix.
23
33
  * @public
24
- * @param {og.Mat3} a - Matrix to copy.
25
- * @returns {og.Mat3}
34
+ * @param {Mat3} a - Matrix to copy.
35
+ * @returns {Mat3}
26
36
  */
27
- public copy(a: any): any;
37
+ public copy(a: Mat3): Mat3;
28
38
  /**
29
39
  * Creates trasposed matrix from the current.
30
40
  * @public
31
- * @returns {og.Mat3}
41
+ * @returns {Mat3}
32
42
  */
33
- public transposeTo(): any;
43
+ public transposeTo(): Mat3;
34
44
  /**
35
45
  * Sets matrix to identity.
36
46
  * @public
37
- * @returns {og.Mat3}
47
+ * @returns {Mat3}
38
48
  */
39
- public setIdentity(): any;
49
+ public setIdentity(): Mat3;
40
50
  /**
41
51
  * Multiply to 3d vector.
42
52
  * @public
43
- * @params {og.Vec3} p - 3d vector.
44
- * @returns {og.Vec3}
53
+ * @params {Vec3} p - 3d vector.
54
+ * @returns {Vec3}
45
55
  */
46
- public mulVec(p: any): any;
56
+ public mulVec(p: any): Vec3;
47
57
  /**
48
58
  * Converts to 4x4 matrix.
49
59
  * @public
50
- * @returns {og.Mat4}
60
+ * @returns {Mat4}
51
61
  */
52
- public toMatrix4(): any;
62
+ public toMatrix4(): Mat4;
53
63
  }
64
+ import { Vec3 } from "./Vec3.js";
65
+ import { Mat4 } from "./Mat4.js";
@@ -1,126 +1,142 @@
1
1
  /**
2
2
  * Mat4 factory.
3
3
  * @static
4
- * @returns {og.Mat4} -
4
+ * @returns {Mat4} -
5
+ */
6
+ export function mat4(): Mat4;
7
+ /**
8
+ * Class represents a 4x4 matrix.
9
+ * @class
5
10
  */
6
- export function mat4(): any;
7
11
  export class Mat4 {
12
+ /**
13
+ * Returns identity matrix instance.
14
+ * @static
15
+ * @returns {Mat4} -
16
+ */
17
+ static identity(): Mat4;
18
+ /**
19
+ * A 4x4 matrix, indexable as a column-major order array.
20
+ * @public
21
+ * @type {Array.<number>}
22
+ */
23
+ public _m: Array<number>;
8
24
  /**
9
25
  * Sets column-major order array matrix.
10
26
  * @public
11
27
  * @param {Array.<number>} m - Matrix array.
12
- * @returns {og.Mat4} -
28
+ * @returns {Mat4} -
13
29
  */
14
- public set(m: Array<number>): any;
30
+ public set(m: Array<number>): Mat4;
15
31
  /**
16
32
  * Duplicates a Matrix3 instance.
17
33
  * @public
18
- * @returns {og.Mat4} -
34
+ * @returns {Mat4} -
19
35
  */
20
- public clone(): any;
36
+ public clone(): Mat4;
21
37
  /**
22
38
  * Copy matrix.
23
39
  * @public
24
- * @param {og.Mat3} a - Matrix to copy.
40
+ * @param {Mat3} a - Matrix to copy.
25
41
  */
26
- public copy(a: any): void;
42
+ public copy(a: Mat3): void;
27
43
  /**
28
44
  * Converts to 3x3 matrix.
29
45
  * @public
30
- * @returns {og.Mat3} -
46
+ * @returns {Mat3} -
31
47
  */
32
- public toMatrix3(): any;
48
+ public toMatrix3(): Mat3;
33
49
  /**
34
50
  * Multiply to 3d vector.
35
51
  * @public
36
- * @param {og.Vec3} p - 3d vector.
37
- * @returns {og.Vec3} -
52
+ * @param {Vec3} p - 3d vector.
53
+ * @returns {Vec3} -
38
54
  */
39
- public mulVec3(p: any): any;
55
+ public mulVec3(p: Vec3): Vec3;
40
56
  /**
41
57
  * Multiply to 4d vector.
42
58
  * @public
43
- * @param {og.Vec4} p - 4d vector.
44
- * @returns {og.Vec4} -
59
+ * @param {Vec4} p - 4d vector.
60
+ * @returns {Vec4} -
45
61
  */
46
- public mulVec4(p: any): any;
62
+ public mulVec4(p: Vec4): Vec4;
47
63
  /**
48
64
  * Creates an inversed 3x3 matrix of the current.
49
65
  * @public
50
- * @returns {og.Mat3} -
66
+ * @returns {Mat3} -
51
67
  */
52
- public toInverseMatrix3(): any;
68
+ public toInverseMatrix3(): Mat3;
53
69
  /**
54
70
  * Creates an inversed matrix of the current.
55
71
  * @public
56
- * @returns {og.Mat4} -
72
+ * @returns {Mat4} -
57
73
  */
58
- public inverseTo(res: any): any;
74
+ public inverseTo(res: any): Mat4;
59
75
  /**
60
76
  * Creates a trasposed matrix of the current.
61
77
  * @public
62
- * @returns {og.Mat4} -
78
+ * @returns {Mat4} -
63
79
  */
64
- public transposeTo(): any;
80
+ public transposeTo(): Mat4;
65
81
  /**
66
82
  * Sets matrix to identity.
67
83
  * @public
68
- * @returns {og.Mat4} -
84
+ * @returns {Mat4} -
69
85
  */
70
- public setIdentity(): any;
86
+ public setIdentity(): Mat4;
71
87
  /**
72
88
  * Computes the product of two matrices.
73
89
  * @public
74
- * @param {og.Mat4} mx - Matrix to multiply.
75
- * @returns {og.Mat4} -
90
+ * @param {Mat4} mx - Matrix to multiply.
91
+ * @returns {Mat4} -
76
92
  */
77
- public mul(mx: any): any;
93
+ public mul(mx: Mat4): Mat4;
78
94
  /**
79
95
  * Add translation vector to the current matrix.
80
96
  * @public
81
- * @param {og.Vec3} v - Translate vector.
82
- * @returns {og.Mat4} -
97
+ * @param {Vec3} v - Translate vector.
98
+ * @returns {Mat4} -
83
99
  */
84
- public translate(v: any): any;
100
+ public translate(v: Vec3): Mat4;
85
101
  /**
86
102
  * Sets translation matrix to the position.
87
103
  * @public
88
- * @param {og.Vec3} v - Translate to position.
89
- * @returns {og.Mat4} -
104
+ * @param {Vec3} v - Translate to position.
105
+ * @returns {Mat4} -
90
106
  */
91
- public translateToPosition(v: any): any;
107
+ public translateToPosition(v: Vec3): Mat4;
92
108
  /**
93
109
  * Rotate currrent matrix around the aligned axis and angle.
94
110
  * @public
95
- * @param {og.Vec3} u - Aligned axis.
111
+ * @param {Vec3} u - Aligned axis.
96
112
  * @param {number} angle - Aligned axis angle in radians.
97
- * @returns {og.Mat4} -
113
+ * @returns {Mat4} -
98
114
  * @todo: OPTIMIZE: reveal multiplication
99
115
  */
100
- public rotate(u: any, angle: number): any;
116
+ public rotate(u: Vec3, angle: number): Mat4;
101
117
  /**
102
118
  * Sets current rotation matrix around the aligned axis and angle.
103
119
  * @public
104
- * @param {og.Vec3} u - Aligned axis.
120
+ * @param {Vec3} u - Aligned axis.
105
121
  * @param {number} angle - Aligned axis angle in radians.
106
- * @returns {og.Mat4} -
122
+ * @returns {Mat4} -
107
123
  */
108
- public setRotation(u: any, angle: number): any;
124
+ public setRotation(u: Vec3, angle: number): Mat4;
109
125
  /**
110
126
  * Gets the rotation matrix from one vector to another.
111
127
  * @public
112
- * @param {og.Vec3} a - Firtst vector.
113
- * @param {og.Vec3} b - Second vector.
114
- * @returns {og.Mat4} -
128
+ * @param {Vec3} a - Firtst vector.
129
+ * @param {Vec3} b - Second vector.
130
+ * @returns {Mat4} -
115
131
  */
116
- public rotateBetweenVectors(a: any, b: any): any;
132
+ public rotateBetweenVectors(a: Vec3, b: Vec3): Mat4;
117
133
  /**
118
134
  * Scale current matrix to the vector values.
119
135
  * @public
120
- * @param {og.Vec3} v - Scale vector.
121
- * @returns {og.Mat4} -
136
+ * @param {Vec3} v - Scale vector.
137
+ * @returns {Mat4} -
122
138
  */
123
- public scale(v: any): any;
139
+ public scale(v: Vec3): Mat4;
124
140
  /**
125
141
  * Sets perspective projection matrix frustum values.
126
142
  * @public
@@ -130,9 +146,9 @@ export class Mat4 {
130
146
  * @param {number} top -
131
147
  * @param {number} near -
132
148
  * @param {number} far -
133
- * @returns {og.Mat4} -
149
+ * @returns {Mat4} -
134
150
  */
135
- public setPerspective(left: number, right: number, bottom: number, top: number, near: number, far: number): any;
151
+ public setPerspective(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
136
152
  /**
137
153
  * Creates current orthographic projection matrix.
138
154
  * @public
@@ -142,16 +158,19 @@ export class Mat4 {
142
158
  * @param {number} top -
143
159
  * @param {number} near -
144
160
  * @param {number} far -
145
- * @return {og.Mat4} -
161
+ * @return {Mat4} -
146
162
  */
147
- public setOrtho(left: number, right: number, bottom: number, top: number, near: number, far: number): any;
163
+ public setOrtho(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4;
148
164
  /**
149
165
  * Sets current rotation matrix by euler's angles.
150
166
  * @public
151
167
  * @param {number} ax - Rotation angle in radians arond X axis.
152
168
  * @param {number} ay - Rotation angle in radians arond Y axis.
153
169
  * @param {number} az - Rotation angle in radians arond Z axis.
154
- * @returns {og.Mat4} -
170
+ * @returns {Mat4} -
155
171
  */
156
- public eulerToMatrix(ax: number, ay: number, az: number): any;
172
+ public eulerToMatrix(ax: number, ay: number, az: number): Mat4;
157
173
  }
174
+ import { Mat3 } from "./Mat3.js";
175
+ import { Vec3 } from "./Vec3.js";
176
+ import { Vec4 } from "./Vec4.js";
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * Plane class.
3
3
  * @constructor
4
- * @param {og.Vec3} [p] - Plane point.
5
- * @param {og.Vec3} [n] - Planet normal.
4
+ * @param {Vec3} [p] - Plane point.
5
+ * @param {Vec3} [n] - Planet normal.
6
6
  */
7
7
  export class Plane {
8
8
  constructor(p: any, n: any);
@@ -11,7 +11,8 @@ export class Plane {
11
11
  set(p: any, n: any): void;
12
12
  getNormal(): any;
13
13
  distance(p: any): any;
14
- getProjection(v: any, def: any): any;
14
+ getProjection(v: any, def: any): Vec3;
15
15
  getProjectionPoint(p: any, vh: any): any;
16
- getIntersection(Pn1: any, Pn2: any, L: any): 1 | 0 | 2;
16
+ getIntersection(Pn1: any, Pn2: any, L: any): 0 | 1 | 2;
17
17
  }
18
+ import { Vec3 } from "./Vec3.js";