@openglobus/og 0.17.1 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -149
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -128
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1168
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -10
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -255
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -595
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
@@ -1,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
+ }
15
+
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
+ ];
2
49
 
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";
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,33 +368,19 @@ class RendererEvents extends Events {
256
368
  }
257
369
  }
258
370
 
259
- /**
260
- * Set render event callback.
261
- * @public
262
- * @param {string} name - Event name
263
- * @param {eventCallback} callback - Callback function
264
- * @param {number} [key] - Key code from og.input
265
- * @param {*} sender - Callback context
266
- * @param {number} [priority] - Event callback priority
267
- */
268
- on(name, p0, p1, p2, p3) {
371
+ public override on(name: string, p0: EventCallback | number, p1?: number | EventCallback, p2?: any, keyPriority?: number) {
269
372
  if (name === "keypress" || name === "charkeypress" || name === "keyfree") {
270
- this._keyboardHandler.addEvent(name, p2, p1, p0, p3);
373
+ this._keyboardHandler.addEvent(name, p0 as number, p1 as EventCallback, p2, keyPriority);
271
374
  } else {
272
- super.on(name, p0, p1, p2);
375
+ super.on(name, p0 as EventCallback, p1, p2);
273
376
  }
274
377
  }
275
378
 
276
- /**
277
- * TODO: DOESNT WORK!!!
278
- * @param {any} name
279
- * @param {any} callback
280
- */
281
- off(name, callback) {
379
+ public override off(name: string, p1?: EventCallback | number | null, p2?: EventCallback) {
282
380
  if (name === "keypress" || name === "charkeypress" || name === "keyfree") {
283
- this._keyboardHandler.removeEvent(name, callback);
381
+ this._keyboardHandler.removeEvent(name, p1 as number, p2 as EventCallback);
284
382
  } else {
285
- super.off(name, callback);
383
+ super.off(name, p1 as EventCallback);
286
384
  }
287
385
  }
288
386
 
@@ -292,11 +390,11 @@ class RendererEvents extends Events {
292
390
  * @param {number} keyCode - Key code
293
391
  * @return {boolean}
294
392
  */
295
- isKeyPressed(keyCode) {
393
+ public isKeyPressed(keyCode: number): boolean {
296
394
  return this._keyboardHandler.isKeyPressed(keyCode);
297
395
  }
298
396
 
299
- releaseKeys() {
397
+ public releaseKeys() {
300
398
  this._keyboardHandler.releaseKeys();
301
399
  }
302
400
 
@@ -304,7 +402,7 @@ class RendererEvents extends Events {
304
402
  * Renderer events initialization.
305
403
  * @public
306
404
  */
307
- initialize() {
405
+ public initialize() {
308
406
  this._mouseHandler.setEvent("mouseup", this, this.onMouseUp);
309
407
  this._mouseHandler.setEvent("mousemove", this, this.onMouseMove);
310
408
  this._mouseHandler.setEvent("mousedown", this, this.onMouseDown);
@@ -319,16 +417,14 @@ class RendererEvents extends Events {
319
417
  }
320
418
 
321
419
  /**
322
- * @private
420
+ * @protected
323
421
  */
324
- onMouseWheel(event) {
325
- this.mouseState.wheelDelta = event.wheelDelta;
422
+ protected onMouseWheel(event: MouseEventExt) {
423
+ this.mouseState.sys = event;
424
+ this.mouseState.wheelDelta = event.wheelDelta || 0;
326
425
  }
327
426
 
328
- /**
329
- * @protected
330
- */
331
- updateButtonsStates(buttons) {
427
+ public updateButtonsStates(buttons: number) {
332
428
  let ms = this.mouseState;
333
429
  if ((buttons & LB_M) && ms.leftButtonDown) {
334
430
  ms.leftButtonDown = true;
@@ -352,16 +448,13 @@ class RendererEvents extends Events {
352
448
  }
353
449
  }
354
450
 
355
- /**
356
- * @private
357
- */
358
- onMouseMove(event, sys) {
359
- var ms = this.mouseState;
451
+ protected onMouseMove(sys: MouseEvent, event?: MouseHandlerEvent) {
452
+ let ms = this.mouseState;
360
453
  this.updateButtonsStates(sys.buttons);
361
- ms.sys = event;
454
+ ms.sys = sys;
362
455
 
363
- let ex = event.clientX,
364
- ey = event.clientY,
456
+ let ex = event!.clientX,
457
+ ey = event!.clientY,
365
458
  r = this.clickRadius;
366
459
 
367
460
  if (Math.abs(this._lclickX - ex) >= r && Math.abs(this._lclickY - ey) >= r) {
@@ -379,20 +472,20 @@ class RendererEvents extends Events {
379
472
  this._mClkBegins = 0;
380
473
  }
381
474
 
382
- if (ms.clientX === event.clientX && ms.clientY === event.clientY) {
475
+ if (ms.clientX === event!.clientX && ms.clientY === event!.clientY) {
383
476
  return;
384
477
  }
385
478
 
386
- ms.clientX = event.clientX;
387
- ms.clientY = event.clientY;
479
+ ms.clientX = event!.clientX;
480
+ ms.clientY = event!.clientY;
388
481
 
389
482
  let h = this.renderer.handler;
390
483
 
391
- ms.x = event.clientX * h.pixelRatio;
392
- 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;
393
486
 
394
- ms.nx = ms.x / h.canvas.width;
395
- ms.ny = ms.y / h.canvas.height;
487
+ ms.nx = ms.x / h.canvas!.width;
488
+ ms.ny = ms.y / h.canvas!.height;
396
489
 
397
490
  ms.moving = true;
398
491
 
@@ -403,54 +496,50 @@ class RendererEvents extends Events {
403
496
  }, 100);
404
497
  }
405
498
 
406
- onMouseLeave(event) {
407
- this.dispatch(this.mouseleave, event);
499
+ protected onMouseLeave(sys: MouseEvent) {
500
+ this.mouseState.sys = sys;
501
+ this.dispatch((this as RendererEventsHandler).mouseleave, this.mouseState);
408
502
  }
409
503
 
410
- onMouseEnter(event) {
411
- this.dispatch(this.mouseenter, event);
504
+ protected onMouseEnter(sys: MouseEvent) {
505
+ this.mouseState.sys = sys;
506
+ this.dispatch((this as RendererEventsHandler).mouseenter, this.mouseState);
412
507
  }
413
508
 
414
- /**
415
- * @private
416
- */
417
- onMouseDown(event) {
418
- if (event.button === input.MB_LEFT) {
509
+ protected onMouseDown(sys: MouseEvent, event?: MouseHandlerEvent) {
510
+ if (event!.button === input.MB_LEFT) {
419
511
  this._lClkBegins = window.performance.now();
420
- this._lclickX = event.clientX;
421
- this._lclickY = event.clientY;
422
- this.mouseState.sys = event;
512
+ this._lclickX = event!.clientX;
513
+ this._lclickY = event!.clientY;
514
+ this.mouseState.sys = sys;
423
515
  this.mouseState.leftButtonDown = true;
424
- } else if (event.button === input.MB_RIGHT) {
516
+ } else if (event!.button === input.MB_RIGHT) {
425
517
  this._rClkBegins = window.performance.now();
426
- this._rclickX = event.clientX;
427
- this._rclickY = event.clientY;
428
- this.mouseState.sys = event;
518
+ this._rclickX = event!.clientX;
519
+ this._rclickY = event!.clientY;
520
+ this.mouseState.sys = sys;
429
521
  this.mouseState.rightButtonDown = true;
430
- } else if (event.button === input.MB_MIDDLE) {
522
+ } else if (event!.button === input.MB_MIDDLE) {
431
523
  this._mClkBegins = window.performance.now();
432
- this._mclickX = event.clientX;
433
- this._mclickY = event.clientY;
434
- this.mouseState.sys = event;
524
+ this._mclickX = event!.clientX;
525
+ this._mclickY = event!.clientY;
526
+ this.mouseState.sys = sys;
435
527
  this.mouseState.middleButtonDown = true;
436
528
  }
437
529
  }
438
530
 
439
- /**
440
- * @private
441
- */
442
- onMouseUp(event) {
443
- var ms = this.mouseState;
444
- ms.sys = event;
445
- 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();
446
535
 
447
- if (event.button === input.MB_LEFT) {
536
+ if (event!.button === input.MB_LEFT) {
448
537
  ms.leftButtonDown = false;
449
538
  ms.leftButtonUp = true;
450
539
 
451
540
  if (
452
- Math.abs(this._lclickX - event.clientX) < this.clickRadius &&
453
- 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 &&
454
543
  t - this._lClkBegins <= ms.clickDelay
455
544
  ) {
456
545
  if (this._ldblClkBegins) {
@@ -466,13 +555,13 @@ class RendererEvents extends Events {
466
555
  ms.leftButtonClick = true;
467
556
  this._lClkBegins = 0;
468
557
  }
469
- } else if (event.button === input.MB_RIGHT) {
558
+ } else if (event!.button === input.MB_RIGHT) {
470
559
  ms.rightButtonDown = false;
471
560
  ms.rightButtonUp = true;
472
561
 
473
562
  if (
474
- Math.abs(this._rclickX - event.clientX) < this.clickRadius &&
475
- 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 &&
476
565
  t - this._rClkBegins <= ms.clickDelay
477
566
  ) {
478
567
  if (this._rdblClkBegins) {
@@ -488,17 +577,17 @@ class RendererEvents extends Events {
488
577
  ms.rightButtonClick = true;
489
578
  this._rClkBegins = 0;
490
579
  }
491
- } else if (event.button === input.MB_MIDDLE) {
580
+ } else if (event!.button === input.MB_MIDDLE) {
492
581
  ms.middleButtonDown = false;
493
582
  ms.middleButtonUp = true;
494
583
 
495
584
  if (
496
- Math.abs(this._mclickX - event.clientX) < this.clickRadius &&
497
- 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 &&
498
587
  t - this._mClkBegins <= ms.clickDelay
499
588
  ) {
500
589
  if (this._mdblClkBegins) {
501
- var deltatime = window.performance.now() - this._mdblClkBegins;
590
+ let deltatime = window.performance.now() - this._mdblClkBegins;
502
591
  if (deltatime <= ms.doubleClickDelay) {
503
592
  ms.middleButtonDoubleClick = true;
504
593
  }
@@ -513,23 +602,20 @@ class RendererEvents extends Events {
513
602
  }
514
603
  }
515
604
 
516
- /**
517
- * @private
518
- */
519
- onTouchStart(event) {
520
- var ts = this.touchState;
605
+ protected onTouchStart(event: TouchEventExt) {
606
+ let ts = this.touchState;
521
607
  ts.sys = event;
522
608
 
523
- ts.clientX = event.touches.item(0).clientX - event.offsetLeft;
524
- 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;
525
611
 
526
612
  let h = this.renderer.handler;
527
613
 
528
- ts.x = ts.clientX * h.pixelRatio;
529
- 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;
530
616
 
531
- ts.nx = ts.x / h.canvas.width;
532
- ts.ny = ts.y / h.canvas.height;
617
+ ts.nx = ts.x / h.canvas!.width;
618
+ ts.ny = ts.y / h.canvas!.height;
533
619
  ts.prev_x = ts.x;
534
620
  ts.prev_y = ts.y;
535
621
  ts.touchStart = true;
@@ -544,10 +630,10 @@ class RendererEvents extends Events {
544
630
  }
545
631
 
546
632
  /**
547
- * @private
633
+ * @protected
548
634
  */
549
- onTouchEnd(event) {
550
- var ts = this.touchState;
635
+ protected onTouchEnd(event: TouchEventExt) {
636
+ let ts = this.touchState;
551
637
  ts.sys = event;
552
638
  ts.touchEnd = true;
553
639
 
@@ -557,7 +643,7 @@ class RendererEvents extends Events {
557
643
 
558
644
  if (this._oneTouchStart) {
559
645
  if (this._dblTchBegins) {
560
- var deltatime = window.performance.now() - this._dblTchBegins;
646
+ let deltatime = window.performance.now() - this._dblTchBegins;
561
647
  if (deltatime <= ts.doubleTouchDelay) {
562
648
  ts.doubleTouch = true;
563
649
  }
@@ -569,46 +655,38 @@ class RendererEvents extends Events {
569
655
  }
570
656
  }
571
657
 
572
- /**
573
- * @private
574
- */
575
- onTouchCancel(event) {
576
- var ts = this.touchState;
658
+ protected onTouchCancel(event: TouchEventExt) {
659
+ let ts = this.touchState;
577
660
  ts.sys = event;
578
661
  ts.touchCancel = true;
579
662
  }
580
663
 
581
- /**
582
- * @private
583
- */
584
- onTouchMove(event) {
585
- var ts = this.touchState;
586
- ts.clientX = event.touches.item(0).clientX - event.offsetLeft;
587
- 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;
588
669
 
589
- var h = this.renderer.handler;
670
+ let h = this.renderer.handler;
590
671
 
591
672
  ts.x = ts.clientX * h.pixelRatio;
592
673
  ts.y = ts.clientY * h.pixelRatio;
593
674
 
594
- ts.nx = ts.x / h.canvas.width;
595
- ts.ny = ts.y / h.canvas.height;
675
+ ts.nx = ts.x / h.canvas!.width;
676
+ ts.ny = ts.y / h.canvas!.height;
596
677
 
597
678
  ts.sys = event;
598
679
  ts.moving = true;
599
680
 
600
- var dX = ts.x - ts.prev_x
601
- var dY = ts.y - ts.prev_y
681
+ let dX = ts.x - ts.prev_x
682
+ let dY = ts.y - ts.prev_y
602
683
  if (Math.abs(dX) > 9 || Math.abs(dY) > 9) {
603
684
  this._dblTchBegins = 0;
604
685
  this._oneTouchStart = false;
605
686
  }
606
687
  }
607
688
 
608
- /**
609
- * @private
610
- */
611
- entityPickingEvents() {
689
+ protected entityPickingEvents() {
612
690
  let ts = this.touchState,
613
691
  ms = this.mouseState;
614
692
 
@@ -642,7 +720,7 @@ class RendererEvents extends Events {
642
720
  ms.pickingObject = null;
643
721
  ts.pickingObject = null;
644
722
 
645
- let co = r.getPickingObjectArr(c);
723
+ let co = r.getPickingObjectArr<any>(c);
646
724
 
647
725
  ms.pickingObject = co;
648
726
  ts.pickingObject = co;
@@ -652,7 +730,7 @@ class RendererEvents extends Events {
652
730
 
653
731
  //current is black
654
732
  if (ISBLACK(c)) {
655
- let po = r.getPickingObjectArr(p);
733
+ let po = r.getPickingObjectArr<any>(p);
656
734
  if (po) {
657
735
  let pe = po.rendererEvents;
658
736
  ms.pickingObject = po;
@@ -665,7 +743,7 @@ class RendererEvents extends Events {
665
743
 
666
744
  //previous is not black
667
745
  if (NOTBLACK(p)) {
668
- let po = r.getPickingObjectArr(p);
746
+ let po = r.getPickingObjectArr<any>(p);
669
747
  if (po) {
670
748
  let pe = po.rendererEvents;
671
749
  ms.pickingObject = po;
@@ -687,10 +765,8 @@ class RendererEvents extends Events {
687
765
  }
688
766
  }
689
767
 
690
- /**
691
- * @private
692
- */
693
- handleMouseEvents() {
768
+ protected handleMouseEvents() {
769
+ let _this = this as RendererEventsHandler;
694
770
  let ms = this.mouseState;
695
771
  let po = ms.pickingObject,
696
772
  pe = null;
@@ -700,7 +776,7 @@ class RendererEvents extends Events {
700
776
  pe = po.rendererEvents;
701
777
  pe && pe.dispatch(pe.lclick, ms);
702
778
  }
703
- this.dispatch(this.lclick, ms);
779
+ this.dispatch(_this.lclick, ms);
704
780
  ms.leftButtonClick = false;
705
781
  }
706
782
 
@@ -709,7 +785,7 @@ class RendererEvents extends Events {
709
785
  pe = po.rendererEvents;
710
786
  pe && pe.dispatch(pe.rclick, ms);
711
787
  }
712
- this.dispatch(this.rclick, ms);
788
+ this.dispatch(_this.rclick, ms);
713
789
  ms.rightButtonClick = false;
714
790
  }
715
791
 
@@ -718,7 +794,7 @@ class RendererEvents extends Events {
718
794
  pe = po.rendererEvents;
719
795
  pe && pe.dispatch(pe.mclick, ms);
720
796
  }
721
- this.dispatch(this.mclick, ms);
797
+ this.dispatch(_this.mclick, ms);
722
798
  ms.middleButtonClick = false;
723
799
  }
724
800
 
@@ -728,14 +804,14 @@ class RendererEvents extends Events {
728
804
  pe = po.rendererEvents;
729
805
  pe && pe.dispatch(pe.lhold, ms);
730
806
  }
731
- this.dispatch(this.lhold, ms);
807
+ this.dispatch(_this.lhold, ms);
732
808
  } else {
733
809
  ms.leftButtonHold = true;
734
810
  if (po) {
735
811
  pe = po.rendererEvents;
736
812
  pe && pe.dispatch(pe.ldown, ms);
737
813
  }
738
- this.dispatch(this.ldown, ms);
814
+ this.dispatch(_this.ldown, ms);
739
815
  }
740
816
  }
741
817
 
@@ -745,14 +821,14 @@ class RendererEvents extends Events {
745
821
  pe = po.rendererEvents;
746
822
  pe && pe.dispatch(pe.rhold, ms);
747
823
  }
748
- this.dispatch(this.rhold, ms);
824
+ this.dispatch(_this.rhold, ms);
749
825
  } else {
750
826
  ms.rightButtonHold = true;
751
827
  if (po) {
752
828
  pe = po.rendererEvents;
753
829
  pe && pe.dispatch(pe.rdown, ms);
754
830
  }
755
- this.dispatch(this.rdown, ms);
831
+ this.dispatch(_this.rdown, ms);
756
832
  }
757
833
  }
758
834
 
@@ -762,14 +838,14 @@ class RendererEvents extends Events {
762
838
  pe = po.rendererEvents;
763
839
  pe && pe.dispatch(pe.mhold, ms);
764
840
  }
765
- this.dispatch(this.mhold, ms);
841
+ this.dispatch(_this.mhold, ms);
766
842
  } else {
767
843
  ms.middleButtonHold = true;
768
844
  if (po) {
769
845
  pe = po.rendererEvents;
770
846
  pe && pe.dispatch(pe.mdown, ms);
771
847
  }
772
- this.dispatch(this.mdown, ms);
848
+ this.dispatch(_this.mdown, ms);
773
849
  }
774
850
  }
775
851
 
@@ -778,7 +854,7 @@ class RendererEvents extends Events {
778
854
  pe = po.rendererEvents;
779
855
  pe && pe.dispatch(pe.lup, ms);
780
856
  }
781
- this.dispatch(this.lup, ms);
857
+ this.dispatch(_this.lup, ms);
782
858
  ms.leftButtonUp = false;
783
859
  ms.leftButtonHold = false;
784
860
  }
@@ -788,7 +864,7 @@ class RendererEvents extends Events {
788
864
  pe = po.rendererEvents;
789
865
  pe && pe.dispatch(pe.rup, ms);
790
866
  }
791
- this.dispatch(this.rup, ms);
867
+ this.dispatch(_this.rup, ms);
792
868
  ms.rightButtonUp = false;
793
869
  ms.rightButtonHold = false;
794
870
  }
@@ -798,7 +874,7 @@ class RendererEvents extends Events {
798
874
  pe = po.rendererEvents;
799
875
  pe && pe.dispatch(pe.mup, ms);
800
876
  }
801
- this.dispatch(this.mup, ms);
877
+ this.dispatch(_this.mup, ms);
802
878
  ms.middleButtonUp = false;
803
879
  ms.middleButtonHold = false;
804
880
  }
@@ -808,7 +884,7 @@ class RendererEvents extends Events {
808
884
  pe = po.rendererEvents;
809
885
  pe && pe.dispatch(pe.ldblclick, ms);
810
886
  }
811
- this.dispatch(this.ldblclick, ms);
887
+ this.dispatch(_this.ldblclick, ms);
812
888
  ms.leftButtonDoubleClick = false;
813
889
  }
814
890
 
@@ -817,7 +893,7 @@ class RendererEvents extends Events {
817
893
  pe = po.rendererEvents;
818
894
  pe && pe.dispatch(pe.rdblclick, ms);
819
895
  }
820
- this.dispatch(this.rdblclick, ms);
896
+ this.dispatch(_this.rdblclick, ms);
821
897
  ms.rightButtonDoubleClick = false;
822
898
  }
823
899
 
@@ -826,7 +902,7 @@ class RendererEvents extends Events {
826
902
  pe = po.rendererEvents;
827
903
  pe && pe.dispatch(pe.mdblclick, ms);
828
904
  }
829
- this.dispatch(this.mdblclick, ms);
905
+ this.dispatch(_this.mdblclick, ms);
830
906
  ms.middleButtonDoubleClick = false;
831
907
  }
832
908
 
@@ -835,7 +911,7 @@ class RendererEvents extends Events {
835
911
  pe = po.rendererEvents;
836
912
  pe && pe.dispatch(pe.mousewheel, ms);
837
913
  }
838
- this.dispatch(this.mousewheel, ms);
914
+ this.dispatch(_this.mousewheel, ms);
839
915
  }
840
916
 
841
917
  if (ms.moving) {
@@ -843,45 +919,46 @@ class RendererEvents extends Events {
843
919
  pe = po.rendererEvents;
844
920
  pe && pe.dispatch(pe.mousemove, ms);
845
921
  }
846
- this.dispatch(this.mousemove, ms);
922
+ this.dispatch(_this.mousemove, ms);
847
923
  ms.prev_x = ms.x;
848
924
  ms.prev_y = ms.y;
849
925
  }
850
926
 
851
927
  if (ms.justStopped) {
852
- this.dispatch(this.mousestop, ms);
928
+ this.dispatch(_this.mousestop, ms);
853
929
  }
854
930
  }
855
931
 
856
932
  /**
857
- * @private
933
+ * @protected
858
934
  */
859
- handleTouchEvents() {
935
+ protected handleTouchEvents() {
936
+ let _this = this as RendererEventsHandler;
937
+
860
938
  let ts = this.touchState;
861
939
 
862
940
  let tpo = ts.pickingObject,
863
941
  tpe = null;
864
942
 
865
943
  if (ts.touchCancel) {
866
- this.dispatch(this.touchcancel, ts);
944
+ this.dispatch(_this.touchcancel, ts);
867
945
  ts.touchCancel = false;
868
946
  }
869
947
 
870
948
  if (ts.touchStart) {
871
949
  let r = this.renderer;
872
950
 
873
- r.pickingFramebuffer.activate();
874
- r.pickingFramebuffer.readPixels(_currPickingColor, ts.nx, 1.0 - ts.ny, 1);
875
- r.pickingFramebuffer.deactivate();
951
+ r.pickingFramebuffer!.activate();
952
+ r.pickingFramebuffer!.readPixels(_currPickingColor, ts.nx, 1.0 - ts.ny, 1);
953
+ r.pickingFramebuffer!.deactivate();
876
954
 
877
- let c = _currPickingColor;
878
- let co = r.getPickingObjectArr(c);
955
+ let co = r.getPickingObjectArr<any>(_currPickingColor);
879
956
  tpo = ts.pickingObject = co;
880
957
  if (tpo) {
881
958
  tpe = tpo.rendererEvents;
882
959
  tpe && tpe.dispatch(tpe.touchstart, ts);
883
960
  }
884
- this.dispatch(this.touchstart, ts);
961
+ this.dispatch(_this.touchstart, ts);
885
962
  ts.touchStart = false;
886
963
  }
887
964
 
@@ -890,7 +967,7 @@ class RendererEvents extends Events {
890
967
  tpe = tpo.rendererEvents;
891
968
  tpe && tpe.dispatch(tpe.doubletouch, ts);
892
969
  }
893
- this.dispatch(this.doubletouch, ts);
970
+ this.dispatch(_this.doubletouch, ts);
894
971
  ts.doubleTouch = false;
895
972
  }
896
973
 
@@ -899,7 +976,7 @@ class RendererEvents extends Events {
899
976
  tpe = tpo.rendererEvents;
900
977
  tpe && tpe.dispatch(tpe.touchend, ts);
901
978
  }
902
- this.dispatch(this.touchend, ts);
979
+ this.dispatch(_this.touchend, ts);
903
980
  ts.x = 0;
904
981
  ts.y = 0;
905
982
  ts.touchEnd = false;
@@ -910,14 +987,14 @@ class RendererEvents extends Events {
910
987
  tpe = tpo.rendererEvents;
911
988
  tpe && tpe.dispatch(tpe.touchmove, ts);
912
989
  }
913
- this.dispatch(this.touchmove, ts);
990
+ this.dispatch(_this.touchmove, ts);
914
991
  ts.prev_x = ts.x;
915
992
  ts.prev_y = ts.y;
916
993
  }
917
994
  }
918
995
  }
919
996
 
920
- const EVENT_NAMES = [
997
+ const RENDERER_EVENTS: RendererEventsType = [
921
998
  /**
922
999
  * Triggered before scene frame is rendered(before render nodes).
923
1000
  * @event og.RendererEvents#draw
@@ -1105,4 +1182,4 @@ const EVENT_NAMES = [
1105
1182
  "touchenter"
1106
1183
  ];
1107
1184
 
1108
- export { RendererEvents };
1185
+ export {RendererEvents};