@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
@@ -0,0 +1,25 @@
1
+ import { Layer } from "../layer/Layer";
2
+ import { Node } from "../quadTree/Node";
3
+ import { Planet } from "../scene/Planet";
4
+ import { Proj } from "../proj/Proj";
5
+ export declare class QuadTreeStrategy {
6
+ name: string;
7
+ projection: Proj;
8
+ protected _planet: Planet;
9
+ /**
10
+ * grid tree list.
11
+ * @protected
12
+ * @type {Node[]}
13
+ */
14
+ protected _quadTreeList: Node[];
15
+ constructor(planet: Planet, name?: string, proj?: Proj);
16
+ destroyBranches(): void;
17
+ clearLayerMaterial(layer: Layer): void;
18
+ get planet(): Planet;
19
+ init(): void;
20
+ preRender(): void;
21
+ preLoad(): void;
22
+ collectRenderNodes(): void;
23
+ clear(): void;
24
+ get quadTreeList(): Node[];
25
+ }
@@ -1,38 +1,20 @@
1
- import {EPSG3857} from "../proj/EPSG3857";
2
- import {Layer} from "../layer/Layer";
3
- import {Node} from "../quadTree/Node";
4
- import {Planet} from "../scene/Planet";
5
- import {Proj} from "../proj/Proj";
6
-
1
+ import { EPSG3857 } from "../proj/EPSG3857";
7
2
  export class QuadTreeStrategy {
8
- public name: string;
9
- public projection: Proj;
10
- protected _planet: Planet;
11
-
12
- /**
13
- * grid tree list.
14
- * @protected
15
- * @type {Node[]}
16
- */
17
- protected _quadTreeList: Node[];
18
-
19
- constructor(planet: Planet, name: string = "", proj: Proj = EPSG3857) {
3
+ constructor(planet, name = "", proj = EPSG3857) {
20
4
  this.name = name;
21
5
  this.projection = proj;
22
6
  this._planet = planet;
23
7
  this._quadTreeList = [];
24
8
  }
25
-
26
- public destroyBranches() {
9
+ destroyBranches() {
27
10
  for (let i = 0, len = this._quadTreeList.length; i < len; i++) {
28
11
  this._quadTreeList[i].destroyBranches();
29
12
  }
30
13
  }
31
-
32
- public clearLayerMaterial(layer: Layer) {
14
+ clearLayerMaterial(layer) {
33
15
  let lid = layer.__id;
34
16
  for (let i = 0, len = this._quadTreeList.length; i < len; i++) {
35
- this._quadTreeList[i].traverseTree(function (node: Node) {
17
+ this._quadTreeList[i].traverseTree(function (node) {
36
18
  let mats = node.segment.materials;
37
19
  if (mats[lid]) {
38
20
  mats[lid].clear();
@@ -43,37 +25,27 @@ export class QuadTreeStrategy {
43
25
  });
44
26
  }
45
27
  }
46
-
47
- public get planet() {
28
+ get planet() {
48
29
  return this._planet;
49
30
  }
50
-
51
- public init() {
52
-
31
+ init() {
53
32
  }
54
-
55
- public preRender() {
33
+ preRender() {
56
34
  for (let i = 0; i < this._quadTreeList.length; i++) {
57
-
58
35
  let quadTree = this._quadTreeList[i];
59
36
  quadTree.createChildrenNodes();
60
37
  quadTree.segment.createPlainSegment();
61
-
62
38
  for (let j = 0; j < quadTree.nodes.length; j++) {
63
39
  quadTree.nodes[j].segment.createPlainSegment();
64
40
  }
65
41
  }
66
42
  }
67
-
68
- public preLoad() {
69
-
43
+ preLoad() {
70
44
  for (let i = 0; i < this._quadTreeList.length; i++) {
71
-
72
45
  let quadTree = this._quadTreeList[i];
73
46
  quadTree.segment.passReady = true;
74
47
  quadTree.renderNode(1);
75
48
  this._planet.normalMapCreator.drawSingle(quadTree.segment);
76
-
77
49
  for (let j = 0; j < quadTree.nodes.length; j++) {
78
50
  quadTree.nodes[j].segment.passReady = true;
79
51
  quadTree.nodes[j].renderNode(1);
@@ -81,20 +53,17 @@ export class QuadTreeStrategy {
81
53
  }
82
54
  }
83
55
  }
84
-
85
- public collectRenderNodes() {
56
+ collectRenderNodes() {
86
57
  for (let i = 0; i < this._quadTreeList.length; i++) {
87
58
  this._quadTreeList[i].renderTree(this._planet.camera, 0, null);
88
59
  }
89
60
  }
90
-
91
- public clear() {
61
+ clear() {
92
62
  for (let i = 0; i < this._quadTreeList.length; i++) {
93
63
  this._quadTreeList[i].clearTree();
94
64
  }
95
65
  }
96
-
97
- public get quadTreeList(): Node[] {
66
+ get quadTreeList() {
98
67
  return this._quadTreeList;
99
68
  }
100
- }
69
+ }
@@ -0,0 +1,6 @@
1
+ import { Planet } from "../scene/Planet";
2
+ import { QuadTreeStrategy } from "./QuadTreeStrategy";
3
+ export declare class Wgs84QuadTreeStrategy extends QuadTreeStrategy {
4
+ constructor(planet: Planet);
5
+ init(): void;
6
+ }
@@ -0,0 +1,15 @@
1
+ import * as quadTree from "../quadTree/quadTree";
2
+ import { Extent } from "../Extent";
3
+ import { EPSG4326 } from "../proj/EPSG4326";
4
+ import { Node } from "../quadTree/Node";
5
+ import { SegmentLonLatWgs84 } from "../segment/SegmentLonLatWgs84";
6
+ import { QuadTreeStrategy } from "./QuadTreeStrategy";
7
+ export class Wgs84QuadTreeStrategy extends QuadTreeStrategy {
8
+ constructor(planet) {
9
+ super(planet, "wgs84", EPSG4326);
10
+ }
11
+ init() {
12
+ let wgs84QuadTree = new Node(SegmentLonLatWgs84, this.planet, quadTree.NW, null, 0, 0, Extent.createFromArray([-180, -90, 180, 90]));
13
+ this._quadTreeList.push(wgs84QuadTree);
14
+ }
15
+ }
@@ -0,0 +1,12 @@
1
+ import { EarthQuadTreeStrategy } from "./EarthQuadTreeStrategy";
2
+ import { MarsQuadTreeStrategy } from "./MarsQuadTreeStrategy";
3
+ import { EPSG4326QuadTreeStrategy } from "./EPSG4326QuadTreeStrategy";
4
+ import { QuadTreeStrategy } from "./QuadTreeStrategy";
5
+ import { Wgs84QuadTreeStrategy } from "./Wgs84QuadTreeStrategy";
6
+ declare const quadTreeStrategyType: {
7
+ epsg4326: typeof EPSG4326QuadTreeStrategy;
8
+ earth: typeof EarthQuadTreeStrategy;
9
+ mars: typeof MarsQuadTreeStrategy;
10
+ wgs84: typeof Wgs84QuadTreeStrategy;
11
+ };
12
+ export { quadTreeStrategyType, QuadTreeStrategy, Wgs84QuadTreeStrategy, MarsQuadTreeStrategy, EarthQuadTreeStrategy };
@@ -0,0 +1,12 @@
1
+ import { EarthQuadTreeStrategy } from "./EarthQuadTreeStrategy";
2
+ import { MarsQuadTreeStrategy } from "./MarsQuadTreeStrategy";
3
+ import { EPSG4326QuadTreeStrategy } from "./EPSG4326QuadTreeStrategy";
4
+ import { QuadTreeStrategy } from "./QuadTreeStrategy";
5
+ import { Wgs84QuadTreeStrategy } from "./Wgs84QuadTreeStrategy";
6
+ const quadTreeStrategyType = {
7
+ epsg4326: EPSG4326QuadTreeStrategy,
8
+ earth: EarthQuadTreeStrategy,
9
+ mars: MarsQuadTreeStrategy,
10
+ wgs84: Wgs84QuadTreeStrategy
11
+ };
12
+ export { quadTreeStrategyType, QuadTreeStrategy, Wgs84QuadTreeStrategy, MarsQuadTreeStrategy, EarthQuadTreeStrategy };
@@ -0,0 +1,40 @@
1
+ export declare const VISIBLE_DISTANCE = 3570;
2
+ export declare const MAX_RENDERED_NODES = 1000;
3
+ export declare const NW = 0;
4
+ export declare const NE = 1;
5
+ export declare const SW = 2;
6
+ export declare const SE = 3;
7
+ export declare const N = 0;
8
+ export declare const E = 1;
9
+ export declare const S = 2;
10
+ export declare const W = 3;
11
+ export declare const NOTRENDERING = 0;
12
+ export declare const RENDERING = 1;
13
+ export declare const WALKTHROUGH = 2;
14
+ /**
15
+ * World opposite side table.
16
+ */
17
+ export declare const OPSIDE: number[];
18
+ /**
19
+ * First index is {N,E,S,W} and second is {NW,NE,SW,SE}
20
+ */
21
+ export declare const NEIGHBOUR: number[][];
22
+ /**
23
+ * Neighbor's oposite part. For example oposite side
24
+ * on the east neighbor side is: [S][SE] = NE
25
+ */
26
+ export declare const OPPART: number[][];
27
+ /**
28
+ * Neighbos's opside array order. For example NW node
29
+ * by E side array index is 0, SE node by S side is 1.
30
+ */
31
+ export declare const NOPSORD: number[][];
32
+ /**
33
+ * First index is {NW,NE,SW,SE}, another one is {N,E,S,W}
34
+ */
35
+ export declare const COMSIDE: boolean[][];
36
+ /**
37
+ * Gets segment part left to right or up to downo ffset against neighbour side.
38
+ * Where 0 - no offset 1 - half segment size offset.
39
+ */
40
+ export declare const PARTOFFSET: number[][];
@@ -1,25 +1,20 @@
1
1
  export const VISIBLE_DISTANCE = 3570.0;
2
2
  export const MAX_RENDERED_NODES = 1000;
3
-
4
3
  export const NW = 0;
5
4
  export const NE = 1;
6
5
  export const SW = 2;
7
6
  export const SE = 3;
8
-
9
7
  export const N = 0;
10
8
  export const E = 1;
11
9
  export const S = 2;
12
10
  export const W = 3;
13
-
14
11
  export const NOTRENDERING = 0;
15
12
  export const RENDERING = 1;
16
13
  export const WALKTHROUGH = 2;
17
-
18
14
  /**
19
15
  * World opposite side table.
20
16
  */
21
17
  export const OPSIDE = [S, W, N, E];
22
-
23
18
  /**
24
19
  * First index is {N,E,S,W} and second is {NW,NE,SW,SE}
25
20
  */
@@ -29,7 +24,6 @@ export const NEIGHBOUR = [
29
24
  [SW, SE, -1, -1],
30
25
  [-1, NW, -1, SW]
31
26
  ];
32
-
33
27
  /**
34
28
  * Neighbor's oposite part. For example oposite side
35
29
  * on the east neighbor side is: [S][SE] = NE
@@ -40,7 +34,6 @@ export const OPPART = [
40
34
  [SW, SE, NW, NE],
41
35
  [NE, NW, SE, SW]
42
36
  ];
43
-
44
37
  /**
45
38
  * Neighbos's opside array order. For example NW node
46
39
  * by E side array index is 0, SE node by S side is 1.
@@ -51,7 +44,6 @@ export const NOPSORD = [
51
44
  [0, 1, 0, 1],
52
45
  [0, 0, 1, 1]
53
46
  ];
54
-
55
47
  /**
56
48
  * First index is {NW,NE,SW,SE}, another one is {N,E,S,W}
57
49
  */
@@ -61,7 +53,6 @@ export const COMSIDE = [
61
53
  [false, false, true, true],
62
54
  [false, true, true, false]
63
55
  ];
64
-
65
56
  /**
66
57
  * Gets segment part left to right or up to downo ffset against neighbour side.
67
58
  * Where 0 - no offset 1 - half segment size offset.
@@ -0,0 +1,320 @@
1
+ import { Camera } from "../camera/Camera";
2
+ import { Control } from "../control/Control";
3
+ import { RendererEventsHandler } from "./RendererEvents";
4
+ import { EntityCollection } from "../entity/EntityCollection";
5
+ import { Framebuffer, Multisample } from "../webgl/index";
6
+ import { FontAtlas } from "../utils/FontAtlas";
7
+ import { Handler, WebGLBufferExt } from "../webgl/Handler";
8
+ import { LabelWorker } from "../entity/LabelWorker";
9
+ import { RenderNode } from "../scene/RenderNode";
10
+ import { TextureAtlas } from "../utils/TextureAtlas";
11
+ import { Vec2 } from "../math/Vec2";
12
+ import { NumberArray3, Vec3 } from "../math/Vec3";
13
+ import { Vec4 } from "../math/Vec4";
14
+ interface IRendererParams {
15
+ controls?: Control[];
16
+ msaa?: number;
17
+ autoActivate?: boolean;
18
+ fontsSrc?: string;
19
+ }
20
+ interface IPickingObject {
21
+ _pickingColor?: Vec3;
22
+ _pickingColorU?: Float32Array;
23
+ }
24
+ interface IFrameCallbackHandler {
25
+ id: number;
26
+ callback: Function;
27
+ sender: any;
28
+ }
29
+ export interface HTMLDivElementExt extends HTMLDivElement {
30
+ attributions?: HTMLElement;
31
+ }
32
+ declare class Renderer {
33
+ /**
34
+ * Div element with WebGL canvas. Assigned in Globe class.
35
+ * @public
36
+ * @type {HTMLElement | null}
37
+ */
38
+ div: HTMLDivElementExt | null;
39
+ /**
40
+ * WebGL handler context.
41
+ * @public
42
+ * @type {Handler}
43
+ */
44
+ handler: Handler;
45
+ exposure: number;
46
+ gamma: number;
47
+ whitepoint: number;
48
+ brightThreshold: number;
49
+ /**
50
+ * Render nodes drawing queue.
51
+ * @public
52
+ * @type {Array.<RenderNode>}
53
+ */
54
+ _renderNodesArr: RenderNode[];
55
+ /**
56
+ * Render nodes store for the comfortable access by the node name.
57
+ * @public
58
+ * @type {Object.<RenderNode>}
59
+ */
60
+ renderNodes: Record<string, RenderNode>;
61
+ /**
62
+ * Current active camera.
63
+ * @public
64
+ * @type {Camera}
65
+ */
66
+ activeCamera: Camera | null;
67
+ /**
68
+ * Renderer events. Represents interface for setting events like mousemove, draw, keypress etc.
69
+ * @public
70
+ * @type {RendererEvents}
71
+ */
72
+ events: RendererEventsHandler;
73
+ /**
74
+ * Controls array.
75
+ * @public
76
+ * @type {Object}
77
+ */
78
+ controls: Record<string, Control>;
79
+ /**
80
+ * Provides exchange between controls.
81
+ * @public
82
+ * @type {any}
83
+ */
84
+ controlsBag: any;
85
+ /**
86
+ * Hash table for drawing objects.
87
+ * @public
88
+ * @type {Map<string, any>}
89
+ */
90
+ colorObjects: Map<string, any>;
91
+ /**
92
+ * Color picking objects rendering queue.
93
+ * @type {Function[]}
94
+ */
95
+ protected _pickingCallbacks: IFrameCallbackHandler[];
96
+ /**
97
+ * Picking objects(labels and billboards) framebuffer.
98
+ * @public
99
+ * @type {Framebuffer}
100
+ */
101
+ pickingFramebuffer: Framebuffer | null;
102
+ protected _tempPickingPix_: Uint8Array;
103
+ /**
104
+ * @public
105
+ * @type {Framebuffer}
106
+ */
107
+ distanceFramebuffer: Framebuffer | null;
108
+ /**
109
+ * @type {Function[]}
110
+ */
111
+ protected _distanceCallbacks: IFrameCallbackHandler[];
112
+ protected _tempDistancePix_: Uint8Array;
113
+ /**
114
+ * Depth objects rendering queue.
115
+ * @type {Function[]}
116
+ */
117
+ protected _depthCallbacks: IFrameCallbackHandler[];
118
+ depthFramebuffer: Framebuffer | null;
119
+ protected _msaa: number;
120
+ protected _internalFormat: string;
121
+ protected _format: string;
122
+ protected _type: string;
123
+ sceneFramebuffer: Framebuffer | Multisample | null;
124
+ protected blitFramebuffer: Framebuffer | null;
125
+ protected toneMappingFramebuffer: Framebuffer | null;
126
+ protected _initialized: boolean;
127
+ /**
128
+ * Texture atlas for the billboards images. One atlas per node.
129
+ * @public
130
+ * @type {TextureAtlas}
131
+ */
132
+ billboardsTextureAtlas: TextureAtlas;
133
+ /**
134
+ * Texture atlas for the billboards images. One atlas per node.
135
+ * @public
136
+ * @type {TextureAtlas}
137
+ */
138
+ geoObjectsTextureAtlas: TextureAtlas;
139
+ /**
140
+ * Texture font atlas for the font families and styles. One atlas per node.
141
+ * @public
142
+ * @type {FontAtlas}
143
+ */
144
+ fontAtlas: FontAtlas;
145
+ protected _entityCollections: EntityCollection[];
146
+ protected _currentOutput: string;
147
+ protected _fnScreenFrame: Function | null;
148
+ labelWorker: LabelWorker;
149
+ __useDistanceFramebuffer__: boolean;
150
+ screenDepthFramebuffer: Framebuffer | null;
151
+ screenFramePositionBuffer: WebGLBufferExt | null;
152
+ screenTexture: Record<string, WebGLTexture>;
153
+ outputTexture: WebGLTexture | null;
154
+ protected _pickingMaskCoordinatesBuffer: WebGLBufferExt | null;
155
+ protected _skipDistanceFrame: boolean;
156
+ protected _distancePixelBuffer: WebGLBuffer | null;
157
+ protected _skipPickingFrame: boolean;
158
+ protected _pickingPixelBuffer: WebGLBuffer | null;
159
+ protected _readDistanceBuffer: () => void;
160
+ protected _readPickingBuffer: () => void;
161
+ constructor(handler: Handler, params?: IRendererParams);
162
+ enableBlendOneSrcAlpha(): void;
163
+ enableBlendDefault(): void;
164
+ /**
165
+ * Sets renderer events activity.
166
+ * @param {Boolean} activity - Events activity.
167
+ */
168
+ setEventsActivity(activity: boolean): void;
169
+ addDepthCallback(sender: any, callback: Function): number;
170
+ removeDepthCallback(id: number): void;
171
+ addDistanceCallback(sender: any, callback: Function): number;
172
+ removeDistanceCallback(id: number): void;
173
+ /**
174
+ * Adds picking rendering callback function.
175
+ * @param {object} sender - Callback context.
176
+ * @param {Function} callback - Rendering callback.
177
+ * @returns {Number} Handler id
178
+ */
179
+ addPickingCallback(sender: any, callback: Function): number;
180
+ /**
181
+ * Removes picking rendering callback function.
182
+ * @param {Number} id - Handler id to remove.
183
+ */
184
+ removePickingCallback(id: number): void;
185
+ getPickingObject<T>(r: number, g: number, b: number): T;
186
+ getPickingObjectArr<T>(arr: NumberArray3 | Uint8Array): T;
187
+ getPickingObject3v<T>(vec: Vec3 | Vec4): T;
188
+ /**
189
+ * Assign picking color to the object.
190
+ * @public
191
+ * @param {Object} obj - Object that presume to be picked.
192
+ */
193
+ assignPickingColor<T>(obj: T & IPickingObject): void;
194
+ /**
195
+ * Removes picking color from object.
196
+ * @public
197
+ * @param {Object} obj - Object to remove picking color.
198
+ */
199
+ clearPickingColor<T>(obj: T & IPickingObject): void;
200
+ /**
201
+ * Get the client width.
202
+ * @public
203
+ * @returns {number} -
204
+ */
205
+ getWidth(): number;
206
+ /**
207
+ * Get the client height.
208
+ * @public
209
+ * @returns {number} -
210
+ */
211
+ getHeight(): number;
212
+ /**
213
+ * Get center of the canvas
214
+ * @public
215
+ * @returns {Vec2} -
216
+ */
217
+ getCenter(): Vec2;
218
+ /**
219
+ * Get center of the screen viewport
220
+ * @public
221
+ * @returns {Vec2} -
222
+ */
223
+ getClientCenter(): Vec2;
224
+ /**
225
+ * Add the given control to the renderer.
226
+ * @param {Control} control - Control.
227
+ */
228
+ addControl(control: Control): void;
229
+ /**
230
+ * Add the given controls array to the planet node.
231
+ * @param {Array.<Control>} cArr - Control array.
232
+ */
233
+ addControls(cArr: Control[]): void;
234
+ /**
235
+ * Remove control from the renderer.
236
+ * @param {Control} control - Control.
237
+ */
238
+ removeControl(control: Control): void;
239
+ isInitialized(): boolean;
240
+ /**
241
+ * Renderer initialization.
242
+ * @public
243
+ */
244
+ initialize(): void;
245
+ _initReadPixelsBuffers(): void;
246
+ _initializeControls(): void;
247
+ resize(): void;
248
+ setCurrentScreen(screenName: string): void;
249
+ _resizeStart(): void;
250
+ _resizeEnd(): void;
251
+ removeNode(renderNode: RenderNode): void;
252
+ /**
253
+ * Adds render node to the renderer.
254
+ * @public
255
+ * @param {RenderNode} renderNode - Render node.
256
+ */
257
+ addNode(renderNode: RenderNode): void;
258
+ protected _initializeRenderNodes(): void;
259
+ /**
260
+ * Adds render node to the renderer before specific node.
261
+ * @public
262
+ * @param {RenderNode} renderNode - Render node.
263
+ * @param {RenderNode} renderNodeBefore - Insert before the renderNodeBefore node.
264
+ */
265
+ addNodeBefore(renderNode: RenderNode, renderNodeBefore: RenderNode): void;
266
+ /**
267
+ * Adds render nodes array to the renderer.
268
+ * @public
269
+ * @param {Array.<RenderNode>} nodesArr - Render nodes array.
270
+ */
271
+ addNodes(nodesArr: RenderNode[]): void;
272
+ getMaxMSAA(internalFormat: string): any;
273
+ getMSAA(): number;
274
+ /**
275
+ * TODO: replace with cache friendly linked list by BillboardHandler, LabelHandler etc.
276
+ */
277
+ enqueueEntityCollectionsToDraw(ecArr: EntityCollection[]): void;
278
+ /**
279
+ * Draws opaque items entity collections.
280
+ * @protected
281
+ */
282
+ protected _drawOpaqueEntityCollections(): void;
283
+ /**
284
+ * Draws transparent items entity collections.
285
+ * @protected
286
+ */
287
+ protected _drawTransparentEntityCollections(): void;
288
+ protected _clearEntityCollectionQueue(): void;
289
+ /**
290
+ * Draw nodes.
291
+ * @public
292
+ */
293
+ draw(): void;
294
+ protected _screenFrameMSAA(): void;
295
+ protected _screenFrameNoMSAA(): void;
296
+ /**
297
+ * Draw picking objects framebuffer.
298
+ * @private
299
+ */
300
+ protected _drawPickingBuffer(): void;
301
+ /**
302
+ * Draw picking objects framebuffer.
303
+ * @protected
304
+ */
305
+ protected _drawDistanceBuffer(): void;
306
+ protected _drawDepthBuffer(): void;
307
+ protected _readPickingBuffer_webgl1: () => void;
308
+ protected _readPickingBuffer_webgl2: () => void;
309
+ protected _readDistanceBuffer_webgl1: () => void;
310
+ protected _readDistanceBuffer_webgl2: () => void;
311
+ readPickingColor(x: number, y: number, outColor: NumberArray3 | Uint8Array): void;
312
+ readDistanceColor(x: number, y: number, outColor: NumberArray3 | Uint8Array): void;
313
+ /**
314
+ * Function starts renderer
315
+ * @public
316
+ */
317
+ start(): void;
318
+ destroy(): void;
319
+ }
320
+ export { Renderer };