@openglobus/og 0.11.7 → 0.12.3

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 (211) hide show
  1. package/css/og.css +5 -2
  2. package/dist/@openglobus/og.css +1 -0
  3. package/dist/@openglobus/og.esm.js +21 -0
  4. package/dist/@openglobus/og.esm.js.map +1 -0
  5. package/dist/@openglobus/og.umd.js +21 -0
  6. package/dist/@openglobus/og.umd.js.map +1 -0
  7. package/package.json +11 -11
  8. package/src/og/Globe.js +18 -6
  9. package/src/og/camera/Camera.js +70 -79
  10. package/src/og/camera/PlanetCamera.js +25 -30
  11. package/src/og/control/DebugInfo.js +2 -2
  12. package/src/og/control/EarthNavigation.js +26 -17
  13. package/src/og/control/Lighting.js +52 -73
  14. package/src/og/control/MouseNavigation.js +30 -29
  15. package/src/og/control/MouseWheelZoomControl.js +257 -0
  16. package/src/og/control/Sun.js +3 -3
  17. package/src/og/control/index.js +2 -0
  18. package/src/og/control/visibleExtent/Segment.js +1862 -0
  19. package/src/og/control/visibleExtent/VisibleExtent.js +80 -0
  20. package/src/og/control/visibleExtent/drawnode.js +751 -0
  21. package/src/og/entity/BaseBillboard.js +9 -9
  22. package/src/og/entity/Entity.js +742 -742
  23. package/src/og/entity/GeoObjectHandler.js +138 -134
  24. package/src/og/entity/Label.js +7 -7
  25. package/src/og/entity/LabelHandler.js +2 -1
  26. package/src/og/layer/CanvasTiles.js +8 -12
  27. package/src/og/layer/GeoImage.js +2 -10
  28. package/src/og/layer/GeoTexture2d.js +2 -10
  29. package/src/og/layer/GeoVideo.js +2 -10
  30. package/src/og/layer/KML.js +19 -12
  31. package/src/og/layer/Layer.js +4 -23
  32. package/src/og/layer/WMS.js +0 -2
  33. package/src/og/layer/XYZ.js +31 -33
  34. package/src/og/math/Vec3.js +18 -2
  35. package/src/og/quadTree/Node.js +48 -93
  36. package/src/og/quadTree/quadTree.js +1 -1
  37. package/src/og/renderer/Renderer.js +69 -96
  38. package/src/og/renderer/RendererEvents.js +3 -1
  39. package/src/og/scene/Planet.js +171 -173
  40. package/src/og/segment/Segment.js +99 -268
  41. package/src/og/segment/Slice.js +45 -0
  42. package/src/og/shaders/drawnode.js +171 -350
  43. package/src/og/shaders/geoObject.js +15 -6
  44. package/src/og/terrain/EmptyTerrain.js +3 -2
  45. package/src/og/terrain/GlobusTerrain.js +2 -0
  46. package/src/og/utils/GeoImageCreator.js +5 -1
  47. package/src/og/utils/Loader.js +1 -1
  48. package/src/og/utils/PlainSegmentWorker.js +0 -13
  49. package/src/og/webgl/Handler.js +14 -10
  50. package/types/Clock.d.ts +94 -0
  51. package/types/Deferred.d.ts +6 -0
  52. package/types/Events.d.ts +77 -0
  53. package/types/Extent.d.ts +166 -0
  54. package/types/Globe.d.ts +85 -0
  55. package/types/ImageCanvas.d.ts +123 -0
  56. package/types/Lock.d.ts +12 -0
  57. package/types/LonLat.d.ts +108 -0
  58. package/types/Popup.d.ts +42 -0
  59. package/types/QueueArray.d.ts +19 -0
  60. package/types/Rectangle.d.ts +80 -0
  61. package/types/Stack.d.ts +19 -0
  62. package/types/ajax.d.ts +24 -0
  63. package/types/arial.d.ts +48 -0
  64. package/types/astro/astro.d.ts +38 -0
  65. package/types/astro/earth.d.ts +7 -0
  66. package/types/astro/jd.d.ts +254 -0
  67. package/types/bv/Box.d.ts +30 -0
  68. package/types/bv/Sphere.d.ts +38 -0
  69. package/types/bv/index.d.ts +3 -0
  70. package/types/camera/Camera.d.ts +312 -0
  71. package/types/camera/Frustum.d.ts +133 -0
  72. package/types/camera/PlanetCamera.d.ts +219 -0
  73. package/types/camera/index.d.ts +3 -0
  74. package/types/cons.d.ts +40 -0
  75. package/types/control/CompassButton.d.ts +17 -0
  76. package/types/control/Control.d.ts +104 -0
  77. package/types/control/DebugInfo.d.ts +15 -0
  78. package/types/control/EarthCoordinates.d.ts +47 -0
  79. package/types/control/EarthNavigation.d.ts +43 -0
  80. package/types/control/GeoImageDragControl.d.ts +6 -0
  81. package/types/control/KeyboardNavigation.d.ts +21 -0
  82. package/types/control/LayerSwitcher.d.ts +21 -0
  83. package/types/control/Lighting.d.ts +16 -0
  84. package/types/control/MouseNavigation.d.ts +48 -0
  85. package/types/control/MouseWheelZoomControl.d.ts +45 -0
  86. package/types/control/ScaleControl.d.ts +22 -0
  87. package/types/control/ShowFps.d.ts +11 -0
  88. package/types/control/SimpleNavigation.d.ts +25 -0
  89. package/types/control/Sun.d.ts +50 -0
  90. package/types/control/ToggleWireframe.d.ts +12 -0
  91. package/types/control/TouchNavigation.d.ts +48 -0
  92. package/types/control/ZoomControl.d.ts +27 -0
  93. package/types/control/index.d.ts +18 -0
  94. package/types/ellipsoid/Ellipsoid.d.ts +146 -0
  95. package/types/ellipsoid/index.d.ts +3 -0
  96. package/types/ellipsoid/wgs84.d.ts +6 -0
  97. package/types/entity/BaseBillboard.d.ts +215 -0
  98. package/types/entity/Billboard.d.ts +94 -0
  99. package/types/entity/BillboardHandler.d.ts +79 -0
  100. package/types/entity/Entity.d.ts +348 -0
  101. package/types/entity/EntityCollection.d.ts +317 -0
  102. package/types/entity/GeoObject.d.ts +111 -0
  103. package/types/entity/GeoObjectHandler.d.ts +81 -0
  104. package/types/entity/Geometry.d.ts +74 -0
  105. package/types/entity/GeometryHandler.d.ts +76 -0
  106. package/types/entity/Label.d.ts +189 -0
  107. package/types/entity/LabelHandler.d.ts +31 -0
  108. package/types/entity/LabelWorker.d.ts +11 -0
  109. package/types/entity/PointCloud.d.ts +174 -0
  110. package/types/entity/PointCloudHandler.d.ts +38 -0
  111. package/types/entity/Polyline.d.ts +306 -0
  112. package/types/entity/PolylineHandler.d.ts +18 -0
  113. package/types/entity/Ray.d.ts +124 -0
  114. package/types/entity/RayHandler.d.ts +67 -0
  115. package/types/entity/ShapeHandler.d.ts +22 -0
  116. package/types/entity/Strip.d.ts +119 -0
  117. package/types/entity/StripHandler.d.ts +38 -0
  118. package/types/entity/index.d.ts +8 -0
  119. package/types/index.core.d.ts +65 -0
  120. package/types/index.d.ts +45 -0
  121. package/types/index.webgl.d.ts +7 -0
  122. package/types/input/KeyboardHandler.d.ts +10 -0
  123. package/types/input/MouseHandler.d.ts +5 -0
  124. package/types/input/TouchHandler.d.ts +5 -0
  125. package/types/input/input.d.ts +34 -0
  126. package/types/layer/BaseGeoImage.d.ts +94 -0
  127. package/types/layer/CanvasTiles.d.ts +67 -0
  128. package/types/layer/GeoImage.d.ts +52 -0
  129. package/types/layer/GeoTexture2d.d.ts +8 -0
  130. package/types/layer/GeoVideo.d.ts +55 -0
  131. package/types/layer/KML.d.ts +68 -0
  132. package/types/layer/Layer.d.ts +310 -0
  133. package/types/layer/Material.d.ts +45 -0
  134. package/types/layer/Vector.d.ts +208 -0
  135. package/types/layer/WMS.d.ts +61 -0
  136. package/types/layer/XYZ.d.ts +119 -0
  137. package/types/layer/index.d.ts +10 -0
  138. package/types/light/LightSource.d.ts +178 -0
  139. package/types/math/Line2.d.ts +11 -0
  140. package/types/math/Line3.d.ts +10 -0
  141. package/types/math/Mat3.d.ts +65 -0
  142. package/types/math/Mat4.d.ts +176 -0
  143. package/types/math/Plane.d.ts +18 -0
  144. package/types/math/Quat.d.ts +379 -0
  145. package/types/math/Ray.d.ts +82 -0
  146. package/types/math/Vec2.d.ts +309 -0
  147. package/types/math/Vec3.d.ts +467 -0
  148. package/types/math/Vec4.d.ts +162 -0
  149. package/types/math/coder.d.ts +43 -0
  150. package/types/math/index.d.ts +11 -0
  151. package/types/math.d.ts +261 -0
  152. package/types/mercator.d.ts +92 -0
  153. package/types/proj/EPSG3857.d.ts +6 -0
  154. package/types/proj/EPSG4326.d.ts +6 -0
  155. package/types/proj/Proj.d.ts +42 -0
  156. package/types/quadTree/EntityCollectionNode.d.ts +34 -0
  157. package/types/quadTree/Node.d.ts +60 -0
  158. package/types/quadTree/quadTree.d.ts +40 -0
  159. package/types/renderer/Renderer.d.ts +290 -0
  160. package/types/renderer/RendererEvents.d.ts +237 -0
  161. package/types/res/images.d.ts +3 -0
  162. package/types/scene/Axes.d.ts +11 -0
  163. package/types/scene/BaseNode.d.ts +60 -0
  164. package/types/scene/Planet.d.ts +576 -0
  165. package/types/scene/RenderNode.d.ts +142 -0
  166. package/types/scene/SkyBox.d.ts +10 -0
  167. package/types/scene/index.d.ts +4 -0
  168. package/types/segment/Segment.d.ts +275 -0
  169. package/types/segment/SegmentLonLat.d.ts +17 -0
  170. package/types/segment/Slice.d.ts +10 -0
  171. package/types/segment/segmentHelper.d.ts +13 -0
  172. package/types/shaders/billboard.d.ts +3 -0
  173. package/types/shaders/depth.d.ts +2 -0
  174. package/types/shaders/drawnode.d.ts +7 -0
  175. package/types/shaders/geoObject.d.ts +3 -0
  176. package/types/shaders/label.d.ts +4 -0
  177. package/types/shaders/pointCloud.d.ts +2 -0
  178. package/types/shaders/polyline.d.ts +3 -0
  179. package/types/shaders/ray.d.ts +2 -0
  180. package/types/shaders/screenFrame.d.ts +2 -0
  181. package/types/shaders/shape.d.ts +4 -0
  182. package/types/shaders/skybox.d.ts +2 -0
  183. package/types/shaders/toneMapping.d.ts +2 -0
  184. package/types/shapes/BaseShape.d.ts +250 -0
  185. package/types/shapes/Sphere.d.ts +41 -0
  186. package/types/terrain/BilTerrain.d.ts +7 -0
  187. package/types/terrain/EmptyTerrain.d.ts +73 -0
  188. package/types/terrain/Geoid.d.ts +26 -0
  189. package/types/terrain/GlobusTerrain.d.ts +116 -0
  190. package/types/terrain/MapboxTerrain.d.ts +7 -0
  191. package/types/terrain/index.d.ts +5 -0
  192. package/types/utils/FontAtlas.d.ts +15 -0
  193. package/types/utils/GeoImageCreator.d.ts +30 -0
  194. package/types/utils/ImagesCacheManager.d.ts +10 -0
  195. package/types/utils/Loader.d.ts +25 -0
  196. package/types/utils/NormalMapCreator.d.ts +39 -0
  197. package/types/utils/PlainSegmentWorker.d.ts +10 -0
  198. package/types/utils/TerrainWorker.d.ts +9 -0
  199. package/types/utils/TextureAtlas.d.ts +111 -0
  200. package/types/utils/VectorTileCreator.d.ts +16 -0
  201. package/types/utils/colorTable.d.ts +143 -0
  202. package/types/utils/earcut.d.ts +6 -0
  203. package/types/utils/shared.d.ts +231 -0
  204. package/types/webgl/Framebuffer.d.ts +135 -0
  205. package/types/webgl/Handler.d.ts +417 -0
  206. package/types/webgl/Multisample.d.ts +89 -0
  207. package/types/webgl/Program.d.ts +161 -0
  208. package/types/webgl/ProgramController.d.ts +89 -0
  209. package/types/webgl/callbacks.d.ts +1 -0
  210. package/types/webgl/index.d.ts +6 -0
  211. package/types/webgl/types.d.ts +2 -0
@@ -0,0 +1,310 @@
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 {number} [options.minZoom=0] - Minimal visibility zoom level.
11
+ * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
12
+ * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
13
+ * @param {boolean} [options.isBaseLayer=false] - This is a base layer.
14
+ * @param {boolean} [options.visibility=true] - Layer visibility.
15
+ * @param {boolean} [options.isSRGB=false] - Layer image webgl nternal format.
16
+ * @param {Extent} [options.extent=[[-180.0, -90.0], [180.0, 90.0]]] - Visible extent.
17
+ * @param {string} [options.textureFilter="anisotropic"] - Image texture filter. Available values: "nearest", "linear", "mipmap" and "anisotropic".
18
+ *
19
+ * @fires og.Layer#visibilitychange
20
+ * @fires og.Layer#add
21
+ * @fires og.Layer#remove
22
+ * @fires og.layer.Vector#mousemove
23
+ * @fires og.layer.Vector#mouseenter
24
+ * @fires og.layer.Vector#mouseleave
25
+ * @fires og.layer.Vector#lclick
26
+ * @fires og.layer.Vector#rclick
27
+ * @fires og.layer.Vector#mclick
28
+ * @fires og.layer.Vector#ldblclick
29
+ * @fires og.layer.Vector#rdblclick
30
+ * @fires og.layer.Vector#mdblclick
31
+ * @fires og.layer.Vector#lup
32
+ * @fires og.layer.Vector#rup
33
+ * @fires og.layer.Vector#mup
34
+ * @fires og.layer.Vector#ldown
35
+ * @fires og.layer.Vector#rdown
36
+ * @fires og.layer.Vector#mdown
37
+ * @fires og.layer.Vector#lhold
38
+ * @fires og.layer.Vector#rhold
39
+ * @fires og.layer.Vector#mhold
40
+ * @fires og.layer.Vector#mousewheel
41
+ * @fires og.layer.Vector#touchmove
42
+ * @fires og.layer.Vector#touchstart
43
+ * @fires og.layer.Vector#touchend
44
+ * @fires og.layer.Vector#doubletouch
45
+ */
46
+ export class Layer {
47
+ static getTMS(x: any, y: any, z: any): {
48
+ x: any;
49
+ y: number;
50
+ z: any;
51
+ };
52
+ static getTileIndex(...arr: any[]): string;
53
+ static set __layersCounter(arg: any);
54
+ static get __layersCounter(): any;
55
+ static set __requestsCounter(arg: any);
56
+ static get __requestsCounter(): any;
57
+ /**
58
+ * Maximum loading queries at one time.
59
+ * @const
60
+ * @type {number}
61
+ */
62
+ static get MAX_REQUESTS(): number;
63
+ constructor(name: any, options?: {});
64
+ /**
65
+ * Layer user name.
66
+ * @public
67
+ * @type {string}
68
+ */
69
+ public name: string;
70
+ _labelMaxLetters: any;
71
+ displayInLayerSwitcher: any;
72
+ _hasImageryTiles: boolean;
73
+ /**
74
+ * Layer global opacity.
75
+ * @public
76
+ * @type {number}
77
+ */
78
+ public _opacity: number;
79
+ /**
80
+ * Minimal zoom level when layer is visibile.
81
+ * @public
82
+ * @type {number}
83
+ */
84
+ public minZoom: number;
85
+ /**
86
+ * Maximal zoom level when layer is visibile.
87
+ * @public
88
+ * @type {number}
89
+ */
90
+ public maxZoom: number;
91
+ /**
92
+ * Planet node.
93
+ * @protected
94
+ * @type {Planet}
95
+ */
96
+ protected _planet: Planet;
97
+ /**
98
+ * Unic identifier.
99
+ * @protected
100
+ * @type {number}
101
+ */
102
+ protected _id: number;
103
+ /**
104
+ * Layer attribution.
105
+ * @protected
106
+ * @type {string}
107
+ */
108
+ protected _attribution: string;
109
+ /**
110
+ * Layer z-index.
111
+ * @protected
112
+ * @type {number}
113
+ */
114
+ protected _zIndex: number;
115
+ /**
116
+ * Base layer type flag.
117
+ * @protected
118
+ * @type {boolean}
119
+ */
120
+ protected _isBaseLayer: boolean;
121
+ _defaultTextures: any;
122
+ /**
123
+ * Layer visibility.
124
+ * @protected
125
+ * @type {boolean}
126
+ */
127
+ protected _visibility: boolean;
128
+ _fading: any;
129
+ _fadingFactor: number;
130
+ _fadingOpacity: number;
131
+ /**
132
+ * Height over the ground.
133
+ * @protected
134
+ * @type {number}
135
+ */
136
+ protected _height: number;
137
+ /**
138
+ * Visible degrees extent.
139
+ * @protected
140
+ * @type {Extent}
141
+ */
142
+ protected _extent: Extent;
143
+ createTexture: any;
144
+ _textureFilter: any;
145
+ _isSRGB: any;
146
+ _internalFormat: any;
147
+ /**
148
+ * Visible mercator extent.
149
+ * @protected
150
+ * @type {Extent}
151
+ */
152
+ protected _extentMerc: Extent;
153
+ /**
154
+ * Layer picking color. Assign when added to the planet.
155
+ * @protected
156
+ * @type {Vec3}
157
+ */
158
+ protected _pickingColor: Vec3;
159
+ _pickingEnabled: any;
160
+ /**
161
+ * Events handler.
162
+ * @public
163
+ * @type {Events}
164
+ */
165
+ public events: Events;
166
+ get instanceName(): string;
167
+ get rendererEvents(): Events;
168
+ set opacity(arg: number);
169
+ get opacity(): number;
170
+ set pickingEnabled(arg: boolean);
171
+ get pickingEnabled(): boolean;
172
+ /**
173
+ * Returns true if a layer has imagery tiles.
174
+ * @public
175
+ * @virtual
176
+ * @returns {boolean} - Imagery tiles flag.
177
+ */
178
+ public hasImageryTiles(): boolean;
179
+ /**
180
+ * Gets layer identifier.
181
+ * @public
182
+ * @returns {string} - Layer object id.
183
+ */
184
+ public getID(): string;
185
+ /**
186
+ * Compares layers instances.
187
+ * @public
188
+ * @param {Layer} layer - Layer instance to compare.
189
+ * @returns {boolean} - Returns true if the layers is the same instance of the input.
190
+ */
191
+ public isEqual(layer: Layer): boolean;
192
+ /**
193
+ * Assign the planet.
194
+ * @protected
195
+ * @virtual
196
+ * @param {Planet} planet - Planet render node.
197
+ */
198
+ protected _assignPlanet(planet: Planet): void;
199
+ /**
200
+ * Assign picking color to the layer.
201
+ * @protected
202
+ * @virtual
203
+ */
204
+ protected _bindPicking(): void;
205
+ /**
206
+ * Adds layer to the planet.
207
+ * @public
208
+ * @param {Planet} planet - Adds layer to the planet.
209
+ */
210
+ public addTo(planet: Planet): Layer;
211
+ /**
212
+ * Removes from planet.
213
+ * @public
214
+ * @returns {Layer} -This layer.
215
+ */
216
+ public remove(): Layer;
217
+ /**
218
+ * Clears layer material.
219
+ * @virtual
220
+ */
221
+ clear(): void;
222
+ /**
223
+ * Returns planet instance.
224
+ * @virtual
225
+ */
226
+ get planet(): Planet;
227
+ /**
228
+ * Sets layer attribution text.
229
+ * @public
230
+ * @param {string} html - HTML code that represents layer attribution, it could be just a text.
231
+ */
232
+ public setAttribution(html: string): void;
233
+ /**
234
+ * Sets height over the ground.
235
+ * @public
236
+ * @param {number} height - Layer height.
237
+ */
238
+ public setHeight(height: number): void;
239
+ /**
240
+ * Gets layer height.
241
+ * @public
242
+ * @returns {number} -
243
+ */
244
+ public getHeight(): number;
245
+ /**
246
+ * Sets z-index.
247
+ * @public
248
+ * @param {number} zIndex - Layer z-index.
249
+ */
250
+ public setZIndex(zIndex: number): void;
251
+ /**
252
+ * Gets z-index.
253
+ * @public
254
+ * @returns {number} -
255
+ */
256
+ public getZIndex(): number;
257
+ /**
258
+ * Set zIndex to the maximal value depend on other layers on the planet.
259
+ * @public
260
+ */
261
+ public bringToFront(): void;
262
+ /**
263
+ * Returns true if the layer is a base.
264
+ * @public
265
+ * @returns {boolean} - Base layer flag.
266
+ */
267
+ public isBaseLayer(): boolean;
268
+ /**
269
+ * Sets base layer type true.
270
+ * @public
271
+ * @param {boolean} flag - Base layer flag.
272
+ */
273
+ public setBaseLayer(flag: boolean): void;
274
+ /**
275
+ * Sets layer visibility.
276
+ * @public
277
+ * @virtual
278
+ * @param {boolean} visibility - Layer visibility.
279
+ */
280
+ public setVisibility(visibility: boolean): void;
281
+ /**
282
+ * Gets layer visibility.
283
+ * @public
284
+ * @returns {boolean} - Layer visibility.
285
+ */
286
+ public getVisibility(): boolean;
287
+ /**
288
+ * Sets visible geographical extent.
289
+ * @public
290
+ * @param {Extent} extent - Layer visible geographical extent.
291
+ */
292
+ public setExtent(extent: Extent): void;
293
+ /**
294
+ * Gets layer extent.
295
+ * @public
296
+ * @return {Extent} - Layer geodetic extent.
297
+ */
298
+ public getExtent(): Extent;
299
+ /**
300
+ * Special correction of the whole globe extent.
301
+ * @protected
302
+ */
303
+ protected _correctFullExtent(): void;
304
+ _refreshFadingOpacity(): boolean;
305
+ createMaterial(segment: any): Material;
306
+ }
307
+ import { Extent } from "../Extent.js";
308
+ import { Vec3 } from "../math/Vec3.js";
309
+ import { Events } from "../Events.js";
310
+ 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";
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Used to display WMS services as tile layers on the globe.
3
+ * @class
4
+ * @extends {XYZ}
5
+ * //TODO: WMS version, format, and custom srs cpecification.
6
+ * @param {string} name - Layer name.
7
+ * @param {Object} options - Options:
8
+ * @param {number} [options.opacity=1.0] - Layer opacity.
9
+ * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
10
+ * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
11
+ * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
12
+ * @param {boolean} [options.isBaseLayer=false] - Base layer flag.
13
+ * @param {boolean} [options.visibility=true] - Layer visibility.
14
+ * @param {string} options.url - WMS url source.
15
+ * @param {number} [options.width=256] - Tile width.
16
+ * @param {number} [options.height=256] - Tile height.
17
+ * @param {string} options.layers - WMS layers string.
18
+ * @param {string} [options.version="1.1.1"] - WMS version.
19
+ * @example:
20
+ * new og.layer.WMS("USA States", {
21
+ * isBaseLayer: false,
22
+ * url: "http://openglobus.org/geoserver/",
23
+ * layers: "topp:states",
24
+ * opacity: 0.5,
25
+ * zIndex: 50,
26
+ * attribution: 'USA states - geoserver WMS example',
27
+ * version: "1.1.1",
28
+ * visibility: false }
29
+ * );
30
+ *
31
+ * @fires og.layer.XYZ#load
32
+ * @fires og.layer.XYZ#loadend
33
+ */
34
+ export class WMS extends XYZ {
35
+ static createRequestUrl(url: any, layers: any, format: string, version: string, request: string, srs: any, bbox: any, width?: number, height?: number): string;
36
+ static get_bbox_v1_1_1(extent: any): string;
37
+ static get_bbox_v1_3_0(extent: any): string;
38
+ constructor(name: any, options: any);
39
+ /**
40
+ * WMS layers string.
41
+ * @public
42
+ * @type {string}
43
+ */
44
+ public layers: string;
45
+ /**
46
+ * WMS tile width.
47
+ * @public
48
+ * @type {number}
49
+ */
50
+ public imageWidth: number;
51
+ /**
52
+ * WMS tile height.
53
+ * @public
54
+ * @type {number}
55
+ */
56
+ public imageHeight: number;
57
+ _getBbox: typeof WMS.get_bbox_v1_1_1;
58
+ setVersion(version: any): void;
59
+ _version: any;
60
+ }
61
+ import { XYZ } from "./XYZ.js";