@openglobus/og 0.17.1 → 0.18.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 (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -149
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -128
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1168
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -10
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -255
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -595
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
@@ -1,24 +1,27 @@
1
- "use strict";
2
-
3
- // import { QueueArray } from '../QueueArray.js';
4
-
5
- import { BaseWorker } from "../utils/BaseWorker.js";
1
+ import {BaseWorker} from "../utils/BaseWorker";
2
+ import {Label} from "../entity/Label";
3
+ import {LabelHandler} from "../entity/LabelHandler";
6
4
 
7
5
  export const LOCK_UPDATE = -2;
8
6
  export const LOCK_FREE = -1;
9
7
 
10
- class LabelWorker extends BaseWorker {
11
- constructor(numWorkers = 4) {
12
- super(numWorkers, _programm);
13
- this._source = new Map();
8
+ interface LabelInfo {
9
+ label: Label;
10
+ handler: LabelHandler;
11
+ }
12
+
13
+ class LabelWorker extends BaseWorker<LabelInfo> {
14
+
15
+ constructor(numWorkers: number = 4) {
16
+ super(numWorkers, LABEL_PROGRAM);
14
17
  }
15
18
 
16
- _onMessage(e) {
17
- let s = this._source.get(e.data.id);
19
+ protected override _onMessage(e: MessageEvent) {
20
+ let s = this._source.get(e.data.id)!;
18
21
 
19
22
  if (s.label._lockId === LOCK_UPDATE) {
20
23
  requestAnimationFrame(() => {
21
- this.make({ handler: s.handler, label: s.label });
24
+ this.make({handler: s.handler, label: s.label});
22
25
  });
23
26
  } else {
24
27
  s.handler.workerCallback(e.data, s.label);
@@ -28,35 +31,22 @@ class LabelWorker extends BaseWorker {
28
31
  }
29
32
 
30
33
 
31
- make(data) {
34
+ public override make(data: LabelInfo) {
32
35
  let label = data.label,
33
36
  handler = data.handler;
34
37
 
35
38
  if (handler._entityCollection) {
36
39
 
37
40
  if (this._workerQueue.length) {
38
- var w = this._workerQueue.pop();
39
-
40
- this._source.set(this._id, data);
41
-
42
- let labelData = new Float32Array([
43
- /*0*/this._id++,
44
- /*1*/handler._maxLetters,
45
- /*2*/label.getVisibility() ? 1 : 0,
46
- /*3, 4, 5*/label._positionHigh.x, label._positionHigh.y, label._positionHigh.z,
47
- /*6, 7, 8*/label._positionLow.x, label._positionLow.y, label._positionLow.z,
48
- /*9*/label._size,
49
- /*10, 11, 12*/label._offset.x, label._offset.y, label._offset.z,
50
- /*13, 14, 15, 16*/label._color.x, label._color.y, label._color.z, label._color.w,
51
- /*17*/label._rotation,
52
- /*18, 19, 20*/label._alignedAxis.x, label._alignedAxis.y, label._alignedAxis.z,
53
- /*21*/label._fontIndex,
54
- /*22*/label._outline,
55
- /*23, 24, 25, 26*/label._outlineColor.x, label._outlineColor.y, label._outlineColor.z, label._outlineColor.w,
56
- /*27, 28, 29*/label._entity._pickingColor.x, label._entity._pickingColor.y, label._entity._pickingColor.z
57
- ]);
41
+ let w = this._workerQueue.pop()!;
42
+
43
+ this._source.set(this._sourceId, data);
44
+
45
+ let labelData = label.serializeWorkerData(this._sourceId);
46
+
47
+ label._lockId = this._sourceId;
58
48
 
59
- label._lockId = this._id;
49
+ this._sourceId++;
60
50
 
61
51
  w.postMessage({
62
52
  labelData: labelData
@@ -70,7 +60,7 @@ class LabelWorker extends BaseWorker {
70
60
  }
71
61
  }
72
62
 
73
- const _programm = `'use strict';
63
+ const LABEL_PROGRAM = `'use strict';
74
64
 
75
65
  function concatTypedArrays(dest, index, source) {
76
66
  let len = source.length,
@@ -191,4 +181,4 @@ const _programm = `'use strict';
191
181
  ]);
192
182
  }`;
193
183
 
194
- export { LabelWorker };
184
+ export {LabelWorker};
@@ -1,7 +1,30 @@
1
- "use strict";
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
+
9
+ export interface IPointCloudParams {
10
+ visibility?: boolean;
11
+ pointSize?: number;
12
+ pickingScale?: number;
13
+ points?: Poi[];
14
+ }
2
15
 
3
- import { Vec3 } from "../math/Vec3.js";
4
- import { Vec4 } from "../math/Vec4.js";
16
+ type Poi = [number, number, number, number, number, number, number, any | undefined];
17
+
18
+ interface IPoint {
19
+ _entity: Entity | null;
20
+ _pickingColor: Vec3;
21
+ _entityCollection: EntityCollection | null;
22
+ index: number;
23
+ position: Vec3;
24
+ color: Vec4;
25
+ pointCloud: PointCloud;
26
+ properties: any
27
+ }
5
28
 
6
29
  const COORDINATES_BUFFER = 0;
7
30
  const COLOR_BUFFER = 1;
@@ -12,9 +35,9 @@ const PICKING_COLOR_BUFFER = 2;
12
35
  * @class
13
36
  * @param {*} [options] - Point cloud options:
14
37
  * @param {Array.<Array.<number>>} [options.points] - Points cartesian coordinates array,
15
- * where first three is cartesian coordinates, next fourth is a RGBA color, and last is an point properties.
38
+ * where first three is cartesian coordinates, next fourth is an RGBA color, and last is a point properties.
16
39
  * @param {number} [options.pointSize] - Point screen size in pixels.
17
- * @param {number} [options.pickingDistance] - Point border picking size in screen pixels.
40
+ * @param {number} [options.pickingScale] - Point border picking size in screen pixels.
18
41
  * @param {boolean} [options.visibility] - Point cloud visibility.
19
42
  * @example <caption>Creates point cloud with two ten pixel size points</caption>
20
43
  * new og.Entity({
@@ -28,16 +51,90 @@ const PICKING_COLOR_BUFFER = 2;
28
51
  * });
29
52
  */
30
53
  class PointCloud {
31
- constructor(options) {
32
- options = options || {};
54
+ static __counter__: number = 0;
55
+ protected __id: number;
33
56
 
34
- /**
35
- * Object unic identifier.
36
- * @public
37
- * @readonly
38
- * @type {number}
39
- */
40
- this.id = PointCloud._staticCounter++;
57
+ /**
58
+ * Cloud visibility.
59
+ * @public
60
+ * @type {boolean}
61
+ */
62
+ public visibility: boolean;
63
+
64
+ /**
65
+ * Point screen size in pixels.
66
+ * @public
67
+ * @type {number}
68
+ */
69
+ public pointSize: number;
70
+
71
+ /**
72
+ * Point picking border size in pixels.
73
+ * @public
74
+ * @type {number}
75
+ */
76
+ public pickingScale: number;
77
+
78
+ /**
79
+ * Parent collection render node.
80
+ * @protected
81
+ * @type {RenderNode | null}
82
+ */
83
+ protected _renderNode: RenderNode | null;
84
+
85
+ /**
86
+ * Entity instance that holds this point cloud.
87
+ * @public
88
+ * @type {Entity | null}
89
+ */
90
+ public _entity: Entity | null;
91
+
92
+ /**
93
+ * Points properties.
94
+ * @protected
95
+ * @type {IPoint[]}
96
+ */
97
+ protected _points: IPoint[];
98
+
99
+ /**
100
+ * Coordinates array.
101
+ * @protected
102
+ * @type {number[]}
103
+ */
104
+ protected _coordinatesData: number[];
105
+
106
+ /**
107
+ * Color array.
108
+ * @protected
109
+ * @type {number[]}
110
+ */
111
+ protected _colorData: number[];
112
+
113
+ /**
114
+ * Picking color array.
115
+ * @protected
116
+ * @type {number[]}
117
+ */
118
+ protected _pickingColorData: number[];
119
+
120
+ protected _coordinatesBuffer: WebGLBufferExt | null;
121
+ protected _colorBuffer: WebGLBufferExt | null;
122
+ protected _pickingColorBuffer: WebGLBufferExt | null;
123
+
124
+ /**
125
+ * Handler that stores and renders this object.
126
+ * @public
127
+ * @type {PointCloudHandler}
128
+ */
129
+ public _handler: PointCloudHandler | null;
130
+ public _handlerIndex: number;
131
+
132
+ protected _buffersUpdateCallbacks: Function[];
133
+ protected _changedBuffers: boolean[];
134
+
135
+ constructor(options: IPointCloudParams = {}) {
136
+
137
+ this.__id = PointCloud.__counter__++;
41
138
 
42
139
  /**
43
140
  * Cloud visibility.
@@ -58,7 +155,7 @@ class PointCloud {
58
155
  * @public
59
156
  * @type {number}
60
157
  */
61
- this.pickingDistance = options.pickingDistance || 0;
158
+ this.pickingScale = options.pickingScale || 0;
62
159
 
63
160
  /**
64
161
  * Parent collection render node.
@@ -77,7 +174,7 @@ class PointCloud {
77
174
  /**
78
175
  * Points properties.
79
176
  * @private
80
- * @type {Array.<*>}
177
+ * @type {IPoint[]}
81
178
  */
82
179
  this._points = [];
83
180
 
@@ -121,25 +218,16 @@ class PointCloud {
121
218
 
122
219
  this._changedBuffers = new Array(this._buffersUpdateCallbacks.length);
123
220
 
124
- this.setPoints(options.points);
125
- }
126
-
127
- static get _staticCounter() {
128
- if (!this._counter && this._counter !== 0) {
129
- this._counter = 0;
221
+ if (options.points) {
222
+ this.setPoints(options.points);
130
223
  }
131
- return this._counter;
132
- }
133
-
134
- static set _staticCounter(n) {
135
- this._counter = n;
136
224
  }
137
225
 
138
226
  /**
139
227
  * Clears point cloud data
140
228
  * @public
141
229
  */
142
- clear() {
230
+ public clear() {
143
231
  this._points.length = 0;
144
232
  this._points = [];
145
233
 
@@ -155,28 +243,19 @@ class PointCloud {
155
243
  this._deleteBuffers();
156
244
  }
157
245
 
158
- /**
159
- * Set point cloud opacity.
160
- * @public
161
- * @param {number} opacity - Cloud opacity.
162
- */
163
- setOpacity(opacity) {
164
- this.opacity = opacity;
165
- }
166
-
167
246
  /**
168
247
  * Sets cloud visibility.
169
248
  * @public
170
- * @param {number} visibility - Visibility flag.
249
+ * @param {boolean} visibility - Visibility flag.
171
250
  */
172
- setVisibility(visibility) {
251
+ public setVisibility(visibility: boolean) {
173
252
  this.visibility = visibility;
174
253
  }
175
254
 
176
255
  /**
177
- * @return {boolean} Point cloud visibily.
256
+ * @return {boolean} Point cloud visibility.
178
257
  */
179
- getVisibility() {
258
+ public getVisibility(): boolean {
180
259
  return this.visibility;
181
260
  }
182
261
 
@@ -185,7 +264,7 @@ class PointCloud {
185
264
  * @public
186
265
  * @param {RenderNode} renderNode - Assigned render node.
187
266
  */
188
- setRenderNode(renderNode) {
267
+ public setRenderNode(renderNode: RenderNode) {
189
268
  this._renderNode = renderNode;
190
269
  this._setPickingColors();
191
270
  }
@@ -194,7 +273,7 @@ class PointCloud {
194
273
  * Removes from entity.
195
274
  * @public
196
275
  */
197
- remove() {
276
+ public remove() {
198
277
  this._entity = null;
199
278
  this._handler && this._handler.remove(this);
200
279
  }
@@ -202,31 +281,37 @@ class PointCloud {
202
281
  /**
203
282
  * Adds points to render.
204
283
  * @public
205
- * @param {Array.<Array<number>>} points - Point cloud array.
284
+ * @param { Poi[]} points - Point cloud array.
206
285
  * @example
207
286
  * var points = [[0, 0, 0, 255, 255, 255, 255, { 'name': 'White point' }], [100, 100, 0, 255, 0, 0, 255, { 'name': 'Red point' }]];
208
287
  */
209
- setPoints(points) {
288
+ public setPoints(points: Poi[]) {
210
289
  this.clear();
211
290
  for (let i = 0; i < points.length; i++) {
212
- var pi = points[i];
213
- var pos = new Vec3(pi[0], pi[1], pi[2]),
291
+ let pi = points[i];
292
+
293
+ let pos = new Vec3(pi[0], pi[1], pi[2]),
214
294
  col = new Vec4(pi[3], pi[4], pi[5], pi[6] == undefined ? 255.0 : pi[6]);
295
+
215
296
  this._coordinatesData.push(pos.x, pos.y, pos.z);
297
+
216
298
  this._colorData.push(col.x / 255.0, col.y / 255.0, col.z / 255.0, col.w / 255.0);
217
- var p = {
299
+
300
+ let p = {
301
+ _entity: this._entity,
218
302
  _pickingColor: new Vec3(),
219
- _entityCollection: this._entity && this._entity._entityCollection,
303
+ _entityCollection: this._entity ? this._entity._entityCollection : null,
220
304
  index: i,
221
305
  position: pos,
222
306
  color: col,
223
307
  pointCloud: this,
224
308
  properties: pi[7] || {}
225
309
  };
310
+
226
311
  this._points.push(p);
227
312
 
228
- if (this._renderNode) {
229
- this._renderNode.renderer.assignPickingColor(p);
313
+ if (this._renderNode && this._renderNode.renderer) {
314
+ this._renderNode.renderer.assignPickingColor<IPoint>(p);
230
315
  this._pickingColorData.push(
231
316
  p._pickingColor.x / 255.0,
232
317
  p._pickingColor.y / 255.0,
@@ -241,29 +326,25 @@ class PointCloud {
241
326
  this._changedBuffers[PICKING_COLOR_BUFFER] = true;
242
327
  }
243
328
 
244
- setPointPosition(index, x, y, z) {
329
+ public setPointPosition(index: number, x: number, y: number, z: number) {
245
330
  // TODO: ...
246
-
247
331
  this._changedBuffers[COORDINATES_BUFFER] = true;
248
332
  }
249
333
 
250
- setPointColor(index, r, g, b, a) {
334
+ public setPointColor(index: number, r: number, g: number, b: number, a: number) {
251
335
  // TODO: ...
252
-
253
336
  this._changedBuffers[COLOR_BUFFER] = true;
254
337
  }
255
338
 
256
- addPoints(points) {
339
+ public addPoints(points: Poi[]) {
257
340
  // TODO: ...
258
-
259
341
  this._changedBuffers[COORDINATES_BUFFER] = true;
260
342
  this._changedBuffers[COLOR_BUFFER] = true;
261
343
  this._changedBuffers[PICKING_COLOR_BUFFER] = true;
262
344
  }
263
345
 
264
- addPoint(index, point) {
346
+ public addPoint(index: number, point: Poi) {
265
347
  // TODO: ...
266
-
267
348
  this._changedBuffers[COORDINATES_BUFFER] = true;
268
349
  this._changedBuffers[COLOR_BUFFER] = true;
269
350
  this._changedBuffers[PICKING_COLOR_BUFFER] = true;
@@ -273,49 +354,35 @@ class PointCloud {
273
354
  * Returns specific point by index.
274
355
  * @public
275
356
  * @param {number} index - Point index.
276
- * @return {*} Specific point
357
+ * @return {Poi} Specific point
277
358
  */
278
- getPoint(index) {
359
+ public getPoint(index: number): IPoint {
279
360
  return this._points[index];
280
361
  }
281
362
 
282
- removePoint(index) {
363
+ public removePoint(index: number) {
283
364
  // TODO: ...
284
-
285
365
  this._changedBuffers[COORDINATES_BUFFER] = true;
286
366
  this._changedBuffers[COLOR_BUFFER] = true;
287
367
  this._changedBuffers[PICKING_COLOR_BUFFER] = true;
288
368
  }
289
369
 
290
- insertPoint(index, point) {
370
+ public insertPoint(index: number, point: Poi) {
291
371
  // TODO: ...
292
-
293
372
  this._changedBuffers[COORDINATES_BUFFER] = true;
294
373
  this._changedBuffers[COLOR_BUFFER] = true;
295
374
  this._changedBuffers[PICKING_COLOR_BUFFER] = true;
296
375
  }
297
376
 
298
- /**
299
- * Each point iterator.
300
- * @public
301
- * @param {callback} callback -
302
- */
303
- each(callback) {
304
- var i = this._points.length;
305
- while (i--) {
306
- callback && callback(this._points[i]);
307
- }
308
- }
309
-
310
- draw() {
377
+ public draw() {
311
378
  if (this.visibility && this._coordinatesData.length) {
312
379
  this._update();
313
380
 
314
- var rn = this._renderNode;
315
- var r = rn.renderer;
316
- var sh = r.handler.programs.pointCloud;
317
- var p = sh._program;
318
- var gl = r.handler.gl,
381
+ let rn = this._renderNode!;
382
+ let r = rn.renderer!;
383
+ let sh = r.handler.programs.pointCloud;
384
+ let p = sh._program;
385
+ let gl = r.handler.gl!,
319
386
  sha = p.attributes,
320
387
  shu = p.uniforms;
321
388
 
@@ -326,40 +393,28 @@ class PointCloud {
326
393
 
327
394
  sh.activate();
328
395
 
329
- gl.uniformMatrix4fv(
330
- shu.projectionViewMatrix,
331
- false,
332
- r.activeCamera._projectionViewMatrix._m
333
- );
334
-
335
- gl.uniform1f(shu.opacity, this._handler._entityCollection._fadingOpacity);
396
+ gl.uniformMatrix4fv(shu.projectionViewMatrix, false, r.activeCamera!.getProjectionViewMatrix());
336
397
 
398
+ gl.uniform1f(shu.opacity, this._handler!._entityCollection._fadingOpacity);
337
399
  gl.uniform1f(shu.pointSize, this.pointSize);
338
400
 
339
- gl.bindBuffer(gl.ARRAY_BUFFER, this._coordinatesBuffer);
340
- gl.vertexAttribPointer(
341
- sha.coordinates,
342
- this._coordinatesBuffer.itemSize,
343
- gl.FLOAT,
344
- false,
345
- 0,
346
- 0
347
- );
401
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._coordinatesBuffer as WebGLBuffer);
402
+ gl.vertexAttribPointer(sha.coordinates, this._coordinatesBuffer!.itemSize, gl.FLOAT, false, 0, 0);
348
403
 
349
- gl.bindBuffer(gl.ARRAY_BUFFER, this._colorBuffer);
350
- gl.vertexAttribPointer(sha.colors, this._colorBuffer.itemSize, gl.FLOAT, false, 0, 0);
404
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._colorBuffer as WebGLBuffer);
405
+ gl.vertexAttribPointer(sha.colors, this._colorBuffer!.itemSize, gl.FLOAT, false, 0, 0);
351
406
 
352
- gl.drawArrays(gl.POINTS, 0, this._coordinatesBuffer.numItems);
407
+ gl.drawArrays(gl.POINTS, 0, this._coordinatesBuffer!.numItems);
353
408
  }
354
409
  }
355
410
 
356
- drawPicking() {
411
+ public drawPicking() {
357
412
  if (this.visibility && this._coordinatesData.length) {
358
- var rn = this._renderNode;
359
- var r = rn.renderer;
360
- var sh = r.handler.programs.pointCloud;
361
- var p = sh._program;
362
- var gl = r.handler.gl,
413
+ let rn = this._renderNode!;
414
+ let r = rn.renderer!;
415
+ let sh = r.handler.programs.pointCloud;
416
+ let p = sh._program;
417
+ let gl = r.handler.gl!,
363
418
  sha = p.attributes,
364
419
  shu = p.uniforms;
365
420
 
@@ -370,47 +425,28 @@ class PointCloud {
370
425
  // this._handler._entityCollection.polygonOffsetUnits
371
426
  // );
372
427
 
373
- gl.uniformMatrix4fv(
374
- shu.projectionViewMatrix,
375
- false,
376
- r.activeCamera._projectionViewMatrix._m
377
- );
378
-
379
- gl.uniform1f(shu.opacity, this._handler._entityCollection._fadingOpacity);
380
-
381
- gl.uniform1f(shu.pointSize, this.pointSize + this.pickingDistance);
382
-
383
- gl.bindBuffer(gl.ARRAY_BUFFER, this._coordinatesBuffer);
384
- gl.vertexAttribPointer(
385
- sha.coordinates,
386
- this._coordinatesBuffer.itemSize,
387
- gl.FLOAT,
388
- false,
389
- 0,
390
- 0
391
- );
392
-
393
- gl.bindBuffer(gl.ARRAY_BUFFER, this._pickingColorBuffer);
394
- gl.vertexAttribPointer(
395
- sha.colors,
396
- this._pickingColorBuffer.itemSize,
397
- gl.FLOAT,
398
- false,
399
- 0,
400
- 0
401
- );
402
-
403
- gl.drawArrays(gl.POINTS, 0, this._coordinatesBuffer.numItems);
428
+ gl.uniformMatrix4fv(shu.projectionViewMatrix, false, r.activeCamera!.getProjectionViewMatrix());
429
+
430
+ gl.uniform1f(shu.opacity, this._handler!._entityCollection._fadingOpacity);
431
+ gl.uniform1f(shu.pointSize, this.pointSize + this.pickingScale);
432
+
433
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._coordinatesBuffer as WebGLBuffer);
434
+ gl.vertexAttribPointer(sha.coordinates, this._coordinatesBuffer!.itemSize, gl.FLOAT, false, 0, 0);
435
+
436
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._pickingColorBuffer as WebGLBuffer);
437
+ gl.vertexAttribPointer(sha.colors, this._pickingColorBuffer!.itemSize, gl.FLOAT, false, 0, 0);
438
+
439
+ gl.drawArrays(gl.POINTS, 0, this._coordinatesBuffer!.numItems);
404
440
  }
405
441
  }
406
442
 
407
443
  /**
408
444
  * Update gl buffers.
409
- * @private
445
+ * @protected
410
446
  */
411
- _update() {
447
+ protected _update() {
412
448
  if (this._renderNode) {
413
- var i = this._changedBuffers.length;
449
+ let i = this._changedBuffers.length;
414
450
  while (i--) {
415
451
  if (this._changedBuffers[i]) {
416
452
  this._buffersUpdateCallbacks[i].call(this);
@@ -422,16 +458,16 @@ class PointCloud {
422
458
 
423
459
  /**
424
460
  * Delete buffers
425
- * @private
461
+ * @public
426
462
  */
427
- _deleteBuffers() {
463
+ public _deleteBuffers() {
428
464
  if (this._renderNode) {
429
- var r = this._renderNode.renderer,
430
- gl = r.handler.gl;
465
+ let r = this._renderNode.renderer!,
466
+ gl = r.handler.gl!;
431
467
 
432
- gl.deleteBuffer(this._coordinatesBuffer);
433
- gl.deleteBuffer(this._colorBuffer);
434
- gl.deleteBuffer(this._pickingColorBuffer);
468
+ gl.deleteBuffer(this._coordinatesBuffer as WebGLBuffer);
469
+ gl.deleteBuffer(this._colorBuffer as WebGLBuffer);
470
+ gl.deleteBuffer(this._pickingColorBuffer as WebGLBuffer);
435
471
  }
436
472
 
437
473
  this._coordinatesBuffer = null;
@@ -439,9 +475,9 @@ class PointCloud {
439
475
  this._pickingColorBuffer = null;
440
476
  }
441
477
 
442
- _createCoordinatesBuffer() {
443
- var h = this._renderNode.renderer.handler;
444
- h.gl.deleteBuffer(this._coordinatesBuffer);
478
+ protected _createCoordinatesBuffer() {
479
+ let h = this._renderNode!.renderer!.handler;
480
+ h.gl!.deleteBuffer(this._coordinatesBuffer as WebGLBuffer);
445
481
  this._coordinatesBuffer = h.createArrayBuffer(
446
482
  new Float32Array(this._coordinatesData),
447
483
  3,
@@ -449,9 +485,9 @@ class PointCloud {
449
485
  );
450
486
  }
451
487
 
452
- _createColorBuffer() {
453
- var h = this._renderNode.renderer.handler;
454
- h.gl.deleteBuffer(this._colorBuffer);
488
+ protected _createColorBuffer() {
489
+ let h = this._renderNode!.renderer!.handler;
490
+ h.gl!.deleteBuffer(this._colorBuffer as WebGLBuffer);
455
491
  this._colorBuffer = h.createArrayBuffer(
456
492
  new Float32Array(this._colorData),
457
493
  4,
@@ -459,9 +495,9 @@ class PointCloud {
459
495
  );
460
496
  }
461
497
 
462
- _createPickingColorBuffer() {
463
- var h = this._renderNode.renderer.handler;
464
- h.gl.deleteBuffer(this._pickingColorBuffer);
498
+ protected _createPickingColorBuffer() {
499
+ let h = this._renderNode!.renderer!.handler;
500
+ h.gl!.deleteBuffer(this._pickingColorBuffer as WebGLBuffer);
465
501
  this._pickingColorBuffer = h.createArrayBuffer(
466
502
  new Float32Array(this._pickingColorData),
467
503
  4,
@@ -469,13 +505,13 @@ class PointCloud {
469
505
  );
470
506
  }
471
507
 
472
- _setPickingColors() {
473
- if (this._renderNode) {
508
+ protected _setPickingColors() {
509
+ if (this._renderNode && this._renderNode.renderer) {
474
510
  for (let i = 0; i < this._points.length; i++) {
475
- var p = this._points[i];
511
+ let p = this._points[i];
476
512
  p._entity = this._entity;
477
- p._entityCollection = this._entity._entityCollection;
478
- this._renderNode.renderer.assignPickingColor(p);
513
+ p._entityCollection = this._entity!._entityCollection;
514
+ this._renderNode.renderer.assignPickingColor<IPoint>(p);
479
515
  this._pickingColorData.push(
480
516
  p._pickingColor.x / 255.0,
481
517
  p._pickingColor.y / 255.0,
@@ -488,4 +524,4 @@ class PointCloud {
488
524
  }
489
525
  }
490
526
 
491
- export { PointCloud };
527
+ export {PointCloud};