@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,7 +1,7 @@
1
- "use strict";
2
-
3
- import { EPS10 } from "../math.js";
4
- import { Vec3 } from "./Vec3.js";
1
+ import {EPS10} from "../math";
2
+ import {Box} from "../bv/Box";
3
+ import {Sphere} from "../bv/Sphere";
4
+ import {Vec3} from "./Vec3";
5
5
 
6
6
  /**
7
7
  * Represents a ray that extends infinitely from the provided origin in the provided direction.
@@ -10,20 +10,25 @@ import { Vec3 } from "./Vec3.js";
10
10
  * @param {Vec3} direction - The direction of the ray.
11
11
  */
12
12
  export class Ray {
13
- constructor(origin = Vec3.ZERO, direction = Vec3.ZERO) {
14
- /**
15
- * The origin of the ray.
16
- * @public
17
- * @type {Vec3}
18
- */
19
- this.origin = origin || new Vec3();
20
-
21
- /**
22
- * The direction of the ray.
23
- * @public
24
- * @type {Vec3}
25
- */
26
- this.direction = direction || new Vec3();
13
+ /**
14
+ * The origin of the ray.
15
+ * @public
16
+ * @type {Vec3}
17
+ */
18
+ public origin: Vec3;
19
+
20
+ /**
21
+ * The direction of the ray.
22
+ * @public
23
+ * @type {Vec3}
24
+ */
25
+ public direction: Vec3;
26
+
27
+ constructor(origin: Vec3 = Vec3.ZERO, direction: Vec3 = Vec3.ZERO) {
28
+
29
+ this.origin = origin;
30
+
31
+ this.direction = direction;
27
32
  }
28
33
 
29
34
  /** @const */
@@ -53,7 +58,7 @@ export class Ray {
53
58
  * @param {Vec3} direction - The direction of the ray.
54
59
  * @returns {Ray}
55
60
  */
56
- set(origin, direction) {
61
+ public set(origin: Vec3, direction: Vec3): Ray {
57
62
  this.origin = origin;
58
63
  this.direction = direction;
59
64
  return this;
@@ -65,7 +70,7 @@ export class Ray {
65
70
  * @param {number} distance - Point distance.
66
71
  * @returns {Vec3}
67
72
  */
68
- getPoint(distance) {
73
+ public getPoint(distance: number): Vec3 {
69
74
  return Vec3.add(this.origin, this.direction.scaleTo(distance));
70
75
  }
71
76
 
@@ -79,14 +84,14 @@ export class Ray {
79
84
  * @returns {number} - Hit code, could 0 - og.Ray.OUTSIDE, 1 - og.Ray.INSIDE,
80
85
  * 2 - og.Ray.INPLANE and 3 - og.Ray.AWAY(ray goes away from triangle).
81
86
  */
82
- hitTriangle(v0, v1, v2, res) {
83
- var u = v1.sub(v0);
84
- var v = v2.sub(v0);
85
- var n = u.cross(v);
87
+ public hitTriangle(v0: Vec3, v1: Vec3, v2: Vec3, res: Vec3): number {
88
+ let u = v1.sub(v0);
89
+ let v = v2.sub(v0);
90
+ let n = u.cross(v);
86
91
 
87
- var w0 = this.origin.sub(v0);
88
- var a = -n.dot(w0);
89
- var b = n.dot(this.direction);
92
+ let w0 = this.origin.sub(v0);
93
+ let a = -n.dot(w0);
94
+ let b = n.dot(this.direction);
90
95
 
91
96
  // ray is parallel to triangle plane
92
97
  if (Math.abs(b) < EPS10) {
@@ -100,7 +105,7 @@ export class Ray {
100
105
  }
101
106
  }
102
107
 
103
- var r = a / b;
108
+ let r = a / b;
104
109
 
105
110
  // intersect point of ray and plane
106
111
  res.copy(this.origin.add(this.direction.scaleTo(r)));
@@ -111,20 +116,20 @@ export class Ray {
111
116
  }
112
117
 
113
118
  // is res point inside the triangle?
114
- var uu = u.dot(u);
115
- var uv = u.dot(v);
116
- var vv = v.dot(v);
117
- var w = res.sub(v0);
118
- var wu = w.dot(u);
119
- var wv = w.dot(v);
120
- var D = uv * uv - uu * vv;
121
-
122
- var s = (uv * wv - vv * wu) / D;
119
+ let uu = u.dot(u);
120
+ let uv = u.dot(v);
121
+ let vv = v.dot(v);
122
+ let w = res.sub(v0);
123
+ let wu = w.dot(u);
124
+ let wv = w.dot(v);
125
+ let D = uv * uv - uu * vv;
126
+
127
+ let s = (uv * wv - vv * wu) / D;
123
128
  if (s < 0.0 || s > 1.0) {
124
129
  return Ray.OUTSIDE;
125
130
  }
126
131
 
127
- var t = (uv * wu - uu * wv) / D;
132
+ let t = (uv * wu - uu * wv) / D;
128
133
  if (t < 0.0 || s + t > 1.0) {
129
134
  return Ray.OUTSIDE;
130
135
  }
@@ -141,14 +146,14 @@ export class Ray {
141
146
  * @param {Vec3} res - Hit point object pointer that stores hit result.
142
147
  * @returns {number}
143
148
  */
144
- hitPlane(v0, v1, v2, res) {
145
- var u = Vec3.sub(v1, v0);
146
- var v = Vec3.sub(v2, v0);
147
- var n = u.cross(v);
149
+ public hitPlane(v0: Vec3, v1: Vec3, v2: Vec3, res: Vec3): number {
150
+ let u = Vec3.sub(v1, v0);
151
+ let v = Vec3.sub(v2, v0);
152
+ let n = u.cross(v);
148
153
 
149
- var w0 = Vec3.sub(this.origin, v0);
150
- var a = -n.dot(w0);
151
- var b = n.dot(this.direction);
154
+ let w0 = Vec3.sub(this.origin, v0);
155
+ let a = -n.dot(w0);
156
+ let b = n.dot(this.direction);
152
157
 
153
158
  // ray is parallel to the plane
154
159
  if (Math.abs(b) < EPS10) {
@@ -157,13 +162,13 @@ export class Ray {
157
162
  }
158
163
  }
159
164
 
160
- var r = a / b;
165
+ let r = a / b;
161
166
 
162
167
  if (r < 0) {
163
168
  return Ray.OUTSIDE;
164
169
  }
165
170
 
166
- var d = this.direction.scaleTo(r);
171
+ let d = this.direction.scaleTo(r);
167
172
 
168
173
  // intersect point of ray and plane
169
174
  res.x = this.origin.x + d.x;
@@ -179,12 +184,14 @@ export class Ray {
179
184
  * @param {Sphere} sphere - Sphere object.
180
185
  * @returns {Vec3}
181
186
  */
182
- hitSphere(sphere) {
183
- var r = sphere.radius,
187
+ public hitSphere(sphere: Sphere) {
188
+ let r = sphere.radius,
184
189
  c = sphere.center,
185
190
  o = this.origin,
186
191
  d = this.direction;
187
- var vpc = Vec3.sub(c, o);
192
+
193
+ let vpc = Vec3.sub(c, o);
194
+
188
195
  if (vpc.dot(d) < 0) {
189
196
  var l = vpc.length();
190
197
  if (l > r) {
@@ -218,20 +225,9 @@ export class Ray {
218
225
  }
219
226
  }
220
227
 
221
- hitBox(box) {
228
+ public hitBox(box: Box) {
222
229
  //
223
230
  // TODO
224
231
  //
225
232
  }
226
- }
227
-
228
- /**
229
- * Ray object creator.
230
- * @function
231
- * @param {Vec3} origin - The origin of the ray.
232
- * @param {Vec3} direction - The direction of the ray.
233
- * @returns {Ray}
234
- */
235
- export function ray(origin, direction) {
236
- return new Ray(origin, direction);
237
- }
233
+ }
@@ -1,6 +1,6 @@
1
- "use strict";
1
+ import {Vec3} from "./Vec3";
2
2
 
3
- import { Vec3 } from "./Vec3.js";
3
+ export type NumberArray2 = [number, number];
4
4
 
5
5
  /**
6
6
  * Class represents a 3d vector.
@@ -9,37 +9,46 @@ import { Vec3 } from "./Vec3.js";
9
9
  * @param {number} [y] - Second value.
10
10
  */
11
11
  export class Vec2 {
12
- constructor(x = 0.0, y = 0.0) {
13
- /**
14
- * @public
15
- * @type {number}
16
- */
17
- this.x = x || 0.0;
18
-
19
- /**
20
- * @public
21
- * @type {number}
22
- */
23
- this.y = y || 0.0;
12
+
13
+ /**
14
+ * @public
15
+ * @type {number}
16
+ */
17
+ public x: number;
18
+
19
+ /**
20
+ * @public
21
+ * @type {number}
22
+ */
23
+ public y: number;
24
+
25
+ constructor(x: number = 0.0, y: number = 0.0) {
26
+ this.x = x;
27
+ this.y = y;
24
28
  }
29
+
25
30
  /** @const */
26
- static get UP() {
31
+ static get UP(): Vec2 {
27
32
  return new Vec2(0, 1);
28
33
  }
34
+
29
35
  /** @const */
30
- static get DOWN() {
36
+ static get DOWN(): Vec2 {
31
37
  return new Vec2(0, -1);
32
38
  }
39
+
33
40
  /** @const */
34
- static get RIGHT() {
41
+ static get RIGHT(): Vec2 {
35
42
  return new Vec2(1, 0);
36
43
  }
44
+
37
45
  /** @const */
38
- static get LEFT() {
46
+ static get LEFT(): Vec2 {
39
47
  return new Vec2(-1, 0);
40
48
  }
49
+
41
50
  /** @const */
42
- static get ZERO() {
51
+ static get ZERO(): Vec2 {
43
52
  return new Vec2();
44
53
  }
45
54
 
@@ -50,7 +59,7 @@ export class Vec2 {
50
59
  * @param {Vec2} b - Second vector.
51
60
  * @returns {Vec2} - Summary vector.
52
61
  */
53
- static add(a, b) {
62
+ static add(a: Vec2, b: Vec2): Vec2 {
54
63
  const res = new Vec2(a.x, a.y);
55
64
  res.addA(b);
56
65
  return res;
@@ -63,7 +72,7 @@ export class Vec2 {
63
72
  * @param {Vec2} b - Second vector.
64
73
  * @returns {Vec2} - Vectors subtraction.
65
74
  */
66
- static sub(a, b) {
75
+ static sub(a: Vec2, b: Vec2): Vec2 {
67
76
  var res = new Vec2(a.x, a.y);
68
77
  res.subA(b);
69
78
  return res;
@@ -76,8 +85,8 @@ export class Vec2 {
76
85
  * @param {number} scale - Scale value.
77
86
  * @returns {Vec2}
78
87
  */
79
- static scale(a, scale) {
80
- var res = new Vec2(a.x, a.y);
88
+ static scale(a: Vec2, scale: number): Vec2 {
89
+ let res = new Vec2(a.x, a.y);
81
90
  res.scale(scale);
82
91
  return res;
83
92
  }
@@ -89,8 +98,8 @@ export class Vec2 {
89
98
  * @param {Vec2} b - Second vector.
90
99
  * @returns {Vec2}
91
100
  */
92
- static mul(a, b) {
93
- var res = new Vec2(a.x, a.y);
101
+ static mul(a: Vec2, b: Vec2): Vec2 {
102
+ let res = new Vec2(a.x, a.y);
94
103
  res.mulA(b);
95
104
  return res;
96
105
  }
@@ -102,8 +111,8 @@ export class Vec2 {
102
111
  * @param {Vec2} b - Second vector.
103
112
  * @returns {Vec2}
104
113
  */
105
- static div(a, b) {
106
- var res = new Vec2(a.x, a.y);
114
+ static div(a: Vec2, b: Vec2): Vec2 {
115
+ let res = new Vec2(a.x, a.y);
107
116
  res.divA(b);
108
117
  return res;
109
118
  }
@@ -115,7 +124,7 @@ export class Vec2 {
115
124
  * @param {Vec2} a - Second vector.
116
125
  * @returns {Vec2}
117
126
  */
118
- static proj_b_to_a(b, a) {
127
+ static proj_b_to_a(b: Vec2, a: Vec2): Vec2 {
119
128
  return a.scaleTo(a.dot(b) / a.dot(a));
120
129
  }
121
130
 
@@ -126,7 +135,7 @@ export class Vec2 {
126
135
  * @param {Vec2} b - Second vector.
127
136
  * @returns {number}
128
137
  */
129
- static angle(a, b) {
138
+ static angle(a: Vec2, b: Vec2): number {
130
139
  return Math.acos(a.dot(b) / Math.sqrt(a.length2() * b.length2()));
131
140
  }
132
141
 
@@ -137,8 +146,8 @@ export class Vec2 {
137
146
  * @param {Vec2} tangent - Tangent vector.
138
147
  * @returns {Vec2}
139
148
  */
140
- static orthoNormalize(normal, tangent) {
141
- normal = normal.norm();
149
+ static orthoNormalize(normal: Vec2, tangent: Vec2): Vec2 {
150
+ normal = normal.normal();
142
151
  normal.scale(tangent.dot(normal));
143
152
  return tangent.sub(normal).normalize();
144
153
  }
@@ -148,7 +157,7 @@ export class Vec2 {
148
157
  * @public
149
158
  * @returns {Vec3}
150
159
  */
151
- toVector3() {
160
+ public toVector3(): Vec3 {
152
161
  return new Vec3(this.x, this.y, 0);
153
162
  }
154
163
 
@@ -157,7 +166,7 @@ export class Vec2 {
157
166
  * @public
158
167
  * @returns {Vec2}
159
168
  */
160
- clone() {
169
+ public clone(): Vec2 {
161
170
  return new Vec2(this.x, this.y);
162
171
  }
163
172
 
@@ -167,7 +176,7 @@ export class Vec2 {
167
176
  * @param {Vec2} p - Vector to compare.
168
177
  * @returns {boolean}
169
178
  */
170
- equal(p) {
179
+ public equal(p: Vec2): boolean {
171
180
  return this.x === p.x && this.y === p.y;
172
181
  }
173
182
 
@@ -176,7 +185,7 @@ export class Vec2 {
176
185
  * @param {Vec2} point2 - Vector to copy.
177
186
  * @returns {Vec2}
178
187
  */
179
- copy(point2) {
188
+ public copy(point2: Vec2): Vec2 {
180
189
  this.x = point2.x;
181
190
  this.y = point2.y;
182
191
  return this;
@@ -187,7 +196,7 @@ export class Vec2 {
187
196
  * @public
188
197
  * @returns {number}
189
198
  */
190
- length() {
199
+ public length(): number {
191
200
  return Math.sqrt(this.x * this.x + this.y * this.y);
192
201
  }
193
202
 
@@ -196,7 +205,7 @@ export class Vec2 {
196
205
  * @public
197
206
  * @returns {number}
198
207
  */
199
- length2() {
208
+ public length2(): number {
200
209
  return this.x * this.x + this.y * this.y;
201
210
  }
202
211
 
@@ -206,7 +215,7 @@ export class Vec2 {
206
215
  * @param {Vec2}
207
216
  * @returns {Vec2}
208
217
  */
209
- addA(v) {
218
+ public addA(v: Vec2): Vec2 {
210
219
  this.x += v.x;
211
220
  this.y += v.y;
212
221
  return this;
@@ -218,7 +227,7 @@ export class Vec2 {
218
227
  * @param {Vec2}
219
228
  * @returns {Vec2}
220
229
  */
221
- add(v) {
230
+ public add(v: Vec2): Vec2 {
222
231
  return new Vec2(this.x + v.x, this.y + v.y);
223
232
  }
224
233
 
@@ -228,7 +237,7 @@ export class Vec2 {
228
237
  * @param {Vec2} v - Subtract vector.
229
238
  * @returns {Vec2}
230
239
  */
231
- subA(v) {
240
+ public subA(v: Vec2): Vec2 {
232
241
  this.x -= v.x;
233
242
  this.y -= v.y;
234
243
  return this;
@@ -240,7 +249,7 @@ export class Vec2 {
240
249
  * @param {Vec2} v - Subtract vector.
241
250
  * @returns {Vec2}
242
251
  */
243
- sub(v) {
252
+ public sub(v: Vec2): Vec2 {
244
253
  return new Vec2(this.x - v.x, this.y - v.y);
245
254
  }
246
255
 
@@ -250,7 +259,7 @@ export class Vec2 {
250
259
  * @param {number} scale - Scale value.
251
260
  * @returns {Vec2}
252
261
  */
253
- scale(scale) {
262
+ public scale(scale: number): Vec2 {
254
263
  this.x *= scale;
255
264
  this.y *= scale;
256
265
  return this;
@@ -262,7 +271,7 @@ export class Vec2 {
262
271
  * @param {number} scale - Scale value.
263
272
  * @returns {Vec2}
264
273
  */
265
- scaleTo(scale) {
274
+ public scaleTo(scale: number): Vec2 {
266
275
  return new Vec2(this.x * scale, this.y * scale);
267
276
  }
268
277
 
@@ -272,7 +281,7 @@ export class Vec2 {
272
281
  * @param {Vec2} vec - Multiply vector.
273
282
  * @returns {Vec2}
274
283
  */
275
- mulA(vec) {
284
+ public mulA(vec: Vec2): Vec2 {
276
285
  this.x *= vec.x;
277
286
  this.y *= vec.y;
278
287
  return this;
@@ -284,7 +293,7 @@ export class Vec2 {
284
293
  * @param {Vec2} vec - Multiply vector.
285
294
  * @returns {Vec2}
286
295
  */
287
- mul(vec) {
296
+ public mul(vec: Vec2): Vec2 {
288
297
  return new Vec2(this.x * vec.x, this.y * vec.y);
289
298
  }
290
299
 
@@ -294,7 +303,7 @@ export class Vec2 {
294
303
  * @param {Vec2}
295
304
  * @returns {Vec2}
296
305
  */
297
- divA(vec) {
306
+ public divA(vec: Vec2): Vec2 {
298
307
  this.x /= vec.x;
299
308
  this.y /= vec.y;
300
309
  return this;
@@ -306,7 +315,7 @@ export class Vec2 {
306
315
  * @param {Vec2} v - Another vector.
307
316
  * @returns {number}
308
317
  */
309
- dot(v) {
318
+ public dot(v: Vec2): number {
310
319
  return v.x * this.x + v.y * this.y;
311
320
  }
312
321
 
@@ -316,7 +325,7 @@ export class Vec2 {
316
325
  * @param {Array.<number>} arr - Array vector. (exactly 2 entries)
317
326
  * @returns {number}
318
327
  */
319
- dotArr(arr) {
328
+ public dotArr(arr: NumberArray2): number {
320
329
  return arr[0] * this.x + arr[1] * this.y;
321
330
  }
322
331
 
@@ -324,9 +333,9 @@ export class Vec2 {
324
333
  * Gets vectors cross production.
325
334
  * @public
326
335
  * @param {Vec2} v - Another vector.
327
- * @returns {Vec2}
336
+ * @returns {number}
328
337
  */
329
- cross(v) {
338
+ public cross(v: Vec2): number {
330
339
  return this.x * v.y - this.y * v.x;
331
340
  }
332
341
 
@@ -335,7 +344,7 @@ export class Vec2 {
335
344
  * @public
336
345
  * @returns {Vec2}
337
346
  */
338
- clear() {
347
+ public clear(): Vec2 {
339
348
  this.x = this.y = 0;
340
349
  return this;
341
350
  }
@@ -345,11 +354,11 @@ export class Vec2 {
345
354
  * @public
346
355
  * @returns {Vec2}
347
356
  */
348
- normal() {
349
- var res = new Vec2();
357
+ public normal(): Vec2 {
358
+ let res = new Vec2();
350
359
  res.copy(this);
351
360
 
352
- var length = 1.0 / res.length();
361
+ let length = 1.0 / res.length();
353
362
 
354
363
  res.x *= length;
355
364
  res.y *= length;
@@ -362,8 +371,8 @@ export class Vec2 {
362
371
  * @public
363
372
  * @returns {Vec2}
364
373
  */
365
- normalize() {
366
- var length = 1.0 / this.length();
374
+ public normalize(): Vec2 {
375
+ let length = 1.0 / this.length();
367
376
 
368
377
  this.x *= length;
369
378
  this.y *= length;
@@ -376,7 +385,7 @@ export class Vec2 {
376
385
  * @public
377
386
  * @returns {Array.<number>} - (exactly 2 entries)
378
387
  */
379
- toVec() {
388
+ public toVec(): NumberArray2 {
380
389
  return [this.x, this.y];
381
390
  }
382
391
 
@@ -386,8 +395,8 @@ export class Vec2 {
386
395
  * @param {Vec2} p - Distant point.
387
396
  * @returns {number}
388
397
  */
389
- distance(p) {
390
- var vec = Vec2.sub(this, p);
398
+ public distance(p: Vec2): number {
399
+ let vec = Vec2.sub(this, p);
391
400
  return vec.length();
392
401
  }
393
402
 
@@ -398,7 +407,7 @@ export class Vec2 {
398
407
  * @param {number} y - Value Y.
399
408
  * @returns {Vec2}
400
409
  */
401
- set(x, y) {
410
+ public set(x: number, y: number): Vec2 {
402
411
  this.x = x;
403
412
  this.y = y;
404
413
  return this;
@@ -409,7 +418,7 @@ export class Vec2 {
409
418
  * @public
410
419
  * @returns {Vec2}
411
420
  */
412
- negate() {
421
+ public negate(): Vec2 {
413
422
  this.x = -this.x;
414
423
  this.y = -this.y;
415
424
  return this;
@@ -420,7 +429,7 @@ export class Vec2 {
420
429
  * @public
421
430
  * @returns {Vec2}
422
431
  */
423
- negateTo() {
432
+ public negateTo(): Vec2 {
424
433
  return new Vec2(-this.x, -this.y);
425
434
  }
426
435
 
@@ -431,8 +440,8 @@ export class Vec2 {
431
440
  * @param {Vec2} direction - Ray direction.
432
441
  * @returns {Vec2}
433
442
  */
434
- projToRay(pos, direction) {
435
- var v = Vec2.proj_b_to_a(Vec2.sub(this, pos), direction);
443
+ public projToRay(pos: Vec2, direction: Vec2): Vec2 {
444
+ let v = Vec2.proj_b_to_a(Vec2.sub(this, pos), direction);
436
445
  v.add(pos);
437
446
  return v;
438
447
  }
@@ -443,7 +452,7 @@ export class Vec2 {
443
452
  * @param {Vec2} a - Another vector.
444
453
  * @returns {number}
445
454
  */
446
- angle(a) {
455
+ public angle(a: Vec2): number {
447
456
  return Vec2.angle(this, a);
448
457
  }
449
458
 
@@ -454,8 +463,8 @@ export class Vec2 {
454
463
  * @param {number} l - Interpolate value.
455
464
  * @returns {Vec2}
456
465
  */
457
- lerp(v1, v2, l) {
458
- var res = Vec2.clone(this);
466
+ public lerp(v1: Vec2, v2: Vec2, l: number): Vec2 {
467
+ let res = this.clone();
459
468
  if (l <= 0.0) {
460
469
  res.copy(v1);
461
470
  } else if (l >= 1.0) {
@@ -466,7 +475,7 @@ export class Vec2 {
466
475
  return res;
467
476
  }
468
477
 
469
- static get LERP_DELTA() {
478
+ static get LERP_DELTA(): number {
470
479
  return 1e-6;
471
480
  }
472
481
 
@@ -476,23 +485,23 @@ export class Vec2 {
476
485
  * the vectors are treated as directions rather than points in space. The direction of the returned vector is interpolated
477
486
  * by the angle and its magnitude is interpolated between the magnitudes of from and to.
478
487
  * @public
479
- * @param {Vec2} v2 -
488
+ * @param {Vec2} v2
480
489
  * @param {number} t - The parameter t is clamped to the range [0, 1].
481
490
  * @returns {Vec2}
482
491
  */
483
- slerp(v2, t) {
484
- var res = new Vec2();
492
+ public slerp(v2: Vec2, t: number): Vec2 {
493
+ let res = new Vec2();
485
494
 
486
495
  if (t <= 0.0) {
487
496
  res.copy(this);
488
- return;
497
+ return res;
489
498
  } else if (t >= 1.0) {
490
499
  res.copy(v2);
491
- return;
500
+ return res;
492
501
  }
493
502
 
494
- var omega, sinom, scale0, scale1;
495
- var cosom = this.dot(v2);
503
+ let omega, sinom, scale0, scale1;
504
+ let cosom = this.dot(v2);
496
505
 
497
506
  if (1.0 - cosom > Vec2.LERP_DELTA) {
498
507
  omega = Math.acos(cosom);
@@ -515,6 +524,6 @@ export class Vec2 {
515
524
  * @param {number} [y] - Second value.
516
525
  * @returns {Vec2}
517
526
  */
518
- export function vec2(x, y) {
527
+ export function vec2(x: number = 0, y: number = 0): Vec2 {
519
528
  return new Vec2(x, y);
520
529
  }