@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,10 +1,29 @@
1
- "use strict";
2
-
3
- import * as shaders from "../shaders/label.js";
4
- import { concatTypedArrays, spliceTypedArray } from "../utils/shared.js";
5
- import { BillboardHandler } from "./BillboardHandler.js";
6
- import { ALIGN } from "./Label.js";
7
- import { LOCK_FREE } from "./LabelWorker.js";
1
+ import * as shaders from "../shaders/label";
2
+ import {ALIGN, Label} from "./Label";
3
+ import {BaseBillboardHandler} from "./BaseBillboardHandler";
4
+ import {concatTypedArrays, spliceTypedArray} from "../utils/shared";
5
+ import {EntityCollection} from "./EntityCollection";
6
+ import {LOCK_FREE} from "./LabelWorker";
7
+ import {Planet} from "../scene/Planet";
8
+ import {WebGLBufferExt} from "../webgl/Handler";
9
+ import {Vec3} from "../math/Vec3";
10
+ import {Vec4} from "../math/Vec4";
11
+
12
+ type LabelWorkerCallbackData = {
13
+ vertexArr: Float32Array,
14
+ texCoordArr: Float32Array,
15
+ gliphParamArr: Float32Array,
16
+ positionHighArr: Float32Array,
17
+ positionLowArr: Float32Array,
18
+ sizeArr: Float32Array,
19
+ offsetArr: Float32Array,
20
+ rgbaArr: Float32Array,
21
+ rotationArr: Float32Array,
22
+ fontIndexArr: Float32Array,
23
+ outlineArr: Float32Array,
24
+ outlineColorArr: Float32Array,
25
+ pickingColorArr: Float32Array
26
+ }
8
27
 
9
28
  const PICKINGCOLOR_BUFFER = 0;
10
29
  const POSITION_BUFFER = 1;
@@ -18,34 +37,39 @@ const FONTINDEX_BUFFER = 8;
18
37
  const OUTLINE_BUFFER = 9;
19
38
  const OUTLINECOLOR_BUFFER = 10;
20
39
 
21
- window.LABEL_DEPTH_OFFSET = -0;
22
-
23
40
  const EMPTY = -1.0;
24
41
  const RTL = 1.0;
25
42
 
26
- /*
27
- * og.LabelHandler
28
- *
29
- *
30
- */
31
- class LabelHandler extends BillboardHandler {
32
- /**
33
- *
34
- * @param {*} entityCollection
35
- * @param {*} maxLetters
36
- */
37
- constructor(entityCollection, maxLetters = 21) {
43
+ class LabelHandler extends BaseBillboardHandler {
44
+
45
+ protected override _billboards: Label[];
46
+
47
+ protected _gliphParamBuffer: WebGLBufferExt | null;
48
+ protected _fontIndexBuffer: WebGLBufferExt | null;
49
+ protected _outlineBuffer: WebGLBufferExt | null;
50
+ protected _outlineColorBuffer: WebGLBufferExt | null;
51
+
52
+ protected _gliphParamArr: Float32Array;
53
+ protected _fontIndexArr: Float32Array;
54
+ protected _outlineArr: Float32Array;
55
+ protected _outlineColorArr: Float32Array;
56
+
57
+ public _maxLetters: number;
58
+
59
+ constructor(entityCollection: EntityCollection, maxLetters: number = 21) {
38
60
  super(entityCollection);
39
61
 
62
+ this._billboards = [];
63
+
40
64
  this._gliphParamBuffer = null;
41
65
  this._fontIndexBuffer = null;
42
66
  this._outlineBuffer = null;
43
67
  this._outlineColorBuffer = null;
44
68
 
45
- this._gliphParamArr = new Float32Array();
46
- this._fontIndexArr = new Float32Array();
47
- this._outlineArr = new Float32Array();
48
- this._outlineColorArr = new Float32Array();
69
+ this._gliphParamArr = new Float32Array([]);
70
+ this._fontIndexArr = new Float32Array([]);
71
+ this._outlineArr = new Float32Array([]);
72
+ this._outlineColorArr = new Float32Array([]);
49
73
 
50
74
  this._buffersUpdateCallbacks[FONTINDEX_BUFFER] = this.createFontIndexBuffer;
51
75
  this._buffersUpdateCallbacks[OUTLINE_BUFFER] = this.createOutlineBuffer;
@@ -56,8 +80,8 @@ class LabelHandler extends BillboardHandler {
56
80
  this._maxLetters = maxLetters;
57
81
  }
58
82
 
59
- initProgram() {
60
- if (this._renderer.handler) {
83
+ public override initProgram() {
84
+ if (this._renderer && this._renderer.handler && this._renderer.handler.gl) {
61
85
  if (!this._renderer.handler.programs.label) {
62
86
  if (this._renderer.handler.gl.type === "webgl2") {
63
87
  this._renderer.handler.addProgram(shaders.label_webgl2());
@@ -72,7 +96,11 @@ class LabelHandler extends BillboardHandler {
72
96
  }
73
97
  }
74
98
 
75
- add(label) {
99
+ public get labels(): Label[] {
100
+ return this._billboards;
101
+ }
102
+
103
+ public override add(label: Label) {
76
104
  if (!label._handler) {
77
105
  label._handler = this;
78
106
  this.assignFontAtlas(label);
@@ -80,11 +108,19 @@ class LabelHandler extends BillboardHandler {
80
108
  }
81
109
  }
82
110
 
83
- _addLabelToArrays(label) {
84
- this._renderer.labelWorker.make({ handler: this, label: label });
111
+ public updateFonts() {
112
+ let l = [...this._billboards];
113
+ this._billboards = [];
114
+ for (let i = 0; i < l.length; i++) {
115
+ this.assignFontAtlas(l[i]);
116
+ }
117
+ }
118
+
119
+ protected _addLabelToArrays(label: Label) {
120
+ this._renderer && this._renderer.labelWorker.make({handler: this, label: label});
85
121
  }
86
122
 
87
- assignFontAtlas(label) {
123
+ public assignFontAtlas(label: Label) {
88
124
  if (this._entityCollection && this._renderer) {
89
125
  label.assignFontAtlas(this._renderer.fontAtlas);
90
126
  this._addLabelToArrays(label);
@@ -93,26 +129,27 @@ class LabelHandler extends BillboardHandler {
93
129
  }
94
130
  }
95
131
 
96
- workerCallback(data, label) {
97
- if (label._lockId !== LOCK_FREE && this.isEqual(label._handler)) {
132
+ public workerCallback(data: LabelWorkerCallbackData, label: Label) {
133
+ if (label._lockId !== LOCK_FREE && label._handler && this.isEqual(label._handler)) {
98
134
  label._isReady = true;
99
135
  label._lockId = LOCK_FREE;
100
136
  label._handlerIndex = this._billboards.length;
137
+
101
138
  this._billboards.push(label);
102
139
 
103
- this._vertexArr = concatTypedArrays(this._vertexArr, data.vertexArr);
104
- this._texCoordArr = concatTypedArrays(this._texCoordArr, data.texCoordArr);
105
- this._gliphParamArr = concatTypedArrays(this._gliphParamArr, data.gliphParamArr);
106
- this._positionHighArr = concatTypedArrays(this._positionHighArr, data.positionHighArr);
107
- this._positionLowArr = concatTypedArrays(this._positionLowArr, data.positionLowArr);
108
- this._sizeArr = concatTypedArrays(this._sizeArr, data.sizeArr);
109
- this._offsetArr = concatTypedArrays(this._offsetArr, data.offsetArr);
110
- this._rgbaArr = concatTypedArrays(this._rgbaArr, data.rgbaArr);
111
- this._rotationArr = concatTypedArrays(this._rotationArr, data.rotationArr);
112
- this._fontIndexArr = concatTypedArrays(this._fontIndexArr, data.fontIndexArr);
113
- this._outlineArr = concatTypedArrays(this._outlineArr, data.outlineArr);
114
- this._outlineColorArr = concatTypedArrays(this._outlineColorArr, data.outlineColorArr);
115
- this._pickingColorArr = concatTypedArrays(this._pickingColorArr, data.pickingColorArr);
140
+ this._vertexArr = concatTypedArrays(this._vertexArr, data.vertexArr) as Float32Array;
141
+ this._texCoordArr = concatTypedArrays(this._texCoordArr, data.texCoordArr) as Float32Array;
142
+ this._gliphParamArr = concatTypedArrays(this._gliphParamArr, data.gliphParamArr) as Float32Array;
143
+ this._positionHighArr = concatTypedArrays(this._positionHighArr, data.positionHighArr) as Float32Array;
144
+ this._positionLowArr = concatTypedArrays(this._positionLowArr, data.positionLowArr) as Float32Array;
145
+ this._sizeArr = concatTypedArrays(this._sizeArr, data.sizeArr) as Float32Array;
146
+ this._offsetArr = concatTypedArrays(this._offsetArr, data.offsetArr) as Float32Array;
147
+ this._rgbaArr = concatTypedArrays(this._rgbaArr, data.rgbaArr) as Float32Array;
148
+ this._rotationArr = concatTypedArrays(this._rotationArr, data.rotationArr) as Float32Array;
149
+ this._fontIndexArr = concatTypedArrays(this._fontIndexArr, data.fontIndexArr) as Float32Array;
150
+ this._outlineArr = concatTypedArrays(this._outlineArr, data.outlineArr) as Float32Array;
151
+ this._outlineColorArr = concatTypedArrays(this._outlineColorArr, data.outlineColorArr) as Float32Array;
152
+ this._pickingColorArr = concatTypedArrays(this._pickingColorArr, data.pickingColorArr) as Float32Array;
116
153
 
117
154
  label.update();
118
155
 
@@ -120,56 +157,68 @@ class LabelHandler extends BillboardHandler {
120
157
  }
121
158
  }
122
159
 
123
- clear() {
160
+ public override clear() {
161
+ // @ts-ignore
124
162
  this._texCoordArr = null;
163
+ // @ts-ignore
125
164
  this._gliphParamArr = null;
165
+ // @ts-ignore
126
166
  this._vertexArr = null;
167
+ // @ts-ignore
127
168
  this._positionHighArr = null;
169
+ // @ts-ignore
128
170
  this._positionLowArr = null;
171
+ // @ts-ignore
129
172
  this._sizeArr = null;
173
+ // @ts-ignore
130
174
  this._offsetArr = null;
175
+ // @ts-ignore
131
176
  this._rgbaArr = null;
177
+ // @ts-ignore
132
178
  this._rotationArr = null;
179
+ // @ts-ignore
133
180
  this._fontIndexArr = null;
181
+ // @ts-ignore
134
182
  this._outlineArr = null;
183
+ // @ts-ignore
135
184
  this._outlineColorArr = null;
136
185
 
137
- this._texCoordArr = new Float32Array();
138
- this._gliphParamArr = new Float32Array();
139
- this._vertexArr = new Float32Array();
140
- this._positionHighArr = new Float32Array();
141
- this._positionLowArr = new Float32Array();
142
- this._sizeArr = new Float32Array();
143
- this._offsetArr = new Float32Array();
144
- this._rgbaArr = new Float32Array();
145
- this._rotationArr = new Float32Array();
146
- this._fontIndexArr = new Float32Array();
147
- this._outlineArr = new Float32Array();
148
- this._outlineColorArr = new Float32Array();
186
+ this._texCoordArr = new Float32Array([]);
187
+ this._gliphParamArr = new Float32Array([]);
188
+ this._vertexArr = new Float32Array([]);
189
+ this._positionHighArr = new Float32Array([]);
190
+ this._positionLowArr = new Float32Array([]);
191
+ this._sizeArr = new Float32Array([]);
192
+ this._offsetArr = new Float32Array([]);
193
+ this._rgbaArr = new Float32Array([]);
194
+ this._rotationArr = new Float32Array([]);
195
+ this._fontIndexArr = new Float32Array([]);
196
+ this._outlineArr = new Float32Array([]);
197
+ this._outlineColorArr = new Float32Array([]);
149
198
 
150
199
  this._removeBillboards();
151
200
  this._deleteBuffers();
152
201
  this.refresh();
153
202
  }
154
203
 
155
- _deleteBuffers() {
204
+ protected override _deleteBuffers() {
156
205
  if (this._renderer) {
157
- var gl = this._renderer.handler.gl;
158
- gl.deleteBuffer(this._gliphParamBuffer);
159
- gl.deleteBuffer(this._sizeBuffer);
160
- gl.deleteBuffer(this._fontIndexBuffer);
161
- gl.deleteBuffer(this._texCoordBuffer);
162
- gl.deleteBuffer(this._outlineBuffer);
163
- gl.deleteBuffer(this._outlineColorBuffer);
164
- gl.deleteBuffer(this._positionHighBuffer);
165
- gl.deleteBuffer(this._positionLowBuffer);
166
- gl.deleteBuffer(this._sizeBuffer);
167
- gl.deleteBuffer(this._offsetBuffer);
168
- gl.deleteBuffer(this._rgbaBuffer);
169
- gl.deleteBuffer(this._rotationBuffer);
170
- gl.deleteBuffer(this._vertexBuffer);
171
- gl.deleteBuffer(this._texCoordBuffer);
172
- gl.deleteBuffer(this._pickingColorBuffer);
206
+ let gl = this._renderer.handler.gl!;
207
+ gl.deleteBuffer(this._gliphParamBuffer!);
208
+ gl.deleteBuffer(this._sizeBuffer!);
209
+ gl.deleteBuffer(this._fontIndexBuffer!);
210
+ gl.deleteBuffer(this._texCoordBuffer!);
211
+ gl.deleteBuffer(this._outlineBuffer!);
212
+ gl.deleteBuffer(this._outlineColorBuffer!);
213
+ gl.deleteBuffer(this._positionHighBuffer!);
214
+ gl.deleteBuffer(this._positionLowBuffer!);
215
+ gl.deleteBuffer(this._sizeBuffer!);
216
+ gl.deleteBuffer(this._offsetBuffer!);
217
+ gl.deleteBuffer(this._rgbaBuffer!);
218
+ gl.deleteBuffer(this._rotationBuffer!);
219
+ gl.deleteBuffer(this._vertexBuffer!);
220
+ gl.deleteBuffer(this._texCoordBuffer!);
221
+ gl.deleteBuffer(this._pickingColorBuffer!);
173
222
 
174
223
  this._gliphParamBuffer = null;
175
224
  this._sizeBuffer = null;
@@ -189,175 +238,176 @@ class LabelHandler extends BillboardHandler {
189
238
  }
190
239
  }
191
240
 
192
- _displayPASS() {
193
- var r = this._renderer;
194
- var h = r.handler;
241
+ public override _displayPASS() {
242
+ let r = this._renderer!;
243
+ let h = r.handler;
195
244
  h.programs.label.activate();
196
- var sh = h.programs.label._program;
197
- var sha = sh.attributes,
245
+ let sh = h.programs.label._program;
246
+ let sha = sh.attributes,
198
247
  shu = sh.uniforms;
199
248
 
200
- var gl = h.gl,
249
+ let gl = h.gl!,
201
250
  ec = this._entityCollection;
202
251
 
203
252
  gl.disable(gl.CULL_FACE);
204
253
 
205
254
  gl.uniform1iv(shu.fontTextureArr, r.fontAtlas.samplerArr);
206
255
  gl.uniform4fv(shu.sdfParamsArr, r.fontAtlas.sdfParamsArr);
207
- gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera._viewMatrix._m);
208
- gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera.getProjectionMatrix());
209
- gl.uniform3fv(shu.eyePositionHigh, r.activeCamera.eyeHigh);
210
- gl.uniform3fv(shu.eyePositionLow, r.activeCamera.eyeLow);
256
+ gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera!.getViewMatrix());
257
+ gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera!.getProjectionMatrix());
258
+ gl.uniform3fv(shu.eyePositionHigh, r.activeCamera!.eyeHigh);
259
+ gl.uniform3fv(shu.eyePositionLow, r.activeCamera!.eyeLow);
211
260
  gl.uniform3fv(shu.scaleByDistance, ec.scaleByDistance);
212
261
  gl.uniform1f(shu.opacity, ec._fadingOpacity);
213
- gl.uniform1f(shu.planetRadius, ec.renderNode._planetRadius2 || 0);
214
- gl.uniform2fv(shu.viewport, [h.canvas.clientWidth, h.canvas.clientHeight]);
262
+ gl.uniform1f(shu.planetRadius, (ec.renderNode as Planet)._planetRadius2 || 0);
263
+ gl.uniform2fv(shu.viewport, [h.canvas!.clientWidth, h.canvas!.clientHeight]);
215
264
 
216
- gl.bindBuffer(gl.ARRAY_BUFFER, this._texCoordBuffer);
217
- gl.vertexAttribPointer(sha.a_texCoord, this._texCoordBuffer.itemSize, gl.FLOAT, false, 0, 0);
265
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._texCoordBuffer!);
266
+ gl.vertexAttribPointer(sha.a_texCoord, this._texCoordBuffer!.itemSize, gl.FLOAT, false, 0, 0);
218
267
 
219
- gl.bindBuffer(gl.ARRAY_BUFFER, this._gliphParamBuffer);
220
- gl.vertexAttribPointer(sha.a_gliphParam, this._gliphParamBuffer.itemSize, gl.FLOAT, false, 0, 0);
268
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._gliphParamBuffer!);
269
+ gl.vertexAttribPointer(sha.a_gliphParam, this._gliphParamBuffer!.itemSize, gl.FLOAT, false, 0, 0);
221
270
 
222
- gl.bindBuffer(gl.ARRAY_BUFFER, this._vertexBuffer);
223
- gl.vertexAttribPointer(sha.a_vertices, this._vertexBuffer.itemSize, gl.FLOAT, false, 0, 0);
271
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._vertexBuffer!);
272
+ gl.vertexAttribPointer(sha.a_vertices, this._vertexBuffer!.itemSize, gl.FLOAT, false, 0, 0);
224
273
 
225
- gl.bindBuffer(gl.ARRAY_BUFFER, this._positionHighBuffer);
226
- gl.vertexAttribPointer(sha.a_positionsHigh, this._positionHighBuffer.itemSize, gl.FLOAT, false, 0, 0);
274
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._positionHighBuffer!);
275
+ gl.vertexAttribPointer(sha.a_positionsHigh, this._positionHighBuffer!.itemSize, gl.FLOAT, false, 0, 0);
227
276
 
228
- gl.bindBuffer(gl.ARRAY_BUFFER, this._positionLowBuffer);
229
- gl.vertexAttribPointer(sha.a_positionsLow, this._positionLowBuffer.itemSize, gl.FLOAT, false, 0, 0);
277
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._positionLowBuffer!);
278
+ gl.vertexAttribPointer(sha.a_positionsLow, this._positionLowBuffer!.itemSize, gl.FLOAT, false, 0, 0);
230
279
 
231
- gl.bindBuffer(gl.ARRAY_BUFFER, this._sizeBuffer);
232
- gl.vertexAttribPointer(sha.a_size, this._sizeBuffer.itemSize, gl.FLOAT, false, 0, 0);
280
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._sizeBuffer!);
281
+ gl.vertexAttribPointer(sha.a_size, this._sizeBuffer!.itemSize, gl.FLOAT, false, 0, 0);
233
282
 
234
- gl.bindBuffer(gl.ARRAY_BUFFER, this._rotationBuffer);
235
- gl.vertexAttribPointer(sha.a_rotation, this._rotationBuffer.itemSize, gl.FLOAT, false, 0, 0);
283
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._rotationBuffer!);
284
+ gl.vertexAttribPointer(sha.a_rotation, this._rotationBuffer!.itemSize, gl.FLOAT, false, 0, 0);
236
285
 
237
- gl.bindBuffer(gl.ARRAY_BUFFER, this._offsetBuffer);
238
- gl.vertexAttribPointer(sha.a_offset, this._offsetBuffer.itemSize, gl.FLOAT, false, 0, 0);
286
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._offsetBuffer!);
287
+ gl.vertexAttribPointer(sha.a_offset, this._offsetBuffer!.itemSize, gl.FLOAT, false, 0, 0);
239
288
 
240
- gl.bindBuffer(gl.ARRAY_BUFFER, this._fontIndexBuffer);
241
- gl.vertexAttribPointer(sha.a_fontIndex, this._fontIndexBuffer.itemSize, gl.FLOAT, false, 0, 0);
289
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._fontIndexBuffer!);
290
+ gl.vertexAttribPointer(sha.a_fontIndex, this._fontIndexBuffer!.itemSize, gl.FLOAT, false, 0, 0);
242
291
 
243
292
  //
244
293
  // outline PASS
245
294
  gl.uniform1i(shu.isOutlinePass, 1);
246
- gl.uniform1f(shu.depthOffset, ec.polygonOffsetUnits + window.LABEL_DEPTH_OFFSET);
295
+ gl.uniform1f(shu.depthOffset, ec.polygonOffsetUnits);
247
296
 
248
- gl.bindBuffer(gl.ARRAY_BUFFER, this._outlineColorBuffer);
249
- gl.vertexAttribPointer(sha.a_rgba, this._outlineColorBuffer.itemSize, gl.FLOAT, false, 0, 0);
297
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._outlineColorBuffer!);
298
+ gl.vertexAttribPointer(sha.a_rgba, this._outlineColorBuffer!.itemSize, gl.FLOAT, false, 0, 0);
250
299
 
251
- gl.bindBuffer(gl.ARRAY_BUFFER, this._outlineBuffer);
252
- gl.vertexAttribPointer(sha.a_outline, this._outlineBuffer.itemSize, gl.FLOAT, false, 0, 0);
300
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._outlineBuffer!);
301
+ gl.vertexAttribPointer(sha.a_outline, this._outlineBuffer!.itemSize, gl.FLOAT, false, 0, 0);
253
302
 
254
- gl.drawArrays(gl.TRIANGLES, 0, this._vertexBuffer.numItems);
303
+ gl.drawArrays(gl.TRIANGLES, 0, this._vertexBuffer!.numItems);
255
304
 
256
305
  //
257
306
  // no outline PASS
258
307
  gl.depthFunc(gl.EQUAL);
259
308
  gl.uniform1i(shu.isOutlinePass, 0);
260
- gl.uniform1f(shu.depthOffset, ec.polygonOffsetUnits + window.LABEL_DEPTH_OFFSET);
309
+ gl.uniform1f(shu.depthOffset, ec.polygonOffsetUnits);
261
310
 
262
- gl.bindBuffer(gl.ARRAY_BUFFER, this._rgbaBuffer);
263
- gl.vertexAttribPointer(sha.a_rgba, this._rgbaBuffer.itemSize, gl.FLOAT, false, 0, 0);
311
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._rgbaBuffer!);
312
+ gl.vertexAttribPointer(sha.a_rgba, this._rgbaBuffer!.itemSize, gl.FLOAT, false, 0, 0);
264
313
 
265
- gl.drawArrays(gl.TRIANGLES, 0, this._vertexBuffer.numItems);
314
+ gl.drawArrays(gl.TRIANGLES, 0, this._vertexBuffer!.numItems);
266
315
 
267
316
  gl.depthFunc(gl.LESS);
268
317
 
269
318
  gl.enable(gl.CULL_FACE);
270
319
  }
271
320
 
272
- _pickingPASS() {
273
- var r = this._renderer;
274
- var h = r.handler;
321
+ protected override _pickingPASS() {
322
+ let r = this._renderer!;
323
+ let h = r.handler;
275
324
  h.programs.labelPicking.activate();
276
- var sh = h.programs.labelPicking._program;
277
- var sha = sh.attributes,
325
+ let sh = h.programs.labelPicking._program;
326
+ let sha = sh.attributes,
278
327
  shu = sh.uniforms;
279
328
 
280
- var gl = h.gl,
329
+ let gl = h.gl!,
281
330
  ec = this._entityCollection;
282
331
 
283
- var rn = ec.renderNode;
332
+ let rn = ec.renderNode;
284
333
 
285
334
  gl.disable(gl.CULL_FACE);
286
335
 
287
- gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera._viewMatrix._m);
288
- gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera.getProjectionMatrix());
289
- gl.uniform3fv(shu.eyePositionHigh, r.activeCamera.eyeHigh);
290
- gl.uniform3fv(shu.eyePositionLow, r.activeCamera.eyeLow);
336
+ gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera!.getViewMatrix());
337
+ gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera!.getProjectionMatrix());
338
+ gl.uniform3fv(shu.eyePositionHigh, r.activeCamera!.eyeHigh);
339
+ gl.uniform3fv(shu.eyePositionLow, r.activeCamera!.eyeLow);
291
340
  gl.uniform3fv(shu.scaleByDistance, ec.scaleByDistance);
292
341
  gl.uniform1f(shu.opacity, ec._fadingOpacity);
293
- gl.uniform1f(shu.planetRadius, rn._planetRadius2 || 0);
294
- gl.uniform2fv(shu.viewport, [h.canvas.clientWidth, h.canvas.clientHeight]);
342
+ gl.uniform1f(shu.planetRadius, (rn as Planet)._planetRadius2 || 0);
343
+ gl.uniform2fv(shu.viewport, [h.canvas!.clientWidth, h.canvas!.clientHeight]);
295
344
 
296
- gl.bindBuffer(gl.ARRAY_BUFFER, this._texCoordBuffer);
297
- gl.vertexAttribPointer(sha.a_texCoord, this._texCoordBuffer.itemSize, gl.FLOAT, false, 0, 0);
345
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._texCoordBuffer!);
346
+ gl.vertexAttribPointer(sha.a_texCoord, this._texCoordBuffer!.itemSize, gl.FLOAT, false, 0, 0);
298
347
 
299
- gl.bindBuffer(gl.ARRAY_BUFFER, this._gliphParamBuffer);
300
- gl.vertexAttribPointer(sha.a_gliphParam, this._gliphParamBuffer.itemSize, gl.FLOAT, false, 0, 0);
348
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._gliphParamBuffer!);
349
+ gl.vertexAttribPointer(sha.a_gliphParam, this._gliphParamBuffer!.itemSize, gl.FLOAT, false, 0, 0);
301
350
 
302
- gl.bindBuffer(gl.ARRAY_BUFFER, this._vertexBuffer);
303
- gl.vertexAttribPointer(sha.a_vertices, this._vertexBuffer.itemSize, gl.FLOAT, false, 0, 0);
351
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._vertexBuffer!);
352
+ gl.vertexAttribPointer(sha.a_vertices, this._vertexBuffer!.itemSize, gl.FLOAT, false, 0, 0);
304
353
 
305
- gl.bindBuffer(gl.ARRAY_BUFFER, this._positionHighBuffer);
306
- gl.vertexAttribPointer(sha.a_positionsHigh, this._positionHighBuffer.itemSize, gl.FLOAT, false, 0, 0);
354
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._positionHighBuffer!);
355
+ gl.vertexAttribPointer(sha.a_positionsHigh, this._positionHighBuffer!.itemSize, gl.FLOAT, false, 0, 0);
307
356
 
308
- gl.bindBuffer(gl.ARRAY_BUFFER, this._positionLowBuffer);
309
- gl.vertexAttribPointer(sha.a_positionsLow, this._positionLowBuffer.itemSize, gl.FLOAT, false, 0, 0);
357
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._positionLowBuffer!);
358
+ gl.vertexAttribPointer(sha.a_positionsLow, this._positionLowBuffer!.itemSize, gl.FLOAT, false, 0, 0);
310
359
 
311
- gl.bindBuffer(gl.ARRAY_BUFFER, this._sizeBuffer);
312
- gl.vertexAttribPointer(sha.a_size, this._sizeBuffer.itemSize, gl.FLOAT, false, 0, 0);
360
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._sizeBuffer!);
361
+ gl.vertexAttribPointer(sha.a_size, this._sizeBuffer!.itemSize, gl.FLOAT, false, 0, 0);
313
362
 
314
- gl.bindBuffer(gl.ARRAY_BUFFER, this._rotationBuffer);
315
- gl.vertexAttribPointer(sha.a_rotation, this._rotationBuffer.itemSize, gl.FLOAT, false, 0, 0);
363
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._rotationBuffer!);
364
+ gl.vertexAttribPointer(sha.a_rotation, this._rotationBuffer!.itemSize, gl.FLOAT, false, 0, 0);
316
365
 
317
- gl.bindBuffer(gl.ARRAY_BUFFER, this._offsetBuffer);
318
- gl.vertexAttribPointer(sha.a_offset, this._offsetBuffer.itemSize, gl.FLOAT, false, 0, 0);
366
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._offsetBuffer!);
367
+ gl.vertexAttribPointer(sha.a_offset, this._offsetBuffer!.itemSize, gl.FLOAT, false, 0, 0);
319
368
 
320
- gl.bindBuffer(gl.ARRAY_BUFFER, this._pickingColorBuffer);
321
- gl.vertexAttribPointer(sha.a_rgba, this._pickingColorBuffer.itemSize, gl.FLOAT, false, 0, 0);
369
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._pickingColorBuffer!);
370
+ gl.vertexAttribPointer(sha.a_rgba, this._pickingColorBuffer!.itemSize, gl.FLOAT, false, 0, 0);
322
371
 
323
- gl.uniform1f(shu.depthOffset, ec.polygonOffsetUnits + window.LABEL_DEPTH_OFFSET);
372
+ gl.uniform1f(shu.depthOffset, ec.polygonOffsetUnits);
324
373
 
325
- gl.drawArrays(gl.TRIANGLES, 0, this._vertexBuffer.numItems);
374
+ gl.drawArrays(gl.TRIANGLES, 0, this._vertexBuffer!.numItems);
326
375
 
327
376
  gl.enable(gl.CULL_FACE);
328
377
  }
329
378
 
330
- _removeBillboard(label) {
331
- var li = label._handlerIndex;
379
+ protected override _removeBillboard(label: Label) {
380
+
381
+ let li = label._handlerIndex;
332
382
 
333
383
  this._billboards.splice(li, 1);
334
384
 
335
- var ml = 24 * this._maxLetters;
336
- var i = li * ml;
337
- this._rgbaArr = spliceTypedArray(this._rgbaArr, i, ml);
338
- this._outlineColorArr = spliceTypedArray(this._outlineColorArr, i, ml);
339
- this._texCoordArr = spliceTypedArray(this._texCoordArr, i, ml);
340
- this._gliphParamArr = spliceTypedArray(this._gliphParamArr, i, ml);
385
+ let ml = 24 * this._maxLetters;
386
+ let i = li * ml;
387
+ this._rgbaArr = spliceTypedArray<Float32Array>(this._rgbaArr, i, ml);
388
+ this._outlineColorArr = spliceTypedArray<Float32Array>(this._outlineColorArr, i, ml);
389
+ this._texCoordArr = spliceTypedArray<Float32Array>(this._texCoordArr, i, ml);
390
+ this._gliphParamArr = spliceTypedArray<Float32Array>(this._gliphParamArr, i, ml);
341
391
 
342
392
  ml = 18 * this._maxLetters;
343
393
  i = li * ml;
344
- this._positionHighArr = spliceTypedArray(this._positionHighArr, i, ml);
345
- this._positionLowArr = spliceTypedArray(this._positionLowArr, i, ml);
346
- this._offsetArr = spliceTypedArray(this._offsetArr, i, ml);
347
- this._pickingColorArr = spliceTypedArray(this._pickingColorArr, i, ml);
394
+ this._positionHighArr = spliceTypedArray<Float32Array>(this._positionHighArr, i, ml);
395
+ this._positionLowArr = spliceTypedArray<Float32Array>(this._positionLowArr, i, ml);
396
+ this._offsetArr = spliceTypedArray<Float32Array>(this._offsetArr, i, ml);
397
+ this._pickingColorArr = spliceTypedArray<Float32Array>(this._pickingColorArr, i, ml);
348
398
 
349
399
  ml = 12 * this._maxLetters;
350
400
  i = li * ml;
351
- this._vertexArr = spliceTypedArray(this._vertexArr, i, ml);
401
+ this._vertexArr = spliceTypedArray<Float32Array>(this._vertexArr, i, ml);
352
402
 
353
403
  ml = 6 * this._maxLetters;
354
404
  i = li * ml;
355
- this._sizeArr = spliceTypedArray(this._sizeArr, i, ml);
356
- this._rotationArr = spliceTypedArray(this._rotationArr, i, ml);
357
- this._fontIndexArr = spliceTypedArray(this._fontIndexArr, i, ml);
358
- this._outlineArr = spliceTypedArray(this._outlineArr, i, ml);
405
+ this._sizeArr = spliceTypedArray<Float32Array>(this._sizeArr, i, ml);
406
+ this._rotationArr = spliceTypedArray<Float32Array>(this._rotationArr, i, ml);
407
+ this._fontIndexArr = spliceTypedArray<Float32Array>(this._fontIndexArr, i, ml);
408
+ this._outlineArr = spliceTypedArray<Float32Array>(this._outlineArr, i, ml);
359
409
 
360
- this.reindexBillbordsArray(li);
410
+ this.reindexBillboardsArray(li);
361
411
  this.refresh();
362
412
 
363
413
  label._handlerIndex = -1;
@@ -365,11 +415,11 @@ class LabelHandler extends BillboardHandler {
365
415
  label._isReady = false;
366
416
  }
367
417
 
368
- setText(index, text, fontIndex, align, isRTL = false) {
418
+ public setText(index: number, text: string, fontIndex: number, align: number, isRTL: boolean = false) {
369
419
 
370
420
  text = text.normalize('NFKC');
371
421
 
372
- var fa = this._renderer.fontAtlas.atlasesArr[fontIndex];
422
+ let fa = this._renderer!.fontAtlas.atlasesArr[fontIndex];
373
423
 
374
424
  if (!fa) return;
375
425
 
@@ -391,7 +441,8 @@ class LabelHandler extends BillboardHandler {
391
441
  for (c = 0; c < len; c++) {
392
442
  let j = i + c * 24;
393
443
  let char = text[c];
394
- let n = fa.get(char.charCodeAt()) || fa.get(" ".charCodeAt());
444
+ let n = fa.get(char.charCodeAt(0)) || fa.get(" ".charCodeAt(0))!;
445
+ if (!n) continue;
395
446
  let tc = n.texCoords;
396
447
 
397
448
  let m = n.metrics;
@@ -459,11 +510,11 @@ class LabelHandler extends BillboardHandler {
459
510
  g[j + 22] = m.nXOffset;
460
511
  g[j + 23] = m.nYOffset;
461
512
 
462
- let k = kern[char.charCodeAt()];
513
+ let k = kern[char.charCodeAt(0)];
463
514
  if (k && text[c + 1]) {
464
- k = k[text[c + 1].charCodeAt()];
465
- if (k) {
466
- offset += m.nAdvance + k;
515
+ let kk = k[text[c + 1].charCodeAt(0)];
516
+ if (kk) {
517
+ offset += m.nAdvance + kk;
467
518
  } else {
468
519
  offset += m.nAdvance;
469
520
  }
@@ -499,9 +550,9 @@ class LabelHandler extends BillboardHandler {
499
550
  this._changedBuffers[TEXCOORD_BUFFER] = true;
500
551
  }
501
552
 
502
- setPositionArr(index, positionHigh, positionLow) {
503
- var i = index * 18 * this._maxLetters;
504
- var a = this._positionHighArr,
553
+ public override setPositionArr(index: number, positionHigh: Vec3, positionLow: Vec3) {
554
+ let i = index * 18 * this._maxLetters;
555
+ let a = this._positionHighArr,
505
556
  x = positionHigh.x,
506
557
  y = positionHigh.y,
507
558
  z = positionHigh.z,
@@ -511,7 +562,7 @@ class LabelHandler extends BillboardHandler {
511
562
  zl = positionLow.z;
512
563
 
513
564
  for (let q = 0; q < this._maxLetters; q++) {
514
- var j = i + q * 18;
565
+ let j = i + q * 18;
515
566
  a[j] = x;
516
567
  a[j + 1] = y;
517
568
  a[j + 2] = z;
@@ -565,15 +616,15 @@ class LabelHandler extends BillboardHandler {
565
616
  this._changedBuffers[POSITION_BUFFER] = true;
566
617
  }
567
618
 
568
- setPickingColorArr(index, color) {
569
- var i = index * 18 * this._maxLetters;
570
- var a = this._pickingColorArr,
619
+ public override setPickingColorArr(index: number, color: Vec3) {
620
+ let i = index * 18 * this._maxLetters;
621
+ let a = this._pickingColorArr,
571
622
  x = color.x / 255,
572
623
  y = color.y / 255,
573
624
  z = color.z / 255;
574
625
 
575
626
  for (let q = 0; q < this._maxLetters; q++) {
576
- var j = i + q * 18;
627
+ let j = i + q * 18;
577
628
  a[j] = x;
578
629
  a[j + 1] = y;
579
630
  a[j + 2] = z;
@@ -602,12 +653,12 @@ class LabelHandler extends BillboardHandler {
602
653
  this._changedBuffers[PICKINGCOLOR_BUFFER] = true;
603
654
  }
604
655
 
605
- setSizeArr(index, size) {
606
- var i = index * 6 * this._maxLetters;
607
- var a = this._sizeArr;
656
+ public override setSizeArr(index: number, size: number) {
657
+ let i = index * 6 * this._maxLetters;
658
+ let a = this._sizeArr;
608
659
 
609
660
  for (let q = 0; q < this._maxLetters; q++) {
610
- var j = i + q * 6;
661
+ let j = i + q * 6;
611
662
  a[j] = size;
612
663
  a[j + 1] = size;
613
664
  a[j + 2] = size;
@@ -619,15 +670,15 @@ class LabelHandler extends BillboardHandler {
619
670
  this._changedBuffers[SIZE_BUFFER] = true;
620
671
  }
621
672
 
622
- setOffsetArr(index, offset) {
623
- var i = index * 18 * this._maxLetters;
624
- var a = this._offsetArr,
673
+ public override setOffsetArr(index: number, offset: Vec3) {
674
+ let i = index * 18 * this._maxLetters;
675
+ let a = this._offsetArr,
625
676
  x = offset.x,
626
677
  y = offset.y,
627
678
  z = offset.z;
628
679
 
629
680
  for (let q = 0; q < this._maxLetters; q++) {
630
- var j = i + q * 18;
681
+ let j = i + q * 18;
631
682
  a[j] = x;
632
683
  a[j + 1] = y;
633
684
  a[j + 2] = z;
@@ -656,16 +707,16 @@ class LabelHandler extends BillboardHandler {
656
707
  this._changedBuffers[OFFSET_BUFFER] = true;
657
708
  }
658
709
 
659
- setRgbaArr(index, rgba) {
660
- var i = index * 24 * this._maxLetters;
661
- var a = this._rgbaArr,
710
+ public override setRgbaArr(index: number, rgba: Vec4) {
711
+ let i = index * 24 * this._maxLetters;
712
+ let a = this._rgbaArr,
662
713
  x = rgba.x,
663
714
  y = rgba.y,
664
715
  z = rgba.z,
665
716
  w = rgba.w;
666
717
 
667
718
  for (let q = 0; q < this._maxLetters; q++) {
668
- var j = i + q * 24;
719
+ let j = i + q * 24;
669
720
 
670
721
  a[j] = x;
671
722
  a[j + 1] = y;
@@ -701,16 +752,16 @@ class LabelHandler extends BillboardHandler {
701
752
  this._changedBuffers[RGBA_BUFFER] = true;
702
753
  }
703
754
 
704
- setOutlineColorArr(index, rgba) {
705
- var i = index * 24 * this._maxLetters;
706
- var a = this._outlineColorArr,
755
+ public setOutlineColorArr(index: number, rgba: Vec4) {
756
+ let i = index * 24 * this._maxLetters;
757
+ let a = this._outlineColorArr,
707
758
  x = rgba.x,
708
759
  y = rgba.y,
709
760
  z = rgba.z,
710
761
  w = rgba.w;
711
762
 
712
763
  for (let q = 0; q < this._maxLetters; q++) {
713
- var j = i + q * 24;
764
+ let j = i + q * 24;
714
765
 
715
766
  a[j] = x;
716
767
  a[j + 1] = y;
@@ -746,12 +797,12 @@ class LabelHandler extends BillboardHandler {
746
797
  this._changedBuffers[OUTLINECOLOR_BUFFER] = true;
747
798
  }
748
799
 
749
- setOutlineArr(index, outline) {
750
- var i = index * 6 * this._maxLetters;
751
- var a = this._outlineArr;
800
+ public setOutlineArr(index: number, outline: number) {
801
+ let i = index * 6 * this._maxLetters;
802
+ let a = this._outlineArr;
752
803
 
753
804
  for (let q = 0; q < this._maxLetters; q++) {
754
- var j = i + q * 6;
805
+ let j = i + q * 6;
755
806
  a[j] = outline;
756
807
  a[j + 1] = outline;
757
808
  a[j + 2] = outline;
@@ -763,12 +814,12 @@ class LabelHandler extends BillboardHandler {
763
814
  this._changedBuffers[OUTLINE_BUFFER] = true;
764
815
  }
765
816
 
766
- setRotationArr(index, rotation) {
767
- var i = index * 6 * this._maxLetters;
768
- var a = this._rotationArr;
817
+ public override setRotationArr(index: number, rotation: number) {
818
+ let i = index * 6 * this._maxLetters;
819
+ let a = this._rotationArr;
769
820
 
770
821
  for (let q = 0; q < this._maxLetters; q++) {
771
- var j = i + q * 6;
822
+ let j = i + q * 6;
772
823
  a[j] = rotation;
773
824
  a[j + 1] = rotation;
774
825
  a[j + 2] = rotation;
@@ -780,8 +831,8 @@ class LabelHandler extends BillboardHandler {
780
831
  this._changedBuffers[ROTATION_BUFFER] = true;
781
832
  }
782
833
 
783
- setVisibility(index, visibility) {
784
- var vArr;
834
+ public override setVisibility(index: number, visibility: boolean) {
835
+ let vArr;
785
836
  if (visibility) {
786
837
  vArr = [0, 0, 0, -1, 1, -1, 1, -1, 1, 0, 0, 0];
787
838
  } else {
@@ -790,12 +841,12 @@ class LabelHandler extends BillboardHandler {
790
841
  this.setVertexArr(index, vArr);
791
842
  }
792
843
 
793
- setVertexArr(index, vertexArr) {
794
- var i = index * 12 * this._maxLetters;
795
- var a = this._vertexArr;
844
+ public override setVertexArr(index: number, vertexArr: number[] | Float32Array) {
845
+ let i = index * 12 * this._maxLetters;
846
+ let a = this._vertexArr;
796
847
 
797
848
  for (let q = 0; q < this._maxLetters; q++) {
798
- var j = i + q * 12;
849
+ let j = i + q * 12;
799
850
 
800
851
  a[j] = vertexArr[0];
801
852
  a[j + 1] = vertexArr[1];
@@ -819,12 +870,12 @@ class LabelHandler extends BillboardHandler {
819
870
  this._changedBuffers[VERTEX_BUFFER] = true;
820
871
  }
821
872
 
822
- setFontIndexArr(index, fontIndex) {
823
- var i = index * 6 * this._maxLetters;
824
- var a = this._fontIndexArr;
873
+ public setFontIndexArr(index: number, fontIndex: number) {
874
+ let i = index * 6 * this._maxLetters;
875
+ let a = this._fontIndexArr;
825
876
 
826
877
  for (let q = 0; q < this._maxLetters; q++) {
827
- var j = i + q * 6;
878
+ let j = i + q * 6;
828
879
  a[j] = fontIndex;
829
880
  a[j + 1] = fontIndex;
830
881
  a[j + 2] = fontIndex;
@@ -836,60 +887,43 @@ class LabelHandler extends BillboardHandler {
836
887
  this._changedBuffers[FONTINDEX_BUFFER] = true;
837
888
  }
838
889
 
839
- createSizeBuffer() {
840
- var h = this._renderer.handler;
841
- h.gl.deleteBuffer(this._sizeBuffer);
890
+ public override createSizeBuffer() {
891
+ let h = this._renderer!.handler;
892
+ h.gl!.deleteBuffer(this._sizeBuffer as WebGLBuffer);
842
893
  this._sizeBuffer = h.createArrayBuffer(this._sizeArr, 1, this._sizeArr.length);
843
894
  }
844
895
 
845
- createFontIndexBuffer() {
846
- var h = this._renderer.handler;
847
- h.gl.deleteBuffer(this._fontIndexBuffer);
848
- this._fontIndexBuffer = h.createArrayBuffer(
849
- this._fontIndexArr,
850
- 1,
851
- this._fontIndexArr.length
852
- );
896
+ public createFontIndexBuffer() {
897
+ let h = this._renderer!.handler;
898
+ h.gl!.deleteBuffer(this._fontIndexBuffer as WebGLBuffer);
899
+ this._fontIndexBuffer = h.createArrayBuffer(this._fontIndexArr, 1, this._fontIndexArr.length);
853
900
  }
854
901
 
855
- createTexCoordBuffer() {
856
- var h = this._renderer.handler;
857
- h.gl.deleteBuffer(this._texCoordBuffer);
858
- this._texCoordBuffer = h.createArrayBuffer(
859
- this._texCoordArr,
860
- 4,
861
- this._texCoordArr.length / 4
862
- );
863
-
864
- h.gl.deleteBuffer(this._gliphParamBuffer);
865
- this._gliphParamBuffer = h.createArrayBuffer(
866
- this._gliphParamArr,
867
- 4,
868
- this._gliphParamArr.length / 4
869
- );
902
+ public override createTexCoordBuffer() {
903
+ let h = this._renderer!.handler;
904
+ h.gl!.deleteBuffer(this._texCoordBuffer as WebGLBuffer);
905
+ this._texCoordBuffer = h.createArrayBuffer(this._texCoordArr, 4, this._texCoordArr.length / 4);
906
+
907
+ h.gl!.deleteBuffer(this._gliphParamBuffer as WebGLBuffer);
908
+ this._gliphParamBuffer = h.createArrayBuffer(this._gliphParamArr, 4, this._gliphParamArr.length / 4);
870
909
  }
871
910
 
872
- createOutlineBuffer() {
873
- var h = this._renderer.handler;
874
- h.gl.deleteBuffer(this._outlineBuffer);
911
+ public createOutlineBuffer() {
912
+ let h = this._renderer!.handler;
913
+ h.gl!.deleteBuffer(this._outlineBuffer as WebGLBuffer);
875
914
  this._outlineBuffer = h.createArrayBuffer(this._outlineArr, 1, this._outlineArr.length);
876
915
  }
877
916
 
878
- createOutlineColorBuffer() {
879
- var h = this._renderer.handler;
880
- h.gl.deleteBuffer(this._outlineColorBuffer);
917
+ public createOutlineColorBuffer() {
918
+ let h = this._renderer!.handler;
919
+ h.gl!.deleteBuffer(this._outlineColorBuffer as WebGLBuffer);
881
920
  this._outlineColorBuffer = h.createArrayBuffer(this._outlineColorArr, 4, this._outlineColorArr.length / 4);
882
921
  }
883
922
 
884
- setMaxLetters(c) {
923
+ public setMaxLetters(c: number) {
885
924
  this._maxLetters = c;
886
925
  // TODO: ...
887
926
  }
888
-
889
- refreshTexCoordsArr() {
890
- // it is empty
891
- return null;
892
- }
893
927
  }
894
928
 
895
- export { LabelHandler };
929
+ export {LabelHandler};