@openglobus/og 0.17.2 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +246 -182
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -256
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +776 -592
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -172
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -195
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1170
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -17
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -241
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -594
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
@@ -1,7 +1,8 @@
1
- "use strict";
1
+ import {Quat} from "./Quat";
2
+ import {Vec4, NumberArray4} from "./Vec4";
3
+ import {NumberArray2} from "./Vec2";
2
4
 
3
- import { Quat } from "./Quat.js";
4
- import { Vec4 } from "./Vec4.js";
5
+ export type NumberArray3 = [number, number, number];
5
6
 
6
7
  /**
7
8
  * Class represents a 3d vector.
@@ -11,90 +12,94 @@ import { Vec4 } from "./Vec4.js";
11
12
  * @param {number} [z] - Third value.
12
13
  */
13
14
  export class Vec3 {
14
- constructor(x = 0.0, y = 0.0, z = 0.0) {
15
- /**
16
- * @public
17
- * @type {number}
18
- */
19
- this.x = x || 0.0;
20
-
21
- /**
22
- * @public
23
- * @type {number}
24
- */
25
- this.y = y || 0.0;
26
-
27
- /**
28
- * @public
29
- * @type {number}
30
- */
31
- this.z = z || 0.0;
15
+
16
+ /**
17
+ * @public
18
+ * @type {number}
19
+ */
20
+ public x: number;
21
+
22
+ /**
23
+ * @public
24
+ * @type {number}
25
+ */
26
+ public y: number;
27
+
28
+ /**
29
+ * @public
30
+ * @type {number}
31
+ */
32
+ public z: number;
33
+
34
+ constructor(x: number = 0.0, y: number = 0.0, z: number = 0.0) {
35
+ this.x = x;
36
+ this.y = y;
37
+ this.z = z;
32
38
  }
33
39
 
34
40
  /** @const */
35
- static get UP() {
41
+ static get UP(): Vec3 {
36
42
  return new Vec3(0, 1, 0);
37
43
  }
38
44
 
39
45
  /** @const */
40
- static get DOWN() {
46
+ static get DOWN(): Vec3 {
41
47
  return new Vec3(0, -1, 0);
42
48
  }
43
49
 
44
50
  /** @const */
45
- static get RIGHT() {
51
+ static get RIGHT(): Vec3 {
46
52
  return new Vec3(1, 0, 0);
47
53
  }
48
54
 
49
55
  /** @const */
50
- static get LEFT() {
56
+ static get LEFT(): Vec3 {
51
57
  return new Vec3(-1, 0, 0);
52
58
  }
53
59
 
54
60
  /** @const */
55
- static get FORWARD() {
61
+ static get FORWARD(): Vec3 {
56
62
  return new Vec3(0, 0, -1);
57
63
  }
58
64
 
59
65
  /** @const */
60
- static get BACKWARD() {
66
+ static get BACKWARD(): Vec3 {
61
67
  return new Vec3(0, 0, 1);
62
68
  }
63
69
 
64
70
  /** @const */
65
- static get ZERO() {
71
+ static get ZERO(): Vec3 {
66
72
  return new Vec3();
67
73
  }
68
74
 
69
75
  /** @const */
70
- static get UNIT_X() {
76
+ static get UNIT_X(): Vec3 {
71
77
  return new Vec3(1, 0, 0);
72
78
  }
73
79
 
74
80
  /** @const */
75
- static get UNIT_Y() {
81
+ static get UNIT_Y(): Vec3 {
76
82
  return new Vec3(0, 1, 0);
77
83
  }
78
84
 
79
85
  /** @const */
80
- static get UNIT_Z() {
86
+ static get UNIT_Z(): Vec3 {
81
87
  return new Vec3(0, 0, 1);
82
88
  }
83
89
 
84
90
  /** @const */
85
- static get NORTH() {
91
+ static get NORTH(): Vec3 {
86
92
  return Vec3.UNIT_Z;
87
93
  }
88
94
 
89
95
  /**
90
- * Separate 63 bit Vec3 to two Vec3 32 bit float values.
96
+ * Separate 63 bit Vec3 to two Vec3 32-bit float values.
91
97
  * @function
92
- * @param {number} value - Double type value.
98
+ * @param {Vec3} v - Double type value.
93
99
  * @param {Vec3} high - Out vector high values.
94
100
  * @param {Vec3} low - Out vector low values.
95
- * @returns {Array.<number>} Encoded array. (exactly 2 entries)
96
101
  */
97
- static doubleToTwoFloats(v, high, low) {
102
+ static doubleToTwoFloats(v: Vec3, high: Vec3, low: Vec3) {
98
103
  let x = v.x,
99
104
  y = v.y,
100
105
  z = v.z;
@@ -131,14 +136,14 @@ export class Vec3 {
131
136
  }
132
137
 
133
138
  /**
134
- * Separate 63 bit Vec3 to two Vec3 32 bit float values.
139
+ * Separate 63 bit Vec3 to two Vec3 32-bit float values.
135
140
  * @function
136
- * @param {number} value - Double type value.
141
+ * @param {Vec3} v - Double type value.
137
142
  * @param {Float32Array} high - Out vector high values.
138
143
  * @param {Float32Array} low - Out vector low values.
139
144
  * @returns {Array.<number>} Encoded array. (exactly 2 entries)
140
145
  */
141
- static doubleToTwoFloat32Array(v, high, low) {
146
+ static doubleToTwoFloat32Array(v: Vec3, high: Float32Array | NumberArray3, low: Float32Array | NumberArray3) {
142
147
  let x = v.x,
143
148
  y = v.y,
144
149
  z = v.z;
@@ -177,10 +182,10 @@ export class Vec3 {
177
182
  /**
178
183
  * Creates 3d vector from array.
179
184
  * @function
180
- * @param {Array.<number>} arr - Input array (exactly 3 entries)
185
+ * @param {NumberArray2 | NumberArray3 | NumberArray4} arr - Input array (exactly 3 entries)
181
186
  * @returns {Vec3} -
182
187
  */
183
- static fromVec(arr) {
188
+ static fromVec(arr: NumberArray2 | NumberArray3 | NumberArray4): Vec3 {
184
189
  return new Vec3(arr[0], arr[1], arr[2]);
185
190
  }
186
191
 
@@ -191,7 +196,7 @@ export class Vec3 {
191
196
  * @param {Vec3} b - Second vector.
192
197
  * @returns {number} -
193
198
  */
194
- static angle(a, b) {
199
+ static angle(a: Vec3, b: Vec3): number {
195
200
  return Math.acos(a.dot(b) / Math.sqrt(a.length2() * b.length2()));
196
201
  }
197
202
 
@@ -203,7 +208,7 @@ export class Vec3 {
203
208
  * @param {number} l - Interpolate value.
204
209
  * @returns {Vec3} -
205
210
  */
206
- static lerp(v1, v2, l) {
211
+ static lerp(v1: Vec3, v2: Vec3, l: number) {
207
212
  return new Vec3(v1.x + (v2.x - v1.x) * l, v1.y + (v2.y - v1.y) * l, v1.z + (v2.z - v1.z) * l);
208
213
  }
209
214
 
@@ -214,8 +219,8 @@ export class Vec3 {
214
219
  * @param {Vec3} b - Second vector.
215
220
  * @returns {Vec3} - Summary vector.
216
221
  */
217
- static add(a, b) {
218
- var res = new Vec3(a.x, a.y, a.z);
222
+ static add(a: Vec3, b: Vec3): Vec3 {
223
+ let res = new Vec3(a.x, a.y, a.z);
219
224
  res.addA(b);
220
225
  return res;
221
226
  }
@@ -227,8 +232,8 @@ export class Vec3 {
227
232
  * @param {Vec3} b - Second vector.
228
233
  * @returns {Vec3} - Vectors subtraction.
229
234
  */
230
- static sub(a, b) {
231
- var res = new Vec3(a.x, a.y, a.z);
235
+ static sub(a: Vec3, b: Vec3): Vec3 {
236
+ let res = new Vec3(a.x, a.y, a.z);
232
237
  res.subA(b);
233
238
  return res;
234
239
  }
@@ -240,7 +245,7 @@ export class Vec3 {
240
245
  * @param {number} scale - Scale value.
241
246
  * @returns {Vec3} -
242
247
  */
243
- static scale(a, scale) {
248
+ static scale(a: Vec3, scale: number): Vec3 {
244
249
  return a.scaleTo(scale);
245
250
  }
246
251
 
@@ -251,21 +256,21 @@ export class Vec3 {
251
256
  * @param {Vec3} b - Second vector.
252
257
  * @returns {Vec3} -
253
258
  */
254
- static mul(a, b) {
255
- var res = new Vec3(a.x, a.y, a.z);
259
+ static mul(a: Vec3, b: Vec3): Vec3 {
260
+ let res = new Vec3(a.x, a.y, a.z);
256
261
  res.mulA(b);
257
262
  return res;
258
263
  }
259
264
 
260
265
  /**
261
- * Returns true if two vectors are non collinear.
266
+ * Returns true if two vectors are non-collinear.
262
267
  * @public
263
268
  * @param {Vec3} a - First vector.
264
269
  * @param {Vec3} b - Second vector.
265
270
  * @returns {Vec3} -
266
271
  */
267
- static noncollinear(a, b) {
268
- return a.y * b.z - a.z * b.y || a.z * b.x - a.x * b.z || a.x * b.y - a.y * b.z;
272
+ static noncollinear(a: Vec3, b: Vec3): boolean {
273
+ return Boolean(a.y * b.z - a.z * b.y || a.z * b.x - a.x * b.z || a.x * b.y - a.y * b.z);
269
274
  }
270
275
 
271
276
  /**
@@ -276,8 +281,8 @@ export class Vec3 {
276
281
  * @param {Vec3} [def] - Default value for non existed result.
277
282
  * @returns {Vec3} -
278
283
  */
279
- static proj_b_to_plane(b, n, def) {
280
- var res = b.sub(n.scaleTo(n.dot(b) / n.dot(n)));
284
+ static proj_b_to_plane(b: Vec3, n: Vec3, def?: Vec3): Vec3 {
285
+ let res = b.sub(n.scaleTo(n.dot(b) / n.dot(n)));
281
286
  if (def && res.isZero()) {
282
287
  return new Vec3(def.x, def.y, def.z);
283
288
  }
@@ -291,7 +296,7 @@ export class Vec3 {
291
296
  * @param {Vec3} a - Second vector.
292
297
  * @returns {Vec3} -
293
298
  */
294
- static proj_b_to_a(b, a) {
299
+ static proj_b_to_a(b: Vec3, a: Vec3): Vec3 {
295
300
  return a.scaleTo(a.dot(b) / a.dot(a));
296
301
  }
297
302
 
@@ -303,8 +308,8 @@ export class Vec3 {
303
308
  * @param {Vec3} tangent - Tangent vector.
304
309
  * @returns {Vec3} -
305
310
  */
306
- static orthoNormalize(normal, tangent) {
307
- normal = normal.normal();
311
+ static orthoNormalize(normal: Vec3, tangent: Vec3): Vec3 {
312
+ normal = normal.getNormal();
308
313
  normal.scale(tangent.dot(normal));
309
314
  return tangent.subA(normal).normalize();
310
315
  }
@@ -316,21 +321,21 @@ export class Vec3 {
316
321
  * @param {Vec3} b - Second vector.
317
322
  * @returns {Vec3} -
318
323
  */
319
- static div(a, b) {
320
- var res = new Vec3(a.x, a.y, a.z);
324
+ static div(a: Vec3, b: Vec3): Vec3 {
325
+ let res = new Vec3(a.x, a.y, a.z);
321
326
  res.divA(b);
322
327
  return res;
323
328
  }
324
329
 
325
- static length2(a) {
330
+ static length2(a: Vec3): number {
326
331
  return a.length2();
327
332
  }
328
333
 
329
- static length(a) {
330
- return a.length();
331
- }
334
+ // static length(a: Vec3): number {
335
+ // return a.length();
336
+ // }
332
337
 
333
- static dot(a, b) {
338
+ static dot(a: Vec3, b: Vec3): number {
334
339
  return a.dot(b);
335
340
  }
336
341
 
@@ -339,7 +344,7 @@ export class Vec3 {
339
344
  * @public
340
345
  * @returns {Vec4} -
341
346
  */
342
- toVec4() {
347
+ public toVec4(): Vec4 {
343
348
  return new Vec4(this.x, this.y, this.z, 1.0);
344
349
  }
345
350
 
@@ -348,7 +353,7 @@ export class Vec3 {
348
353
  * @public
349
354
  * @returns {Vec3} -
350
355
  */
351
- clone() {
356
+ public clone(): Vec3 {
352
357
  return new Vec3(this.x, this.y, this.z);
353
358
  }
354
359
 
@@ -357,8 +362,8 @@ export class Vec3 {
357
362
  * @public
358
363
  * @returns {string} -
359
364
  */
360
- toString() {
361
- return "(" + this.x + "," + this.y + "," + this.z + ")";
365
+ public toString(): string {
366
+ return `(${this.x},${this.y},${this.z})`;
362
367
  }
363
368
 
364
369
  /**
@@ -366,7 +371,7 @@ export class Vec3 {
366
371
  * @public
367
372
  * @returns {boolean} -
368
373
  */
369
- isZero() {
374
+ public isZero(): boolean {
370
375
  return !(this.x || this.y || this.z);
371
376
  }
372
377
 
@@ -376,7 +381,7 @@ export class Vec3 {
376
381
  * @param {Vec3} a - Project vector.
377
382
  * @returns {Vec3} -
378
383
  */
379
- projToVec(a) {
384
+ public projToVec(a: Vec3): Vec3 {
380
385
  return a.scaleTo(a.dot(this) / a.dot(a));
381
386
  }
382
387
 
@@ -386,7 +391,7 @@ export class Vec3 {
386
391
  * @param {Vec3} p - Vector to compare.
387
392
  * @returns {boolean} -
388
393
  */
389
- equal(p) {
394
+ public equal(p: Vec3): boolean {
390
395
  return this.x === p.x && this.y === p.y && this.z === p.z;
391
396
  }
392
397
 
@@ -395,7 +400,7 @@ export class Vec3 {
395
400
  * @param {Vec3} p - Vector to copy.
396
401
  * @returns {Vec3} -
397
402
  */
398
- copy(p) {
403
+ public copy(p: Vec3): Vec3 {
399
404
  this.x = p.x;
400
405
  this.y = p.y;
401
406
  this.z = p.z;
@@ -407,7 +412,7 @@ export class Vec3 {
407
412
  * @public
408
413
  * @returns {number} -
409
414
  */
410
- length() {
415
+ public length(): number {
411
416
  return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z);
412
417
  }
413
418
 
@@ -416,7 +421,7 @@ export class Vec3 {
416
421
  * @public
417
422
  * @returns {number} -
418
423
  */
419
- length2() {
424
+ public length2(): number {
420
425
  return this.x * this.x + this.y * this.y + this.z * this.z;
421
426
  }
422
427
 
@@ -425,7 +430,7 @@ export class Vec3 {
425
430
  * @public
426
431
  * @returns {Quat} -
427
432
  */
428
- getQuat() {
433
+ public getQuat(): Quat {
429
434
  return new Quat(this.x, this.y, this.z);
430
435
  }
431
436
 
@@ -435,7 +440,7 @@ export class Vec3 {
435
440
  * @param {Vec3} p - Point to add.
436
441
  * @returns {Vec3} -
437
442
  */
438
- addA(p) {
443
+ public addA(p: Vec3): Vec3 {
439
444
  this.x += p.x;
440
445
  this.y += p.y;
441
446
  this.z += p.z;
@@ -448,7 +453,7 @@ export class Vec3 {
448
453
  * @param {Vec3} p - Vector to add.
449
454
  * @returns {Vec3} Returns a sum vector.
450
455
  */
451
- add(p) {
456
+ public add(p: Vec3): Vec3 {
452
457
  return new Vec3(this.x + p.x, this.y + p.y, this.z + p.z);
453
458
  }
454
459
 
@@ -458,7 +463,7 @@ export class Vec3 {
458
463
  * @param {Vec3} p - Subtract vector.
459
464
  * @returns {Vec3} -
460
465
  */
461
- subA(p) {
466
+ public subA(p: Vec3): Vec3 {
462
467
  this.x -= p.x;
463
468
  this.y -= p.y;
464
469
  this.z -= p.z;
@@ -471,7 +476,7 @@ export class Vec3 {
471
476
  * @param {Vec3} p - Subtract vector.
472
477
  * @return {Vec3} Returns new instance of a subtraction
473
478
  */
474
- sub(p) {
479
+ public sub(p: Vec3): Vec3 {
475
480
  return new Vec3(this.x - p.x, this.y - p.y, this.z - p.z);
476
481
  }
477
482
 
@@ -481,7 +486,7 @@ export class Vec3 {
481
486
  * @param {number} scale - Scale value.
482
487
  * @returns {Vec3} -
483
488
  */
484
- scale(scale) {
489
+ public scale(scale: number): Vec3 {
485
490
  this.x *= scale;
486
491
  this.y *= scale;
487
492
  this.z *= scale;
@@ -494,7 +499,7 @@ export class Vec3 {
494
499
  * @param {number} scale - Scale value.
495
500
  * @returns {Vec3} -
496
501
  */
497
- scaleTo(scale) {
502
+ public scaleTo(scale: number): Vec3 {
498
503
  return new Vec3(this.x * scale, this.y * scale, this.z * scale);
499
504
  }
500
505
 
@@ -504,7 +509,7 @@ export class Vec3 {
504
509
  * @param {Vec3} vec - Multiply vector.
505
510
  * @returns {Vec3} -
506
511
  */
507
- mulA(vec) {
512
+ public mulA(vec: Vec3): Vec3 {
508
513
  this.x *= vec.x;
509
514
  this.y *= vec.y;
510
515
  this.z *= vec.z;
@@ -517,7 +522,7 @@ export class Vec3 {
517
522
  * @param {Vec3} vec - Multiply vector.
518
523
  * @returns {Vec3} -
519
524
  */
520
- mul(vec) {
525
+ public mul(vec: Vec3): Vec3 {
521
526
  return new Vec3(this.x * vec.x, this.y * vec.y, this.z * vec.z);
522
527
  }
523
528
 
@@ -527,7 +532,7 @@ export class Vec3 {
527
532
  * @param {Vec3} vec - Div vector.
528
533
  * @returns {Vec3} -
529
534
  */
530
- divA(vec) {
535
+ public divA(vec: Vec3): Vec3 {
531
536
  this.x /= vec.x;
532
537
  this.y /= vec.y;
533
538
  this.z /= vec.z;
@@ -540,7 +545,7 @@ export class Vec3 {
540
545
  * @param {Vec3} vec - Div vector.
541
546
  * @returns {Vec3} -
542
547
  */
543
- div(vec) {
548
+ public div(vec: Vec3): Vec3 {
544
549
  return new Vec3(this.x / vec.x, this.y / vec.y, this.z / vec.z);
545
550
  }
546
551
 
@@ -550,7 +555,7 @@ export class Vec3 {
550
555
  * @param {Vec3} a - Another vector.
551
556
  * @returns {number} -
552
557
  */
553
- dot(a) {
558
+ public dot(a: Vec3): number {
554
559
  return a.x * this.x + a.y * this.y + a.z * this.z;
555
560
  }
556
561
 
@@ -560,7 +565,7 @@ export class Vec3 {
560
565
  * @param {Array.<number>} arr - Array vector. (exactly 3 entries)
561
566
  * @returns {number} -
562
567
  */
563
- dotArr(arr) {
568
+ public dotArr(arr: NumberArray3 | NumberArray4): number {
564
569
  return arr[0] * this.x + arr[1] * this.y + arr[2] * this.z;
565
570
  }
566
571
 
@@ -570,7 +575,7 @@ export class Vec3 {
570
575
  * @param {Vec3} point3 - Another vector.
571
576
  * @returns {Vec3} -
572
577
  */
573
- cross(point3) {
578
+ public cross(point3: Vec3): Vec3 {
574
579
  return new Vec3(
575
580
  this.y * point3.z - this.z * point3.y,
576
581
  this.z * point3.x - this.x * point3.z,
@@ -583,7 +588,7 @@ export class Vec3 {
583
588
  * @public
584
589
  * @returns {Vec3} -
585
590
  */
586
- clear() {
591
+ public clear(): Vec3 {
587
592
  this.x = this.y = this.z = 0;
588
593
  return this;
589
594
  }
@@ -593,11 +598,11 @@ export class Vec3 {
593
598
  * @public
594
599
  * @returns {Vec3} -
595
600
  */
596
- getNormal() {
597
- var res = new Vec3();
601
+ public getNormal(): Vec3 {
602
+ let res = new Vec3();
598
603
  res.copy(this);
599
604
 
600
- var length = 1.0 / res.length();
605
+ let length = 1.0 / res.length();
601
606
 
602
607
  res.x *= length;
603
608
  res.y *= length;
@@ -612,11 +617,11 @@ export class Vec3 {
612
617
  * @public
613
618
  * @returns {Vec3} -
614
619
  */
615
- normal() {
616
- var res = new Vec3();
620
+ public normal(): Vec3 {
621
+ let res = new Vec3();
617
622
  res.copy(this);
618
623
 
619
- var length = 1.0 / res.length();
624
+ let length = 1.0 / res.length();
620
625
 
621
626
  res.x *= length;
622
627
  res.y *= length;
@@ -630,11 +635,11 @@ export class Vec3 {
630
635
  * @public
631
636
  * @returns {Vec3} -
632
637
  */
633
- normalNegate() {
634
- var res = new Vec3();
638
+ public normalNegate(): Vec3 {
639
+ let res = new Vec3();
635
640
  res.copy(this);
636
641
 
637
- var length = -1.0 / res.length();
642
+ let length = -1.0 / res.length();
638
643
 
639
644
  res.x *= length;
640
645
  res.y *= length;
@@ -648,11 +653,11 @@ export class Vec3 {
648
653
  * @public
649
654
  * @returns {Vec3} -
650
655
  */
651
- normalNegateScale(scale) {
652
- var res = new Vec3();
656
+ public normalNegateScale(scale: number): Vec3 {
657
+ let res = new Vec3();
653
658
  res.copy(this);
654
659
 
655
- var length = -scale / res.length();
660
+ let length = -scale / res.length();
656
661
 
657
662
  res.x *= length;
658
663
  res.y *= length;
@@ -666,11 +671,11 @@ export class Vec3 {
666
671
  * @public
667
672
  * @returns {Vec3} -
668
673
  */
669
- normalScale(scale) {
670
- var res = new Vec3();
674
+ public normalScale(scale: number): Vec3 {
675
+ let res = new Vec3();
671
676
  res.copy(this);
672
677
 
673
- var length = scale / res.length();
678
+ let length = scale / res.length();
674
679
 
675
680
  res.x *= length;
676
681
  res.y *= length;
@@ -684,13 +689,11 @@ export class Vec3 {
684
689
  * @public
685
690
  * @returns {Vec3} -
686
691
  */
687
- normalize() {
688
- var length = 1.0 / this.length();
689
-
692
+ public normalize(): Vec3 {
693
+ let length = 1.0 / this.length();
690
694
  this.x *= length;
691
695
  this.y *= length;
692
696
  this.z *= length;
693
-
694
697
  return this;
695
698
  }
696
699
 
@@ -700,7 +703,7 @@ export class Vec3 {
700
703
  * @returns {Array.<number>} - (exactly 3 entries)
701
704
  * @deprecated
702
705
  */
703
- toVec() {
706
+ public toVec(): NumberArray3 {
704
707
  return [this.x, this.y, this.z];
705
708
  }
706
709
 
@@ -709,7 +712,7 @@ export class Vec3 {
709
712
  * @public
710
713
  * @returns {Array.<number>} - (exactly 3 entries)
711
714
  */
712
- toArray() {
715
+ public toArray(): NumberArray3 {
713
716
  return [this.x, this.y, this.z];
714
717
  }
715
718
 
@@ -719,7 +722,7 @@ export class Vec3 {
719
722
  * @param {Vec3} p - Distant point.
720
723
  * @returns {number} -
721
724
  */
722
- distance(p) {
725
+ public distance(p: Vec3): number {
723
726
  let dx = this.x - p.x,
724
727
  dy = this.y - p.y,
725
728
  dz = this.z - p.z;
@@ -732,7 +735,7 @@ export class Vec3 {
732
735
  * @param {Vec3} p - Distant point.
733
736
  * @returns {number} -
734
737
  */
735
- distance2(p) {
738
+ public distance2(p: Vec3): number {
736
739
  let dx = this.x - p.x,
737
740
  dy = this.y - p.y,
738
741
  dz = this.z - p.z;
@@ -747,7 +750,7 @@ export class Vec3 {
747
750
  * @param {number} z - Value Z.
748
751
  * @returns {Vec3} -
749
752
  */
750
- set(x, y, z) {
753
+ public set(x: number, y: number, z: number): Vec3 {
751
754
  this.x = x;
752
755
  this.y = y;
753
756
  this.z = z;
@@ -759,7 +762,7 @@ export class Vec3 {
759
762
  * @public
760
763
  * @returns {Vec3} -
761
764
  */
762
- negate() {
765
+ public negate(): Vec3 {
763
766
  this.x = -this.x;
764
767
  this.y = -this.y;
765
768
  this.z = -this.z;
@@ -771,7 +774,7 @@ export class Vec3 {
771
774
  * @public
772
775
  * @returns {Vec3} -
773
776
  */
774
- negateTo() {
777
+ public negateTo(): Vec3 {
775
778
  return new Vec3(-this.x, -this.y, -this.z);
776
779
  }
777
780
 
@@ -782,8 +785,8 @@ export class Vec3 {
782
785
  * @param {Vec3} direction - Ray direction.
783
786
  * @returns {Vec3} -
784
787
  */
785
- projToRay(pos, direction) {
786
- var v = Vec3.proj_b_to_a(Vec3.sub(this, pos), direction);
788
+ public projToRay(pos: Vec3, direction: Vec3): Vec3 {
789
+ let v = Vec3.proj_b_to_a(Vec3.sub(this, pos), direction);
787
790
  v.addA(pos);
788
791
  return v;
789
792
  }
@@ -794,7 +797,7 @@ export class Vec3 {
794
797
  * @param {Vec3} a - Another vector.
795
798
  * @returns {number} -
796
799
  */
797
- angle(a) {
800
+ public angle(a: Vec3): number {
798
801
  return Vec3.angle(this, a);
799
802
  }
800
803
 
@@ -805,7 +808,7 @@ export class Vec3 {
805
808
  * @param {number} l - Interpolate value.
806
809
  * @returns {Vec3} -
807
810
  */
808
- lerp(v2, l) {
811
+ public lerp(v2: Vec3, l: number) {
809
812
  return new Vec3(
810
813
  this.x + (v2.x - this.x) * l,
811
814
  this.y + (v2.y - this.y) * l,
@@ -820,8 +823,8 @@ export class Vec3 {
820
823
  * @param {number} t - Interpolate value.
821
824
  * @returns {Vec3} -
822
825
  */
823
- smerp(v2, t) {
824
- var one_d = 1 - t;
826
+ public smerp(v2: Vec3, t: number): Vec3 {
827
+ let one_d = 1 - t;
825
828
  return new Vec3(
826
829
  this.x * t + v2.x * one_d,
827
830
  this.y * t + v2.y * one_d,
@@ -829,7 +832,7 @@ export class Vec3 {
829
832
  );
830
833
  }
831
834
 
832
- static get LERP_DELTA() {
835
+ static get LERP_DELTA(): number {
833
836
  return 1e-6;
834
837
  }
835
838
 
@@ -843,19 +846,19 @@ export class Vec3 {
843
846
  * @param {number} t - The parameter t is clamped to the range [0, 1].
844
847
  * @returns {Vec3} -
845
848
  */
846
- slerp(v2, t) {
847
- var res = new Vec3();
849
+ public slerp(v2: Vec3, t: number): Vec3 {
850
+ let res = new Vec3();
848
851
 
849
852
  if (t <= 0.0) {
850
853
  res.copy(this);
851
- return;
854
+ return res;
852
855
  } else if (t >= 1.0) {
853
856
  res.copy(v2);
854
- return;
857
+ return res;
855
858
  }
856
859
 
857
- var omega, sinom, scale0, scale1;
858
- var cosom = this.dot(v2);
860
+ let omega, sinom, scale0, scale1;
861
+ let cosom = this.dot(v2);
859
862
 
860
863
  if (1.0 - cosom > Vec3.LERP_DELTA) {
861
864
  omega = Math.acos(cosom);
@@ -877,7 +880,7 @@ export class Vec3 {
877
880
  * @returns {Quat} -
878
881
  * @todo: TEST IT!
879
882
  */
880
- getRotationTo(dest, fallbackAxis) {
883
+ public getRotationTo(dest: Vec3, fallbackAxis: Vec3): Quat {
881
884
  // Based on Stan Melax's article in Game Programming Gems
882
885
  // Copy, since cannot modify local
883
886
  let v0 = this.clone();
@@ -892,9 +895,9 @@ export class Vec3 {
892
895
  }
893
896
 
894
897
  if (d < 1e-6 - 1.0) {
895
- if (!fallbackAxis.isEqual(Vec3.ZERO)) {
898
+ if (!fallbackAxis.equal(Vec3.ZERO)) {
896
899
  // rotate 180 degrees about the fallback axis
897
- return Quat.axisAngleToQuat(Math.PI, fallbackAxis);
900
+ return Quat.axisAngleToQuat(fallbackAxis, Math.PI);
898
901
  } else {
899
902
  // Generate an axis
900
903
  let axis = Vec3.UNIT_X.cross(v0);
@@ -903,16 +906,14 @@ export class Vec3 {
903
906
  axis = Vec3.UNIT_Y.cross(v0);
904
907
  }
905
908
  axis.normalize();
906
- return Quat.axisAngleToQuat(Math.PI, axis);
909
+ return Quat.axisAngleToQuat(axis, Math.PI);
907
910
  }
908
911
  } else {
909
912
  let s = Math.sqrt((1 + d) * 2);
910
913
  let invs = 1.0 / s;
911
-
912
914
  let c = v0.cross(v1);
913
-
914
915
  let q = new Quat(c.x * invs, c.y * invs, c.z * invs, s * 0.5);
915
- q.normalise();
916
+ q.normalize();
916
917
  return q;
917
918
  }
918
919
  }
@@ -921,11 +922,11 @@ export class Vec3 {
921
922
  /**
922
923
  * Vector 3d object creator.
923
924
  * @function
924
- * @param {number} [x] - First cvalue.
925
- * @param {number} [y] - Second value.
926
- * @param {number} [z] - Third value.
925
+ * @param {number} [x] - value X.
926
+ * @param {number} [y] - value Y.
927
+ * @param {number} [z] - value Z.
927
928
  * @returns {Vec3} -
928
929
  */
929
- export function vec3(x, y, z) {
930
+ export function vec3(x: number = 0, y: number = 0, z: number = 0): Vec3 {
930
931
  return new Vec3(x, y, z);
931
932
  }