@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
@@ -0,0 +1,326 @@
1
+ export const FADING_FACTOR: 0.29;
2
+ /**
3
+ * @classdesc
4
+ * Base class; normally only used for creating subclasses and not instantiated in apps.
5
+ * A visual representation of raster or vector map data well known as a layer.
6
+ * @class
7
+ * @param {String} [name="noname"] - Layer name.
8
+ * @param {Object} [options] - Layer options:
9
+ * @param {number} [options.opacity=1.0] - Layer opacity.
10
+ * @param {Array.<number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color. (exactly 3 entries)
11
+ * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
12
+ * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
13
+ * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
14
+ * @param {boolean} [options.isBaseLayer=false] - This is a base layer.
15
+ * @param {boolean} [options.visibility=true] - Layer visibility.
16
+ * @param {Extent} [options.extent=[[-180.0, -90.0], [180.0, 90.0]]] - Visible extent.
17
+ * @param {Vec3} [options.ambient=[0.1, 0.1, 0.21]] - Ambient RGB color.
18
+ * @param {Vec3} [options.diffuse=[1.0, 1.0, 1.0]] - Diffuse RGB color.
19
+ * @param {Vec3} [options.specular=[0.00025, 0.00015, 0.0001]] - Specular RGB color.
20
+ * @param {string} [options.textureFilter="anisotropic"] - Image texture filter. Available values: "nearest", "linear", "mipmap" and "anisotropic".
21
+ * @param {Number} [options.shininess=100] - Shininess.
22
+ *
23
+ * @fires og.Layer#visibilitychange
24
+ * @fires og.Layer#add
25
+ * @fires og.Layer#remove
26
+ * @fires og.layer.Vector#mousemove
27
+ * @fires og.layer.Vector#mouseenter
28
+ * @fires og.layer.Vector#mouseleave
29
+ * @fires og.layer.Vector#lclick
30
+ * @fires og.layer.Vector#rclick
31
+ * @fires og.layer.Vector#mclick
32
+ * @fires og.layer.Vector#ldblclick
33
+ * @fires og.layer.Vector#rdblclick
34
+ * @fires og.layer.Vector#mdblclick
35
+ * @fires og.layer.Vector#lup
36
+ * @fires og.layer.Vector#rup
37
+ * @fires og.layer.Vector#mup
38
+ * @fires og.layer.Vector#ldown
39
+ * @fires og.layer.Vector#rdown
40
+ * @fires og.layer.Vector#mdown
41
+ * @fires og.layer.Vector#lhold
42
+ * @fires og.layer.Vector#rhold
43
+ * @fires og.layer.Vector#mhold
44
+ * @fires og.layer.Vector#mousewheel
45
+ * @fires og.layer.Vector#touchmove
46
+ * @fires og.layer.Vector#touchstart
47
+ * @fires og.layer.Vector#touchend
48
+ * @fires og.layer.Vector#doubletouch
49
+ */
50
+ export class Layer {
51
+ static getTMS(x: any, y: any, z: any): {
52
+ x: any;
53
+ y: number;
54
+ z: any;
55
+ };
56
+ static getTileIndex(...arr: any[]): string;
57
+ static set __layersCounter(arg: any);
58
+ static get __layersCounter(): any;
59
+ static set __requestsCounter(arg: any);
60
+ static get __requestsCounter(): any;
61
+ /**
62
+ * Maximum loading queries at one time.
63
+ * @const
64
+ * @type {number}
65
+ */
66
+ static get MAX_REQUESTS(): number;
67
+ constructor(name: any, options?: {});
68
+ /**
69
+ * Layer user name.
70
+ * @public
71
+ * @type {string}
72
+ */
73
+ public name: string;
74
+ _labelMaxLetters: any;
75
+ displayInLayerSwitcher: any;
76
+ _hasImageryTiles: boolean;
77
+ /**
78
+ * Layer global opacity.
79
+ * @public
80
+ * @type {number}
81
+ */
82
+ public _opacity: number;
83
+ /**
84
+ * Transparent RGB color mask.
85
+ * @public
86
+ * @type {Array.<number>} - (exactly 3 entries)
87
+ */
88
+ public transparentColor: Array<number>;
89
+ /**
90
+ * Minimal zoom level when layer is visibile.
91
+ * @public
92
+ * @type {number}
93
+ */
94
+ public minZoom: number;
95
+ /**
96
+ * Maximal zoom level when layer is visibile.
97
+ * @public
98
+ * @type {number}
99
+ */
100
+ public maxZoom: number;
101
+ /**
102
+ * Layer light material parameters.
103
+ * @public
104
+ * @type {Object}
105
+ */
106
+ public ambient: any;
107
+ diffuse: any;
108
+ specular: any;
109
+ shininess: any;
110
+ /**
111
+ * Planet node.
112
+ * @protected
113
+ * @type {Planet}
114
+ */
115
+ protected _planet: Planet;
116
+ /**
117
+ * Unic identifier.
118
+ * @protected
119
+ * @type {number}
120
+ */
121
+ protected _id: number;
122
+ /**
123
+ * Layer attribution.
124
+ * @protected
125
+ * @type {string}
126
+ */
127
+ protected _attribution: string;
128
+ /**
129
+ * Layer z-index.
130
+ * @protected
131
+ * @type {number}
132
+ */
133
+ protected _zIndex: number;
134
+ /**
135
+ * Base layer type flag.
136
+ * @protected
137
+ * @type {boolean}
138
+ */
139
+ protected _isBaseLayer: boolean;
140
+ _defaultTextures: any;
141
+ /**
142
+ * Layer visibility.
143
+ * @protected
144
+ * @type {boolean}
145
+ */
146
+ protected _visibility: boolean;
147
+ _fading: any;
148
+ _fadingFactor: number;
149
+ _fadingOpacity: number;
150
+ /**
151
+ * Height over the ground.
152
+ * @protected
153
+ * @type {number}
154
+ */
155
+ protected _height: number;
156
+ /**
157
+ * Visible degrees extent.
158
+ * @protected
159
+ * @type {Extent}
160
+ */
161
+ protected _extent: Extent;
162
+ createTexture: any;
163
+ /**
164
+ * Visible mercator extent.
165
+ * @protected
166
+ * @type {Extent}
167
+ */
168
+ protected _extentMerc: Extent;
169
+ /**
170
+ * Layer picking color. Assign when added to the planet.
171
+ * @protected
172
+ * @type {Vec3}
173
+ */
174
+ protected _pickingColor: Vec3;
175
+ _pickingEnabled: any;
176
+ /**
177
+ * Events handler.
178
+ * @public
179
+ * @type {Events}
180
+ */
181
+ public events: Events;
182
+ get instanceName(): string;
183
+ get rendererEvents(): Events;
184
+ set opacity(arg: number);
185
+ get opacity(): number;
186
+ set pickingEnabled(arg: boolean);
187
+ get pickingEnabled(): boolean;
188
+ /**
189
+ * Returns true if a layer has imagery tiles.
190
+ * @public
191
+ * @virtual
192
+ * @returns {boolean} - Imagery tiles flag.
193
+ */
194
+ public hasImageryTiles(): boolean;
195
+ /**
196
+ * Gets layer identifier.
197
+ * @public
198
+ * @returns {string} - Layer object id.
199
+ */
200
+ public getID(): string;
201
+ /**
202
+ * Compares layers instances.
203
+ * @public
204
+ * @param {Layer} layer - Layer instance to compare.
205
+ * @returns {boolean} - Returns true if the layers is the same instance of the input.
206
+ */
207
+ public isEqual(layer: Layer): boolean;
208
+ /**
209
+ * Assign the planet.
210
+ * @protected
211
+ * @virtual
212
+ * @param {Planet} planet - Planet render node.
213
+ */
214
+ protected _assignPlanet(planet: Planet): void;
215
+ /**
216
+ * Assign picking color to the layer.
217
+ * @protected
218
+ * @virtual
219
+ */
220
+ protected _bindPicking(): void;
221
+ /**
222
+ * Adds layer to the planet.
223
+ * @public
224
+ * @param {Planet} planet - Adds layer to the planet.
225
+ */
226
+ public addTo(planet: Planet): Layer;
227
+ /**
228
+ * Removes from planet.
229
+ * @public
230
+ * @returns {Layer} -This layer.
231
+ */
232
+ public remove(): Layer;
233
+ /**
234
+ * Clears layer material.
235
+ * @virtual
236
+ */
237
+ clear(): void;
238
+ /**
239
+ * Returns planet instance.
240
+ * @virtual
241
+ */
242
+ get planet(): Planet;
243
+ /**
244
+ * Sets layer attribution text.
245
+ * @public
246
+ * @param {string} html - HTML code that represents layer attribution, it could be just a text.
247
+ */
248
+ public setAttribution(html: string): void;
249
+ /**
250
+ * Sets height over the ground.
251
+ * @public
252
+ * @param {number} height - Layer height.
253
+ */
254
+ public setHeight(height: number): void;
255
+ /**
256
+ * Gets layer height.
257
+ * @public
258
+ * @returns {number} -
259
+ */
260
+ public getHeight(): number;
261
+ /**
262
+ * Sets z-index.
263
+ * @public
264
+ * @param {number} zIndex - Layer z-index.
265
+ */
266
+ public setZIndex(zIndex: number): void;
267
+ /**
268
+ * Gets z-index.
269
+ * @public
270
+ * @returns {number} -
271
+ */
272
+ public getZIndex(): number;
273
+ /**
274
+ * Set zIndex to the maximal value depend on other layers on the planet.
275
+ * @public
276
+ */
277
+ public bringToFront(): void;
278
+ /**
279
+ * Returns true if the layer is a base.
280
+ * @public
281
+ * @returns {boolean} - Base layer flag.
282
+ */
283
+ public isBaseLayer(): boolean;
284
+ /**
285
+ * Sets base layer type true.
286
+ * @public
287
+ * @param {boolean} flag - Base layer flag.
288
+ */
289
+ public setBaseLayer(flag: boolean): void;
290
+ /**
291
+ * Sets layer visibility.
292
+ * @public
293
+ * @virtual
294
+ * @param {boolean} visibility - Layer visibility.
295
+ */
296
+ public setVisibility(visibility: boolean): void;
297
+ /**
298
+ * Gets layer visibility.
299
+ * @public
300
+ * @returns {boolean} - Layer visibility.
301
+ */
302
+ public getVisibility(): boolean;
303
+ /**
304
+ * Sets visible geographical extent.
305
+ * @public
306
+ * @param {Extent} extent - Layer visible geographical extent.
307
+ */
308
+ public setExtent(extent: Extent): void;
309
+ /**
310
+ * Gets layer extent.
311
+ * @public
312
+ * @return {Extent} - Layer geodetic extent.
313
+ */
314
+ public getExtent(): Extent;
315
+ /**
316
+ * Special correction of the whole globe extent.
317
+ * @protected
318
+ */
319
+ protected _correctFullExtent(): void;
320
+ _refreshFadingOpacity(): boolean;
321
+ createMaterial(segment: any): Material;
322
+ }
323
+ import { Extent } from "../Extent.js";
324
+ import { Vec3 } from "../math/Vec3.js";
325
+ import { Events } from "../Events.js";
326
+ import { Material } from "./Material.js";
@@ -0,0 +1,45 @@
1
+ export class Material {
2
+ /**
3
+ *
4
+ * @param {*} segment
5
+ * @param {*} layer
6
+ */
7
+ constructor(segment: any, layer: any);
8
+ segment: any;
9
+ layer: any;
10
+ isReady: boolean;
11
+ isLoading: boolean;
12
+ texture: any;
13
+ pickingMask: any;
14
+ textureExists: boolean;
15
+ appliedNodeId: number;
16
+ texOffset: number[];
17
+ loadingAttempts: number;
18
+ _updateTexture: any;
19
+ _updatePickingMask: any;
20
+ pickingReady: boolean;
21
+ /**
22
+ *
23
+ */
24
+ abortLoading(): void;
25
+ _createTexture(img: any): any;
26
+ /**
27
+ *
28
+ * @param {*} img
29
+ */
30
+ applyImage(img: any): void;
31
+ /**
32
+ *
33
+ * @param {*} texture
34
+ * @param {*} pickingMask
35
+ */
36
+ applyTexture(texture: any, pickingMask: any): void;
37
+ /**
38
+ *
39
+ */
40
+ textureNotExists(): void;
41
+ /**
42
+ *
43
+ */
44
+ clear(): void;
45
+ }
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Vector layer represents alternative entities store. Used for geospatial data rendering like
3
+ * points, lines, polygons, geometry objects etc.
4
+ * @class
5
+ * @extends {Layer}
6
+ * @param {string} [name="noname"] - Layer name.
7
+ * @param {Object} [options] - Layer options:
8
+ * @param {number} [options.minZoom=0] - Minimal visible zoom. 0 is default
9
+ * @param {number} [options.maxZoom=50] - Maximal visible zoom. 50 is default.
10
+ * @param {string} [options.attribution] - Layer attribution.
11
+ * @param {string} [options.zIndex=0] - Layer Z-order index. 0 is default.
12
+ * @param {boolean} [options.visibility=true] - Layer visibility. True is default.
13
+ * @param {boolean} [options.isBaseLayer=false] - Layer base layer. False is default.
14
+ * @param {Array.<Entity>} [options.entities] - Entities array.
15
+ * @param {Array.<number>} [options.scaleByDistance] - Scale by distance parameters. (exactly 3 entries)
16
+ * First index - near distance to the entity, after entity becomes full scale.
17
+ * Second index - far distance to the entity, when entity becomes zero scale.
18
+ * Third index - far distance to the entity, when entity becomes invisible.
19
+ * @param {number} [options.nodeCapacity=30] - Maximum entities quantity in the tree node. Rendering optimization parameter. 30 is default.
20
+ * @param {boolean} [options.async=true] - Asynchronous vector data handling before rendering. True for optimization huge data.
21
+ * @param {boolean} [options.clampToGround = false] - Clamp vector data to the ground.
22
+ * @param {boolean} [options.relativeToGround = false] - Place vector data relative to the ground relief.
23
+ * @param {Number} [options.polygonOffsetFactor=0.0] - The scale factor for the variable depth offset. The default value is 0.
24
+ * @param {Number} [options.polygonOffsetUnits=-637000.0] - The multiplier by which an implementation-specific value is multiplied with to create a constant depth offset.
25
+ *
26
+ * @fires og.layer.Vector#entitymove
27
+ * @fires og.layer.Vector#draw
28
+ * @fires og.layer.Vector#add
29
+ * @fires og.layer.Vector#remove
30
+ * @fires og.layer.Vector#entityadd
31
+ * @fires og.layer.Vector#entityremove
32
+ * @fires og.layer.Vector#visibilitychange
33
+ */
34
+ export class Vector extends Layer {
35
+ /**
36
+ * @param {string} name
37
+ * @param {*} [options]
38
+ */
39
+ constructor(name: string, options?: any);
40
+ isVector: boolean;
41
+ /**
42
+ * First index - near distance to the entity, after that entity becomes full scale.
43
+ * Second index - far distance to the entity, when entity becomes zero scale.
44
+ * Third index - far distance to the entity, when entity becomes invisible.
45
+ * @public
46
+ * @type {Array.<number>} - (exactly 3 entries)
47
+ */
48
+ public scaleByDistance: Array<number>;
49
+ pickingScale: any;
50
+ /**
51
+ * Asynchronous data handling before rendering.
52
+ * @public
53
+ * @type {boolean}
54
+ */
55
+ public async: boolean;
56
+ /**
57
+ * Vector data clamp to ground flag.
58
+ * @public
59
+ * @type {boolean}
60
+ */
61
+ public clampToGround: boolean;
62
+ /**
63
+ * Sets vector data relative to the ground relief.
64
+ * @public
65
+ * @type {boolean}
66
+ */
67
+ public relativeToGround: boolean;
68
+ /**
69
+ * Maximum entities quantity in the tree node.
70
+ * @private
71
+ */
72
+ private _nodeCapacity;
73
+ /**
74
+ * Stored entities.
75
+ * @private
76
+ */
77
+ private _entities;
78
+ _stripEntityCollection: EntityCollection;
79
+ _polylineEntityCollection: EntityCollection;
80
+ _geometryHandler: GeometryHandler;
81
+ _entityCollectionsTree: EntityCollectionNode;
82
+ _entityCollectionsTreeNorth: EntityCollectionNodeWGS84;
83
+ _entityCollectionsTreeSouth: EntityCollectionNodeWGS84;
84
+ _renderingNodes: {};
85
+ _renderingNodesNorth: {};
86
+ _renderingNodesSouth: {};
87
+ _counter: number;
88
+ _deferredEntitiesPendingQueue: QueueArray;
89
+ _pendingsQueue: any[];
90
+ /**
91
+ * Specifies the scale factor for gl.polygonOffset function to calculate depth values, 0.0 is default.
92
+ * @public
93
+ * @type {Number}
94
+ */
95
+ public polygonOffsetFactor: number;
96
+ /**
97
+ * Specifies the scale Units for gl.polygonOffset function to calculate depth values, 0.0 is default.
98
+ * @public
99
+ * @type {Number}
100
+ */
101
+ public polygonOffsetUnits: number;
102
+ /**
103
+ * Returns stored entities.
104
+ * @public
105
+ * @returns {Array.<Entity>} -
106
+ */
107
+ public getEntities(): Array<Entity>;
108
+ /**
109
+ * Adds entity to the layer.
110
+ * @public
111
+ * @param {Entity} entity - Entity.
112
+ * @param {boolean} [rightNow] - Entity insertion option. False is deafult.
113
+ * @returns {layer.Vector} - Returns this layer.
114
+ */
115
+ public add(entity: Entity, rightNow?: boolean): layer.Vector;
116
+ /**
117
+ * Adds entity to the layer in the index position.
118
+ * @public
119
+ * @param {Entity} entity - Entity.
120
+ * @param {Number} index - Index position.
121
+ * @param {boolean} [rightNow] - Entity insertion option. False is deafult.
122
+ * @returns {layer.Vector} - Returns this layer.
123
+ */
124
+ public insert(entity: Entity, index: number, rightNow?: boolean): layer.Vector;
125
+ _proceedEntity(entity: any, rightNow: any): void;
126
+ /**
127
+ * Adds entity array to the layer.
128
+ * @public
129
+ * @param {Array.<Entity>} entities - Entities array.
130
+ * @param {boolean} [rightNow] - Entity insertion option. False is deafult.
131
+ * @returns {layer.Vector} - Returns this layer.
132
+ */
133
+ public addEntities(entities: Array<Entity>, rightNow?: boolean): layer.Vector;
134
+ /**
135
+ * Remove entity from layer.
136
+ * TODO: memory leaks.
137
+ * @public
138
+ * @param {Entity} entity - Entity to remove.
139
+ * @returns {layer.Vector} - Returns this layer.
140
+ */
141
+ public removeEntity(entity: Entity): layer.Vector;
142
+ /**
143
+ * Refresh collected entities indexes from startIndex entitytes collection array position.
144
+ * @public
145
+ * @param {number} startIndex - Entity array index.
146
+ */
147
+ public _reindexEntitiesArray(startIndex: number): void;
148
+ /**
149
+ * Removes entities from layer.
150
+ * @public
151
+ * @param {Array.<Entity>} entities - Entity array.
152
+ * @returns {layer.Vector} - Returns this layer.
153
+ */
154
+ public removeEntities(entities: Array<Entity>): layer.Vector;
155
+ /**
156
+ * Sets scale by distance parameters.
157
+ * @public
158
+ * @param {number} near - Full scale entity distance.
159
+ * @param {number} far - Zerol scale entity distance.
160
+ * @param {number} [farInvisible] - Entity visibility distance.
161
+ * @returns {layer.Vector} -
162
+ */
163
+ public setScaleByDistance(near: number, far: number, farInvisible?: number): layer.Vector;
164
+ /**
165
+ * Safety entities loop.
166
+ * @public
167
+ * @param {callback} callback - Entity callback.
168
+ */
169
+ public each(callback: any): void;
170
+ /**
171
+ * Removes current entities from layer and adds new entities.
172
+ * @public
173
+ * @param {Array.<Entity>} entities - New entity array.
174
+ * @returns {layer.Vector} - Returns layer instance.
175
+ */
176
+ public setEntities(entities: Array<Entity>): layer.Vector;
177
+ _createEntityCollectionsTree(entitiesForTree: any): void;
178
+ _bindEventsDefault(entityCollection: any): void;
179
+ _collectStripCollectionPASS(outArr: any): void;
180
+ _collectPolylineCollectionPASS(outArr: any): void;
181
+ collectVisibleCollections(outArr: any): void;
182
+ _secondPASS: any[];
183
+ _queueDeferredNode(node: any): void;
184
+ _execDeferredNode(node: any): void;
185
+ /**
186
+ * Start to load tile material.
187
+ * @public
188
+ * @virtual
189
+ * @param {Segment.Material} material - Current material.
190
+ */
191
+ public loadMaterial(material: Segment.Material): void;
192
+ /**
193
+ * Abort exact material loading.
194
+ * @public
195
+ * @param {Material} material - Segment material.
196
+ */
197
+ public abortMaterialLoading(material: Material): void;
198
+ applyMaterial(material: any): number[];
199
+ clearMaterial(material: any): void;
200
+ update(): void;
201
+ }
202
+ import { Layer } from "./Layer.js";
203
+ import { EntityCollection } from "../entity/EntityCollection.js";
204
+ import { GeometryHandler } from "../entity/GeometryHandler.js";
205
+ import { EntityCollectionNode } from "../quadTree/EntityCollectionNode.js";
206
+ import { EntityCollectionNodeWGS84 } from "../quadTree/EntityCollectionNode.js";
207
+ import { QueueArray } from "../QueueArray.js";
208
+ import { Entity } from "../entity/Entity.js";
@@ -1,12 +1,12 @@
1
1
  /**
2
2
  * Used to display WMS services as tile layers on the globe.
3
3
  * @class
4
- * @extends {og.layer.XYZ}
4
+ * @extends {XYZ}
5
5
  * //TODO: WMS version, format, and custom srs cpecification.
6
6
  * @param {string} name - Layer name.
7
7
  * @param {Object} options - Options:
8
8
  * @param {number} [options.opacity=1.0] - Layer opacity.
9
- * @param {Array.<number,number,number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color.
9
+ * @param {Array.<number>} [options.transparentColor=[-1,-1,-1]] - RGB color that defines transparent color.
10
10
  * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
11
11
  * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
12
12
  * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
@@ -33,7 +33,7 @@
33
33
  * @fires og.layer.XYZ#load
34
34
  * @fires og.layer.XYZ#loadend
35
35
  */
36
- export class WMS {
36
+ export class WMS extends XYZ {
37
37
  static createRequestUrl(url: any, layers: any, format: string, version: string, request: string, srs: any, bbox: any, width?: number, height?: number): string;
38
38
  static get_bbox_v1_1_1(extent: any): string;
39
39
  static get_bbox_v1_3_0(extent: any): string;
@@ -57,10 +57,7 @@ export class WMS {
57
57
  */
58
58
  public imageHeight: number;
59
59
  _getBbox: typeof WMS.get_bbox_v1_1_1;
60
- _checkSegment(segment: any): boolean;
61
- get instanceName(): string;
62
- _createUrl(segment: any): string;
63
60
  setVersion(version: any): void;
64
61
  _version: any;
65
- _correctFullExtent(): void;
66
62
  }
63
+ import { XYZ } from "./XYZ.js";