@openglobus/og 0.19.3 → 0.20.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 (312) hide show
  1. package/README.md +3 -3
  2. package/css/og.css +18 -4
  3. package/lib/@openglobus/js/Clock.d.ts +106 -0
  4. package/lib/@openglobus/js/Deferred.d.ts +6 -0
  5. package/lib/@openglobus/js/Events.d.ts +90 -0
  6. package/lib/@openglobus/js/Extent.d.ts +145 -0
  7. package/lib/@openglobus/js/Globe.d.ts +134 -0
  8. package/lib/@openglobus/js/ImageCanvas.d.ts +128 -0
  9. package/lib/@openglobus/js/Lock.d.ts +15 -0
  10. package/lib/@openglobus/js/LonLat.d.ts +128 -0
  11. package/lib/@openglobus/js/Object3d.d.ts +64 -0
  12. package/lib/@openglobus/js/Popup.d.ts +46 -0
  13. package/lib/@openglobus/js/QueueArray.d.ts +16 -0
  14. package/lib/@openglobus/js/Rectangle.d.ts +76 -0
  15. package/lib/@openglobus/js/Stack.d.ts +20 -0
  16. package/lib/@openglobus/js/astro/astro.d.ts +39 -0
  17. package/lib/@openglobus/js/astro/earth.d.ts +8 -0
  18. package/lib/@openglobus/js/astro/jd.d.ts +234 -0
  19. package/lib/@openglobus/js/astro/orbit.d.ts +5 -0
  20. package/lib/@openglobus/js/astro/rotation.d.ts +2 -0
  21. package/lib/@openglobus/js/bv/Box.d.ts +32 -0
  22. package/lib/@openglobus/js/bv/Sphere.d.ts +37 -0
  23. package/lib/@openglobus/js/bv/index.d.ts +3 -0
  24. package/lib/@openglobus/js/camera/Camera.d.ts +314 -0
  25. package/lib/@openglobus/js/camera/Frustum.d.ts +139 -0
  26. package/lib/@openglobus/js/camera/PlanetCamera.d.ts +234 -0
  27. package/lib/@openglobus/js/camera/index.d.ts +3 -0
  28. package/lib/@openglobus/js/cons.d.ts +40 -0
  29. package/lib/@openglobus/js/control/Atmosphere.d.ts +16 -0
  30. package/lib/@openglobus/js/control/CompassButton.d.ts +16 -0
  31. package/lib/@openglobus/js/control/Control.d.ts +100 -0
  32. package/lib/@openglobus/js/control/DebugInfo.d.ts +25 -0
  33. package/lib/@openglobus/js/control/DrawingSwitcher.d.ts +13 -0
  34. package/lib/@openglobus/js/control/EarthCoordinates.d.ts +41 -0
  35. package/lib/@openglobus/js/control/EarthNavigation.d.ts +50 -0
  36. package/lib/@openglobus/js/control/GeoImageDragControl.d.ts +22 -0
  37. package/lib/@openglobus/js/control/KeyboardNavigation.d.ts +28 -0
  38. package/lib/@openglobus/js/control/LayerAnimation.d.ts +71 -0
  39. package/lib/@openglobus/js/control/LayerSwitcher.d.ts +36 -0
  40. package/lib/@openglobus/js/control/Lighting.d.ts +53 -0
  41. package/lib/@openglobus/js/control/MouseNavigation.d.ts +64 -0
  42. package/lib/@openglobus/js/control/MouseWheelZoomControl.d.ts +44 -0
  43. package/lib/@openglobus/js/control/RulerSwitcher.d.ts +17 -0
  44. package/lib/@openglobus/js/control/ScaleControl.d.ts +24 -0
  45. package/lib/@openglobus/js/control/SegmentBoundVisualization.d.ts +12 -0
  46. package/lib/@openglobus/js/control/ShowFps.d.ts +9 -0
  47. package/lib/@openglobus/js/control/SimpleNavigation.d.ts +25 -0
  48. package/lib/@openglobus/js/control/SimpleSkyBackground.d.ts +17 -0
  49. package/lib/@openglobus/js/control/Sun.d.ts +33 -0
  50. package/lib/@openglobus/js/control/ToggleWireframe.d.ts +14 -0
  51. package/lib/@openglobus/js/control/TouchNavigation.d.ts +52 -0
  52. package/lib/@openglobus/js/control/ZoomControl.d.ts +27 -0
  53. package/lib/@openglobus/js/control/drawing/DrawingControl.d.ts +12 -0
  54. package/lib/@openglobus/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  55. package/lib/@openglobus/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  56. package/lib/@openglobus/js/control/elevationProfile/ElevationProfile.d.ts +77 -0
  57. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileButtonsView.d.ts +14 -0
  58. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileControl.d.ts +33 -0
  59. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileLegend.d.ts +20 -0
  60. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileScene.d.ts +80 -0
  61. package/lib/@openglobus/js/control/elevationProfile/ElevationProfileView.d.ts +63 -0
  62. package/lib/@openglobus/js/control/elevationProfile/PointListDialog.d.ts +12 -0
  63. package/lib/@openglobus/js/control/heightRuler/HeightRuler.d.ts +7 -0
  64. package/lib/@openglobus/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  65. package/lib/@openglobus/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  66. package/lib/@openglobus/js/control/index.d.ts +29 -0
  67. package/lib/@openglobus/js/control/ruler/Ruler.d.ts +13 -0
  68. package/lib/@openglobus/js/control/ruler/RulerScene.d.ts +88 -0
  69. package/lib/@openglobus/js/control/selection/Selection.d.ts +55 -0
  70. package/lib/@openglobus/js/control/selection/SelectionScene.d.ts +44 -0
  71. package/lib/@openglobus/js/control/timeline/TimelineControl.d.ts +18 -0
  72. package/lib/@openglobus/js/control/timeline/TimelineModel.d.ts +41 -0
  73. package/lib/@openglobus/js/control/timeline/TimelineView.d.ts +85 -0
  74. package/lib/@openglobus/js/control/timeline/timelineUtils.d.ts +12 -0
  75. package/lib/@openglobus/js/control/visibleExtent/drawnode.d.ts +7 -0
  76. package/lib/@openglobus/js/ellipsoid/Ellipsoid.d.ts +193 -0
  77. package/lib/@openglobus/js/ellipsoid/index.d.ts +3 -0
  78. package/lib/@openglobus/js/ellipsoid/wgs84.d.ts +6 -0
  79. package/lib/@openglobus/js/entity/BaseBillboard.d.ts +222 -0
  80. package/lib/@openglobus/js/entity/BaseBillboardHandler.d.ts +81 -0
  81. package/lib/@openglobus/js/entity/Billboard.d.ts +113 -0
  82. package/lib/@openglobus/js/entity/BillboardHandler.d.ts +15 -0
  83. package/lib/@openglobus/js/entity/Entity.d.ts +354 -0
  84. package/lib/@openglobus/js/entity/EntityCollection.d.ts +363 -0
  85. package/lib/@openglobus/js/entity/GeoObject.d.ts +152 -0
  86. package/lib/@openglobus/js/entity/GeoObjectHandler.d.ts +104 -0
  87. package/lib/@openglobus/js/entity/Geometry.d.ts +124 -0
  88. package/lib/@openglobus/js/entity/GeometryHandler.d.ts +84 -0
  89. package/lib/@openglobus/js/entity/Label.d.ts +214 -0
  90. package/lib/@openglobus/js/entity/LabelHandler.d.ts +65 -0
  91. package/lib/@openglobus/js/entity/LabelWorker.d.ts +15 -0
  92. package/lib/@openglobus/js/entity/PointCloud.d.ts +179 -0
  93. package/lib/@openglobus/js/entity/PointCloudHandler.d.ts +42 -0
  94. package/lib/@openglobus/js/entity/Polyline.d.ts +345 -0
  95. package/lib/@openglobus/js/entity/PolylineHandler.d.ts +22 -0
  96. package/lib/@openglobus/js/entity/Ray.d.ts +133 -0
  97. package/lib/@openglobus/js/entity/RayHandler.d.ts +70 -0
  98. package/lib/@openglobus/js/entity/Strip.d.ts +139 -0
  99. package/lib/@openglobus/js/entity/StripHandler.d.ts +42 -0
  100. package/lib/@openglobus/js/entity/index.d.ts +10 -0
  101. package/lib/@openglobus/js/index.d.ts +33 -0
  102. package/lib/@openglobus/js/input/KeyboardHandler.d.ts +33 -0
  103. package/lib/@openglobus/js/input/MouseHandler.d.ts +16 -0
  104. package/lib/@openglobus/js/input/TouchHandler.d.ts +11 -0
  105. package/lib/@openglobus/js/input/input.d.ts +3 -0
  106. package/lib/@openglobus/js/layer/BaseGeoImage.d.ts +145 -0
  107. package/lib/@openglobus/js/layer/Bing.d.ts +4 -0
  108. package/lib/@openglobus/js/layer/CanvasTiles.d.ts +103 -0
  109. package/lib/@openglobus/js/layer/GeoImage.d.ts +61 -0
  110. package/lib/@openglobus/js/layer/GeoTexture2d.d.ts +17 -0
  111. package/lib/@openglobus/js/layer/GeoVideo.d.ts +68 -0
  112. package/lib/@openglobus/js/layer/KML.d.ts +72 -0
  113. package/lib/@openglobus/js/layer/Layer.d.ts +415 -0
  114. package/lib/@openglobus/js/layer/Material.d.ts +34 -0
  115. package/lib/@openglobus/js/layer/OpenStreetMap.d.ts +4 -0
  116. package/lib/@openglobus/js/layer/Vector.d.ts +246 -0
  117. package/lib/@openglobus/js/layer/WMS.d.ts +75 -0
  118. package/lib/@openglobus/js/layer/XYZ.d.ts +148 -0
  119. package/lib/@openglobus/js/layer/index.d.ts +12 -0
  120. package/lib/@openglobus/js/light/LightSource.d.ts +174 -0
  121. package/lib/@openglobus/js/math/Line2.d.ts +11 -0
  122. package/lib/@openglobus/js/math/Line3.d.ts +28 -0
  123. package/lib/@openglobus/js/math/Mat3.d.ts +77 -0
  124. package/lib/@openglobus/js/math/Mat4.d.ts +195 -0
  125. package/lib/@openglobus/js/math/Plane.d.ts +20 -0
  126. package/lib/@openglobus/js/math/Quat.d.ts +373 -0
  127. package/lib/@openglobus/js/math/Ray.d.ts +76 -0
  128. package/lib/@openglobus/js/math/Vec2.d.ts +310 -0
  129. package/lib/@openglobus/js/math/Vec3.d.ts +472 -0
  130. package/lib/@openglobus/js/math/Vec4.d.ts +163 -0
  131. package/lib/@openglobus/js/math/coder.d.ts +51 -0
  132. package/lib/@openglobus/js/math/index.d.ts +11 -0
  133. package/lib/@openglobus/js/math.d.ts +266 -0
  134. package/lib/@openglobus/js/mercator.d.ts +92 -0
  135. package/lib/@openglobus/js/proj/EPSG3857.d.ts +9 -0
  136. package/lib/@openglobus/js/proj/EPSG4326.d.ts +9 -0
  137. package/lib/@openglobus/js/proj/Proj.d.ts +43 -0
  138. package/lib/@openglobus/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  139. package/lib/@openglobus/js/quadTree/EarthQuadTreeStrategy.d.ts +9 -0
  140. package/lib/@openglobus/js/quadTree/EntityCollectionNode.d.ts +54 -0
  141. package/lib/@openglobus/js/quadTree/MarsQuadTreeStrategy.d.ts +11 -0
  142. package/lib/@openglobus/js/quadTree/Node.d.ts +80 -0
  143. package/lib/@openglobus/js/quadTree/QuadTreeStrategy.d.ts +28 -0
  144. package/lib/@openglobus/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  145. package/lib/@openglobus/js/quadTree/index.d.ts +12 -0
  146. package/lib/@openglobus/js/quadTree/quadTree.d.ts +40 -0
  147. package/lib/@openglobus/js/renderer/Renderer.d.ts +319 -0
  148. package/lib/@openglobus/js/renderer/RendererEvents.d.ts +240 -0
  149. package/lib/@openglobus/js/scene/Axes.d.ts +12 -0
  150. package/lib/@openglobus/js/scene/BaseNode.d.ts +61 -0
  151. package/lib/@openglobus/js/scene/Planet.d.ts +652 -0
  152. package/lib/@openglobus/js/scene/RenderNode.d.ts +150 -0
  153. package/lib/@openglobus/js/scene/SkyBox.d.ts +13 -0
  154. package/lib/@openglobus/js/scene/index.d.ts +5 -0
  155. package/lib/@openglobus/js/segment/Segment.d.ts +288 -0
  156. package/lib/@openglobus/js/segment/SegmentLonLat.d.ts +44 -0
  157. package/lib/@openglobus/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  158. package/lib/@openglobus/js/segment/Slice.d.ts +13 -0
  159. package/lib/@openglobus/js/segment/segmentHelper.d.ts +18 -0
  160. package/lib/@openglobus/js/shaders/atmos.d.ts +4 -0
  161. package/lib/@openglobus/js/shaders/billboard.d.ts +3 -0
  162. package/lib/@openglobus/js/shaders/bloom.d.ts +2 -0
  163. package/lib/@openglobus/js/shaders/blur.d.ts +3 -0
  164. package/lib/@openglobus/js/shaders/depth.d.ts +2 -0
  165. package/lib/@openglobus/js/shaders/drawnode.d.ts +8 -0
  166. package/lib/@openglobus/js/shaders/geoObject.d.ts +3 -0
  167. package/lib/@openglobus/js/shaders/label.d.ts +4 -0
  168. package/lib/@openglobus/js/shaders/lumFilter.d.ts +2 -0
  169. package/lib/@openglobus/js/shaders/pointCloud.d.ts +2 -0
  170. package/lib/@openglobus/js/shaders/polyline.d.ts +3 -0
  171. package/lib/@openglobus/js/shaders/ray.d.ts +2 -0
  172. package/lib/@openglobus/js/shaders/screenFrame.d.ts +2 -0
  173. package/lib/@openglobus/js/shaders/skybox.d.ts +2 -0
  174. package/lib/@openglobus/js/shaders/toneMapping.d.ts +2 -0
  175. package/lib/@openglobus/js/shaders/utils.d.ts +1 -0
  176. package/lib/@openglobus/js/terrain/BilTerrain.d.ts +18 -0
  177. package/lib/@openglobus/js/terrain/EmptyTerrain.d.ts +113 -0
  178. package/lib/@openglobus/js/terrain/Geoid.d.ts +33 -0
  179. package/lib/@openglobus/js/terrain/GlobusRgbTerrain.d.ts +6 -0
  180. package/lib/@openglobus/js/terrain/GlobusTerrain.d.ts +137 -0
  181. package/lib/{js/terrain/MapboxTerrain.d.ts → @openglobus/js/terrain/RgbTerrain.d.ts} +6 -5
  182. package/lib/@openglobus/js/terrain/index.d.ts +6 -0
  183. package/lib/@openglobus/js/ui/Button.d.ts +32 -0
  184. package/lib/@openglobus/js/ui/ButtonGroup.d.ts +16 -0
  185. package/lib/@openglobus/js/ui/Color.d.ts +22 -0
  186. package/lib/@openglobus/js/ui/Dialog.d.ts +55 -0
  187. package/lib/@openglobus/js/ui/Slider.d.ts +38 -0
  188. package/lib/@openglobus/js/ui/ToggleButton.d.ts +20 -0
  189. package/lib/@openglobus/js/ui/View.d.ts +37 -0
  190. package/lib/@openglobus/js/ui/icons.d.ts +1 -0
  191. package/lib/@openglobus/js/utils/BaseWorker.d.ts +14 -0
  192. package/lib/@openglobus/js/utils/FontAtlas.d.ts +82 -0
  193. package/lib/@openglobus/js/utils/GeoImageCreator.d.ts +34 -0
  194. package/lib/@openglobus/js/utils/ImagesCacheManager.d.ts +22 -0
  195. package/lib/@openglobus/js/utils/Loader.d.ts +63 -0
  196. package/lib/@openglobus/js/utils/NormalMapCreator.d.ts +52 -0
  197. package/lib/@openglobus/js/utils/PlainSegmentWorker.d.ts +24 -0
  198. package/lib/@openglobus/js/utils/TerrainWorker.d.ts +28 -0
  199. package/lib/@openglobus/js/utils/TextureAtlas.d.ts +113 -0
  200. package/lib/@openglobus/js/utils/VectorTileCreator.d.ts +18 -0
  201. package/lib/@openglobus/js/utils/colorTable.d.ts +3 -0
  202. package/lib/@openglobus/js/utils/earcut.d.ts +7 -0
  203. package/lib/@openglobus/js/utils/objParser.d.ts +24 -0
  204. package/lib/@openglobus/js/utils/shared.d.ts +263 -0
  205. package/lib/@openglobus/js/utils/units.d.ts +16 -0
  206. package/lib/@openglobus/js/webgl/BaseFramebuffer.d.ts +53 -0
  207. package/lib/@openglobus/js/webgl/Framebuffer.d.ts +69 -0
  208. package/lib/@openglobus/js/webgl/Handler.d.ts +473 -0
  209. package/lib/@openglobus/js/webgl/Multisample.d.ts +27 -0
  210. package/lib/@openglobus/js/webgl/Program.d.ts +159 -0
  211. package/lib/@openglobus/js/webgl/ProgramController.d.ts +86 -0
  212. package/lib/@openglobus/js/webgl/index.d.ts +6 -0
  213. package/lib/@openglobus/js/webgl/types.d.ts +9 -0
  214. package/lib/@openglobus/js/webgl/variableHandlers.d.ts +22 -0
  215. package/lib/@openglobus/og.css +1 -1
  216. package/lib/@openglobus/og.esm.js +1 -1
  217. package/lib/@openglobus/og.esm.js.map +1 -1
  218. package/lib/@openglobus/og.umd.js +1 -1
  219. package/lib/@openglobus/og.umd.js.map +1 -1
  220. package/lib/js/Extent.js +2 -2
  221. package/lib/js/Globe.d.ts +1 -1
  222. package/lib/js/Object3d.d.ts +16 -1
  223. package/lib/js/Object3d.js +66 -1
  224. package/lib/js/astro/jd.js +26 -26
  225. package/lib/js/camera/Frustum.d.ts +1 -1
  226. package/lib/js/camera/Frustum.js +3 -2
  227. package/lib/js/control/DebugInfo.js +19 -18
  228. package/lib/js/control/Lighting.d.ts +4 -0
  229. package/lib/js/control/Lighting.js +51 -12
  230. package/lib/js/control/SimpleSkyBackground.d.ts +2 -0
  231. package/lib/js/control/SimpleSkyBackground.js +13 -3
  232. package/lib/js/control/drawing/PolygonDrawingScene.js +2 -2
  233. package/lib/js/control/timeline/timelineUtils.js +32 -32
  234. package/lib/js/control/visibleExtent/drawnode.js +1 -1
  235. package/lib/js/entity/GeoObject.d.ts +20 -6
  236. package/lib/js/entity/GeoObject.js +44 -4
  237. package/lib/js/entity/GeoObjectHandler.d.ts +6 -1
  238. package/lib/js/entity/GeoObjectHandler.js +58 -6
  239. package/lib/js/entity/Geometry.d.ts +24 -11
  240. package/lib/js/entity/Geometry.js +17 -9
  241. package/lib/js/entity/GeometryHandler.js +5 -5
  242. package/lib/js/entity/Label.d.ts +7 -0
  243. package/lib/js/entity/Label.js +11 -0
  244. package/lib/js/entity/Polyline.d.ts +15 -7
  245. package/lib/js/entity/Polyline.js +54 -6
  246. package/lib/js/entity/Strip.d.ts +12 -0
  247. package/lib/js/entity/Strip.js +16 -0
  248. package/lib/js/entity/StripHandler.js +1 -1
  249. package/lib/js/entity/index.d.ts +10 -11
  250. package/lib/js/entity/index.js +10 -11
  251. package/lib/js/index.d.ts +5 -5
  252. package/lib/js/index.js +5 -5
  253. package/lib/js/layer/Bing.d.ts +4 -0
  254. package/lib/js/layer/Bing.js +40 -0
  255. package/lib/js/layer/GeoImage.d.ts +1 -1
  256. package/lib/js/layer/GeoVideo.d.ts +1 -1
  257. package/lib/js/layer/Layer.d.ts +1 -1
  258. package/lib/js/layer/Layer.js +2 -2
  259. package/lib/js/layer/OpenStreetMap.d.ts +4 -0
  260. package/lib/js/layer/OpenStreetMap.js +19 -0
  261. package/lib/js/layer/Vector.d.ts +3 -0
  262. package/lib/js/layer/Vector.js +3 -3
  263. package/lib/js/layer/index.d.ts +12 -11
  264. package/lib/js/layer/index.js +12 -11
  265. package/lib/js/math/Mat4.js +18 -17
  266. package/lib/js/mercator.js +2 -1
  267. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +4 -5
  268. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +3 -0
  269. package/lib/js/quadTree/EarthQuadTreeStrategy.js +40 -5
  270. package/lib/js/quadTree/EntityCollectionNode.d.ts +2 -2
  271. package/lib/js/quadTree/EntityCollectionNode.js +13 -14
  272. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +5 -0
  273. package/lib/js/quadTree/MarsQuadTreeStrategy.js +31 -5
  274. package/lib/js/quadTree/Node.d.ts +2 -1
  275. package/lib/js/quadTree/Node.js +38 -28
  276. package/lib/js/quadTree/QuadTreeStrategy.d.ts +3 -0
  277. package/lib/js/quadTree/QuadTreeStrategy.js +17 -0
  278. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +3 -3
  279. package/lib/js/renderer/Renderer.js +1 -0
  280. package/lib/js/scene/Axes.js +4 -4
  281. package/lib/js/scene/Planet.js +6 -4
  282. package/lib/js/segment/Segment.d.ts +12 -9
  283. package/lib/js/segment/Segment.js +47 -24
  284. package/lib/js/segment/SegmentLonLat.d.ts +1 -5
  285. package/lib/js/segment/SegmentLonLat.js +8 -100
  286. package/lib/js/segment/SegmentLonLatWgs84.js +5 -3
  287. package/lib/js/shaders/billboard.js +4 -4
  288. package/lib/js/shaders/drawnode.js +16 -19
  289. package/lib/js/shaders/geoObject.js +10 -11
  290. package/lib/js/shaders/ray.js +7 -3
  291. package/lib/js/terrain/BilTerrain.d.ts +1 -1
  292. package/lib/js/terrain/BilTerrain.js +7 -6
  293. package/lib/js/terrain/EmptyTerrain.d.ts +7 -0
  294. package/lib/js/terrain/EmptyTerrain.js +7 -0
  295. package/lib/js/terrain/GlobusRgbTerrain.d.ts +6 -0
  296. package/lib/js/terrain/GlobusRgbTerrain.js +25 -0
  297. package/lib/js/terrain/GlobusTerrain.d.ts +5 -5
  298. package/lib/js/terrain/GlobusTerrain.js +35 -30
  299. package/lib/js/terrain/RgbTerrain.d.ts +22 -0
  300. package/lib/js/terrain/RgbTerrain.js +415 -0
  301. package/lib/js/terrain/index.d.ts +3 -2
  302. package/lib/js/terrain/index.js +3 -2
  303. package/lib/js/ui/Color.d.ts +22 -0
  304. package/lib/js/ui/Color.js +58 -0
  305. package/lib/js/utils/GeoImageCreator.js +1 -1
  306. package/lib/js/utils/NormalMapCreator.js +1 -1
  307. package/lib/js/utils/VectorTileCreator.js +3 -3
  308. package/lib/js/utils/objParser.js +3 -3
  309. package/lib/js/utils/shared.d.ts +3 -9
  310. package/lib/js/utils/shared.js +24 -9
  311. package/package.json +26 -18
  312. package/lib/js/terrain/MapboxTerrain.js +0 -298
@@ -0,0 +1,113 @@
1
+ import { TypedArray } from "../utils/shared";
2
+ import { Geoid } from "./Geoid";
3
+ import { LonLat } from "../LonLat";
4
+ import { Planet } from "../scene/Planet";
5
+ import { Segment } from "../segment/Segment";
6
+ export interface IEmptyTerrainParams {
7
+ equalizeVertices?: boolean;
8
+ name?: string;
9
+ minZoom?: number;
10
+ maxZoom?: number;
11
+ maxNativeZoom?: number;
12
+ geoidSrc?: string;
13
+ geoid?: Geoid;
14
+ gridSizeByZoom?: number[];
15
+ }
16
+ export type UrlRewriteFunc = (tileX: number, tileY: number, tileZoom: number, tileGroup: number) => string | null | undefined;
17
+ /**
18
+ * Class represents terrain provider without elevation data.
19
+ * @param {IEmptyTerrainParams} [options] - Provider options:
20
+ * @param {string} [options.name="empty"] - Provider name.
21
+ * @param {boolean} [options.equalizeVertices] -
22
+ * @param {number} [options.minZoom=2] - Minimal visible zoom index when terrain handler works.
23
+ * @param {number} [options.minZoom=50] - Maximal visible zoom index when terrain handler works.
24
+ * @param {number} [options.maxNativeZoom=19] - Maximal available terrain zoom level.
25
+ * @param {Array.<number>} [options.gridSizeByZoom] - Array of segment triangulation grid sizes where array index agreed to the segment zoom index.
26
+ * @param {Array.<number>} [gridSizeByZoom] - Array of values, where each value corresponds to the size of a tile(or segment) on the globe. Each value must be power of two.
27
+ * @param {Geoid} [options.geoid] -
28
+ * @param {string} [options.geoidSrc] -
29
+ */
30
+ declare class EmptyTerrain {
31
+ static __counter__: number;
32
+ /**
33
+ * Uniq identifier.
34
+ * @public
35
+ * @type {number}
36
+ */
37
+ __id: number;
38
+ equalizeVertices: boolean;
39
+ equalizeNormals: boolean;
40
+ isEmpty: boolean;
41
+ /**
42
+ * Provider name is "empty"
43
+ * @public
44
+ * @type {string}
45
+ */
46
+ name: string;
47
+ /**
48
+ * Minimal z-index value for segment elevation data handling.
49
+ * @public
50
+ * @type {number}
51
+ */
52
+ minZoom: number;
53
+ /**
54
+ * Maximal z-index value for segment elevation data handling.
55
+ * @public
56
+ * @type {number}
57
+ */
58
+ maxZoom: number;
59
+ noDataValues: number[];
60
+ /**
61
+ * Maximal existent available zoom
62
+ * @type {number}
63
+ */
64
+ maxNativeZoom: number;
65
+ /**
66
+ * @public
67
+ * @type {Array.<number>}
68
+ */
69
+ gridSizeByZoom: number[];
70
+ _maxNodeZoom: number;
71
+ /**
72
+ * Elevation grid size. Current is 2x2 is the smallest grid size.
73
+ * @public
74
+ * @type {number}
75
+ */
76
+ plainGridSize: number;
77
+ /**
78
+ * Planet scene.
79
+ * @public
80
+ * @type {Planet}
81
+ */
82
+ _planet: Planet | null;
83
+ _geoid: Geoid;
84
+ _isReady: boolean;
85
+ constructor(options?: IEmptyTerrainParams);
86
+ /**
87
+ * Sets url rewrite callback, used for custom url rewriting for every tile loading.
88
+ * @public
89
+ * @param {UrlRewriteFunc} ur - The callback that returns tile custom created url.
90
+ */
91
+ setUrlRewriteCallback(ur: UrlRewriteFunc): void;
92
+ get isIdle(): boolean;
93
+ isEqual(obj: this): boolean;
94
+ static checkNoDataValue(noDataValues: number[] | TypedArray, value: number): boolean;
95
+ isBlur(segment?: Segment): boolean;
96
+ set maxNodeZoom(val: number);
97
+ get maxNodeZoom(): number;
98
+ set geoid(geoid: Geoid);
99
+ get geoid(): Geoid;
100
+ getGeoid(): Geoid;
101
+ /**
102
+ * Loads or creates segment elevation data.
103
+ * @public
104
+ * @param {Segment} segment - Segment to create elevation data.
105
+ */
106
+ handleSegmentTerrain(segment: Segment): void;
107
+ isReady(): boolean;
108
+ abortLoading(): void;
109
+ clearCache(): void;
110
+ getHeightAsync(lonLat: LonLat, callback: (height: number) => void): boolean;
111
+ loadTerrain(segment: Segment, forceLoading?: boolean): void;
112
+ }
113
+ export { EmptyTerrain };
@@ -0,0 +1,33 @@
1
+ import { LonLat } from "../LonLat";
2
+ interface IGeoidParams {
3
+ model?: GeoidModel;
4
+ src?: string | null;
5
+ }
6
+ export type GeoidModel = {
7
+ scale: number;
8
+ offset: number;
9
+ width: number;
10
+ height: number;
11
+ rlonres: number;
12
+ rlatres: number;
13
+ i: number;
14
+ rawfile: Uint8Array;
15
+ };
16
+ declare class Geoid {
17
+ model: GeoidModel | null;
18
+ src: string | null;
19
+ protected _cached_ix: number;
20
+ protected _cached_iy: number;
21
+ protected _v00: number;
22
+ protected _v01: number;
23
+ protected _v10: number;
24
+ protected _v11: number;
25
+ protected _t: number;
26
+ constructor(options?: IGeoidParams);
27
+ static loadModel(url?: string | null): Promise<GeoidModel | null>;
28
+ setModel(model: GeoidModel | null): void;
29
+ protected _rawval(ix: number, iy: number): number;
30
+ getHeightLonLat(lonlat: LonLat): number;
31
+ getHeight(lon: number, lat: number): number;
32
+ }
33
+ export { Geoid };
@@ -0,0 +1,6 @@
1
+ import { IRgbTerrainParams, RgbTerrain } from "./RgbTerrain";
2
+ import { Segment } from "../segment/Segment";
3
+ export declare class GlobusRgbTerrain extends RgbTerrain {
4
+ constructor(name?: string | null, options?: IRgbTerrainParams);
5
+ isReadyToLoad(segment: Segment): boolean;
6
+ }
@@ -0,0 +1,137 @@
1
+ import { EventsHandler } from "../Events";
2
+ import { TypedArray } from "../utils/shared";
3
+ import { EmptyTerrain, IEmptyTerrainParams, UrlRewriteFunc } from "./EmptyTerrain";
4
+ import { Extent } from "../Extent";
5
+ import { Loader } from "../utils/Loader";
6
+ import { LonLat } from "../LonLat";
7
+ import { Segment } from "../segment/Segment";
8
+ export interface IGlobusTerrainParams extends IEmptyTerrainParams {
9
+ subdomains?: string[];
10
+ url?: string;
11
+ extent?: Extent | [[number, number], [number, number]];
12
+ urlRewrite?: UrlRewriteFunc;
13
+ noDataValues?: number[];
14
+ plainGridSize?: number;
15
+ heightFactor?: number;
16
+ }
17
+ type TileData = {
18
+ heights: number[] | TypedArray | null;
19
+ extent: Extent | null;
20
+ };
21
+ /**
22
+ * Class that loads segment elevation data, converts it to the array and passes it to the planet segment.
23
+ * @class
24
+ * @extends {GlobusTerrain}
25
+ * @param {string} [name=""] - Terrain provider name.
26
+ * @param {IGlobusTerrainParams} [options] - Provider options:
27
+ * @param {number} [options.minZoom=3] - Minimal visible zoom index when terrain handler works.
28
+ * @param {number} [options.minZoom=14] - Maximal visible zoom index when terrain handler works.
29
+ * @param {number} [options.minNativeZoom=14] - Maximal available terrain zoom level.
30
+ * @param {string} [options.url="//openglobus.org/heights/srtm3/{z}/{y}/{x}.ddm"] - Terrain source path url template. Default is openglobus ddm elevation file.
31
+ * @param {Array.<number>} [options.gridSizeByZoom] - Array of segment triangulation grid sizes where array index agreed to the segment zoom index.
32
+ * @param {number} [options.plainGridSize=32] - Elevation grid size. Default is 32x32. Must be power of two.
33
+ * @param {string} [options.responseType="arraybuffer"] - Response type.
34
+ * @param {number} [options.MAX_LOADING_TILES] - Maximum at one time loading tiles.
35
+ * @param {Array.<number>} [gridSizeByZoom] - Array of values, where each value corresponds to the size of a tile(or segment) on the globe. Each value must be power of two.
36
+ * @param {number} [heightFactor=1] - Elevation height multiplier.
37
+ *
38
+ * @fires GlobusTerrainEvents#load
39
+ * @fires GlobusTerrainEvents#loadend
40
+ */
41
+ declare class GlobusTerrain extends EmptyTerrain {
42
+ events: GlobusTerrainEvents;
43
+ protected _s: string[];
44
+ protected _requestCount: number;
45
+ protected _requestsPeerSubdomain: number;
46
+ /**
47
+ * Terrain source path url template.
48
+ * @protected
49
+ * @type {string}
50
+ */
51
+ protected url: string;
52
+ protected _extent: Extent;
53
+ protected _dataType: string;
54
+ protected _elevationCache: Record<string, TileData>;
55
+ protected _fetchCache: Record<string, Promise<any>>;
56
+ protected _loader: Loader<GlobusTerrain>;
57
+ /**
58
+ * Rewrites elevation storage url query.
59
+ * @protected
60
+ * @type {Function} -
61
+ */
62
+ protected _urlRewriteCallback: UrlRewriteFunc | null;
63
+ protected _heightFactor: number;
64
+ constructor(name?: string, options?: IGlobusTerrainParams);
65
+ get loader(): Loader<GlobusTerrain>;
66
+ clearCache(): void;
67
+ isBlur(segment: Segment): boolean;
68
+ setElevationCache(tileIndex: string, tileData: TileData): void;
69
+ getElevationCache(tileIndex: string): TileData | undefined;
70
+ getHeightAsync(lonLat: LonLat, callback: (h: number) => void, zoom?: number, firstAttempt?: boolean): boolean;
71
+ protected _getGroundHeightMerc(merc: LonLat, tileData: TileData): number;
72
+ /**
73
+ * Stop loading.
74
+ * @public
75
+ */
76
+ abortLoading(): void;
77
+ /**
78
+ * Sets terrain data url template.
79
+ * @public
80
+ * @param {string} url - Url template.
81
+ * @example <caption>Default openglobus url template:</caption>:
82
+ * "http://earth3.openglobus.org/{z}/{y}/{x}.ddm"
83
+ */
84
+ setUrl(url: string): void;
85
+ /**
86
+ * Sets provider name.
87
+ * @public
88
+ * @param {string} name - Name.
89
+ */
90
+ setName(name: string): void;
91
+ isReadyToLoad(segment: Segment): boolean;
92
+ /**
93
+ * Starts to load segment elevation data.
94
+ * @public
95
+ * @param {Segment} segment - Segment that wants a terrain data.
96
+ * @param {boolean} [forceLoading] -
97
+ */
98
+ loadTerrain(segment: Segment, forceLoading?: boolean): void;
99
+ protected _getSubdomain(): string;
100
+ buildURL(x: number, y: number, z: number, tileGroup: number): string;
101
+ /**
102
+ * Creates default query url string.
103
+ * @protected
104
+ * @param {Segment} segment -
105
+ * @returns {string} -
106
+ */
107
+ protected _createUrl(segment: Segment): string;
108
+ /**
109
+ * Returns actual url query string.
110
+ * @protected
111
+ * @param {Segment} segment - Segment that loads image data.
112
+ * @returns {string} - Url string.
113
+ */
114
+ protected _getHTTPRequestString(segment: Segment): string;
115
+ /**
116
+ * Sets url rewrite callback, used for custom url rewriting for every tile loading.
117
+ * @public
118
+ * @param {UrlRewriteFunc} ur - The callback that returns tile custom created url.
119
+ */
120
+ setUrlRewriteCallback(ur: UrlRewriteFunc): void;
121
+ /**
122
+ * Converts loaded data to segment elevation data type(column major elevation data array in meters)
123
+ * @public
124
+ * @returns {Array.<number>} -
125
+ */
126
+ protected _createHeights(data: any, segment?: Segment | null, tileGroup?: number, x?: number, y?: number, z?: number, extent?: Extent, isMaxZoom?: boolean): TypedArray | number[];
127
+ /**
128
+ * @protected
129
+ */
130
+ protected _applyElevationsData(segment: Segment, elevations: number[] | TypedArray | null): void;
131
+ }
132
+ type GlobusTerrainEventsList = [
133
+ "load",
134
+ "loadend"
135
+ ];
136
+ type GlobusTerrainEvents = EventsHandler<GlobusTerrainEventsList>;
137
+ export { GlobusTerrain };
@@ -3,19 +3,20 @@ import { GlobusTerrain, IGlobusTerrainParams } from "./GlobusTerrain";
3
3
  import { LonLat } from "../LonLat";
4
4
  import { Segment } from "../segment/Segment";
5
5
  import { TypedArray } from "../utils/shared";
6
- interface IMapboxTerrainParams extends IGlobusTerrainParams {
6
+ export interface IRgbTerrainParams extends IGlobusTerrainParams {
7
7
  equalizeNormals?: boolean;
8
8
  key?: string;
9
9
  imageSize?: number;
10
10
  }
11
- declare class MapboxTerrain extends GlobusTerrain {
11
+ declare class RgbTerrain extends GlobusTerrain {
12
12
  protected _imageSize: number;
13
13
  protected _ctx: CanvasRenderingContext2D;
14
14
  protected _imageDataCache: Record<string, Uint8ClampedArray>;
15
- constructor(name: string | null, options?: IMapboxTerrainParams);
15
+ constructor(name: string | null, options?: IRgbTerrainParams);
16
+ static checkNoDataValue(noDataValues: number[] | TypedArray, value: number): boolean;
16
17
  isBlur(segment: Segment): boolean;
17
18
  protected _createTemporalCanvas(size: number): CanvasRenderingContext2D;
18
- protected _createHeights(data: HTMLImageElement | ImageBitmap, tileIndex: string, tileX: number, tileY: number, tileZoom: number, extent: Extent, preventChildren: boolean): TypedArray | number[];
19
+ protected _createHeights(data: HTMLImageElement | ImageBitmap, segment: Segment | null, tileGroup: number, tileX: number, tileY: number, tileZoom: number, extent: Extent, preventChildren: boolean): TypedArray | number[];
19
20
  getHeightAsync(lonLat: LonLat, callback: (h: number) => void, zoom?: number): boolean;
20
21
  }
21
- export { MapboxTerrain };
22
+ export { RgbTerrain };
@@ -0,0 +1,6 @@
1
+ import { BilTerrain } from './BilTerrain';
2
+ import { EmptyTerrain } from './EmptyTerrain';
3
+ import { GlobusTerrain } from './GlobusTerrain';
4
+ import { RgbTerrain } from './RgbTerrain';
5
+ import { GlobusRgbTerrain } from './GlobusRgbTerrain';
6
+ export { EmptyTerrain, GlobusTerrain, RgbTerrain, BilTerrain, GlobusRgbTerrain };
@@ -0,0 +1,32 @@
1
+ import { IViewParams, View, ViewEventsList } from './View';
2
+ import { EventsHandler } from "../Events";
3
+ interface HTMLElementExt extends HTMLElement {
4
+ __og_button__: Button;
5
+ }
6
+ export type ButtonEventsList = ["click", "mousedown", "mouseup", "touchstart", "touchend", "touchcancel"];
7
+ export interface IButtonParams extends IViewParams {
8
+ icon?: string;
9
+ text?: string;
10
+ title?: string;
11
+ name?: string;
12
+ }
13
+ declare class Button extends View<null> {
14
+ events: EventsHandler<ButtonEventsList> & EventsHandler<ViewEventsList>;
15
+ el: HTMLElementExt | null;
16
+ name: string;
17
+ $icon: HTMLElement | null;
18
+ $text: HTMLElement | null;
19
+ constructor(options?: IButtonParams);
20
+ render(params: any): this;
21
+ protected _initEvents(): void;
22
+ protected _onMouseDown: (e: MouseEvent) => void;
23
+ protected _onMouseUp: (e: MouseEvent) => void;
24
+ protected _onTouchStart: (e: TouchEvent) => void;
25
+ protected _onTouchEnd: (e: TouchEvent) => void;
26
+ protected _onTouchCancel: (e: TouchEvent) => void;
27
+ protected _mouseClickHandler(e: MouseEvent): void;
28
+ protected _onMouseClick: (e: MouseEvent) => void;
29
+ remove(): void;
30
+ protected _clearEvents(): void;
31
+ }
32
+ export { Button };
@@ -0,0 +1,16 @@
1
+ import { ToggleButton } from "./ToggleButton";
2
+ import { EventsHandler } from '../Events';
3
+ interface IButtonGroupParams {
4
+ buttons?: ToggleButton[];
5
+ }
6
+ type ButtonGroupEventsList = ["change"];
7
+ declare class ButtonGroup {
8
+ events: EventsHandler<ButtonGroupEventsList>;
9
+ protected _buttons: ToggleButton[];
10
+ constructor(options?: IButtonGroupParams);
11
+ protected _bindButton(button: ToggleButton): void;
12
+ add(button: ToggleButton): void;
13
+ protected _onChange: (isActive: boolean, btn: ToggleButton) => void;
14
+ remove(button: ToggleButton): void;
15
+ }
16
+ export { ButtonGroup };
@@ -0,0 +1,22 @@
1
+ import { EventsHandler } from "../Events";
2
+ import { IViewParams, View, ViewEventsList } from './View';
3
+ interface IColorParams extends IViewParams {
4
+ label?: string;
5
+ value?: string;
6
+ }
7
+ type ColorEventsList = ["input"];
8
+ declare class Color extends View<null> {
9
+ events: EventsHandler<ColorEventsList> & EventsHandler<ViewEventsList>;
10
+ protected _value: string;
11
+ protected $label: HTMLElement | null;
12
+ protected $input: HTMLInputElement | null;
13
+ constructor(options?: IColorParams);
14
+ render(params: any): this;
15
+ set value(val: string);
16
+ get value(): string;
17
+ protected _initEvents(): void;
18
+ protected _clearEvents(): void;
19
+ protected _onInput: (e: Event) => void;
20
+ remove(): void;
21
+ }
22
+ export { Color };
@@ -0,0 +1,55 @@
1
+ import { Button } from './Button';
2
+ import { IViewParams, View, ViewEventsList } from './View';
3
+ import { EventsHandler } from "../Events";
4
+ export interface IDialogParams extends IViewParams {
5
+ title?: string;
6
+ visible?: boolean;
7
+ resizable?: boolean;
8
+ width?: number;
9
+ height?: number;
10
+ left?: number;
11
+ top?: number;
12
+ minHeight?: number;
13
+ maxHeight?: number;
14
+ minWidth?: number;
15
+ maxWidth?: number;
16
+ useHide?: boolean;
17
+ }
18
+ type DialogEventsList = ["resize", "focus", "visibility", "dragstart", "dragend"];
19
+ declare class Dialog<M> extends View<M> {
20
+ static __zIndex__: number;
21
+ events: EventsHandler<DialogEventsList> & EventsHandler<ViewEventsList>;
22
+ $header: HTMLElement | null;
23
+ $title: HTMLElement | null;
24
+ $container: HTMLElement | null;
25
+ $buttons: HTMLElement | null;
26
+ useHide: boolean;
27
+ protected _startPosX: number;
28
+ protected _startPosY: number;
29
+ protected _closeBtn: Button;
30
+ protected _visibility: boolean;
31
+ constructor(options?: IDialogParams);
32
+ setContainer(htmlStr: string): void;
33
+ get container(): HTMLElement | null;
34
+ get width(): number;
35
+ get height(): number;
36
+ bringToFront(): void;
37
+ render(params: any): this;
38
+ show(): void;
39
+ hide(): void;
40
+ close(): void;
41
+ setVisibility(visibility: boolean): void;
42
+ protected _initButtons(): void;
43
+ protected _initEvents(): void;
44
+ protected _onCloseBtnClick: () => void;
45
+ protected _onMouseDownAll: () => void;
46
+ protected _onMouseDown: (e: MouseEvent) => void;
47
+ setPosition(x?: number, y?: number): void;
48
+ protected _onMouseMove: (e: MouseEvent) => void;
49
+ protected _startDragging(): void;
50
+ protected _clearDragging(): void;
51
+ protected _onMouseUp: () => void;
52
+ remove(): void;
53
+ protected _clearEvents(): void;
54
+ }
55
+ export { Dialog };
@@ -0,0 +1,38 @@
1
+ import { EventsHandler } from "../Events";
2
+ import { IViewParams, View, ViewEventsList } from './View';
3
+ interface ISliderParams extends IViewParams {
4
+ label?: string;
5
+ value?: number;
6
+ min?: number;
7
+ max?: number;
8
+ }
9
+ type SliderEventsList = ["change"];
10
+ declare class Slider extends View<null> {
11
+ events: EventsHandler<SliderEventsList> & EventsHandler<ViewEventsList>;
12
+ protected _value: number;
13
+ protected _min: number;
14
+ protected _max: number;
15
+ protected _startPosX: number;
16
+ protected _resizeObserver: ResizeObserver;
17
+ protected $label: HTMLElement | null;
18
+ protected $pointer: HTMLElement | null;
19
+ protected $progress: HTMLElement | null;
20
+ protected $input: HTMLInputElement | null;
21
+ protected $panel: HTMLElement | null;
22
+ constructor(options?: ISliderParams);
23
+ render(params: any): this;
24
+ protected _onResize: () => void;
25
+ set value(val: number);
26
+ get value(): number;
27
+ protected _initEvents(): void;
28
+ protected _clearEvents(): void;
29
+ protected _onMouseWheel: (e: WheelEvent) => void;
30
+ protected _onMouseWheelFF: (e: WheelEvent) => void;
31
+ protected _onInput: (e: Event) => void;
32
+ protected _onMouseDown: (e: MouseEvent) => void;
33
+ protected _setOffset(x: number): void;
34
+ protected _onMouseMove: (e: MouseEvent) => void;
35
+ protected _onMouseUp: () => void;
36
+ remove(): void;
37
+ }
38
+ export { Slider };
@@ -0,0 +1,20 @@
1
+ import { Button, IButtonParams, ButtonEventsList } from './Button';
2
+ import { EventsHandler } from "../Events";
3
+ import { ViewEventsList } from "./View";
4
+ interface IToggleButtonParams extends IButtonParams {
5
+ isActive?: boolean;
6
+ preventClick?: boolean;
7
+ }
8
+ type ToggleButtonEventsList = ["change"];
9
+ declare class ToggleButton extends Button {
10
+ events: EventsHandler<ToggleButtonEventsList> & EventsHandler<ButtonEventsList> & EventsHandler<ViewEventsList>;
11
+ protected _isActive: boolean;
12
+ preventClick: boolean;
13
+ constructor(options: IToggleButtonParams);
14
+ setActive(isActive: boolean, stopPropagation?: boolean): void;
15
+ protected _toggle(): void;
16
+ get isActive(): boolean;
17
+ render(params: any): this;
18
+ protected _onMouseClick: (e: MouseEvent) => void;
19
+ }
20
+ export { ToggleButton };
@@ -0,0 +1,37 @@
1
+ import { EventsHandler } from '../Events';
2
+ export interface IViewParams {
3
+ model?: any;
4
+ template?: string;
5
+ parent?: View<any> | null;
6
+ classList?: string[];
7
+ }
8
+ export type ViewEventsList = ["render"];
9
+ declare class View<M> {
10
+ static __counter__: number;
11
+ protected __id: number;
12
+ events: EventsHandler<ViewEventsList>;
13
+ model: M;
14
+ template: string;
15
+ parent: View<any> | null;
16
+ el: HTMLElement | null;
17
+ protected _classList: string[];
18
+ constructor(options?: IViewParams);
19
+ static getHTML(template: string, params: any): string;
20
+ static parseHTML(htmlStr: string): HTMLElement[];
21
+ static insertAfter(newNodes: HTMLElement | HTMLElement[], referenceNode: Node): HTMLElement[];
22
+ static insertBefore(newNodes: HTMLElement | HTMLElement[], referenceNode: Node): HTMLElement[];
23
+ insertBefore(view: View<any> | HTMLElement): void;
24
+ insertAfter(view: View<any> | HTMLElement): void;
25
+ isEqual(view: View<any>): boolean;
26
+ appendTo(node: HTMLElement, clean?: boolean, firstPosition?: boolean): this;
27
+ afterRender(parentNode: HTMLElement): void;
28
+ beforeRender(parentNode: HTMLElement): void;
29
+ stopPropagation(): void;
30
+ renderTemplate(params: any): HTMLElement;
31
+ render(params?: any): this;
32
+ select<T extends HTMLElement>(queryStr: string): T | null;
33
+ selectRemove(queryStr: string): HTMLElement | undefined;
34
+ selectAll(queryStr: string, callback?: Function): NodeListOf<Element> | undefined;
35
+ remove(): void;
36
+ }
37
+ export { View };
@@ -0,0 +1 @@
1
+ export declare const CLOSE_ICON = "<svg className=\"svg-icon\" style=\"width: 1em; height: 1em;vertical-align: middle;fill: currentColor; overflow: hidden;\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M777.856 280.192l-33.92-33.952-231.872 231.872-231.84-231.872-33.984 33.888 231.872 231.904-231.84 231.84 33.888 33.984 231.904-231.904 231.84 231.872 33.952-33.888-231.872-231.904z\"/>\n</svg>";
@@ -0,0 +1,14 @@
1
+ export declare class BaseWorker<T> {
2
+ protected _sourceId: number;
3
+ protected _source: Map<number, T>;
4
+ protected _pendingQueue: T[];
5
+ protected _numWorkers: number;
6
+ protected _workerQueue: Worker[];
7
+ constructor(numWorkers?: number, program?: string);
8
+ check(): void;
9
+ setProgram(program: string): void;
10
+ make(data: T): void;
11
+ protected _onMessage(e: MessageEvent): void;
12
+ destroy(): void;
13
+ get pendingQueue(): T[];
14
+ }
@@ -0,0 +1,82 @@
1
+ import { Deferred } from '../Deferred';
2
+ import { Rectangle } from '../Rectangle';
3
+ import { TextureAtlas, TextureAtlasNode } from './TextureAtlas';
4
+ import { Handler } from "../webgl/Handler";
5
+ import { HTMLImageElementExt } from "./ImagesCacheManager";
6
+ interface IChar {
7
+ id: number;
8
+ char: string;
9
+ width: number;
10
+ height: number;
11
+ x: number;
12
+ y: number;
13
+ chnl: number;
14
+ index: number;
15
+ page: number;
16
+ xadvance: number;
17
+ xoffset: number;
18
+ yoffset: number;
19
+ }
20
+ interface IKerning {
21
+ first: number;
22
+ second: number;
23
+ amount: number;
24
+ }
25
+ export interface IFontParams {
26
+ common: {
27
+ scaleH: number;
28
+ scaleW: number;
29
+ };
30
+ info: {
31
+ size: number;
32
+ };
33
+ distanceField: {
34
+ distanceRange: number;
35
+ };
36
+ chars: IChar[];
37
+ kernings: IKerning[];
38
+ pages: string[];
39
+ }
40
+ declare class FontTextureAtlas extends TextureAtlas {
41
+ width: number;
42
+ height: number;
43
+ gliphSize: number;
44
+ distanceRange: number;
45
+ nodes: Map<number, FontTextureAtlasNode>;
46
+ kernings: Record<number, Record<number, number>>;
47
+ constructor(width?: number, height?: number);
48
+ get(key: number): FontTextureAtlasNode | undefined;
49
+ }
50
+ interface IMetrics extends IChar {
51
+ nChar: string;
52
+ nCode: number;
53
+ nWidth: number;
54
+ nHeight: number;
55
+ nAdvance: number;
56
+ nXOffset: number;
57
+ nYOffset: number;
58
+ }
59
+ declare class FontTextureAtlasNode extends TextureAtlasNode {
60
+ metrics: IMetrics;
61
+ emptySize: number;
62
+ constructor(rect: Rectangle, texCoords: number[]);
63
+ }
64
+ declare class FontAtlas {
65
+ atlasesArr: FontTextureAtlas[];
66
+ samplerArr: Uint32Array;
67
+ sdfParamsArr: Float32Array;
68
+ catalogSrc: string;
69
+ protected atlasIndexes: Record<string, number>;
70
+ protected atlasIndexesDeferred: Record<string, Deferred<number>>;
71
+ protected tokenImageSize: number;
72
+ protected _handler: Handler | null;
73
+ constructor(catalogSrc?: string);
74
+ assignHandler(handler: Handler): void;
75
+ getFontIndex(face: string): Promise<number>;
76
+ getFullIndex(face: string): string;
77
+ protected _applyFontDataToAtlas(atlas: FontTextureAtlas, data: IFontParams, index?: number): void;
78
+ initFont(faceName: string, dataJson: IFontParams, imageBase64: string): void;
79
+ protected _createTexture(atlas: FontTextureAtlas, img: HTMLImageElementExt): void;
80
+ loadFont(faceName: string, srcDir: string, atlasUrl: string): void;
81
+ }
82
+ export { FontAtlas };