@openglobus/og 0.11.2 → 0.11.7

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 (273) hide show
  1. package/package.json +13 -13
  2. package/src/og/Clock.js +10 -10
  3. package/src/og/Events.js +8 -6
  4. package/src/og/Extent.js +82 -41
  5. package/src/og/Globe.js +25 -13
  6. package/src/og/ImageCanvas.js +22 -16
  7. package/src/og/LonLat.js +16 -13
  8. package/src/og/Popup.js +21 -14
  9. package/src/og/QueueArray.js +6 -2
  10. package/src/og/Rectangle.js +11 -6
  11. package/src/og/Stack.js +5 -2
  12. package/src/og/ajax.js +21 -33
  13. package/src/og/astro/astro.js +5 -5
  14. package/src/og/astro/earth.js +22 -16
  15. package/src/og/astro/jd.js +23 -18
  16. package/src/og/astro/orbit.js +13 -11
  17. package/src/og/astro/rotation.js +17 -8
  18. package/src/og/bv/Box.js +7 -3
  19. package/src/og/bv/Sphere.js +14 -11
  20. package/src/og/camera/Camera.js +51 -54
  21. package/src/og/camera/Frustum.js +29 -18
  22. package/src/og/camera/PlanetCamera.js +32 -23
  23. package/src/og/control/CompassButton.js +5 -1
  24. package/src/og/control/Control.js +12 -10
  25. package/src/og/control/DebugInfo.js +4 -1
  26. package/src/og/control/EarthCoordinates.js +54 -33
  27. package/src/og/control/KeyboardNavigation.js +10 -10
  28. package/src/og/control/LayerSwitcher.js +22 -21
  29. package/src/og/control/Lighting.js +34 -3
  30. package/src/og/control/MouseNavigation.js +1 -1
  31. package/src/og/control/ScaleControl.js +1 -1
  32. package/src/og/control/SegmentBoundVisualization.js +6 -7
  33. package/src/og/control/ShowFps.js +13 -8
  34. package/src/og/control/SimpleNavigation.js +6 -8
  35. package/src/og/control/Sun.js +25 -15
  36. package/src/og/control/ToggleWireframe.js +4 -4
  37. package/src/og/control/TouchNavigation.js +44 -33
  38. package/src/og/control/ZoomControl.js +41 -25
  39. package/src/og/ellipsoid/Ellipsoid.js +162 -66
  40. package/src/og/ellipsoid/wgs84.js +4 -4
  41. package/src/og/entity/BaseBillboard.js +100 -56
  42. package/src/og/entity/Billboard.js +14 -10
  43. package/src/og/entity/BillboardHandler.js +317 -60
  44. package/src/og/entity/Entity.js +100 -68
  45. package/src/og/entity/EntityCollection.js +70 -47
  46. package/src/og/entity/GeoObject.js +228 -0
  47. package/src/og/entity/GeoObjectHandler.js +910 -0
  48. package/src/og/entity/Geometry.js +27 -24
  49. package/src/og/entity/GeometryHandler.js +596 -124
  50. package/src/og/entity/Label.js +80 -49
  51. package/src/og/entity/LabelHandler.js +45 -244
  52. package/src/og/entity/LabelWorker.js +218 -0
  53. package/src/og/entity/Object3d.js +504 -0
  54. package/src/og/entity/PointCloud.js +80 -32
  55. package/src/og/entity/PointCloudHandler.js +8 -8
  56. package/src/og/entity/Polyline.js +16 -16
  57. package/src/og/entity/Ray.js +60 -27
  58. package/src/og/entity/Strip.js +77 -48
  59. package/src/og/entity/StripHandler.js +26 -26
  60. package/src/og/entity/index.js +8 -16
  61. package/src/og/layer/BaseGeoImage.js +54 -23
  62. package/src/og/layer/CanvasTiles.js +24 -24
  63. package/src/og/layer/GeoImage.js +9 -9
  64. package/src/og/layer/GeoVideo.js +3 -3
  65. package/src/og/layer/KML.js +63 -37
  66. package/src/og/layer/Layer.js +44 -21
  67. package/src/og/layer/Material.js +23 -20
  68. package/src/og/layer/Vector.js +114 -68
  69. package/src/og/layer/WMS.js +34 -17
  70. package/src/og/layer/XYZ.js +48 -46
  71. package/src/og/light/LightSource.js +46 -39
  72. package/src/og/math/Mat3.js +34 -22
  73. package/src/og/math/Mat4.js +603 -459
  74. package/src/og/math/Plane.js +21 -20
  75. package/src/og/math/Quat.js +182 -139
  76. package/src/og/math/Ray.js +38 -33
  77. package/src/og/math/Vec2.js +85 -75
  78. package/src/og/math/Vec3.js +142 -112
  79. package/src/og/math/Vec4.js +27 -31
  80. package/src/og/math/coder.js +10 -10
  81. package/src/og/math.js +12 -12
  82. package/src/og/proj/EPSG3857.js +4 -4
  83. package/src/og/proj/EPSG4326.js +4 -4
  84. package/src/og/proj/Proj.js +4 -6
  85. package/src/og/quadTree/Node.js +8 -8
  86. package/src/og/renderer/Renderer.js +59 -52
  87. package/src/og/renderer/RendererEvents.js +50 -27
  88. package/src/og/scene/BaseNode.js +7 -8
  89. package/src/og/scene/Planet.js +102 -103
  90. package/src/og/scene/RenderNode.js +28 -21
  91. package/src/og/segment/Segment.js +26 -21
  92. package/src/og/segment/SegmentLonLat.js +5 -5
  93. package/src/og/shaders/drawnode.js +135 -142
  94. package/src/og/shaders/geoObject.js +211 -0
  95. package/src/og/shaders/pointCloud.js +41 -41
  96. package/src/og/shaders/shape.js +12 -18
  97. package/src/og/shaders/skybox.js +36 -36
  98. package/src/og/shaders/toneMapping.js +1 -0
  99. package/src/og/shapes/BaseShape.js +126 -54
  100. package/src/og/shapes/Icosphere.js +29 -14
  101. package/src/og/shapes/Sphere.js +12 -15
  102. package/src/og/terrain/BilTerrain.js +1 -0
  103. package/src/og/terrain/EmptyTerrain.js +2 -2
  104. package/src/og/terrain/GlobusTerrain.js +9 -9
  105. package/src/og/utils/FontAtlas.js +6 -2
  106. package/src/og/utils/TextureAtlas.js +22 -24
  107. package/src/og/utils/VectorTileCreator.js +1 -3
  108. package/src/og/utils/shared.js +16 -16
  109. package/src/og/webgl/Framebuffer.js +88 -40
  110. package/src/og/webgl/Handler.js +243 -169
  111. package/src/og/webgl/Multisample.js +47 -19
  112. package/src/og/webgl/Program.js +79 -34
  113. package/src/og/webgl/ProgramController.js +17 -13
  114. package/src/og/webgl/callbacks.js +8 -8
  115. package/src/og/inherits.js +0 -8
  116. package/src/og/utils/polylabel.js +0 -176
  117. package/types/Clock.d.ts +0 -90
  118. package/types/Deferred.d.ts +0 -6
  119. package/types/Events.d.ts +0 -73
  120. package/types/Extent.d.ts +0 -166
  121. package/types/Globe.d.ts +0 -75
  122. package/types/ImageCanvas.d.ts +0 -121
  123. package/types/Lock.d.ts +0 -12
  124. package/types/LonLat.d.ts +0 -108
  125. package/types/Popup.d.ts +0 -38
  126. package/types/QueueArray.d.ts +0 -15
  127. package/types/Rectangle.d.ts +0 -74
  128. package/types/Stack.d.ts +0 -15
  129. package/types/ajax.d.ts +0 -24
  130. package/types/arial.d.ts +0 -48
  131. package/types/astro/astro.d.ts +0 -38
  132. package/types/astro/earth.d.ts +0 -6
  133. package/types/astro/jd.d.ts +0 -254
  134. package/types/bv/Box.d.ts +0 -25
  135. package/types/bv/Sphere.d.ts +0 -38
  136. package/types/bv/index.d.ts +0 -3
  137. package/types/camera/Camera.d.ts +0 -303
  138. package/types/camera/Frustum.d.ts +0 -129
  139. package/types/camera/PlanetCamera.d.ts +0 -223
  140. package/types/camera/index.d.ts +0 -3
  141. package/types/cons.d.ts +0 -40
  142. package/types/control/CompassButton.d.ts +0 -18
  143. package/types/control/Control.d.ts +0 -101
  144. package/types/control/DebugInfo.d.ts +0 -16
  145. package/types/control/EarthCoordinates.d.ts +0 -47
  146. package/types/control/EarthNavigation.d.ts +0 -42
  147. package/types/control/GeoImageDragControl.d.ts +0 -6
  148. package/types/control/KeyboardNavigation.d.ts +0 -22
  149. package/types/control/LayerSwitcher.d.ts +0 -23
  150. package/types/control/Lighting.d.ts +0 -16
  151. package/types/control/MouseNavigation.d.ts +0 -51
  152. package/types/control/ScaleControl.d.ts +0 -22
  153. package/types/control/ShowFps.d.ts +0 -12
  154. package/types/control/SimpleNavigation.d.ts +0 -28
  155. package/types/control/Sun.d.ts +0 -52
  156. package/types/control/ToggleWireframe.d.ts +0 -12
  157. package/types/control/TouchNavigation.d.ts +0 -50
  158. package/types/control/ZoomControl.d.ts +0 -28
  159. package/types/control/index.d.ts +0 -17
  160. package/types/ellipsoid/Ellipsoid.d.ts +0 -142
  161. package/types/ellipsoid/index.d.ts +0 -3
  162. package/types/ellipsoid/wgs84.d.ts +0 -5
  163. package/types/entity/BaseBillboard.d.ts +0 -208
  164. package/types/entity/Billboard.d.ts +0 -94
  165. package/types/entity/BillboardHandler.d.ts +0 -74
  166. package/types/entity/Entity.d.ts +0 -331
  167. package/types/entity/EntityCollection.d.ts +0 -303
  168. package/types/entity/Geometry.d.ts +0 -73
  169. package/types/entity/GeometryHandler.d.ts +0 -76
  170. package/types/entity/Label.d.ts +0 -194
  171. package/types/entity/LabelHandler.d.ts +0 -24
  172. package/types/entity/PointCloud.d.ts +0 -174
  173. package/types/entity/PointCloudHandler.d.ts +0 -38
  174. package/types/entity/Polyline.d.ts +0 -304
  175. package/types/entity/PolylineHandler.d.ts +0 -18
  176. package/types/entity/Ray.d.ts +0 -123
  177. package/types/entity/RayHandler.d.ts +0 -67
  178. package/types/entity/ShapeHandler.d.ts +0 -22
  179. package/types/entity/Strip.d.ts +0 -118
  180. package/types/entity/StripHandler.d.ts +0 -38
  181. package/types/entity/index.d.ts +0 -8
  182. package/types/index.core.d.ts +0 -65
  183. package/types/index.d.ts +0 -45
  184. package/types/index.webgl.d.ts +0 -7
  185. package/types/inherits.d.ts +0 -4
  186. package/types/input/KeyboardHandler.d.ts +0 -10
  187. package/types/input/MouseHandler.d.ts +0 -5
  188. package/types/input/TouchHandler.d.ts +0 -5
  189. package/types/input/input.d.ts +0 -34
  190. package/types/layer/BaseGeoImage.d.ts +0 -107
  191. package/types/layer/CanvasTiles.d.ts +0 -75
  192. package/types/layer/GeoImage.d.ts +0 -65
  193. package/types/layer/GeoTexture2d.d.ts +0 -8
  194. package/types/layer/GeoVideo.d.ts +0 -80
  195. package/types/layer/KML.d.ts +0 -58
  196. package/types/layer/Layer.d.ts +0 -321
  197. package/types/layer/Material.d.ts +0 -48
  198. package/types/layer/Vector.d.ts +0 -228
  199. package/types/layer/WMS.d.ts +0 -66
  200. package/types/layer/XYZ.d.ts +0 -130
  201. package/types/layer/index.d.ts +0 -10
  202. package/types/light/LightSource.d.ts +0 -177
  203. package/types/math/Line2.d.ts +0 -11
  204. package/types/math/Line3.d.ts +0 -10
  205. package/types/math/Mat3.d.ts +0 -63
  206. package/types/math/Mat4.d.ts +0 -173
  207. package/types/math/Plane.d.ts +0 -17
  208. package/types/math/Quat.d.ts +0 -376
  209. package/types/math/Ray.d.ts +0 -81
  210. package/types/math/Vec2.d.ts +0 -308
  211. package/types/math/Vec3.d.ts +0 -459
  212. package/types/math/Vec4.d.ts +0 -161
  213. package/types/math/coder.d.ts +0 -42
  214. package/types/math/index.d.ts +0 -11
  215. package/types/math.d.ts +0 -261
  216. package/types/mercator.d.ts +0 -92
  217. package/types/proj/EPSG3857.d.ts +0 -5
  218. package/types/proj/EPSG4326.d.ts +0 -5
  219. package/types/proj/Proj.d.ts +0 -42
  220. package/types/quadTree/EntityCollectionNode.d.ts +0 -34
  221. package/types/quadTree/Node.d.ts +0 -61
  222. package/types/quadTree/quadTree.d.ts +0 -40
  223. package/types/renderer/Renderer.d.ts +0 -296
  224. package/types/renderer/RendererEvents.d.ts +0 -230
  225. package/types/res/images.d.ts +0 -3
  226. package/types/scene/Axes.d.ts +0 -11
  227. package/types/scene/BaseNode.d.ts +0 -60
  228. package/types/scene/Planet.d.ts +0 -574
  229. package/types/scene/RenderNode.d.ts +0 -143
  230. package/types/scene/SkyBox.d.ts +0 -10
  231. package/types/scene/index.d.ts +0 -4
  232. package/types/segment/Segment.d.ts +0 -271
  233. package/types/segment/SegmentLonLat.d.ts +0 -62
  234. package/types/segment/segmentHelper.d.ts +0 -13
  235. package/types/shaders/billboard.d.ts +0 -3
  236. package/types/shaders/depth.d.ts +0 -2
  237. package/types/shaders/drawnode.d.ts +0 -7
  238. package/types/shaders/label.d.ts +0 -4
  239. package/types/shaders/pointCloud.d.ts +0 -2
  240. package/types/shaders/polyline.d.ts +0 -3
  241. package/types/shaders/ray.d.ts +0 -2
  242. package/types/shaders/screenFrame.d.ts +0 -2
  243. package/types/shaders/shape.d.ts +0 -4
  244. package/types/shaders/skybox.d.ts +0 -2
  245. package/types/shaders/toneMapping.d.ts +0 -2
  246. package/types/shapes/BaseShape.d.ts +0 -247
  247. package/types/shapes/Sphere.d.ts +0 -41
  248. package/types/terrain/BilTerrain.d.ts +0 -8
  249. package/types/terrain/EmptyTerrain.d.ts +0 -72
  250. package/types/terrain/Geoid.d.ts +0 -26
  251. package/types/terrain/GlobusTerrain.d.ts +0 -153
  252. package/types/terrain/MapboxTerrain.d.ts +0 -8
  253. package/types/terrain/index.d.ts +0 -5
  254. package/types/utils/FontAtlas.d.ts +0 -14
  255. package/types/utils/GeoImageCreator.d.ts +0 -30
  256. package/types/utils/ImagesCacheManager.d.ts +0 -10
  257. package/types/utils/Loader.d.ts +0 -25
  258. package/types/utils/NormalMapCreator.d.ts +0 -39
  259. package/types/utils/PlainSegmentWorker.d.ts +0 -10
  260. package/types/utils/TerrainWorker.d.ts +0 -9
  261. package/types/utils/TextureAtlas.d.ts +0 -111
  262. package/types/utils/VectorTileCreator.d.ts +0 -16
  263. package/types/utils/colorTable.d.ts +0 -143
  264. package/types/utils/earcut.d.ts +0 -6
  265. package/types/utils/shared.d.ts +0 -230
  266. package/types/webgl/Framebuffer.d.ts +0 -135
  267. package/types/webgl/Handler.d.ts +0 -372
  268. package/types/webgl/Multisample.d.ts +0 -89
  269. package/types/webgl/Program.d.ts +0 -155
  270. package/types/webgl/ProgramController.d.ts +0 -84
  271. package/types/webgl/callbacks.d.ts +0 -1
  272. package/types/webgl/index.d.ts +0 -6
  273. package/types/webgl/types.d.ts +0 -2
@@ -2,18 +2,18 @@
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.
@@ -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,7 +42,6 @@ import { RENDERING } from '../quadTree/quadTree.js';
41
42
  * });
42
43
  */
43
44
  class XYZ extends Layer {
44
-
45
45
  /**
46
46
  * @param {string} name - Layer name.
47
47
  * @param {*} options
@@ -63,7 +63,7 @@ class XYZ extends Layer {
63
63
  /**
64
64
  * @protected
65
65
  */
66
- this._s = options.subdomains || ['a', 'b', 'c'];
66
+ this._s = options.subdomains || ["a", "b", "c"];
67
67
 
68
68
  /**
69
69
  * Minimal native zoom level when tiles are available.
@@ -82,13 +82,13 @@ class XYZ extends Layer {
82
82
  /**
83
83
  * @protected
84
84
  */
85
- this._crossOrigin = options.crossOrigin === undefined ? '' : options.crossOrigin;
85
+ this._crossOrigin = options.crossOrigin === undefined ? "" : options.crossOrigin;
86
86
 
87
87
  /**
88
88
  * Rewrites imagery tile url query.
89
89
  * @private
90
90
  * @callback og.layer.XYZ~_urlRewriteCallback
91
- * @param {og.planetSegment.Segment} segment - Segment to load.
91
+ * @param {Segment} segment - Segment to load.
92
92
  * @param {string} url - Created url.
93
93
  * @returns {string} - Url query string.
94
94
  */
@@ -114,7 +114,6 @@ class XYZ extends Layer {
114
114
  */
115
115
  setVisibility(visibility) {
116
116
  if (visibility !== this._visibility) {
117
-
118
117
  super.setVisibility(visibility);
119
118
 
120
119
  if (!visibility) {
@@ -143,10 +142,9 @@ class XYZ extends Layer {
143
142
  * Start to load tile material.
144
143
  * @public
145
144
  * @virtual
146
- * @param {og.planetSegment.Material} material - Loads current material.
145
+ * @param {Material} material - Loads current material.
147
146
  */
148
147
  loadMaterial(material, forceLoading) {
149
-
150
148
  let seg = material.segment;
151
149
 
152
150
  if (this._isBaseLayer) {
@@ -156,37 +154,39 @@ class XYZ extends Layer {
156
154
  }
157
155
 
158
156
  if (this._planet.layerLock.isFree()) {
159
-
160
157
  material.isReady = false;
161
158
  material.isLoading = true;
162
159
 
163
160
  if (this._checkSegment(seg)) {
164
-
165
161
  material.loadingAttempts++;
166
162
 
167
- this._planet._tileLoader.load({
168
- src: this._getHTTPRequestString(material.segment),
169
- type: 'imageBitmap',
170
- filter: () => (seg.initialized && seg.node.getState() === RENDERING) || forceLoading,
171
- options: {}
172
- }, (response) => {
173
- if (response.status === "ready") {
174
- if (material.isLoading) {
175
- let e = this.events.load;
176
- if (e.handlers.length) {
177
- 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();
178
186
  }
179
- material.applyImage(response.data);
180
- response.data = null;
181
- }
182
- } else if (response.status === "abort") {
183
- material.isLoading = false;
184
- } else if (response.status === "error") {
185
- if (material.isLoading) {
186
- material.textureNotExists();
187
187
  }
188
188
  }
189
- });
189
+ );
190
190
  } else {
191
191
  material.textureNotExists();
192
192
  }
@@ -197,7 +197,7 @@ class XYZ extends Layer {
197
197
  * Creates query url.
198
198
  * @protected
199
199
  * @virtual
200
- * @param {og.planetSegment.Segment} segment - Creates specific url for current segment.
200
+ * @param {Segment} segment - Creates specific url for current segment.
201
201
  * @returns {String} - Returns url string.
202
202
  */
203
203
  _createUrl(segment) {
@@ -216,28 +216,28 @@ class XYZ extends Layer {
216
216
  /**
217
217
  * Returns actual url query string.
218
218
  * @protected
219
- * @param {og.planetSegment.Segment} segment - Segment that loads image data.
219
+ * @param {Segment} segment - Segment that loads image data.
220
220
  * @returns {string} - Url string.
221
221
  */
222
222
  _getHTTPRequestString(segment) {
223
- 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);
224
226
  }
225
227
 
226
228
  /**
227
229
  * Sets url rewrite callback, used for custom url rewriting for every tile laoding.
228
230
  * @public
229
- * @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.
230
232
  */
231
233
  setUrlRewriteCallback(ur) {
232
234
  this._urlRewriteCallback = ur;
233
235
  }
234
236
 
235
237
  applyMaterial(material) {
236
-
237
238
  if (material.isReady) {
238
239
  return material.texOffset;
239
240
  } else {
240
-
241
241
  // if (material.loadingAttempts > 20) {
242
242
  // debugger;
243
243
  // }
@@ -272,7 +272,9 @@ class XYZ extends Layer {
272
272
  if (pnm) {
273
273
  !pnm.isLoading && !pnm.isReady && this.loadMaterial(pnm, true);
274
274
  } else {
275
- 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
+ );
276
278
  this.loadMaterial(pnm, true);
277
279
  }
278
280
  }
@@ -305,7 +307,7 @@ class XYZ extends Layer {
305
307
  material.texture = null;
306
308
 
307
309
  if (material.image) {
308
- material.image.src = '';
310
+ material.image.src = "";
309
311
  material.image = null;
310
312
  }
311
313
  }
@@ -360,4 +362,4 @@ const EVENT_NAMES = [
360
362
  "loadend"
361
363
  ];
362
364
 
363
- 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;
@@ -353,4 +360,4 @@ class LightSource {
353
360
  }
354
361
  }
355
362
 
356
- export { LightSource };
363
+ export { LightSource };
@@ -2,17 +2,16 @@
2
2
  * @module og/math/Mat3
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- import { Mat4 } from './Mat4.js';
8
- import { Vec3 } from './Vec3.js';
7
+ import { Mat4 } from "./Mat4.js";
8
+ import { Vec3 } from "./Vec3.js";
9
9
 
10
10
  /**
11
11
  * Class represents a 3x3 matrix.
12
12
  * @class
13
13
  */
14
14
  export class Mat3 {
15
-
16
15
  constructor() {
17
16
  /**
18
17
  * A 3x3 matrix, indexable as a column-major order array.
@@ -26,7 +25,7 @@ export class Mat3 {
26
25
  * Sets column-major order array matrix.
27
26
  * @public
28
27
  * @param {Array.<number>} m - Matrix array.
29
- * @returns {og.Mat3}
28
+ * @returns {Mat3}
30
29
  */
31
30
  set(m) {
32
31
  this._m[0] = m[0];
@@ -44,7 +43,7 @@ export class Mat3 {
44
43
  /**
45
44
  * Duplicates a Mat3 instance.
46
45
  * @public
47
- * @returns {og.Mat3}
46
+ * @returns {Mat3}
48
47
  */
49
48
  clone() {
50
49
  var res = new Mat3();
@@ -55,8 +54,8 @@ export class Mat3 {
55
54
  /**
56
55
  * Copy matrix.
57
56
  * @public
58
- * @param {og.Mat3} a - Matrix to copy.
59
- * @returns {og.Mat3}
57
+ * @param {Mat3} a - Matrix to copy.
58
+ * @returns {Mat3}
60
59
  */
61
60
  copy(a) {
62
61
  return this.set(a._m);
@@ -65,37 +64,51 @@ export class Mat3 {
65
64
  /**
66
65
  * Creates trasposed matrix from the current.
67
66
  * @public
68
- * @returns {og.Mat3}
67
+ * @returns {Mat3}
69
68
  */
70
69
  transposeTo() {
71
70
  var res = new Mat3();
72
71
  var m = this._m;
73
- res._m[0] = m[0]; res._m[1] = m[3]; res._m[2] = m[6];
74
- res._m[3] = m[1]; res._m[4] = m[4]; res._m[5] = m[7];
75
- res._m[6] = m[2]; res._m[7] = m[5]; res._m[8] = m[8];
72
+ res._m[0] = m[0];
73
+ res._m[1] = m[3];
74
+ res._m[2] = m[6];
75
+ res._m[3] = m[1];
76
+ res._m[4] = m[4];
77
+ res._m[5] = m[7];
78
+ res._m[6] = m[2];
79
+ res._m[7] = m[5];
80
+ res._m[8] = m[8];
76
81
  return res;
77
82
  }
78
83
 
79
84
  /**
80
85
  * Sets matrix to identity.
81
86
  * @public
82
- * @returns {og.Mat3}
87
+ * @returns {Mat3}
83
88
  */
84
89
  setIdentity() {
85
- this._m[0] = 1; this._m[1] = 0; this._m[2] = 0;
86
- this._m[3] = 0; this._m[4] = 1; this._m[5] = 0;
87
- this._m[6] = 0; this._m[7] = 0; this._m[8] = 1;
90
+ this._m[0] = 1;
91
+ this._m[1] = 0;
92
+ this._m[2] = 0;
93
+ this._m[3] = 0;
94
+ this._m[4] = 1;
95
+ this._m[5] = 0;
96
+ this._m[6] = 0;
97
+ this._m[7] = 0;
98
+ this._m[8] = 1;
88
99
  return this;
89
100
  }
90
101
 
91
102
  /**
92
103
  * Multiply to 3d vector.
93
104
  * @public
94
- * @params {og.Vec3} p - 3d vector.
95
- * @returns {og.Vec3}
105
+ * @params {Vec3} p - 3d vector.
106
+ * @returns {Vec3}
96
107
  */
97
108
  mulVec(p) {
98
- var d = p.x, e = p.y, g = p.z;
109
+ var d = p.x,
110
+ e = p.y,
111
+ g = p.z;
99
112
  var m = this._m;
100
113
  return new Vec3(
101
114
  m[0] * d + m[3] * e + m[6] * g,
@@ -107,7 +120,7 @@ export class Mat3 {
107
120
  /**
108
121
  * Converts to 4x4 matrix.
109
122
  * @public
110
- * @returns {og.Mat4}
123
+ * @returns {Mat4}
111
124
  */
112
125
  toMatrix4() {
113
126
  var res = new Mat4();
@@ -131,13 +144,12 @@ export class Mat3 {
131
144
  b[15] = 1;
132
145
  return res;
133
146
  }
134
-
135
147
  }
136
148
 
137
149
  /**
138
150
  * Mat3 factory.
139
151
  * @static
140
- * @return {og.Mat3}
152
+ * @return {Mat3}
141
153
  */
142
154
  export function mat3() {
143
155
  return new Mat3();