@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,12 +1,140 @@
1
- "use strict";
1
+ import {Events, EventsHandler, EventCallback} from "../Events";
2
+ import {input} from "../input/input";
3
+ import {KeyboardHandler} from "../input/KeyboardHandler";
4
+ import {MouseHandler, MouseHandlerEvent, MouseEventExt} from "../input/MouseHandler";
5
+ import {Renderer} from "./Renderer";
6
+ import {TouchEventExt, TouchHandler} from "../input/TouchHandler";
7
+ import {Vec2} from "../math/Vec2";
8
+ import {NumberArray3, Vec3} from "../math/Vec3";
9
+
10
+ export type RendererEventsHandler = RendererEvents & EventsHandler<RendererEventsType>;
11
+
12
+ export function createRendererEvents(renderer: Renderer) {
13
+ return new RendererEvents(renderer);
14
+ }
2
15
 
3
- import { Events } from "../Events.js";
4
- import { input } from "../input/input.js";
5
- import { KeyboardHandler } from "../input/KeyboardHandler.js";
6
- import { MouseHandler } from "../input/MouseHandler.js";
7
- import { TouchHandler } from "../input/TouchHandler.js";
8
- import { Vec2 } from "../math/Vec2.js";
9
- import { Vec3 } from "../math/Vec3.js";
16
+ export type RendererEventsType = [
17
+ "draw",
18
+ "postdraw",
19
+ "resize",
20
+ "resizeend",
21
+ "mouseenter",
22
+ "mouseleave",
23
+ "mousemove",
24
+ "mousestop",
25
+ "lclick",
26
+ "rclick",
27
+ "mclick",
28
+ "ldblclick",
29
+ "rdblclick",
30
+ "mdblclick",
31
+ "lup",
32
+ "rup",
33
+ "mup",
34
+ "ldown",
35
+ "rdown",
36
+ "mdown",
37
+ "lhold",
38
+ "rhold",
39
+ "mhold",
40
+ "mousewheel",
41
+ "touchstart",
42
+ "touchend",
43
+ "touchcancel",
44
+ "touchmove",
45
+ "doubletouch",
46
+ "touchleave",
47
+ "touchenter"
48
+ ];
49
+
50
+ export interface IBaseInputState {
51
+ /** Current screen mouse X position. */
52
+ clientX: number;
53
+ /** Current screen mouse Y position. */
54
+ clientY: number;
55
+ /** Current screen mouse position. */
56
+ pos: Vec2;
57
+ /** Current touch X - coordinate. */
58
+ x: number;
59
+ /** Current touch Y - coordinate. */
60
+ y: number;
61
+ /** Current touch X - coordinate from 0 to 1 */
62
+ nx: number;
63
+ /** Current touch Y - coordinate from 0 to 1 */
64
+ ny: number;
65
+ /** Previous touch X coordinate. */
66
+ prev_x: number;
67
+ /** Previous touch Y coordinate. */
68
+ prev_y: number,
69
+ /** Screen touch position world direction. */
70
+ direction: Vec3;
71
+ /** Current touched(picking) object. */
72
+ pickingObject: any | null;
73
+ /** Renderer instance. */
74
+ renderer: Renderer;
75
+ /** Touching is moving now. */
76
+ moving: boolean;
77
+ }
78
+
79
+ export interface IMouseState extends IBaseInputState {
80
+ /** Left mouse button has stopped pushing down right now.*/
81
+ leftButtonUp: boolean;
82
+ /** Right mouse button has stopped pushing down right now.*/
83
+ rightButtonUp: boolean;
84
+ /** Middle mouse button has stopped pushing down right now.*/
85
+ middleButtonUp: boolean;
86
+ /** Left mouse button has pushed now.*/
87
+ leftButtonDown: boolean;
88
+ /** Right mouse button has pushed now.*/
89
+ rightButtonDown: boolean;
90
+ /** Middle mouse button has pushed now.*/
91
+ middleButtonDown: boolean;
92
+ /** Left mouse button is pushing.*/
93
+ leftButtonHold: boolean;
94
+ /** Right mouse button is pushing.*/
95
+ rightButtonHold: boolean;
96
+ /** Middle mouse button is pushing.*/
97
+ middleButtonHold: boolean;
98
+ /** Left mouse button has clicked twice now.*/
99
+ leftButtonDoubleClick: boolean;
100
+ /** Right mouse button has clicked twice now.*/
101
+ rightButtonDoubleClick: boolean;
102
+ /** Middle mouse button has clicked twice now.*/
103
+ middleButtonDoubleClick: boolean;
104
+ /** Left mouse button has clicked now. */
105
+ leftButtonClick: boolean;
106
+ /** Right mouse button has clicked now. */
107
+ rightButtonClick: boolean;
108
+ /** Middle mouse button has clicked now. */
109
+ middleButtonClick: boolean;
110
+ /** Mouse has just stopped now. */
111
+ justStopped: boolean;
112
+ /** Mose double click delay response time.*/
113
+ doubleClickDelay: number;
114
+ /** Mose click delay response time.*/
115
+ clickDelay: number;
116
+ /** Mouse wheel. */
117
+ wheelDelta: number;
118
+ /** JavaScript mouse system event message. */
119
+ sys: MouseEvent | null;
120
+ }
121
+
122
+ export interface ITouchState extends IBaseInputState {
123
+ /** Touch has ended right now.*/
124
+ touchEnd: boolean;
125
+ /** Touch has started right now.*/
126
+ touchStart: boolean;
127
+ /** Touch canceled.*/
128
+ touchCancel: boolean;
129
+ /** Touched twice.*/
130
+ doubleTouch: boolean;
131
+ /** Double touching responce delay.*/
132
+ doubleTouchDelay: number;
133
+ /** Double touching responce radius in screen pixels.*/
134
+ doubleTouchRadius: number;
135
+ /** JavaScript mouse system event message. */
136
+ sys: TouchEventExt | null;
137
+ }
10
138
 
11
139
  const LB_M = 0b0001;
12
140
  const RB_M = 0b0010;
@@ -15,12 +143,11 @@ const MB_M = 0b0100;
15
143
  let __skipFrames__ = 0;
16
144
  const MAX_SKIP_FRAMES_ON_BLACK = 15;
17
145
 
18
- const ISBLACK = (c) => !(c[0] || c[1] || c[2]);
19
- const NOTBLACK = (c) => c[0] || c[1] || c[2];
146
+ const ISBLACK = (c: NumberArray3 | Uint8Array): boolean => !(c[0] || c[1] || c[2]);
147
+ const NOTBLACK = (c: NumberArray3 | Uint8Array): boolean => !!(c[0] || c[1] || c[2]);
20
148
 
21
149
  /**
22
150
  * Stores current picking rgb color.
23
- * @private
24
151
  * @type {Array.<number>} - (exactly 3 entries)
25
152
  */
26
153
  let _currPickingColor = new Uint8Array(4);
@@ -28,7 +155,6 @@ let _tempCurrPickingColor = new Uint8Array(4);
28
155
 
29
156
  /**
30
157
  * Stores previous picked rgb color.
31
- * @private
32
158
  * @type {Array.<number>} - (exactly 3 entries)
33
159
  */
34
160
  let _prevPickingColor = new Uint8Array(4);
@@ -38,162 +164,148 @@ let _prevPickingColor = new Uint8Array(4);
38
164
  * @class
39
165
  * @param {Renderer} renderer - Renderer object, events that works for.
40
166
  */
41
- class RendererEvents extends Events {
42
- constructor(renderer) {
43
- super(EVENT_NAMES);
44
-
45
- /**
46
- * Assigned renderer.
47
- * @public
48
- * @type {Renderer}
49
- */
167
+ class RendererEvents extends Events<RendererEventsType> implements RendererEventsHandler {
168
+ /**
169
+ * Assigned renderer.
170
+ * @public
171
+ * @type {Renderer}
172
+ */
173
+ public renderer: Renderer;
174
+
175
+ /**
176
+ * Low level touch events handler.
177
+ * @protected
178
+ * @type {TouchHandler}
179
+ */
180
+ protected _touchHandler: TouchHandler;
181
+
182
+ /**
183
+ * Low level mouse events handler.
184
+ * @protected
185
+ * @type {MouseHandler}
186
+ */
187
+ protected _mouseHandler: MouseHandler;
188
+
189
+ /**
190
+ * Low level keyboard events handler.
191
+ * @protected
192
+ * @type {KeyboardHandler}
193
+ */
194
+ protected _keyboardHandler: KeyboardHandler;
195
+
196
+ protected _active: boolean;
197
+
198
+ public clickRadius: number;
199
+
200
+ /**
201
+ * Current mouse state.
202
+ * @public
203
+ * @type {IMouseState}
204
+ */
205
+ public mouseState: IMouseState;
206
+
207
+ /**
208
+ * Current touch state.
209
+ * @public
210
+ * @type {ITouchState}
211
+ */
212
+ public touchState: ITouchState;
213
+
214
+ protected _dblTchCoords: Vec2;
215
+ protected _oneTouchStart: boolean;
216
+ protected _dblTchBegins: number;
217
+ protected _mousestopThread: any | null;
218
+ protected _ldblClkBegins: number;
219
+ protected _rdblClkBegins: number;
220
+ protected _mdblClkBegins: number;
221
+ protected _lClkBegins: number;
222
+ protected _rClkBegins: number;
223
+ protected _mClkBegins: number;
224
+ protected _lclickX: number;
225
+ protected _lclickY: number;
226
+ protected _rclickX: number;
227
+ protected _rclickY: number;
228
+ protected _mclickX: number;
229
+ protected _mclickY: number;
230
+
231
+ constructor(renderer: Renderer) {
232
+
233
+ super(RENDERER_EVENTS);
234
+
50
235
  this.renderer = renderer;
51
236
 
52
- /**
53
- * Low level touch events handler.
54
- * @private
55
- * @type {input.TouchHandler}
56
- */
57
- this._touchHandler = new TouchHandler(renderer.handler.canvas);
58
-
59
- /**
60
- * Low level mouse events handler.
61
- * @private
62
- * @type {input.MouseHandler}
63
- */
64
- this._mouseHandler = new MouseHandler(renderer.handler.canvas);
65
-
66
- /**
67
- * Low level keyboard events handler.
68
- * @private
69
- * @type {input.KeyboardHandler}
70
- */
237
+ this._touchHandler = new TouchHandler(renderer.handler.canvas!);
238
+
239
+ this._mouseHandler = new MouseHandler(renderer.handler.canvas!);
240
+
71
241
  this._keyboardHandler = new KeyboardHandler();
72
242
 
73
243
  this._active = true;
74
244
 
75
245
  this.clickRadius = 15;
76
246
 
77
- /**
78
- * Current mouse state.
79
- * @public
80
- * @enum {Object}
81
- */
82
247
  this.mouseState = {
83
- /** Current screen mouse X position. */
84
248
  clientX: 0,
85
- /** Current screen mouse Y position. */
86
249
  clientY: 0,
87
- /** Current viewport mouse X position. */
250
+ pos: new Vec2(),
88
251
  x: 0,
89
- /** Current viewport mouse Y position. */
90
252
  y: 0,
91
- /** Current mouse X position from 0 to 1 */
92
253
  nx: 0,
93
- /** Current mouse Y position from 0 to 1 */
94
254
  ny: 0,
95
- /** Previous mouse X position. */
96
255
  prev_x: 0,
97
- /** Previous mouse Y position. */
98
256
  prev_y: 0,
99
- /** Screen mouse position world direction. */
100
257
  direction: new Vec3(),
101
- /** Left mouse button has stopped pushing down right now.*/
102
258
  leftButtonUp: false,
103
- /** Right mouse button has stopped pushing down right now.*/
104
259
  rightButtonUp: false,
105
- /** Middle mouse button has stopped pushing down right now.*/
106
260
  middleButtonUp: false,
107
- /** Left mouse button has pushed now.*/
108
261
  leftButtonDown: false,
109
- /** Right mouse button has pushed now.*/
110
262
  rightButtonDown: false,
111
- /** Middle mouse button has pushed now.*/
112
263
  middleButtonDown: false,
113
- /** Left mouse button is pushing.*/
114
264
  leftButtonHold: false,
115
- /** Right mouse button is pushing.*/
116
265
  rightButtonHold: false,
117
- /** Middle mouse button is pushing.*/
118
266
  middleButtonHold: false,
119
- /** Left mouse button has clicked twice now.*/
120
267
  leftButtonDoubleClick: false,
121
- /** Right mouse button has clicked twice now.*/
122
268
  rightButtonDoubleClick: false,
123
- /** Middle mouse button has clicked twice now.*/
124
269
  middleButtonDoubleClick: false,
125
- /** Left mouse button has clicked now. */
126
270
  leftButtonClick: false,
127
- /** Right mouse button has clicked now. */
128
271
  rightButtonClick: false,
129
- /** Middle mouse button has clicked now. */
130
272
  middleButtonClick: false,
131
- /** Mouse is moving now. */
132
273
  moving: false,
133
- /** Mouse has just stopped now. */
134
274
  justStopped: false,
135
- /** Mose double click delay response time.*/
136
275
  doubleClickDelay: 500,
137
- /** Mose click delay response time.*/
138
276
  clickDelay: 200,
139
- /** Mouse wheel. */
140
277
  wheelDelta: 0,
141
- /** JavaScript mouse system event message. */
142
278
  sys: null,
143
- /** Current picking object. */
144
279
  pickingObject: null,
145
- /** Renderer instanve. */
146
280
  renderer: renderer
147
281
  };
148
282
 
149
- /**
150
- * Current touch state.
151
- * @public
152
- * @enum {Object}
153
- */
154
283
  this.touchState = {
155
- /** Touching is moving now. */
156
284
  moving: false,
157
- /** Touch has ended right now.*/
158
285
  touchEnd: false,
159
- /** Touch has started right now.*/
160
286
  touchStart: false,
161
- /** Touch canceled.*/
162
287
  touchCancel: false,
163
- /** Touched twice.*/
164
288
  doubleTouch: false,
165
- /** Double touching responce delay.*/
166
289
  doubleTouchDelay: 550,
167
- /** Double touching responce radius in screen pixels.*/
168
290
  doubleTouchRadius: 10,
169
- /** Current touch X - coordinate. */
291
+ clientX: 0,
292
+ clientY: 0,
293
+ pos: new Vec2(),
170
294
  x: 0,
171
- /** Current touch Y - coordinate. */
172
295
  y: 0,
173
- /** Current touch X - coordinate from 0 to 1 */
174
296
  nx: 0,
175
- /** Current touch Y - coordinate from 0 to 1 */
176
297
  ny: 0,
177
- /** Previous touch X coordinate. */
178
298
  prev_x: 0,
179
- /** Previous touch Y coordinate. */
180
299
  prev_y: 0,
181
- /** Screen touch position world direction. */
182
300
  direction: new Vec3(),
183
- /** JavaScript touching system event message. */
184
301
  sys: null,
185
- /** Current touched(picking) object. */
186
302
  pickingObject: null,
187
- /** Renderer instanve. */
188
303
  renderer: renderer
189
304
  };
190
305
 
191
306
  this._dblTchCoords = new Vec2();
192
307
  this._oneTouchStart = false;
193
308
  this._dblTchBegins = 0;
194
- /**
195
- * @type {number}
196
- */
197
309
  this._mousestopThread = null;
198
310
  this._ldblClkBegins = 0;
199
311
  this._rdblClkBegins = 0;
@@ -209,42 +321,42 @@ class RendererEvents extends Events {
209
321
  this._mclickY = 0;
210
322
  }
211
323
 
212
- pointerEvent() {
324
+ public pointerEvent(): boolean {
213
325
  let ms = this.mouseState,
214
326
  ts = this.touchState;
215
327
  return (
216
328
  ms.moving ||
217
329
  ms.justStopped ||
218
- ms.wheelDelta ||
219
330
  ts.moving ||
220
331
  ts.touchStart ||
221
- ts.touchEnd
332
+ ts.touchEnd ||
333
+ ms.wheelDelta !== 0
222
334
  )
223
335
  }
224
336
 
225
- get active() {
337
+ public get active(): boolean {
226
338
  return this._active;
227
339
  }
228
340
 
229
- set active(act) {
230
- this._active = act;
231
- this._keyboardHandler.setActivity(act);
341
+ public set active(isActive: boolean) {
342
+ this._active = isActive;
343
+ this._keyboardHandler.setActivity(isActive);
232
344
  }
233
345
 
234
346
  /**
235
347
  * Used in render node frame.
236
348
  * @public
237
349
  */
238
- handleEvents() {
350
+ public handleEvents() {
239
351
  if (this._active) {
240
- this.mouseState.direction = this.renderer.activeCamera.unproject(
352
+ this.mouseState.direction = this.renderer.activeCamera!.unproject(
241
353
  this.mouseState.x,
242
354
  this.mouseState.y
243
355
  );
244
356
  //
245
- // TODO: Replace in some other place with a thought that we do
357
+ // TODO: Replace in some other place with a thought that we do
246
358
  // not need to make unproject when we do not make touching
247
- this.touchState.direction = this.renderer.activeCamera.unproject(
359
+ this.touchState.direction = this.renderer.activeCamera!.unproject(
248
360
  this.touchState.x,
249
361
  this.touchState.y
250
362
  );
@@ -256,19 +368,19 @@ class RendererEvents extends Events {
256
368
  }
257
369
  }
258
370
 
259
- on(name, p0, p1, p2, p3) {
371
+ public override on(name: string, p0: EventCallback | number, p1?: number | EventCallback, p2?: any, keyPriority?: number) {
260
372
  if (name === "keypress" || name === "charkeypress" || name === "keyfree") {
261
- this._keyboardHandler.addEvent(name, p0, p1, p2, p3);
373
+ this._keyboardHandler.addEvent(name, p0 as number, p1 as EventCallback, p2, keyPriority);
262
374
  } else {
263
- super.on(name, p0, p1, p2);
375
+ super.on(name, p0 as EventCallback, p1, p2);
264
376
  }
265
377
  }
266
378
 
267
- off(name, p1, p2) {
379
+ public override off(name: string, p1?: EventCallback | number | null, p2?: EventCallback) {
268
380
  if (name === "keypress" || name === "charkeypress" || name === "keyfree") {
269
- this._keyboardHandler.removeEvent(name, p1, p2);
381
+ this._keyboardHandler.removeEvent(name, p1 as number, p2 as EventCallback);
270
382
  } else {
271
- super.off(name, p1);
383
+ super.off(name, p1 as EventCallback);
272
384
  }
273
385
  }
274
386
 
@@ -278,11 +390,11 @@ class RendererEvents extends Events {
278
390
  * @param {number} keyCode - Key code
279
391
  * @return {boolean}
280
392
  */
281
- isKeyPressed(keyCode) {
393
+ public isKeyPressed(keyCode: number): boolean {
282
394
  return this._keyboardHandler.isKeyPressed(keyCode);
283
395
  }
284
396
 
285
- releaseKeys() {
397
+ public releaseKeys() {
286
398
  this._keyboardHandler.releaseKeys();
287
399
  }
288
400
 
@@ -290,7 +402,7 @@ class RendererEvents extends Events {
290
402
  * Renderer events initialization.
291
403
  * @public
292
404
  */
293
- initialize() {
405
+ public initialize() {
294
406
  this._mouseHandler.setEvent("mouseup", this, this.onMouseUp);
295
407
  this._mouseHandler.setEvent("mousemove", this, this.onMouseMove);
296
408
  this._mouseHandler.setEvent("mousedown", this, this.onMouseDown);
@@ -305,16 +417,14 @@ class RendererEvents extends Events {
305
417
  }
306
418
 
307
419
  /**
308
- * @private
420
+ * @protected
309
421
  */
310
- onMouseWheel(event) {
311
- this.mouseState.wheelDelta = event.wheelDelta;
422
+ protected onMouseWheel(event: MouseEventExt) {
423
+ this.mouseState.sys = event;
424
+ this.mouseState.wheelDelta = event.wheelDelta || 0;
312
425
  }
313
426
 
314
- /**
315
- * @protected
316
- */
317
- updateButtonsStates(buttons) {
427
+ public updateButtonsStates(buttons: number) {
318
428
  let ms = this.mouseState;
319
429
  if ((buttons & LB_M) && ms.leftButtonDown) {
320
430
  ms.leftButtonDown = true;
@@ -338,16 +448,13 @@ class RendererEvents extends Events {
338
448
  }
339
449
  }
340
450
 
341
- /**
342
- * @private
343
- */
344
- onMouseMove(event, sys) {
345
- var ms = this.mouseState;
451
+ protected onMouseMove(sys: MouseEvent, event?: MouseHandlerEvent) {
452
+ let ms = this.mouseState;
346
453
  this.updateButtonsStates(sys.buttons);
347
- ms.sys = event;
454
+ ms.sys = sys;
348
455
 
349
- let ex = event.clientX,
350
- ey = event.clientY,
456
+ let ex = event!.clientX,
457
+ ey = event!.clientY,
351
458
  r = this.clickRadius;
352
459
 
353
460
  if (Math.abs(this._lclickX - ex) >= r && Math.abs(this._lclickY - ey) >= r) {
@@ -365,20 +472,20 @@ class RendererEvents extends Events {
365
472
  this._mClkBegins = 0;
366
473
  }
367
474
 
368
- if (ms.clientX === event.clientX && ms.clientY === event.clientY) {
475
+ if (ms.clientX === event!.clientX && ms.clientY === event!.clientY) {
369
476
  return;
370
477
  }
371
478
 
372
- ms.clientX = event.clientX;
373
- ms.clientY = event.clientY;
479
+ ms.clientX = event!.clientX;
480
+ ms.clientY = event!.clientY;
374
481
 
375
482
  let h = this.renderer.handler;
376
483
 
377
- ms.x = event.clientX * h.pixelRatio;
378
- ms.y = event.clientY * h.pixelRatio;
484
+ ms.pos.x = ms.x = event!.clientX * h.pixelRatio;
485
+ ms.pos.y = ms.y = event!.clientY * h.pixelRatio;
379
486
 
380
- ms.nx = ms.x / h.canvas.width;
381
- ms.ny = ms.y / h.canvas.height;
487
+ ms.nx = ms.x / h.canvas!.width;
488
+ ms.ny = ms.y / h.canvas!.height;
382
489
 
383
490
  ms.moving = true;
384
491
 
@@ -389,54 +496,50 @@ class RendererEvents extends Events {
389
496
  }, 100);
390
497
  }
391
498
 
392
- onMouseLeave(event) {
393
- this.dispatch(this.mouseleave, event);
499
+ protected onMouseLeave(sys: MouseEvent) {
500
+ this.mouseState.sys = sys;
501
+ this.dispatch((this as RendererEventsHandler).mouseleave, this.mouseState);
394
502
  }
395
503
 
396
- onMouseEnter(event) {
397
- this.dispatch(this.mouseenter, event);
504
+ protected onMouseEnter(sys: MouseEvent) {
505
+ this.mouseState.sys = sys;
506
+ this.dispatch((this as RendererEventsHandler).mouseenter, this.mouseState);
398
507
  }
399
508
 
400
- /**
401
- * @private
402
- */
403
- onMouseDown(event) {
404
- if (event.button === input.MB_LEFT) {
509
+ protected onMouseDown(sys: MouseEvent, event?: MouseHandlerEvent) {
510
+ if (event!.button === input.MB_LEFT) {
405
511
  this._lClkBegins = window.performance.now();
406
- this._lclickX = event.clientX;
407
- this._lclickY = event.clientY;
408
- this.mouseState.sys = event;
512
+ this._lclickX = event!.clientX;
513
+ this._lclickY = event!.clientY;
514
+ this.mouseState.sys = sys;
409
515
  this.mouseState.leftButtonDown = true;
410
- } else if (event.button === input.MB_RIGHT) {
516
+ } else if (event!.button === input.MB_RIGHT) {
411
517
  this._rClkBegins = window.performance.now();
412
- this._rclickX = event.clientX;
413
- this._rclickY = event.clientY;
414
- this.mouseState.sys = event;
518
+ this._rclickX = event!.clientX;
519
+ this._rclickY = event!.clientY;
520
+ this.mouseState.sys = sys;
415
521
  this.mouseState.rightButtonDown = true;
416
- } else if (event.button === input.MB_MIDDLE) {
522
+ } else if (event!.button === input.MB_MIDDLE) {
417
523
  this._mClkBegins = window.performance.now();
418
- this._mclickX = event.clientX;
419
- this._mclickY = event.clientY;
420
- this.mouseState.sys = event;
524
+ this._mclickX = event!.clientX;
525
+ this._mclickY = event!.clientY;
526
+ this.mouseState.sys = sys;
421
527
  this.mouseState.middleButtonDown = true;
422
528
  }
423
529
  }
424
530
 
425
- /**
426
- * @private
427
- */
428
- onMouseUp(event) {
429
- var ms = this.mouseState;
430
- ms.sys = event;
431
- var t = window.performance.now();
531
+ protected onMouseUp(sys: MouseEvent, event?: MouseHandlerEvent) {
532
+ let ms = this.mouseState;
533
+ ms.sys = sys;
534
+ let t = window.performance.now();
432
535
 
433
- if (event.button === input.MB_LEFT) {
536
+ if (event!.button === input.MB_LEFT) {
434
537
  ms.leftButtonDown = false;
435
538
  ms.leftButtonUp = true;
436
539
 
437
540
  if (
438
- Math.abs(this._lclickX - event.clientX) < this.clickRadius &&
439
- Math.abs(this._lclickY - event.clientY) < this.clickRadius &&
541
+ Math.abs(this._lclickX - event!.clientX) < this.clickRadius &&
542
+ Math.abs(this._lclickY - event!.clientY) < this.clickRadius &&
440
543
  t - this._lClkBegins <= ms.clickDelay
441
544
  ) {
442
545
  if (this._ldblClkBegins) {
@@ -452,13 +555,13 @@ class RendererEvents extends Events {
452
555
  ms.leftButtonClick = true;
453
556
  this._lClkBegins = 0;
454
557
  }
455
- } else if (event.button === input.MB_RIGHT) {
558
+ } else if (event!.button === input.MB_RIGHT) {
456
559
  ms.rightButtonDown = false;
457
560
  ms.rightButtonUp = true;
458
561
 
459
562
  if (
460
- Math.abs(this._rclickX - event.clientX) < this.clickRadius &&
461
- Math.abs(this._rclickY - event.clientY) < this.clickRadius &&
563
+ Math.abs(this._rclickX - event!.clientX) < this.clickRadius &&
564
+ Math.abs(this._rclickY - event!.clientY) < this.clickRadius &&
462
565
  t - this._rClkBegins <= ms.clickDelay
463
566
  ) {
464
567
  if (this._rdblClkBegins) {
@@ -474,17 +577,17 @@ class RendererEvents extends Events {
474
577
  ms.rightButtonClick = true;
475
578
  this._rClkBegins = 0;
476
579
  }
477
- } else if (event.button === input.MB_MIDDLE) {
580
+ } else if (event!.button === input.MB_MIDDLE) {
478
581
  ms.middleButtonDown = false;
479
582
  ms.middleButtonUp = true;
480
583
 
481
584
  if (
482
- Math.abs(this._mclickX - event.clientX) < this.clickRadius &&
483
- Math.abs(this._mclickY - event.clientY) < this.clickRadius &&
585
+ Math.abs(this._mclickX - event!.clientX) < this.clickRadius &&
586
+ Math.abs(this._mclickY - event!.clientY) < this.clickRadius &&
484
587
  t - this._mClkBegins <= ms.clickDelay
485
588
  ) {
486
589
  if (this._mdblClkBegins) {
487
- var deltatime = window.performance.now() - this._mdblClkBegins;
590
+ let deltatime = window.performance.now() - this._mdblClkBegins;
488
591
  if (deltatime <= ms.doubleClickDelay) {
489
592
  ms.middleButtonDoubleClick = true;
490
593
  }
@@ -499,23 +602,20 @@ class RendererEvents extends Events {
499
602
  }
500
603
  }
501
604
 
502
- /**
503
- * @private
504
- */
505
- onTouchStart(event) {
506
- var ts = this.touchState;
605
+ protected onTouchStart(event: TouchEventExt) {
606
+ let ts = this.touchState;
507
607
  ts.sys = event;
508
608
 
509
- ts.clientX = event.touches.item(0).clientX - event.offsetLeft;
510
- ts.clientY = event.touches.item(0).clientY - event.offsetTop;
609
+ ts.clientX = event.touches.item(0)!.clientX - event.offsetLeft;
610
+ ts.clientY = event.touches.item(0)!.clientY - event.offsetTop;
511
611
 
512
612
  let h = this.renderer.handler;
513
613
 
514
- ts.x = ts.clientX * h.pixelRatio;
515
- ts.y = ts.clientY * h.pixelRatio;
614
+ ts.pos.x = ts.x = ts.clientX * h.pixelRatio;
615
+ ts.pos.y = ts.y = ts.clientY * h.pixelRatio;
516
616
 
517
- ts.nx = ts.x / h.canvas.width;
518
- ts.ny = ts.y / h.canvas.height;
617
+ ts.nx = ts.x / h.canvas!.width;
618
+ ts.ny = ts.y / h.canvas!.height;
519
619
  ts.prev_x = ts.x;
520
620
  ts.prev_y = ts.y;
521
621
  ts.touchStart = true;
@@ -530,10 +630,10 @@ class RendererEvents extends Events {
530
630
  }
531
631
 
532
632
  /**
533
- * @private
633
+ * @protected
534
634
  */
535
- onTouchEnd(event) {
536
- var ts = this.touchState;
635
+ protected onTouchEnd(event: TouchEventExt) {
636
+ let ts = this.touchState;
537
637
  ts.sys = event;
538
638
  ts.touchEnd = true;
539
639
 
@@ -543,7 +643,7 @@ class RendererEvents extends Events {
543
643
 
544
644
  if (this._oneTouchStart) {
545
645
  if (this._dblTchBegins) {
546
- var deltatime = window.performance.now() - this._dblTchBegins;
646
+ let deltatime = window.performance.now() - this._dblTchBegins;
547
647
  if (deltatime <= ts.doubleTouchDelay) {
548
648
  ts.doubleTouch = true;
549
649
  }
@@ -555,46 +655,38 @@ class RendererEvents extends Events {
555
655
  }
556
656
  }
557
657
 
558
- /**
559
- * @private
560
- */
561
- onTouchCancel(event) {
562
- var ts = this.touchState;
658
+ protected onTouchCancel(event: TouchEventExt) {
659
+ let ts = this.touchState;
563
660
  ts.sys = event;
564
661
  ts.touchCancel = true;
565
662
  }
566
663
 
567
- /**
568
- * @private
569
- */
570
- onTouchMove(event) {
571
- var ts = this.touchState;
572
- ts.clientX = event.touches.item(0).clientX - event.offsetLeft;
573
- ts.clientY = event.touches.item(0).clientY - event.offsetTop;
664
+ protected onTouchMove(event: TouchEventExt) {
665
+ let ts = this.touchState;
666
+
667
+ ts.clientX = event.touches.item(0)!.clientX - event.offsetLeft;
668
+ ts.clientY = event.touches.item(0)!.clientY - event.offsetTop;
574
669
 
575
- var h = this.renderer.handler;
670
+ let h = this.renderer.handler;
576
671
 
577
672
  ts.x = ts.clientX * h.pixelRatio;
578
673
  ts.y = ts.clientY * h.pixelRatio;
579
674
 
580
- ts.nx = ts.x / h.canvas.width;
581
- ts.ny = ts.y / h.canvas.height;
675
+ ts.nx = ts.x / h.canvas!.width;
676
+ ts.ny = ts.y / h.canvas!.height;
582
677
 
583
678
  ts.sys = event;
584
679
  ts.moving = true;
585
680
 
586
- var dX = ts.x - ts.prev_x
587
- var dY = ts.y - ts.prev_y
681
+ let dX = ts.x - ts.prev_x
682
+ let dY = ts.y - ts.prev_y
588
683
  if (Math.abs(dX) > 9 || Math.abs(dY) > 9) {
589
684
  this._dblTchBegins = 0;
590
685
  this._oneTouchStart = false;
591
686
  }
592
687
  }
593
688
 
594
- /**
595
- * @private
596
- */
597
- entityPickingEvents() {
689
+ protected entityPickingEvents() {
598
690
  let ts = this.touchState,
599
691
  ms = this.mouseState;
600
692
 
@@ -628,7 +720,7 @@ class RendererEvents extends Events {
628
720
  ms.pickingObject = null;
629
721
  ts.pickingObject = null;
630
722
 
631
- let co = r.getPickingObjectArr(c);
723
+ let co = r.getPickingObjectArr<any>(c);
632
724
 
633
725
  ms.pickingObject = co;
634
726
  ts.pickingObject = co;
@@ -638,7 +730,7 @@ class RendererEvents extends Events {
638
730
 
639
731
  //current is black
640
732
  if (ISBLACK(c)) {
641
- let po = r.getPickingObjectArr(p);
733
+ let po = r.getPickingObjectArr<any>(p);
642
734
  if (po) {
643
735
  let pe = po.rendererEvents;
644
736
  ms.pickingObject = po;
@@ -651,7 +743,7 @@ class RendererEvents extends Events {
651
743
 
652
744
  //previous is not black
653
745
  if (NOTBLACK(p)) {
654
- let po = r.getPickingObjectArr(p);
746
+ let po = r.getPickingObjectArr<any>(p);
655
747
  if (po) {
656
748
  let pe = po.rendererEvents;
657
749
  ms.pickingObject = po;
@@ -673,10 +765,8 @@ class RendererEvents extends Events {
673
765
  }
674
766
  }
675
767
 
676
- /**
677
- * @private
678
- */
679
- handleMouseEvents() {
768
+ protected handleMouseEvents() {
769
+ let _this = this as RendererEventsHandler;
680
770
  let ms = this.mouseState;
681
771
  let po = ms.pickingObject,
682
772
  pe = null;
@@ -686,7 +776,7 @@ class RendererEvents extends Events {
686
776
  pe = po.rendererEvents;
687
777
  pe && pe.dispatch(pe.lclick, ms);
688
778
  }
689
- this.dispatch(this.lclick, ms);
779
+ this.dispatch(_this.lclick, ms);
690
780
  ms.leftButtonClick = false;
691
781
  }
692
782
 
@@ -695,7 +785,7 @@ class RendererEvents extends Events {
695
785
  pe = po.rendererEvents;
696
786
  pe && pe.dispatch(pe.rclick, ms);
697
787
  }
698
- this.dispatch(this.rclick, ms);
788
+ this.dispatch(_this.rclick, ms);
699
789
  ms.rightButtonClick = false;
700
790
  }
701
791
 
@@ -704,7 +794,7 @@ class RendererEvents extends Events {
704
794
  pe = po.rendererEvents;
705
795
  pe && pe.dispatch(pe.mclick, ms);
706
796
  }
707
- this.dispatch(this.mclick, ms);
797
+ this.dispatch(_this.mclick, ms);
708
798
  ms.middleButtonClick = false;
709
799
  }
710
800
 
@@ -714,14 +804,14 @@ class RendererEvents extends Events {
714
804
  pe = po.rendererEvents;
715
805
  pe && pe.dispatch(pe.lhold, ms);
716
806
  }
717
- this.dispatch(this.lhold, ms);
807
+ this.dispatch(_this.lhold, ms);
718
808
  } else {
719
809
  ms.leftButtonHold = true;
720
810
  if (po) {
721
811
  pe = po.rendererEvents;
722
812
  pe && pe.dispatch(pe.ldown, ms);
723
813
  }
724
- this.dispatch(this.ldown, ms);
814
+ this.dispatch(_this.ldown, ms);
725
815
  }
726
816
  }
727
817
 
@@ -731,14 +821,14 @@ class RendererEvents extends Events {
731
821
  pe = po.rendererEvents;
732
822
  pe && pe.dispatch(pe.rhold, ms);
733
823
  }
734
- this.dispatch(this.rhold, ms);
824
+ this.dispatch(_this.rhold, ms);
735
825
  } else {
736
826
  ms.rightButtonHold = true;
737
827
  if (po) {
738
828
  pe = po.rendererEvents;
739
829
  pe && pe.dispatch(pe.rdown, ms);
740
830
  }
741
- this.dispatch(this.rdown, ms);
831
+ this.dispatch(_this.rdown, ms);
742
832
  }
743
833
  }
744
834
 
@@ -748,14 +838,14 @@ class RendererEvents extends Events {
748
838
  pe = po.rendererEvents;
749
839
  pe && pe.dispatch(pe.mhold, ms);
750
840
  }
751
- this.dispatch(this.mhold, ms);
841
+ this.dispatch(_this.mhold, ms);
752
842
  } else {
753
843
  ms.middleButtonHold = true;
754
844
  if (po) {
755
845
  pe = po.rendererEvents;
756
846
  pe && pe.dispatch(pe.mdown, ms);
757
847
  }
758
- this.dispatch(this.mdown, ms);
848
+ this.dispatch(_this.mdown, ms);
759
849
  }
760
850
  }
761
851
 
@@ -764,7 +854,7 @@ class RendererEvents extends Events {
764
854
  pe = po.rendererEvents;
765
855
  pe && pe.dispatch(pe.lup, ms);
766
856
  }
767
- this.dispatch(this.lup, ms);
857
+ this.dispatch(_this.lup, ms);
768
858
  ms.leftButtonUp = false;
769
859
  ms.leftButtonHold = false;
770
860
  }
@@ -774,7 +864,7 @@ class RendererEvents extends Events {
774
864
  pe = po.rendererEvents;
775
865
  pe && pe.dispatch(pe.rup, ms);
776
866
  }
777
- this.dispatch(this.rup, ms);
867
+ this.dispatch(_this.rup, ms);
778
868
  ms.rightButtonUp = false;
779
869
  ms.rightButtonHold = false;
780
870
  }
@@ -784,7 +874,7 @@ class RendererEvents extends Events {
784
874
  pe = po.rendererEvents;
785
875
  pe && pe.dispatch(pe.mup, ms);
786
876
  }
787
- this.dispatch(this.mup, ms);
877
+ this.dispatch(_this.mup, ms);
788
878
  ms.middleButtonUp = false;
789
879
  ms.middleButtonHold = false;
790
880
  }
@@ -794,7 +884,7 @@ class RendererEvents extends Events {
794
884
  pe = po.rendererEvents;
795
885
  pe && pe.dispatch(pe.ldblclick, ms);
796
886
  }
797
- this.dispatch(this.ldblclick, ms);
887
+ this.dispatch(_this.ldblclick, ms);
798
888
  ms.leftButtonDoubleClick = false;
799
889
  }
800
890
 
@@ -803,7 +893,7 @@ class RendererEvents extends Events {
803
893
  pe = po.rendererEvents;
804
894
  pe && pe.dispatch(pe.rdblclick, ms);
805
895
  }
806
- this.dispatch(this.rdblclick, ms);
896
+ this.dispatch(_this.rdblclick, ms);
807
897
  ms.rightButtonDoubleClick = false;
808
898
  }
809
899
 
@@ -812,7 +902,7 @@ class RendererEvents extends Events {
812
902
  pe = po.rendererEvents;
813
903
  pe && pe.dispatch(pe.mdblclick, ms);
814
904
  }
815
- this.dispatch(this.mdblclick, ms);
905
+ this.dispatch(_this.mdblclick, ms);
816
906
  ms.middleButtonDoubleClick = false;
817
907
  }
818
908
 
@@ -821,7 +911,7 @@ class RendererEvents extends Events {
821
911
  pe = po.rendererEvents;
822
912
  pe && pe.dispatch(pe.mousewheel, ms);
823
913
  }
824
- this.dispatch(this.mousewheel, ms);
914
+ this.dispatch(_this.mousewheel, ms);
825
915
  }
826
916
 
827
917
  if (ms.moving) {
@@ -829,45 +919,46 @@ class RendererEvents extends Events {
829
919
  pe = po.rendererEvents;
830
920
  pe && pe.dispatch(pe.mousemove, ms);
831
921
  }
832
- this.dispatch(this.mousemove, ms);
922
+ this.dispatch(_this.mousemove, ms);
833
923
  ms.prev_x = ms.x;
834
924
  ms.prev_y = ms.y;
835
925
  }
836
926
 
837
927
  if (ms.justStopped) {
838
- this.dispatch(this.mousestop, ms);
928
+ this.dispatch(_this.mousestop, ms);
839
929
  }
840
930
  }
841
931
 
842
932
  /**
843
- * @private
933
+ * @protected
844
934
  */
845
- handleTouchEvents() {
935
+ protected handleTouchEvents() {
936
+ let _this = this as RendererEventsHandler;
937
+
846
938
  let ts = this.touchState;
847
939
 
848
940
  let tpo = ts.pickingObject,
849
941
  tpe = null;
850
942
 
851
943
  if (ts.touchCancel) {
852
- this.dispatch(this.touchcancel, ts);
944
+ this.dispatch(_this.touchcancel, ts);
853
945
  ts.touchCancel = false;
854
946
  }
855
947
 
856
948
  if (ts.touchStart) {
857
949
  let r = this.renderer;
858
950
 
859
- r.pickingFramebuffer.activate();
860
- r.pickingFramebuffer.readPixels(_currPickingColor, ts.nx, 1.0 - ts.ny, 1);
861
- r.pickingFramebuffer.deactivate();
951
+ r.pickingFramebuffer!.activate();
952
+ r.pickingFramebuffer!.readPixels(_currPickingColor, ts.nx, 1.0 - ts.ny, 1);
953
+ r.pickingFramebuffer!.deactivate();
862
954
 
863
- let c = _currPickingColor;
864
- let co = r.getPickingObjectArr(c);
955
+ let co = r.getPickingObjectArr<any>(_currPickingColor);
865
956
  tpo = ts.pickingObject = co;
866
957
  if (tpo) {
867
958
  tpe = tpo.rendererEvents;
868
959
  tpe && tpe.dispatch(tpe.touchstart, ts);
869
960
  }
870
- this.dispatch(this.touchstart, ts);
961
+ this.dispatch(_this.touchstart, ts);
871
962
  ts.touchStart = false;
872
963
  }
873
964
 
@@ -876,7 +967,7 @@ class RendererEvents extends Events {
876
967
  tpe = tpo.rendererEvents;
877
968
  tpe && tpe.dispatch(tpe.doubletouch, ts);
878
969
  }
879
- this.dispatch(this.doubletouch, ts);
970
+ this.dispatch(_this.doubletouch, ts);
880
971
  ts.doubleTouch = false;
881
972
  }
882
973
 
@@ -885,7 +976,7 @@ class RendererEvents extends Events {
885
976
  tpe = tpo.rendererEvents;
886
977
  tpe && tpe.dispatch(tpe.touchend, ts);
887
978
  }
888
- this.dispatch(this.touchend, ts);
979
+ this.dispatch(_this.touchend, ts);
889
980
  ts.x = 0;
890
981
  ts.y = 0;
891
982
  ts.touchEnd = false;
@@ -896,14 +987,14 @@ class RendererEvents extends Events {
896
987
  tpe = tpo.rendererEvents;
897
988
  tpe && tpe.dispatch(tpe.touchmove, ts);
898
989
  }
899
- this.dispatch(this.touchmove, ts);
990
+ this.dispatch(_this.touchmove, ts);
900
991
  ts.prev_x = ts.x;
901
992
  ts.prev_y = ts.y;
902
993
  }
903
994
  }
904
995
  }
905
996
 
906
- const EVENT_NAMES = [
997
+ const RENDERER_EVENTS: RendererEventsType = [
907
998
  /**
908
999
  * Triggered before scene frame is rendered(before render nodes).
909
1000
  * @event og.RendererEvents#draw
@@ -1091,4 +1182,4 @@ const EVENT_NAMES = [
1091
1182
  "touchenter"
1092
1183
  ];
1093
1184
 
1094
- export { RendererEvents };
1185
+ export {RendererEvents};