@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
@@ -2,22 +2,22 @@
2
2
  * @module og/layer/XYZ
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import * as mercator from '../mercator.js';
8
- import { EPSG3857 } from '../proj/EPSG3857.js';
9
- import { Layer } from './Layer.js';
10
- import { stringTemplate } from '../utils/shared.js';
11
- import { RENDERING } from '../quadTree/quadTree.js';
7
+ import * as mercator from "../mercator.js";
8
+ import { EPSG3857 } from "../proj/EPSG3857.js";
9
+ import { Layer } from "./Layer.js";
10
+ import { stringTemplate } from "../utils/shared.js";
11
+ import { RENDERING } from "../quadTree/quadTree.js";
12
12
 
13
13
  /**
14
14
  * Represents an imagery tiles source provider.
15
15
  * @class
16
- * @extends {og.Layer}
16
+ * @extends {Layer}
17
17
  * @param {string} name - Layer name.
18
18
  * @param {Object} options:
19
19
  * @param {number} [options.opacity=1.0] - Layer opacity.
20
- * @param {Array.<number,number,number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color.
20
+ * @param {Array.<number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color. (exactly 3 entries)
21
21
  * @param {Array.<string>} [options.subdomains=['a','b','c']] - Subdomains of the tile service.
22
22
  * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
23
23
  * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
@@ -28,7 +28,8 @@ import { RENDERING } from '../quadTree/quadTree.js';
28
28
  * @param {boolean} [options.visibility=true] - Layer visibility.
29
29
  * @param {string} [options.crossOrigin=true] - If true, all tiles will have their crossOrigin attribute set to ''.
30
30
  * @param {string} options.url - Tile url source template(see example below).
31
- * @param {og.layer.XYZ~_urlRewriteCallback} options.urlRewrite - Url rewrite function.
31
+ * @param {string} options.textureFilter - texture gl filter. NEAREST, LINEAR, MIPMAP, ANISOTROPHIC.
32
+ * @param {layer.XYZ~_urlRewriteCallback} options.urlRewrite - Url rewrite function.
32
33
  * @fires og.layer.XYZ#load
33
34
  * @fires og.layer.XYZ#loadend
34
35
  *
@@ -41,6 +42,10 @@ import { RENDERING } from '../quadTree/quadTree.js';
41
42
  * });
42
43
  */
43
44
  class XYZ extends Layer {
45
+ /**
46
+ * @param {string} name - Layer name.
47
+ * @param {*} options
48
+ */
44
49
  constructor(name, options) {
45
50
  super(name, options);
46
51
 
@@ -58,7 +63,7 @@ class XYZ extends Layer {
58
63
  /**
59
64
  * @protected
60
65
  */
61
- this._s = options.subdomains || ['a', 'b', 'c'];
66
+ this._s = options.subdomains || ["a", "b", "c"];
62
67
 
63
68
  /**
64
69
  * Minimal native zoom level when tiles are available.
@@ -77,13 +82,13 @@ class XYZ extends Layer {
77
82
  /**
78
83
  * @protected
79
84
  */
80
- this._crossOrigin = options.crossOrigin === undefined ? '' : options.crossOrigin;
85
+ this._crossOrigin = options.crossOrigin === undefined ? "" : options.crossOrigin;
81
86
 
82
87
  /**
83
88
  * Rewrites imagery tile url query.
84
89
  * @private
85
90
  * @callback og.layer.XYZ~_urlRewriteCallback
86
- * @param {og.planetSegment.Segment} segment - Segment to load.
91
+ * @param {Segment} segment - Segment to load.
87
92
  * @param {string} url - Created url.
88
93
  * @returns {string} - Url query string.
89
94
  */
@@ -109,7 +114,6 @@ class XYZ extends Layer {
109
114
  */
110
115
  setVisibility(visibility) {
111
116
  if (visibility !== this._visibility) {
112
-
113
117
  super.setVisibility(visibility);
114
118
 
115
119
  if (!visibility) {
@@ -138,10 +142,9 @@ class XYZ extends Layer {
138
142
  * Start to load tile material.
139
143
  * @public
140
144
  * @virtual
141
- * @param {og.planetSegment.Material} material - Loads current material.
145
+ * @param {Material} material - Loads current material.
142
146
  */
143
147
  loadMaterial(material, forceLoading) {
144
-
145
148
  let seg = material.segment;
146
149
 
147
150
  if (this._isBaseLayer) {
@@ -151,37 +154,39 @@ class XYZ extends Layer {
151
154
  }
152
155
 
153
156
  if (this._planet.layerLock.isFree()) {
154
-
155
157
  material.isReady = false;
156
158
  material.isLoading = true;
157
159
 
158
160
  if (this._checkSegment(seg)) {
159
-
160
161
  material.loadingAttempts++;
161
162
 
162
- this._planet._tileLoader.load({
163
- src: this._getHTTPRequestString(material.segment),
164
- type: 'imageBitmap',
165
- filter: () => (seg.initialized && seg.node.getState() === RENDERING) || forceLoading,
166
- options: {}
167
- }, (response) => {
168
- if (response.status === "ready") {
169
- if (material.isLoading) {
170
- let e = this.events.load;
171
- if (e.handlers.length) {
172
- this.events.dispatch(e, material);
163
+ this._planet._tileLoader.load(
164
+ {
165
+ src: this._getHTTPRequestString(material.segment),
166
+ type: "imageBitmap",
167
+ filter: () =>
168
+ (seg.initialized && seg.node.getState() === RENDERING) || forceLoading,
169
+ options: {}
170
+ },
171
+ (response) => {
172
+ if (response.status === "ready") {
173
+ if (material.isLoading) {
174
+ let e = this.events.load;
175
+ if (e.handlers.length) {
176
+ this.events.dispatch(e, material);
177
+ }
178
+ material.applyImage(response.data);
179
+ response.data = null;
180
+ }
181
+ } else if (response.status === "abort") {
182
+ material.isLoading = false;
183
+ } else if (response.status === "error") {
184
+ if (material.isLoading) {
185
+ material.textureNotExists();
173
186
  }
174
- material.applyImage(response.data);
175
- response.data = null;
176
- }
177
- } else if (response.status === "abort") {
178
- material.isLoading = false;
179
- } else if (response.status === "error") {
180
- if (material.isLoading) {
181
- material.textureNotExists();
182
187
  }
183
188
  }
184
- });
189
+ );
185
190
  } else {
186
191
  material.textureNotExists();
187
192
  }
@@ -192,7 +197,7 @@ class XYZ extends Layer {
192
197
  * Creates query url.
193
198
  * @protected
194
199
  * @virtual
195
- * @param {og.planetSegment.Segment} segment - Creates specific url for current segment.
200
+ * @param {Segment} segment - Creates specific url for current segment.
196
201
  * @returns {String} - Returns url string.
197
202
  */
198
203
  _createUrl(segment) {
@@ -211,28 +216,28 @@ class XYZ extends Layer {
211
216
  /**
212
217
  * Returns actual url query string.
213
218
  * @protected
214
- * @param {og.planetSegment.Segment} segment - Segment that loads image data.
219
+ * @param {Segment} segment - Segment that loads image data.
215
220
  * @returns {string} - Url string.
216
221
  */
217
222
  _getHTTPRequestString(segment) {
218
- return this._urlRewriteCallback ? this._urlRewriteCallback(segment, this.url) : this._createUrl(segment);
223
+ return this._urlRewriteCallback
224
+ ? this._urlRewriteCallback(segment, this.url)
225
+ : this._createUrl(segment);
219
226
  }
220
227
 
221
228
  /**
222
229
  * Sets url rewrite callback, used for custom url rewriting for every tile laoding.
223
230
  * @public
224
- * @param {og.layer.XYZ~_urlRewriteCallback} ur - The callback that returns tile custom created url.
231
+ * @param {layer.XYZ~_urlRewriteCallback} ur - The callback that returns tile custom created url.
225
232
  */
226
233
  setUrlRewriteCallback(ur) {
227
234
  this._urlRewriteCallback = ur;
228
235
  }
229
236
 
230
237
  applyMaterial(material) {
231
-
232
238
  if (material.isReady) {
233
239
  return material.texOffset;
234
240
  } else {
235
-
236
241
  // if (material.loadingAttempts > 20) {
237
242
  // debugger;
238
243
  // }
@@ -267,7 +272,9 @@ class XYZ extends Layer {
267
272
  if (pnm) {
268
273
  !pnm.isLoading && !pnm.isReady && this.loadMaterial(pnm, true);
269
274
  } else {
270
- pnm = pn.segment.materials[material.layer._id] = material.layer.createMaterial(pn.segment);
275
+ pnm = pn.segment.materials[material.layer._id] = material.layer.createMaterial(
276
+ pn.segment
277
+ );
271
278
  this.loadMaterial(pnm, true);
272
279
  }
273
280
  }
@@ -300,7 +307,7 @@ class XYZ extends Layer {
300
307
  material.texture = null;
301
308
 
302
309
  if (material.image) {
303
- material.image.src = '';
310
+ material.image.src = "";
304
311
  material.image = null;
305
312
  }
306
313
  }
@@ -338,8 +345,8 @@ class XYZ extends Layer {
338
345
  if (e.northEast.lat <= mercator.MIN_LAT) {
339
346
  e.northEast.lat = mercator.MIN_LAT;
340
347
  }
341
- };
342
- };
348
+ }
349
+ }
343
350
 
344
351
  const EVENT_NAMES = [
345
352
  /**
@@ -355,4 +362,4 @@ const EVENT_NAMES = [
355
362
  "loadend"
356
363
  ];
357
364
 
358
- export { XYZ };
365
+ export { XYZ };
@@ -2,19 +2,19 @@
2
2
  * @module og/light/LightSource
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Vec3 } from '../math/Vec3.js';
7
+ import { Vec3 } from "../math/Vec3.js";
8
8
 
9
9
  /**
10
10
  * Represents basic light source.
11
11
  * @class
12
12
  * @param {string} [name] - Light source name.
13
13
  * @param {Object} [params] - Light parameters:
14
- * @param {og.Vec3} [params.position] - Light source position if it is a point light, otherwise it is a light direction vector.
15
- * @param {og.Vec3} [params.ambient] - Ambient RGB color.
16
- * @param {og.Vec3} [params.diffuse] - Diffuse RGB color.
17
- * @param {og.Vec3} [params.specular] - Specular RGB color.
14
+ * @param {Vec3} [params.position] - Light source position if it is a point light, otherwise it is a light direction vector.
15
+ * @param {Vec3} [params.ambient] - Ambient RGB color.
16
+ * @param {Vec3} [params.diffuse] - Diffuse RGB color.
17
+ * @param {Vec3} [params.specular] - Specular RGB color.
18
18
  * @param {number} [params.shininess] - Specular shininess.
19
19
  */
20
20
  class LightSource {
@@ -37,19 +37,19 @@ class LightSource {
37
37
  * @protected
38
38
  * @type {string}
39
39
  */
40
- this._name = name || ("light_" + LightSource._staticCounter++);
40
+ this._name = name || "light_" + LightSource._staticCounter++;
41
41
 
42
42
  /**
43
43
  * Render node where light is shines.
44
44
  * @protected
45
- * @type {og.scene.RenderNode}
45
+ * @type {RenderNode}
46
46
  */
47
47
  this._renderNode = null;
48
48
 
49
49
  /**
50
50
  * Light position.
51
51
  * @protected
52
- * @type {og.Vec3}
52
+ * @type {Vec3}
53
53
  */
54
54
  this._position = params.position || new Vec3();
55
55
 
@@ -63,21 +63,21 @@ class LightSource {
63
63
  /**
64
64
  * Ambient color.
65
65
  * @protected
66
- * @type {og.Vec3}
66
+ * @type {Vec3}
67
67
  */
68
68
  this._ambient = params.ambient || new Vec3();
69
69
 
70
70
  /**
71
71
  * Diffuse color.
72
72
  * @protected
73
- * @type {og.Vec3}
73
+ * @type {Vec3}
74
74
  */
75
75
  this._diffuse = params.diffuse || new Vec3(0.8, 0.8, 0.8);
76
76
 
77
77
  /**
78
78
  * Specular color.
79
79
  * @protected
80
- * @type {og.Vec3}
80
+ * @type {Vec3}
81
81
  */
82
82
  this._specular = params.specular || new Vec3(0.18, 0.18, 0.18);
83
83
 
@@ -105,7 +105,7 @@ class LightSource {
105
105
  * Creates clone of the current light object.
106
106
  * @todo: TODO
107
107
  * @public
108
- * @returns {og.LightSource}
108
+ * @returns {LightSource}
109
109
  */
110
110
  clone() {
111
111
  // TODO
@@ -158,8 +158,8 @@ class LightSource {
158
158
  /**
159
159
  * Set light source position, or if it is a directional type sets light direction vector.
160
160
  * @public
161
- * @param {og.Vec3} position - Light position or direction vector.
162
- * @returns {og.LightSource}
161
+ * @param {Vec3} position - Light position or direction vector.
162
+ * @returns {LightSource}
163
163
  */
164
164
  setPosition3v(position) {
165
165
  this._position.x = position.x;
@@ -171,8 +171,8 @@ class LightSource {
171
171
  /**
172
172
  * Set light source position, or if it is a directional type sets light direction vector.
173
173
  * @public
174
- * @param {og.Vec3} position - Light position or direction vector.
175
- * @returns {og.LightSource}
174
+ * @param {Vec3} position - Light position or direction vector.
175
+ * @returns {LightSource}
176
176
  */
177
177
  setPosition(x, y, z) {
178
178
  this._position.x = x;
@@ -184,7 +184,7 @@ class LightSource {
184
184
  /**
185
185
  * Returns light source position, or if it is a directional type sets light direction vector.
186
186
  * @public
187
- * @returns {og.Vec3} - Light source position/direction.
187
+ * @returns {Vec3} - Light source position/direction.
188
188
  */
189
189
  getPosition() {
190
190
  return this._position.clone();
@@ -193,8 +193,8 @@ class LightSource {
193
193
  /**
194
194
  * Set ambient color.
195
195
  * @public
196
- * @param {og.Vec3} rgb - Ambient color.
197
- * @returns {og.LightSource}
196
+ * @param {Vec3} rgb - Ambient color.
197
+ * @returns {LightSource}
198
198
  */
199
199
  setAmbient3v(rgb) {
200
200
  return this.setAmbient(rgb.x, rgb.y, rgb.z);
@@ -203,8 +203,8 @@ class LightSource {
203
203
  /**
204
204
  * Set diffuse color.
205
205
  * @public
206
- * @param {og.Vec3} rgb - Diffuse color.
207
- * @returns {og.LightSource}
206
+ * @param {Vec3} rgb - Diffuse color.
207
+ * @returns {LightSource}
208
208
  */
209
209
  setDiffuse3v(rgb) {
210
210
  return this.setDiffuse(rgb.x, rgb.y, rgb.z);
@@ -213,19 +213,19 @@ class LightSource {
213
213
  /**
214
214
  * Set specular color.
215
215
  * @public
216
- * @param {og.Vec3} rgb - Specular color.
217
- * @returns {og.LightSource}
216
+ * @param {Vec3} rgb - Specular color.
217
+ * @returns {LightSource}
218
218
  */
219
219
  setSpecular3v(rgb) {
220
220
  return this.setSpecular(rgb.x, rgb.y, rgb.z);
221
221
  }
222
222
 
223
223
  /**
224
- * Set ambient color.
225
- * @public
226
- * @param {og.Vec3} rgb - Ambient color.
227
- * @returns {og.LightSource}
228
- */
224
+ * Set ambient color.
225
+ * @public
226
+ * @param {Vec3} rgb - Ambient color.
227
+ * @returns {LightSource}
228
+ */
229
229
  setAmbient(r, g, b) {
230
230
  this._ambient.set(r, g, b);
231
231
  var rn = this._renderNode;
@@ -243,7 +243,7 @@ class LightSource {
243
243
  /**
244
244
  * Set diffuse color.
245
245
  * @public
246
- * @returns {og.LightSource}
246
+ * @returns {LightSource}
247
247
  */
248
248
  setDiffuse(r, g, b) {
249
249
  this._diffuse.set(r, g, b);
@@ -262,7 +262,7 @@ class LightSource {
262
262
  /**
263
263
  * Set specular color.
264
264
  * @public
265
- * @returns {og.LightSource}
265
+ * @returns {LightSource}
266
266
  */
267
267
  setSpecular(r, g, b) {
268
268
  this._specular.set(r, g, b);
@@ -281,7 +281,7 @@ class LightSource {
281
281
  /**
282
282
  * Set material shininess.
283
283
  * @public
284
- * @returns {og.LightSource}
284
+ * @returns {LightSource}
285
285
  */
286
286
  setShininess(shininess) {
287
287
  this._shininess = shininess;
@@ -298,7 +298,7 @@ class LightSource {
298
298
  /**
299
299
  * Sets light to black.
300
300
  * @public
301
- * @returns {og.LightSource}
301
+ * @returns {LightSource}
302
302
  */
303
303
  setBlack() {
304
304
  this._ambient.clear();
@@ -309,9 +309,16 @@ class LightSource {
309
309
  if (rn) {
310
310
  var index = 9 * rn._lightsNames.indexOf(this._name);
311
311
  if (index != -1) {
312
- rn._lightsParamsv[index] = rn._lightsParamsv[index + 1] = rn._lightsParamsv[index + 2] =
313
- rn._lightsParamsv[index + 3] = rn._lightsParamsv[index + 4] = rn._lightsParamsv[index + 5] =
314
- rn._lightsParamsv[index + 6] = rn._lightsParamsv[index + 7] = rn._lightsParamsv[index + 8] = 0;
312
+ rn._lightsParamsv[index] =
313
+ rn._lightsParamsv[index + 1] =
314
+ rn._lightsParamsv[index + 2] =
315
+ rn._lightsParamsv[index + 3] =
316
+ rn._lightsParamsv[index + 4] =
317
+ rn._lightsParamsv[index + 5] =
318
+ rn._lightsParamsv[index + 6] =
319
+ rn._lightsParamsv[index + 7] =
320
+ rn._lightsParamsv[index + 8] =
321
+ 0;
315
322
  }
316
323
  }
317
324
  return this;
@@ -320,8 +327,8 @@ class LightSource {
320
327
  /**
321
328
  * Adds current light to the render node scene.
322
329
  * @public
323
- * @param {og.scene.RenderNode} renderNode - Render node scene.
324
- * @returns {og.LightSource}
330
+ * @param {RenderNode} renderNode - Render node scene.
331
+ * @returns {LightSource}
325
332
  */
326
333
  addTo(renderNode) {
327
334
  this._renderNode = renderNode;
@@ -351,6 +358,6 @@ class LightSource {
351
358
  }
352
359
  this._renderNode = null;
353
360
  }
354
- };
361
+ }
355
362
 
356
- export { LightSource };
363
+ export { LightSource };
@@ -6,27 +6,27 @@
6
6
 
7
7
  import { Vec2 } from './Vec2.js';
8
8
 
9
- const Line2 = function (a, b, c) {
10
- this.a = a || 0;
11
- this.b = b || 0;
12
- this.c = c || 0;
13
- };
14
-
15
- Line2.get = function (p0, p1) {
16
- return new Line2(p1.y - p0.y, p0.x - p1.x, p1.x * p0.y - p0.x * p1.y);
17
- };
18
-
19
- Line2.getParallel = function (l, p) {
20
- return new Line2(l.a, l.b, -l.a * p.x - l.b * p.y);
21
- };
22
-
23
- Line2.getIntersection = function (L0, L1) {
24
- var x = (L1.b * L0.c - L0.b * L1.c) / (L0.b * L1.a - L1.b * L0.a);
25
- return new Vec2(x, -(L0.c + L0.a * x) / L0.b);
26
- };
27
-
28
- Line2.prototype.intersects = function (l) {
29
- return Line2.getIntersection(this, l);
30
- };
31
-
32
- export { Line2 };
9
+ export class Line2 {
10
+ constructor(a, b, c) {
11
+ this.a = a || 0;
12
+ this.b = b || 0;
13
+ this.c = c || 0;
14
+ }
15
+
16
+ static get(p0, p1) {
17
+ return new Line2(p1.y - p0.y, p0.x - p1.x, p1.x * p0.y - p0.x * p1.y);
18
+ }
19
+
20
+ static getParallel(l, p) {
21
+ return new Line2(l.a, l.b, -l.a * p.x - l.b * p.y);
22
+ }
23
+
24
+ static getIntersection(L0, L1) {
25
+ var x = (L1.b * L0.c - L0.b * L1.c) / (L0.b * L1.a - L1.b * L0.a);
26
+ return new Vec2(x, -(L0.c + L0.a * x) / L0.b);
27
+ }
28
+
29
+ intersects(l) {
30
+ return Line2.getIntersection(this, l);
31
+ }
32
+ }