ol 7.3.0 → 7.3.1-dev

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 (535) hide show
  1. package/Collection.d.ts +2 -2
  2. package/Collection.d.ts.map +1 -1
  3. package/DataTile.d.ts +1 -1
  4. package/DataTile.d.ts.map +1 -1
  5. package/DataTile.js +2 -1
  6. package/Feature.d.ts +1 -1
  7. package/Feature.d.ts.map +1 -1
  8. package/Geolocation.d.ts +2 -2
  9. package/Geolocation.d.ts.map +1 -1
  10. package/Image.d.ts +1 -1
  11. package/Image.d.ts.map +1 -1
  12. package/ImageBase.d.ts +1 -1
  13. package/ImageBase.d.ts.map +1 -1
  14. package/ImageCanvas.d.ts +1 -1
  15. package/ImageCanvas.d.ts.map +1 -1
  16. package/ImageTile.d.ts +1 -1
  17. package/ImageTile.d.ts.map +1 -1
  18. package/Map.d.ts +7 -7
  19. package/Map.d.ts.map +1 -1
  20. package/Map.js +2 -1
  21. package/MapBrowserEvent.d.ts +1 -1
  22. package/MapBrowserEvent.d.ts.map +1 -1
  23. package/MapBrowserEventHandler.d.ts +1 -1
  24. package/MapBrowserEventHandler.d.ts.map +1 -1
  25. package/MapEvent.d.ts +1 -1
  26. package/MapEvent.d.ts.map +1 -1
  27. package/Object.d.ts +2 -2
  28. package/Object.d.ts.map +1 -1
  29. package/Observable.d.ts +1 -1
  30. package/Observable.d.ts.map +1 -1
  31. package/Overlay.d.ts +1 -1
  32. package/Overlay.d.ts.map +1 -1
  33. package/Tile.d.ts +1 -1
  34. package/Tile.d.ts.map +1 -1
  35. package/TileCache.d.ts +1 -1
  36. package/TileCache.d.ts.map +1 -1
  37. package/TileQueue.d.ts +1 -1
  38. package/TileQueue.d.ts.map +1 -1
  39. package/VectorRenderTile.d.ts +1 -1
  40. package/VectorRenderTile.d.ts.map +1 -1
  41. package/VectorTile.d.ts +1 -1
  42. package/VectorTile.d.ts.map +1 -1
  43. package/View.d.ts +10 -6
  44. package/View.d.ts.map +1 -1
  45. package/View.js +9 -6
  46. package/array.d.ts.map +1 -1
  47. package/array.js +38 -20
  48. package/control/Attribution.d.ts +1 -1
  49. package/control/Attribution.d.ts.map +1 -1
  50. package/control/Control.d.ts +1 -1
  51. package/control/Control.d.ts.map +1 -1
  52. package/control/FullScreen.d.ts +1 -1
  53. package/control/FullScreen.d.ts.map +1 -1
  54. package/control/MousePosition.d.ts +1 -1
  55. package/control/MousePosition.d.ts.map +1 -1
  56. package/control/OverviewMap.d.ts +3 -3
  57. package/control/OverviewMap.d.ts.map +1 -1
  58. package/control/Rotate.d.ts +1 -1
  59. package/control/Rotate.d.ts.map +1 -1
  60. package/control/ScaleLine.d.ts +1 -1
  61. package/control/ScaleLine.d.ts.map +1 -1
  62. package/control/Zoom.d.ts +1 -1
  63. package/control/Zoom.d.ts.map +1 -1
  64. package/control/ZoomSlider.d.ts +1 -1
  65. package/control/ZoomSlider.d.ts.map +1 -1
  66. package/control/ZoomToExtent.d.ts +1 -1
  67. package/control/ZoomToExtent.d.ts.map +1 -1
  68. package/control/defaults.d.ts +1 -1
  69. package/control/defaults.d.ts.map +1 -1
  70. package/dist/ol.js +2 -2
  71. package/dist/ol.js.map +1 -1
  72. package/events/Key.d.ts +8 -0
  73. package/events/Key.d.ts.map +1 -0
  74. package/events/Key.js +14 -0
  75. package/events/Target.d.ts +1 -1
  76. package/events/Target.d.ts.map +1 -1
  77. package/events/condition.d.ts +2 -2
  78. package/events/condition.d.ts.map +1 -1
  79. package/extent.d.ts.map +1 -1
  80. package/extent.js +7 -2
  81. package/format/EsriJSON.d.ts +1 -1
  82. package/format/EsriJSON.d.ts.map +1 -1
  83. package/format/GML.d.ts +1 -1
  84. package/format/GML.d.ts.map +1 -1
  85. package/format/GML2.d.ts +1 -1
  86. package/format/GML2.d.ts.map +1 -1
  87. package/format/GML3.d.ts +5 -5
  88. package/format/GML3.d.ts.map +1 -1
  89. package/format/GML32.d.ts +1 -1
  90. package/format/GML32.d.ts.map +1 -1
  91. package/format/GMLBase.d.ts +9 -9
  92. package/format/GMLBase.d.ts.map +1 -1
  93. package/format/GPX.d.ts +2 -2
  94. package/format/GPX.d.ts.map +1 -1
  95. package/format/GeoJSON.d.ts +1 -1
  96. package/format/GeoJSON.d.ts.map +1 -1
  97. package/format/IGC.d.ts +1 -1
  98. package/format/IGC.d.ts.map +1 -1
  99. package/format/IIIFInfo.d.ts +8 -8
  100. package/format/IIIFInfo.d.ts.map +1 -1
  101. package/format/IIIFInfo.js +10 -9
  102. package/format/JSONFeature.d.ts +1 -1
  103. package/format/JSONFeature.d.ts.map +1 -1
  104. package/format/JSONFeature.js +2 -1
  105. package/format/KML.d.ts +121 -5
  106. package/format/KML.d.ts.map +1 -1
  107. package/format/KML.js +105 -7
  108. package/format/MVT.d.ts +2 -2
  109. package/format/MVT.d.ts.map +1 -1
  110. package/format/OSMXML.d.ts +1 -1
  111. package/format/OSMXML.d.ts.map +1 -1
  112. package/format/OSMXML.js +11 -4
  113. package/format/OWS.d.ts +1 -1
  114. package/format/OWS.d.ts.map +1 -1
  115. package/format/Polyline.d.ts +2 -2
  116. package/format/Polyline.d.ts.map +1 -1
  117. package/format/TextFeature.d.ts +1 -1
  118. package/format/TextFeature.d.ts.map +1 -1
  119. package/format/TopoJSON.d.ts +1 -1
  120. package/format/TopoJSON.d.ts.map +1 -1
  121. package/format/WFS.d.ts +2 -2
  122. package/format/WFS.d.ts.map +1 -1
  123. package/format/WFS.js +8 -4
  124. package/format/WKB.d.ts +1 -1
  125. package/format/WKB.d.ts.map +1 -1
  126. package/format/WKB.js +6 -4
  127. package/format/WKT.d.ts +1 -1
  128. package/format/WKT.d.ts.map +1 -1
  129. package/format/WMSCapabilities.d.ts +1 -1
  130. package/format/WMSCapabilities.d.ts.map +1 -1
  131. package/format/WMSGetFeatureInfo.d.ts +1 -1
  132. package/format/WMSGetFeatureInfo.d.ts.map +1 -1
  133. package/format/WMTSCapabilities.d.ts +1 -1
  134. package/format/WMTSCapabilities.d.ts.map +1 -1
  135. package/format/XML.d.ts.map +1 -1
  136. package/format/XML.js +4 -2
  137. package/format/XMLFeature.d.ts +1 -1
  138. package/format/XMLFeature.d.ts.map +1 -1
  139. package/format/XMLFeature.js +16 -8
  140. package/format/filter/And.d.ts +1 -1
  141. package/format/filter/And.d.ts.map +1 -1
  142. package/format/filter/Bbox.d.ts +1 -1
  143. package/format/filter/Bbox.d.ts.map +1 -1
  144. package/format/filter/Comparison.d.ts +1 -1
  145. package/format/filter/Comparison.d.ts.map +1 -1
  146. package/format/filter/ComparisonBinary.d.ts +1 -1
  147. package/format/filter/ComparisonBinary.d.ts.map +1 -1
  148. package/format/filter/Contains.d.ts +1 -1
  149. package/format/filter/Contains.d.ts.map +1 -1
  150. package/format/filter/DWithin.d.ts +1 -1
  151. package/format/filter/DWithin.d.ts.map +1 -1
  152. package/format/filter/Disjoint.d.ts +1 -1
  153. package/format/filter/Disjoint.d.ts.map +1 -1
  154. package/format/filter/During.d.ts +1 -1
  155. package/format/filter/During.d.ts.map +1 -1
  156. package/format/filter/EqualTo.d.ts +1 -1
  157. package/format/filter/EqualTo.d.ts.map +1 -1
  158. package/format/filter/GreaterThan.d.ts +1 -1
  159. package/format/filter/GreaterThan.d.ts.map +1 -1
  160. package/format/filter/GreaterThanOrEqualTo.d.ts +1 -1
  161. package/format/filter/GreaterThanOrEqualTo.d.ts.map +1 -1
  162. package/format/filter/Intersects.d.ts +1 -1
  163. package/format/filter/Intersects.d.ts.map +1 -1
  164. package/format/filter/IsBetween.d.ts +1 -1
  165. package/format/filter/IsBetween.d.ts.map +1 -1
  166. package/format/filter/IsLike.d.ts +1 -1
  167. package/format/filter/IsLike.d.ts.map +1 -1
  168. package/format/filter/IsNull.d.ts +1 -1
  169. package/format/filter/IsNull.d.ts.map +1 -1
  170. package/format/filter/LessThan.d.ts +1 -1
  171. package/format/filter/LessThan.d.ts.map +1 -1
  172. package/format/filter/LessThanOrEqualTo.d.ts +1 -1
  173. package/format/filter/LessThanOrEqualTo.d.ts.map +1 -1
  174. package/format/filter/LogicalNary.d.ts +1 -1
  175. package/format/filter/LogicalNary.d.ts.map +1 -1
  176. package/format/filter/Not.d.ts +1 -1
  177. package/format/filter/Not.d.ts.map +1 -1
  178. package/format/filter/NotEqualTo.d.ts +1 -1
  179. package/format/filter/NotEqualTo.d.ts.map +1 -1
  180. package/format/filter/Or.d.ts +2 -2
  181. package/format/filter/Or.d.ts.map +1 -1
  182. package/format/filter/Or.js +1 -1
  183. package/format/filter/ResourceId.d.ts +1 -1
  184. package/format/filter/ResourceId.d.ts.map +1 -1
  185. package/format/filter/Spatial.d.ts +1 -1
  186. package/format/filter/Spatial.d.ts.map +1 -1
  187. package/format/filter/Within.d.ts +1 -1
  188. package/format/filter/Within.d.ts.map +1 -1
  189. package/format/filter.d.ts +20 -20
  190. package/format/filter.d.ts.map +1 -1
  191. package/geom/Circle.d.ts +1 -1
  192. package/geom/Circle.d.ts.map +1 -1
  193. package/geom/Circle.js +1 -17
  194. package/geom/Geometry.d.ts +1 -1
  195. package/geom/Geometry.d.ts.map +1 -1
  196. package/geom/GeometryCollection.d.ts +1 -1
  197. package/geom/GeometryCollection.d.ts.map +1 -1
  198. package/geom/LineString.d.ts +1 -1
  199. package/geom/LineString.d.ts.map +1 -1
  200. package/geom/LinearRing.d.ts +1 -1
  201. package/geom/LinearRing.d.ts.map +1 -1
  202. package/geom/MultiLineString.d.ts +2 -2
  203. package/geom/MultiLineString.d.ts.map +1 -1
  204. package/geom/MultiPoint.d.ts +2 -2
  205. package/geom/MultiPoint.d.ts.map +1 -1
  206. package/geom/MultiPolygon.d.ts +3 -3
  207. package/geom/MultiPolygon.d.ts.map +1 -1
  208. package/geom/Point.d.ts +1 -1
  209. package/geom/Point.d.ts.map +1 -1
  210. package/geom/Polygon.d.ts +3 -3
  211. package/geom/Polygon.d.ts.map +1 -1
  212. package/geom/SimpleGeometry.d.ts +1 -1
  213. package/geom/SimpleGeometry.d.ts.map +1 -1
  214. package/geom/flat/interpolate.d.ts.map +1 -1
  215. package/geom/flat/interpolate.js +4 -2
  216. package/geom/flat/orient.d.ts +1 -1
  217. package/geom/flat/orient.js +1 -1
  218. package/interaction/DblClickDragZoom.d.ts +110 -0
  219. package/interaction/DblClickDragZoom.d.ts.map +1 -0
  220. package/interaction/DblClickDragZoom.js +251 -0
  221. package/interaction/DoubleClickZoom.d.ts +1 -1
  222. package/interaction/DoubleClickZoom.d.ts.map +1 -1
  223. package/interaction/DragAndDrop.d.ts +2 -2
  224. package/interaction/DragAndDrop.d.ts.map +1 -1
  225. package/interaction/DragBox.d.ts +2 -2
  226. package/interaction/DragBox.d.ts.map +1 -1
  227. package/interaction/DragPan.d.ts +1 -1
  228. package/interaction/DragPan.d.ts.map +1 -1
  229. package/interaction/DragRotate.d.ts +1 -1
  230. package/interaction/DragRotate.d.ts.map +1 -1
  231. package/interaction/DragRotateAndZoom.d.ts +1 -1
  232. package/interaction/DragRotateAndZoom.d.ts.map +1 -1
  233. package/interaction/DragZoom.d.ts +1 -1
  234. package/interaction/DragZoom.d.ts.map +1 -1
  235. package/interaction/Draw.d.ts +6 -6
  236. package/interaction/Draw.d.ts.map +1 -1
  237. package/interaction/Extent.d.ts +2 -2
  238. package/interaction/Extent.d.ts.map +1 -1
  239. package/interaction/Extent.js +2 -1
  240. package/interaction/Interaction.d.ts +1 -1
  241. package/interaction/Interaction.d.ts.map +1 -1
  242. package/interaction/KeyboardPan.d.ts +1 -1
  243. package/interaction/KeyboardPan.d.ts.map +1 -1
  244. package/interaction/KeyboardPan.js +9 -9
  245. package/interaction/KeyboardZoom.d.ts +1 -1
  246. package/interaction/KeyboardZoom.d.ts.map +1 -1
  247. package/interaction/Link.d.ts +1 -1
  248. package/interaction/Link.d.ts.map +1 -1
  249. package/interaction/Modify.d.ts +6 -6
  250. package/interaction/Modify.d.ts.map +1 -1
  251. package/interaction/Modify.js +6 -1
  252. package/interaction/MouseWheelZoom.d.ts +1 -1
  253. package/interaction/MouseWheelZoom.d.ts.map +1 -1
  254. package/interaction/PinchRotate.d.ts +1 -1
  255. package/interaction/PinchRotate.d.ts.map +1 -1
  256. package/interaction/PinchZoom.d.ts +1 -1
  257. package/interaction/PinchZoom.d.ts.map +1 -1
  258. package/interaction/Pointer.d.ts +1 -1
  259. package/interaction/Pointer.d.ts.map +1 -1
  260. package/interaction/Select.d.ts +5 -5
  261. package/interaction/Select.d.ts.map +1 -1
  262. package/interaction/Snap.d.ts +1 -1
  263. package/interaction/Snap.d.ts.map +1 -1
  264. package/interaction/Snap.js +10 -4
  265. package/interaction/Translate.d.ts +4 -4
  266. package/interaction/Translate.d.ts.map +1 -1
  267. package/interaction/Translate.js +18 -3
  268. package/interaction/defaults.d.ts +1 -1
  269. package/interaction/defaults.d.ts.map +1 -1
  270. package/interaction.d.ts +1 -0
  271. package/interaction.js +1 -0
  272. package/layer/Base.d.ts +4 -3
  273. package/layer/Base.d.ts.map +1 -1
  274. package/layer/Base.js +3 -2
  275. package/layer/BaseImage.d.ts +1 -1
  276. package/layer/BaseImage.d.ts.map +1 -1
  277. package/layer/BaseTile.d.ts +1 -1
  278. package/layer/BaseTile.d.ts.map +1 -1
  279. package/layer/BaseVector.d.ts +10 -4
  280. package/layer/BaseVector.d.ts.map +1 -1
  281. package/layer/BaseVector.js +9 -3
  282. package/layer/Graticule.d.ts +6 -6
  283. package/layer/Graticule.d.ts.map +1 -1
  284. package/layer/Group.d.ts +4 -4
  285. package/layer/Group.d.ts.map +1 -1
  286. package/layer/Heatmap.d.ts +2 -2
  287. package/layer/Heatmap.d.ts.map +1 -1
  288. package/layer/Image.d.ts +2 -2
  289. package/layer/Image.d.ts.map +1 -1
  290. package/layer/Layer.d.ts +14 -11
  291. package/layer/Layer.d.ts.map +1 -1
  292. package/layer/Layer.js +28 -8
  293. package/layer/MapboxVector.d.ts +1 -1
  294. package/layer/MapboxVector.d.ts.map +1 -1
  295. package/layer/Tile.d.ts +2 -2
  296. package/layer/Tile.d.ts.map +1 -1
  297. package/layer/Vector.d.ts +2 -2
  298. package/layer/Vector.d.ts.map +1 -1
  299. package/layer/VectorImage.d.ts +2 -2
  300. package/layer/VectorImage.d.ts.map +1 -1
  301. package/layer/VectorTile.d.ts +2 -2
  302. package/layer/VectorTile.d.ts.map +1 -1
  303. package/layer/WebGLPoints.d.ts +4 -4
  304. package/layer/WebGLPoints.d.ts.map +1 -1
  305. package/layer/WebGLPoints.js +13 -4
  306. package/layer/WebGLTile.d.ts +9 -2
  307. package/layer/WebGLTile.d.ts.map +1 -1
  308. package/layer/WebGLTile.js +6 -6
  309. package/package.json +2 -2
  310. package/proj/proj4.d.ts +2 -2
  311. package/proj/proj4.d.ts.map +1 -1
  312. package/proj/proj4.js +1 -1
  313. package/proj.d.ts +9 -9
  314. package/proj.d.ts.map +1 -1
  315. package/proj.js +9 -8
  316. package/render/Box.d.ts +1 -1
  317. package/render/Box.d.ts.map +1 -1
  318. package/render/Event.d.ts +1 -1
  319. package/render/Event.d.ts.map +1 -1
  320. package/render/Feature.d.ts +7 -7
  321. package/render/Feature.d.ts.map +1 -1
  322. package/render/canvas/Builder.d.ts +1 -1
  323. package/render/canvas/Builder.d.ts.map +1 -1
  324. package/render/canvas/ImageBuilder.d.ts +1 -1
  325. package/render/canvas/ImageBuilder.d.ts.map +1 -1
  326. package/render/canvas/Immediate.d.ts +1 -1
  327. package/render/canvas/Immediate.d.ts.map +1 -1
  328. package/render/canvas/Immediate.js +9 -1
  329. package/render/canvas/LineStringBuilder.d.ts +1 -1
  330. package/render/canvas/LineStringBuilder.d.ts.map +1 -1
  331. package/render/canvas/PolygonBuilder.d.ts +1 -1
  332. package/render/canvas/PolygonBuilder.d.ts.map +1 -1
  333. package/render/canvas/TextBuilder.d.ts +1 -1
  334. package/render/canvas/TextBuilder.d.ts.map +1 -1
  335. package/render/canvas.d.ts +1 -1
  336. package/render/canvas.d.ts.map +1 -1
  337. package/render/webgl/MixedGeometryBatch.d.ts +37 -131
  338. package/render/webgl/MixedGeometryBatch.d.ts.map +1 -1
  339. package/render/webgl/MixedGeometryBatch.js +230 -147
  340. package/render/webgl/VectorStyleRenderer.d.ts +256 -0
  341. package/render/webgl/VectorStyleRenderer.d.ts.map +1 -0
  342. package/render/webgl/VectorStyleRenderer.js +440 -0
  343. package/render/webgl/constants.d.ts +1 -1
  344. package/render/webgl/constants.js +1 -1
  345. package/render/webgl/renderinstructions.d.ts +36 -0
  346. package/render/webgl/renderinstructions.d.ts.map +1 -0
  347. package/render/webgl/renderinstructions.js +241 -0
  348. package/render/webgl/utils.d.ts +4 -4
  349. package/render/webgl/utils.d.ts.map +1 -1
  350. package/render/webgl/utils.js +9 -9
  351. package/render.d.ts +1 -1
  352. package/render.d.ts.map +1 -1
  353. package/renderer/Composite.d.ts +1 -1
  354. package/renderer/Composite.d.ts.map +1 -1
  355. package/renderer/Layer.d.ts +1 -1
  356. package/renderer/Layer.d.ts.map +1 -1
  357. package/renderer/Map.d.ts +1 -1
  358. package/renderer/Map.d.ts.map +1 -1
  359. package/renderer/canvas/ImageLayer.d.ts +1 -1
  360. package/renderer/canvas/ImageLayer.d.ts.map +1 -1
  361. package/renderer/canvas/Layer.d.ts +1 -1
  362. package/renderer/canvas/Layer.d.ts.map +1 -1
  363. package/renderer/canvas/TileLayer.d.ts +1 -1
  364. package/renderer/canvas/TileLayer.d.ts.map +1 -1
  365. package/renderer/canvas/VectorImageLayer.d.ts +1 -1
  366. package/renderer/canvas/VectorImageLayer.d.ts.map +1 -1
  367. package/renderer/canvas/VectorLayer.d.ts +3 -3
  368. package/renderer/canvas/VectorLayer.d.ts.map +1 -1
  369. package/renderer/canvas/VectorTileLayer.d.ts +2 -2
  370. package/renderer/canvas/VectorTileLayer.d.ts.map +1 -1
  371. package/renderer/webgl/Layer.d.ts +2 -2
  372. package/renderer/webgl/Layer.d.ts.map +1 -1
  373. package/renderer/webgl/PointsLayer.d.ts +3 -3
  374. package/renderer/webgl/PointsLayer.d.ts.map +1 -1
  375. package/renderer/webgl/PointsLayer.js +5 -8
  376. package/renderer/webgl/TileLayer.d.ts +32 -99
  377. package/renderer/webgl/TileLayer.d.ts.map +1 -1
  378. package/renderer/webgl/TileLayer.js +103 -644
  379. package/renderer/webgl/TileLayerBase.d.ts +194 -0
  380. package/renderer/webgl/TileLayerBase.d.ts.map +1 -0
  381. package/renderer/webgl/TileLayerBase.js +750 -0
  382. package/renderer/webgl/VectorLayer.d.ts +59 -60
  383. package/renderer/webgl/VectorLayer.d.ts.map +1 -1
  384. package/renderer/webgl/VectorLayer.js +118 -156
  385. package/renderer/webgl/VectorTileLayer.d.ts +87 -0
  386. package/renderer/webgl/VectorTileLayer.d.ts.map +1 -0
  387. package/renderer/webgl/VectorTileLayer.js +201 -0
  388. package/reproj/DataTile.d.ts +1 -1
  389. package/reproj/DataTile.d.ts.map +1 -1
  390. package/reproj/Image.d.ts +1 -1
  391. package/reproj/Image.d.ts.map +1 -1
  392. package/reproj/Image.js +22 -8
  393. package/reproj/Tile.d.ts +1 -1
  394. package/reproj/Tile.d.ts.map +1 -1
  395. package/reproj/Triangulation.js +2 -2
  396. package/source/BingMaps.d.ts +1 -1
  397. package/source/BingMaps.d.ts.map +1 -1
  398. package/source/CartoDB.d.ts +1 -1
  399. package/source/CartoDB.d.ts.map +1 -1
  400. package/source/Cluster.d.ts +3 -3
  401. package/source/Cluster.d.ts.map +1 -1
  402. package/source/DataTile.d.ts +4 -4
  403. package/source/DataTile.d.ts.map +1 -1
  404. package/source/DataTile.js +1 -1
  405. package/source/GeoTIFF.d.ts +1 -1
  406. package/source/GeoTIFF.d.ts.map +1 -1
  407. package/source/IIIF.d.ts +1 -1
  408. package/source/IIIF.d.ts.map +1 -1
  409. package/source/Image.d.ts +2 -2
  410. package/source/Image.d.ts.map +1 -1
  411. package/source/ImageArcGISRest.d.ts +1 -1
  412. package/source/ImageArcGISRest.d.ts.map +1 -1
  413. package/source/ImageCanvas.d.ts +1 -1
  414. package/source/ImageCanvas.d.ts.map +1 -1
  415. package/source/ImageMapGuide.d.ts +1 -1
  416. package/source/ImageMapGuide.d.ts.map +1 -1
  417. package/source/ImageStatic.d.ts +1 -1
  418. package/source/ImageStatic.d.ts.map +1 -1
  419. package/source/ImageWMS.d.ts +1 -1
  420. package/source/ImageWMS.d.ts.map +1 -1
  421. package/source/OGCMapTile.d.ts +1 -1
  422. package/source/OGCMapTile.d.ts.map +1 -1
  423. package/source/OGCVectorTile.d.ts +1 -1
  424. package/source/OGCVectorTile.d.ts.map +1 -1
  425. package/source/OSM.d.ts +1 -1
  426. package/source/OSM.d.ts.map +1 -1
  427. package/source/Raster.d.ts +3 -3
  428. package/source/Raster.d.ts.map +1 -1
  429. package/source/Source.d.ts +5 -5
  430. package/source/Source.d.ts.map +1 -1
  431. package/source/Source.js +2 -2
  432. package/source/Stamen.d.ts +1 -1
  433. package/source/Stamen.d.ts.map +1 -1
  434. package/source/Tile.d.ts +2 -2
  435. package/source/Tile.d.ts.map +1 -1
  436. package/source/TileArcGISRest.d.ts +1 -1
  437. package/source/TileArcGISRest.d.ts.map +1 -1
  438. package/source/TileDebug.d.ts +1 -1
  439. package/source/TileDebug.d.ts.map +1 -1
  440. package/source/TileImage.d.ts +4 -4
  441. package/source/TileImage.d.ts.map +1 -1
  442. package/source/TileJSON.d.ts +1 -1
  443. package/source/TileJSON.d.ts.map +1 -1
  444. package/source/TileWMS.d.ts +1 -1
  445. package/source/TileWMS.d.ts.map +1 -1
  446. package/source/UTFGrid.d.ts +2 -2
  447. package/source/UTFGrid.d.ts.map +1 -1
  448. package/source/UrlTile.d.ts +1 -1
  449. package/source/UrlTile.d.ts.map +1 -1
  450. package/source/Vector.d.ts +3 -3
  451. package/source/Vector.d.ts.map +1 -1
  452. package/source/Vector.js +6 -3
  453. package/source/VectorTile.d.ts +4 -4
  454. package/source/VectorTile.d.ts.map +1 -1
  455. package/source/WMTS.d.ts +1 -1
  456. package/source/WMTS.d.ts.map +1 -1
  457. package/source/XYZ.d.ts +1 -1
  458. package/source/XYZ.d.ts.map +1 -1
  459. package/source/Zoomify.d.ts +2 -2
  460. package/source/Zoomify.d.ts.map +1 -1
  461. package/structs/LRUCache.d.ts.map +1 -1
  462. package/structs/LRUCache.js +2 -1
  463. package/style/Circle.d.ts +1 -1
  464. package/style/Circle.d.ts.map +1 -1
  465. package/style/Icon.d.ts +4 -78
  466. package/style/Icon.d.ts.map +1 -1
  467. package/style/Icon.js +89 -86
  468. package/style/IconImage.d.ts +1 -1
  469. package/style/IconImage.d.ts.map +1 -1
  470. package/style/RegularShape.d.ts +1 -1
  471. package/style/RegularShape.d.ts.map +1 -1
  472. package/style/RegularShape.js +1 -1
  473. package/style/Style.d.ts +2 -2
  474. package/style/Style.d.ts.map +1 -1
  475. package/style/Text.d.ts +5 -5
  476. package/style/Text.d.ts.map +1 -1
  477. package/style/Text.js +2 -2
  478. package/style/expressions.d.ts +42 -17
  479. package/style/expressions.d.ts.map +1 -1
  480. package/style/expressions.js +258 -118
  481. package/style/flat.d.ts +14 -0
  482. package/style/flat.d.ts.map +1 -1
  483. package/style/flat.js +6 -0
  484. package/style/literal.d.ts +204 -3
  485. package/style/literal.d.ts.map +1 -1
  486. package/style/literal.js +106 -3
  487. package/tilegrid/TileGrid.d.ts +1 -9
  488. package/tilegrid/TileGrid.d.ts.map +1 -1
  489. package/tilegrid/TileGrid.js +0 -18
  490. package/tilegrid/WMTS.d.ts +1 -1
  491. package/tilegrid/WMTS.d.ts.map +1 -1
  492. package/tilegrid.d.ts +1 -1
  493. package/tilegrid.d.ts.map +1 -1
  494. package/util.d.ts.map +1 -1
  495. package/util.js +1 -1
  496. package/webgl/BaseTileRepresentation.d.ts +72 -0
  497. package/webgl/BaseTileRepresentation.d.ts.map +1 -0
  498. package/webgl/BaseTileRepresentation.js +108 -0
  499. package/webgl/Buffer.d.ts +9 -6
  500. package/webgl/Buffer.d.ts.map +1 -1
  501. package/webgl/Buffer.js +6 -0
  502. package/webgl/Helper.d.ts +19 -12
  503. package/webgl/Helper.d.ts.map +1 -1
  504. package/webgl/Helper.js +79 -71
  505. package/webgl/ShaderBuilder.d.ts +75 -65
  506. package/webgl/ShaderBuilder.d.ts.map +1 -1
  507. package/webgl/ShaderBuilder.js +382 -241
  508. package/webgl/TileGeometry.d.ts +29 -0
  509. package/webgl/TileGeometry.d.ts.map +1 -0
  510. package/webgl/TileGeometry.js +73 -0
  511. package/webgl/TileTexture.d.ts +8 -51
  512. package/webgl/TileTexture.d.ts.map +1 -1
  513. package/webgl/TileTexture.js +11 -62
  514. package/webgl/styleparser.d.ts +61 -0
  515. package/webgl/styleparser.d.ts.map +1 -0
  516. package/webgl/styleparser.js +406 -0
  517. package/worker/webgl.js +1 -1
  518. package/events/KeyCode.d.ts +0 -8
  519. package/events/KeyCode.d.ts.map +0 -1
  520. package/events/KeyCode.js +0 -14
  521. package/render/webgl/BatchRenderer.d.ts +0 -92
  522. package/render/webgl/BatchRenderer.d.ts.map +0 -1
  523. package/render/webgl/BatchRenderer.js +0 -200
  524. package/render/webgl/LineStringBatchRenderer.d.ts +0 -27
  525. package/render/webgl/LineStringBatchRenderer.d.ts.map +0 -1
  526. package/render/webgl/LineStringBatchRenderer.js +0 -114
  527. package/render/webgl/PointBatchRenderer.d.ts +0 -26
  528. package/render/webgl/PointBatchRenderer.d.ts.map +0 -1
  529. package/render/webgl/PointBatchRenderer.js +0 -95
  530. package/render/webgl/PolygonBatchRenderer.d.ts +0 -25
  531. package/render/webgl/PolygonBatchRenderer.d.ts.map +0 -1
  532. package/render/webgl/PolygonBatchRenderer.js +0 -115
  533. package/renderer/webgl/shaders.d.ts +0 -43
  534. package/renderer/webgl/shaders.d.ts.map +0 -1
  535. package/renderer/webgl/shaders.js +0 -198
@@ -1,200 +0,0 @@
1
- /**
2
- * @module ol/render/webgl/BatchRenderer
3
- */
4
- import {WebGLWorkerMessageType} from './constants.js';
5
- import {abstract} from '../../util.js';
6
- import {
7
- create as createTransform,
8
- makeInverse as makeInverseTransform,
9
- multiply as multiplyTransform,
10
- translate as translateTransform,
11
- } from '../../transform.js';
12
-
13
- /**
14
- * @typedef {Object} CustomAttribute A description of a custom attribute to be passed on to the GPU, with a value different
15
- * for each feature.
16
- * @property {string} name Attribute name.
17
- * @property {function(import("../../Feature").default):number} callback This callback computes the numerical value of the
18
- * attribute for a given feature.
19
- */
20
-
21
- let workerMessageCounter = 0;
22
-
23
- /**
24
- * @classdesc Abstract class for batch renderers.
25
- * Batch renderers are meant to render the geometries contained in a {@link module:ol/render/webgl/GeometryBatch}
26
- * instance. They are responsible for generating render instructions and transforming them into WebGL buffers.
27
- */
28
- class AbstractBatchRenderer {
29
- /**
30
- * @param {import("../../webgl/Helper.js").default} helper WebGL helper instance
31
- * @param {Worker} worker WebGL worker instance
32
- * @param {string} vertexShader Vertex shader
33
- * @param {string} fragmentShader Fragment shader
34
- * @param {Array<CustomAttribute>} customAttributes List of custom attributes
35
- */
36
- constructor(helper, worker, vertexShader, fragmentShader, customAttributes) {
37
- /**
38
- * @type {import("../../webgl/Helper.js").default}
39
- * @private
40
- */
41
- this.helper_ = helper;
42
-
43
- /**
44
- * @type {Worker}
45
- * @private
46
- */
47
- this.worker_ = worker;
48
-
49
- /**
50
- * @type {WebGLProgram}
51
- * @private
52
- */
53
- this.program_ = this.helper_.getProgram(fragmentShader, vertexShader);
54
-
55
- /**
56
- * A list of attributes used by the renderer.
57
- * @type {Array<import('../../webgl/Helper.js').AttributeDescription>}
58
- * @protected
59
- */
60
- this.attributes = [];
61
-
62
- /**
63
- * @type {Array<CustomAttribute>}
64
- * @protected
65
- */
66
- this.customAttributes = customAttributes;
67
- }
68
-
69
- /**
70
- * Rebuild rendering instructions and webgl buffers based on the provided frame state
71
- * Note: this is a costly operation.
72
- * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
73
- * @param {import("../../Map").FrameState} frameState Frame state.
74
- * @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
75
- * @param {function(): void} callback Function called once the render buffers are updated
76
- */
77
- rebuild(batch, frameState, geometryType, callback) {
78
- // store transform for rendering instructions
79
- batch.renderInstructionsTransform = this.helper_.makeProjectionTransform(
80
- frameState,
81
- createTransform()
82
- );
83
- this.generateRenderInstructions(batch);
84
- this.generateBuffers_(batch, geometryType, callback);
85
- }
86
-
87
- /**
88
- * Render the geometries in the batch. This will also update the current transform used for rendering according to
89
- * the invert transform of the webgl buffers
90
- * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
91
- * @param {import("../../transform.js").Transform} currentTransform Transform
92
- * @param {import("../../Map.js").FrameState} frameState Frame state.
93
- * @param {number} offsetX X offset
94
- */
95
- render(batch, currentTransform, frameState, offsetX) {
96
- // multiply the current projection transform with the invert of the one used to fill buffers
97
- this.helper_.makeProjectionTransform(frameState, currentTransform);
98
- translateTransform(currentTransform, offsetX, 0);
99
- multiplyTransform(currentTransform, batch.invertVerticesBufferTransform);
100
-
101
- // enable program, buffers and attributes
102
- this.helper_.useProgram(this.program_, frameState);
103
- this.helper_.bindBuffer(batch.verticesBuffer);
104
- this.helper_.bindBuffer(batch.indicesBuffer);
105
- this.helper_.enableAttributes(this.attributes);
106
-
107
- const renderCount = batch.indicesBuffer.getSize();
108
- this.helper_.drawElements(0, renderCount);
109
- }
110
-
111
- /**
112
- * Rebuild rendering instructions based on the provided frame state
113
- * This is specific to the geometry type and has to be implemented by subclasses.
114
- * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
115
- * @protected
116
- */
117
- generateRenderInstructions(batch) {
118
- abstract();
119
- }
120
-
121
- /**
122
- * Rebuild internal webgl buffers for rendering based on the current rendering instructions;
123
- * This is asynchronous: webgl buffers wil _not_ be updated right away
124
- * @param {import("./MixedGeometryBatch.js").GeometryBatch} batch Geometry batch
125
- * @param {import("../../geom/Geometry.js").Type} geometryType Geometry type
126
- * @param {function(): void} callback Function called once the render buffers are updated
127
- * @private
128
- */
129
- generateBuffers_(batch, geometryType, callback) {
130
- const messageId = workerMessageCounter++;
131
-
132
- let messageType;
133
- switch (geometryType) {
134
- case 'Polygon':
135
- messageType = WebGLWorkerMessageType.GENERATE_POLYGON_BUFFERS;
136
- break;
137
- case 'Point':
138
- messageType = WebGLWorkerMessageType.GENERATE_POINT_BUFFERS;
139
- break;
140
- case 'LineString':
141
- messageType = WebGLWorkerMessageType.GENERATE_LINE_STRING_BUFFERS;
142
- break;
143
- default:
144
- // pass
145
- }
146
-
147
- /** @type {import('./constants.js').WebGLWorkerGenerateBuffersMessage} */
148
- const message = {
149
- id: messageId,
150
- type: messageType,
151
- renderInstructions: batch.renderInstructions.buffer,
152
- renderInstructionsTransform: batch.renderInstructionsTransform,
153
- customAttributesCount: this.customAttributes.length,
154
- };
155
- this.worker_.postMessage(message, [batch.renderInstructions.buffer]);
156
-
157
- // leave ownership of render instructions
158
- batch.renderInstructions = null;
159
-
160
- const handleMessage =
161
- /**
162
- * @param {*} event Event.
163
- */
164
- (event) => {
165
- const received = event.data;
166
-
167
- // this is not the response to our request: skip
168
- if (received.id !== messageId) {
169
- return;
170
- }
171
-
172
- // we've received our response: stop listening
173
- this.worker_.removeEventListener('message', handleMessage);
174
-
175
- // store transform & invert transform for webgl buffers
176
- batch.verticesBufferTransform = received.renderInstructionsTransform;
177
- makeInverseTransform(
178
- batch.invertVerticesBufferTransform,
179
- batch.verticesBufferTransform
180
- );
181
-
182
- // copy & flush received buffers to GPU
183
- batch.verticesBuffer.fromArrayBuffer(received.vertexBuffer);
184
- this.helper_.flushBufferData(batch.verticesBuffer);
185
- batch.indicesBuffer.fromArrayBuffer(received.indexBuffer);
186
- this.helper_.flushBufferData(batch.indicesBuffer);
187
-
188
- // take back ownership of the render instructions for further use
189
- batch.renderInstructions = new Float32Array(
190
- received.renderInstructions
191
- );
192
-
193
- callback();
194
- };
195
-
196
- this.worker_.addEventListener('message', handleMessage);
197
- }
198
- }
199
-
200
- export default AbstractBatchRenderer;
@@ -1,27 +0,0 @@
1
- /**
2
- * Names of attributes made available to the vertex shader.
3
- * Please note: changing these *will* break custom shaders!
4
- */
5
- export type Attributes = string;
6
- export namespace Attributes {
7
- const SEGMENT_START: string;
8
- const SEGMENT_END: string;
9
- const PARAMETERS: string;
10
- }
11
- export default LineStringBatchRenderer;
12
- declare class LineStringBatchRenderer extends AbstractBatchRenderer {
13
- attributes: {
14
- name: string;
15
- size: number;
16
- type: number;
17
- }[];
18
- /**
19
- * Render instructions for lines are structured like so:
20
- * [ customAttr0, ... , customAttrN, numberOfVertices0, x0, y0, ... , xN, yN, numberOfVertices1, ... ]
21
- * @param {import("./MixedGeometryBatch.js").LineStringGeometryBatch} batch Linestring geometry batch
22
- * @override
23
- */
24
- override generateRenderInstructions(batch: import("./MixedGeometryBatch.js").LineStringGeometryBatch): void;
25
- }
26
- import AbstractBatchRenderer from "./BatchRenderer.js";
27
- //# sourceMappingURL=LineStringBatchRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LineStringBatchRenderer.d.ts","sourceRoot":"","sources":["LineStringBatchRenderer.js"],"names":[],"mappings":";;;;yBAUU,MAAM;;;;;;;AAQhB;IAYI;;;;QAwBC;IAGH;;;;;OAKG;IACH,2CAHW,OAAO,yBAAyB,EAAE,uBAAuB,QAkDnE;CACF"}
@@ -1,114 +0,0 @@
1
- /**
2
- * @module ol/render/webgl/LineStringBatchRenderer
3
- */
4
- import AbstractBatchRenderer from './BatchRenderer.js';
5
- import {AttributeType} from '../../webgl/Helper.js';
6
- import {transform2D} from '../../geom/flat/transform.js';
7
-
8
- /**
9
- * Names of attributes made available to the vertex shader.
10
- * Please note: changing these *will* break custom shaders!
11
- * @enum {string}
12
- */
13
- export const Attributes = {
14
- SEGMENT_START: 'a_segmentStart',
15
- SEGMENT_END: 'a_segmentEnd',
16
- PARAMETERS: 'a_parameters',
17
- };
18
-
19
- class LineStringBatchRenderer extends AbstractBatchRenderer {
20
- /**
21
- * @param {import("../../webgl/Helper.js").default} helper WebGL helper instance
22
- * @param {Worker} worker WebGL worker instance
23
- * @param {string} vertexShader Vertex shader
24
- * @param {string} fragmentShader Fragment shader
25
- * @param {Array<import('./BatchRenderer.js').CustomAttribute>} customAttributes List of custom attributes
26
- */
27
- constructor(helper, worker, vertexShader, fragmentShader, customAttributes) {
28
- super(helper, worker, vertexShader, fragmentShader, customAttributes);
29
-
30
- // vertices for lines must hold both a position (x,y) and an offset (dx,dy)
31
- this.attributes = [
32
- {
33
- name: Attributes.SEGMENT_START,
34
- size: 2,
35
- type: AttributeType.FLOAT,
36
- },
37
- {
38
- name: Attributes.SEGMENT_END,
39
- size: 2,
40
- type: AttributeType.FLOAT,
41
- },
42
- {
43
- name: Attributes.PARAMETERS,
44
- size: 1,
45
- type: AttributeType.FLOAT,
46
- },
47
- ].concat(
48
- customAttributes.map(function (attribute) {
49
- return {
50
- name: 'a_' + attribute.name,
51
- size: 1,
52
- type: AttributeType.FLOAT,
53
- };
54
- })
55
- );
56
- }
57
-
58
- /**
59
- * Render instructions for lines are structured like so:
60
- * [ customAttr0, ... , customAttrN, numberOfVertices0, x0, y0, ... , xN, yN, numberOfVertices1, ... ]
61
- * @param {import("./MixedGeometryBatch.js").LineStringGeometryBatch} batch Linestring geometry batch
62
- * @override
63
- */
64
- generateRenderInstructions(batch) {
65
- // here we anticipate the amount of render instructions for lines:
66
- // 2 instructions per vertex for position (x and y)
67
- // + 1 instruction per line per custom attributes
68
- // + 1 instruction per line (for vertices count)
69
- const totalInstructionsCount =
70
- 2 * batch.verticesCount +
71
- (1 + this.customAttributes.length) * batch.geometriesCount;
72
- if (
73
- !batch.renderInstructions ||
74
- batch.renderInstructions.length !== totalInstructionsCount
75
- ) {
76
- batch.renderInstructions = new Float32Array(totalInstructionsCount);
77
- }
78
-
79
- // loop on features to fill the render instructions
80
- const flatCoords = [];
81
- let renderIndex = 0;
82
- for (const featureUid in batch.entries) {
83
- const batchEntry = batch.entries[featureUid];
84
- for (let i = 0, ii = batchEntry.flatCoordss.length; i < ii; i++) {
85
- flatCoords.length = batchEntry.flatCoordss[i].length;
86
- transform2D(
87
- batchEntry.flatCoordss[i],
88
- 0,
89
- flatCoords.length,
90
- 2,
91
- batch.renderInstructionsTransform,
92
- flatCoords
93
- );
94
-
95
- // custom attributes
96
- for (let k = 0, kk = this.customAttributes.length; k < kk; k++) {
97
- const value = this.customAttributes[k].callback(batchEntry.feature);
98
- batch.renderInstructions[renderIndex++] = value;
99
- }
100
-
101
- // vertices count
102
- batch.renderInstructions[renderIndex++] = flatCoords.length / 2;
103
-
104
- // looping on points for positions
105
- for (let j = 0, jj = flatCoords.length; j < jj; j += 2) {
106
- batch.renderInstructions[renderIndex++] = flatCoords[j];
107
- batch.renderInstructions[renderIndex++] = flatCoords[j + 1];
108
- }
109
- }
110
- }
111
- }
112
- }
113
-
114
- export default LineStringBatchRenderer;
@@ -1,26 +0,0 @@
1
- /**
2
- * Names of attributes made available to the vertex shader.
3
- * Please note: changing these *will* break custom shaders!
4
- */
5
- export type Attributes = string;
6
- export namespace Attributes {
7
- const POSITION: string;
8
- const INDEX: string;
9
- }
10
- export default PointBatchRenderer;
11
- declare class PointBatchRenderer extends AbstractBatchRenderer {
12
- attributes: {
13
- name: string;
14
- size: number;
15
- type: number;
16
- }[];
17
- /**
18
- * Render instructions for lines are structured like so:
19
- * [ x0, y0, customAttr0, ... , xN, yN, customAttrN ]
20
- * @param {import("./MixedGeometryBatch.js").PointGeometryBatch} batch Point geometry batch
21
- * @override
22
- */
23
- override generateRenderInstructions(batch: import("./MixedGeometryBatch.js").PointGeometryBatch): void;
24
- }
25
- import AbstractBatchRenderer from "./BatchRenderer.js";
26
- //# sourceMappingURL=PointBatchRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PointBatchRenderer.d.ts","sourceRoot":"","sources":["PointBatchRenderer.js"],"names":[],"mappings":";;;;yBAWU,MAAM;;;;;;AAOhB;IAYI;;;;QAmBC;IAGH;;;;;OAKG;IACH,2CAHW,OAAO,yBAAyB,EAAE,kBAAkB,QAoC9D;CACF"}
@@ -1,95 +0,0 @@
1
- /**
2
- * @module ol/render/webgl/PointBatchRenderer
3
- */
4
-
5
- import AbstractBatchRenderer from './BatchRenderer.js';
6
- import {AttributeType} from '../../webgl/Helper.js';
7
- import {apply as applyTransform} from '../../transform.js';
8
-
9
- /**
10
- * Names of attributes made available to the vertex shader.
11
- * Please note: changing these *will* break custom shaders!
12
- * @enum {string}
13
- */
14
- export const Attributes = {
15
- POSITION: 'a_position',
16
- INDEX: 'a_index',
17
- };
18
-
19
- class PointBatchRenderer extends AbstractBatchRenderer {
20
- /**
21
- * @param {import("../../webgl/Helper.js").default} helper WebGL helper instance
22
- * @param {Worker} worker WebGL worker instance
23
- * @param {string} vertexShader Vertex shader
24
- * @param {string} fragmentShader Fragment shader
25
- * @param {Array<import('./BatchRenderer.js').CustomAttribute>} customAttributes List of custom attributes
26
- */
27
- constructor(helper, worker, vertexShader, fragmentShader, customAttributes) {
28
- super(helper, worker, vertexShader, fragmentShader, customAttributes);
29
-
30
- // vertices for point must hold both a position (x,y) and an index (their position in the quad)
31
- this.attributes = [
32
- {
33
- name: Attributes.POSITION,
34
- size: 2,
35
- type: AttributeType.FLOAT,
36
- },
37
- {
38
- name: Attributes.INDEX,
39
- size: 1,
40
- type: AttributeType.FLOAT,
41
- },
42
- ].concat(
43
- customAttributes.map(function (attribute) {
44
- return {
45
- name: 'a_' + attribute.name,
46
- size: 1,
47
- type: AttributeType.FLOAT,
48
- };
49
- })
50
- );
51
- }
52
-
53
- /**
54
- * Render instructions for lines are structured like so:
55
- * [ x0, y0, customAttr0, ... , xN, yN, customAttrN ]
56
- * @param {import("./MixedGeometryBatch.js").PointGeometryBatch} batch Point geometry batch
57
- * @override
58
- */
59
- generateRenderInstructions(batch) {
60
- // here we anticipate the amount of render instructions for points:
61
- // 2 instructions per vertex for position (x and y)
62
- // + 1 instruction per vertex per custom attributes
63
- const totalInstructionsCount =
64
- (2 + this.customAttributes.length) * batch.geometriesCount;
65
- if (
66
- !batch.renderInstructions ||
67
- batch.renderInstructions.length !== totalInstructionsCount
68
- ) {
69
- batch.renderInstructions = new Float32Array(totalInstructionsCount);
70
- }
71
-
72
- // loop on features to fill the render instructions
73
- const tmpCoords = [];
74
- let renderIndex = 0;
75
- for (const featureUid in batch.entries) {
76
- const batchEntry = batch.entries[featureUid];
77
- for (let i = 0, ii = batchEntry.flatCoordss.length; i < ii; i++) {
78
- tmpCoords[0] = batchEntry.flatCoordss[i][0];
79
- tmpCoords[1] = batchEntry.flatCoordss[i][1];
80
- applyTransform(batch.renderInstructionsTransform, tmpCoords);
81
-
82
- batch.renderInstructions[renderIndex++] = tmpCoords[0];
83
- batch.renderInstructions[renderIndex++] = tmpCoords[1];
84
-
85
- // pushing custom attributes
86
- for (let j = 0, jj = this.customAttributes.length; j < jj; j++) {
87
- const value = this.customAttributes[j].callback(batchEntry.feature);
88
- batch.renderInstructions[renderIndex++] = value;
89
- }
90
- }
91
- }
92
- }
93
- }
94
-
95
- export default PointBatchRenderer;
@@ -1,25 +0,0 @@
1
- /**
2
- * Names of attributes made available to the vertex shader.
3
- * Please note: changing these *will* break custom shaders!
4
- */
5
- export type Attributes = string;
6
- export namespace Attributes {
7
- const POSITION: string;
8
- }
9
- export default PolygonBatchRenderer;
10
- declare class PolygonBatchRenderer extends AbstractBatchRenderer {
11
- attributes: {
12
- name: string;
13
- size: number;
14
- type: number;
15
- }[];
16
- /**
17
- * Render instructions for polygons are structured like so:
18
- * [ customAttr0, ..., customAttrN, numberOfRings, numberOfVerticesInRing0, ..., numberOfVerticesInRingN, x0, y0, ..., xN, yN, numberOfRings,... ]
19
- * @param {import("./MixedGeometryBatch.js").PolygonGeometryBatch} batch Polygon geometry batch
20
- * @override
21
- */
22
- override generateRenderInstructions(batch: import("./MixedGeometryBatch.js").PolygonGeometryBatch): void;
23
- }
24
- import AbstractBatchRenderer from "./BatchRenderer.js";
25
- //# sourceMappingURL=PolygonBatchRenderer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"PolygonBatchRenderer.d.ts","sourceRoot":"","sources":["PolygonBatchRenderer.js"],"names":[],"mappings":";;;;yBAUU,MAAM;;;;;AAMhB;IAYI;;;;QAcC;IAGH;;;;;OAKG;IACH,2CAHW,OAAO,yBAAyB,EAAE,oBAAoB,QA+DhE;CACF"}
@@ -1,115 +0,0 @@
1
- /**
2
- * @module ol/render/webgl/PolygonBatchRenderer
3
- */
4
- import AbstractBatchRenderer from './BatchRenderer.js';
5
- import {AttributeType} from '../../webgl/Helper.js';
6
- import {transform2D} from '../../geom/flat/transform.js';
7
-
8
- /**
9
- * Names of attributes made available to the vertex shader.
10
- * Please note: changing these *will* break custom shaders!
11
- * @enum {string}
12
- */
13
- export const Attributes = {
14
- POSITION: 'a_position',
15
- };
16
-
17
- class PolygonBatchRenderer extends AbstractBatchRenderer {
18
- /**
19
- * @param {import("../../webgl/Helper.js").default} helper WebGL helper instance
20
- * @param {Worker} worker WebGL worker instance
21
- * @param {string} vertexShader Vertex shader
22
- * @param {string} fragmentShader Fragment shader
23
- * @param {Array<import('./BatchRenderer.js').CustomAttribute>} customAttributes List of custom attributes
24
- */
25
- constructor(helper, worker, vertexShader, fragmentShader, customAttributes) {
26
- super(helper, worker, vertexShader, fragmentShader, customAttributes);
27
-
28
- // By default only a position attribute is required to render polygons
29
- this.attributes = [
30
- {
31
- name: Attributes.POSITION,
32
- size: 2,
33
- type: AttributeType.FLOAT,
34
- },
35
- ].concat(
36
- customAttributes.map(function (attribute) {
37
- return {
38
- name: 'a_' + attribute.name,
39
- size: 1,
40
- type: AttributeType.FLOAT,
41
- };
42
- })
43
- );
44
- }
45
-
46
- /**
47
- * Render instructions for polygons are structured like so:
48
- * [ customAttr0, ..., customAttrN, numberOfRings, numberOfVerticesInRing0, ..., numberOfVerticesInRingN, x0, y0, ..., xN, yN, numberOfRings,... ]
49
- * @param {import("./MixedGeometryBatch.js").PolygonGeometryBatch} batch Polygon geometry batch
50
- * @override
51
- */
52
- generateRenderInstructions(batch) {
53
- // here we anticipate the amount of render instructions for polygons:
54
- // 2 instructions per vertex for position (x and y)
55
- // + 1 instruction per polygon per custom attributes
56
- // + 1 instruction per polygon (for vertices count in polygon)
57
- // + 1 instruction per ring (for vertices count in ring)
58
- const totalInstructionsCount =
59
- 2 * batch.verticesCount +
60
- (1 + this.customAttributes.length) * batch.geometriesCount +
61
- batch.ringsCount;
62
- if (
63
- !batch.renderInstructions ||
64
- batch.renderInstructions.length !== totalInstructionsCount
65
- ) {
66
- batch.renderInstructions = new Float32Array(totalInstructionsCount);
67
- }
68
-
69
- // loop on features to fill the render instructions
70
- const flatCoords = [];
71
- let renderIndex = 0;
72
- for (const featureUid in batch.entries) {
73
- const batchEntry = batch.entries[featureUid];
74
- for (let i = 0, ii = batchEntry.flatCoordss.length; i < ii; i++) {
75
- flatCoords.length = batchEntry.flatCoordss[i].length;
76
- transform2D(
77
- batchEntry.flatCoordss[i],
78
- 0,
79
- flatCoords.length,
80
- 2,
81
- batch.renderInstructionsTransform,
82
- flatCoords
83
- );
84
-
85
- // custom attributes
86
- for (let k = 0, kk = this.customAttributes.length; k < kk; k++) {
87
- const value = this.customAttributes[k].callback(batchEntry.feature);
88
- batch.renderInstructions[renderIndex++] = value;
89
- }
90
-
91
- // ring count
92
- batch.renderInstructions[renderIndex++] =
93
- batchEntry.ringsVerticesCounts[i].length;
94
-
95
- // vertices count in each ring
96
- for (
97
- let j = 0, jj = batchEntry.ringsVerticesCounts[i].length;
98
- j < jj;
99
- j++
100
- ) {
101
- batch.renderInstructions[renderIndex++] =
102
- batchEntry.ringsVerticesCounts[i][j];
103
- }
104
-
105
- // looping on points for positions
106
- for (let j = 0, jj = flatCoords.length; j < jj; j += 2) {
107
- batch.renderInstructions[renderIndex++] = flatCoords[j];
108
- batch.renderInstructions[renderIndex++] = flatCoords[j + 1];
109
- }
110
- }
111
- }
112
- }
113
- }
114
-
115
- export default PolygonBatchRenderer;
@@ -1,43 +0,0 @@
1
- /** @typedef {'color'|'opacity'|'width'} DefaultAttributes */
2
- /**
3
- * Packs red/green/blue channels of a color into a single float value; alpha is ignored.
4
- * This is how the color is expected to be computed.
5
- * @param {import("../../color.js").Color|string} color Color as array of numbers or string
6
- * @return {number} Float value containing the color
7
- */
8
- export function packColor(color: import("../../color.js").Color | string): number;
9
- /**
10
- * Default polygon vertex shader.
11
- * Relies on the color and opacity attributes.
12
- * @type {string}
13
- */
14
- export const FILL_VERTEX_SHADER: string;
15
- /**
16
- * Default polygon fragment shader.
17
- * @type {string}
18
- */
19
- export const FILL_FRAGMENT_SHADER: string;
20
- /**
21
- * Default linestring vertex shader.
22
- * Relies on color, opacity and width attributes.
23
- * @type {string}
24
- */
25
- export const STROKE_VERTEX_SHADER: string;
26
- /**
27
- * Default linestring fragment shader.
28
- * @type {string}
29
- */
30
- export const STROKE_FRAGMENT_SHADER: string;
31
- /**
32
- * Default point vertex shader.
33
- * Relies on color and opacity attributes.
34
- * @type {string}
35
- */
36
- export const POINT_VERTEX_SHADER: string;
37
- /**
38
- * Default point fragment shader.
39
- * @type {string}
40
- */
41
- export const POINT_FRAGMENT_SHADER: string;
42
- export type DefaultAttributes = 'color' | 'opacity' | 'width';
43
- //# sourceMappingURL=shaders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"shaders.d.ts","sourceRoot":"","sources":["shaders.js"],"names":[],"mappings":"AAKA,6DAA6D;AAE7D;;;;;GAKG;AACH,iCAHW,OAAO,gBAAgB,EAAE,KAAK,GAAC,MAAM,GACpC,MAAM,CAQjB;AAQD;;;;GAIG;AACH,iCAFU,MAAM,CAeX;AAEL;;;GAGG;AACH,mCAFU,MAAM,CASX;AAEL;;;;GAIG;AACH,mCAFU,MAAM,CA6DX;AAEL;;;GAGG;AACH,qCAFU,MAAM,CAyBX;AAEL;;;;GAIG;AACH,kCAFU,MAAM,CA0BX;AAEL;;;GAGG;AACH,oCAFU,MAAM,CASX;gCAhMS,OAAO,GAAC,SAAS,GAAC,OAAO"}