@openglobus/og 0.19.4 → 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 (308) 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} +5 -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 +8 -1
  223. package/lib/js/Object3d.js +12 -2
  224. package/lib/js/camera/Frustum.d.ts +1 -1
  225. package/lib/js/camera/Frustum.js +3 -2
  226. package/lib/js/control/DebugInfo.js +19 -18
  227. package/lib/js/control/Lighting.d.ts +4 -0
  228. package/lib/js/control/Lighting.js +51 -12
  229. package/lib/js/control/SimpleSkyBackground.d.ts +2 -0
  230. package/lib/js/control/SimpleSkyBackground.js +13 -3
  231. package/lib/js/control/drawing/PolygonDrawingScene.js +2 -2
  232. package/lib/js/control/visibleExtent/drawnode.js +1 -1
  233. package/lib/js/entity/GeoObject.d.ts +12 -3
  234. package/lib/js/entity/GeoObject.js +34 -2
  235. package/lib/js/entity/GeoObjectHandler.d.ts +5 -0
  236. package/lib/js/entity/GeoObjectHandler.js +47 -0
  237. package/lib/js/entity/Geometry.d.ts +24 -11
  238. package/lib/js/entity/Geometry.js +17 -9
  239. package/lib/js/entity/GeometryHandler.js +5 -5
  240. package/lib/js/entity/Label.d.ts +7 -0
  241. package/lib/js/entity/Label.js +11 -0
  242. package/lib/js/entity/Polyline.d.ts +15 -7
  243. package/lib/js/entity/Polyline.js +54 -6
  244. package/lib/js/entity/Strip.d.ts +12 -0
  245. package/lib/js/entity/Strip.js +16 -0
  246. package/lib/js/entity/StripHandler.js +1 -1
  247. package/lib/js/entity/index.d.ts +10 -11
  248. package/lib/js/entity/index.js +10 -11
  249. package/lib/js/index.d.ts +5 -5
  250. package/lib/js/index.js +5 -5
  251. package/lib/js/layer/Bing.d.ts +4 -0
  252. package/lib/js/layer/Bing.js +40 -0
  253. package/lib/js/layer/GeoImage.d.ts +1 -1
  254. package/lib/js/layer/GeoVideo.d.ts +1 -1
  255. package/lib/js/layer/Layer.d.ts +1 -1
  256. package/lib/js/layer/Layer.js +2 -2
  257. package/lib/js/layer/OpenStreetMap.d.ts +4 -0
  258. package/lib/js/layer/OpenStreetMap.js +19 -0
  259. package/lib/js/layer/Vector.d.ts +3 -0
  260. package/lib/js/layer/Vector.js +3 -3
  261. package/lib/js/layer/index.d.ts +12 -11
  262. package/lib/js/layer/index.js +12 -11
  263. package/lib/js/math/Mat4.js +18 -17
  264. package/lib/js/mercator.js +2 -1
  265. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +4 -5
  266. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +3 -0
  267. package/lib/js/quadTree/EarthQuadTreeStrategy.js +40 -5
  268. package/lib/js/quadTree/EntityCollectionNode.d.ts +2 -2
  269. package/lib/js/quadTree/EntityCollectionNode.js +13 -14
  270. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +5 -0
  271. package/lib/js/quadTree/MarsQuadTreeStrategy.js +31 -5
  272. package/lib/js/quadTree/Node.d.ts +2 -1
  273. package/lib/js/quadTree/Node.js +38 -28
  274. package/lib/js/quadTree/QuadTreeStrategy.d.ts +3 -0
  275. package/lib/js/quadTree/QuadTreeStrategy.js +17 -0
  276. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +3 -3
  277. package/lib/js/renderer/Renderer.js +1 -0
  278. package/lib/js/scene/Planet.js +6 -4
  279. package/lib/js/segment/Segment.d.ts +12 -9
  280. package/lib/js/segment/Segment.js +47 -24
  281. package/lib/js/segment/SegmentLonLat.d.ts +1 -5
  282. package/lib/js/segment/SegmentLonLat.js +8 -100
  283. package/lib/js/segment/SegmentLonLatWgs84.js +5 -3
  284. package/lib/js/shaders/billboard.js +4 -4
  285. package/lib/js/shaders/drawnode.js +16 -19
  286. package/lib/js/shaders/geoObject.js +4 -5
  287. package/lib/js/shaders/ray.js +7 -3
  288. package/lib/js/terrain/BilTerrain.d.ts +1 -1
  289. package/lib/js/terrain/BilTerrain.js +7 -6
  290. package/lib/js/terrain/EmptyTerrain.d.ts +7 -0
  291. package/lib/js/terrain/EmptyTerrain.js +7 -0
  292. package/lib/js/terrain/GlobusRgbTerrain.d.ts +6 -0
  293. package/lib/js/terrain/GlobusRgbTerrain.js +25 -0
  294. package/lib/js/terrain/GlobusTerrain.d.ts +5 -5
  295. package/lib/js/terrain/GlobusTerrain.js +35 -30
  296. package/lib/js/terrain/RgbTerrain.d.ts +22 -0
  297. package/lib/js/terrain/RgbTerrain.js +415 -0
  298. package/lib/js/terrain/index.d.ts +3 -2
  299. package/lib/js/terrain/index.js +3 -2
  300. package/lib/js/ui/Color.d.ts +22 -0
  301. package/lib/js/ui/Color.js +58 -0
  302. package/lib/js/utils/GeoImageCreator.js +1 -1
  303. package/lib/js/utils/NormalMapCreator.js +1 -1
  304. package/lib/js/utils/VectorTileCreator.js +3 -3
  305. package/lib/js/utils/shared.d.ts +1 -8
  306. package/lib/js/utils/shared.js +17 -8
  307. package/package.json +2 -1
  308. package/lib/js/terrain/MapboxTerrain.js +0 -305
@@ -0,0 +1,65 @@
1
+ import { Label } from "./Label";
2
+ import { BaseBillboardHandler } from "./BaseBillboardHandler";
3
+ import { EntityCollection } from "./EntityCollection";
4
+ import { WebGLBufferExt } from "../webgl/Handler";
5
+ import { Vec3 } from "../math/Vec3";
6
+ import { Vec4 } from "../math/Vec4";
7
+ type LabelWorkerCallbackData = {
8
+ vertexArr: Float32Array;
9
+ texCoordArr: Float32Array;
10
+ gliphParamArr: Float32Array;
11
+ positionHighArr: Float32Array;
12
+ positionLowArr: Float32Array;
13
+ sizeArr: Float32Array;
14
+ offsetArr: Float32Array;
15
+ rgbaArr: Float32Array;
16
+ rotationArr: Float32Array;
17
+ fontIndexArr: Float32Array;
18
+ outlineArr: Float32Array;
19
+ outlineColorArr: Float32Array;
20
+ pickingColorArr: Float32Array;
21
+ };
22
+ declare class LabelHandler extends BaseBillboardHandler {
23
+ protected _billboards: Label[];
24
+ protected _gliphParamBuffer: WebGLBufferExt | null;
25
+ protected _fontIndexBuffer: WebGLBufferExt | null;
26
+ protected _outlineBuffer: WebGLBufferExt | null;
27
+ protected _outlineColorBuffer: WebGLBufferExt | null;
28
+ protected _gliphParamArr: Float32Array;
29
+ protected _fontIndexArr: Float32Array;
30
+ protected _outlineArr: Float32Array;
31
+ protected _outlineColorArr: Float32Array;
32
+ _maxLetters: number;
33
+ constructor(entityCollection: EntityCollection, maxLetters?: number);
34
+ initProgram(): void;
35
+ get labels(): Label[];
36
+ add(label: Label): void;
37
+ updateFonts(): void;
38
+ protected _addLabelToArrays(label: Label): void;
39
+ assignFontAtlas(label: Label): void;
40
+ workerCallback(data: LabelWorkerCallbackData, label: Label): void;
41
+ clear(): void;
42
+ protected _deleteBuffers(): void;
43
+ _displayPASS(): void;
44
+ protected _pickingPASS(): void;
45
+ protected _removeBillboard(label: Label): void;
46
+ setText(index: number, text: string, fontIndex: number, align: number, isRTL?: boolean): void;
47
+ setPositionArr(index: number, positionHigh: Vec3, positionLow: Vec3): void;
48
+ setPickingColorArr(index: number, color: Vec3): void;
49
+ setSizeArr(index: number, size: number): void;
50
+ setOffsetArr(index: number, offset: Vec3): void;
51
+ setRgbaArr(index: number, rgba: Vec4): void;
52
+ setOutlineColorArr(index: number, rgba: Vec4): void;
53
+ setOutlineArr(index: number, outline: number): void;
54
+ setRotationArr(index: number, rotation: number): void;
55
+ setVisibility(index: number, visibility: boolean): void;
56
+ setVertexArr(index: number, vertexArr: number[] | Float32Array): void;
57
+ setFontIndexArr(index: number, fontIndex: number): void;
58
+ createSizeBuffer(): void;
59
+ createFontIndexBuffer(): void;
60
+ createTexCoordBuffer(): void;
61
+ createOutlineBuffer(): void;
62
+ createOutlineColorBuffer(): void;
63
+ setMaxLetters(c: number): void;
64
+ }
65
+ export { LabelHandler };
@@ -0,0 +1,15 @@
1
+ import { BaseWorker } from "../utils/BaseWorker";
2
+ import { Label } from "../entity/Label";
3
+ import { LabelHandler } from "../entity/LabelHandler";
4
+ export declare const LOCK_UPDATE = -2;
5
+ export declare const LOCK_FREE = -1;
6
+ interface LabelInfo {
7
+ label: Label;
8
+ handler: LabelHandler;
9
+ }
10
+ declare class LabelWorker extends BaseWorker<LabelInfo> {
11
+ constructor(numWorkers?: number);
12
+ protected _onMessage(e: MessageEvent): void;
13
+ make(data: LabelInfo): void;
14
+ }
15
+ export { LabelWorker };
@@ -0,0 +1,179 @@
1
+ import { Entity } from "./Entity";
2
+ import { PointCloudHandler } from "./PointCloudHandler";
3
+ import { RenderNode } from "../scene/RenderNode";
4
+ import { Vec3 } from "../math/Vec3";
5
+ import { Vec4 } from "../math/Vec4";
6
+ import { WebGLBufferExt } from "../webgl/Handler";
7
+ import { EntityCollection } from "./EntityCollection";
8
+ export interface IPointCloudParams {
9
+ visibility?: boolean;
10
+ pointSize?: number;
11
+ pickingScale?: number;
12
+ points?: Poi[];
13
+ }
14
+ type Poi = [number, number, number, number, number, number, number, any | undefined];
15
+ interface IPoint {
16
+ _entity: Entity | null;
17
+ _pickingColor: Vec3;
18
+ _entityCollection: EntityCollection | null;
19
+ index: number;
20
+ position: Vec3;
21
+ color: Vec4;
22
+ pointCloud: PointCloud;
23
+ properties: any;
24
+ }
25
+ /**
26
+ * PointCloud object.
27
+ * @class
28
+ * @param {*} [options] - Point cloud options:
29
+ * @param {Array.<Array.<number>>} [options.points] - Points cartesian coordinates array,
30
+ * where first three is cartesian coordinates, next fourth is an RGBA color, and last is a point properties.
31
+ * @param {number} [options.pointSize] - Point screen size in pixels.
32
+ * @param {number} [options.pickingScale] - Point border picking size in screen pixels.
33
+ * @param {boolean} [options.visibility] - Point cloud visibility.
34
+ * @example <caption>Creates point cloud with two ten pixel size points</caption>
35
+ * new og.Entity({
36
+ * pointCloud: {
37
+ * pointSize: 10,
38
+ * points: [
39
+ * [0, 0, 0, 255, 255, 255, 255, { 'name': 'White point' }],
40
+ * [100, 100, 0, 255, 0, 0, 255, { 'name': 'Red point' }]
41
+ * ]
42
+ * }
43
+ * });
44
+ */
45
+ declare class PointCloud {
46
+ static __counter__: number;
47
+ protected __id: number;
48
+ /**
49
+ * Cloud visibility.
50
+ * @public
51
+ * @type {boolean}
52
+ */
53
+ visibility: boolean;
54
+ /**
55
+ * Point screen size in pixels.
56
+ * @public
57
+ * @type {number}
58
+ */
59
+ pointSize: number;
60
+ /**
61
+ * Point picking border size in pixels.
62
+ * @public
63
+ * @type {number}
64
+ */
65
+ pickingScale: number;
66
+ /**
67
+ * Parent collection render node.
68
+ * @protected
69
+ * @type {RenderNode | null}
70
+ */
71
+ protected _renderNode: RenderNode | null;
72
+ /**
73
+ * Entity instance that holds this point cloud.
74
+ * @public
75
+ * @type {Entity | null}
76
+ */
77
+ _entity: Entity | null;
78
+ /**
79
+ * Points properties.
80
+ * @protected
81
+ * @type {IPoint[]}
82
+ */
83
+ protected _points: IPoint[];
84
+ /**
85
+ * Coordinates array.
86
+ * @protected
87
+ * @type {number[]}
88
+ */
89
+ protected _coordinatesData: number[];
90
+ /**
91
+ * Color array.
92
+ * @protected
93
+ * @type {number[]}
94
+ */
95
+ protected _colorData: number[];
96
+ /**
97
+ * Picking color array.
98
+ * @protected
99
+ * @type {number[]}
100
+ */
101
+ protected _pickingColorData: number[];
102
+ protected _coordinatesBuffer: WebGLBufferExt | null;
103
+ protected _colorBuffer: WebGLBufferExt | null;
104
+ protected _pickingColorBuffer: WebGLBufferExt | null;
105
+ /**
106
+ * Handler that stores and renders this object.
107
+ * @public
108
+ * @type {PointCloudHandler}
109
+ */
110
+ _handler: PointCloudHandler | null;
111
+ _handlerIndex: number;
112
+ protected _buffersUpdateCallbacks: Function[];
113
+ protected _changedBuffers: boolean[];
114
+ constructor(options?: IPointCloudParams);
115
+ /**
116
+ * Clears point cloud data
117
+ * @public
118
+ */
119
+ clear(): void;
120
+ /**
121
+ * Sets cloud visibility.
122
+ * @public
123
+ * @param {boolean} visibility - Visibility flag.
124
+ */
125
+ setVisibility(visibility: boolean): void;
126
+ /**
127
+ * @return {boolean} Point cloud visibility.
128
+ */
129
+ getVisibility(): boolean;
130
+ /**
131
+ * Assign rendering scene node.
132
+ * @public
133
+ * @param {RenderNode} renderNode - Assigned render node.
134
+ */
135
+ setRenderNode(renderNode: RenderNode): void;
136
+ /**
137
+ * Removes from entity.
138
+ * @public
139
+ */
140
+ remove(): void;
141
+ /**
142
+ * Adds points to render.
143
+ * @public
144
+ * @param { Poi[]} points - Point cloud array.
145
+ * @example
146
+ * var points = [[0, 0, 0, 255, 255, 255, 255, { 'name': 'White point' }], [100, 100, 0, 255, 0, 0, 255, { 'name': 'Red point' }]];
147
+ */
148
+ setPoints(points: Poi[]): void;
149
+ setPointPosition(index: number, x: number, y: number, z: number): void;
150
+ setPointColor(index: number, r: number, g: number, b: number, a: number): void;
151
+ addPoints(points: Poi[]): void;
152
+ addPoint(index: number, point: Poi): void;
153
+ /**
154
+ * Returns specific point by index.
155
+ * @public
156
+ * @param {number} index - Point index.
157
+ * @return {Poi} Specific point
158
+ */
159
+ getPoint(index: number): IPoint;
160
+ removePoint(index: number): void;
161
+ insertPoint(index: number, point: Poi): void;
162
+ draw(): void;
163
+ drawPicking(): void;
164
+ /**
165
+ * Update gl buffers.
166
+ * @protected
167
+ */
168
+ protected _update(): void;
169
+ /**
170
+ * Delete buffers
171
+ * @public
172
+ */
173
+ _deleteBuffers(): void;
174
+ protected _createCoordinatesBuffer(): void;
175
+ protected _createColorBuffer(): void;
176
+ protected _createPickingColorBuffer(): void;
177
+ protected _setPickingColors(): void;
178
+ }
179
+ export { PointCloud };
@@ -0,0 +1,42 @@
1
+ import { EntityCollection } from "./EntityCollection";
2
+ import { PointCloud } from "./PointCloud";
3
+ import { Renderer } from "../renderer/Renderer";
4
+ import { RenderNode } from "../scene/RenderNode";
5
+ declare class PointCloudHandler {
6
+ static __counter__: number;
7
+ protected __id: number;
8
+ /**
9
+ * Picking rendering option.
10
+ * @public
11
+ * @type {boolean}
12
+ */
13
+ pickingEnabled: boolean;
14
+ /**
15
+ * Parent collection
16
+ * @public
17
+ * @type {EntityCollection}
18
+ */
19
+ _entityCollection: EntityCollection;
20
+ /**
21
+ * Renderer
22
+ * @protected
23
+ * @type {Renderer|null}
24
+ */
25
+ protected _renderer: Renderer | null;
26
+ /**
27
+ * Point cloud array
28
+ * @protected
29
+ * @type {Array.<PointCloud>}
30
+ */
31
+ protected _pointClouds: PointCloud[];
32
+ constructor(entityCollection: EntityCollection);
33
+ protected _initProgram(): void;
34
+ setRenderNode(renderNode: RenderNode): void;
35
+ add(pointCloud: PointCloud): void;
36
+ remove(pointCloud: PointCloud): void;
37
+ protected _reindexPointCloudArray(startIndex: number): void;
38
+ draw(): void;
39
+ drawPicking(): void;
40
+ clear(): void;
41
+ }
42
+ export { PointCloudHandler };
@@ -0,0 +1,345 @@
1
+ import { Entity } from "./Entity";
2
+ import { Extent } from "../Extent";
3
+ import { LonLat } from "../LonLat";
4
+ import { NumberArray3, Vec3 } from "../math/Vec3";
5
+ import { NumberArray2 } from "../math/Vec2";
6
+ import { NumberArray4 } from "../math/Vec4";
7
+ import { PolylineHandler } from "./PolylineHandler";
8
+ import { RenderNode } from "../scene/RenderNode";
9
+ import { WebGLBufferExt } from "../webgl/Handler";
10
+ import { TypedArray } from "../utils/shared";
11
+ import { Ellipsoid } from "../ellipsoid/Ellipsoid";
12
+ export type Geodetic = LonLat | NumberArray2 | NumberArray3;
13
+ export type Cartesian = Vec3 | NumberArray3;
14
+ export type SegmentPath3vExt = Cartesian[];
15
+ export type SegmentPathLonLatExt = Geodetic[];
16
+ export type SegmentPathColor = NumberArray4[];
17
+ export type SegmentPath3v = Vec3[];
18
+ export type SegmentPathLonLat = LonLat[];
19
+ export interface IPolylineParams {
20
+ altitude?: number;
21
+ thickness?: number;
22
+ opacity?: number;
23
+ color?: string;
24
+ visibility?: boolean;
25
+ isClosed?: boolean;
26
+ pathColors?: SegmentPathColor[];
27
+ path3v?: SegmentPath3vExt[];
28
+ pathLonLat?: SegmentPathLonLatExt[];
29
+ }
30
+ /**
31
+ * Polyline object.
32
+ * @class
33
+ * @param {Object} [options] - Polyline options:
34
+ * @param {number} [options.thickness] - Thickness in screen pixels 1.5 is default.
35
+ * @param {Number} [options.altitude] - Relative to ground layers altitude value.
36
+ * @param {Vec4} [options.color] - RGBA color.
37
+ * @param {Boolean} [options.opacity] - Line opacity.
38
+ * @param {Boolean} [options.visibility] - Polyline visibility. True default.
39
+ * @param {Boolean} [options.isClosed] - Closed geometry type identification.
40
+ * @param {SegmentPathLonLatExt[]} [options.pathLonLat] - Polyline geodetic coordinates array. [[[0,0,0], [1,1,1],...]]
41
+ * @param {SegmentPath3vExt[]} [options.path3v] - LinesString cartesian coordinates array. [[[0,0,0], [1,1,1],...]]
42
+ * @param {SegmentPathColor[]} [options.pathColors] - Coordinates color. [[[1,0,0,1], [0,1,0,1],...]] for right and green colors.
43
+ */
44
+ declare class Polyline {
45
+ static __counter__: number;
46
+ /**
47
+ * Object uniq identifier.
48
+ * @protected
49
+ * @type {number}
50
+ */
51
+ protected __id: number;
52
+ altitude: number;
53
+ /**
54
+ * Polyline thickness in screen pixels.
55
+ * @public
56
+ * @type {number}
57
+ */
58
+ thickness: number;
59
+ protected _opacity: number;
60
+ /**
61
+ * Polyline RGBA color.
62
+ * @protected
63
+ * @type {Float32Array} - (exactly 4 entries)
64
+ */
65
+ protected _defaultColor: Float32Array | NumberArray4;
66
+ /**
67
+ * Polyline visibility.
68
+ * @public
69
+ * @type {boolean}
70
+ */
71
+ visibility: boolean;
72
+ /**
73
+ * Polyline geometry ring type identification.
74
+ * @protected
75
+ * @type {Boolean}
76
+ */
77
+ protected _closedLine: boolean;
78
+ /**
79
+ * Polyline cartesian coordinates.
80
+ * @public
81
+ * @type {Array.<Vec3>}
82
+ */
83
+ _path3v: SegmentPath3vExt[];
84
+ protected _pathLengths: number[];
85
+ /**
86
+ * Polyline geodetic degrees coordinates.
87
+ * @private
88
+ * @type {Array.<LonLat>}
89
+ */
90
+ protected _pathLonLat: SegmentPathLonLatExt[];
91
+ /**
92
+ * Polyline geodetic mercator coordinates.
93
+ * @public
94
+ * @type {Array.<LonLat>}
95
+ */
96
+ _pathLonLatMerc: LonLat[][];
97
+ protected _pathColors: SegmentPathColor[];
98
+ /**
99
+ * Polyline geodetic extent.
100
+ * @protected
101
+ * @type {Extent}
102
+ */
103
+ _extent: Extent;
104
+ protected _verticesHigh: TypedArray | number[];
105
+ protected _verticesLow: TypedArray | number[];
106
+ protected _orders: TypedArray | number[];
107
+ protected _indexes: TypedArray | number[];
108
+ protected _colors: TypedArray | number[];
109
+ protected _verticesHighBuffer: WebGLBufferExt | null;
110
+ protected _verticesLowBuffer: WebGLBufferExt | null;
111
+ protected _ordersBuffer: WebGLBufferExt | null;
112
+ protected _indexesBuffer: WebGLBufferExt | null;
113
+ protected _colorsBuffer: WebGLBufferExt | null;
114
+ protected _pickingColor: NumberArray3;
115
+ protected _renderNode: RenderNode | null;
116
+ /**
117
+ * Entity instance that holds this Polyline.
118
+ * @public
119
+ * @type {Entity}
120
+ */
121
+ _entity: Entity | null;
122
+ /**
123
+ * Handler that stores and renders this Polyline object.
124
+ * @public
125
+ * @type {PolylineHandler | null}
126
+ */
127
+ _handler: PolylineHandler | null;
128
+ _handlerIndex: number;
129
+ protected _buffersUpdateCallbacks: Function[];
130
+ protected _changedBuffers: boolean[];
131
+ constructor(options?: IPolylineParams);
132
+ /**
133
+ * Appends to the line array new cartesian coordinates line data.
134
+ * @static
135
+ */
136
+ static appendLineData3v(path3v: SegmentPath3vExt[], pathColors: SegmentPathColor[], defaultColor: NumberArray4, isClosed: boolean, outVerticesHigh: number[], outVerticesLow: number[], outOrders: number[], outIndexes: number[], ellipsoid: Ellipsoid, outTransformedPathLonLat: SegmentPathLonLatExt[], outPath3v: SegmentPath3vExt[], outTransformedPathMerc: LonLat[][], outExtent: Extent, outColors: number[]): void;
137
+ /**
138
+ * Appends to the line new cartesian coordinates point data.
139
+ * @static
140
+ */
141
+ static appendPoint3v(path3v: SegmentPath3vExt[], point3v: Vec3, pathColors: SegmentPathColor[], color: NumberArray4, isClosed: boolean, outVerticesHigh: number[], outVerticesLow: number[], outColors: number[], outOrders: number[], outIndexes: number[], ellipsoid: Ellipsoid | null, outTransformedPathLonLat: SegmentPathLonLatExt[], outTransformedPathMerc: LonLat[][], outExtent: Extent): void;
142
+ static setPathColors(pathLonLat: SegmentPathLonLatExt[], pathColors: SegmentPathColor[], defaultColor: NumberArray4, outColors: number[]): void;
143
+ /**
144
+ * Appends to the line array new geodetic coordinates line data.
145
+ * @static
146
+ */
147
+ static appendLineDataLonLat(pathLonLat: SegmentPathLonLatExt[], pathColors: SegmentPathColor[], defaultColor: NumberArray4, isClosed: boolean, outVerticesHigh: number[], outVerticesLow: number[], outOrders: number[], outIndexes: number[], ellipsoid: Ellipsoid, outTransformedPathCartesian: SegmentPath3vExt[], outPathLonLat: SegmentPathLonLatExt[], outTransformedPathMerc: LonLat[][], outExtent: Extent, outColors: number[]): void;
148
+ /**
149
+ * Sets polyline path with cartesian coordinates.
150
+ * @protected
151
+ * @param {SegmentPath3vExt[]} path3v - Cartesian coordinates.
152
+ */
153
+ protected _setEqualPath3v(path3v: SegmentPath3vExt[]): void;
154
+ /**
155
+ * Sets polyline with geodetic coordinates.
156
+ * @protected
157
+ * @param {SegmentPathLonLat[]} pathLonLat - Geodetic polyline path coordinates.
158
+ */
159
+ protected _setEqualPathLonLat(pathLonLat: SegmentPathLonLat[]): void;
160
+ setPointLonLat(lonlat: LonLat, index: number, segmentIndex: number): void;
161
+ /**
162
+ * Changes cartesian point coordinates of the path
163
+ * @param {Vec3} coordinates - New coordinates
164
+ * @param {number} [index=0] - Path segment index
165
+ * @param {number} [segmentIndex=0] - Index of the point in the path segment
166
+ * @param {boolean} [skipLonLat=false] - Do not update geodetic coordinates
167
+ */
168
+ setPoint3v(coordinates: Vec3, index?: number, segmentIndex?: number, skipLonLat?: boolean): void;
169
+ protected _resizePathLengths(index?: number): void;
170
+ /**
171
+ * Remove path segment
172
+ * @param {number} index - Path segment index
173
+ */
174
+ removeSegment(index: number): void;
175
+ /**
176
+ * Remove point from the path
177
+ * @param {number} index - Point index in a path segment
178
+ * @param {number} [multiLineIndex=0] - Segment path index
179
+ */
180
+ removePoint(index: number, multiLineIndex?: number): void;
181
+ /**
182
+ * Insert point coordinates in a path segment
183
+ * @param {Vec3} point3v - Point coordinates
184
+ * @param {number} [index=0] - Index in the path
185
+ * @param {NumberArray4} [color] - Point color
186
+ * @param {number} [multilineIndex=0] - Path segment index
187
+ */
188
+ insertPoint3v(point3v: Vec3, index?: number, color?: NumberArray4, multilineIndex?: number): void;
189
+ /**
190
+ * Adds a new cartesian point in the end of the path in a last line segment.
191
+ * @public
192
+ * @param {Vec3} point3v - New coordinates.
193
+ * @param {NumberArray4} [color] -
194
+ * @param {boolean} [skipEllipsoid] -
195
+ */
196
+ appendPoint3v(point3v: Vec3, color?: NumberArray4, skipEllipsoid?: boolean): void;
197
+ /**
198
+ * Append new point in the end of the path.
199
+ * @public
200
+ * @param {Vec3} point3v - New point coordinates.
201
+ * @param {number} [multiLineIndex=0] - Path segment index, first by default.
202
+ */
203
+ addPoint3v(point3v: Vec3, multiLineIndex?: number): void;
204
+ /**
205
+ * Append new geodetic point in the end of the path.
206
+ * @public
207
+ * @param {LonLat} lonLat - New coordinate.
208
+ * @param {number} [multiLineIndex=0] - Path segment index, first by default.
209
+ */
210
+ addPointLonLat(lonLat: LonLat, multiLineIndex?: number): void;
211
+ /**
212
+ * Clear polyline data.
213
+ * @public
214
+ */
215
+ clear(): void;
216
+ /**
217
+ * Change path point color
218
+ * @param {NumberArray4} color - New color
219
+ * @param {number} [index=0] - Point index
220
+ * @param {number} [segmentIndex=0] - Path segment index
221
+ */
222
+ setPointColor(color: NumberArray4, index?: number, segmentIndex?: number): void;
223
+ /**
224
+ * Sets polyline opacity.
225
+ * @public
226
+ * @param {number} opacity - Opacity.
227
+ */
228
+ setOpacity(opacity: number): void;
229
+ /**
230
+ * Sets Polyline thickness in screen pixels.
231
+ * @public
232
+ * @param {number} thickness - Thickness.
233
+ */
234
+ setAltitude(altitude: number): void;
235
+ /**
236
+ * Sets Polyline thickness in screen pixels.
237
+ * @public
238
+ * @param {number} thickness - Thickness.
239
+ */
240
+ setThickness(thickness: number): void;
241
+ /**
242
+ * Returns thickness.
243
+ * @public
244
+ * @return {number} Thickness in screen pixels.
245
+ */
246
+ getThickness(): number;
247
+ /**
248
+ * Sets visibility.
249
+ * @public
250
+ * @param {boolean} visibility - Polyline visibility.
251
+ */
252
+ setVisibility(visibility: boolean): void;
253
+ /**
254
+ * Gets Polyline visibility.
255
+ * @public
256
+ * @return {boolean} Polyline visibility.
257
+ */
258
+ getVisibility(): boolean;
259
+ /**
260
+ * Assign with render node.
261
+ * @public
262
+ * @param {RenderNode} renderNode -
263
+ */
264
+ setRenderNode(renderNode: RenderNode): void;
265
+ protected _clearData(): void;
266
+ protected _createData3v(path3v: SegmentPath3vExt[]): void;
267
+ protected _createDataLonLat(pathLonlat: SegmentPathLonLatExt[]): void;
268
+ /**
269
+ * Removes from an entity.
270
+ * @public
271
+ */
272
+ remove(): void;
273
+ setPickingColor3v(color: Vec3): void;
274
+ /**
275
+ * Returns polyline geodetic extent.
276
+ * @public
277
+ * @returns {Extent} - Geodetic extent
278
+ */
279
+ getExtent(): Extent;
280
+ /**
281
+ * Returns path cartesian coordinates.
282
+ * @return {SegmentPath3vExt[]} Polyline path.
283
+ */
284
+ getPath3v(): SegmentPath3vExt[];
285
+ /**
286
+ * Returns geodetic path coordinates.
287
+ * @return {SegmentPathLonLatExt[]} Polyline path.
288
+ */
289
+ getPathLonLat(): SegmentPathLonLatExt[];
290
+ getPathColors(): NumberArray4[][];
291
+ /**
292
+ * @todo
293
+ * @param {NumberArray4[][]} pathColors
294
+ */
295
+ setPathColors(pathColors: SegmentPathColor[]): void;
296
+ /**
297
+ * Sets polyline color
298
+ * @param {string} htmlColor- HTML color
299
+ */
300
+ setColorHTML(htmlColor: string): void;
301
+ /**
302
+ * Sets polyline geodetic coordinates.
303
+ * @public
304
+ * @param {SegmentPathLonLat[]} pathLonLat - Polyline path cartesian coordinates.
305
+ * @param {Boolean} [forceEqual=false] - OPTIMIZATION FLAG: Makes assigning faster for size equal coordinates array.
306
+ */
307
+ setPathLonLat(pathLonLat: SegmentPathLonLatExt[], forceEqual?: boolean): void;
308
+ /**
309
+ * Sets Polyline cartesian coordinates.
310
+ * @public
311
+ * @param {SegmentPath3vExt[]} path3v - Polyline path cartesian coordinates. (exactly 3 entries)
312
+ * @param {SegmentPathColor[]} [pathColors] - Polyline path cartesian coordinates. (exactly 3 entries)
313
+ * @param {Boolean} [forceEqual=false] - Makes assigning faster for size equal coordinates array.
314
+ */
315
+ setPath3v(path3v: SegmentPath3vExt[], pathColors?: SegmentPathColor[], forceEqual?: boolean): void;
316
+ draw(): void;
317
+ drawPicking(): void;
318
+ /**
319
+ * Refresh buffers.
320
+ * @protected
321
+ */
322
+ protected _refresh(): void;
323
+ /**
324
+ * Updates render buffers.
325
+ * @protected
326
+ */
327
+ protected _update(): void;
328
+ /**
329
+ * Clear GL buffers.
330
+ * @public
331
+ */
332
+ _deleteBuffers(): void;
333
+ /**
334
+ * Creates vertices buffers.
335
+ * @protected
336
+ */
337
+ protected _createVerticesBuffer(): void;
338
+ /**
339
+ * Creates gl index and order buffer.
340
+ * @protected
341
+ */
342
+ protected _createIndexBuffer(): void;
343
+ protected _createColorsBuffer(): void;
344
+ }
345
+ export { Polyline };
@@ -0,0 +1,22 @@
1
+ import { EntityCollection } from "./EntityCollection";
2
+ import { Polyline } from "./Polyline";
3
+ import { Renderer } from "../renderer/Renderer";
4
+ import { RenderNode } from "../scene/RenderNode";
5
+ declare class PolylineHandler {
6
+ static __counter__: number;
7
+ protected __id: number;
8
+ _entityCollection: EntityCollection;
9
+ pickingEnabled: boolean;
10
+ protected _renderer: Renderer | null;
11
+ protected _polylines: Polyline[];
12
+ constructor(entityCollection: EntityCollection);
13
+ protected _initProgram(): void;
14
+ setRenderNode(renderNode: RenderNode): void;
15
+ add(polyline: Polyline): void;
16
+ remove(polyline: Polyline): void;
17
+ reindexPolylineArray(startIndex: number): void;
18
+ draw(): void;
19
+ drawPicking(): void;
20
+ clear(): void;
21
+ }
22
+ export { PolylineHandler };