@openglobus/og 0.12.1 → 0.13.0

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 (230) hide show
  1. package/README.md +0 -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 +8 -8
  8. package/src/og/Extent.js +3 -3
  9. package/src/og/Globe.js +277 -275
  10. package/src/og/ImageCanvas.js +3 -3
  11. package/src/og/LonLat.js +9 -9
  12. package/src/og/QueueArray.js +2 -2
  13. package/src/og/Rectangle.js +5 -5
  14. package/src/og/bv/Box.js +1 -1
  15. package/src/og/bv/Sphere.js +2 -2
  16. package/src/og/camera/Camera.js +1 -1
  17. package/src/og/camera/PlanetCamera.js +649 -646
  18. package/src/og/control/LayerSwitcher.js +1 -1
  19. package/src/og/control/MouseNavigation.js +22 -13
  20. package/src/og/control/MouseWheelZoomControl.js +2 -2
  21. package/src/og/control/ScaleControl.js +1 -1
  22. package/src/og/control/TouchNavigation.js +319 -319
  23. package/src/og/control/ZoomControl.js +132 -132
  24. package/src/og/control/visibleExtent/Segment.js +12 -12
  25. package/src/og/ellipsoid/Ellipsoid.js +577 -567
  26. package/src/og/entity/BillboardHandler.js +878 -1051
  27. package/src/og/entity/Entity.js +1 -1
  28. package/src/og/entity/EntityCollection.js +847 -857
  29. package/src/og/entity/GeoObjectHandler.js +37 -18
  30. package/src/og/entity/LabelHandler.js +888 -1040
  31. package/src/og/entity/LabelWorker.js +0 -6
  32. package/src/og/entity/PointCloud.js +495 -495
  33. package/src/og/entity/Polyline.js +2218 -2222
  34. package/src/og/entity/RayHandler.js +1 -1
  35. package/src/og/layer/CanvasTiles.js +6 -3
  36. package/src/og/layer/GeoImage.js +1 -1
  37. package/src/og/layer/KML.js +24 -17
  38. package/src/og/layer/Layer.js +806 -751
  39. package/src/og/layer/Vector.js +997 -1010
  40. package/src/og/layer/XYZ.js +359 -357
  41. package/src/og/math/Line2.js +4 -4
  42. package/src/og/math/Quat.js +2 -2
  43. package/src/og/math/Ray.js +2 -2
  44. package/src/og/math/Vec2.js +524 -524
  45. package/src/og/math/Vec3.js +900 -900
  46. package/src/og/math/Vec4.js +261 -261
  47. package/src/og/math.js +397 -398
  48. package/src/og/quadTree/EntityCollectionNode.js +389 -387
  49. package/src/og/renderer/Renderer.js +14 -20
  50. package/src/og/renderer/RendererEvents.js +1034 -1045
  51. package/src/og/scene/Planet.js +26 -23
  52. package/src/og/scene/RenderNode.js +347 -354
  53. package/src/og/segment/Segment.js +3 -1
  54. package/src/og/segment/SegmentLonLat.js +1 -4
  55. package/src/og/shaders/billboard.js +220 -204
  56. package/src/og/shaders/drawnode.js +603 -603
  57. package/src/og/shaders/geoObject.js +15 -6
  58. package/src/og/shaders/label.js +596 -456
  59. package/src/og/shaders/polyline.js +365 -361
  60. package/src/og/terrain/MapboxTerrain.js +1 -1
  61. package/src/og/utils/FontAtlas.js +209 -200
  62. package/src/og/utils/GeoImageCreator.js +4 -5
  63. package/src/og/utils/TextureAtlas.js +4 -4
  64. package/src/og/utils/VectorTileCreator.js +414 -414
  65. package/src/og/utils/shared.js +1 -1
  66. package/src/og/webgl/Handler.js +28 -60
  67. package/src/og/webgl/Multisample.js +260 -260
  68. package/src/og/webgl/Program.js +411 -396
  69. package/types/Clock.d.ts +94 -0
  70. package/types/Deferred.d.ts +6 -0
  71. package/types/Events.d.ts +77 -0
  72. package/types/Extent.d.ts +166 -0
  73. package/types/Globe.d.ts +85 -0
  74. package/types/ImageCanvas.d.ts +123 -0
  75. package/types/Lock.d.ts +12 -0
  76. package/types/LonLat.d.ts +108 -0
  77. package/types/Popup.d.ts +42 -0
  78. package/types/QueueArray.d.ts +19 -0
  79. package/types/Rectangle.d.ts +80 -0
  80. package/types/Stack.d.ts +19 -0
  81. package/types/ajax.d.ts +24 -0
  82. package/types/arial.d.ts +48 -0
  83. package/types/astro/astro.d.ts +38 -0
  84. package/types/astro/earth.d.ts +7 -0
  85. package/types/astro/jd.d.ts +254 -0
  86. package/types/bv/Box.d.ts +30 -0
  87. package/types/bv/Sphere.d.ts +38 -0
  88. package/types/bv/index.d.ts +3 -0
  89. package/types/camera/Camera.d.ts +312 -0
  90. package/types/camera/Frustum.d.ts +133 -0
  91. package/types/camera/PlanetCamera.d.ts +219 -0
  92. package/types/camera/index.d.ts +3 -0
  93. package/types/cons.d.ts +40 -0
  94. package/types/control/CompassButton.d.ts +17 -0
  95. package/types/control/Control.d.ts +104 -0
  96. package/types/control/DebugInfo.d.ts +15 -0
  97. package/types/control/EarthCoordinates.d.ts +47 -0
  98. package/types/control/EarthNavigation.d.ts +43 -0
  99. package/types/control/GeoImageDragControl.d.ts +6 -0
  100. package/types/control/KeyboardNavigation.d.ts +21 -0
  101. package/types/control/LayerSwitcher.d.ts +21 -0
  102. package/types/control/Lighting.d.ts +16 -0
  103. package/types/control/MouseNavigation.d.ts +48 -0
  104. package/types/control/MouseWheelZoomControl.d.ts +45 -0
  105. package/types/control/ScaleControl.d.ts +22 -0
  106. package/types/control/ShowFps.d.ts +11 -0
  107. package/types/control/SimpleNavigation.d.ts +25 -0
  108. package/types/control/Sun.d.ts +50 -0
  109. package/types/control/ToggleWireframe.d.ts +12 -0
  110. package/types/control/TouchNavigation.d.ts +48 -0
  111. package/types/control/ZoomControl.d.ts +27 -0
  112. package/types/control/index.d.ts +18 -0
  113. package/types/ellipsoid/Ellipsoid.d.ts +153 -0
  114. package/types/ellipsoid/index.d.ts +3 -0
  115. package/types/ellipsoid/wgs84.d.ts +6 -0
  116. package/types/entity/BaseBillboard.d.ts +215 -0
  117. package/types/entity/Billboard.d.ts +94 -0
  118. package/types/entity/BillboardHandler.d.ts +75 -0
  119. package/types/entity/Entity.d.ts +348 -0
  120. package/types/entity/EntityCollection.d.ts +309 -0
  121. package/types/entity/GeoObject.d.ts +111 -0
  122. package/types/entity/GeoObjectHandler.d.ts +81 -0
  123. package/types/entity/Geometry.d.ts +74 -0
  124. package/types/entity/GeometryHandler.d.ts +76 -0
  125. package/types/entity/Label.d.ts +189 -0
  126. package/types/entity/LabelHandler.d.ts +29 -0
  127. package/types/entity/LabelWorker.d.ts +11 -0
  128. package/types/entity/PointCloud.d.ts +174 -0
  129. package/types/entity/PointCloudHandler.d.ts +38 -0
  130. package/types/entity/Polyline.d.ts +306 -0
  131. package/types/entity/PolylineHandler.d.ts +18 -0
  132. package/types/entity/Ray.d.ts +124 -0
  133. package/types/entity/RayHandler.d.ts +67 -0
  134. package/types/entity/ShapeHandler.d.ts +22 -0
  135. package/types/entity/Strip.d.ts +119 -0
  136. package/types/entity/StripHandler.d.ts +38 -0
  137. package/types/entity/index.d.ts +8 -0
  138. package/types/index.core.d.ts +65 -0
  139. package/types/index.d.ts +45 -0
  140. package/types/index.webgl.d.ts +7 -0
  141. package/types/input/KeyboardHandler.d.ts +10 -0
  142. package/types/input/MouseHandler.d.ts +5 -0
  143. package/types/input/TouchHandler.d.ts +5 -0
  144. package/types/input/input.d.ts +34 -0
  145. package/types/layer/BaseGeoImage.d.ts +94 -0
  146. package/types/layer/CanvasTiles.d.ts +67 -0
  147. package/types/layer/GeoImage.d.ts +52 -0
  148. package/types/layer/GeoTexture2d.d.ts +8 -0
  149. package/types/layer/GeoVideo.d.ts +55 -0
  150. package/types/layer/KML.d.ts +68 -0
  151. package/types/layer/Layer.d.ts +315 -0
  152. package/types/layer/Material.d.ts +45 -0
  153. package/types/layer/Vector.d.ts +201 -0
  154. package/types/layer/WMS.d.ts +61 -0
  155. package/types/layer/XYZ.d.ts +119 -0
  156. package/types/layer/index.d.ts +10 -0
  157. package/types/light/LightSource.d.ts +178 -0
  158. package/types/math/Line2.d.ts +11 -0
  159. package/types/math/Line3.d.ts +10 -0
  160. package/types/math/Mat3.d.ts +65 -0
  161. package/types/math/Mat4.d.ts +176 -0
  162. package/types/math/Plane.d.ts +18 -0
  163. package/types/math/Quat.d.ts +379 -0
  164. package/types/math/Ray.d.ts +82 -0
  165. package/types/math/Vec2.d.ts +309 -0
  166. package/types/math/Vec3.d.ts +467 -0
  167. package/types/math/Vec4.d.ts +162 -0
  168. package/types/math/coder.d.ts +43 -0
  169. package/types/math/index.d.ts +11 -0
  170. package/types/math.d.ts +261 -0
  171. package/types/mercator.d.ts +92 -0
  172. package/types/proj/EPSG3857.d.ts +6 -0
  173. package/types/proj/EPSG4326.d.ts +6 -0
  174. package/types/proj/Proj.d.ts +42 -0
  175. package/types/quadTree/EntityCollectionNode.d.ts +34 -0
  176. package/types/quadTree/Node.d.ts +60 -0
  177. package/types/quadTree/quadTree.d.ts +40 -0
  178. package/types/renderer/Renderer.d.ts +290 -0
  179. package/types/renderer/RendererEvents.d.ts +237 -0
  180. package/types/res/images.d.ts +3 -0
  181. package/types/scene/Axes.d.ts +11 -0
  182. package/types/scene/BaseNode.d.ts +60 -0
  183. package/types/scene/Planet.d.ts +576 -0
  184. package/types/scene/RenderNode.d.ts +142 -0
  185. package/types/scene/SkyBox.d.ts +10 -0
  186. package/types/scene/index.d.ts +4 -0
  187. package/types/segment/Segment.d.ts +275 -0
  188. package/types/segment/SegmentLonLat.d.ts +17 -0
  189. package/types/segment/Slice.d.ts +10 -0
  190. package/types/segment/segmentHelper.d.ts +13 -0
  191. package/types/shaders/billboard.d.ts +3 -0
  192. package/types/shaders/depth.d.ts +2 -0
  193. package/types/shaders/drawnode.d.ts +7 -0
  194. package/types/shaders/geoObject.d.ts +3 -0
  195. package/types/shaders/label.d.ts +4 -0
  196. package/types/shaders/pointCloud.d.ts +2 -0
  197. package/types/shaders/polyline.d.ts +3 -0
  198. package/types/shaders/ray.d.ts +2 -0
  199. package/types/shaders/screenFrame.d.ts +2 -0
  200. package/types/shaders/shape.d.ts +4 -0
  201. package/types/shaders/skybox.d.ts +2 -0
  202. package/types/shaders/toneMapping.d.ts +2 -0
  203. package/types/shapes/BaseShape.d.ts +250 -0
  204. package/types/shapes/Sphere.d.ts +41 -0
  205. package/types/terrain/BilTerrain.d.ts +7 -0
  206. package/types/terrain/EmptyTerrain.d.ts +73 -0
  207. package/types/terrain/Geoid.d.ts +26 -0
  208. package/types/terrain/GlobusTerrain.d.ts +116 -0
  209. package/types/terrain/MapboxTerrain.d.ts +7 -0
  210. package/types/terrain/index.d.ts +5 -0
  211. package/types/utils/FontAtlas.d.ts +16 -0
  212. package/types/utils/GeoImageCreator.d.ts +30 -0
  213. package/types/utils/ImagesCacheManager.d.ts +10 -0
  214. package/types/utils/Loader.d.ts +25 -0
  215. package/types/utils/NormalMapCreator.d.ts +39 -0
  216. package/types/utils/PlainSegmentWorker.d.ts +10 -0
  217. package/types/utils/TerrainWorker.d.ts +9 -0
  218. package/types/utils/TextureAtlas.d.ts +111 -0
  219. package/types/utils/VectorTileCreator.d.ts +16 -0
  220. package/types/utils/colorTable.d.ts +143 -0
  221. package/types/utils/earcut.d.ts +6 -0
  222. package/types/utils/shared.d.ts +231 -0
  223. package/types/webgl/Framebuffer.d.ts +135 -0
  224. package/types/webgl/Handler.d.ts +392 -0
  225. package/types/webgl/Multisample.d.ts +89 -0
  226. package/types/webgl/Program.d.ts +163 -0
  227. package/types/webgl/ProgramController.d.ts +89 -0
  228. package/types/webgl/callbacks.d.ts +1 -0
  229. package/types/webgl/index.d.ts +6 -0
  230. package/types/webgl/types.d.ts +2 -0
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Class represents application timer that stores custom current julian datetime, and time speed multiplier.
3
+ * @class
4
+ * @param {Object} [params] - Clock parameters:
5
+ * @param {number} [params.startDate=0.0] - Julian start date.
6
+ * @param {number} [params.endDate=0.0] - Julian end date.
7
+ * @param {number} [params.currentDate] - Julian current date. Default: current date.
8
+ * @param {number} [params.multiplier=1.0] - Time speed multiolier.
9
+ */
10
+ export class Clock {
11
+ static set _staticCounter(arg: any);
12
+ static get _staticCounter(): any;
13
+ /**
14
+ *
15
+ * @param {Object} [params] - Clock parameters:
16
+ */
17
+ constructor(params?: any);
18
+ _id: number;
19
+ /**
20
+ * Clock name.
21
+ * @public
22
+ * @type {string}
23
+ */
24
+ public name: string;
25
+ /**
26
+ * Clock events.
27
+ * @public
28
+ * @type {Events}
29
+ */
30
+ public events: Events;
31
+ /**
32
+ * Start julian date clock loop.
33
+ * @public
34
+ * @type {number}
35
+ */
36
+ public startDate: number;
37
+ /**
38
+ * End julian date clock loop.
39
+ * @public
40
+ * @type {number}
41
+ */
42
+ public endDate: number;
43
+ /**
44
+ * Current julian datetime.
45
+ * @public
46
+ * @type {number}
47
+ */
48
+ public currentDate: number;
49
+ /**
50
+ * Timer speed multiplier.
51
+ * @public
52
+ * @type {number}
53
+ */
54
+ public multiplier: number;
55
+ /**
56
+ * Animation frame delta time.
57
+ * @public
58
+ * @readonly
59
+ * @type {number}
60
+ */
61
+ public readonly deltaTicks: number;
62
+ /**
63
+ * Timer activity.
64
+ * @public
65
+ * @type {boolean}
66
+ */
67
+ public active: boolean;
68
+ _intervalDelay: number;
69
+ _intervalStart: number;
70
+ _intervalCallback: any;
71
+ clearInterval(): void;
72
+ setInterval(delay: any, callback: any): void;
73
+ /**
74
+ * Sets current clock datetime.
75
+ * @public
76
+ * @param {Object} date - JavaScript Date object.
77
+ */
78
+ public setDate(date: any): void;
79
+ /**
80
+ * Returns current application date.
81
+ * @public
82
+ * @returns {Date} - Current date.
83
+ */
84
+ public getDate(): Date;
85
+ reset(): void;
86
+ _tick(dt: any): void;
87
+ /**
88
+ * @public
89
+ * @param {Clock} clock - Clock instance to compare.
90
+ * @returns {boolean} - Returns true if a clock is the same instance.
91
+ */
92
+ public equal(clock: Clock): boolean;
93
+ }
94
+ import { Events } from "./Events.js";
@@ -0,0 +1,6 @@
1
+ export function Deferred(): void;
2
+ export class Deferred {
3
+ resolve: any;
4
+ reject: any;
5
+ promise: Promise<any>;
6
+ }
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Base events class to handle custom events.
3
+ * @class
4
+ */
5
+ export class Events {
6
+ static set _staticCounter(arg: any);
7
+ static get _staticCounter(): any;
8
+ /**
9
+ *
10
+ * @param {Array.<string>} [eventNames] - Event names that could be dispatched.
11
+ * @param {*} [sender]
12
+ */
13
+ constructor(eventNames?: Array<string>, sender?: any);
14
+ /**
15
+ * Registered event names.
16
+ * @protected
17
+ * @type {Array.<string>}
18
+ */
19
+ protected _eventNames: Array<string>;
20
+ _sender: any;
21
+ /**
22
+ * Stop propagation flag
23
+ * @protected
24
+ * @type {boolean}
25
+ */
26
+ protected _stopPropagation: boolean;
27
+ _stampCache: {};
28
+ __id: number;
29
+ bindSender(sender: any): void;
30
+ /**
31
+ * Function that creates event object properties that would be dispatched.
32
+ * @public
33
+ * @param {Array.<string>} eventNames - Specified event names list.
34
+ */
35
+ public registerNames(eventNames: Array<string>): void;
36
+ _getStamp(name: any, id: any, ogid: any): string;
37
+ /**
38
+ * Returns true if event callback has stamped.
39
+ * @protected
40
+ * @param {Object} name - Event identifier.
41
+ * @param {Object} obj - Event callback.
42
+ * @return {boolean} -
43
+ */
44
+ protected _stamp(name: any, obj: any): boolean;
45
+ /**
46
+ * Attach listener.
47
+ * @public
48
+ * @param {string} name - Event name to listen.
49
+ * @param {eventCallback} callback - Event callback function.
50
+ * @param {Object} sender - Event callback function owner.
51
+ */
52
+ public on(name: string, callback: eventCallback, sender: any, priority?: number): void;
53
+ /**
54
+ * Stop listening event name with specified callback function.
55
+ * @public
56
+ * @param {string} name - Event name.
57
+ * @param {eventCallback} callback - Attached event callback.
58
+ */
59
+ public off(name: string, callback: eventCallback): void;
60
+ /**
61
+ * Dispatch event.
62
+ * @public
63
+ * @param {Object} event - Event instance property that created by event name.
64
+ * @param {Object} [obj] - Event object.
65
+ */
66
+ public dispatch(event: any, ...args: any[]): boolean;
67
+ /**
68
+ * Brakes events propagation.
69
+ * @public
70
+ */
71
+ public stopPropagation(): void;
72
+ /**
73
+ * Removes all events.
74
+ * @public
75
+ */
76
+ public clear(): void;
77
+ }
@@ -0,0 +1,166 @@
1
+ /**
2
+ * Represents geographical coordinates extent.
3
+ * @class
4
+ * @param {LonLat} [sw] - South West extent corner coordiantes.
5
+ * @param {LonLat} [ne] - North East extent corner coordiantes.
6
+ */
7
+ export class Extent {
8
+ /**
9
+ * Whole mercator extent.
10
+ * @const
11
+ */
12
+ static get FULL_MERC(): Extent;
13
+ /**
14
+ * Degrees extent from north mercator limit to north pole.
15
+ * @const
16
+ */
17
+ static get NORTH_POLE_DEG(): Extent;
18
+ /**
19
+ * Degrees extent from south pole to south mercator limit.
20
+ * @const
21
+ */
22
+ static get SOUTH_POLE_DEG(): Extent;
23
+ /**
24
+ * Creates extent instance from values in array.
25
+ * @static
26
+ * @param {Array.<number>} arr - South west and north east longitude and latidudes packed in array. (exactly 4 entries)
27
+ * @return {Extent} Extent object.
28
+ */
29
+ static createFromArray(arr: Array<number>): Extent;
30
+ /**
31
+ * Creates bound extent instance by coordinate array.
32
+ * @static
33
+ * @param {Array.<LonLat>} arr - Coordinate array.
34
+ * @return {Extent} Extent object.
35
+ */
36
+ static createByCoordinates(arr: Array<LonLat>): Extent;
37
+ /**
38
+ * Creates bound extent instance by coordinate array.
39
+ * @static
40
+ * @param {Array.<Array<number>>} arr - Coordinate array. (exactly 2 entries)
41
+ * @return {Extent} Extent object.
42
+ */
43
+ static createByCoordinatesArr(arr: Array<Array<number>>): Extent;
44
+ /**
45
+ * Creates extent by meractor grid tile coordinates.
46
+ * @static
47
+ * @param {number} x -
48
+ * @param {number} y -
49
+ * @param {number} z -
50
+ * @param {number} width -
51
+ * @param {number} height -
52
+ * @returns {Extent} -
53
+ */
54
+ static fromTile(x: number, y: number, z: number, width: number, height: number): Extent;
55
+ /**
56
+ * @param {LonLat} [sw] - South West extent corner coordiantes.
57
+ * @param {LonLat} [ne] - North East extent corner coordiantes.
58
+ */
59
+ constructor(sw?: LonLat, ne?: LonLat);
60
+ /**
61
+ * @public
62
+ */
63
+ public southWest: LonLat;
64
+ /**
65
+ * @public
66
+ */
67
+ public northEast: LonLat;
68
+ /**
69
+ * Sets current bounding extent object by coordinate array.
70
+ * @public
71
+ * @param {Array.<LonLat>} arr - Coordinate array.
72
+ * @return {Extent} Current extent.
73
+ */
74
+ public setByCoordinates(arr: Array<LonLat>): Extent;
75
+ /**
76
+ * Determines if point inside extent.
77
+ * @public
78
+ * @param {LonLat} lonlat - Coordinate point.
79
+ * @return {boolean} Returns true if point inside extent.
80
+ */
81
+ public isInside(lonlat: LonLat): boolean;
82
+ /**
83
+ * Returns true if two extent overlap each other.
84
+ * @public
85
+ * @param {Extent} e - Another extent.
86
+ * @return {boolean} -
87
+ */
88
+ public overlaps(e: Extent): boolean;
89
+ /**
90
+ * Gets extent width.
91
+ * @public
92
+ * @return {number} Extent width.
93
+ */
94
+ public getWidth(): number;
95
+ /**
96
+ * Gets extent height.
97
+ * @public
98
+ * @return {number} Extent height.
99
+ */
100
+ public getHeight(): number;
101
+ /**
102
+ * Creates clone instance of the current extent.
103
+ * @public
104
+ * @return {Extent} Extent clone.
105
+ */
106
+ public clone(): Extent;
107
+ /**
108
+ * Gets the center coordinate of the extent.
109
+ * @public
110
+ * @return {number} Center coordinate.
111
+ */
112
+ public getCenter(): number;
113
+ /**
114
+ * @public
115
+ */
116
+ public getNorthWest(): LonLat;
117
+ /**
118
+ * @public
119
+ */
120
+ public getNorthEast(): LonLat;
121
+ getSouthWest(): LonLat;
122
+ /**
123
+ * @public
124
+ */
125
+ public getSouthEast(): LonLat;
126
+ /**
127
+ * @public
128
+ */
129
+ public getNorth(): number;
130
+ getEast(): number;
131
+ /**
132
+ * @public
133
+ */
134
+ public getWest(): number;
135
+ /**
136
+ * @public
137
+ */
138
+ public getSouth(): number;
139
+ /**
140
+ * Returns extents are equals.
141
+ * @param {Extent} extent - Extent.
142
+ * @returns {boolean} -
143
+ */
144
+ equals(extent: Extent): boolean;
145
+ /**
146
+ * Converts extent coordinates to mercator projection coordinates.
147
+ * @public
148
+ * @return {Extent} New instance of the current extent.
149
+ */
150
+ public forwardMercator(): Extent;
151
+ /**
152
+ * Converts extent coordinates from mercator projection to degrees.
153
+ * @public
154
+ * @return {Extent} New instance of the current extent.
155
+ */
156
+ public inverseMercator(): Extent;
157
+ /**
158
+ * Gets cartesian bounding bounds of the current ellipsoid.
159
+ * @public
160
+ * @param {Ellipsoid} ellipsoid - Ellipsoid.
161
+ * @return {Array.<number>} Cartesian 3d coordinate array. (exactly 6 entries)
162
+ */
163
+ public getCartesianBounds(ellipsoid: Ellipsoid): Array<number>;
164
+ toString(): string;
165
+ }
166
+ import { LonLat } from "./LonLat.js";
@@ -0,0 +1,85 @@
1
+ /**
2
+ * Creates a WebGL context with globe.
3
+ * @class
4
+ *
5
+ * @example <caption>Basic initialization</caption>
6
+ * globus = new og.Globe({
7
+ * 'atmosphere': false,
8
+ * 'target': 'globus',
9
+ * 'name': 'Earth',
10
+ * 'controls': [
11
+ * new og.control.MouseNavigation({ autoActivate: true }),
12
+ * new og.control.KeyboardNavigation({ autoActivate: true }),
13
+ * new og.control.EarthCoordinates({ autoActivate: true, center: false }),
14
+ * new og.control.LayerSwitcher({ autoActivate: true }),
15
+ * new og.control.ZoomControl({ autoActivate: true }),
16
+ * new og.control.TouchNavigation({ autoActivate: true }),
17
+ * new og.control.Sun({ autoActivate: true })
18
+ * ],
19
+ * 'terrain': new og.terrain.GlobusTerrain(),
20
+ * 'layers': [
21
+ * new og.layer.XYZ("OpenStreetMap", { isBaseLayer: true, url: "http://b.tile.openstreetmap.org/{z}/{x}/{y}.png", visibility: true, attribution: 'Data @ <a href="http://www.openstreetmap.org/">OpenStreetMap</a> contributors, <a href="http://www.openstreetmap.org/copyright">ODbL</a>' })
22
+ * ],
23
+ * 'autoActivate': true
24
+ * });
25
+ *
26
+ * @param {object} options - Options:
27
+ * @param {string} options.target - HTML element id where planet canvas have to be created.
28
+ * @param {RenderNode} [options.skybox] - Render skybox. null - default.
29
+ * @param {string} [options.name] - Planet name. Default is unic identifier.
30
+ * @param {Terrain} [options.terrain] - Terrain provider. Default no terrain - og.terrain.EmptyTerrain.
31
+ * @param {Array.<control.Control>} [options.controls] - Renderer controls array.
32
+ * @param {Array.<Layer>} [options.layers] - Planet layers.
33
+ * @param {Extent} [options.viewExtent] - Viewable starting extent.
34
+ * @param {boolean} [options.autoActivate] - Globe rendering auto activation flag. True is default.
35
+ * @param {DOMElement} [options.attributionContainer] - Container for attribution list.
36
+ * @param {Number} [options.maxGridSize] = Maximal segment grid size. 128 is default
37
+ * @param {boolean} [options.useSpecularTexture] - use specular water mask
38
+ * @param {boolean} [options.useNightTexture] - show night cities
39
+ * @param {Number} [options.maxAltitude=15000000.0] - Maximal camera altitude above terrain
40
+ * @param {Number} [options.minAltitude=1.0] - Minimal camera altitude above terrain
41
+ * @param {Number} [options.maxEqualZoomAltitude=15000000.0] - Maximal altitude since segments on the screen bacame the same zoom level
42
+ * @param {Number} [options.minEqualZoomAltitude=10000.0] - Minimal altitude since segments on the screen bacame the same zoom level
43
+ * @param {Number} [options.minEqualZoomCameraSlope=0.8] - Minimal camera slope above te globe where segments on the screen bacame the same zoom level
44
+ * @param {Number} [options.loadingBatchSize=12] -
45
+ */
46
+ export class Globe {
47
+ static set _staticCounter(arg: any);
48
+ static get _staticCounter(): any;
49
+ /**
50
+ * @param {*} options
51
+ */
52
+ constructor(options: any);
53
+ _canvas: HTMLCanvasElement;
54
+ div: any;
55
+ /**
56
+ * Interface for the renderer context(events, input states, renderer nodes etc.)
57
+ * @public
58
+ * @type {Renderer}
59
+ */
60
+ public renderer: Renderer;
61
+ /**
62
+ * Planet node name. Access with this.renderer.<name>
63
+ * @private
64
+ * @type {String}
65
+ */
66
+ private _planetName;
67
+ planet: Planet;
68
+ sun: any;
69
+ _opacityCounter: number;
70
+ _fadeHandler: any;
71
+ _stopHandler: any;
72
+ /**
73
+ * Starts screen brightness fading in effect by the duration time.
74
+ * @public
75
+ */
76
+ public fadeIn(): void;
77
+ /**
78
+ * Starts screen brightness fading out effect by the duration time.
79
+ * @public
80
+ * @param {number} duration - Fadeout duration time.
81
+ */
82
+ public fadeOut(): void;
83
+ }
84
+ import { Renderer } from "./renderer/Renderer.js";
85
+ import { Planet } from "./scene/Planet.js";
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Usefull class for working with JS canvas object.
3
+ * @class
4
+ */
5
+ export class ImageCanvas {
6
+ /**
7
+ * @param {number} [width] - Canvas width. Default 256.
8
+ * @param {number} [height] - Canvas height. Default 256.
9
+ */
10
+ constructor(width?: number, height?: number);
11
+ /**
12
+ * Canvas object.
13
+ * @protected
14
+ * @type {Object}
15
+ */
16
+ protected _canvas: any;
17
+ /**
18
+ * Canvas context.
19
+ * @protected
20
+ * @type {Object}
21
+ */
22
+ protected _context: any;
23
+ /**
24
+ * Returns canvas object.
25
+ * @public
26
+ * @returns {Object}
27
+ */
28
+ public getCanvas(): any;
29
+ /**
30
+ * Returns canvas context pointer.
31
+ * @public
32
+ * @returns {Object}
33
+ */
34
+ public getContext(): any;
35
+ /**
36
+ * Fills canvas RGBA with zeroes.
37
+ * @public
38
+ */
39
+ public fillEmpty(): void;
40
+ /**
41
+ * Gets canvas pixels RGBA data.
42
+ * @public
43
+ * @returns {Array.<number>}
44
+ */
45
+ public getData(): Array<number>;
46
+ /**
47
+ * Fill the canvas by color.
48
+ * @public
49
+ * @param {string} color - CSS string color.
50
+ */
51
+ public fillColor(color: string): void;
52
+ /**
53
+ * Sets RGBA pixel data.
54
+ * @public
55
+ * @param {Array.<number>} data - Array RGBA data.
56
+ */
57
+ public setData(data: Array<number>): void;
58
+ /**
59
+ * Resize canvas.
60
+ * @public
61
+ * @param {number} width - Width.
62
+ * @param {number} height - Height.
63
+ */
64
+ public resize(width: number, height: number): void;
65
+ /**
66
+ * Draw an image on the canvas.
67
+ * @public
68
+ * @param {Image} img - Draw image.
69
+ * @param {number} [x] - Left top image corner X coordinate on the canvas.
70
+ * @param {number} [y] - Left top image corner Y coordinate on the canvas.
71
+ * @param {number} [width] - Image width slice. Image width is default.
72
+ * @param {number} [height] - Image height slice. Image height is default.
73
+ */
74
+ public drawImage(img: new (width?: number, height?: number) => HTMLImageElement, x?: number, y?: number, width?: number, height?: number): void;
75
+ /**
76
+ * Converts canvas to JS image object.
77
+ * @public
78
+ * @returns {Image}
79
+ */
80
+ public getImage(): new (width?: number, height?: number) => HTMLImageElement;
81
+ /**
82
+ * Get measured text width.
83
+ * @public
84
+ * @param {string} text - Measured text.
85
+ * @returns {number}
86
+ */
87
+ public getTextWidth(text: string): number;
88
+ /**
89
+ * Draw a text on the canvas.
90
+ * @public
91
+ * @param {string} text - Text.
92
+ * @param {number} [x] - Canvas X - coordinate. 0 - default.
93
+ * @param {number} [y] - Canvas Y - coordinate. 0 - default.
94
+ * @param {string} [font] - Font style. 'normal 14px Verdana' - is default.
95
+ * @param {string} [color] - Css font color.
96
+ */
97
+ public drawText(text: string, x?: number, y?: number, font?: string, color?: string): void;
98
+ /**
99
+ * Gets canvas width.
100
+ * @public
101
+ * @returns {number}
102
+ */
103
+ public getWidth(): number;
104
+ /**
105
+ * Gets canvas height.
106
+ * @public
107
+ * @returns {number}
108
+ */
109
+ public getHeight(): number;
110
+ /**
111
+ * Load image to canvas.
112
+ * @public
113
+ * @param {string} url - Image url.
114
+ * @pararm {imageCallback} [callback] - Image onload callback.
115
+ */
116
+ public load(url: string, callback: any): void;
117
+ /**
118
+ * Open canvas image in the new window.
119
+ * @public
120
+ */
121
+ public openImage(): void;
122
+ destroy(): void;
123
+ }
@@ -0,0 +1,12 @@
1
+ export class Lock {
2
+ _lock: number;
3
+ lock(key: any): void;
4
+ free(key: any): void;
5
+ isFree(): boolean;
6
+ isLocked(): boolean;
7
+ }
8
+ export class Key {
9
+ static set _staticCounter(arg: any);
10
+ static get _staticCounter(): any;
11
+ _id: number;
12
+ }
@@ -0,0 +1,108 @@
1
+ /**
2
+ * Represents a geographical point with a certain latitude, longitude and height.
3
+ * @class
4
+ * @param {number} [lon] - Longitude.
5
+ * @param {number} [lat] - Latitude.
6
+ * @param {number} [height] - Height over the surface.
7
+ */
8
+ export class LonLat {
9
+ /**
10
+ * Creates coordinates array.
11
+ * @static
12
+ * @param{Array.<Array<number>>} arr - Coordinates array data. (exactly 3 entries)
13
+ * @return{Array.<LonLat>} the same coordinates array but each element is LonLat instance.
14
+ */
15
+ static join(arr: Array<Array<number>>): Array<LonLat>;
16
+ /**
17
+ * Creates an object by coordinate array.
18
+ * @static
19
+ * @param {Array.<number>} arr - Coordiante array, where first is longitude, second is latitude and third is a height. (exactly 3 entries)
20
+ * @returns {LonLat} -
21
+ */
22
+ static createFromArray(arr: Array<number>): LonLat;
23
+ /**
24
+ * Converts degrees to mercator coordinates.
25
+ * @static
26
+ * @param {number} lon - Degrees longitude.
27
+ * @param {number} lat - Degrees latitude.
28
+ * @param {number} [height] - Height.
29
+ * @returns {LonLat} -
30
+ */
31
+ static forwardMercator(lon: number, lat: number, height?: number): LonLat;
32
+ /**
33
+ * Converts mercator to degrees coordinates.
34
+ * @static
35
+ * @param {number} x - Mercator longitude.
36
+ * @param {number} y - Mercator latitude.
37
+ * @param {number} [height] - Height.
38
+ * @returns {LonLat} -
39
+ */
40
+ static inverseMercator(x: number, y: number, height?: number): LonLat;
41
+ /**
42
+ * @param {number} [lon] - Longitude.
43
+ * @param {number} [lat] - Latitude.
44
+ * @param {number} [height] - Height over the surface.
45
+ */
46
+ constructor(lon?: number, lat?: number, height?: number);
47
+ /**
48
+ * Longitude.
49
+ * @public
50
+ * @type {number}
51
+ */
52
+ public lon: number;
53
+ /**
54
+ * Latitude.
55
+ * @public
56
+ * @type {number}
57
+ */
58
+ public lat: number;
59
+ /**
60
+ * Height.
61
+ * @public
62
+ * @type {number}
63
+ */
64
+ public height: number;
65
+ isZero(): boolean;
66
+ /**
67
+ * Sets coordinates.
68
+ * @public
69
+ * @param {number} [lon] - Longitude.
70
+ * @param {number} [lat] - Latitude.
71
+ * @param {number} [height] - Height.
72
+ * @returns {LonLat} -
73
+ */
74
+ public set(lon?: number, lat?: number, height?: number): LonLat;
75
+ /**
76
+ * Copy coordinates.
77
+ * @public
78
+ * @param {LonLat} [lonLat] - Coordinates to copy.
79
+ * @returns {LonLat} -
80
+ */
81
+ public copy(lonLat?: LonLat): LonLat;
82
+ /**
83
+ * Clone the coordiante.
84
+ * @public
85
+ * @returns {LonLat} -
86
+ */
87
+ public clone(): LonLat;
88
+ /**
89
+ * Converts to mercator coordinates.
90
+ * @public
91
+ * @returns {LonLat} -
92
+ */
93
+ public forwardMercator(): LonLat;
94
+ forwardMercatorEPS01(): LonLat;
95
+ /**
96
+ * Converts from mercator coordinates.
97
+ * @public
98
+ * @returns {LonLat} -
99
+ */
100
+ public inverseMercator(): LonLat;
101
+ /**
102
+ * Compares coordinates.
103
+ * @public
104
+ * @param {LonLat} b - Coordinate to compare with.
105
+ * @returns {boolean} -
106
+ */
107
+ public equal(b: LonLat): boolean;
108
+ }