@openglobus/og 0.18.0 → 0.18.2

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 (476) hide show
  1. package/README.md +8 -8
  2. package/lib/@openglobus/og.esm.js +2 -0
  3. package/lib/@openglobus/og.esm.js.map +1 -0
  4. package/lib/@openglobus/og.umd.js +2 -0
  5. package/lib/@openglobus/og.umd.js.map +1 -0
  6. package/lib/js/Clock.d.ts +106 -0
  7. package/{src/Clock.ts → lib/js/Clock.js} +31 -126
  8. package/lib/js/Deferred.d.ts +6 -0
  9. package/lib/js/Deferred.js +13 -0
  10. package/lib/js/Events.d.ts +90 -0
  11. package/{src/Events.ts → lib/js/Events.js} +29 -84
  12. package/lib/js/Extent.d.ts +145 -0
  13. package/{src/Extent.ts → lib/js/Extent.js} +74 -120
  14. package/lib/js/Globe.d.ts +132 -0
  15. package/{src/Globe.ts → lib/js/Globe.js} +61 -159
  16. package/lib/js/ImageCanvas.d.ts +128 -0
  17. package/{src/ImageCanvas.ts → lib/js/ImageCanvas.js} +24 -65
  18. package/lib/js/Lock.d.ts +15 -0
  19. package/{src/Lock.ts → lib/js/Lock.js} +7 -21
  20. package/lib/js/LonLat.d.ts +128 -0
  21. package/{src/LonLat.ts → lib/js/LonLat.js} +44 -75
  22. package/lib/js/Object3d.d.ts +49 -0
  23. package/{src/Object3d.ts → lib/js/Object3d.js} +64 -184
  24. package/lib/js/Popup.d.ts +46 -0
  25. package/{src/Popup.ts → lib/js/Popup.js} +42 -110
  26. package/lib/js/QueueArray.d.ts +16 -0
  27. package/{src/QueueArray.ts → lib/js/QueueArray.js} +12 -25
  28. package/lib/js/Rectangle.d.ts +76 -0
  29. package/{src/Rectangle.ts → lib/js/Rectangle.js} +12 -50
  30. package/lib/js/Stack.d.ts +20 -0
  31. package/{src/Stack.ts → lib/js/Stack.js} +13 -29
  32. package/lib/js/astro/astro.d.ts +39 -0
  33. package/{src/astro/astro.ts → lib/js/astro/astro.js} +2 -8
  34. package/lib/js/astro/earth.d.ts +8 -0
  35. package/{src/astro/earth.ts → lib/js/astro/earth.js} +3 -39
  36. package/lib/js/astro/jd.d.ts +234 -0
  37. package/{src/astro/jd.ts → lib/js/astro/jd.js} +55 -134
  38. package/lib/js/astro/orbit.d.ts +5 -0
  39. package/{src/astro/orbit.ts → lib/js/astro/orbit.js} +26 -39
  40. package/lib/js/astro/rotation.d.ts +2 -0
  41. package/{src/astro/rotation.ts → lib/js/astro/rotation.js} +2 -11
  42. package/lib/js/bv/Box.d.ts +32 -0
  43. package/{src/bv/Box.ts → lib/js/bv/Box.js} +7 -35
  44. package/lib/js/bv/Sphere.d.ts +37 -0
  45. package/{src/bv/Sphere.ts → lib/js/bv/Sphere.js} +6 -34
  46. package/{src/bv/index.ts → lib/js/bv/index.d.ts} +0 -1
  47. package/lib/js/bv/index.js +3 -0
  48. package/lib/js/camera/Camera.d.ts +314 -0
  49. package/{src/camera/Camera.ts → lib/js/camera/Camera.js} +77 -326
  50. package/lib/js/camera/Frustum.d.ts +139 -0
  51. package/{src/camera/Frustum.ts → lib/js/camera/Frustum.js} +66 -185
  52. package/lib/js/camera/PlanetCamera.d.ts +234 -0
  53. package/{src/camera/PlanetCamera.ts → lib/js/camera/PlanetCamera.js} +65 -338
  54. package/{src/camera/index.ts → lib/js/camera/index.d.ts} +0 -1
  55. package/lib/js/camera/index.js +3 -0
  56. package/lib/js/cons.d.ts +40 -0
  57. package/{src/cons.ts → lib/js/cons.js} +10 -22
  58. package/lib/js/control/Atmosphere.d.ts +16 -0
  59. package/{src/control/Atmosphere.ts → lib/js/control/Atmosphere.js} +33 -86
  60. package/lib/js/control/CompassButton.d.ts +16 -0
  61. package/{src/control/CompassButton.ts → lib/js/control/CompassButton.js} +18 -43
  62. package/lib/js/control/Control.d.ts +100 -0
  63. package/{src/control/Control.ts → lib/js/control/Control.js} +22 -89
  64. package/lib/js/control/DebugInfo.d.ts +25 -0
  65. package/{src/control/DebugInfo.ts → lib/js/control/DebugInfo.js} +38 -84
  66. package/lib/js/control/DrawingSwitcher.d.ts +13 -0
  67. package/{src/control/DrawingSwitcher.ts → lib/js/control/DrawingSwitcher.js} +13 -30
  68. package/lib/js/control/EarthCoordinates.d.ts +41 -0
  69. package/{src/control/EarthCoordinates.ts → lib/js/control/EarthCoordinates.js} +58 -119
  70. package/lib/js/control/EarthNavigation.d.ts +50 -0
  71. package/{src/control/EarthNavigation.ts → lib/js/control/EarthNavigation.js} +70 -161
  72. package/lib/js/control/GeoImageDragControl.d.ts +22 -0
  73. package/{src/control/GeoImageDragControl.ts → lib/js/control/GeoImageDragControl.js} +26 -49
  74. package/lib/js/control/KeyboardNavigation.d.ts +28 -0
  75. package/{src/control/KeyboardNavigation.ts → lib/js/control/KeyboardNavigation.js} +67 -92
  76. package/lib/js/control/LayerAnimation.d.ts +71 -0
  77. package/{src/control/LayerAnimation.ts → lib/js/control/LayerAnimation.js} +82 -162
  78. package/lib/js/control/LayerSwitcher.d.ts +21 -0
  79. package/{src/control/LayerSwitcher.ts → lib/js/control/LayerSwitcher.js} +16 -41
  80. package/lib/js/control/Lighting.d.ts +49 -0
  81. package/{src/control/Lighting.ts → lib/js/control/Lighting.js} +106 -219
  82. package/lib/js/control/MouseNavigation.d.ts +62 -0
  83. package/{src/control/MouseNavigation.ts → lib/js/control/MouseNavigation.js} +105 -211
  84. package/lib/js/control/MouseWheelZoomControl.d.ts +44 -0
  85. package/lib/js/control/MouseWheelZoomControl.js +181 -0
  86. package/lib/js/control/RulerSwitcher.d.ts +17 -0
  87. package/{src/control/RulerSwitcher.ts → lib/js/control/RulerSwitcher.js} +13 -28
  88. package/lib/js/control/ScaleControl.d.ts +24 -0
  89. package/lib/js/control/ScaleControl.js +91 -0
  90. package/lib/js/control/SegmentBoundVisualization.d.ts +12 -0
  91. package/lib/js/control/SegmentBoundVisualization.js +37 -0
  92. package/lib/js/control/ShowFps.d.ts +9 -0
  93. package/lib/js/control/ShowFps.js +20 -0
  94. package/lib/js/control/SimpleNavigation.d.ts +25 -0
  95. package/{src/control/SimpleNavigation.ts → lib/js/control/SimpleNavigation.js} +29 -51
  96. package/lib/js/control/SimpleSkyBackground.d.ts +15 -0
  97. package/{src/control/SimpleSkyBackground.ts → lib/js/control/SimpleSkyBackground.js} +21 -48
  98. package/lib/js/control/Sun.d.ts +33 -0
  99. package/{src/control/Sun.ts → lib/js/control/Sun.js} +34 -85
  100. package/lib/js/control/ToggleWireframe.d.ts +14 -0
  101. package/lib/js/control/ToggleWireframe.js +28 -0
  102. package/lib/js/control/TouchNavigation.d.ts +52 -0
  103. package/{src/control/TouchNavigation.ts → lib/js/control/TouchNavigation.js} +88 -193
  104. package/lib/js/control/ZoomControl.d.ts +27 -0
  105. package/{src/control/ZoomControl.ts → lib/js/control/ZoomControl.js} +25 -50
  106. package/lib/js/control/drawing/DrawingControl.d.ts +12 -0
  107. package/{src/control/drawing/DrawingControl.ts → lib/js/control/drawing/DrawingControl.js} +10 -20
  108. package/lib/js/control/drawing/LineStringDrawingScene.d.ts +15 -0
  109. package/{src/control/drawing/LineStringDrawingScene.ts → lib/js/control/drawing/LineStringDrawingScene.js} +28 -85
  110. package/lib/js/control/drawing/PolygonDrawingScene.d.ts +98 -0
  111. package/{src/control/drawing/PolygonDrawingScene.ts → lib/js/control/drawing/PolygonDrawingScene.js} +190 -388
  112. package/lib/js/control/elevationProfile/ElevationProfile.d.ts +61 -0
  113. package/{src/control/elevationProfile/ElevationProfile.ts → lib/js/control/elevationProfile/ElevationProfile.js} +56 -148
  114. package/lib/js/control/heightRuler/HeightRuler.d.ts +7 -0
  115. package/{src/control/heightRuler/HeightRuler.ts → lib/js/control/heightRuler/HeightRuler.js} +4 -9
  116. package/lib/js/control/heightRuler/HeightRulerScene.d.ts +35 -0
  117. package/{src/control/heightRuler/HeightRulerScene.ts → lib/js/control/heightRuler/HeightRulerScene.js} +47 -99
  118. package/lib/js/control/heightRuler/HeightRulerSwitcher.d.ts +6 -0
  119. package/{src/control/heightRuler/HeightRulerSwitcher.ts → lib/js/control/heightRuler/HeightRulerSwitcher.js} +2 -4
  120. package/{src/control/index.ts → lib/js/control/index.d.ts} +1 -18
  121. package/lib/js/control/index.js +28 -0
  122. package/lib/js/control/ruler/Ruler.d.ts +13 -0
  123. package/lib/js/control/ruler/Ruler.js +23 -0
  124. package/lib/js/control/ruler/RulerScene.d.ts +88 -0
  125. package/lib/js/control/ruler/RulerScene.js +324 -0
  126. package/lib/js/control/selection/Selection.d.ts +55 -0
  127. package/{src/control/selection/Selection.ts → lib/js/control/selection/Selection.js} +15 -34
  128. package/lib/js/control/selection/SelectionScene.d.ts +44 -0
  129. package/{src/control/selection/SelectionScene.ts → lib/js/control/selection/SelectionScene.js} +26 -113
  130. package/lib/js/control/timeline/TimelineControl.d.ts +18 -0
  131. package/{src/control/timeline/TimelineControl.ts → lib/js/control/timeline/TimelineControl.js} +13 -43
  132. package/lib/js/control/timeline/TimelineModel.d.ts +41 -0
  133. package/{src/control/timeline/TimelineModel.ts → lib/js/control/timeline/TimelineModel.js} +26 -74
  134. package/lib/js/control/timeline/TimelineView.d.ts +85 -0
  135. package/{src/control/timeline/TimelineView.ts → lib/js/control/timeline/TimelineView.js} +133 -281
  136. package/lib/js/control/timeline/timelineUtils.d.ts +12 -0
  137. package/lib/js/control/timeline/timelineUtils.js +112 -0
  138. package/lib/js/control/visibleExtent/Segment.d.ts +277 -0
  139. package/{src → lib/js}/control/visibleExtent/Segment.js +145 -698
  140. package/lib/js/control/visibleExtent/VisibleExtent.d.ts +5 -0
  141. package/{src → lib/js}/control/visibleExtent/VisibleExtent.js +1 -18
  142. package/lib/js/control/visibleExtent/drawnode.d.ts +7 -0
  143. package/{src/control/visibleExtent/drawnode.ts → lib/js/control/visibleExtent/drawnode.js} +1 -28
  144. package/lib/js/ellipsoid/Ellipsoid.d.ts +187 -0
  145. package/{src/ellipsoid/Ellipsoid.ts → lib/js/ellipsoid/Ellipsoid.js} +85 -267
  146. package/lib/js/ellipsoid/index.d.ts +3 -0
  147. package/lib/js/ellipsoid/index.js +3 -0
  148. package/lib/js/ellipsoid/wgs84.d.ts +6 -0
  149. package/{src/ellipsoid/wgs84.ts → lib/js/ellipsoid/wgs84.js} +1 -2
  150. package/lib/js/entity/BaseBillboard.d.ts +222 -0
  151. package/{src/entity/BaseBillboard.ts → lib/js/entity/BaseBillboard.js} +48 -165
  152. package/lib/js/entity/BaseBillboardHandler.d.ts +81 -0
  153. package/{src/entity/BaseBillboardHandler.ts → lib/js/entity/BaseBillboardHandler.js} +139 -365
  154. package/lib/js/entity/Billboard.d.ts +113 -0
  155. package/{src/entity/Billboard.ts → lib/js/entity/Billboard.js} +19 -83
  156. package/lib/js/entity/BillboardHandler.d.ts +15 -0
  157. package/{src/entity/BillboardHandler.ts → lib/js/entity/BillboardHandler.js} +27 -59
  158. package/lib/js/entity/Entity.d.ts +354 -0
  159. package/{src/entity/Entity.ts → lib/js/entity/Entity.js} +102 -374
  160. package/lib/js/entity/EntityCollection.d.ts +363 -0
  161. package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +57 -359
  162. package/lib/js/entity/GeoObject.d.ts +138 -0
  163. package/{src/entity/GeoObject.ts → lib/js/entity/GeoObject.js} +41 -146
  164. package/lib/js/entity/GeoObjectHandler.d.ts +99 -0
  165. package/{src/entity/GeoObjectHandler.ts → lib/js/entity/GeoObjectHandler.js} +162 -423
  166. package/lib/js/entity/Geometry.d.ts +111 -0
  167. package/lib/js/entity/Geometry.js +283 -0
  168. package/lib/js/entity/GeometryHandler.d.ts +84 -0
  169. package/{src/entity/GeometryHandler.ts → lib/js/entity/GeometryHandler.js} +162 -657
  170. package/lib/js/entity/Label.d.ts +207 -0
  171. package/{src/entity/Label.ts → lib/js/entity/Label.js} +63 -165
  172. package/lib/js/entity/LabelHandler.d.ts +65 -0
  173. package/{src/entity/LabelHandler.ts → lib/js/entity/LabelHandler.js} +175 -408
  174. package/lib/js/entity/LabelWorker.d.ts +15 -0
  175. package/{src/entity/LabelWorker.ts → lib/js/entity/LabelWorker.js} +24 -45
  176. package/lib/js/entity/PointCloud.d.ts +179 -0
  177. package/{src/entity/PointCloud.ts → lib/js/entity/PointCloud.js} +65 -265
  178. package/lib/js/entity/PointCloudHandler.d.ts +42 -0
  179. package/{src/entity/PointCloudHandler.ts → lib/js/entity/PointCloudHandler.js} +19 -62
  180. package/lib/js/entity/Polyline.d.ts +337 -0
  181. package/{src/entity/Polyline.ts → lib/js/entity/Polyline.js} +289 -924
  182. package/lib/js/entity/PolylineHandler.d.ts +22 -0
  183. package/{src/entity/PolylineHandler.ts → lib/js/entity/PolylineHandler.js} +12 -37
  184. package/lib/js/entity/Ray.d.ts +133 -0
  185. package/{src/entity/Ray.ts → lib/js/entity/Ray.js} +26 -146
  186. package/lib/js/entity/RayHandler.d.ts +70 -0
  187. package/{src/entity/RayHandler.ts → lib/js/entity/RayHandler.js} +102 -342
  188. package/lib/js/entity/Strip.d.ts +127 -0
  189. package/{src/entity/Strip.ts → lib/js/entity/Strip.js} +102 -372
  190. package/lib/js/entity/StripHandler.d.ts +42 -0
  191. package/{src/entity/StripHandler.ts → lib/js/entity/StripHandler.js} +22 -74
  192. package/{src/entity/index.ts → lib/js/entity/index.d.ts} +1 -2
  193. package/lib/js/entity/index.js +11 -0
  194. package/lib/js/index.d.ts +33 -0
  195. package/lib/js/index.js +33 -0
  196. package/lib/js/input/KeyboardHandler.d.ts +33 -0
  197. package/{src/input/KeyboardHandler.ts → lib/js/input/KeyboardHandler.js} +45 -84
  198. package/lib/js/input/MouseHandler.d.ts +16 -0
  199. package/{src/input/MouseHandler.ts → lib/js/input/MouseHandler.js} +12 -36
  200. package/lib/js/input/TouchHandler.d.ts +11 -0
  201. package/{src/input/TouchHandler.ts → lib/js/input/TouchHandler.js} +11 -23
  202. package/lib/js/input/input.d.ts +3 -0
  203. package/{src/input/input.ts → lib/js/input/input.js} +1 -1
  204. package/lib/js/layer/BaseGeoImage.d.ts +145 -0
  205. package/{src/layer/BaseGeoImage.ts → lib/js/layer/BaseGeoImage.js} +70 -235
  206. package/lib/js/layer/CanvasTiles.d.ts +103 -0
  207. package/{src/layer/CanvasTiles.ts → lib/js/layer/CanvasTiles.js} +54 -146
  208. package/lib/js/layer/GeoImage.d.ts +61 -0
  209. package/{src/layer/GeoImage.ts → lib/js/layer/GeoImage.js} +24 -54
  210. package/lib/js/layer/GeoTexture2d.d.ts +17 -0
  211. package/lib/js/layer/GeoTexture2d.js +37 -0
  212. package/lib/js/layer/GeoVideo.d.ts +68 -0
  213. package/{src/layer/GeoVideo.ts → lib/js/layer/GeoVideo.js} +31 -61
  214. package/lib/js/layer/KML.d.ts +72 -0
  215. package/{src/layer/KML.ts → lib/js/layer/KML.js} +94 -138
  216. package/lib/js/layer/Layer.d.ts +401 -0
  217. package/{src/layer/Layer.ts → lib/js/layer/Layer.js} +92 -443
  218. package/lib/js/layer/Material.d.ts +34 -0
  219. package/{src/layer/Material.ts → lib/js/layer/Material.js} +9 -43
  220. package/lib/js/layer/Vector.d.ts +243 -0
  221. package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +155 -426
  222. package/lib/js/layer/WMS.d.ts +75 -0
  223. package/{src/layer/WMS.ts → lib/js/layer/WMS.js} +18 -100
  224. package/lib/js/layer/XYZ.d.ts +149 -0
  225. package/{src/layer/XYZ.ts → lib/js/layer/XYZ.js} +71 -171
  226. package/lib/js/layer/index.d.ts +11 -0
  227. package/lib/js/layer/index.js +11 -0
  228. package/lib/js/light/LightSource.d.ts +174 -0
  229. package/{src/light/LightSource.ts → lib/js/light/LightSource.js} +22 -131
  230. package/lib/js/math/Line2.d.ts +11 -0
  231. package/{src/math/Line2.ts → lib/js/math/Line2.js} +5 -15
  232. package/lib/js/math/Line3.d.ts +28 -0
  233. package/lib/js/math/Line3.js +85 -0
  234. package/lib/js/math/Mat3.d.ts +77 -0
  235. package/{src/math/Mat3.ts → lib/js/math/Mat3.js} +22 -51
  236. package/lib/js/math/Mat4.d.ts +195 -0
  237. package/{src/math/Mat4.ts → lib/js/math/Mat4.js} +53 -219
  238. package/lib/js/math/Plane.d.ts +20 -0
  239. package/{src/math/Plane.ts → lib/js/math/Plane.js} +26 -40
  240. package/lib/js/math/Quat.d.ts +373 -0
  241. package/{src/math/Quat.ts → lib/js/math/Quat.js} +106 -319
  242. package/lib/js/math/Ray.d.ts +76 -0
  243. package/{src/math/Ray.ts → lib/js/math/Ray.js} +21 -66
  244. package/lib/js/math/Vec2.d.ts +310 -0
  245. package/{src/math/Vec2.ts → lib/js/math/Vec2.js} +55 -121
  246. package/lib/js/math/Vec3.d.ts +472 -0
  247. package/{src/math/Vec3.ts → lib/js/math/Vec3.js} +103 -236
  248. package/lib/js/math/Vec4.d.ts +163 -0
  249. package/{src/math/Vec4.ts → lib/js/math/Vec4.js} +23 -79
  250. package/lib/js/math/coder.d.ts +51 -0
  251. package/{src/math/coder.ts → lib/js/math/coder.js} +14 -20
  252. package/lib/js/math/index.d.ts +11 -0
  253. package/lib/js/math/index.js +11 -0
  254. package/lib/js/math.d.ts +266 -0
  255. package/{src/math.ts → lib/js/math.js} +37 -85
  256. package/lib/js/mercator.d.ts +92 -0
  257. package/{src/mercator.ts → lib/js/mercator.js} +13 -37
  258. package/lib/js/proj/EPSG3857.d.ts +9 -0
  259. package/{src/proj/EPSG3857.ts → lib/js/proj/EPSG3857.js} +0 -2
  260. package/lib/js/proj/EPSG4326.d.ts +9 -0
  261. package/{src/proj/EPSG4326.ts → lib/js/proj/EPSG4326.js} +0 -2
  262. package/lib/js/proj/Proj.d.ts +43 -0
  263. package/{src/proj/Proj.ts → lib/js/proj/Proj.js} +4 -29
  264. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.d.ts +6 -0
  265. package/lib/js/quadTree/EPSG4326QuadTreeStrategy.js +17 -0
  266. package/lib/js/quadTree/EarthQuadTreeStrategy.d.ts +6 -0
  267. package/lib/js/quadTree/EarthQuadTreeStrategy.js +19 -0
  268. package/lib/js/quadTree/EntityCollectionNode.d.ts +54 -0
  269. package/{src/quadTree/EntityCollectionNode.ts → lib/js/quadTree/EntityCollectionNode.js} +83 -150
  270. package/lib/js/quadTree/MarsQuadTreeStrategy.d.ts +6 -0
  271. package/lib/js/quadTree/MarsQuadTreeStrategy.js +17 -0
  272. package/lib/js/quadTree/Node.d.ts +61 -0
  273. package/{src/quadTree/Node.ts → lib/js/quadTree/Node.js} +140 -357
  274. package/lib/js/quadTree/QuadTreeStrategy.d.ts +25 -0
  275. package/{src/quadTree/QuadTreeStrategy.ts → lib/js/quadTree/QuadTreeStrategy.js} +13 -44
  276. package/lib/js/quadTree/Wgs84QuadTreeStrategy.d.ts +6 -0
  277. package/lib/js/quadTree/Wgs84QuadTreeStrategy.js +15 -0
  278. package/lib/js/quadTree/index.d.ts +12 -0
  279. package/lib/js/quadTree/index.js +12 -0
  280. package/lib/js/quadTree/quadTree.d.ts +40 -0
  281. package/{src/quadTree/quadTree.ts → lib/js/quadTree/quadTree.js} +0 -9
  282. package/lib/js/renderer/Renderer.d.ts +320 -0
  283. package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +265 -622
  284. package/lib/js/renderer/RendererEvents.d.ts +239 -0
  285. package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +158 -472
  286. package/lib/js/scene/Axes.d.ts +12 -0
  287. package/lib/js/scene/Axes.js +59 -0
  288. package/lib/js/scene/BaseNode.d.ts +61 -0
  289. package/{src/scene/BaseNode.ts → lib/js/scene/BaseNode.js} +11 -57
  290. package/lib/js/scene/Planet.d.ts +623 -0
  291. package/{src/scene/Planet.ts → lib/js/scene/Planet.js} +257 -937
  292. package/lib/js/scene/RenderNode.d.ts +150 -0
  293. package/{src/scene/RenderNode.ts → lib/js/scene/RenderNode.js} +33 -138
  294. package/lib/js/scene/SkyBox.d.ts +13 -0
  295. package/{src/scene/SkyBox.ts → lib/js/scene/SkyBox.js} +16 -37
  296. package/{src/scene/index.ts → lib/js/scene/index.d.ts} +0 -1
  297. package/lib/js/scene/index.js +5 -0
  298. package/lib/js/segment/Segment.d.ts +278 -0
  299. package/{src/segment/Segment.ts → lib/js/segment/Segment.js} +242 -913
  300. package/lib/js/segment/SegmentLonLat.d.ts +48 -0
  301. package/{src/segment/SegmentLonLat.ts → lib/js/segment/SegmentLonLat.js} +58 -132
  302. package/lib/js/segment/SegmentLonLatWgs84.d.ts +10 -0
  303. package/lib/js/segment/SegmentLonLatWgs84.js +23 -0
  304. package/lib/js/segment/Slice.d.ts +13 -0
  305. package/{src/segment/Slice.ts → lib/js/segment/Slice.js} +4 -22
  306. package/lib/js/segment/segmentHelper.d.ts +18 -0
  307. package/{src/segment/segmentHelper.ts → lib/js/segment/segmentHelper.js} +30 -88
  308. package/lib/js/shaders/atmos.d.ts +4 -0
  309. package/{src/shaders/atmos.ts → lib/js/shaders/atmos.js} +8 -26
  310. package/lib/js/shaders/billboard.d.ts +3 -0
  311. package/{src/shaders/billboard.ts → lib/js/shaders/billboard.js} +9 -18
  312. package/lib/js/shaders/bloom.d.ts +2 -0
  313. package/{src/shaders/bloom.ts → lib/js/shaders/bloom.js} +5 -8
  314. package/lib/js/shaders/blur.d.ts +3 -0
  315. package/{src/shaders/blur.ts → lib/js/shaders/blur.js} +11 -19
  316. package/lib/js/shaders/depth.d.ts +2 -0
  317. package/{src/shaders/depth.ts → lib/js/shaders/depth.js} +3 -6
  318. package/lib/js/shaders/drawnode.d.ts +8 -0
  319. package/{src/shaders/drawnode.ts → lib/js/shaders/drawnode.js} +23 -75
  320. package/lib/js/shaders/geoObject.d.ts +3 -0
  321. package/{src/shaders/geoObject.ts → lib/js/shaders/geoObject.js} +51 -63
  322. package/lib/js/shaders/label.d.ts +4 -0
  323. package/{src/shaders/label.ts → lib/js/shaders/label.js} +12 -25
  324. package/lib/js/shaders/lumFilter.d.ts +2 -0
  325. package/{src/shaders/lumFilter.ts → lib/js/shaders/lumFilter.js} +4 -7
  326. package/lib/js/shaders/pickingMask.d.ts +2 -0
  327. package/{src/shaders/pickingMask.ts → lib/js/shaders/pickingMask.js} +5 -8
  328. package/lib/js/shaders/pointCloud.d.ts +2 -0
  329. package/{src/shaders/pointCloud.ts → lib/js/shaders/pointCloud.js} +4 -7
  330. package/lib/js/shaders/polyline.d.ts +3 -0
  331. package/{src/shaders/polyline.ts → lib/js/shaders/polyline.js} +7 -22
  332. package/lib/js/shaders/ray.d.ts +2 -0
  333. package/{src/shaders/ray.ts → lib/js/shaders/ray.js} +4 -7
  334. package/lib/js/shaders/screenFrame.d.ts +2 -0
  335. package/{src/shaders/screenFrame.ts → lib/js/shaders/screenFrame.js} +5 -8
  336. package/lib/js/shaders/skybox.d.ts +2 -0
  337. package/{src/shaders/skybox.ts → lib/js/shaders/skybox.js} +10 -13
  338. package/lib/js/shaders/toneMapping.d.ts +2 -0
  339. package/{src/shaders/toneMapping.ts → lib/js/shaders/toneMapping.js} +5 -8
  340. package/lib/js/shaders/utils.d.ts +1 -0
  341. package/{src/shaders/utils.ts → lib/js/shaders/utils.js} +1 -1
  342. package/lib/js/terrain/BilTerrain.d.ts +18 -0
  343. package/{src/terrain/BilTerrain.ts → lib/js/terrain/BilTerrain.js} +21 -118
  344. package/lib/js/terrain/EmptyTerrain.d.ts +106 -0
  345. package/{src/terrain/EmptyTerrain.ts → lib/js/terrain/EmptyTerrain.js} +20 -144
  346. package/lib/js/terrain/Geoid.d.ts +33 -0
  347. package/lib/js/terrain/Geoid.js +191 -0
  348. package/lib/js/terrain/GlobusTerrain.d.ts +134 -0
  349. package/{src/terrain/GlobusTerrain.ts → lib/js/terrain/GlobusTerrain.js} +84 -241
  350. package/lib/js/terrain/MapboxTerrain.d.ts +21 -0
  351. package/{src/terrain/MapboxTerrain.ts → lib/js/terrain/MapboxTerrain.js} +46 -215
  352. package/{src/terrain/index.ts → lib/js/terrain/index.d.ts} +0 -1
  353. package/lib/js/terrain/index.js +5 -0
  354. package/lib/js/ui/Button.d.ts +32 -0
  355. package/lib/js/ui/Button.js +78 -0
  356. package/lib/js/ui/ButtonGroup.d.ts +16 -0
  357. package/lib/js/ui/ButtonGroup.js +41 -0
  358. package/lib/js/ui/Dialog.d.ts +55 -0
  359. package/lib/js/ui/Dialog.js +173 -0
  360. package/lib/js/ui/Slider.d.ts +38 -0
  361. package/lib/js/ui/Slider.js +129 -0
  362. package/lib/js/ui/ToggleButton.d.ts +20 -0
  363. package/lib/js/ui/ToggleButton.js +42 -0
  364. package/lib/js/ui/View.d.ts +37 -0
  365. package/{src/ui/View.ts → lib/js/ui/View.js} +31 -77
  366. package/lib/js/ui/icons.d.ts +1 -0
  367. package/{src/ui/icons.ts → lib/js/ui/icons.js} +1 -1
  368. package/lib/js/utils/BaseWorker.d.ts +14 -0
  369. package/{src/utils/BaseWorker.ts → lib/js/utils/BaseWorker.js} +15 -28
  370. package/lib/js/utils/FontAtlas.d.ts +82 -0
  371. package/{src/utils/FontAtlas.ts → lib/js/utils/FontAtlas.js} +46 -182
  372. package/lib/js/utils/GeoImageCreator.d.ts +34 -0
  373. package/{src/utils/GeoImageCreator.ts → lib/js/utils/GeoImageCreator.js} +34 -91
  374. package/lib/js/utils/ImagesCacheManager.d.ts +22 -0
  375. package/{src/utils/ImagesCacheManager.ts → lib/js/utils/ImagesCacheManager.js} +16 -38
  376. package/lib/js/utils/Loader.d.ts +63 -0
  377. package/lib/js/utils/Loader.js +156 -0
  378. package/lib/js/utils/NormalMapCreator.d.ts +52 -0
  379. package/{src/utils/NormalMapCreator.ts → lib/js/utils/NormalMapCreator.js} +64 -195
  380. package/lib/js/utils/PlainSegmentWorker.d.ts +24 -0
  381. package/{src/utils/PlainSegmentWorker.ts → lib/js/utils/PlainSegmentWorker.js} +24 -56
  382. package/lib/js/utils/TerrainWorker.d.ts +28 -0
  383. package/{src/utils/TerrainWorker.ts → lib/js/utils/TerrainWorker.js} +19 -56
  384. package/lib/js/utils/TextureAtlas.d.ts +113 -0
  385. package/{src/utils/TextureAtlas.ts → lib/js/utils/TextureAtlas.js} +40 -131
  386. package/lib/js/utils/VectorTileCreator.d.ts +18 -0
  387. package/{src/utils/VectorTileCreator.ts → lib/js/utils/VectorTileCreator.js} +61 -147
  388. package/lib/js/utils/colorTable.d.ts +3 -0
  389. package/{src/utils/colorTable.ts → lib/js/utils/colorTable.js} +2 -2
  390. package/lib/js/utils/earcut.d.ts +7 -0
  391. package/{src/utils/earcut.ts → lib/js/utils/earcut.js} +95 -223
  392. package/lib/js/utils/objParser.d.ts +24 -0
  393. package/{src/utils/objParser.ts → lib/js/utils/objParser.js} +38 -93
  394. package/lib/js/utils/shared.d.ts +267 -0
  395. package/{src/utils/shared.ts → lib/js/utils/shared.js} +185 -342
  396. package/lib/js/utils/units.d.ts +16 -0
  397. package/lib/js/utils/units.js +61 -0
  398. package/lib/js/webgl/BaseFramebuffer.d.ts +53 -0
  399. package/{src/webgl/BaseFramebuffer.ts → lib/js/webgl/BaseFramebuffer.js} +22 -59
  400. package/lib/js/webgl/Framebuffer.d.ts +69 -0
  401. package/{src/webgl/Framebuffer.ts → lib/js/webgl/Framebuffer.js} +30 -87
  402. package/lib/js/webgl/Handler.d.ts +473 -0
  403. package/{src/webgl/Handler.ts → lib/js/webgl/Handler.js} +175 -586
  404. package/lib/js/webgl/Multisample.d.ts +27 -0
  405. package/lib/js/webgl/Multisample.js +77 -0
  406. package/lib/js/webgl/Program.d.ts +159 -0
  407. package/{src/webgl/Program.ts → lib/js/webgl/Program.js} +73 -210
  408. package/lib/js/webgl/ProgramController.d.ts +86 -0
  409. package/{src/webgl/ProgramController.ts → lib/js/webgl/ProgramController.js} +11 -45
  410. package/{src/webgl/index.ts → lib/js/webgl/index.d.ts} +1 -8
  411. package/lib/js/webgl/index.js +6 -0
  412. package/lib/js/webgl/types.d.ts +9 -0
  413. package/{src/webgl/types.ts → lib/js/webgl/types.js} +5 -8
  414. package/lib/js/webgl/variableHandlers.d.ts +22 -0
  415. package/lib/js/webgl/variableHandlers.js +78 -0
  416. package/package.json +23 -34
  417. package/dist/@openglobus/og.esm.js +0 -2
  418. package/dist/@openglobus/og.esm.js.map +0 -1
  419. package/dist/@openglobus/og.umd.js +0 -2
  420. package/dist/@openglobus/og.umd.js.map +0 -1
  421. package/src/Deferred.ts +0 -17
  422. package/src/control/MouseWheelZoomControl.ts +0 -269
  423. package/src/control/ScaleControl.ts +0 -131
  424. package/src/control/SegmentBoundVisualization.ts +0 -50
  425. package/src/control/ShowFps.ts +0 -28
  426. package/src/control/ToggleWireframe.ts +0 -35
  427. package/src/control/ruler/Ruler.ts +0 -35
  428. package/src/control/ruler/RulerScene.ts +0 -437
  429. package/src/control/timeline/timelineUtils.ts +0 -133
  430. package/src/ellipsoid/index.ts +0 -4
  431. package/src/entity/Geometry.ts +0 -486
  432. package/src/index.ts +0 -173
  433. package/src/layer/GeoTexture2d.ts +0 -56
  434. package/src/layer/index.ts +0 -12
  435. package/src/math/Line3.ts +0 -162
  436. package/src/math/index.ts +0 -26
  437. package/src/quadTree/EPSG4326QuadTreeStrategy.ts +0 -24
  438. package/src/quadTree/EarthQuadTreeStrategy.ts +0 -28
  439. package/src/quadTree/MarsQuadTreeStrategy.ts +0 -25
  440. package/src/quadTree/Wgs84QuadTreeStrategy.ts +0 -22
  441. package/src/quadTree/index.ts +0 -14
  442. package/src/scene/Axes.ts +0 -78
  443. package/src/segment/SegmentLonLatWgs84.ts +0 -33
  444. package/src/terrain/Geoid.ts +0 -273
  445. package/src/ui/Button.ts +0 -121
  446. package/src/ui/ButtonGroup.ts +0 -63
  447. package/src/ui/Dialog.ts +0 -244
  448. package/src/ui/Slider.ts +0 -188
  449. package/src/ui/ToggleButton.ts +0 -68
  450. package/src/utils/Loader.ts +0 -247
  451. package/src/utils/units.ts +0 -78
  452. package/src/webgl/Multisample.ts +0 -153
  453. package/src/webgl/variableHandlers.ts +0 -114
  454. /package/{dist → lib}/@openglobus/og.css +0 -0
  455. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.json +0 -0
  456. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.cfg +0 -0
  457. /package/{dist → lib}/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  458. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.json +0 -0
  459. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.cfg +0 -0
  460. /package/{dist → lib}/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  461. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.json +0 -0
  462. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.cfg +0 -0
  463. /package/{dist → lib}/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  464. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.json +0 -0
  465. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +0 -0
  466. /package/{dist → lib}/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  467. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.json +0 -0
  468. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +0 -0
  469. /package/{dist → lib}/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  470. /package/{dist → lib}/@openglobus/res/fonts/arial.js +0 -0
  471. /package/{dist → lib}/@openglobus/res/fonts/arial.json +0 -0
  472. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.cfg +0 -0
  473. /package/{dist → lib}/@openglobus/res/fonts/arial.ttf.png +0 -0
  474. /package/{dist → lib}/@openglobus/res/night-4326.png +0 -0
  475. /package/{dist → lib}/@openglobus/res/night.png +0 -0
  476. /package/{dist → lib}/@openglobus/res/spec.png +0 -0
@@ -1,38 +1,23 @@
1
1
  import * as math from "../math";
2
- import {Events, EventsHandler, createEvents} from "../Events";
3
- import {Frustum} from "./Frustum";
4
- import {Mat3, NumberArray9} from "../math/Mat3";
5
- import {Mat4, NumberArray16} from "../math/Mat4";
6
- import {Renderer} from "../renderer/Renderer";
7
- import {Vec2, NumberArray2} from "../math/Vec2";
8
- import {Vec3} from "../math/Vec3";
9
- import {Vec4} from "../math/Vec4";
10
-
11
- type CameraEvents = ["viewchange", "moveend"];
12
-
13
- const EVENT_NAMES: CameraEvents = [
2
+ import { createEvents } from "../Events";
3
+ import { Frustum } from "./Frustum";
4
+ import { Mat3 } from "../math/Mat3";
5
+ import { Mat4 } from "../math/Mat4";
6
+ import { Vec2 } from "../math/Vec2";
7
+ import { Vec3 } from "../math/Vec3";
8
+ import { Vec4 } from "../math/Vec4";
9
+ const EVENT_NAMES = [
14
10
  /**
15
11
  * When camera has been updated.
16
12
  * @event og.Camera#viewchange
17
13
  */
18
14
  "viewchange",
19
-
20
15
  /**
21
16
  * Camera is stopped.
22
17
  * @event og.Camera#moveend
23
18
  */
24
19
  "moveend"
25
20
  ];
26
-
27
- export interface ICameraParams {
28
- eye?: Vec3;
29
- aspect?: number;
30
- viewAngle?: number;
31
- look?: Vec3;
32
- up?: Vec3;
33
- frustums?: NumberArray2[]
34
- }
35
-
36
21
  /**
37
22
  * Camera class.
38
23
  * @class
@@ -50,232 +35,87 @@ export interface ICameraParams {
50
35
  * @fires EventsHandler<CameraEvents>#moveend
51
36
  */
52
37
  class Camera {
53
-
54
- /**
55
- * Assigned renderer
56
- * @public
57
- * @type {Renderer}
58
- */
59
- public renderer: Renderer | null;
60
-
61
- /**
62
- * Camera events handler
63
- * @public
64
- * @type {Events}
65
- */
66
- public events: EventsHandler<CameraEvents>;
67
-
68
- /**
69
- * Camera position.
70
- * @public
71
- * @type {Vec3}
72
- */
73
- public eye: Vec3;
74
-
75
- /**
76
- * Camera RTE high position
77
- * @public
78
- * @type {Float32Array}
79
- */
80
- public eyeHigh: Float32Array;
81
-
82
- /**
83
- * Camera RTE low position
84
- * @public
85
- * @type {Float32Array}
86
- */
87
- public eyeLow: Float32Array;
88
-
89
- /**
90
- * Aspect ratio.
91
- * @protected
92
- * @type {Number}
93
- */
94
- protected _aspect: number;
95
-
96
- /**
97
- * Camera view angle in degrees
98
- * @protected
99
- * @type {Number}
100
- */
101
- protected _viewAngle: number;
102
-
103
- /**
104
- * Camera view matrix.
105
- * @protected
106
- * @type {Mat4}
107
- */
108
- protected _viewMatrix: Mat4;
109
-
110
- /**
111
- * Camera normal matrix.
112
- * @protected
113
- * @type {Mat3}
114
- */
115
- protected _normalMatrix: Mat3;
116
-
117
- /**
118
- * Camera right vector.
119
- * @public
120
- * @type {Vec3}
121
- */
122
- public _r: Vec3;
123
-
124
- /**
125
- * Camera up vector.
126
- * @public
127
- * @type {Vec3}
128
- */
129
- public _u: Vec3;
130
-
131
- /**
132
- * Camera backward vector.
133
- * @public
134
- * @type {Vec3}
135
- */
136
- public _b: Vec3;
137
-
138
- protected _pr: Vec3;
139
- protected _pu: Vec3;
140
- protected _pb: Vec3;
141
- protected _peye: Vec3;
142
-
143
- public isMoving: boolean;
144
-
145
- protected _tanViewAngle_hrad: number;
146
-
147
- public _tanViewAngle_hradOneByHeight: number;
148
-
149
- protected _projSizeConst: number;
150
-
151
- public frustums: Frustum[];
152
-
153
- public frustumColors: number[];
154
-
155
- public FARTHEST_FRUSTUM_INDEX: number;
156
-
157
- public currentFrustumIndex: number;
158
-
159
- public isFirstPass: boolean;
160
-
161
- constructor(renderer: Renderer | null, options: ICameraParams = {}) {
38
+ constructor(renderer, options = {}) {
162
39
  this.renderer = renderer;
163
-
164
- this.events = createEvents<CameraEvents>(EVENT_NAMES, this);
165
-
40
+ this.events = createEvents(EVENT_NAMES, this);
166
41
  this.eye = options.eye || new Vec3();
167
-
168
42
  this.eyeHigh = new Float32Array(3);
169
-
170
43
  this.eyeLow = new Float32Array(3);
171
-
172
44
  this._aspect = options.aspect || 1.0;
173
-
174
45
  this._viewAngle = options.viewAngle || 47.0;
175
-
176
46
  this._viewMatrix = new Mat4();
177
-
178
47
  this._normalMatrix = new Mat3();
179
-
180
48
  this._r = new Vec3(1.0, 0.0, 0.0);
181
-
182
49
  this._u = new Vec3(0.0, 1.0, 0.0);
183
-
184
50
  this._b = new Vec3(0.0, 0.0, 1.0);
185
-
186
51
  // Previous frame values
187
52
  this._pr = this._r.clone();
188
53
  this._pu = this._u.clone();
189
54
  this._pb = this._b.clone();
190
55
  this._peye = this.eye.clone();
191
56
  this.isMoving = false;
192
-
193
57
  this._tanViewAngle_hrad = 0.0;
194
58
  this._tanViewAngle_hradOneByHeight = 0.0;
195
-
196
59
  this.frustums = [];
197
-
198
60
  this.frustumColors = [];
199
-
200
61
  if (options.frustums) {
201
62
  for (let i = 0, len = options.frustums.length; i < len; i++) {
202
63
  let fi = options.frustums[i];
203
-
204
64
  let fr = new Frustum({
205
65
  fov: this._viewAngle,
206
66
  aspect: this._aspect,
207
67
  near: fi[0],
208
68
  far: fi[1]
209
69
  });
210
-
211
70
  fr.cameraFrustumIndex = this.frustums.length;
212
71
  this.frustums.push(fr);
213
72
  //this.frustumColors.push.apply(this.frustumColors, fr._pickingColorU);
214
73
  this.frustumColors.push(fr._pickingColorU[0], fr._pickingColorU[1], fr._pickingColorU[2]);
215
74
  }
216
- } else {
217
- let near = 1.0,
218
- far = 10000.0;
219
-
75
+ }
76
+ else {
77
+ let near = 1.0, far = 10000.0;
220
78
  let fr = new Frustum({
221
79
  fov: this._viewAngle,
222
80
  aspect: this._aspect,
223
81
  near: near,
224
82
  far: far
225
83
  });
226
-
227
84
  fr.cameraFrustumIndex = this.frustums.length;
228
85
  this.frustums.push(fr);
229
86
  //this.frustumColors.push.apply(this.frustumColors, fr._pickingColorU);
230
87
  this.frustumColors.push(fr._pickingColorU[0], fr._pickingColorU[1], fr._pickingColorU[2]);
231
88
  }
232
-
233
89
  this.FARTHEST_FRUSTUM_INDEX = this.frustums.length - 1;
234
-
235
90
  this.currentFrustumIndex = 0;
236
-
237
91
  this.isFirstPass = false;
238
-
239
92
  this._projSizeConst = 0;
240
-
241
- this.set(
242
- options.eye || new Vec3(0.0, 0.0, 1.0),
243
- options.look || new Vec3(),
244
- options.up || new Vec3(0.0, 1.0, 0.0)
245
- );
246
- }
247
-
248
- public checkMoveEnd() {
249
- let r = this._r,
250
- u = this._u,
251
- b = this._b,
252
- eye = this.eye;
253
-
93
+ this.set(options.eye || new Vec3(0.0, 0.0, 1.0), options.look || new Vec3(), options.up || new Vec3(0.0, 1.0, 0.0));
94
+ }
95
+ checkMoveEnd() {
96
+ let r = this._r, u = this._u, b = this._b, eye = this.eye;
254
97
  if (this._peye.equal(eye) && this._pr.equal(r) && this._pu.equal(u) && this._pb.equal(b)) {
255
98
  if (this.isMoving) {
256
99
  this.events.dispatch(this.events.moveend, this);
257
100
  }
258
101
  this.isMoving = false;
259
- } else {
102
+ }
103
+ else {
260
104
  this.isMoving = true;
261
105
  }
262
-
263
106
  this._pr.copy(r);
264
107
  this._pu.copy(u);
265
108
  this._pb.copy(b);
266
109
  this._peye.copy(eye);
267
110
  }
268
-
269
- public bindRenderer(renderer: Renderer) {
111
+ bindRenderer(renderer) {
270
112
  this.renderer = renderer;
271
113
  for (let i = 0; i < this.frustums.length; i++) {
272
- this.renderer.assignPickingColor<Frustum>(this.frustums[i]);
114
+ this.renderer.assignPickingColor(this.frustums[i]);
273
115
  }
274
116
  this._aspect = this.renderer.handler.getClientAspect();
275
-
276
117
  this._setProj(this._viewAngle, this._aspect);
277
118
  }
278
-
279
119
  /**
280
120
  * Camera initialization.
281
121
  * @public
@@ -287,146 +127,112 @@ class Camera {
287
127
  * @param {Vec3} [options.look] - Camera look position. Default (0,0,0)
288
128
  * @param {Vec3} [options.up] - Camera eye position. Default (0,1,0)
289
129
  */
290
- protected _init(options: ICameraParams) {
291
-
130
+ _init(options) {
292
131
  this._setProj(this._viewAngle, this._aspect);
293
-
294
- this.set(
295
- options.eye || new Vec3(0.0, 0.0, 1.0),
296
- options.look || new Vec3(),
297
- options.up || new Vec3(0.0, 1.0, 0.0)
298
- );
299
- }
300
-
301
- public getUp(): Vec3 {
132
+ this.set(options.eye || new Vec3(0.0, 0.0, 1.0), options.look || new Vec3(), options.up || new Vec3(0.0, 1.0, 0.0));
133
+ }
134
+ getUp() {
302
135
  return this._u.clone();
303
136
  }
304
-
305
- public getDown(): Vec3 {
137
+ getDown() {
306
138
  return this._u.negateTo();
307
139
  }
308
-
309
- public getRight(): Vec3 {
140
+ getRight() {
310
141
  return this._r.clone();
311
142
  }
312
-
313
- public getLeft(): Vec3 {
143
+ getLeft() {
314
144
  return this._r.negateTo();
315
145
  }
316
-
317
- public getForward(): Vec3 {
146
+ getForward() {
318
147
  return this._b.negateTo();
319
148
  }
320
-
321
- public getBackward(): Vec3 {
149
+ getBackward() {
322
150
  return this._b.clone();
323
151
  }
324
-
325
152
  /**
326
153
  * Updates camera view space
327
154
  * @public
328
155
  * @virtual
329
156
  */
330
- public update() {
331
- let u = this._r,
332
- v = this._u,
333
- n = this._b,
334
- eye = this.eye;
335
-
157
+ update() {
158
+ let u = this._r, v = this._u, n = this._b, eye = this.eye;
336
159
  Vec3.doubleToTwoFloat32Array(eye, this.eyeHigh, this.eyeLow);
337
-
338
160
  this._viewMatrix.set([
339
161
  u.x, v.x, n.x, 0.0,
340
162
  u.y, v.y, n.y, 0.0,
341
163
  u.z, v.z, n.z, 0.0,
342
164
  -eye.dot(u), -eye.dot(v), -eye.dot(n), 1.0
343
165
  ]);
344
-
345
166
  // do not clean up, someday it will be using
346
167
  //this._normalMatrix = this._viewMatrix.toMatrix3(); // this._viewMatrix.toInverseMatrix3().transposeTo();
347
-
348
168
  for (let i = 0, len = this.frustums.length; i < len; i++) {
349
169
  this.frustums[i].setViewMatrix(this._viewMatrix);
350
170
  }
351
-
352
171
  this.events.dispatch(this.events.viewchange, this);
353
172
  }
354
-
355
173
  /**
356
174
  * Refresh camera matrices
357
175
  * @public
358
176
  */
359
- public refresh() {
177
+ refresh() {
360
178
  this._setProj(this._viewAngle, this._aspect);
361
179
  this.update();
362
180
  }
363
-
364
181
  /**
365
182
  * Sets aspect ratio
366
183
  * @public
367
184
  * @param {Number} aspect - Camera aspect ratio
368
185
  */
369
- public setAspectRatio(aspect: number) {
186
+ setAspectRatio(aspect) {
370
187
  this._aspect = aspect;
371
188
  this.refresh();
372
189
  }
373
-
374
190
  /**
375
191
  * Returns aspect ratio
376
192
  * @public
377
193
  * @returns {number} - Aspect ratio
378
194
  */
379
- public getAspectRatio(): number {
195
+ getAspectRatio() {
380
196
  return this._aspect;
381
197
  }
382
-
383
198
  /**
384
199
  * Sets up camera projection
385
200
  * @public
386
201
  * @param {number} angle - Camera view angle
387
202
  * @param {number} aspect - Screen aspect ratio
388
203
  */
389
- protected _setProj(angle: number, aspect: number) {
204
+ _setProj(angle, aspect) {
390
205
  this._viewAngle = angle;
391
206
  this._aspect = aspect;
392
207
  this._tanViewAngle_hrad = Math.tan(angle * math.RADIANS_HALF);
393
208
  this._tanViewAngle_hradOneByHeight =
394
- this._tanViewAngle_hrad * this.renderer!.handler._oneByHeight;
395
- let c = this.renderer!.handler.canvas!;
209
+ this._tanViewAngle_hrad * this.renderer.handler._oneByHeight;
210
+ let c = this.renderer.handler.canvas;
396
211
  this._projSizeConst = Math.min(c.clientWidth < 512 ? 512 : c.clientWidth, c.clientHeight < 512 ? 512 : c.clientHeight) / (angle * math.RADIANS);
397
212
  for (let i = 0, len = this.frustums.length; i < len; i++) {
398
- this.frustums[i].setProjectionMatrix(
399
- angle,
400
- aspect,
401
- this.frustums[i].near,
402
- this.frustums[i].far
403
- );
213
+ this.frustums[i].setProjectionMatrix(angle, aspect, this.frustums[i].near, this.frustums[i].far);
404
214
  }
405
215
  }
406
-
407
216
  /**
408
217
  * Sets camera view angle in degrees
409
218
  * @public
410
219
  * @param {number} angle - View angle
411
220
  */
412
- public setViewAngle(angle: number) {
221
+ setViewAngle(angle) {
413
222
  this._viewAngle = angle;
414
223
  this.refresh();
415
224
  }
416
-
417
225
  /**
418
226
  * Gets camera view angle in degrees
419
227
  * @public
420
228
  * @returns {number} angle -
421
229
  */
422
- public getViewAngle(): number {
230
+ getViewAngle() {
423
231
  return this._viewAngle;
424
232
  }
425
-
426
- public get viewAngle(): number {
233
+ get viewAngle() {
427
234
  return this._viewAngle;
428
235
  }
429
-
430
236
  /**
431
237
  * Sets camera to eye position
432
238
  * @public
@@ -435,7 +241,7 @@ class Camera {
435
241
  * @param {Vec3} up - Camera up vector
436
242
  * @returns {Camera} - This camera
437
243
  */
438
- public set(eye: Vec3, look?: Vec3, up?: Vec3): this {
244
+ set(eye, look, up) {
439
245
  this.eye.x = eye.x;
440
246
  this.eye.y = eye.y;
441
247
  this.eye.z = eye.z;
@@ -450,21 +256,19 @@ class Camera {
450
256
  this._u.copy(this._b.cross(this._r));
451
257
  return this;
452
258
  }
453
-
454
259
  /**
455
260
  * Sets camera look point
456
261
  * @public
457
262
  * @param {Vec3} look - Look point
458
263
  * @param {Vec3} [up] - Camera up vector otherwise camera current up vector(this._u)
459
264
  */
460
- public look(look: Vec3, up?: Vec3) {
265
+ look(look, up) {
461
266
  this._b.set(this.eye.x - look.x, this.eye.y - look.y, this.eye.z - look.z);
462
267
  this._r.copy((up || this._u).cross(this._b));
463
268
  this._b.normalize();
464
269
  this._r.normalize();
465
270
  this._u.copy(this._b.cross(this._r));
466
271
  }
467
-
468
272
  /**
469
273
  * Slides camera to vector d - (du, dv, dn)
470
274
  * @public
@@ -472,75 +276,47 @@ class Camera {
472
276
  * @param {number} dv - delta Y
473
277
  * @param {number} dn - delta Z
474
278
  */
475
- public slide(du: number, dv: number, dn: number) {
279
+ slide(du, dv, dn) {
476
280
  this.eye.x += du * this._r.x + dv * this._u.x + dn * this._b.x;
477
281
  this.eye.y += du * this._r.y + dv * this._u.y + dn * this._b.y;
478
282
  this.eye.z += du * this._r.z + dv * this._u.z + dn * this._b.z;
479
283
  }
480
-
481
284
  /**
482
285
  * Roll the camera to the angle in degrees
483
286
  * @public
484
287
  * @param {number} angle - Delta roll angle in degrees
485
288
  */
486
- public roll(angle: number) {
289
+ roll(angle) {
487
290
  let cs = Math.cos(math.RADIANS * angle);
488
291
  let sn = Math.sin(math.RADIANS * angle);
489
292
  let t = this._r.clone();
490
- this._r.set(
491
- cs * t.x - sn * this._u.x,
492
- cs * t.y - sn * this._u.y,
493
- cs * t.z - sn * this._u.z
494
- );
495
- this._u.set(
496
- sn * t.x + cs * this._u.x,
497
- sn * t.y + cs * this._u.y,
498
- sn * t.z + cs * this._u.z
499
- );
500
- }
501
-
293
+ this._r.set(cs * t.x - sn * this._u.x, cs * t.y - sn * this._u.y, cs * t.z - sn * this._u.z);
294
+ this._u.set(sn * t.x + cs * this._u.x, sn * t.y + cs * this._u.y, sn * t.z + cs * this._u.z);
295
+ }
502
296
  /**
503
297
  * Pitch the camera to the angle in degrees
504
298
  * @public
505
299
  * @param {number} angle - Delta pitch angle in degrees
506
300
  */
507
- public pitch(angle: number) {
301
+ pitch(angle) {
508
302
  let cs = Math.cos(math.RADIANS * angle);
509
303
  let sn = Math.sin(math.RADIANS * angle);
510
304
  let t = this._b.clone();
511
- this._b.set(
512
- cs * t.x - sn * this._u.x,
513
- cs * t.y - sn * this._u.y,
514
- cs * t.z - sn * this._u.z
515
- );
516
- this._u.set(
517
- sn * t.x + cs * this._u.x,
518
- sn * t.y + cs * this._u.y,
519
- sn * t.z + cs * this._u.z
520
- );
521
- }
522
-
305
+ this._b.set(cs * t.x - sn * this._u.x, cs * t.y - sn * this._u.y, cs * t.z - sn * this._u.z);
306
+ this._u.set(sn * t.x + cs * this._u.x, sn * t.y + cs * this._u.y, sn * t.z + cs * this._u.z);
307
+ }
523
308
  /**
524
309
  * Yaw the camera to the angle in degrees
525
310
  * @public
526
311
  * @param {number} angle - Delta yaw angle in degrees
527
312
  */
528
- public yaw(angle: number) {
313
+ yaw(angle) {
529
314
  let cs = Math.cos(math.RADIANS * angle);
530
315
  let sn = Math.sin(math.RADIANS * angle);
531
316
  let t = this._r.clone();
532
- this._r.set(
533
- cs * t.x - sn * this._b.x,
534
- cs * t.y - sn * this._b.y,
535
- cs * t.z - sn * this._b.z
536
- );
537
- this._b.set(
538
- sn * t.x + cs * this._b.x,
539
- sn * t.y + cs * this._b.y,
540
- sn * t.z + cs * this._b.z
541
- );
542
- }
543
-
317
+ this._r.set(cs * t.x - sn * this._b.x, cs * t.y - sn * this._b.y, cs * t.z - sn * this._b.z);
318
+ this._b.set(sn * t.x + cs * this._b.x, sn * t.y + cs * this._b.y, sn * t.z + cs * this._b.z);
319
+ }
544
320
  /**
545
321
  * Returns normal vector direction to the unprojected screen point from camera eye
546
322
  * @public
@@ -548,32 +324,22 @@ class Camera {
548
324
  * @param {number} y - Screen Y coordinate
549
325
  * @returns {Vec3} - Direction vector
550
326
  */
551
- public unproject(x: number, y: number) {
552
- let c = this.renderer!.handler.canvas!,
553
- w = c.width * 0.5,
554
- h = c.height * 0.5;
555
-
556
- let px = (x - w) / w,
557
- py = -(y - h) / h;
558
-
559
- let world1 = this.frustums[0].inverseProjectionViewMatrix.mulVec4(new Vec4(px, py, -1.0, 1.0)).affinity(),
560
- world2 = this.frustums[0].inverseProjectionViewMatrix.mulVec4(new Vec4(px, py, 0.0, 1.0)).affinity();
561
-
327
+ unproject(x, y) {
328
+ let c = this.renderer.handler.canvas, w = c.width * 0.5, h = c.height * 0.5;
329
+ let px = (x - w) / w, py = -(y - h) / h;
330
+ let world1 = this.frustums[0].inverseProjectionViewMatrix.mulVec4(new Vec4(px, py, -1.0, 1.0)).affinity(), world2 = this.frustums[0].inverseProjectionViewMatrix.mulVec4(new Vec4(px, py, 0.0, 1.0)).affinity();
562
331
  return world2.subA(world1).toVec3().normalize();
563
332
  }
564
-
565
333
  /**
566
334
  * Gets projected 3d point to the 2d screen coordinates
567
335
  * @public
568
336
  * @param {Vec3} v - Cartesian 3d coordinates
569
337
  * @returns {Vec2} - Screen point coordinates
570
338
  */
571
- public project(v: Vec3): Vec2 {
572
- let r = this.frustums[0].projectionViewMatrix.mulVec4(v.toVec4()),
573
- c = this.renderer!.handler.canvas!;
339
+ project(v) {
340
+ let r = this.frustums[0].projectionViewMatrix.mulVec4(v.toVec4()), c = this.renderer.handler.canvas;
574
341
  return new Vec2((1 + r.x / r.w) * c.width * 0.5, (1 - r.y / r.w) * c.height * 0.5);
575
342
  }
576
-
577
343
  /**
578
344
  * Rotates camera around center point
579
345
  * @public
@@ -583,21 +349,18 @@ class Camera {
583
349
  * @param {Vec3} [center] - Point that the camera rotates around
584
350
  * @param {Vec3} [up] - Camera up vector
585
351
  */
586
- public rotateAround(angle: number, isArc?: boolean, center?: Vec3 | null, up?: Vec3 | null) {
352
+ rotateAround(angle, isArc, center, up) {
587
353
  center = center || Vec3.ZERO;
588
354
  up = up || Vec3.UP;
589
-
590
355
  let rot = new Mat4().setRotation(isArc ? this._u : up, angle);
591
356
  let tr = new Mat4().setIdentity().translate(center);
592
357
  let ntr = new Mat4().setIdentity().translate(center.negateTo());
593
358
  let trm = tr.mul(rot).mul(ntr);
594
-
595
359
  this.eye = trm.mulVec3(this.eye);
596
360
  this._u = rot.mulVec3(this._u).normalize();
597
361
  this._r = rot.mulVec3(this._r).normalize();
598
362
  this._b = rot.mulVec3(this._b).normalize();
599
363
  }
600
-
601
364
  /**
602
365
  * Rotates camera around center point by horizontal.
603
366
  * @public
@@ -607,19 +370,17 @@ class Camera {
607
370
  * @param {Vec3} [center] - Point that the camera rotates around.
608
371
  * @param {Vec3} [up] - Camera up vector.
609
372
  */
610
- public rotateHorizontal(angle: number, isArc?: boolean, center?: Vec3 | null, up?: Vec3 | null) {
373
+ rotateHorizontal(angle, isArc, center, up) {
611
374
  this.rotateAround(angle, isArc, center, up);
612
375
  }
613
-
614
376
  /**
615
377
  * Rotates camera around center point by vertical.
616
378
  * @param {number} angle - Rotation angle in radians.
617
379
  * @param {Vec3} [center] - Point that the camera rotates around.
618
380
  */
619
- public rotateVertical(angle: number, center?: Vec3) {
381
+ rotateVertical(angle, center) {
620
382
  this.rotateAround(angle, false, center, this._r);
621
383
  }
622
-
623
384
  /**
624
385
  * Gets 3d size factor. Uses in LOD distance calculation.
625
386
  * @public
@@ -627,76 +388,66 @@ class Camera {
627
388
  * @param {Vec3} r - Far point.
628
389
  * @returns {number} - Size factor.
629
390
  */
630
- public projectedSize(p: Vec3, r: number): number {
391
+ projectedSize(p, r) {
631
392
  return Math.atan(r / this.eye.distance(p)) * this._projSizeConst;
632
393
  }
633
-
634
394
  /**
635
395
  * Returns model matrix.
636
396
  * @public
637
397
  * @returns {NumberArray16} - View matrix.
638
398
  */
639
- public getViewMatrix(): NumberArray16 {
399
+ getViewMatrix() {
640
400
  return this._viewMatrix._m;
641
401
  }
642
-
643
402
  /**
644
403
  * Returns normal matrix.
645
404
  * @public
646
405
  * @returns {NumberArray9} - Normal matrix.
647
406
  */
648
- public getNormalMatrix(): NumberArray9 {
407
+ getNormalMatrix() {
649
408
  return this._normalMatrix._m;
650
409
  }
651
-
652
- public setCurrentFrustum(k: number) {
410
+ setCurrentFrustum(k) {
653
411
  this.currentFrustumIndex = k;
654
412
  this.isFirstPass = k === this.FARTHEST_FRUSTUM_INDEX;
655
413
  }
656
-
657
- public getCurrentFrustum(): number {
414
+ getCurrentFrustum() {
658
415
  return this.currentFrustumIndex;
659
416
  }
660
-
661
- public get frustum(): Frustum {
417
+ get frustum() {
662
418
  return this.frustums[this.currentFrustumIndex];
663
419
  }
664
-
665
420
  /**
666
421
  * Returns projection matrix.
667
422
  * @public
668
423
  * @returns {Mat4} - Projection matrix.
669
424
  */
670
- public getProjectionMatrix(): NumberArray16 {
425
+ getProjectionMatrix() {
671
426
  return this.frustum.projectionMatrix._m;
672
427
  }
673
-
674
428
  /**
675
429
  * Returns projection and model matrix product.
676
430
  * @public
677
431
  * @return {Mat4} - Projection-view matrix.
678
432
  */
679
- public getProjectionViewMatrix(): NumberArray16 {
433
+ getProjectionViewMatrix() {
680
434
  return this.frustum.projectionViewMatrix._m;
681
435
  }
682
-
683
436
  /**
684
437
  * Returns inverse projection and model matrix product.
685
438
  * @public
686
439
  * @returns {Mat4} - Inverse projection-view matrix.
687
440
  */
688
- public getInverseProjectionViewMatrix(): NumberArray16 {
441
+ getInverseProjectionViewMatrix() {
689
442
  return this.frustum.inverseProjectionViewMatrix._m;
690
443
  }
691
-
692
444
  /**
693
445
  * Returns inverse projection matrix.
694
446
  * @public
695
447
  * @returns {Mat4} - Inverse projection-view matrix.
696
448
  */
697
- public getInverseProjectionMatrix(): NumberArray16 {
449
+ getInverseProjectionMatrix() {
698
450
  return this.frustum.inverseProjectionMatrix._m;
699
451
  }
700
452
  }
701
-
702
- export {Camera};
453
+ export { Camera };