@openglobus/og 0.17.2 → 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} +246 -182
  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 -256
  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} +776 -592
  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 -172
  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 -195
  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 -1170
  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 -17
  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 -241
  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 -594
  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,7 +1,11 @@
1
- "use strict";
2
-
3
- import * as shaders from "../shaders/ray.js";
4
- import { concatArrays, makeArrayTyped, spliceArray } from "../utils/shared.js";
1
+ import * as shaders from "../shaders/ray";
2
+ import {concatArrays, makeArrayTyped, spliceArray, TypedArray} from "../utils/shared";
3
+ import {EntityCollection} from "./EntityCollection";
4
+ import {Ray} from "./Ray";
5
+ import {Renderer} from "../renderer/Renderer";
6
+ import {Vec3} from "../math/Vec3";
7
+ import {Vec4} from "../math/Vec4";
8
+ import {WebGLBufferExt} from "../webgl/Handler";
5
9
 
6
10
  const PICKINGCOLOR_BUFFER = 0;
7
11
  const START_POSITION_BUFFER = 1;
@@ -16,7 +20,49 @@ const VERTEX_BUFFER = 5;
16
20
  *
17
21
  */
18
22
  class RayHandler {
19
- constructor(entityCollection) {
23
+
24
+ static __counter__: number = 0;
25
+
26
+ protected __id: number;
27
+
28
+ /**
29
+ * Picking rendering option.
30
+ * @public
31
+ * @type {boolean}
32
+ */
33
+ public pickingEnabled: boolean;
34
+
35
+ protected _entityCollection: EntityCollection;
36
+
37
+ protected _renderer: Renderer | null;
38
+
39
+ protected _rays: Ray[];
40
+
41
+ protected _vertexBuffer: WebGLBufferExt | null;
42
+ protected _startPositionHighBuffer: WebGLBufferExt | null;
43
+ protected _startPositionLowBuffer: WebGLBufferExt | null;
44
+ protected _endPositionHighBuffer: WebGLBufferExt | null;
45
+ protected _endPositionLowBuffer: WebGLBufferExt | null;
46
+ protected _thicknessBuffer: WebGLBufferExt | null;
47
+ protected _rgbaBuffer: WebGLBufferExt | null;
48
+ protected _pickingColorBuffer: WebGLBufferExt | null;
49
+
50
+ protected _vertexArr: TypedArray | number[];
51
+ protected _startPositionHighArr: TypedArray | number[];
52
+ protected _startPositionLowArr: TypedArray | number[];
53
+ protected _endPositionHighArr: TypedArray | number[];
54
+ protected _endPositionLowArr: TypedArray | number[];
55
+ protected _thicknessArr: TypedArray | number[];
56
+ protected _rgbaArr: TypedArray | number[];
57
+ protected _pickingColorArr: TypedArray | number[];
58
+
59
+ protected _buffersUpdateCallbacks: Function[];
60
+ protected _changedBuffers: boolean[];
61
+
62
+ constructor(entityCollection: EntityCollection) {
63
+
64
+ this.__id = RayHandler.__counter__++;
65
+
20
66
  /**
21
67
  * Picking rendering option.
22
68
  * @public
@@ -37,6 +83,7 @@ class RayHandler {
37
83
  this._endPositionLowBuffer = null;
38
84
  this._thicknessBuffer = null;
39
85
  this._rgbaBuffer = null;
86
+ this._pickingColorBuffer = null;
40
87
 
41
88
  this._vertexArr = [];
42
89
  this._startPositionHighArr = [];
@@ -45,8 +92,6 @@ class RayHandler {
45
92
  this._endPositionLowArr = [];
46
93
  this._thicknessArr = [];
47
94
  this._rgbaArr = [];
48
-
49
- this._pickingColorBuffer = null;
50
95
  this._pickingColorArr = [];
51
96
 
52
97
  this._buffersUpdateCallbacks = [];
@@ -58,55 +103,43 @@ class RayHandler {
58
103
  this._buffersUpdateCallbacks[PICKINGCOLOR_BUFFER] = this.createPickingColorBuffer;
59
104
 
60
105
  this._changedBuffers = new Array(this._buffersUpdateCallbacks.length);
61
-
62
- this.__staticId = RayHandler._staticCounter++;
63
- }
64
-
65
- static get _staticCounter() {
66
- if (!this._counter && this._counter !== 0) {
67
- this._counter = 0;
68
- }
69
- return this._counter;
70
106
  }
71
107
 
72
- static set _staticCounter(n) {
73
- this._counter = n;
74
- }
75
-
76
- static concArr(dest, curr) {
108
+ static concArr(dest: number[], curr: number[]) {
77
109
  for (let i = 0; i < curr.length; i++) {
78
110
  dest.push(curr[i]);
79
111
  }
80
112
  }
81
113
 
82
- initProgram() {
83
- if (this._renderer.handler) {
114
+ public initProgram() {
115
+ if (this._renderer && this._renderer.handler) {
84
116
  if (!this._renderer.handler.programs.rayScreen) {
85
117
  this._renderer.handler.addProgram(shaders.rayScreen());
86
118
  }
87
119
 
120
+ // @todo: ray picking
88
121
  // if (!this._renderer.handler.programs.billboardPicking) {
89
122
  // this._renderer.handler.addProgram(shaders.billboardPicking());
90
123
  // }
91
124
  }
92
125
  }
93
126
 
94
- setRenderer(renderer) {
127
+ public setRenderer(renderer: Renderer) {
95
128
  this._renderer = renderer;
96
129
  this.initProgram();
97
130
  }
98
131
 
99
- refresh() {
100
- var i = this._changedBuffers.length;
132
+ public refresh() {
133
+ let i = this._changedBuffers.length;
101
134
  while (i--) {
102
135
  this._changedBuffers[i] = true;
103
136
  }
104
137
  }
105
138
 
106
- _removeRays() {
107
- var i = this._rays.length;
139
+ protected _removeRays() {
140
+ let i = this._rays.length;
108
141
  while (i--) {
109
- var ri = this._rays[i];
142
+ let ri = this._rays[i];
110
143
  ri._handlerIndex = -1;
111
144
  ri._handler = null;
112
145
  }
@@ -114,39 +147,48 @@ class RayHandler {
114
147
  this._rays = [];
115
148
  }
116
149
 
117
- clear() {
150
+ public clear() {
151
+ //@ts-ignore
118
152
  this._vertexArr = null;
153
+ //@ts-ignore
119
154
  this._startPositionHighArr = null;
155
+ //@ts-ignore
120
156
  this._startPositionLowArr = null;
157
+ //@ts-ignore
121
158
  this._endPositionHighArr = null;
159
+ //@ts-ignore
122
160
  this._endPositionLowArr = null;
161
+ //@ts-ignore
123
162
  this._thicknessArr = null;
163
+ //@ts-ignore
124
164
  this._rgbaArr = null;
125
165
 
126
- this._vertexArr = new Float32Array();
127
- this._startPositionHighArr = new Float32Array();
128
- this._startPositionLowArr = new Float32Array();
129
- this._endPositionHighArr = new Float32Array();
130
- this._endPositionLowArr = new Float32Array();
131
- this._thicknessArr = new Float32Array();
132
- this._rgbaArr = new Float32Array();
166
+ this._vertexArr = new Float32Array([]);
167
+ this._startPositionHighArr = new Float32Array([]);
168
+ this._startPositionLowArr = new Float32Array([]);
169
+ this._endPositionHighArr = new Float32Array([]);
170
+ this._endPositionLowArr = new Float32Array([]);
171
+ this._thicknessArr = new Float32Array([]);
172
+ this._rgbaArr = new Float32Array([]);
133
173
 
134
174
  this._removeRays();
135
175
  this._deleteBuffers();
136
176
  this.refresh();
137
177
  }
138
178
 
139
- _deleteBuffers() {
179
+ protected _deleteBuffers() {
140
180
  if (this._renderer) {
141
- var gl = this._renderer.handler.gl;
142
-
143
- gl.deleteBuffer(this._startPositionHighBuffer);
144
- gl.deleteBuffer(this._startPositionLowBuffer);
145
- gl.deleteBuffer(this._endPositionHighBuffer);
146
- gl.deleteBuffer(this._endPositionLowBuffer);
147
- gl.deleteBuffer(this._thicknessBuffer);
148
- gl.deleteBuffer(this._rgbaBuffer);
149
- gl.deleteBuffer(this._vertexBuffer);
181
+ let gl = this._renderer.handler.gl;
182
+
183
+ if (gl) {
184
+ gl.deleteBuffer(this._startPositionHighBuffer as WebGLBuffer);
185
+ gl.deleteBuffer(this._startPositionLowBuffer as WebGLBuffer);
186
+ gl.deleteBuffer(this._endPositionHighBuffer as WebGLBuffer);
187
+ gl.deleteBuffer(this._endPositionLowBuffer as WebGLBuffer);
188
+ gl.deleteBuffer(this._thicknessBuffer as WebGLBuffer);
189
+ gl.deleteBuffer(this._rgbaBuffer as WebGLBuffer);
190
+ gl.deleteBuffer(this._vertexBuffer as WebGLBuffer);
191
+ }
150
192
 
151
193
  this._startPositionHighBuffer = null;
152
194
  this._startPositionLowBuffer = null;
@@ -158,9 +200,9 @@ class RayHandler {
158
200
  }
159
201
  }
160
202
 
161
- update() {
203
+ public update() {
162
204
  if (this._renderer) {
163
- var i = this._changedBuffers.length;
205
+ let i = this._changedBuffers.length;
164
206
  while (i--) {
165
207
  if (this._changedBuffers[i]) {
166
208
  this._buffersUpdateCallbacks[i].call(this);
@@ -170,7 +212,7 @@ class RayHandler {
170
212
  }
171
213
  }
172
214
 
173
- add(ray) {
215
+ public add(ray: Ray) {
174
216
  if (ray._handlerIndex == -1) {
175
217
  ray._handler = this;
176
218
  ray._handlerIndex = this._rays.length;
@@ -180,8 +222,8 @@ class RayHandler {
180
222
  }
181
223
  }
182
224
 
183
- _addRayToArrays(ray) {
184
- if (ray._visibility) {
225
+ protected _addRayToArrays(ray: Ray) {
226
+ if (ray.getVisibility()) {
185
227
  this._vertexArr = concatArrays(
186
228
  this._vertexArr,
187
229
  [-0.5, 1.0, -0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 1.0, -0.5, 1.0]
@@ -196,98 +238,22 @@ class RayHandler {
196
238
  let x = ray._startPositionHigh.x,
197
239
  y = ray._startPositionHigh.y,
198
240
  z = ray._startPositionHigh.z;
199
- this._startPositionHighArr = concatArrays(this._startPositionHighArr, [
200
- x,
201
- y,
202
- z,
203
- x,
204
- y,
205
- z,
206
- x,
207
- y,
208
- z,
209
- x,
210
- y,
211
- z,
212
- x,
213
- y,
214
- z,
215
- x,
216
- y,
217
- z
218
- ]);
241
+ this._startPositionHighArr = concatArrays(this._startPositionHighArr, [x, y, z, x, y, z, x, y, z, x, y, z, x, y, z, x, y, z]);
219
242
 
220
243
  x = ray._startPositionLow.x;
221
244
  y = ray._startPositionLow.y;
222
245
  z = ray._startPositionLow.z;
223
- this._startPositionLowArr = concatArrays(this._startPositionLowArr, [
224
- x,
225
- y,
226
- z,
227
- x,
228
- y,
229
- z,
230
- x,
231
- y,
232
- z,
233
- x,
234
- y,
235
- z,
236
- x,
237
- y,
238
- z,
239
- x,
240
- y,
241
- z
242
- ]);
246
+ this._startPositionLowArr = concatArrays(this._startPositionLowArr, [x, y, z, x, y, z, x, y, z, x, y, z, x, y, z, x, y, z]);
243
247
 
244
248
  x = ray._endPositionHigh.x;
245
249
  y = ray._endPositionHigh.y;
246
250
  z = ray._endPositionHigh.z;
247
- this._endPositionHighArr = concatArrays(this._endPositionHighArr, [
248
- x,
249
- y,
250
- z,
251
- x,
252
- y,
253
- z,
254
- x,
255
- y,
256
- z,
257
- x,
258
- y,
259
- z,
260
- x,
261
- y,
262
- z,
263
- x,
264
- y,
265
- z
266
- ]);
251
+ this._endPositionHighArr = concatArrays(this._endPositionHighArr, [x, y, z, x, y, z, x, y, z, x, y, z, x, y, z, x, y, z]);
267
252
 
268
253
  x = ray._endPositionLow.x;
269
254
  y = ray._endPositionLow.y;
270
255
  z = ray._endPositionLow.z;
271
- this._endPositionLowArr = concatArrays(this._endPositionLowArr, [
272
- x,
273
- y,
274
- z,
275
- x,
276
- y,
277
- z,
278
- x,
279
- y,
280
- z,
281
- x,
282
- y,
283
- z,
284
- x,
285
- y,
286
- z,
287
- x,
288
- y,
289
- z
290
- ]);
256
+ this._endPositionLowArr = concatArrays(this._endPositionLowArr, [x, y, z, x, y, z, x, y, z, x, y, z, x, y, z, x, y, z]);
291
257
 
292
258
  x = ray._thickness;
293
259
  this._thicknessArr = concatArrays(this._thicknessArr, [x, x, x, x, x, x]);
@@ -301,66 +267,29 @@ class RayHandler {
301
267
  b1 = ray._endColor.z,
302
268
  a1 = ray._endColor.w;
303
269
  this._rgbaArr = concatArrays(this._rgbaArr, [
304
- r1,
305
- g1,
306
- b1,
307
- a1,
308
- r0,
309
- g0,
310
- b0,
311
- a0,
312
- r0,
313
- g0,
314
- b0,
315
- a0,
316
- r0,
317
- g0,
318
- b0,
319
- a0,
320
- r1,
321
- g1,
322
- b1,
323
- a1,
324
- r1,
325
- g1,
326
- b1,
327
- a1
270
+ r1, g1, b1, a1,
271
+ r0, g0, b0, a0,
272
+ r0, g0, b0, a0,
273
+ r0, g0, b0, a0,
274
+ r1, g1, b1, a1,
275
+ r1, g1, b1, a1
328
276
  ]);
329
277
 
330
- x = ray._entity._pickingColor.x / 255;
331
- y = ray._entity._pickingColor.y / 255;
332
- z = ray._entity._pickingColor.z / 255;
333
- this._pickingColorArr = concatArrays(this._pickingColorArr, [
334
- x,
335
- y,
336
- z,
337
- x,
338
- y,
339
- z,
340
- x,
341
- y,
342
- z,
343
- x,
344
- y,
345
- z,
346
- x,
347
- y,
348
- z,
349
- x,
350
- y,
351
- z
352
- ]);
278
+ x = ray._entity!._pickingColor.x / 255;
279
+ y = ray._entity!._pickingColor.y / 255;
280
+ z = ray._entity!._pickingColor.z / 255;
281
+ this._pickingColorArr = concatArrays(this._pickingColorArr, [x, y, z, x, y, z, x, y, z, x, y, z, x, y, z, x, y, z]);
353
282
  }
354
283
 
355
- _displayPASS() {
356
- var r = this._renderer;
357
- var h = r.handler;
284
+ protected _displayPASS() {
285
+ let r = this._renderer!;
286
+ let h = r.handler;
358
287
  h.programs.rayScreen.activate();
359
- var sh = h.programs.rayScreen._program;
360
- var sha = sh.attributes,
288
+ let sh = h.programs.rayScreen._program;
289
+ let sha = sh.attributes,
361
290
  shu = sh.uniforms;
362
291
 
363
- var gl = h.gl,
292
+ let gl = h.gl!,
364
293
  ec = this._entityCollection;
365
294
 
366
295
  //gl.polygonOffset(ec.polygonOffsetFactor, ec.polygonOffsetUnits);
@@ -369,105 +298,71 @@ class RayHandler {
369
298
 
370
299
  gl.uniform1f(shu.uOpacity, ec._fadingOpacity);
371
300
 
372
- gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera.getViewMatrix());
373
- gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera.getProjectionMatrix());
301
+ gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera!.getViewMatrix());
302
+ gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera!.getProjectionMatrix());
374
303
 
375
- gl.uniform3fv(shu.eyePositionHigh, r.activeCamera.eyeHigh);
376
- gl.uniform3fv(shu.eyePositionLow, r.activeCamera.eyeLow);
304
+ gl.uniform3fv(shu.eyePositionHigh, r.activeCamera!.eyeHigh);
305
+ gl.uniform3fv(shu.eyePositionLow, r.activeCamera!.eyeLow);
377
306
 
378
- gl.uniform1f(shu.resolution, r.activeCamera._tanViewAngle_hradOneByHeight);
307
+ gl.uniform1f(shu.resolution, r.activeCamera!._tanViewAngle_hradOneByHeight);
379
308
 
380
- gl.bindBuffer(gl.ARRAY_BUFFER, this._startPositionHighBuffer);
381
- gl.vertexAttribPointer(
382
- sha.a_startPosHigh,
383
- this._startPositionHighBuffer.itemSize,
384
- gl.FLOAT,
385
- false,
386
- 0,
387
- 0
388
- );
309
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._startPositionHighBuffer!);
310
+ gl.vertexAttribPointer(sha.a_startPosHigh, this._startPositionHighBuffer!.itemSize, gl.FLOAT, false, 0, 0);
389
311
 
390
- gl.bindBuffer(gl.ARRAY_BUFFER, this._startPositionLowBuffer);
391
- gl.vertexAttribPointer(
392
- sha.a_startPosLow,
393
- this._startPositionLowBuffer.itemSize,
394
- gl.FLOAT,
395
- false,
396
- 0,
397
- 0
398
- );
312
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._startPositionLowBuffer!);
313
+ gl.vertexAttribPointer(sha.a_startPosLow, this._startPositionLowBuffer!.itemSize, gl.FLOAT, false, 0, 0);
399
314
 
400
- gl.bindBuffer(gl.ARRAY_BUFFER, this._endPositionHighBuffer);
401
- gl.vertexAttribPointer(
402
- sha.a_endPosHigh,
403
- this._endPositionHighBuffer.itemSize,
404
- gl.FLOAT,
405
- false,
406
- 0,
407
- 0
408
- );
315
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._endPositionHighBuffer!);
316
+ gl.vertexAttribPointer(sha.a_endPosHigh, this._endPositionHighBuffer!.itemSize, gl.FLOAT, false, 0, 0);
409
317
 
410
- gl.bindBuffer(gl.ARRAY_BUFFER, this._endPositionLowBuffer);
411
- gl.vertexAttribPointer(
412
- sha.a_endPosLow,
413
- this._endPositionLowBuffer.itemSize,
414
- gl.FLOAT,
415
- false,
416
- 0,
417
- 0
418
- );
318
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._endPositionLowBuffer!);
319
+ gl.vertexAttribPointer(sha.a_endPosLow, this._endPositionLowBuffer!.itemSize, gl.FLOAT, false, 0, 0);
419
320
 
420
- gl.bindBuffer(gl.ARRAY_BUFFER, this._rgbaBuffer);
421
- gl.vertexAttribPointer(sha.a_rgba, this._rgbaBuffer.itemSize, gl.FLOAT, false, 0, 0);
422
-
423
- gl.bindBuffer(gl.ARRAY_BUFFER, this._thicknessBuffer);
424
- gl.vertexAttribPointer(
425
- sha.a_thickness,
426
- this._thicknessBuffer.itemSize,
427
- gl.FLOAT,
428
- false,
429
- 0,
430
- 0
431
- );
321
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._rgbaBuffer!);
322
+ gl.vertexAttribPointer(sha.a_rgba, this._rgbaBuffer!.itemSize, gl.FLOAT, false, 0, 0);
432
323
 
433
- gl.bindBuffer(gl.ARRAY_BUFFER, this._vertexBuffer);
434
- gl.vertexAttribPointer(sha.a_vertices, this._vertexBuffer.itemSize, gl.FLOAT, false, 0, 0);
324
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._thicknessBuffer!);
325
+ gl.vertexAttribPointer(sha.a_thickness, this._thicknessBuffer!.itemSize, gl.FLOAT, false, 0, 0);
435
326
 
436
- gl.drawArrays(gl.TRIANGLES, 0, this._vertexBuffer.numItems);
327
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._vertexBuffer!);
328
+ gl.vertexAttribPointer(sha.a_vertices, this._vertexBuffer!.itemSize, gl.FLOAT, false, 0, 0);
329
+
330
+ gl.drawArrays(gl.TRIANGLES, 0, this._vertexBuffer!.numItems);
437
331
 
438
332
  gl.enable(gl.CULL_FACE);
439
333
  }
440
334
 
441
- _pickingPASS() {
335
+ protected _pickingPASS() {
442
336
  // ...
443
337
  }
444
338
 
445
- draw() {
339
+ public draw() {
446
340
  if (this._rays.length) {
447
341
  this.update();
448
342
  this._displayPASS();
449
343
  }
450
344
  }
451
345
 
452
- drawPicking() {
346
+ public drawPicking() {
453
347
  if (this._rays.length && this.pickingEnabled) {
454
348
  this._pickingPASS();
455
349
  }
456
350
  }
457
351
 
458
- reindexRaysArray(startIndex) {
459
- var r = this._rays;
352
+ public reindexRaysArray(startIndex: number) {
353
+ let r = this._rays;
460
354
  for (let i = startIndex; i < r.length; i++) {
461
355
  r[i]._handlerIndex = i;
462
356
  }
463
357
  }
464
358
 
465
- _removeRay(ray) {
466
- var ri = ray._handlerIndex;
359
+ protected _removeRay(ray: Ray) {
360
+
361
+ let ri = ray._handlerIndex;
467
362
 
468
363
  this._rays.splice(ri, 1);
469
364
 
470
- var i = ri * 24;
365
+ let i = ri * 24;
471
366
  this._rgbaArr = spliceArray(this._rgbaArr, i, 24);
472
367
 
473
368
  i = ri * 18;
@@ -490,17 +385,17 @@ class RayHandler {
490
385
  ray._handler = null;
491
386
  }
492
387
 
493
- remove(ray) {
494
- if (ray._handler && this.__staticId == ray._handler.__staticId) {
388
+ public remove(ray: Ray) {
389
+ if (ray._handler && this.__id === ray._handler.__id) {
495
390
  this._removeRay(ray);
496
391
  }
497
392
  }
498
393
 
499
- setStartPositionArr(index, positionHigh, positionLow) {
500
- var i = index * 18;
394
+ public setStartPositionArr(index: number, positionHigh: Vec3, positionLow: Vec3) {
395
+ let i = index * 18;
501
396
 
502
397
  // High
503
- var a = this._startPositionHighArr,
398
+ let a = this._startPositionHighArr,
504
399
  x = positionHigh.x,
505
400
  y = positionHigh.y,
506
401
  z = positionHigh.z;
@@ -562,11 +457,11 @@ class RayHandler {
562
457
  this._changedBuffers[START_POSITION_BUFFER] = true;
563
458
  }
564
459
 
565
- setEndPositionArr(index, positionHigh, positionLow) {
566
- var i = index * 18;
460
+ public setEndPositionArr(index: number, positionHigh: Vec3, positionLow: Vec3) {
461
+ let i = index * 18;
567
462
 
568
463
  // High
569
- var a = this._endPositionHighArr,
464
+ let a = this._endPositionHighArr,
570
465
  x = positionHigh.x,
571
466
  y = positionHigh.y,
572
467
  z = positionHigh.z;
@@ -628,9 +523,9 @@ class RayHandler {
628
523
  this._changedBuffers[END_POSITION_BUFFER] = true;
629
524
  }
630
525
 
631
- setPickingColorArr(index, color) {
632
- var i = index * 18;
633
- var a = this._pickingColorArr,
526
+ public setPickingColorArr(index: number, color: Vec3) {
527
+ let i = index * 18;
528
+ let a = this._pickingColorArr,
634
529
  x = color.x / 255,
635
530
  y = color.y / 255,
636
531
  z = color.z / 255;
@@ -662,9 +557,9 @@ class RayHandler {
662
557
  this._changedBuffers[PICKINGCOLOR_BUFFER] = true;
663
558
  }
664
559
 
665
- setRgbaArr(index, startColor, endColor) {
666
- var i = index * 24;
667
- var a = this._rgbaArr,
560
+ public setRgbaArr(index: number, startColor: Vec4, endColor: Vec4) {
561
+ let i = index * 24;
562
+ let a = this._rgbaArr,
668
563
  r0 = startColor.x,
669
564
  g0 = startColor.y,
670
565
  b0 = startColor.z,
@@ -707,9 +602,9 @@ class RayHandler {
707
602
  this._changedBuffers[RGBA_BUFFER] = true;
708
603
  }
709
604
 
710
- setThicknessArr(index, thickness) {
711
- var i = index * 6;
712
- var a = this._thicknessArr;
605
+ public setThicknessArr(index: number, thickness: number) {
606
+ let i = index * 6;
607
+ let a = this._thicknessArr;
713
608
 
714
609
  a[i] = thickness;
715
610
  a[i + 1] = thickness;
@@ -721,8 +616,8 @@ class RayHandler {
721
616
  this._changedBuffers[THICKNESS_BUFFER] = true;
722
617
  }
723
618
 
724
- setVisibility(index, visibility) {
725
- var vArr;
619
+ public setVisibility(index: number, visibility: boolean) {
620
+ let vArr: number[];
726
621
  if (visibility) {
727
622
  vArr = [-0.5, 1.0, -0.5, 0.0, 0.5, 0.0, 0.5, 0.0, 0.5, 1.0, -0.5, 1.0];
728
623
  } else {
@@ -731,9 +626,9 @@ class RayHandler {
731
626
  this.setVertexArr(index, vArr);
732
627
  }
733
628
 
734
- setVertexArr(index, vertexArr) {
735
- var i = index * 12;
736
- var a = this._vertexArr;
629
+ public setVertexArr(index: number, vertexArr: number[]) {
630
+ let i = index * 12;
631
+ let a = this._vertexArr;
737
632
 
738
633
  a[i] = vertexArr[0];
739
634
  a[i + 1] = vertexArr[1];
@@ -754,88 +649,88 @@ class RayHandler {
754
649
  this._changedBuffers[VERTEX_BUFFER] = true;
755
650
  }
756
651
 
757
- createStartPositionBuffer() {
758
- var h = this._renderer.handler;
759
- h.gl.deleteBuffer(this._startPositionHighBuffer);
652
+ public createStartPositionBuffer() {
653
+ let h = this._renderer!.handler;
654
+ h.gl!.deleteBuffer(this._startPositionHighBuffer as WebGLBuffer);
760
655
  this._startPositionHighArr = makeArrayTyped(this._startPositionHighArr);
761
656
  this._startPositionHighBuffer = h.createArrayBuffer(
762
- this._startPositionHighArr,
657
+ this._startPositionHighArr as Float32Array,
763
658
  3,
764
659
  this._startPositionHighArr.length / 3,
765
- h.gl.DYNAMIC_DRAW
660
+ h.gl!.DYNAMIC_DRAW
766
661
  );
767
- h.gl.deleteBuffer(this._startPositionLowBuffer);
662
+ h.gl!.deleteBuffer(this._startPositionLowBuffer as WebGLBuffer);
768
663
  this._startPositionLowArr = makeArrayTyped(this._startPositionLowArr);
769
664
 
770
665
  this._startPositionLowBuffer = h.createArrayBuffer(
771
- this._startPositionLowArr,
666
+ this._startPositionLowArr as Float32Array,
772
667
  3,
773
668
  this._startPositionLowArr.length / 3,
774
- h.gl.DYNAMIC_DRAW
669
+ h.gl!.DYNAMIC_DRAW
775
670
  );
776
671
  }
777
672
 
778
- createEndPositionBuffer() {
779
- var h = this._renderer.handler;
780
- h.gl.deleteBuffer(this._endPositionHighBuffer);
673
+ public createEndPositionBuffer() {
674
+ let h = this._renderer!.handler;
675
+ h.gl!.deleteBuffer(this._endPositionHighBuffer as WebGLBuffer);
781
676
  this._endPositionHighArr = makeArrayTyped(this._endPositionHighArr);
782
677
  this._endPositionHighBuffer = h.createArrayBuffer(
783
- this._endPositionHighArr,
678
+ this._endPositionHighArr as Float32Array,
784
679
  3,
785
680
  this._endPositionHighArr.length / 3,
786
- h.gl.DYNAMIC_DRAW
681
+ h.gl!.DYNAMIC_DRAW
787
682
  );
788
- h.gl.deleteBuffer(this._endPositionLowBuffer);
683
+ h.gl!.deleteBuffer(this._endPositionLowBuffer as WebGLBuffer);
789
684
  this._endPositionLowArr = makeArrayTyped(this._endPositionLowArr);
790
685
  this._endPositionLowBuffer = h.createArrayBuffer(
791
- this._endPositionLowArr,
686
+ this._endPositionLowArr as Float32Array,
792
687
  3,
793
688
  this._endPositionLowArr.length / 3,
794
- h.gl.DYNAMIC_DRAW
689
+ h.gl!.DYNAMIC_DRAW
795
690
  );
796
691
  }
797
692
 
798
- createRgbaBuffer() {
799
- var h = this._renderer.handler;
800
- h.gl.deleteBuffer(this._rgbaBuffer);
693
+ public createRgbaBuffer() {
694
+ let h = this._renderer!.handler;
695
+ h.gl!.deleteBuffer(this._rgbaBuffer as WebGLBuffer);
801
696
  this._rgbaArr = makeArrayTyped(this._rgbaArr);
802
- this._rgbaBuffer = h.createArrayBuffer(this._rgbaArr, 4, this._rgbaArr.length / 4);
697
+ this._rgbaBuffer = h.createArrayBuffer(this._rgbaArr as Float32Array, 4, this._rgbaArr.length / 4);
803
698
  }
804
699
 
805
- createThicknessBuffer() {
806
- var h = this._renderer.handler;
807
- h.gl.deleteBuffer(this._thicknessBuffer);
700
+ public createThicknessBuffer() {
701
+ let h = this._renderer!.handler;
702
+ h.gl!.deleteBuffer(this._thicknessBuffer as WebGLBuffer);
808
703
  this._thicknessArr = makeArrayTyped(this._thicknessArr);
809
704
  this._thicknessBuffer = h.createArrayBuffer(
810
- this._thicknessArr,
705
+ this._thicknessArr as Float32Array,
811
706
  1,
812
707
  this._thicknessArr.length,
813
- h.gl.DYNAMIC_DRAW
708
+ h.gl!.DYNAMIC_DRAW
814
709
  );
815
710
  }
816
711
 
817
- createVertexBuffer() {
818
- var h = this._renderer.handler;
819
- h.gl.deleteBuffer(this._vertexBuffer);
712
+ public createVertexBuffer() {
713
+ let h = this._renderer!.handler;
714
+ h.gl!.deleteBuffer(this._vertexBuffer as WebGLBuffer);
820
715
  this._vertexArr = makeArrayTyped(this._vertexArr);
821
716
  this._vertexBuffer = h.createArrayBuffer(
822
- this._vertexArr,
717
+ this._vertexArr as Float32Array,
823
718
  2,
824
719
  this._vertexArr.length / 2,
825
- h.gl.DYNAMIC_DRAW
720
+ h.gl!.DYNAMIC_DRAW
826
721
  );
827
722
  }
828
723
 
829
- createPickingColorBuffer() {
830
- var h = this._renderer.handler;
831
- h.gl.deleteBuffer(this._pickingColorBuffer);
724
+ public createPickingColorBuffer() {
725
+ let h = this._renderer!.handler;
726
+ h.gl!.deleteBuffer(this._pickingColorBuffer as WebGLBuffer);
832
727
  this._pickingColorArr = makeArrayTyped(this._pickingColorArr);
833
728
  this._pickingColorBuffer = h.createArrayBuffer(
834
- this._pickingColorArr,
729
+ this._pickingColorArr as Float32Array,
835
730
  3,
836
731
  this._pickingColorArr.length / 3
837
732
  );
838
733
  }
839
734
  }
840
735
 
841
- export { RayHandler };
736
+ export {RayHandler};