@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
@@ -11,6 +11,7 @@ import { Extent } from "../Extent.js";
11
11
  import { LonLat } from "../LonLat.js";
12
12
  import { Material } from "./Material.js";
13
13
  import { Vec3 } from "../math/Vec3.js";
14
+ import { createTexture } from "../webgl/Handler.js";
14
15
 
15
16
  export const FADING_FACTOR = 0.29;
16
17
 
@@ -22,16 +23,17 @@ export const FADING_FACTOR = 0.29;
22
23
  * @param {String} [name="noname"] - Layer name.
23
24
  * @param {Object} [options] - Layer options:
24
25
  * @param {number} [options.opacity=1.0] - Layer opacity.
25
- * @param {Array.<number,number,number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color.
26
+ * @param {Array.<number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color. (exactly 3 entries)
26
27
  * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
27
28
  * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
28
29
  * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
29
30
  * @param {boolean} [options.isBaseLayer=false] - This is a base layer.
30
31
  * @param {boolean} [options.visibility=true] - Layer visibility.
31
- * @param {og.Extent} [options.extent=[[-180.0, -90.0], [180.0, 90.0]]] - Visible extent.
32
- * @param {og.Vec3} [options.ambient=[0.1, 0.1, 0.21]] - Ambient RGB color.
33
- * @param {og.Vec3} [options.diffuse=[1.0, 1.0, 1.0]] - Diffuse RGB color.
34
- * @param {og.Vec3} [options.specular=[0.00025, 0.00015, 0.0001]] - Specular RGB color.
32
+ * @param {Extent} [options.extent=[[-180.0, -90.0], [180.0, 90.0]]] - Visible extent.
33
+ * @param {Vec3} [options.ambient=[0.1, 0.1, 0.21]] - Ambient RGB color.
34
+ * @param {Vec3} [options.diffuse=[1.0, 1.0, 1.0]] - Diffuse RGB color.
35
+ * @param {Vec3} [options.specular=[0.00025, 0.00015, 0.0001]] - Specular RGB color.
36
+ * @param {string} [options.textureFilter="anisotropic"] - Image texture filter. Available values: "nearest", "linear", "mipmap" and "anisotropic".
35
37
  * @param {Number} [options.shininess=100] - Shininess.
36
38
  *
37
39
  * @fires og.Layer#visibilitychange
@@ -87,7 +89,7 @@ class Layer {
87
89
  /**
88
90
  * Transparent RGB color mask.
89
91
  * @public
90
- * @type {Array.<number,number,number>}
92
+ * @type {Array.<number>} - (exactly 3 entries)
91
93
  */
92
94
  this.transparentColor = options.transparentColor || [-1, -1, -1];
93
95
 
@@ -118,7 +120,7 @@ class Layer {
118
120
  /**
119
121
  * Planet node.
120
122
  * @protected
121
- * @type {og.scene.Planet}
123
+ * @type {Planet}
122
124
  */
123
125
  this._planet = null;
124
126
 
@@ -179,14 +181,22 @@ class Layer {
179
181
  /**
180
182
  * Visible degrees extent.
181
183
  * @protected
182
- * @type {og.Extent}
184
+ * @type {Extent}
183
185
  */
184
186
  this._extent = null;
185
187
 
188
+ if (options.textureFilter) {
189
+ this.createTexture =
190
+ createTexture[options.textureFilter.trim().toUpperCase()] ||
191
+ createTexture.ANISOTROPIC;
192
+ } else {
193
+ this.createTexture = createTexture.ANISOTROPIC;
194
+ }
195
+
186
196
  /**
187
197
  * Visible mercator extent.
188
198
  * @protected
189
- * @type {og.Extent}
199
+ * @type {Extent}
190
200
  */
191
201
  this._extentMerc = null;
192
202
 
@@ -201,7 +211,7 @@ class Layer {
201
211
  /**
202
212
  * Layer picking color. Assign when added to the planet.
203
213
  * @protected
204
- * @type {og.Vec3}
214
+ * @type {Vec3}
205
215
  */
206
216
  this._pickingColor = new Vec3();
207
217
 
@@ -210,7 +220,7 @@ class Layer {
210
220
  /**
211
221
  * Events handler.
212
222
  * @public
213
- * @type {og.Events}
223
+ * @type {Events}
214
224
  */
215
225
  this.events = new Events(EVENT_NAMES, this);
216
226
  }
@@ -310,7 +320,7 @@ class Layer {
310
320
  /**
311
321
  * Compares layers instances.
312
322
  * @public
313
- * @param {og.Layer} layer - Layer instance to compare.
323
+ * @param {Layer} layer - Layer instance to compare.
314
324
  * @returns {boolean} - Returns true if the layers is the same instance of the input.
315
325
  */
316
326
  isEqual(layer) {
@@ -321,7 +331,7 @@ class Layer {
321
331
  * Assign the planet.
322
332
  * @protected
323
333
  * @virtual
324
- * @param {og.scene.Planet} planet - Planet render node.
334
+ * @param {Planet} planet - Planet render node.
325
335
  */
326
336
  _assignPlanet(planet) {
327
337
  planet.layers.push(this);
@@ -348,7 +358,7 @@ class Layer {
348
358
  /**
349
359
  * Adds layer to the planet.
350
360
  * @public
351
- * @param {og.scene.Planet} planet - Adds layer to the planet.
361
+ * @param {Planet} planet - Adds layer to the planet.
352
362
  */
353
363
  addTo(planet) {
354
364
  if (!this._planet) {
@@ -360,7 +370,7 @@ class Layer {
360
370
  /**
361
371
  * Removes from planet.
362
372
  * @public
363
- * @returns {og.Layer} -This layer.
373
+ * @returns {Layer} -This layer.
364
374
  */
365
375
  remove() {
366
376
  var p = this._planet;
@@ -514,7 +524,7 @@ class Layer {
514
524
  /**
515
525
  * Sets visible geographical extent.
516
526
  * @public
517
- * @param {og.Extent} extent - Layer visible geographical extent.
527
+ * @param {Extent} extent - Layer visible geographical extent.
518
528
  */
519
529
  setExtent(extent) {
520
530
  var sw = extent.southWest.clone(),
@@ -533,7 +543,7 @@ class Layer {
533
543
  /**
534
544
  * Gets layer extent.
535
545
  * @public
536
- * @return {og.Extent} - Layer geodetic extent.
546
+ * @return {Extent} - Layer geodetic extent.
537
547
  */
538
548
  getExtent() {
539
549
  return this._extent;
@@ -2,76 +2,108 @@
2
2
  * @module og/layer/Material
3
3
  */
4
4
 
5
- 'use strict';
5
+ "use strict";
6
6
 
7
- const Material = function (segment, layer) {
8
- this.segment = segment;
9
- this.layer = layer;
10
- this.isReady = false;
11
- this.isLoading = false;
12
- this.texture = null;
13
- this.pickingMask = null;
14
- //this.image = null;
15
- this.textureExists = false;
16
- this.appliedNodeId = 0;
17
- this.texOffset = [0.0, 0.0, 1.0, 1.0];
18
- this.loadingAttempts = 0;
7
+ class Material {
8
+ /**
9
+ *
10
+ * @param {*} segment
11
+ * @param {*} layer
12
+ */
13
+ constructor(segment, layer) {
14
+ this.segment = segment;
15
+ this.layer = layer;
16
+ this.isReady = false;
17
+ this.isLoading = false;
18
+ this.texture = null;
19
+ this.pickingMask = null;
20
+ //this.image = null;
21
+ this.textureExists = false;
22
+ this.appliedNodeId = 0;
23
+ this.texOffset = [0.0, 0.0, 1.0, 1.0];
24
+ this.loadingAttempts = 0;
19
25
 
20
- // vector data
21
- this._updateTexture = null;
22
- this._updatePickingMask = null;
23
- this.pickingReady = false;
24
- };
26
+ // vector data
27
+ this._updateTexture = null;
28
+ this._updatePickingMask = null;
29
+ this.pickingReady = false;
30
+ }
25
31
 
26
- Material.prototype.assignLayer = function (layer) {
27
- this.layer = layer;
28
- };
32
+ ///**
33
+ // * @param {*} layer
34
+ // */
35
+ //assignLayer(layer) {
36
+ // this.layer = layer;
37
+ //}
29
38
 
30
- Material.prototype.abortLoading = function () {
31
- this.layer.abortMaterialLoading(this);
32
- };
39
+ /**
40
+ *
41
+ */
42
+ abortLoading() {
43
+ this.layer.abortMaterialLoading(this);
44
+ }
33
45
 
34
- Material.prototype.applyImage = function (img) {
35
- if (this.segment.initialized) {
36
- this._updateTexture = null;
37
- //this.image = img;
38
- this.texture = this.segment.handler.createTexture(img);
39
- this.appliedNodeId = this.segment.node.nodeId;
40
- this.isReady = true;
41
- this.pickingReady = true;
42
- this.textureExists = true;
43
- this.isLoading = false;
44
- this.texOffset = [0.0, 0.0, 1.0, 1.0];
46
+ _createTexture(img) {
47
+ return this.layer.createTexture(this.segment.handler, img);
45
48
  }
46
- };
47
49
 
48
- Material.prototype.applyTexture = function (texture, pickingMask) {
49
- if (this.segment.initialized) {
50
- this.texture = texture;
51
- this._updateTexture = null;
52
- this.pickingMask = pickingMask || null;
53
- this._updatePickingMask = null;
54
- this.isReady = true;
55
- this.pickingReady = true;
56
- this.textureExists = true;
57
- this.isLoading = false;
58
- this.appliedNodeId = this.segment.node.nodeId;
59
- this.texOffset = [0.0, 0.0, 1.0, 1.0];
50
+ /**
51
+ *
52
+ * @param {*} img
53
+ */
54
+ applyImage(img) {
55
+ if (this.segment.initialized) {
56
+ this._updateTexture = null;
57
+ //this.image = img;
58
+ this.texture = this._createTexture(img);
59
+ this.appliedNodeId = this.segment.node.nodeId;
60
+ this.isReady = true;
61
+ this.pickingReady = true;
62
+ this.textureExists = true;
63
+ this.isLoading = false;
64
+ this.texOffset = [0.0, 0.0, 1.0, 1.0];
65
+ }
60
66
  }
61
- };
62
67
 
63
- Material.prototype.textureNotExists = function () {
64
- if (this.segment.initialized) {
65
- this.pickingReady = true;
66
- this.isLoading = false;
67
- this.isReady = true;
68
- this.textureExists = false;
68
+ /**
69
+ *
70
+ * @param {*} texture
71
+ * @param {*} pickingMask
72
+ */
73
+ applyTexture(texture, pickingMask) {
74
+ if (this.segment.initialized) {
75
+ this.texture = texture;
76
+ this._updateTexture = null;
77
+ this.pickingMask = pickingMask || null;
78
+ this._updatePickingMask = null;
79
+ this.isReady = true;
80
+ this.pickingReady = true;
81
+ this.textureExists = true;
82
+ this.isLoading = false;
83
+ this.appliedNodeId = this.segment.node.nodeId;
84
+ this.texOffset = [0.0, 0.0, 1.0, 1.0];
85
+ }
86
+ }
87
+
88
+ /**
89
+ *
90
+ */
91
+ textureNotExists() {
92
+ if (this.segment.initialized) {
93
+ this.pickingReady = true;
94
+ this.isLoading = false;
95
+ this.isReady = true;
96
+ this.textureExists = false;
97
+ }
69
98
  }
70
- };
71
99
 
72
- Material.prototype.clear = function () {
73
- this.loadingAttempts = 0;
74
- this.layer.clearMaterial(this);
75
- };
100
+ /**
101
+ *
102
+ */
103
+ clear() {
104
+ this.loadingAttempts = 0;
105
+ this.layer.clearMaterial(this);
106
+ }
107
+ }
76
108
 
77
- export { Material };
109
+ export { Material };