@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,40 +1,40 @@
1
- "use strict";
2
-
3
- import { Handler } from "./Handler.js";
4
- import { Program } from "./Program.js";
1
+ import {Handler, WebGLBufferExt} from "./Handler";
2
+ import {Program} from "./Program";
5
3
 
6
4
  /**
7
- * This is shader program controller that used by hadler object to access the shader
5
+ * This is shader program controller that used by handler object to access the shader
8
6
  * program capabilities, like switching program during the rendering.
9
7
  * Get access to the program from ...handler.programs.<program name> etc.
10
8
  * @class
9
+ * @param {Handler} handler - Handler.
10
+ * @param {Program} program - Shader program.
11
11
  */
12
12
  export class ProgramController {
13
+
13
14
  /**
14
- *
15
- * @param {Handler} handler - Handler.
16
- * @param {Program} program - Shader program.
15
+ * Handler.
16
+ * @protected
17
+ * @type {Handler}
17
18
  */
18
- constructor(handler, program) {
19
- /**
20
- * Shader program.
21
- * @private
22
- * @type {Program}
23
- */
24
- this._program = program;
19
+ protected _handler: Handler;
25
20
 
26
- /**
27
- * Handler.
28
- * @private
29
- * @type {Handler}
30
- */
31
- this._handler = handler;
21
+ /**
22
+ * Shader program.
23
+ * @public
24
+ * @type {Program}
25
+ */
26
+ public _program: Program;
32
27
 
33
- /**
34
- * Program current frame activation flag.
35
- * @private
36
- * @type {boolean}
37
- */
28
+ /**
29
+ * Program current frame activation flag.
30
+ * @public
31
+ * @type {boolean}
32
+ */
33
+ public _activated: boolean;
34
+
35
+ constructor(handler: Handler, program: Program) {
36
+ this._program = program;
37
+ this._handler = handler;
38
38
  this._activated = false;
39
39
  }
40
40
 
@@ -42,8 +42,10 @@ export class ProgramController {
42
42
  * Lazy create program call.
43
43
  * @public
44
44
  */
45
- initialize() {
46
- this._program.createProgram(this._handler.gl);
45
+ public initialize() {
46
+ if (this._handler.gl) {
47
+ this._program.createProgram(this._handler.gl);
48
+ }
47
49
  }
48
50
 
49
51
  /**
@@ -51,7 +53,7 @@ export class ProgramController {
51
53
  * @public
52
54
  * @return {Program} -
53
55
  */
54
- getProgram() {
56
+ public getProgram(): Program {
55
57
  return this._program;
56
58
  }
57
59
 
@@ -60,11 +62,11 @@ export class ProgramController {
60
62
  * @public
61
63
  * @returns {ProgramController} -
62
64
  */
63
- activate() {
65
+ public activate(): this {
64
66
  if (!this._activated) {
65
- this._handler.activeProgram.deactivate();
67
+ this._handler.activeProgram!.deactivate();
66
68
  this._handler.activeProgram = this;
67
- var p = this._program;
69
+ let p = this._program;
68
70
  this._activated = true;
69
71
  p.enableAttribArrays();
70
72
  p.use();
@@ -76,23 +78,22 @@ export class ProgramController {
76
78
  * Remove program from handler
77
79
  * @public
78
80
  */
79
- remove() {
80
- var p = this._handler.programs;
81
+ public remove() {
82
+ let p = this._handler.programs;
81
83
  if (p[this._program.name]) {
82
84
  if (this._activated) {
83
85
  this.deactivate();
84
86
  }
85
87
  this._program.delete();
86
- p[this._program.name] = null;
87
88
  delete p[this._program.name];
88
89
  }
89
90
  }
90
91
 
91
92
  /**
92
- * Deactivate shader program. This is not necessary while activae function used.
93
+ * Deactivate shader program. This is not necessary while activate function used.
93
94
  * @public
94
95
  */
95
- deactivate() {
96
+ public deactivate() {
96
97
  this._program.disableAttribArrays();
97
98
  this._activated = false;
98
99
  }
@@ -102,17 +103,17 @@ export class ProgramController {
102
103
  * @public
103
104
  * @return {boolean} -
104
105
  */
105
- isActive() {
106
+ public isActive(): boolean {
106
107
  return this._activated;
107
108
  }
108
109
 
109
110
  /**
110
111
  * Sets program uniforms and attributes values and return controller instance.
111
112
  * @public
112
- * @param {Object} params - Object with variable name and value like { value: 12, someArray:[1,2,3], uSampler: texture,... }
113
+ * @param {Record<string, any>} params - Object with variable name and value like { value: 12, someArray:[1,2,3], uSampler: texture,... }
113
114
  * @return {ProgramController} -
114
115
  */
115
- set(params) {
116
+ public set(params: Record<string, any>) {
116
117
  this.activate();
117
118
  this._program.set(params);
118
119
  return this;
@@ -122,10 +123,10 @@ export class ProgramController {
122
123
  * Draw index buffer with this program.
123
124
  * @public
124
125
  * @param {number} mode - Gl draw mode
125
- * @param {WEBGLBuffer} buffer - Buffer to draw.
126
+ * @param {WebGLBuffer} buffer - Buffer to draw.
126
127
  * @return {ProgramController} Returns current shader controller instance.
127
128
  */
128
- drawIndexBuffer(mode, buffer) {
129
+ public drawIndexBuffer(mode: number, buffer: WebGLBufferExt): ProgramController {
129
130
  this._program.drawIndexBuffer(mode, buffer);
130
131
  return this;
131
132
  }
@@ -136,7 +137,7 @@ export class ProgramController {
136
137
  * @param {number} numItems - draw items count.
137
138
  * @return {ProgramController} Returns current shader controller instance.
138
139
  */
139
- drawArrays(mode, numItems) {
140
+ public drawArrays(mode: number, numItems: number): ProgramController {
140
141
  this._program.drawArrays(mode, numItems);
141
142
  return this;
142
143
  }
@@ -0,0 +1,13 @@
1
+ import { Framebuffer } from "./Framebuffer";
2
+ import { Handler } from "./Handler";
3
+ import { Multisample } from "./Multisample";
4
+ import { Program } from "./Program";
5
+ import { types } from "./types";
6
+
7
+ export {
8
+ Framebuffer,
9
+ Handler,
10
+ Multisample,
11
+ types,
12
+ Program
13
+ };
@@ -1,31 +1,29 @@
1
- /**
2
- * @module og/webgl/types
3
- */
4
-
5
- 'use strict';
6
-
7
- let _declarations = [
8
- "FLOAT", "DOUBLE", "BOOL", "INT", "UINT",
9
- "VEC2", "VEC3", "VEC4", "DVEC2",
10
- "DVEC3", "DVEC4",
11
- "BVEC2", "BVEC3", "BVEC4",
12
- "IVEC2", "IVEC3", "IVEC4",
13
- "UVEC2", "UVEC3", "UVEC4",
14
- "MAT2", "DMAT2", "MAT3", "DMAT3", "MAT4", "DMAT4",
15
- "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X4", "MAT4X2",
16
- "MAT4X3", "DMAT2X3", "DMAT2X4", "DMAT3X2", "DMAT3X4",
17
- "DMAT4X2", "DMAT4X3",
18
- "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE", "SAMPLER2DSHADOW",
19
- "SAMPLER2DARRAY",
20
- "INTXX", "FLOATXX"];
21
-
22
- export const types = {};
23
-
24
- for (let i = 0; i < _declarations.length; i++) {
25
- types[_declarations[i]] = i;
26
- }
27
-
28
- export const typeStr = {};
29
- for (let i = 0; i < _declarations.length; i++) {
30
- typeStr[_declarations[i].toLowerCase()] = types[_declarations[i]];
31
- }
1
+ /**
2
+ * @module og/webgl/types
3
+ */
4
+
5
+ let _declarations: string[] = [
6
+ "FLOAT", "DOUBLE", "BOOL", "INT", "UINT",
7
+ "VEC2", "VEC3", "VEC4", "DVEC2",
8
+ "DVEC3", "DVEC4",
9
+ "BVEC2", "BVEC3", "BVEC4",
10
+ "IVEC2", "IVEC3", "IVEC4",
11
+ "UVEC2", "UVEC3", "UVEC4",
12
+ "MAT2", "DMAT2", "MAT3", "DMAT3", "MAT4", "DMAT4",
13
+ "MAT2X3", "MAT2X4", "MAT3X2", "MAT3X4", "MAT4X2",
14
+ "MAT4X3", "DMAT2X3", "DMAT2X4", "DMAT3X2", "DMAT3X4",
15
+ "DMAT4X2", "DMAT4X3",
16
+ "SAMPLER1D", "SAMPLER2D", "SAMPLER3D", "SAMPLERCUBE", "SAMPLER2DSHADOW",
17
+ "SAMPLER2DARRAY",
18
+ "INTXX", "FLOATXX"];
19
+
20
+ export const types: { [id: string]: number } = {};
21
+
22
+ for (let i = 0; i < _declarations.length; i++) {
23
+ types[_declarations[i]] = i;
24
+ }
25
+
26
+ export const typeStr: { [id: string]: number } = {};
27
+ for (let i = 0; i < _declarations.length; i++) {
28
+ typeStr[_declarations[i].toLowerCase()] = types[_declarations[i]];
29
+ }
@@ -0,0 +1,114 @@
1
+ /**
2
+ * @module og/webgl/variableHandlers
3
+ */
4
+
5
+ import {types} from "./types";
6
+ import {Program} from "./Program";
7
+ import {WebGLBufferExt} from "./Handler";
8
+
9
+ export type VariableHandler = {
10
+ u: { [id: number]: Function },
11
+ a: { [id: number]: Function }
12
+ };
13
+
14
+ export type ProgramVariable = {
15
+ type: string | number,
16
+ func: Function,
17
+ _pName: WebGLUniformLocation | number,
18
+ value: number | Float32Array | Int32Array | WebGLBufferExt,
19
+ itemType: string | number,
20
+ normalized: boolean,
21
+ divisor: number
22
+ };
23
+
24
+ /*=========================
25
+ Uniforms callbacks
26
+ =========================*/
27
+ export const variableHandlers: VariableHandler = {
28
+ u: [],
29
+ a: []
30
+ };
31
+
32
+ variableHandlers.u[types.MAT4] = function (program: Program, variable: ProgramVariable) {
33
+ program.gl!.uniformMatrix4fv(variable._pName, false, variable.value as Float32Array);
34
+ };
35
+
36
+ variableHandlers.u[types.MAT3] = function (program: Program, variable: ProgramVariable) {
37
+ program.gl!.uniformMatrix3fv(variable._pName, false, variable.value as Float32Array);
38
+ };
39
+
40
+ variableHandlers.u[types.FLOAT] = function (program: Program, variable: ProgramVariable) {
41
+ program.gl!.uniform1f(variable._pName, variable.value as number);
42
+ };
43
+
44
+ variableHandlers.u[types.INT] = function (program: Program, variable: ProgramVariable) {
45
+ program.gl!.uniform1i(variable._pName, variable.value as number);
46
+ };
47
+
48
+ variableHandlers.u[types.VEC2] = function (program: Program, variable: ProgramVariable) {
49
+ program.gl!.uniform2fv(variable._pName, variable.value as Float32Array);
50
+ };
51
+
52
+ variableHandlers.u[types.VEC3] = function (program: Program, variable: ProgramVariable) {
53
+ program.gl!.uniform3fv(variable._pName, variable.value as Float32Array);
54
+ };
55
+
56
+ variableHandlers.u[types.VEC4] = function (program: Program, variable: ProgramVariable) {
57
+ program.gl!.uniform4fv(variable._pName, variable.value as Float32Array);
58
+ };
59
+
60
+ variableHandlers.u[types.SAMPLER2D] = function (program: Program, variable: ProgramVariable) {
61
+ let pgl = program.gl!;
62
+ pgl.activeTexture(pgl.TEXTURE0 + program._textureID);
63
+ pgl.bindTexture(pgl.TEXTURE_2D, variable.value);
64
+ pgl.uniform1i(variable._pName, program._textureID);
65
+ program._textureID++;
66
+ };
67
+
68
+ variableHandlers.u[types.SAMPLERCUBE] = function (program: Program, variable: ProgramVariable) {
69
+ let pgl = program.gl!;
70
+ pgl.activeTexture(pgl.TEXTURE0 + program._textureID);
71
+ pgl.bindTexture(pgl.TEXTURE_CUBE_MAP, variable.value);
72
+ pgl.uniform1i(variable._pName, program._textureID);
73
+ program._textureID++;
74
+ };
75
+
76
+ variableHandlers.u[types.SAMPLER2DARRAY] = function (program: Program, variable: ProgramVariable) {
77
+ let value = variable.value as Int32Array;
78
+ let pgl = program.gl!,
79
+ size = value.length;
80
+ let samplerArr = new Int32Array(size);
81
+ for (let i = 0; i < size; i++) {
82
+ pgl.activeTexture(pgl.TEXTURE0 + program._textureID + i);
83
+ pgl.bindTexture(pgl.TEXTURE_2D, value[i]);
84
+ samplerArr[i] = i;
85
+ }
86
+ pgl.uniform1iv(variable._pName, samplerArr);
87
+ };
88
+
89
+ variableHandlers.u[types.INTXX] = function (program: Program, variable: ProgramVariable) {
90
+ program.gl!.uniform1iv(variable._pName, variable.value as Int32Array);
91
+ };
92
+
93
+ variableHandlers.u[types.FLOATXX] = function (program: Program, variable: ProgramVariable) {
94
+ program.gl!.uniform1fv(variable._pName, variable.value as Float32Array);
95
+ };
96
+
97
+ /*========================
98
+ Attributes callbacks
99
+ ========================*/
100
+ variableHandlers.a[types.FLOAT] = function (program: Program, variable: ProgramVariable) {
101
+ program.gl!.vertexAttrib1f(variable._pName as number, variable.value as number);
102
+ };
103
+
104
+ variableHandlers.a[types.VEC2] = function (program: Program, variable: ProgramVariable) {
105
+ program.gl!.vertexAttrib2fv(variable._pName as number, variable.value as Float32Array);
106
+ };
107
+
108
+ variableHandlers.a[types.VEC3] = function (program: Program, variable: ProgramVariable) {
109
+ program.gl!.vertexAttrib3fv(variable._pName as number, variable.value as Float32Array);
110
+ };
111
+
112
+ //VariableHandlers.a[types.VEC4] = function (program, variable) {
113
+ // program.gl.vertexAttrib4fv(variable._pName, variable.value);
114
+ //};
@@ -1,11 +0,0 @@
1
- 'use strict';
2
-
3
- export function Deferred() {
4
- this.resolve = null;
5
- this.reject = null;
6
- this.promise = new Promise(function (resolve, reject) {
7
- this.resolve = resolve;
8
- this.reject = reject;
9
- }.bind(this));
10
- Object.freeze(this);
11
- }
package/src/og/Events.js DELETED
@@ -1,185 +0,0 @@
1
- "use strict";
2
-
3
- import { binaryInsert, stamp } from "./utils/shared.js";
4
-
5
- /**
6
- * Base events class to handle custom events.
7
- * @class
8
- */
9
- class Events {
10
- /**
11
- *
12
- * @param {Array.<string>} [eventNames] - Event names that could be dispatched.
13
- * @param {*} [sender]
14
- */
15
- constructor(eventNames, sender) {
16
- /**
17
- * Registered event names.
18
- * @protected
19
- * @type {Array.<string>}
20
- */
21
- this._eventNames = [];
22
-
23
- eventNames && this.registerNames(eventNames);
24
-
25
- this._sender = sender || this;
26
-
27
- /**
28
- * Stop propagation flag
29
- * @protected
30
- * @type {boolean}
31
- */
32
- this._stopPropagation = false;
33
-
34
- this._stampCache = {};
35
-
36
- this.__id = Events._staticCounter++;
37
- }
38
-
39
- static get _staticCounter() {
40
- if (!this.__counter__ && this.__counter__ !== 0) {
41
- this.__counter__ = 0;
42
- }
43
- return this.__counter__;
44
- }
45
-
46
- static set _staticCounter(n) {
47
- this.__counter__ = n;
48
- }
49
-
50
- bindSender(sender) {
51
- this._sender = sender || this;
52
- }
53
-
54
- /**
55
- * Function that creates event object properties that would be dispatched.
56
- * @public
57
- * @param {Array.<string>} eventNames - Specified event names list.
58
- */
59
- registerNames(eventNames) {
60
- for (let i = 0; i < eventNames.length; i++) {
61
- this[eventNames[i]] = { active: true, handlers: [] };
62
- this._eventNames.push(eventNames[i]);
63
- }
64
- }
65
-
66
- _getStamp(name, id, ogid) {
67
- return `${name}_${id}_${ogid}`;
68
- }
69
-
70
- /**
71
- * Returns true if event callback has stamped.
72
- * @protected
73
- * @param {Object} name - Event identifier.
74
- * @param {Object} obj - Event callback.
75
- * @return {boolean} -
76
- */
77
- _stamp(name, obj) {
78
- var ogid = stamp(obj);
79
-
80
- var st = this._getStamp(name, this.__id, ogid);
81
-
82
- if (!this._stampCache[st]) {
83
- this._stampCache[st] = ogid;
84
- return true;
85
- }
86
-
87
- return false;
88
- }
89
-
90
- /**
91
- * Attach listener.
92
- * @public
93
- * @param {string} name - Event name to listen.
94
- * @param {eventCallback} callback - Event callback function.
95
- * @param {any} [sender] - Event callback function owner.
96
- * @param {number} [priority] - Priority of event callback.
97
- */
98
- on(name, callback, sender, priority = 0) {
99
- if (this._stamp(name, callback)) {
100
- if (this[name]) {
101
- let c = callback.bind(sender || this._sender);
102
- c._openglobus_id = callback._openglobus_id;
103
- c._openglobus_priority = priority;
104
- binaryInsert(this[name].handlers, c, (a, b) => {
105
- return b._openglobus_priority - a._openglobus_priority;
106
- });
107
- }
108
- }
109
- }
110
-
111
- /**
112
- * Stop listening event name with specified callback function.
113
- * @public
114
- * @param {string} name - Event name.
115
- * @param {eventCallback} callback - Attached event callback.
116
- */
117
- off(name, callback) {
118
- if (callback) {
119
- var st = this._getStamp(name, this.__id, callback._openglobus_id);
120
- if (callback._openglobus_id && this._stampCache[st]) {
121
- var h = this[name].handlers;
122
- var i = h.length;
123
- var indexToRemove = -1;
124
- while (i--) {
125
- var hi = h[i];
126
- if (hi._openglobus_id === callback._openglobus_id) {
127
- indexToRemove = i;
128
- break;
129
- }
130
- }
131
-
132
- if (indexToRemove !== -1) {
133
- h.splice(indexToRemove, 1);
134
- this._stampCache[st] = undefined;
135
- delete this._stampCache[st];
136
- }
137
- }
138
- }
139
- }
140
-
141
- /**
142
- * Dispatch event.
143
- * @public
144
- * @param {Object} event - Event instance property that created by event name.
145
- * @param {Object} [obj] - Event object.
146
- */
147
- dispatch(event, ...args) {
148
- let result = true;
149
- if (event && event.active && !this._stopPropagation) {
150
- let h = event.handlers.slice(0),
151
- i = h.length;
152
- while (i--) {
153
- if (h[i](...args) === false) {
154
- result = false;
155
- }
156
- }
157
- }
158
- this._stopPropagation = false;
159
- return result;
160
- }
161
-
162
- /**
163
- * Brakes events propagation.
164
- * @public
165
- */
166
- stopPropagation() {
167
- this._stopPropagation = true;
168
- }
169
-
170
- /**
171
- * Removes all events.
172
- * @public
173
- */
174
- clear() {
175
- for (let i = 0; i < this._eventNames.length; i++) {
176
- var e = this[this._eventNames[i]];
177
- e.handlers.length = 0;
178
- e.handlers = [];
179
- }
180
- this._eventNames.length = 0;
181
- this._eventNames = [];
182
- }
183
- }
184
-
185
- export { Events };