@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,415 @@
1
+ import { EventsHandler } from "../Events";
2
+ import { Extent } from "../Extent";
3
+ import { Node } from "../quadTree/Node";
4
+ import { Material } from "./Material";
5
+ import { Planet } from "../scene/Planet";
6
+ import { Segment } from "../segment/Segment";
7
+ import { Vec3, NumberArray3 } from "../math/Vec3";
8
+ import { NumberArray4 } from "../math/Vec4";
9
+ import { IDefaultTextureParams } from "../webgl/Handler";
10
+ export interface ILayerParams {
11
+ properties?: any;
12
+ labelMaxLetters?: number;
13
+ hideInLayerSwitcher?: boolean;
14
+ opacity?: number;
15
+ minZoom?: number;
16
+ maxZoom?: number;
17
+ attribution?: string;
18
+ zIndex?: number;
19
+ isBaseLayer?: boolean;
20
+ defaultTextures?: [IDefaultTextureParams, IDefaultTextureParams];
21
+ visibility?: boolean;
22
+ fading?: boolean;
23
+ height?: number;
24
+ textureFilter?: string;
25
+ isSRGB?: boolean;
26
+ pickingEnabled?: boolean;
27
+ preLoadZoomLevels?: number[];
28
+ extent?: Extent | [[number, number], [number, number]];
29
+ ambient?: string | NumberArray3 | Vec3;
30
+ diffuse?: string | NumberArray3 | Vec3;
31
+ specular?: string | NumberArray3 | Vec3;
32
+ shininess?: number;
33
+ nightTextureCoefficient?: number;
34
+ iconSrc?: string | null;
35
+ }
36
+ /**
37
+ * @class
38
+ * Base class; normally only used for creating subclasses and not instantiated in apps.
39
+ * A visual representation of raster or vector map data well known as a layer.
40
+ * @class
41
+ * @param {String} [name="noname"] - Layer name.
42
+ * @param {Object} [options] - Layer options:
43
+ * @param {number} [options.opacity=1.0] - Layer opacity.
44
+ * @param {number} [options.minZoom=0] - Minimal visibility zoom level.
45
+ * @param {number} [options.maxZoom=0] - Maximal visibility zoom level.
46
+ * @param {string} [options.attribution] - Layer attribution that displayed in the attribution area on the screen.
47
+ * @param {boolean} [options.isBaseLayer=false] - This is a base layer.
48
+ * @param {boolean} [options.visibility=true] - Layer visibility.
49
+ * @param {boolean} [options.hideInLayerSwitcher=false] - Presence of layer in dialog window of LayerSwitcher control.
50
+ * @param {boolean} [options.isSRGB=false] - Layer image webgl internal format.
51
+ * @param {Extent} [options.extent=[[-180.0, -90.0], [180.0, 90.0]]] - Visible extent.
52
+ * @param {string} [options.textureFilter="anisotropic"] - Image texture filter. Available values: "nearest", "linear", "mipmap" and "anisotropic".
53
+ * @param {string} [options.icon] - Icon for LayerSwitcher
54
+ * @fires EventsHandler<LayerEventsList>#visibilitychange
55
+ * @fires EventsHandler<LayerEventsList>#add
56
+ * @fires EventsHandler<LayerEventsList>#remove
57
+ * @fires EventsHandler<LayerEventsList>#mousemove
58
+ * @fires EventsHandler<LayerEventsList>#mouseenter
59
+ * @fires EventsHandler<LayerEventsList>#mouseleave
60
+ * @fires EventsHandler<LayerEventsList>#lclick
61
+ * @fires EventsHandler<LayerEventsList>#rclick
62
+ * @fires EventsHandler<LayerEventsList>#mclick
63
+ * @fires EventsHandler<LayerEventsList>#ldblclick
64
+ * @fires EventsHandler<LayerEventsList>#rdblclick
65
+ * @fires EventsHandler<LayerEventsList>#mdblclick
66
+ * @fires EventsHandler<LayerEventsList>#lup
67
+ * @fires EventsHandler<LayerEventsList>#rup
68
+ * @fires EventsHandler<LayerEventsList>#mup
69
+ * @fires EventsHandler<LayerEventsList>#ldown
70
+ * @fires EventsHandler<LayerEventsList>#rdown
71
+ * @fires EventsHandler<LayerEventsList>#mdown
72
+ * @fires EventsHandler<LayerEventsList>#lhold
73
+ * @fires EventsHandler<LayerEventsList>#rhold
74
+ * @fires EventsHandler<LayerEventsList>#mhold
75
+ * @fires EventsHandler<LayerEventsList>#mousewheel
76
+ * @fires EventsHandler<LayerEventsList>#touchmove
77
+ * @fires EventsHandler<LayerEventsList>#touchstart
78
+ * @fires EventsHandler<LayerEventsList>#touchend
79
+ * @fires EventsHandler<LayerEventsList>#doubletouch
80
+ */
81
+ declare class Layer {
82
+ static __counter__: number;
83
+ /**
84
+ * Uniq identifier.
85
+ * @public
86
+ * @type {number}
87
+ */
88
+ __id: number;
89
+ /**
90
+ * Events handler.
91
+ * @public
92
+ * @type {Events}
93
+ */
94
+ events: EventsHandler<LayerEventsList>;
95
+ /**
96
+ * Layer user name.
97
+ * @public
98
+ * @type {string}
99
+ */
100
+ name: string;
101
+ properties: any;
102
+ hideInLayerSwitcher: boolean;
103
+ /**
104
+ * Minimal zoom level when layer is visible.
105
+ * @public
106
+ * @type {number}
107
+ */
108
+ minZoom: number;
109
+ /**
110
+ * Maximal zoom level when layer is visible.
111
+ * @public
112
+ * @type {number}
113
+ */
114
+ maxZoom: number;
115
+ /**
116
+ * Planet node.
117
+ * @public
118
+ * @type {Planet}
119
+ */
120
+ _planet: Planet | null;
121
+ createTexture: Function | null;
122
+ nightTextureCoefficient: number;
123
+ protected _hasImageryTiles: boolean;
124
+ /**
125
+ * Layer global opacity.
126
+ * @public
127
+ * @type {number}
128
+ */
129
+ protected _opacity: number;
130
+ /**
131
+ * Layer attribution.
132
+ * @protected
133
+ * @type {string}
134
+ */
135
+ protected _attribution: string;
136
+ /**
137
+ * Layer z-index.
138
+ * @protected
139
+ * @type {number}
140
+ */
141
+ protected _zIndex: number;
142
+ /**
143
+ * Base layer type flag.
144
+ * @protected
145
+ * @type {boolean}
146
+ */
147
+ protected _isBaseLayer: boolean;
148
+ _defaultTextures: [IDefaultTextureParams | null, IDefaultTextureParams | null];
149
+ /**
150
+ * Layer visibility.
151
+ * @protected
152
+ * @type {boolean}
153
+ */
154
+ protected _visibility: boolean;
155
+ _fading: boolean;
156
+ protected _fadingFactor: number;
157
+ _fadingOpacity: number;
158
+ /**
159
+ * Height over the ground.
160
+ * @public
161
+ * @type {number}
162
+ */
163
+ _height: number;
164
+ protected _textureFilter: string;
165
+ protected _isSRGB: boolean;
166
+ _internalFormat: number | null;
167
+ /**
168
+ * Visible degrees extent.
169
+ * @public
170
+ * @type {Extent}
171
+ */
172
+ _extent: Extent;
173
+ /**
174
+ * Visible mercator extent.
175
+ * @public
176
+ * @type {Extent}
177
+ */
178
+ _extentMerc: Extent;
179
+ /**
180
+ * Layer picking color. Assign when added to the planet.
181
+ * @public
182
+ * @type {Vec3}
183
+ */
184
+ _pickingColor: Vec3;
185
+ _pickingEnabled: boolean;
186
+ protected _isPreloadDone: boolean;
187
+ protected _preLoadZoomLevels: number[];
188
+ _ambient: Float32Array | null;
189
+ _diffuse: Float32Array | null;
190
+ _specular: Float32Array | null;
191
+ isVector: boolean;
192
+ protected _iconSrc: string | null;
193
+ constructor(name?: string | null, options?: ILayerParams);
194
+ get iconSrc(): string | null;
195
+ set iconSrc(src: string | null);
196
+ set diffuse(rgb: string | NumberArray3 | Vec3 | null | undefined);
197
+ set ambient(rgb: string | NumberArray3 | Vec3 | null | undefined);
198
+ set specular(rgb: string | NumberArray3 | Vec3 | null | undefined);
199
+ set shininess(v: number);
200
+ static getTMS(x: number, y: number, z: number): {
201
+ x: number;
202
+ y: number;
203
+ z: number;
204
+ };
205
+ static getTileIndex(x: number, y: number, z: number, tileGroup: number): string;
206
+ get instanceName(): string;
207
+ get rendererEvents(): EventsHandler<LayerEventsList>;
208
+ set opacity(opacity: number);
209
+ set pickingEnabled(picking: boolean);
210
+ get pickingEnabled(): boolean;
211
+ /**
212
+ * Returns true if a layer has imagery tiles.
213
+ * @public
214
+ * @virtual
215
+ * @returns {boolean} - Imagery tiles flag.
216
+ */
217
+ hasImageryTiles(): boolean;
218
+ /**
219
+ * Gets layer identifier.
220
+ * @public
221
+ * @returns {string} - Layer object id.
222
+ */
223
+ getID(): number;
224
+ get id(): number;
225
+ /**
226
+ * @todo: remove after all
227
+ */
228
+ get _id(): number;
229
+ /**
230
+ * Compares layers instances.
231
+ * @public
232
+ * @param {Layer} layer - Layer instance to compare.
233
+ * @returns {boolean} - Returns true if the layers is the same instance of the input.
234
+ */
235
+ isEqual(layer: Layer): boolean;
236
+ /**
237
+ * Assign the planet.
238
+ * @protected
239
+ * @virtual
240
+ * @param {Planet} planet - Planet render node.
241
+ */
242
+ _assignPlanet(planet: Planet): void;
243
+ get isIdle(): boolean;
244
+ /**
245
+ * Assign picking color to the layer.
246
+ * @protected
247
+ * @virtual
248
+ */
249
+ protected _bindPicking(): void;
250
+ /**
251
+ * Adds layer to the planet.
252
+ * @public
253
+ * @param {Planet} planet - Adds layer to the planet.
254
+ */
255
+ addTo(planet: Planet): void;
256
+ /**
257
+ * Removes from planet.
258
+ * @public
259
+ * @returns {Layer} -This layer.
260
+ */
261
+ remove(): this;
262
+ /**
263
+ * Clears layer material.
264
+ * @virtual
265
+ */
266
+ clear(): void;
267
+ /**
268
+ * Returns planet instance.
269
+ */
270
+ get planet(): Planet | null;
271
+ /**
272
+ * Sets layer attribution text.
273
+ * @public
274
+ * @param {string} html - HTML code that represents layer attribution, it could be just a text.
275
+ */
276
+ setAttribution(html: string): void;
277
+ /**
278
+ * Gets layer attribution.
279
+ * @public
280
+ * @returns {string} Layer attribution
281
+ */
282
+ getAttribution(): string;
283
+ /**
284
+ * Sets height over the ground.
285
+ * @public
286
+ * @param {number} height - Layer height.
287
+ */
288
+ setHeight(height: number): void;
289
+ /**
290
+ * Gets layer height.
291
+ * @public
292
+ * @returns {number} -
293
+ */
294
+ getHeight(): number;
295
+ /**
296
+ * Sets z-index.
297
+ * @public
298
+ * @param {number} zIndex - Layer z-index.
299
+ */
300
+ setZIndex(zIndex: number): void;
301
+ /**
302
+ * Gets z-index.
303
+ * @public
304
+ * @returns {number} -
305
+ */
306
+ getZIndex(): number;
307
+ /**
308
+ * Set zIndex to the maximal value depend on other layers on the planet.
309
+ * @public
310
+ */
311
+ bringToFront(): void;
312
+ /**
313
+ * Returns true if the layer is a base.
314
+ * @public
315
+ * @returns {boolean} - Base layer flag.
316
+ */
317
+ isBaseLayer(): boolean;
318
+ /**
319
+ * Sets base layer type true.
320
+ * @public
321
+ * @param {boolean} isBaseLayer -
322
+ */
323
+ setBaseLayer(isBaseLayer: boolean): void;
324
+ /**
325
+ * Sets layer visibility.
326
+ * @public
327
+ * @virtual
328
+ * @param {boolean} visibility - Layer visibility.
329
+ */
330
+ setVisibility(visibility: boolean): void;
331
+ protected _forceMaterialApply(segment: Segment): void;
332
+ clearMaterial(material: Material): void;
333
+ loadMaterial(material: Material, forceLoading?: boolean): void;
334
+ applyMaterial(m: Material, isForced?: boolean): NumberArray4;
335
+ protected _preLoadRecursive(node: Node, maxZoom: number): void;
336
+ protected _preLoad(): void;
337
+ /**
338
+ * Gets layer visibility.
339
+ * @public
340
+ * @returns {boolean} - Layer visibility.
341
+ */
342
+ getVisibility(): boolean;
343
+ /**
344
+ * Sets visible geographical extent.
345
+ * @public
346
+ * @param {Extent} extent - Layer visible geographical extent.
347
+ */
348
+ setExtent(extent: Extent): void;
349
+ /**
350
+ * Gets layer extent.
351
+ * @public
352
+ * @return {Extent} - Layer geodetic extent.
353
+ */
354
+ getExtent(): Extent;
355
+ /**
356
+ * Gets layer web-mercator extent.
357
+ * @public
358
+ * @return {Extent} - Layer extent.
359
+ */
360
+ getExtentMerc(): Extent;
361
+ /**
362
+ * Fly extent.
363
+ * @public
364
+ */
365
+ flyExtent(): void;
366
+ /**
367
+ * View extent.
368
+ * @public
369
+ */
370
+ viewExtent(): void;
371
+ /**
372
+ * Special correction of the whole globe extent.
373
+ * @protected
374
+ */
375
+ protected _correctFullExtent(): void;
376
+ get opacity(): number;
377
+ get screenOpacity(): number;
378
+ _refreshFadingOpacity(): boolean;
379
+ createMaterial(segment: Segment): Material;
380
+ redraw(): void;
381
+ abortMaterialLoading(material: Material): void;
382
+ abortLoading(): void;
383
+ }
384
+ export type LayerEventsList = [
385
+ "visibilitychange",
386
+ "add",
387
+ "remove",
388
+ "mousemove",
389
+ "mouseenter",
390
+ "mouseleave",
391
+ "lclick",
392
+ "rclick",
393
+ "mclick",
394
+ "ldblclick",
395
+ "rdblclick",
396
+ "mdblclick",
397
+ "lup",
398
+ "rup",
399
+ "mup",
400
+ "ldown",
401
+ "rdown",
402
+ "mdown",
403
+ "lhold",
404
+ "rhold",
405
+ "mhold",
406
+ "mousewheel",
407
+ "touchmove",
408
+ "touchstart",
409
+ "touchend",
410
+ "doubletouch",
411
+ "touchleave",
412
+ "touchenter"
413
+ ];
414
+ export declare const LAYER_EVENTS: LayerEventsList;
415
+ export { Layer };
@@ -0,0 +1,34 @@
1
+ import { Layer } from "./Layer";
2
+ import { Node } from "../quadTree/Node";
3
+ import { Segment } from "../segment/Segment";
4
+ import { WebGLTextureExt } from "../webgl/Handler";
5
+ import { NumberArray4 } from "../math/Vec4";
6
+ /**
7
+ * @class Material
8
+ * @param {Segment} segment
9
+ * @param {Layer} layer
10
+ */
11
+ declare class Material {
12
+ segment: Segment;
13
+ layer: Layer;
14
+ isReady: boolean;
15
+ isLoading: boolean;
16
+ texture: WebGLTextureExt | null;
17
+ pickingMask: WebGLTextureExt | null;
18
+ textureExists: boolean;
19
+ appliedNodeId: number;
20
+ appliedNode: Node | null;
21
+ texOffset: NumberArray4;
22
+ loadingAttempts: number;
23
+ _updateTexture: WebGLTextureExt | null;
24
+ _updatePickingMask: WebGLTextureExt | null;
25
+ pickingReady: boolean;
26
+ constructor(segment: Segment, layer: Layer);
27
+ abortLoading(): void;
28
+ _createTexture(img: HTMLCanvasElement | ImageBitmap | HTMLImageElement): any;
29
+ applyImage(img: HTMLCanvasElement | ImageBitmap | HTMLImageElement): void;
30
+ applyTexture(texture: WebGLTextureExt | null, pickingMask?: WebGLTextureExt | null): void;
31
+ textureNotExists(): void;
32
+ clear(): void;
33
+ }
34
+ export { Material };
@@ -0,0 +1,4 @@
1
+ import { XYZ, IXYZParams } from "./XYZ";
2
+ export declare class OpenStreetMap extends XYZ {
3
+ constructor(name: string | null, options?: IXYZParams);
4
+ }
@@ -0,0 +1,246 @@
1
+ import { Entity, IEntityParams } from "../entity/Entity";
2
+ import { EntityCollection } from "../entity/EntityCollection";
3
+ import { EntityCollectionNode, EntityCollectionNodeWGS84 } from "../quadTree/EntityCollectionNode";
4
+ import { EventsHandler } from "../Events";
5
+ import { GeometryHandler } from "../entity/GeometryHandler";
6
+ import { ILayerParams, Layer, LayerEventsList } from "./Layer";
7
+ import { NumberArray3 } from "../math/Vec3";
8
+ import { Planet } from "../scene/Planet";
9
+ import { QueueArray } from "../QueueArray";
10
+ import { Material } from "./Material";
11
+ import { NumberArray4 } from "../math/Vec4";
12
+ export interface IVectorParams extends ILayerParams {
13
+ entities?: Entity[] | IEntityParams[];
14
+ polygonOffsetUnits?: number;
15
+ nodeCapacity?: number;
16
+ relativeToGround?: boolean;
17
+ clampToGround?: boolean;
18
+ async?: boolean;
19
+ pickingScale?: number;
20
+ scaleByDistance?: NumberArray3;
21
+ labelMaxLetters?: number;
22
+ }
23
+ type VectorEventsList = [
24
+ "draw",
25
+ "entityadd",
26
+ "entityremove"
27
+ ];
28
+ export type VectorEventsType = EventsHandler<VectorEventsList> & EventsHandler<LayerEventsList>;
29
+ /**
30
+ * Vector layer represents alternative entities store. Used for geospatial data rendering like
31
+ * points, lines, polygons, geometry objects etc.
32
+ * @class
33
+ * @extends {Layer}
34
+ * @param {string} [name="noname"] - Layer name.
35
+ * @param {IVectorParams} [options] - Layer options:
36
+ * @param {number} [options.minZoom=0] - Minimal visible zoom. 0 is default
37
+ * @param {number} [options.maxZoom=50] - Maximal visible zoom. 50 is default.
38
+ * @param {string} [options.attribution] - Layer attribution.
39
+ * @param {string} [options.zIndex=0] - Layer Z-order index. 0 is default.
40
+ * @param {boolean} [options.visibility=true] - Layer visibility. True is default.
41
+ * @param {boolean} [options.isBaseLayer=false] - Layer base layer. False is default.
42
+ * @param {Array.<Entity>} [options.entities] - Entities array.
43
+ * @param {Array.<number>} [options.scaleByDistance] - Scale by distance parameters. (exactly 3 entries)
44
+ * First index - near distance to the entity, after entity becomes full scale.
45
+ * Second index - far distance to the entity, when entity becomes zero scale.
46
+ * Third index - far distance to the entity, when entity becomes invisible.
47
+ * @param {number} [options.nodeCapacity=30] - Maximum entities quantity in the tree node. Rendering optimization parameter. 30 is default.
48
+ * @param {boolean} [options.async=true] - Asynchronous vector data handling before rendering. True for optimization huge data.
49
+ * @param {boolean} [options.clampToGround = false] - Clamp vector data to the ground.
50
+ * @param {boolean} [options.relativeToGround = false] - Place vector data relative to the ground relief.
51
+ * @param {Number} [options.polygonOffsetUnits=0.0] - The multiplier by which an implementation-specific value is multiplied with to create a constant depth offset.
52
+ *
53
+ * //@fires EventsHandler<VectorEventsList>#entitymove
54
+ * @fires EventsHandler<VectorEventsList>#draw
55
+ * @fires EventsHandler<VectorEventsList>#add
56
+ * @fires EventsHandler<VectorEventsList>#remove
57
+ * @fires EventsHandler<VectorEventsList>#entityadd
58
+ * @fires EventsHandler<VectorEventsList>#entityremove
59
+ * @fires EventsHandler<VectorEventsList>#visibilitychange
60
+ */
61
+ declare class Vector extends Layer {
62
+ events: VectorEventsType;
63
+ /**
64
+ * Entities collection.
65
+ * @protected
66
+ */
67
+ protected _entities: Entity[];
68
+ /**
69
+ * First index - near distance to the entity, after that entity becomes full scale.
70
+ * Second index - far distance to the entity, when entity becomes zero scale.
71
+ * Third index - far distance to the entity, when entity becomes invisible.
72
+ * @public
73
+ * @type {NumberArray3} - (exactly 3 entries)
74
+ */
75
+ scaleByDistance: NumberArray3;
76
+ pickingScale: number;
77
+ /**
78
+ * Asynchronous data handling before rendering.
79
+ * @public
80
+ * @type {boolean}
81
+ */
82
+ async: boolean;
83
+ /**
84
+ * Clamp vector data to the ground.
85
+ * @public
86
+ * @type {boolean}
87
+ */
88
+ clampToGround: boolean;
89
+ /**
90
+ * Sets vector data relative to the ground relief.
91
+ * @public
92
+ * @type {boolean}
93
+ */
94
+ relativeToGround: boolean;
95
+ protected _stripEntityCollection: EntityCollection;
96
+ protected _polylineEntityCollection: EntityCollection;
97
+ protected _geoObjectEntityCollection: EntityCollection;
98
+ _geometryHandler: GeometryHandler;
99
+ /**
100
+ * Maximum entities quantity in the tree node.
101
+ * @public
102
+ */
103
+ _nodeCapacity: number;
104
+ /**
105
+ * @todo: remove, or replace with node strategy
106
+ */
107
+ protected _entityCollectionsTree: EntityCollectionNode | null;
108
+ protected _entityCollectionsTreeNorth: EntityCollectionNodeWGS84 | null;
109
+ protected _entityCollectionsTreeSouth: EntityCollectionNodeWGS84 | null;
110
+ _renderingNodes: Record<number, boolean>;
111
+ _renderingNodesNorth: Record<number, boolean>;
112
+ _renderingNodesSouth: Record<number, boolean>;
113
+ protected _counter: number;
114
+ protected _deferredEntitiesPendingQueue: QueueArray<EntityCollectionNode>;
115
+ protected _pendingsQueue: Entity[];
116
+ /**
117
+ * Specifies the scale Units for gl.polygonOffset function to calculate depth values, 0.0 is default.
118
+ * @public
119
+ * @type {Number}
120
+ */
121
+ polygonOffsetUnits: number;
122
+ _secondPASS: EntityCollectionNode[];
123
+ protected _labelMaxLetters: number;
124
+ constructor(name?: string | null, options?: IVectorParams);
125
+ get labelMaxLetters(): number;
126
+ get instanceName(): string;
127
+ protected _bindPicking(): void;
128
+ /**
129
+ * Adds layer to the planet.
130
+ * @public
131
+ * @param {Planet} planet - Planet scene object.
132
+ * @returns {Vector} -
133
+ */
134
+ addTo(planet: Planet): void;
135
+ remove(): this;
136
+ /**
137
+ * Returns stored entities.
138
+ * @public
139
+ * @returns {Array.<Entity>} -
140
+ */
141
+ getEntities(): Entity[];
142
+ /**
143
+ * Adds entity to the layer.
144
+ * @public
145
+ * @param {Entity} entity - Entity.
146
+ * @param {boolean} [rightNow=false] - Entity insertion option. False is default.
147
+ * @returns {Vector} - Returns this layer.
148
+ */
149
+ add(entity: Entity, rightNow?: boolean): this;
150
+ /**
151
+ * Adds entity to the layer in the index position.
152
+ * @public
153
+ * @param {Entity} entity - Entity.
154
+ * @param {Number} index - Index position.
155
+ * @param {boolean} [rightNow] - Entity insertion option. False is default.
156
+ * @returns {Vector} - Returns this layer.
157
+ */
158
+ insert(entity: Entity, index: number, rightNow?: boolean): this;
159
+ protected _proceedEntity(entity: Entity, rightNow?: boolean): void;
160
+ /**
161
+ * Adds entity array to the layer.
162
+ * @public
163
+ * @param {Array.<Entity>} entities - Entities array.
164
+ * @param {boolean} [rightNow=false] - Entity insertion option. False is default.
165
+ * @returns {Vector} - Returns this layer.
166
+ */
167
+ addEntities(entities: Entity[], rightNow?: boolean): this;
168
+ /**
169
+ * Remove entity from layer.
170
+ * TODO: memory leaks.
171
+ * @public
172
+ * @param {Entity} entity - Entity to remove.
173
+ * @returns {Vector} - Returns this layer.
174
+ */
175
+ removeEntity(entity: Entity): this;
176
+ /**
177
+ * Set layer picking events active.
178
+ * @public
179
+ * @param {boolean} picking - Picking enable flag.
180
+ */
181
+ set pickingEnabled(picking: boolean);
182
+ /**
183
+ * Refresh collected entities indexes from startIndex entities collection array position.
184
+ * @protected
185
+ * @param {number} startIndex - Entity array index.
186
+ */
187
+ protected _reindexEntitiesArray(startIndex: number): void;
188
+ /**
189
+ * Removes entities from layer.
190
+ * @public
191
+ * @param {Array.<Entity>} entities - Entity array.
192
+ * @returns {Vector} - Returns this layer.
193
+ */
194
+ removeEntities(entities: Entity[]): this;
195
+ /**
196
+ * TODO: Clear the layer.
197
+ * @public
198
+ */
199
+ clear(): void;
200
+ /**
201
+ * Safety entities loop.
202
+ * @public
203
+ * @param {(entity: Entity, index?: number) => void} callback - Entity callback.
204
+ */
205
+ each(callback: (entity: Entity, index?: number) => void): void;
206
+ /**
207
+ * Removes current entities from layer and adds new entities.
208
+ * @public
209
+ * @param {Array.<Entity>} entities - New entity array.
210
+ * @returns {Vector} - Returns layer instance.
211
+ */
212
+ setEntities(entities: Entity[]): this;
213
+ /**
214
+ * @todo: replace to a strategy node collecting algorithm
215
+ */
216
+ protected _createEntityCollectionsTree(entitiesForTree: Entity[]): void;
217
+ /**
218
+ * @todo (refactoring) could be used in somethig like bindEntityCollectionQuad(...)
219
+ * @param entityCollection
220
+ */
221
+ _bindEventsDefault(entityCollection: EntityCollection): void;
222
+ protected _collectStripCollectionPASS(outArr: EntityCollection[]): void;
223
+ protected _collectPolylineCollectionPASS(outArr: EntityCollection[]): void;
224
+ protected _collectGeoObjectCollectionPASS(outArr: EntityCollection[]): void;
225
+ collectVisibleCollections(outArr: EntityCollection[]): void;
226
+ _queueDeferredNode(node: EntityCollectionNode): void;
227
+ protected _execDeferredNode(node: EntityCollectionNode): void;
228
+ /**
229
+ * Start to load tile material.
230
+ * @public
231
+ * @virtual
232
+ * @param {Material} material - Current material.
233
+ */
234
+ loadMaterial(material: Material): void;
235
+ /**
236
+ * Abort exact material loading.
237
+ * @public
238
+ * @override
239
+ * @param {Material} material - Segment material.
240
+ */
241
+ abortMaterialLoading(material: Material): void;
242
+ applyMaterial(material: Material, isForced?: boolean): NumberArray4;
243
+ clearMaterial(material: Material): void;
244
+ update(): void;
245
+ }
246
+ export { Vector };