@openglobus/og 0.17.1 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (490) hide show
  1. package/README.md +75 -46
  2. package/dist/@openglobus/og.esm.js +1 -20
  3. package/dist/@openglobus/og.esm.js.map +1 -1
  4. package/dist/@openglobus/og.umd.js +1 -20
  5. package/dist/@openglobus/og.umd.js.map +1 -1
  6. package/dist/@openglobus/res/fonts/Karla-Bold.json +5252 -0
  7. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.cfg +920 -0
  8. package/dist/@openglobus/res/fonts/Karla-Bold.ttf.png +0 -0
  9. package/dist/@openglobus/res/fonts/Karla-Light.json +5252 -0
  10. package/dist/@openglobus/res/fonts/Karla-Light.ttf.cfg +830 -0
  11. package/dist/@openglobus/res/fonts/Karla-Light.ttf.png +0 -0
  12. package/dist/@openglobus/res/fonts/Karla-Medium.json +5252 -0
  13. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.cfg +1196 -0
  14. package/dist/@openglobus/res/fonts/Karla-Medium.ttf.png +0 -0
  15. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.json +3332 -0
  16. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.cfg +1370 -0
  17. package/dist/@openglobus/res/fonts/NotoSansArabic-Regular.ttf.png +0 -0
  18. package/dist/@openglobus/res/fonts/Roboto-Regular.json +37147 -0
  19. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.cfg +1340 -0
  20. package/dist/@openglobus/res/fonts/Roboto-Regular.ttf.png +0 -0
  21. package/dist/@openglobus/res/fonts/arial.json +4321 -0
  22. package/dist/@openglobus/res/fonts/arial.ttf.cfg +1570 -0
  23. package/dist/@openglobus/res/fonts/arial.ttf.png +0 -0
  24. package/dist/@openglobus/res/night-4326.png +0 -0
  25. package/dist/@openglobus/res/night.png +0 -0
  26. package/dist/@openglobus/res/spec.png +0 -0
  27. package/package.json +25 -23
  28. package/src/{og/Clock.js → Clock.ts} +100 -78
  29. package/src/Deferred.ts +17 -0
  30. package/src/Events.ts +200 -0
  31. package/src/{og/Extent.js → Extent.ts} +324 -352
  32. package/src/Globe.ts +363 -0
  33. package/src/{og/ImageCanvas.js → ImageCanvas.ts} +244 -236
  34. package/src/Lock.ts +41 -0
  35. package/src/{og/LonLat.js → LonLat.ts} +50 -47
  36. package/src/{og/Object3d.js → Object3d.ts} +89 -55
  37. package/src/Popup.ts +228 -0
  38. package/src/{og/QueueArray.js → QueueArray.ts} +76 -75
  39. package/src/{og/Rectangle.js → Rectangle.ts} +115 -111
  40. package/src/Stack.ts +58 -0
  41. package/src/{og/astro/astro.js → astro/astro.ts} +49 -51
  42. package/src/{og/astro/earth.js → astro/earth.ts} +8 -9
  43. package/src/{og/astro/jd.js → astro/jd.ts} +92 -111
  44. package/src/{og/astro/orbit.js → astro/orbit.ts} +35 -37
  45. package/src/{og/astro/rotation.js → astro/rotation.ts} +4 -6
  46. package/src/{og/bv/Box.js → bv/Box.ts} +21 -17
  47. package/src/{og/bv/Sphere.js → bv/Sphere.ts} +21 -19
  48. package/src/bv/index.ts +4 -0
  49. package/src/{og/camera/Camera.js → camera/Camera.ts} +254 -197
  50. package/src/{og/camera/Frustum.js → camera/Frustum.ts} +137 -111
  51. package/src/{og/camera/PlanetCamera.js → camera/PlanetCamera.ts} +248 -185
  52. package/src/camera/index.ts +4 -0
  53. package/src/{og/cons.js → cons.ts} +14 -18
  54. package/src/{og/control/Atmosphere.js → control/Atmosphere.ts} +50 -50
  55. package/src/{og/control/CompassButton.js → control/CompassButton.ts} +27 -30
  56. package/src/{og/control/Control.js → control/Control.ts} +76 -70
  57. package/src/{og/control/DebugInfo.js → control/DebugInfo.ts} +130 -62
  58. package/src/{og/control/DrawingSwitcher.js → control/DrawingSwitcher.ts} +16 -22
  59. package/src/control/EarthCoordinates.ts +222 -0
  60. package/src/control/EarthNavigation.ts +293 -0
  61. package/src/{og/control/GeoImageDragControl.js → control/GeoImageDragControl.ts} +37 -29
  62. package/src/control/KeyboardNavigation.ts +168 -0
  63. package/src/{og/control/LayerAnimation.js → control/LayerAnimation.ts} +74 -90
  64. package/src/control/LayerSwitcher.ts +76 -0
  65. package/src/{og/control/Lighting.js → control/Lighting.ts} +158 -120
  66. package/src/control/MouseNavigation.ts +468 -0
  67. package/src/control/MouseWheelZoomControl.ts +269 -0
  68. package/src/{og/control/RulerSwitcher.js → control/RulerSwitcher.ts} +18 -20
  69. package/src/control/ScaleControl.ts +131 -0
  70. package/src/control/SegmentBoundVisualization.ts +50 -0
  71. package/src/control/ShowFps.ts +28 -0
  72. package/src/control/SimpleNavigation.ts +118 -0
  73. package/src/{og/control/SimpleSkyBackground.js → control/SimpleSkyBackground.ts} +36 -38
  74. package/src/{og/control/Sun.js → control/Sun.ts} +56 -64
  75. package/src/control/ToggleWireframe.ts +35 -0
  76. package/src/control/TouchNavigation.ts +368 -0
  77. package/src/control/ZoomControl.ts +111 -0
  78. package/src/control/drawing/DrawingControl.ts +45 -0
  79. package/src/{og/control/drawing/LineStringDrawingScene.js → control/drawing/LineStringDrawingScene.ts} +28 -35
  80. package/src/{og/control/drawing/PolygonDrawingScene.js → control/drawing/PolygonDrawingScene.ts} +148 -201
  81. package/src/{og/control/elevationProfile/ElevationProfile.js → control/elevationProfile/ElevationProfile.ts} +70 -36
  82. package/src/control/heightRuler/HeightRuler.ts +16 -0
  83. package/src/{og/control/heightRuler/HeightRulerScene.js → control/heightRuler/HeightRulerScene.ts} +92 -87
  84. package/src/{og/control/heightRuler/HeightRulerSwitcher.js → control/heightRuler/HeightRulerSwitcher.ts} +3 -3
  85. package/src/control/index.ts +45 -0
  86. package/src/control/ruler/Ruler.ts +35 -0
  87. package/src/{og/control/ruler/RulerScene.js → control/ruler/RulerScene.ts} +163 -121
  88. package/src/{og/control/selection/Selection.js → control/selection/Selection.ts} +23 -21
  89. package/src/{og/control/selection/SelectionScene.js → control/selection/SelectionScene.ts} +64 -50
  90. package/src/{og/control/timeline/TimelineControl.js → control/timeline/TimelineControl.ts} +37 -28
  91. package/src/{og/control/timeline/TimelineModel.js → control/timeline/TimelineModel.ts} +50 -35
  92. package/src/{og/control/timeline/TimelineView.js → control/timeline/TimelineView.ts} +162 -113
  93. package/src/{og/control/timeline/timelineUtils.js → control/timeline/timelineUtils.ts} +11 -10
  94. package/src/{og/control → control}/visibleExtent/Segment.js +5 -5
  95. package/src/{og/control → control}/visibleExtent/VisibleExtent.js +8 -15
  96. package/src/{og/control/visibleExtent/drawnode.js → control/visibleExtent/drawnode.ts} +1 -3
  97. package/src/{og/ellipsoid/Ellipsoid.js → ellipsoid/Ellipsoid.ts} +113 -59
  98. package/src/ellipsoid/index.ts +4 -0
  99. package/src/{og/ellipsoid/wgs84.js → ellipsoid/wgs84.ts} +1 -3
  100. package/src/{og/entity/BaseBillboard.js → entity/BaseBillboard.ts} +128 -102
  101. package/src/entity/BaseBillboardHandler.ts +772 -0
  102. package/src/{og/entity/Billboard.js → entity/Billboard.ts} +77 -47
  103. package/src/entity/BillboardHandler.ts +135 -0
  104. package/src/{og/entity/Entity.js → entity/Entity.ts} +285 -226
  105. package/src/{og/entity/EntityCollection.js → entity/EntityCollection.ts} +340 -247
  106. package/src/{og/entity/GeoObject.js → entity/GeoObject.ts} +122 -67
  107. package/src/{og/entity/GeoObjectHandler.js → entity/GeoObjectHandler.ts} +273 -198
  108. package/src/entity/Geometry.ts +486 -0
  109. package/src/{og/entity/GeometryHandler.js → entity/GeometryHandler.ts} +383 -541
  110. package/src/{og/entity/Label.js → entity/Label.ts} +131 -83
  111. package/src/{og/entity/LabelHandler.js → entity/LabelHandler.ts} +289 -255
  112. package/src/{og/entity/LabelWorker.js → entity/LabelWorker.ts} +26 -36
  113. package/src/{og/entity/PointCloud.js → entity/PointCloud.ts} +200 -164
  114. package/src/entity/PointCloudHandler.ts +125 -0
  115. package/src/{og/entity/Polyline.js → entity/Polyline.ts} +517 -539
  116. package/src/{og/entity/PolylineHandler.js → entity/PolylineHandler.ts} +29 -31
  117. package/src/{og/entity/Ray.js → entity/Ray.ts} +89 -60
  118. package/src/{og/entity/RayHandler.js → entity/RayHandler.ts} +201 -306
  119. package/src/{og/entity/Strip.js → entity/Strip.ts} +143 -100
  120. package/src/{og/entity/StripHandler.js → entity/StripHandler.ts} +76 -72
  121. package/src/entity/index.ts +12 -0
  122. package/src/index.ts +173 -0
  123. package/src/input/KeyboardHandler.ts +196 -0
  124. package/src/{og/input/MouseHandler.js → input/MouseHandler.ts} +46 -35
  125. package/src/input/TouchHandler.ts +54 -0
  126. package/src/{og/input/input.js → input/input.ts} +1 -3
  127. package/src/{og/layer/BaseGeoImage.js → layer/BaseGeoImage.ts} +174 -107
  128. package/src/{og/layer/CanvasTiles.js → layer/CanvasTiles.ts} +139 -105
  129. package/src/{og/layer/GeoImage.js → layer/GeoImage.ts} +62 -52
  130. package/src/layer/GeoTexture2d.ts +56 -0
  131. package/src/{og/layer/GeoVideo.js → layer/GeoVideo.ts} +53 -53
  132. package/src/{og/layer/KML.js → layer/KML.ts} +63 -74
  133. package/src/{og/layer/Layer.js → layer/Layer.ts} +399 -223
  134. package/src/{og/layer/Material.js → layer/Material.ts} +40 -35
  135. package/src/{og/layer/Vector.js → layer/Vector.ts} +319 -267
  136. package/src/{og/layer/WMS.js → layer/WMS.ts} +76 -64
  137. package/src/{og/layer/XYZ.js → layer/XYZ.ts} +123 -98
  138. package/src/layer/index.ts +12 -0
  139. package/src/{og/light/LightSource.js → light/LightSource.ts} +132 -93
  140. package/src/{og/math/Line2.js → math/Line2.ts} +11 -8
  141. package/src/{og/math/Line3.js → math/Line3.ts} +49 -27
  142. package/src/{og/math/Mat3.js → math/Mat3.ts} +43 -27
  143. package/src/{og/math/Mat4.js → math/Mat4.ts} +110 -77
  144. package/src/{og/math/Plane.js → math/Plane.ts} +28 -23
  145. package/src/{og/math/Quat.js → math/Quat.ts} +238 -222
  146. package/src/{og/math/Ray.js → math/Ray.ts} +59 -63
  147. package/src/{og/math/Vec2.js → math/Vec2.ts} +85 -76
  148. package/src/{og/math/Vec3.js → math/Vec3.ts} +141 -140
  149. package/src/{og/math/Vec4.js → math/Vec4.ts} +64 -53
  150. package/src/{og/math/coder.js → math/coder.ts} +30 -27
  151. package/src/math/index.ts +26 -0
  152. package/src/{og/math.js → math.ts} +46 -49
  153. package/src/{og/mercator.js → mercator.ts} +143 -149
  154. package/src/{og/proj/EPSG3857.js → proj/EPSG3857.ts} +1 -3
  155. package/src/{og/proj/EPSG4326.js → proj/EPSG4326.ts} +11 -13
  156. package/src/{og/proj/Proj.js → proj/Proj.ts} +27 -23
  157. package/src/{og/quadTree/EPSG4326QuadTreeStrategy.js → quadTree/EPSG4326QuadTreeStrategy.ts} +10 -13
  158. package/src/{og/quadTree/EarthQuadTreeStrategy.js → quadTree/EarthQuadTreeStrategy.ts} +11 -13
  159. package/src/quadTree/EntityCollectionNode.ts +395 -0
  160. package/src/{og/quadTree/MarsQuadTreeStrategy.js → quadTree/MarsQuadTreeStrategy.ts} +10 -13
  161. package/src/{og/quadTree/Node.js → quadTree/Node.ts} +283 -191
  162. package/src/{og/quadTree/QuadTreeStrategy.js → quadTree/QuadTreeStrategy.ts} +35 -29
  163. package/src/quadTree/Wgs84QuadTreeStrategy.ts +22 -0
  164. package/src/quadTree/index.ts +14 -0
  165. package/src/{og/quadTree/quadTree.js → quadTree/quadTree.ts} +75 -77
  166. package/src/{og/renderer/Renderer.js → renderer/Renderer.ts} +454 -298
  167. package/src/{og/renderer/RendererEvents.js → renderer/RendererEvents.ts} +347 -270
  168. package/src/{og/scene/Axes.js → scene/Axes.ts} +26 -22
  169. package/src/{og/scene/BaseNode.js → scene/BaseNode.ts} +53 -47
  170. package/src/{og/scene/Planet.js → scene/Planet.ts} +777 -595
  171. package/src/{og/scene/RenderNode.js → scene/RenderNode.ts} +105 -91
  172. package/src/{og/scene/SkyBox.js → scene/SkyBox.ts} +29 -25
  173. package/src/scene/index.ts +6 -0
  174. package/src/{og/segment/Segment.js → segment/Segment.ts} +497 -371
  175. package/src/{og/segment/SegmentLonLat.js → segment/SegmentLonLat.ts} +81 -87
  176. package/src/{og/segment/SegmentLonLatWgs84.js → segment/SegmentLonLatWgs84.ts} +9 -16
  177. package/src/{og/segment/Slice.js → segment/Slice.ts} +15 -9
  178. package/src/{og/segment/segmentHelper.js → segment/segmentHelper.ts} +57 -49
  179. package/src/{og/shaders/atmos.js → shaders/atmos.ts} +4 -6
  180. package/src/{og/shaders/billboard.js → shaders/billboard.ts} +3 -5
  181. package/src/{og/shaders/bloom.js → shaders/bloom.ts} +2 -4
  182. package/src/{og/shaders/blur.js → shaders/blur.ts} +4 -7
  183. package/src/{og/shaders/depth.js → shaders/depth.ts} +1 -3
  184. package/src/{og/shaders/drawnode.js → shaders/drawnode.ts} +19 -21
  185. package/src/{og/shaders/geoObject.js → shaders/geoObject.ts} +17 -19
  186. package/src/{og/shaders/label.js → shaders/label.ts} +4 -6
  187. package/src/{og/shaders/lumFilter.js → shaders/lumFilter.ts} +2 -4
  188. package/src/{og/shaders/pickingMask.js → shaders/pickingMask.ts} +2 -4
  189. package/src/{og/shaders/pointCloud.js → shaders/pointCloud.ts} +7 -10
  190. package/src/{og/shaders/polyline.js → shaders/polyline.ts} +3 -200
  191. package/src/{og/shaders/ray.js → shaders/ray.ts} +2 -4
  192. package/src/{og/shaders/screenFrame.js → shaders/screenFrame.ts} +2 -4
  193. package/src/{og/shaders/skybox.js → shaders/skybox.ts} +7 -9
  194. package/src/{og/shaders/toneMapping.js → shaders/toneMapping.ts} +2 -4
  195. package/src/{og/shaders/utils.js → shaders/utils.ts} +0 -2
  196. package/src/{og/terrain/BilTerrain.js → terrain/BilTerrain.ts} +38 -32
  197. package/src/terrain/EmptyTerrain.ts +230 -0
  198. package/src/{og/terrain/Geoid.js → terrain/Geoid.ts} +67 -41
  199. package/src/{og/terrain/GlobusTerrain.js → terrain/GlobusTerrain.ts} +159 -153
  200. package/src/{og/terrain/MapboxTerrain.js → terrain/MapboxTerrain.ts} +58 -61
  201. package/src/terrain/index.ts +6 -0
  202. package/src/ui/Button.ts +121 -0
  203. package/src/ui/ButtonGroup.ts +63 -0
  204. package/src/ui/Dialog.ts +244 -0
  205. package/src/ui/Slider.ts +188 -0
  206. package/src/ui/ToggleButton.ts +68 -0
  207. package/src/{og/ui/View.js → ui/View.ts} +66 -59
  208. package/src/utils/BaseWorker.ts +60 -0
  209. package/src/utils/FontAtlas.ts +356 -0
  210. package/src/{og/utils/GeoImageCreator.js → utils/GeoImageCreator.ts} +45 -29
  211. package/src/{og/utils/ImagesCacheManager.js → utils/ImagesCacheManager.ts} +85 -70
  212. package/src/utils/Loader.ts +247 -0
  213. package/src/{og/utils/NormalMapCreator.js → utils/NormalMapCreator.ts} +114 -77
  214. package/src/{og/utils/PlainSegmentWorker.js → utils/PlainSegmentWorker.ts} +41 -24
  215. package/src/{og/utils/TerrainWorker.js → utils/TerrainWorker.ts} +51 -36
  216. package/src/utils/TextureAtlas.ts +322 -0
  217. package/src/{og/utils/VectorTileCreator.js → utils/VectorTileCreator.ts} +67 -52
  218. package/src/{og/utils/colorTable.js → utils/colorTable.ts} +142 -144
  219. package/src/{og/utils/earcut.js → utils/earcut.ts} +664 -661
  220. package/src/{og/utils/objParser.js → utils/objParser.ts} +66 -37
  221. package/src/{og/utils/shared.js → utils/shared.ts} +267 -206
  222. package/src/utils/units.ts +78 -0
  223. package/src/webgl/BaseFramebuffer.ts +125 -0
  224. package/src/webgl/Framebuffer.ts +206 -0
  225. package/src/webgl/Handler.ts +1414 -0
  226. package/src/webgl/Multisample.ts +153 -0
  227. package/src/webgl/Program.ts +451 -0
  228. package/src/{og/webgl/ProgramController.js → webgl/ProgramController.ts} +44 -43
  229. package/src/webgl/index.ts +13 -0
  230. package/src/{og/webgl/types.js → webgl/types.ts} +29 -31
  231. package/src/webgl/variableHandlers.ts +114 -0
  232. package/src/og/Deferred.js +0 -11
  233. package/src/og/Events.js +0 -185
  234. package/src/og/Globe.js +0 -342
  235. package/src/og/Lock.js +0 -44
  236. package/src/og/Popup.js +0 -187
  237. package/src/og/Stack.js +0 -49
  238. package/src/og/bv/index.js +0 -4
  239. package/src/og/camera/index.js +0 -4
  240. package/src/og/control/EarthCoordinates.js +0 -214
  241. package/src/og/control/EarthNavigation.js +0 -258
  242. package/src/og/control/KeyboardNavigation.js +0 -149
  243. package/src/og/control/LayerSwitcher.js +0 -424
  244. package/src/og/control/MouseNavigation.js +0 -436
  245. package/src/og/control/MouseWheelZoomControl.js +0 -253
  246. package/src/og/control/ScaleControl.js +0 -119
  247. package/src/og/control/SegmentBoundVisualization.js +0 -54
  248. package/src/og/control/ShowFps.js +0 -40
  249. package/src/og/control/SimpleNavigation.js +0 -123
  250. package/src/og/control/ToggleWireframe.js +0 -35
  251. package/src/og/control/TouchNavigation.js +0 -350
  252. package/src/og/control/ZoomControl.js +0 -115
  253. package/src/og/control/drawing/DrawingControl.js +0 -51
  254. package/src/og/control/heightRuler/HeightRuler.js +0 -12
  255. package/src/og/control/index.js +0 -56
  256. package/src/og/control/ruler/Ruler.js +0 -39
  257. package/src/og/ellipsoid/index.js +0 -4
  258. package/src/og/entity/BillboardHandler.js +0 -883
  259. package/src/og/entity/Geometry.js +0 -320
  260. package/src/og/entity/PointCloudHandler.js +0 -122
  261. package/src/og/entity/index.js +0 -9
  262. package/src/og/index.js +0 -112
  263. package/src/og/input/KeyboardHandler.js +0 -128
  264. package/src/og/input/TouchHandler.js +0 -59
  265. package/src/og/layer/GeoTexture2d.js +0 -50
  266. package/src/og/layer/index.js +0 -11
  267. package/src/og/math/index.js +0 -23
  268. package/src/og/quadTree/EntityCollectionNode.js +0 -391
  269. package/src/og/quadTree/Wgs84QuadTreeStrategy.js +0 -27
  270. package/src/og/quadTree/index.js +0 -14
  271. package/src/og/res/images.js +0 -8
  272. package/src/og/scene/index.js +0 -5
  273. package/src/og/terrain/EmptyTerrain.js +0 -174
  274. package/src/og/terrain/index.js +0 -6
  275. package/src/og/ui/Button.js +0 -107
  276. package/src/og/ui/ButtonGroup.js +0 -57
  277. package/src/og/ui/Dialog.js +0 -239
  278. package/src/og/ui/Slider.js +0 -170
  279. package/src/og/ui/ToggleButton.js +0 -51
  280. package/src/og/ui/UIhelpers.js +0 -155
  281. package/src/og/utils/BaseWorker.js +0 -46
  282. package/src/og/utils/FontAtlas.js +0 -218
  283. package/src/og/utils/Loader.js +0 -188
  284. package/src/og/utils/TextureAtlas.js +0 -291
  285. package/src/og/utils/functionComposition.js +0 -13
  286. package/src/og/utils/units.js +0 -78
  287. package/src/og/webgl/Framebuffer.js +0 -311
  288. package/src/og/webgl/Handler.js +0 -1168
  289. package/src/og/webgl/Multisample.js +0 -275
  290. package/src/og/webgl/Program.js +0 -407
  291. package/src/og/webgl/callbacks.js +0 -98
  292. package/src/og/webgl/index.js +0 -13
  293. package/src/og.jsdoc +0 -3
  294. package/types/Clock.d.ts +0 -99
  295. package/types/Deferred.d.ts +0 -6
  296. package/types/Events.d.ts +0 -78
  297. package/types/Extent.d.ts +0 -166
  298. package/types/Globe.d.ts +0 -108
  299. package/types/ImageCanvas.d.ts +0 -128
  300. package/types/Lock.d.ts +0 -12
  301. package/types/LonLat.d.ts +0 -127
  302. package/types/Object3d.d.ts +0 -35
  303. package/types/Popup.d.ts +0 -29
  304. package/types/QueueArray.d.ts +0 -19
  305. package/types/Rectangle.d.ts +0 -80
  306. package/types/Stack.d.ts +0 -19
  307. package/types/arial.d.ts +0 -49
  308. package/types/astro/astro.d.ts +0 -38
  309. package/types/astro/earth.d.ts +0 -7
  310. package/types/astro/jd.d.ts +0 -254
  311. package/types/bv/Box.d.ts +0 -30
  312. package/types/bv/Sphere.d.ts +0 -38
  313. package/types/bv/index.d.ts +0 -3
  314. package/types/camera/Camera.d.ts +0 -314
  315. package/types/camera/Frustum.d.ts +0 -133
  316. package/types/camera/PlanetCamera.d.ts +0 -219
  317. package/types/camera/index.d.ts +0 -3
  318. package/types/cons.d.ts +0 -40
  319. package/types/control/Atmosphere.d.ts +0 -15
  320. package/types/control/CompassButton.d.ts +0 -16
  321. package/types/control/Control.d.ts +0 -104
  322. package/types/control/DebugInfo.d.ts +0 -19
  323. package/types/control/DrawingSwitcher.d.ts +0 -13
  324. package/types/control/EarthCoordinates.d.ts +0 -44
  325. package/types/control/EarthNavigation.d.ts +0 -43
  326. package/types/control/GeoImageDragControl.d.ts +0 -14
  327. package/types/control/KeyboardNavigation.d.ts +0 -24
  328. package/types/control/LayerAnimation.d.ts +0 -73
  329. package/types/control/LayerSwitcher.d.ts +0 -64
  330. package/types/control/Lighting.d.ts +0 -41
  331. package/types/control/MouseNavigation.d.ts +0 -49
  332. package/types/control/MouseWheelZoomControl.d.ts +0 -46
  333. package/types/control/ScaleControl.d.ts +0 -23
  334. package/types/control/ShowFps.d.ts +0 -11
  335. package/types/control/SimpleNavigation.d.ts +0 -26
  336. package/types/control/SimpleSkyBackground.d.ts +0 -15
  337. package/types/control/Sun.d.ts +0 -53
  338. package/types/control/ToggleWireframe.d.ts +0 -12
  339. package/types/control/TouchNavigation.d.ts +0 -54
  340. package/types/control/ZoomControl.d.ts +0 -26
  341. package/types/control/drawing/DrawingControl.d.ts +0 -14
  342. package/types/control/drawing/LineStringDrawingScene.d.ts +0 -5
  343. package/types/control/drawing/PolygonDrawingScene.d.ts +0 -99
  344. package/types/control/heightRuler/HeightRuler.d.ts +0 -6
  345. package/types/control/heightRuler/HeightRulerScene.d.ts +0 -23
  346. package/types/control/index.d.ts +0 -27
  347. package/types/control/ruler/Ruler.d.ts +0 -13
  348. package/types/control/ruler/RulerScene.d.ts +0 -51
  349. package/types/control/selection/Selection.d.ts +0 -49
  350. package/types/control/selection/SelectionScene.d.ts +0 -32
  351. package/types/control/timeline/TimelineControl.d.ts +0 -10
  352. package/types/control/timeline/TimelineModel.d.ts +0 -33
  353. package/types/control/timeline/TimelineView.d.ts +0 -57
  354. package/types/control/timeline/timelineUtils.d.ts +0 -9
  355. package/types/ellipsoid/Ellipsoid.d.ts +0 -170
  356. package/types/ellipsoid/index.d.ts +0 -3
  357. package/types/ellipsoid/wgs84.d.ts +0 -6
  358. package/types/entity/BaseBillboard.d.ts +0 -215
  359. package/types/entity/Billboard.d.ts +0 -94
  360. package/types/entity/BillboardHandler.d.ts +0 -75
  361. package/types/entity/Entity.d.ts +0 -340
  362. package/types/entity/EntityCollection.d.ts +0 -303
  363. package/types/entity/GeoObject.d.ts +0 -117
  364. package/types/entity/GeoObjectHandler.d.ts +0 -41
  365. package/types/entity/Geometry.d.ts +0 -79
  366. package/types/entity/GeometryHandler.d.ts +0 -76
  367. package/types/entity/Label.d.ts +0 -190
  368. package/types/entity/LabelHandler.d.ts +0 -31
  369. package/types/entity/LabelWorker.d.ts +0 -9
  370. package/types/entity/PointCloud.d.ts +0 -174
  371. package/types/entity/PointCloudHandler.d.ts +0 -38
  372. package/types/entity/Polyline.d.ts +0 -307
  373. package/types/entity/PolylineHandler.d.ts +0 -18
  374. package/types/entity/Ray.d.ts +0 -122
  375. package/types/entity/RayHandler.d.ts +0 -63
  376. package/types/entity/Strip.d.ts +0 -119
  377. package/types/entity/StripHandler.d.ts +0 -38
  378. package/types/entity/index.d.ts +0 -8
  379. package/types/index.d.ts +0 -53
  380. package/types/input/KeyboardHandler.d.ts +0 -10
  381. package/types/input/MouseHandler.d.ts +0 -5
  382. package/types/input/TouchHandler.d.ts +0 -5
  383. package/types/input/input.d.ts +0 -42
  384. package/types/layer/BaseGeoImage.d.ts +0 -116
  385. package/types/layer/CanvasTiles.d.ts +0 -73
  386. package/types/layer/GeoImage.d.ts +0 -51
  387. package/types/layer/GeoTexture2d.d.ts +0 -7
  388. package/types/layer/GeoVideo.d.ts +0 -47
  389. package/types/layer/KML.d.ts +0 -93
  390. package/types/layer/Layer.d.ts +0 -320
  391. package/types/layer/Material.d.ts +0 -45
  392. package/types/layer/Vector.d.ts +0 -211
  393. package/types/layer/WMS.d.ts +0 -66
  394. package/types/layer/XYZ.d.ts +0 -122
  395. package/types/layer/index.d.ts +0 -10
  396. package/types/light/LightSource.d.ts +0 -178
  397. package/types/math/Line2.d.ts +0 -11
  398. package/types/math/Line3.d.ts +0 -10
  399. package/types/math/Mat3.d.ts +0 -65
  400. package/types/math/Mat4.d.ts +0 -176
  401. package/types/math/Plane.d.ts +0 -18
  402. package/types/math/Quat.d.ts +0 -379
  403. package/types/math/Ray.d.ts +0 -82
  404. package/types/math/Vec2.d.ts +0 -309
  405. package/types/math/Vec3.d.ts +0 -472
  406. package/types/math/Vec4.d.ts +0 -161
  407. package/types/math/coder.d.ts +0 -43
  408. package/types/math/index.d.ts +0 -11
  409. package/types/math.d.ts +0 -268
  410. package/types/mercator.d.ts +0 -92
  411. package/types/proj/EPSG3857.d.ts +0 -6
  412. package/types/proj/EPSG4326.d.ts +0 -6
  413. package/types/proj/Proj.d.ts +0 -42
  414. package/types/quadTree/EPSG4326QuadTreeStrategy.d.ts +0 -3
  415. package/types/quadTree/EarthQuadTreeStrategy.d.ts +0 -3
  416. package/types/quadTree/EntityCollectionNode.d.ts +0 -41
  417. package/types/quadTree/MarsQuadTreeStrategy.d.ts +0 -3
  418. package/types/quadTree/Node.d.ts +0 -58
  419. package/types/quadTree/QuadTreeStrategy.d.ts +0 -21
  420. package/types/quadTree/Wgs84QuadTreeStrategy.d.ts +0 -3
  421. package/types/quadTree/index.d.ts +0 -12
  422. package/types/quadTree/quadTree.d.ts +0 -40
  423. package/types/renderer/Renderer.d.ts +0 -291
  424. package/types/renderer/RendererEvents.d.ts +0 -255
  425. package/types/res/images.d.ts +0 -2
  426. package/types/scene/Axes.d.ts +0 -10
  427. package/types/scene/BaseNode.d.ts +0 -60
  428. package/types/scene/Planet.d.ts +0 -595
  429. package/types/scene/RenderNode.d.ts +0 -152
  430. package/types/scene/SkyBox.d.ts +0 -9
  431. package/types/scene/index.d.ts +0 -4
  432. package/types/segment/Segment.d.ts +0 -273
  433. package/types/segment/SegmentLonLat.d.ts +0 -22
  434. package/types/segment/SegmentLonLatWgs84.d.ts +0 -4
  435. package/types/segment/Slice.d.ts +0 -10
  436. package/types/segment/segmentHelper.d.ts +0 -13
  437. package/types/shaders/atmos.d.ts +0 -4
  438. package/types/shaders/billboard.d.ts +0 -3
  439. package/types/shaders/depth.d.ts +0 -2
  440. package/types/shaders/drawnode.d.ts +0 -8
  441. package/types/shaders/geoObject.d.ts +0 -3
  442. package/types/shaders/label.d.ts +0 -4
  443. package/types/shaders/pickingMask.d.ts +0 -2
  444. package/types/shaders/pointCloud.d.ts +0 -2
  445. package/types/shaders/polyline.d.ts +0 -3
  446. package/types/shaders/ray.d.ts +0 -2
  447. package/types/shaders/screenFrame.d.ts +0 -2
  448. package/types/shaders/skybox.d.ts +0 -2
  449. package/types/shaders/toneMapping.d.ts +0 -2
  450. package/types/shaders/utils.d.ts +0 -1
  451. package/types/terrain/BilTerrain.d.ts +0 -14
  452. package/types/terrain/EmptyTerrain.d.ts +0 -87
  453. package/types/terrain/Geoid.d.ts +0 -17
  454. package/types/terrain/GlobusTerrain.d.ts +0 -122
  455. package/types/terrain/MapboxTerrain.d.ts +0 -14
  456. package/types/terrain/index.d.ts +0 -5
  457. package/types/ui/Button.d.ts +0 -21
  458. package/types/ui/ButtonGroup.d.ts +0 -12
  459. package/types/ui/Dialog.d.ts +0 -41
  460. package/types/ui/Slider.d.ts +0 -33
  461. package/types/ui/ToggleButton.d.ts +0 -10
  462. package/types/ui/UIhelpers.d.ts +0 -13
  463. package/types/ui/View.d.ts +0 -33
  464. package/types/ui/icons.d.ts +0 -1
  465. package/types/utils/BaseWorker.d.ts +0 -14
  466. package/types/utils/FontAtlas.d.ts +0 -16
  467. package/types/utils/GeoImageCreator.d.ts +0 -30
  468. package/types/utils/ImagesCacheManager.d.ts +0 -10
  469. package/types/utils/Loader.d.ts +0 -31
  470. package/types/utils/NormalMapCreator.d.ts +0 -39
  471. package/types/utils/PlainSegmentWorker.d.ts +0 -8
  472. package/types/utils/TerrainWorker.d.ts +0 -7
  473. package/types/utils/TextureAtlas.d.ts +0 -113
  474. package/types/utils/VectorTileCreator.d.ts +0 -14
  475. package/types/utils/colorTable.d.ts +0 -143
  476. package/types/utils/earcut.d.ts +0 -6
  477. package/types/utils/functionComposition.d.ts +0 -5
  478. package/types/utils/objParser.d.ts +0 -8
  479. package/types/utils/shared.d.ts +0 -241
  480. package/types/utils/units.d.ts +0 -20
  481. package/types/webgl/Framebuffer.d.ts +0 -134
  482. package/types/webgl/Handler.d.ts +0 -403
  483. package/types/webgl/Multisample.d.ts +0 -91
  484. package/types/webgl/Program.d.ts +0 -163
  485. package/types/webgl/ProgramController.d.ts +0 -89
  486. package/types/webgl/callbacks.d.ts +0 -1
  487. package/types/webgl/index.d.ts +0 -6
  488. package/types/webgl/types.d.ts +0 -2
  489. /package/{src/og → dist/@openglobus/res/fonts}/arial.js +0 -0
  490. /package/src/{og/ui/icons.js → ui/icons.ts} +0 -0
@@ -1,8 +1,25 @@
1
- "use strict";
2
-
3
- import { Line3 } from "../math/Line3.js";
4
- import { Vec3 } from "../math/Vec3.js";
5
- import * as utils from "../utils/shared.js";
1
+ import * as utils from "../utils/shared";
2
+ import {Entity} from "./Entity";
3
+ import {Line3} from "../math/Line3";
4
+ import {RenderNode} from "../scene/RenderNode";
5
+ import {NumberArray3, Vec3} from "../math/Vec3";
6
+ import {NumberArray4, Vec4} from "../math/Vec4";
7
+ import {StripHandler} from "./StripHandler";
8
+ import {WebGLBufferExt} from "../webgl/Handler";
9
+
10
+ type TPoiExt = Vec3 | NumberArray3;
11
+ type TStripExt = [TPoiExt, TPoiExt];
12
+
13
+ type TPoi = Vec3;
14
+ type TStrip = [TPoi, TPoi];
15
+
16
+ //type TStrip = TEdge[];
17
+ export interface IStripParams {
18
+ visibility?: boolean;
19
+ color?: string | NumberArray4 | Vec4;
20
+ opacity?: number;
21
+ path?: TStrip[];
22
+ }
6
23
 
7
24
  let _tempHigh = new Vec3(),
8
25
  _tempLow = new Vec3();
@@ -24,22 +41,57 @@ let _tempHigh = new Vec3(),
24
41
  * });
25
42
  */
26
43
  class Strip {
27
- constructor(options) {
28
- options = options || {};
29
44
 
30
- /**
31
- * Object unic identifier.
32
- * @public
33
- * @readonly
34
- * @type {number}
35
- */
36
- this.id = Strip._staticCounter++;
45
+ static __counter__: number = 0;
46
+
47
+ protected __id: number;
48
+
49
+ /**
50
+ * Strip visibility.
51
+ * @public
52
+ * @type {boolean}
53
+ */
54
+ public visibility: boolean;
55
+
56
+ public color: Float32Array;
57
+
58
+ /**
59
+ * Parent collection render node.
60
+ * @protected
61
+ * @type {RenderNode}
62
+ */
63
+ protected _renderNode: RenderNode | null;
64
+
65
+ /**
66
+ * Entity instance that holds this strip.
67
+ * @public
68
+ * @type {Entity}
69
+ */
70
+ public _entity: Entity | null;
71
+ protected _verticesHighBuffer: WebGLBufferExt | null;
72
+ protected _verticesLowBuffer: WebGLBufferExt | null;
73
+ protected _indexBuffer: WebGLBufferExt | null;
74
+ protected _verticesHigh: number[];
75
+ protected _verticesLow: number[];
76
+ protected _indexes: number[];
77
+ protected _path: TStrip[];
78
+
79
+ protected _pickingColor: Float32Array;
80
+
81
+ protected _gridSize: number;
82
+
83
+ /**
84
+ * Handler that stores and renders this object.
85
+ * @public
86
+ * @type {StripHandler | null}
87
+ */
88
+ public _handler: StripHandler | null;
89
+ public _handlerIndex: number;
90
+
91
+ constructor(options: IStripParams = {}) {
92
+
93
+ this.__id = Strip.__counter__++;
37
94
 
38
- /**
39
- * Cloud visibility.
40
- * @public
41
- * @type {boolean}
42
- */
43
95
  this.visibility = options.visibility != undefined ? options.visibility : true;
44
96
 
45
97
  this.color = new Float32Array([1.0, 1.0, 1.0, 0.5]);
@@ -55,14 +107,14 @@ class Strip {
55
107
 
56
108
  /**
57
109
  * Parent collection render node.
58
- * @private
110
+ * @protected
59
111
  * @type {RenderNode}
60
112
  */
61
113
  this._renderNode = null;
62
114
 
63
115
  /**
64
116
  * Entity instance that holds this strip.
65
- * @private
117
+ * @protected
66
118
  * @type {Entity}
67
119
  */
68
120
  this._entity = null;
@@ -70,7 +122,7 @@ class Strip {
70
122
  this._verticesHighBuffer = null;
71
123
  this._verticesLowBuffer = null;
72
124
 
73
- this._indexesBuffer = null;
125
+ this._indexBuffer = null;
74
126
 
75
127
  this._verticesHigh = [];
76
128
  this._verticesLow = [];
@@ -85,7 +137,7 @@ class Strip {
85
137
 
86
138
  /**
87
139
  * Handler that stores and renders this object.
88
- * @private
140
+ * @protected
89
141
  * @type {StripHandler}
90
142
  */
91
143
  this._handler = null;
@@ -96,23 +148,12 @@ class Strip {
96
148
  }
97
149
  }
98
150
 
99
- static get _staticCounter() {
100
- if (!this._counter && this._counter !== 0) {
101
- this._counter = 0;
102
- }
103
- return this._counter;
104
- }
105
-
106
- static set _staticCounter(n) {
107
- this._counter = n;
108
- }
109
-
110
151
  /**
111
152
  * Assign picking color.
112
- * @protected
153
+ * @public
113
154
  * @param {Vec3} color - Picking RGB color.
114
155
  */
115
- setPickingColor3v(color) {
156
+ public setPickingColor3v(color: Vec3) {
116
157
  this._pickingColor[0] = color.x / 255.0;
117
158
  this._pickingColor[1] = color.y / 255.0;
118
159
  this._pickingColor[2] = color.z / 255.0;
@@ -123,7 +164,7 @@ class Strip {
123
164
  * Clears object
124
165
  * @public
125
166
  */
126
- clear() {
167
+ public clear() {
127
168
  this._path.length = 0;
128
169
  this._path = [];
129
170
 
@@ -139,7 +180,7 @@ class Strip {
139
180
  this._deleteBuffers();
140
181
  }
141
182
 
142
- setColor(r, g, b, a) {
183
+ public setColor(r: number, g: number, b: number, a?: number) {
143
184
  a = a || this.color[3];
144
185
  this.color[0] = r;
145
186
  this.color[1] = g;
@@ -152,23 +193,23 @@ class Strip {
152
193
  * @public
153
194
  * @param {number} opacity - opacity.
154
195
  */
155
- setOpacity(opacity) {
196
+ public setOpacity(opacity: number) {
156
197
  this.color[3] = opacity || 0;
157
198
  }
158
199
 
159
200
  /**
160
201
  * Sets cloud visibility.
161
202
  * @public
162
- * @param {number} visibility - Visibility flag.
203
+ * @param {boolean} visibility - Visibility flag.
163
204
  */
164
- setVisibility(visibility) {
205
+ public setVisibility(visibility: boolean) {
165
206
  this.visibility = visibility;
166
207
  }
167
208
 
168
209
  /**
169
- * @return {boolean} Strip visibily.
210
+ * @return {boolean} Strip visibility.
170
211
  */
171
- getVisibility() {
212
+ public getVisibility(): boolean {
172
213
  return this.visibility;
173
214
  }
174
215
 
@@ -177,7 +218,7 @@ class Strip {
177
218
  * @public
178
219
  * @param {RenderNode} renderNode - Assigned render node.
179
220
  */
180
- setRenderNode(renderNode) {
221
+ public setRenderNode(renderNode: RenderNode) {
181
222
  this._renderNode = renderNode;
182
223
  this._createBuffers();
183
224
  }
@@ -186,18 +227,18 @@ class Strip {
186
227
  * Removes from entity.
187
228
  * @public
188
229
  */
189
- remove() {
230
+ public remove() {
190
231
  this._entity = null;
191
232
  this._handler && this._handler.remove(this);
192
233
  }
193
234
 
194
- draw() {
235
+ public draw() {
195
236
  if (this.visibility && this._verticesHigh.length) {
196
- var r = this._renderNode.renderer;
237
+ let r = this._renderNode!.renderer!;
197
238
 
198
- var gl = r.handler.gl;
239
+ let gl = r.handler.gl!;
199
240
 
200
- var sh = r.handler.programs.strip,
241
+ let sh = r.handler.programs.strip,
201
242
  p = sh._program,
202
243
  sha = p.attributes,
203
244
  shu = p.uniforms;
@@ -206,36 +247,37 @@ class Strip {
206
247
 
207
248
  gl.disable(gl.CULL_FACE);
208
249
 
209
- gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera.getViewMatrix());
210
- gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera.getProjectionMatrix());
250
+ gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera!.getViewMatrix());
251
+ gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera!.getProjectionMatrix());
211
252
 
212
- gl.uniform3fv(shu.eyePositionHigh, r.activeCamera.eyeHigh);
213
- gl.uniform3fv(shu.eyePositionLow, r.activeCamera.eyeLow);
253
+ gl.uniform3fv(shu.eyePositionHigh, r.activeCamera!.eyeHigh);
254
+ gl.uniform3fv(shu.eyePositionLow, r.activeCamera!.eyeLow);
214
255
 
215
256
  gl.uniform4fv(shu.uColor, this.color);
216
- gl.uniform1f(shu.uOpacity, this._entity._entityCollection._fadingOpacity);
217
- gl.bindBuffer(gl.ARRAY_BUFFER, this._verticesHighBuffer);
257
+
258
+ gl.uniform1f(shu.uOpacity, this._entity!._entityCollection!._fadingOpacity);
259
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._verticesHighBuffer as WebGLBuffer);
218
260
  gl.vertexAttribPointer(
219
261
  sha.aVertexPositionHigh,
220
- this._verticesHighBuffer.itemSize,
262
+ this._verticesHighBuffer!.itemSize,
221
263
  gl.FLOAT,
222
264
  false,
223
265
  0,
224
266
  0
225
267
  );
226
- gl.bindBuffer(gl.ARRAY_BUFFER, this._verticesLowBuffer);
268
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._verticesLowBuffer as WebGLBuffer);
227
269
  gl.vertexAttribPointer(
228
270
  sha.aVertexPositionLow,
229
- this._verticesLowBuffer.itemSize,
271
+ this._verticesLowBuffer!.itemSize,
230
272
  gl.FLOAT,
231
273
  false,
232
274
  0,
233
275
  0
234
276
  );
235
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indexBuffer);
277
+ gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indexBuffer as WebGLBuffer);
236
278
  gl.drawElements(
237
- r.handler.gl.TRIANGLE_STRIP,
238
- this._indexBuffer.numItems,
279
+ r.handler.gl!.TRIANGLE_STRIP,
280
+ this._indexBuffer!.numItems,
239
281
  gl.UNSIGNED_INT,
240
282
  0
241
283
  );
@@ -246,11 +288,11 @@ class Strip {
246
288
 
247
289
  drawPicking() {
248
290
  if (this.visibility && this._verticesHigh.length) {
249
- var r = this._renderNode.renderer;
291
+ let r = this._renderNode!.renderer!;
250
292
 
251
- var gl = r.handler.gl;
293
+ let gl = r.handler.gl!;
252
294
 
253
- var sh = r.handler.programs.strip,
295
+ let sh = r.handler.programs.strip,
254
296
  p = sh._program,
255
297
  sha = p.attributes,
256
298
  shu = p.uniforms;
@@ -259,36 +301,37 @@ class Strip {
259
301
 
260
302
  gl.disable(gl.CULL_FACE);
261
303
 
262
- gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera.getViewMatrix());
263
- gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera.getProjectionMatrix());
304
+ gl.uniformMatrix4fv(shu.viewMatrix, false, r.activeCamera!.getViewMatrix());
305
+ gl.uniformMatrix4fv(shu.projectionMatrix, false, r.activeCamera!.getProjectionMatrix());
306
+
307
+ gl.uniform3fv(shu.eyePositionHigh, r.activeCamera!.eyeHigh);
308
+ gl.uniform3fv(shu.eyePositionLow, r.activeCamera!.eyeLow);
264
309
 
265
- gl.uniform3fv(shu.eyePositionHigh, r.activeCamera.eyeHigh);
266
- gl.uniform3fv(shu.eyePositionLow, r.activeCamera.eyeLow);
267
- gl.uniform1f(shu.uOpacity, this._entity._entityCollection._fadingOpacity != 0 ? 1 : 0);
310
+ gl.uniform1f(shu.uOpacity, this._entity!._entityCollection!._fadingOpacity != 0 ? 1 : 0);
268
311
 
269
312
  gl.uniform4fv(shu.uColor, this._pickingColor);
270
- gl.bindBuffer(gl.ARRAY_BUFFER, this._verticesHighBuffer);
313
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._verticesHighBuffer as WebGLBuffer);
271
314
  gl.vertexAttribPointer(
272
315
  sha.aVertexPositionHigh,
273
- this._verticesHighBuffer.itemSize,
316
+ this._verticesHighBuffer!.itemSize,
274
317
  gl.FLOAT,
275
318
  false,
276
319
  0,
277
320
  0
278
321
  );
279
- gl.bindBuffer(gl.ARRAY_BUFFER, this._verticesLowBuffer);
322
+ gl.bindBuffer(gl.ARRAY_BUFFER, this._verticesLowBuffer as WebGLBuffer);
280
323
  gl.vertexAttribPointer(
281
324
  sha.aVertexPositionLow,
282
- this._verticesLowBuffer.itemSize,
325
+ this._verticesLowBuffer!.itemSize,
283
326
  gl.FLOAT,
284
327
  false,
285
328
  0,
286
329
  0
287
330
  );
288
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indexBuffer);
331
+ gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, this._indexBuffer as WebGLBuffer);
289
332
  gl.drawElements(
290
- r.handler.gl.TRIANGLE_STRIP,
291
- this._indexBuffer.numItems,
333
+ r.handler.gl!.TRIANGLE_STRIP,
334
+ this._indexBuffer!.numItems,
292
335
  gl.UNSIGNED_INT,
293
336
  0
294
337
  );
@@ -299,29 +342,29 @@ class Strip {
299
342
 
300
343
  /**
301
344
  * Delete buffers
302
- * @private
345
+ * @public
303
346
  */
304
- _deleteBuffers() {
347
+ public _deleteBuffers() {
305
348
  if (this._renderNode && this._renderNode.renderer) {
306
- var r = this._renderNode.renderer,
307
- gl = r.handler.gl;
349
+ let r = this._renderNode.renderer,
350
+ gl = r.handler.gl!;
308
351
 
309
- gl.deleteBuffer(this._indexBuffer);
310
- gl.deleteBuffer(this._verticesHighBuffer);
311
- gl.deleteBuffer(this._verticesLowBuffer);
352
+ gl.deleteBuffer(this._indexBuffer!);
353
+ gl.deleteBuffer(this._verticesHighBuffer!);
354
+ gl.deleteBuffer(this._verticesLowBuffer!);
312
355
  }
313
356
  this._verticesHighBuffer = null;
314
357
  this._verticesLowBuffer = null;
315
358
  this._indexBuffer = null;
316
359
  }
317
360
 
318
- _createBuffers() {
361
+ protected _createBuffers() {
319
362
  if (this._renderNode && this._renderNode.renderer && this._renderNode.renderer.isInitialized()) {
320
- var gl = this._renderNode.renderer.handler.gl;
363
+ let gl = this._renderNode.renderer.handler.gl!;
321
364
 
322
- gl.deleteBuffer(this._indexBuffer);
323
- gl.deleteBuffer(this._verticesHighBuffer);
324
- gl.deleteBuffer(this._verticesLowBuffer);
365
+ gl.deleteBuffer(this._indexBuffer as WebGLBuffer);
366
+ gl.deleteBuffer(this._verticesHighBuffer as WebGLBuffer);
367
+ gl.deleteBuffer(this._verticesLowBuffer as WebGLBuffer);
325
368
 
326
369
  this._verticesHighBuffer = this._renderNode.renderer.handler.createArrayBuffer(
327
370
  new Float32Array(this._verticesHigh),
@@ -341,7 +384,7 @@ class Strip {
341
384
  }
342
385
  }
343
386
 
344
- addEdge3v(p2, p3) {
387
+ public addEdge3v(p2: Vec3, p3: Vec3) {
345
388
  let length = this._path.length;
346
389
 
347
390
  if (length === 0) {
@@ -409,7 +452,7 @@ class Strip {
409
452
  }
410
453
  }
411
454
 
412
- setEdge3v(p2, p3, index) {
455
+ public setEdge3v(p2: Vec3, p3: Vec3, index: number) {
413
456
  if (index === this._path.length) {
414
457
  this.addEdge3v(p2, p3);
415
458
  return;
@@ -578,21 +621,21 @@ class Strip {
578
621
  }
579
622
  }
580
623
 
581
- removeEdge(index) {
624
+ public removeEdge(index: number) {
582
625
  this._path.splice(index, 1);
583
- this.setPath([].concat(this._path));
626
+ this.setPath(([] as TStrip[]).concat(this._path));
584
627
  }
585
628
 
586
- setGridSize(gridSize) {
629
+ public setGridSize(gridSize: number) {
587
630
  this._gridSize = gridSize;
588
- this.setPath([].concat(this._path));
631
+ this.setPath(([] as TStrip[]).concat(this._path));
589
632
  }
590
633
 
591
- getPath() {
634
+ public getPath(): TStrip[] {
592
635
  return this._path;
593
636
  }
594
637
 
595
- setPath(path) {
638
+ public setPath(path: TStripExt[] | TStrip[]) {
596
639
  this._verticesHigh = [];
597
640
  this._verticesLow = [];
598
641
  this._indexes = [];
@@ -610,13 +653,13 @@ class Strip {
610
653
  p1 = new Vec3(p1[0], p1[1], p1[2]);
611
654
  }
612
655
 
613
- this.addEdge3v(p0, p1);
656
+ this.addEdge3v(p0 as Vec3, p1 as Vec3);
614
657
  }
615
658
  }
616
659
 
617
- insertEdge3v(p0, p1, index) {
660
+ public insertEdge3v(p0: Vec3, p1: Vec3, index: number) {
618
661
  if (index < this._path.length) {
619
- let p = [].concat(this._path);
662
+ let p: TStrip[] = ([] as TStrip[]).concat(this._path);
620
663
  p.splice(index, 0, [p0, p1]);
621
664
  this.setPath(p);
622
665
  } else if (index === this._path.length) {
@@ -625,4 +668,4 @@ class Strip {
625
668
  }
626
669
  }
627
670
 
628
- export { Strip };
671
+ export {Strip};
@@ -1,69 +1,73 @@
1
- "use strict";
2
-
3
- import { Program } from "../webgl/Program.js";
1
+ import {EntityCollection} from "./EntityCollection";
2
+ import {Program} from "../webgl/Program";
3
+ import {Renderer} from "../renderer/Renderer";
4
+ import {RenderNode} from "../scene/RenderNode";
5
+ import {Strip} from "./Strip";
4
6
 
5
7
  class StripHandler {
6
- constructor(entityCollection) {
7
- /**
8
- * Picking rendering option.
9
- * @public
10
- * @type {boolean}
11
- */
8
+
9
+ static __counter__: number = 0;
10
+ protected __id: number;
11
+
12
+ /**
13
+ * Picking rendering option.
14
+ * @public
15
+ * @type {boolean}
16
+ */
17
+ public pickingEnabled: boolean;
18
+
19
+ /**
20
+ * Parent collection
21
+ * @protected
22
+ * @type {EntityCollection}
23
+ */
24
+ protected _entityCollection: EntityCollection;
25
+
26
+ /**
27
+ * Renderer
28
+ * @protected
29
+ * @type {Renderer | null}
30
+ */
31
+ protected _renderer: Renderer | null;
32
+
33
+ /**
34
+ * Strip objects array
35
+ * @protected
36
+ * @type {Array.<Strip>}
37
+ */
38
+ protected _strips: Strip[];
39
+
40
+ constructor(entityCollection: EntityCollection) {
41
+
42
+ this.__id = StripHandler.__counter__++;
43
+
12
44
  this.pickingEnabled = true;
13
45
 
14
- /**
15
- * Parent collection
16
- * @private
17
- * @type {EntityCollection}
18
- */
19
46
  this._entityCollection = entityCollection;
20
47
 
21
- /**
22
- * Renderer
23
- * @private
24
- * @type {Renderer}
25
- */
26
48
  this._renderer = null;
27
49
 
28
- /**
29
- * Point cloud array
30
- * @private
31
- * @type {Array.<Strip>}
32
- */
33
50
  this._strips = [];
34
-
35
- this.__staticId = StripHandler._staticCounter++;
36
- }
37
-
38
- static get _staticCounter() {
39
- if (!this._counter && this._counter !== 0) {
40
- this._counter = 0;
41
- }
42
- return this._counter;
43
- }
44
-
45
- static set _staticCounter(n) {
46
- this._counter = n;
47
51
  }
48
52
 
49
- _initProgram() {
50
- if (this._renderer.handler) {
53
+ protected _initProgram() {
54
+ if (this._renderer && this._renderer.handler) {
51
55
  !this._renderer.handler.programs.strip &&
52
- this._renderer.handler.addProgram(
53
- new Program("strip", {
54
- uniforms: {
55
- projectionMatrix: { type: "mat4" },
56
- viewMatrix: { type: "mat4" },
57
- eyePositionHigh: "vec3",
58
- eyePositionLow: "vec3",
59
- uColor: { type: "vec4" },
60
- uOpacity: { type: "float" }
61
- },
62
- attributes: {
63
- aVertexPositionHigh: { type: "vec3" },
64
- aVertexPositionLow: { type: "vec3" }
65
- },
66
- vertexShader: `attribute vec3 aVertexPositionHigh;
56
+ this._renderer.handler.addProgram(
57
+ new Program("strip", {
58
+ uniforms: {
59
+ projectionMatrix: {type: "mat4"},
60
+ viewMatrix: {type: "mat4"},
61
+ eyePositionHigh: "vec3",
62
+ eyePositionLow: "vec3",
63
+ uColor: {type: "vec4"},
64
+ uOpacity: {type: "float"}
65
+ },
66
+ attributes: {
67
+ aVertexPositionHigh: {type: "vec3"},
68
+ aVertexPositionLow: {type: "vec3"}
69
+ },
70
+ vertexShader: `attribute vec3 aVertexPositionHigh;
67
71
  attribute vec3 aVertexPositionLow;
68
72
  uniform mat4 projectionMatrix;
69
73
  uniform mat4 viewMatrix;
@@ -79,18 +83,18 @@ class StripHandler {
79
83
 
80
84
  gl_Position = projectionMatrix * viewMatrixRTE * vec4(highDiff + lowDiff, 1.0);
81
85
  }`,
82
- fragmentShader: `precision highp float;
86
+ fragmentShader: `precision highp float;
83
87
  uniform vec4 uColor;
84
88
  uniform float uOpacity;
85
89
  void main(void) {
86
90
  gl_FragColor = vec4(uColor.rgb, uColor.a * uOpacity);
87
91
  }`
88
- })
89
- );
92
+ })
93
+ );
90
94
  }
91
95
  }
92
96
 
93
- setRenderNode(renderNode) {
97
+ public setRenderNode(renderNode: RenderNode) {
94
98
  this._renderer = renderNode.renderer;
95
99
  this._initProgram();
96
100
  for (let i = 0; i < this._strips.length; i++) {
@@ -98,19 +102,19 @@ class StripHandler {
98
102
  }
99
103
  }
100
104
 
101
- add(strip) {
105
+ public add(strip: Strip) {
102
106
  if (strip._handlerIndex === -1) {
103
107
  strip._handler = this;
104
108
  strip._handlerIndex = this._strips.length;
105
109
  this._strips.push(strip);
106
110
  this._entityCollection &&
107
- this._entityCollection.renderNode &&
108
- strip.setRenderNode(this._entityCollection.renderNode);
111
+ this._entityCollection.renderNode &&
112
+ strip.setRenderNode(this._entityCollection.renderNode);
109
113
  }
110
114
  }
111
115
 
112
- remove(strip) {
113
- var index = strip._handlerIndex;
116
+ public remove(strip: Strip) {
117
+ let index = strip._handlerIndex;
114
118
  if (index !== -1) {
115
119
  strip._deleteBuffers();
116
120
  strip._handlerIndex = -1;
@@ -120,31 +124,31 @@ class StripHandler {
120
124
  }
121
125
  }
122
126
 
123
- reindexStripArray(startIndex) {
124
- var pc = this._strips;
127
+ public reindexStripArray(startIndex: number) {
128
+ let pc = this._strips;
125
129
  for (let i = startIndex; i < pc.length; i++) {
126
130
  pc[i]._handlerIndex = i;
127
131
  }
128
132
  }
129
133
 
130
- draw() {
131
- var i = this._strips.length;
134
+ public draw() {
135
+ let i = this._strips.length;
132
136
  while (i--) {
133
137
  this._strips[i].draw();
134
138
  }
135
139
  }
136
140
 
137
- drawPicking() {
141
+ public drawPicking() {
138
142
  if (this.pickingEnabled) {
139
- var i = this._strips.length;
143
+ let i = this._strips.length;
140
144
  while (i--) {
141
145
  this._strips[i].drawPicking();
142
146
  }
143
147
  }
144
148
  }
145
149
 
146
- clear() {
147
- var i = this._strips.length;
150
+ public clear() {
151
+ let i = this._strips.length;
148
152
  while (i--) {
149
153
  this._strips[i]._deleteBuffers();
150
154
  this._strips[i]._handler = null;
@@ -155,4 +159,4 @@ class StripHandler {
155
159
  }
156
160
  }
157
161
 
158
- export { StripHandler };
162
+ export {StripHandler};