@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,20 +1,30 @@
1
- "use strict";
1
+ import {Mat4} from "./Mat4";
2
+ import {Vec3} from "./Vec3";
2
3
 
3
- import { Mat4 } from "./Mat4.js";
4
- import { Vec3 } from "./Vec3.js";
4
+ export type NumberArray9 = [
5
+ number, number, number,
6
+ number, number, number,
7
+ number, number, number
8
+ ];
5
9
 
6
10
  /**
7
11
  * Class represents a 3x3 matrix.
8
12
  * @class
9
13
  */
10
14
  export class Mat3 {
15
+
16
+ /**
17
+ * A 3x3 matrix, indexing as a column-major order array.
18
+ * @public
19
+ * @type {Array.<number>}
20
+ */
21
+ public _m: NumberArray9 = [
22
+ 0, 0, 0,
23
+ 0, 0, 0,
24
+ 0, 0, 0
25
+ ];
26
+
11
27
  constructor() {
12
- /**
13
- * A 3x3 matrix, indexable as a column-major order array.
14
- * @public
15
- * @type {Array.<number>}
16
- */
17
- this._m = new Array(9);
18
28
  }
19
29
 
20
30
  /**
@@ -23,7 +33,7 @@ export class Mat3 {
23
33
  * @param {Array.<number>} m - Matrix array.
24
34
  * @returns {Mat3}
25
35
  */
26
- set(m) {
36
+ public set(m: NumberArray9): Mat3 {
27
37
  this._m[0] = m[0];
28
38
  this._m[1] = m[1];
29
39
  this._m[2] = m[2];
@@ -41,9 +51,9 @@ export class Mat3 {
41
51
  * @public
42
52
  * @returns {Mat3}
43
53
  */
44
- clone() {
45
- var res = new Mat3();
46
- res.set(this);
54
+ public clone(): Mat3 {
55
+ let res = new Mat3();
56
+ res.set(this._m);
47
57
  return res;
48
58
  }
49
59
 
@@ -53,18 +63,18 @@ export class Mat3 {
53
63
  * @param {Mat3} a - Matrix to copy.
54
64
  * @returns {Mat3}
55
65
  */
56
- copy(a) {
66
+ public copy(a: Mat3): Mat3 {
57
67
  return this.set(a._m);
58
68
  }
59
69
 
60
70
  /**
61
- * Creates trasposed matrix from the current.
71
+ * Creates transposed matrix from the current.
62
72
  * @public
63
73
  * @returns {Mat3}
64
74
  */
65
- transposeTo() {
66
- var res = new Mat3();
67
- var m = this._m;
75
+ public transposeTo(): Mat3 {
76
+ let res = new Mat3();
77
+ let m = this._m;
68
78
  res._m[0] = m[0];
69
79
  res._m[1] = m[3];
70
80
  res._m[2] = m[6];
@@ -82,7 +92,7 @@ export class Mat3 {
82
92
  * @public
83
93
  * @returns {Mat3}
84
94
  */
85
- setIdentity() {
95
+ public setIdentity(): Mat3 {
86
96
  this._m[0] = 1;
87
97
  this._m[1] = 0;
88
98
  this._m[2] = 0;
@@ -101,11 +111,14 @@ export class Mat3 {
101
111
  * @params {Vec3} p - 3d vector.
102
112
  * @returns {Vec3}
103
113
  */
104
- mulVec(p) {
105
- var d = p.x,
114
+ public mulVec(p: Vec3): Vec3 {
115
+
116
+ let d = p.x,
106
117
  e = p.y,
107
118
  g = p.z;
108
- var m = this._m;
119
+
120
+ let m = this._m;
121
+
109
122
  return new Vec3(
110
123
  m[0] * d + m[3] * e + m[6] * g,
111
124
  m[1] * d + m[4] * e + m[7] * g,
@@ -118,10 +131,12 @@ export class Mat3 {
118
131
  * @public
119
132
  * @returns {Mat4}
120
133
  */
121
- toMatrix4() {
122
- var res = new Mat4();
123
- var b = res._m;
124
- var a = this._m;
134
+ public toMatrix4(): Mat4 {
135
+
136
+ let res = new Mat4();
137
+ let b = res._m;
138
+ let a = this._m;
139
+
125
140
  b[0] = a[0];
126
141
  b[1] = a[1];
127
142
  b[2] = a[2];
@@ -138,6 +153,7 @@ export class Mat3 {
138
153
  b[13] = 0;
139
154
  b[14] = 0;
140
155
  b[15] = 1;
156
+
141
157
  return res;
142
158
  }
143
159
  }
@@ -147,6 +163,6 @@ export class Mat3 {
147
163
  * @static
148
164
  * @return {Mat3}
149
165
  */
150
- export function mat3() {
166
+ export function mat3(): Mat3 {
151
167
  return new Mat3();
152
168
  }
@@ -1,22 +1,34 @@
1
- "use strict";
2
-
3
- import { Mat3 } from "./Mat3.js";
4
- import { Quat } from "./Quat.js";
5
- import { Vec3 } from "./Vec3.js";
6
- import { Vec4 } from "./Vec4.js";
1
+ import {Mat3} from "./Mat3";
2
+ import {Quat} from "./Quat";
3
+ import {Vec3} from "./Vec3";
4
+ import {Vec4} from "./Vec4";
5
+
6
+ export type NumberArray16 = [
7
+ number, number, number, number,
8
+ number, number, number, number,
9
+ number, number, number, number,
10
+ number, number, number, number
11
+ ];
7
12
 
8
13
  /**
9
14
  * Class represents a 4x4 matrix.
10
15
  * @class
11
16
  */
12
17
  export class Mat4 {
18
+
19
+ /**
20
+ * A 4x4 matrix, index-able as a column-major order array.
21
+ * @public
22
+ * @type {Array.<number>}
23
+ */
24
+ public _m: NumberArray16 = [
25
+ 0, 0, 0, 0,
26
+ 0, 0, 0, 0,
27
+ 0, 0, 0, 0,
28
+ 0, 0, 0, 0
29
+ ];
30
+
13
31
  constructor() {
14
- /**
15
- * A 4x4 matrix, indexable as a column-major order array.
16
- * @public
17
- * @type {Array.<number>}
18
- */
19
- this._m = new Array(16);
20
32
  }
21
33
 
22
34
  /**
@@ -24,8 +36,8 @@ export class Mat4 {
24
36
  * @static
25
37
  * @returns {Mat4} -
26
38
  */
27
- static identity() {
28
- var res = new Mat4();
39
+ static identity(): Mat4 {
40
+ let res = new Mat4();
29
41
  res._m[0] = 1;
30
42
  res._m[1] = 0;
31
43
  res._m[2] = 0;
@@ -51,7 +63,7 @@ export class Mat4 {
51
63
  * @param {Array.<number>} m - Matrix array.
52
64
  * @returns {Mat4} -
53
65
  */
54
- set(m) {
66
+ public set(m: NumberArray16): Mat4 {
55
67
  this._m[0] = m[0];
56
68
  this._m[1] = m[1];
57
69
  this._m[2] = m[2];
@@ -76,19 +88,20 @@ export class Mat4 {
76
88
  * @public
77
89
  * @returns {Mat4} -
78
90
  */
79
- clone() {
80
- var res = new Mat4();
81
- res.set(this);
91
+ public clone(): Mat4 {
92
+ let res = new Mat4();
93
+ res.set(this._m);
82
94
  return res;
83
95
  }
84
96
 
85
97
  /**
86
98
  * Copy matrix.
87
99
  * @public
88
- * @param {Mat3} a - Matrix to copy.
100
+ * @param {Mat4} a - Matrix to copy.
101
+ * @return {Mat4}
89
102
  */
90
- copy(a) {
91
- this.set(a._m);
103
+ public copy(a: Mat4): Mat4 {
104
+ return this.set(a._m);
92
105
  }
93
106
 
94
107
  /**
@@ -96,9 +109,9 @@ export class Mat4 {
96
109
  * @public
97
110
  * @returns {Mat3} -
98
111
  */
99
- toMatrix3() {
100
- var res = new Mat3();
101
- var a = this._m,
112
+ public toMatrix3(): Mat3 {
113
+ let res = new Mat3();
114
+ let a = this._m,
102
115
  b = res._m;
103
116
  b[0] = a[0];
104
117
  b[1] = a[1];
@@ -118,8 +131,8 @@ export class Mat4 {
118
131
  * @param {Vec3} p - 3d vector.
119
132
  * @returns {Vec3} -
120
133
  */
121
- mulVec3(p) {
122
- var d = p.x,
134
+ public mulVec3(p: Vec3): Vec3 {
135
+ let d = p.x,
123
136
  e = p.y,
124
137
  g = p.z;
125
138
  return new Vec3(
@@ -135,8 +148,8 @@ export class Mat4 {
135
148
  * @param {Vec4} p - 4d vector.
136
149
  * @returns {Vec4} -
137
150
  */
138
- mulVec4(p) {
139
- var d = p.x,
151
+ public mulVec4(p: Vec4): Vec4 {
152
+ let d = p.x,
140
153
  e = p.y,
141
154
  g = p.z,
142
155
  f = p.w;
@@ -149,13 +162,13 @@ export class Mat4 {
149
162
  }
150
163
 
151
164
  /**
152
- * Creates an inversed 3x3 matrix of the current.
165
+ * Creates an inverse 3x3 matrix of the current.
153
166
  * @public
154
167
  * @returns {Mat3} -
155
168
  */
156
- toInverseMatrix3() {
157
- var a = this._m;
158
- var c = a[0],
169
+ public toInverseMatrix3(): Mat3 | undefined {
170
+ let a = this._m;
171
+ let c = a[0],
159
172
  d = a[1],
160
173
  e = a[2],
161
174
  g = a[4],
@@ -170,12 +183,12 @@ export class Mat4 {
170
183
  n = c * l + d * o + e * m;
171
184
 
172
185
  if (!n) {
173
- return null;
186
+ return;
174
187
  }
175
188
 
176
- n = 1 / n;
189
+ n = 1.0 / n;
177
190
 
178
- var res = new Mat3();
191
+ let res = new Mat3();
179
192
  res._m[0] = l * n;
180
193
  res._m[1] = (-k * d + e * j) * n;
181
194
  res._m[2] = (h * d - e * f) * n;
@@ -185,16 +198,17 @@ export class Mat4 {
185
198
  res._m[6] = m * n;
186
199
  res._m[7] = (-j * c + d * i) * n;
187
200
  res._m[8] = (f * c - d * g) * n;
201
+
188
202
  return res;
189
203
  }
190
204
 
191
205
  /**
192
- * Creates an inversed matrix of the current.
206
+ * Creates an inverse matrix of the current.
193
207
  * @public
194
208
  * @returns {Mat4} -
195
209
  */
196
- inverseTo(res) {
197
- var c = this._m[0],
210
+ public inverseTo(res: Mat4 = new Mat4): Mat4 {
211
+ let c = this._m[0],
198
212
  d = this._m[1],
199
213
  e = this._m[2],
200
214
  g = this._m[3],
@@ -224,8 +238,6 @@ export class Mat4 {
224
238
  E = o * s - m * r,
225
239
  q = 1 / (A * E - B * D + t * C + u * z - v * y + w * x);
226
240
 
227
- res = res || new Mat4();
228
-
229
241
  res._m[0] = (h * E - i * D + j * C) * q;
230
242
  res._m[1] = (-d * E + e * D - g * C) * q;
231
243
  res._m[2] = (p * w - r * v + s * u) * q;
@@ -242,16 +254,17 @@ export class Mat4 {
242
254
  res._m[13] = (c * C - d * y + e * x) * q;
243
255
  res._m[14] = (-n * u + p * B - r * A) * q;
244
256
  res._m[15] = (k * u - l * B + o * A) * q;
257
+
245
258
  return res;
246
259
  }
247
260
 
248
261
  /**
249
- * Creates a trasposed matrix of the current.
262
+ * Creates a transposed matrix of the current.
250
263
  * @public
251
264
  * @returns {Mat4} -
252
265
  */
253
- transposeTo() {
254
- var res = new Mat4();
266
+ public transposeTo(): Mat4 {
267
+ let res = new Mat4();
255
268
  res._m[0] = this._m[0];
256
269
  res._m[1] = this._m[4];
257
270
  res._m[2] = this._m[8];
@@ -276,7 +289,7 @@ export class Mat4 {
276
289
  * @public
277
290
  * @returns {Mat4} -
278
291
  */
279
- setIdentity() {
292
+ public setIdentity(): Mat4 {
280
293
  this._m[0] = 1;
281
294
  this._m[1] = 0;
282
295
  this._m[2] = 0;
@@ -302,7 +315,8 @@ export class Mat4 {
302
315
  * @param {Mat4} mx - Matrix to multiply.
303
316
  * @returns {Mat4} -
304
317
  */
305
- mul(mx) {
318
+ public mul(mx: Mat4): Mat4 {
319
+
306
320
  let d = this._m[0],
307
321
  e = this._m[1],
308
322
  g = this._m[2],
@@ -337,7 +351,8 @@ export class Mat4 {
337
351
  G = mx._m[14],
338
352
  b = mx._m[15];
339
353
 
340
- var res = new Mat4();
354
+ let res = new Mat4();
355
+
341
356
  res._m[0] = A * d + B * h + t * l + u * p;
342
357
  res._m[1] = A * e + B * i + t * o + u * r;
343
358
  res._m[2] = A * g + B * j + t * m + u * s;
@@ -354,6 +369,7 @@ export class Mat4 {
354
369
  res._m[13] = q * e + F * i + G * o + b * r;
355
370
  res._m[14] = q * g + F * j + G * m + b * s;
356
371
  res._m[15] = q * f + F * k + G * n + b * a;
372
+
357
373
  return res;
358
374
  }
359
375
 
@@ -363,15 +379,19 @@ export class Mat4 {
363
379
  * @param {Vec3} v - Translate vector.
364
380
  * @returns {Mat4} -
365
381
  */
366
- translate(v) {
367
- var d = v.x,
382
+ public translate(v: Vec3): Mat4 {
383
+
384
+ let d = v.x,
368
385
  e = v.y,
369
386
  b = v.z;
370
- var a = this._m;
387
+
388
+ let a = this._m;
389
+
371
390
  a[12] = a[0] * d + a[4] * e + a[8] * b + a[12];
372
391
  a[13] = a[1] * d + a[5] * e + a[9] * b + a[13];
373
392
  a[14] = a[2] * d + a[6] * e + a[10] * b + a[14];
374
393
  a[15] = a[3] * d + a[7] * e + a[11] * b + a[15];
394
+
375
395
  return this;
376
396
  }
377
397
 
@@ -381,8 +401,8 @@ export class Mat4 {
381
401
  * @param {Vec3} v - Translate to position.
382
402
  * @returns {Mat4} -
383
403
  */
384
- translateToPosition(v) {
385
- var a = this._m;
404
+ public translateToPosition(v: Vec3): Mat4 {
405
+ let a = this._m;
386
406
  a[12] = v.x;
387
407
  a[13] = v.y;
388
408
  a[14] = v.z;
@@ -390,18 +410,20 @@ export class Mat4 {
390
410
  }
391
411
 
392
412
  /**
393
- * Rotate currrent matrix around the aligned axis and angle.
413
+ * Rotate current matrix around the aligned axis and angle.
394
414
  * @public
395
415
  * @param {Vec3} u - Aligned axis.
396
416
  * @param {number} angle - Aligned axis angle in radians.
397
417
  * @returns {Mat4} -
398
- * @todo: OPTIMIZE: reveal multiplication
399
418
  */
400
- rotate(u, angle) {
401
- var c = Math.cos(angle),
419
+ public rotate(u: Vec3, angle: number): Mat4 {
420
+
421
+ let c = Math.cos(angle),
402
422
  s = Math.sin(angle);
403
- var rot = new Mat4();
404
- var mx = rot._m;
423
+
424
+ let rot = new Mat4();
425
+ let mx = rot._m;
426
+
405
427
  mx[0] = c + (1 - c) * u.x * u.x;
406
428
  mx[1] = (1 - c) * u.y * u.x - s * u.z;
407
429
  mx[2] = (1 - c) * u.z * u.x + s * u.y;
@@ -418,6 +440,7 @@ export class Mat4 {
418
440
  mx[13] = 0;
419
441
  mx[14] = 0;
420
442
  mx[15] = 1;
443
+
421
444
  return this.mul(rot);
422
445
  }
423
446
 
@@ -428,10 +451,13 @@ export class Mat4 {
428
451
  * @param {number} angle - Aligned axis angle in radians.
429
452
  * @returns {Mat4} -
430
453
  */
431
- setRotation(u, angle) {
432
- var c = Math.cos(angle),
454
+ public setRotation(u: Vec3, angle: number): Mat4 {
455
+
456
+ let c = Math.cos(angle),
433
457
  s = Math.sin(angle);
434
- var mx = this._m;
458
+
459
+ let mx = this._m;
460
+
435
461
  mx[0] = c + (1 - c) * u.x * u.x;
436
462
  mx[1] = (1 - c) * u.y * u.x - s * u.z;
437
463
  mx[2] = (1 - c) * u.z * u.x + s * u.y;
@@ -448,18 +474,19 @@ export class Mat4 {
448
474
  mx[13] = 0;
449
475
  mx[14] = 0;
450
476
  mx[15] = 1;
477
+
451
478
  return this;
452
479
  }
453
480
 
454
481
  /**
455
482
  * Gets the rotation matrix from one vector to another.
456
483
  * @public
457
- * @param {Vec3} a - Firtst vector.
484
+ * @param {Vec3} a - First vector.
458
485
  * @param {Vec3} b - Second vector.
459
486
  * @returns {Mat4} -
460
487
  */
461
- rotateBetweenVectors(a, b) {
462
- var q = Quat.getRotationBetweenVectors(a, b);
488
+ public rotateBetweenVectors(a: Vec3, b: Vec3): Mat4 {
489
+ let q = Quat.getRotationBetweenVectors(a, b);
463
490
  return q.getMat4();
464
491
  }
465
492
 
@@ -469,8 +496,8 @@ export class Mat4 {
469
496
  * @param {Vec3} v - Scale vector.
470
497
  * @returns {Mat4} -
471
498
  */
472
- scale(v) {
473
- var mx = this._m;
499
+ public scale(v: Vec3): Mat4 {
500
+ let mx = this._m;
474
501
  mx[0] = mx[0] * v.x;
475
502
  mx[1] = mx[1] * v.x;
476
503
  mx[2] = mx[2] * v.x;
@@ -497,10 +524,12 @@ export class Mat4 {
497
524
  * @param {number} far -
498
525
  * @returns {Mat4} -
499
526
  */
500
- setPerspective(left, right, bottom, top, near, far) {
501
- var h = right - left,
527
+ public setPerspective(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4 {
528
+
529
+ let h = right - left,
502
530
  i = top - bottom,
503
531
  j = far - near;
532
+
504
533
  this._m[0] = (near * 2) / h;
505
534
  this._m[1] = 0;
506
535
  this._m[2] = 0;
@@ -517,6 +546,7 @@ export class Mat4 {
517
546
  this._m[13] = 0;
518
547
  this._m[14] = -(far * near * 2) / j;
519
548
  this._m[15] = 0;
549
+
520
550
  return this;
521
551
  }
522
552
 
@@ -531,8 +561,9 @@ export class Mat4 {
531
561
  * @param {number} far -
532
562
  * @return {Mat4} -
533
563
  */
534
- setOrtho(left, right, bottom, top, near, far) {
535
- var lr = 1.0 / (left - right),
564
+ public setOrtho(left: number, right: number, bottom: number, top: number, near: number, far: number): Mat4 {
565
+
566
+ let lr = 1.0 / (left - right),
536
567
  bt = 1.0 / (bottom - top),
537
568
  nf = 1.0 / (near - far),
538
569
  m = this._m;
@@ -553,29 +584,31 @@ export class Mat4 {
553
584
  m[13] = (top + bottom) * bt;
554
585
  m[14] = (far + near) * nf;
555
586
  m[15] = 1.0;
587
+
556
588
  return this;
557
589
  }
558
590
 
559
591
  /**
560
592
  * Sets current rotation matrix by euler's angles.
561
593
  * @public
562
- * @param {number} ax - Rotation angle in radians arond X axis.
563
- * @param {number} ay - Rotation angle in radians arond Y axis.
564
- * @param {number} az - Rotation angle in radians arond Z axis.
594
+ * @param {number} ax - Rotation angle in radians around X axis.
595
+ * @param {number} ay - Rotation angle in radians around Y axis.
596
+ * @param {number} az - Rotation angle in radians around Z axis.
565
597
  * @returns {Mat4} -
566
598
  */
567
- eulerToMatrix(ax, ay, az) {
568
- var a = Math.cos(ax),
599
+ public eulerToMatrix(ax: number, ay: number, az: number): Mat4 {
600
+
601
+ let a = Math.cos(ax),
569
602
  b = Math.sin(ax),
570
603
  c = Math.cos(ay),
571
604
  d = Math.sin(ay),
572
605
  e = Math.cos(az),
573
606
  f = Math.sin(az);
574
607
 
575
- var ad = a * d,
608
+ let ad = a * d,
576
609
  bd = b * d;
577
610
 
578
- var mat = this._m;
611
+ let mat = this._m;
579
612
 
580
613
  mat[0] = c * e;
581
614
  mat[1] = -c * f;
@@ -598,6 +631,6 @@ export class Mat4 {
598
631
  * @static
599
632
  * @returns {Mat4} -
600
633
  */
601
- export function mat4() {
634
+ export function mat4(): Mat4 {
602
635
  return new Mat4();
603
636
  }
@@ -1,8 +1,10 @@
1
- "use strict";
2
-
3
- import { EPS5 } from "../math.js";
4
- import { Vec3 } from "./Vec3.js";
1
+ import {EPS5} from "../math";
2
+ import {Vec3} from "./Vec3";
3
+ import {Line3} from "./Line3";
5
4
 
5
+ const DISJOINT = 0
6
+ const COINCIDE = 1;
7
+ const INTERSECT = 2;
6
8
  /**
7
9
  * Plane class.
8
10
  * @constructor
@@ -10,30 +12,33 @@ import { Vec3 } from "./Vec3.js";
10
12
  * @param {Vec3} [n] - Planet normal.
11
13
  */
12
14
  class Plane {
13
- constructor(p, n) {
15
+ public p: Vec3;
16
+ public n: Vec3;
17
+
18
+ constructor(p: Vec3, n: Vec3) {
14
19
  this.p = p ? p.clone() : new Vec3();
15
20
  this.n = n ? n.clone() : this.p.normal();
16
21
  }
17
22
 
18
- set(p, n) {
23
+ public set(p: Vec3, n: Vec3) {
19
24
  this.p.copy(p);
20
25
  this.n.copy(n);
21
26
  }
22
27
 
23
- getNormal() {
28
+ public getNormal(): Vec3 {
24
29
  return this.n.clone();
25
30
  }
26
31
 
27
- distance(p) {
32
+ public distance(p: Vec3): number {
28
33
  let pp = this.getProjection(p);
29
34
  return p.distance(pp);
30
35
  }
31
36
 
32
- getProjection(v, def) {
37
+ public getProjection(v: Vec3, def?: Vec3): Vec3 {
33
38
  return Vec3.proj_b_to_plane(v, this.n, def);
34
39
  }
35
40
 
36
- getProjectionPoint(p, vh) {
41
+ public getProjectionPoint(p: Vec3, vh?: Vec3): Vec3 {
37
42
  let v = p.sub(this.p),
38
43
  n = this.n,
39
44
  dist = v.dot(n);
@@ -46,29 +51,29 @@ class Plane {
46
51
  return p.sub(vh);
47
52
  }
48
53
 
49
- getIntersection(Pn1, Pn2, L) {
50
- var u = Pn1.n.cross(Pn2.n);
54
+ public getIntersection(Pn1: Plane, Pn2: Plane, L: Line3): number {
55
+ let u = Pn1.n.cross(Pn2.n);
51
56
 
52
- var ax = u.x >= 0 ? u.x : -u.x;
53
- var ay = u.y >= 0 ? u.y : -u.y;
54
- var az = u.z >= 0 ? u.z : -u.z;
57
+ let ax = u.x >= 0 ? u.x : -u.x;
58
+ let ay = u.y >= 0 ? u.y : -u.y;
59
+ let az = u.z >= 0 ? u.z : -u.z;
55
60
 
56
61
  // test if the two planes are parallel
57
62
  if (ax + ay + az < EPS5) {
58
63
  // Pn1 and Pn2 are near parallel
59
64
  // test if disjoint or coincide
60
- var v = Pn2.p.sub(Pn1.p);
65
+ let v = Pn2.p.sub(Pn1.p);
61
66
  if (Pn1.n.dot(v) == 0) {
62
67
  // Pn2.V0 lies in Pn1
63
- return 1; // Pn1 and Pn2 coincide
68
+ return COINCIDE; // Pn1 and Pn2 coincide
64
69
  } else {
65
- return 0; // Pn1 and Pn2 are disjoint
70
+ return DISJOINT; // Pn1 and Pn2 are disjoint
66
71
  }
67
72
  }
68
73
 
69
74
  // Pn1 and Pn2 intersect in a line
70
75
  // first determine max abs coordinate of cross product
71
- var maxc; // max coordinate
76
+ let maxc; // max coordinate
72
77
  if (ax > ay) {
73
78
  if (ax > az) {
74
79
  maxc = 1;
@@ -85,9 +90,9 @@ class Plane {
85
90
 
86
91
  // next, to get a point on the intersect line
87
92
  // zero the max coord, and solve for the other two
88
- var iP = new Vec3(); // intersect point
93
+ let iP = new Vec3(); // intersect point
89
94
 
90
- var d1, d2; // the constants in the 2 plane equations
95
+ let d1, d2; // the constants in the 2 plane equations
91
96
  d1 = -Pn1.n.dot(Pn1.p); // note: could be pre-stored with plane
92
97
  d2 = -Pn2.n.dot(Pn2.p); // ditto
93
98
 
@@ -110,8 +115,8 @@ class Plane {
110
115
  }
111
116
  L.p0.copy(iP);
112
117
  L.p1.copy(iP.add(u));
113
- return 2;
118
+ return INTERSECT;
114
119
  }
115
120
  }
116
121
 
117
- export { Plane };
122
+ export {Plane};