@openglobus/og 0.18.0 → 0.18.1

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} +82 -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} +101 -373
  160. package/lib/js/entity/EntityCollection.d.ts +364 -0
  161. package/{src/entity/EntityCollection.ts → lib/js/entity/EntityCollection.js} +51 -353
  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} +62 -164
  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 +244 -0
  221. package/{src/layer/Vector.ts → lib/js/layer/Vector.js} +147 -418
  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 +311 -0
  283. package/{src/renderer/Renderer.ts → lib/js/renderer/Renderer.js} +169 -611
  284. package/lib/js/renderer/RendererEvents.d.ts +237 -0
  285. package/{src/renderer/RendererEvents.ts → lib/js/renderer/RendererEvents.js} +134 -471
  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} +251 -935
  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} +82 -239
  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} +45 -181
  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} +184 -341
  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,311 @@
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
+ constructor(handler: Handler, params?: IRendererParams);
156
+ enableBlendOneSrcAlpha(): void;
157
+ enableBlendDefault(): void;
158
+ /**
159
+ * Sets renderer events activity.
160
+ * @param {Boolean} activity - Events activity.
161
+ */
162
+ setEventsActivity(activity: boolean): void;
163
+ addDepthCallback(sender: any, callback: Function): number;
164
+ removeDepthCallback(id: number): void;
165
+ addDistanceCallback(sender: any, callback: Function): number;
166
+ removeDistanceCallback(id: number): void;
167
+ /**
168
+ * Adds picking rendering callback function.
169
+ * @param {object} sender - Callback context.
170
+ * @param {Function} callback - Rendering callback.
171
+ * @returns {Number} Handler id
172
+ */
173
+ addPickingCallback(sender: any, callback: Function): number;
174
+ /**
175
+ * Removes picking rendering callback function.
176
+ * @param {Number} id - Handler id to remove.
177
+ */
178
+ removePickingCallback(id: number): void;
179
+ getPickingObject<T>(r: number, g: number, b: number): T;
180
+ getPickingObjectArr<T>(arr: NumberArray3 | Uint8Array): T;
181
+ getPickingObject3v<T>(vec: Vec3 | Vec4): T;
182
+ /**
183
+ * Assign picking color to the object.
184
+ * @public
185
+ * @param {Object} obj - Object that presume to be picked.
186
+ */
187
+ assignPickingColor<T>(obj: T & IPickingObject): void;
188
+ /**
189
+ * Removes picking color from object.
190
+ * @public
191
+ * @param {Object} obj - Object to remove picking color.
192
+ */
193
+ clearPickingColor<T>(obj: T & IPickingObject): void;
194
+ /**
195
+ * Get the client width.
196
+ * @public
197
+ * @returns {number} -
198
+ */
199
+ getWidth(): number;
200
+ /**
201
+ * Get the client height.
202
+ * @public
203
+ * @returns {number} -
204
+ */
205
+ getHeight(): number;
206
+ /**
207
+ * Get center of the canvas
208
+ * @public
209
+ * @returns {Vec2} -
210
+ */
211
+ getCenter(): Vec2;
212
+ /**
213
+ * Get center of the screen viewport
214
+ * @public
215
+ * @returns {Vec2} -
216
+ */
217
+ getClientCenter(): Vec2;
218
+ /**
219
+ * Add the given control to the renderer.
220
+ * @param {Control} control - Control.
221
+ */
222
+ addControl(control: Control): void;
223
+ /**
224
+ * Add the given controls array to the planet node.
225
+ * @param {Array.<Control>} cArr - Control array.
226
+ */
227
+ addControls(cArr: Control[]): void;
228
+ /**
229
+ * Remove control from the renderer.
230
+ * @param {Control} control - Control.
231
+ */
232
+ removeControl(control: Control): void;
233
+ isInitialized(): boolean;
234
+ /**
235
+ * Renderer initialization.
236
+ * @public
237
+ */
238
+ initialize(): void;
239
+ _initializeControls(): void;
240
+ resize(): void;
241
+ setCurrentScreen(screenName: string): void;
242
+ _resizeStart(): void;
243
+ _resizeEnd(): void;
244
+ removeNode(renderNode: RenderNode): void;
245
+ /**
246
+ * Adds render node to the renderer.
247
+ * @public
248
+ * @param {RenderNode} renderNode - Render node.
249
+ */
250
+ addNode(renderNode: RenderNode): void;
251
+ protected _initializeRenderNodes(): void;
252
+ /**
253
+ * Adds render node to the renderer before specific node.
254
+ * @public
255
+ * @param {RenderNode} renderNode - Render node.
256
+ * @param {RenderNode} renderNodeBefore - Insert before the renderNodeBefore node.
257
+ */
258
+ addNodeBefore(renderNode: RenderNode, renderNodeBefore: RenderNode): void;
259
+ /**
260
+ * Adds render nodes array to the renderer.
261
+ * @public
262
+ * @param {Array.<RenderNode>} nodesArr - Render nodes array.
263
+ */
264
+ addNodes(nodesArr: RenderNode[]): void;
265
+ getMaxMSAA(internalFormat: string): any;
266
+ getMSAA(): number;
267
+ /**
268
+ * TODO: replace with cache friendly linked list by BillboardHandler, LabelHandler etc.
269
+ */
270
+ enqueueEntityCollectionsToDraw(ecArr: EntityCollection[]): void;
271
+ /**
272
+ * Draws opaque items entity collections.
273
+ * @protected
274
+ */
275
+ protected _drawOpaqueEntityCollections(): void;
276
+ /**
277
+ * Draws transparent items entity collections.
278
+ * @protected
279
+ */
280
+ protected _drawTransparentEntityCollections(): void;
281
+ protected _clearEntityCollectionQueue(): void;
282
+ /**
283
+ * Draw nodes.
284
+ * @public
285
+ */
286
+ draw(): void;
287
+ protected _screenFrameMSAA(): void;
288
+ protected _screenFrameNoMSAA(): void;
289
+ /**
290
+ * Draw picking objects framebuffer.
291
+ * @private
292
+ */
293
+ protected _drawPickingBuffer(): void;
294
+ /**
295
+ * Draw picking objects framebuffer.
296
+ * @private
297
+ */
298
+ protected _drawDistanceBuffer(): void;
299
+ protected _drawDepthBuffer(): void;
300
+ protected _readPickingBuffer(): void;
301
+ protected _readDistanceBuffer(): void;
302
+ readPickingColor(x: number, y: number, outColor: NumberArray3 | Uint8Array): void;
303
+ readDistanceColor(x: number, y: number, outColor: NumberArray3 | Uint8Array): void;
304
+ /**
305
+ * Function starts renderer
306
+ * @public
307
+ */
308
+ start(): void;
309
+ destroy(): void;
310
+ }
311
+ export { Renderer };