@maplibre/mlt 0.0.1-alpha.9 → 1.0.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 (253) hide show
  1. package/dist/{encodings → decoding}/decodingUtils.js +18 -33
  2. package/dist/decoding/decodingUtils.js.map +1 -0
  3. package/dist/decoding/decodingUtils.spec.d.ts +1 -0
  4. package/dist/decoding/decodingUtils.spec.js +125 -0
  5. package/dist/decoding/decodingUtils.spec.js.map +1 -0
  6. package/dist/{encodings → decoding}/fsstDecoder.js +1 -4
  7. package/dist/decoding/fsstDecoder.js.map +1 -0
  8. package/dist/decoding/fsstDecoder.spec.d.ts +1 -0
  9. package/dist/decoding/fsstDecoder.spec.js +36 -0
  10. package/dist/decoding/fsstDecoder.spec.js.map +1 -0
  11. package/dist/{encodings → decoding}/geometryDecoder.js +65 -71
  12. package/dist/decoding/geometryDecoder.js.map +1 -0
  13. package/dist/decoding/geometryDecoder.spec.d.ts +1 -0
  14. package/dist/decoding/geometryDecoder.spec.js +5 -0
  15. package/dist/decoding/geometryDecoder.spec.js.map +1 -0
  16. package/dist/decoding/geometryScaling.js +2 -0
  17. package/dist/decoding/geometryScaling.js.map +1 -0
  18. package/dist/{encodings → decoding}/intWrapper.js +2 -4
  19. package/dist/decoding/intWrapper.js.map +1 -0
  20. package/dist/{encodings → decoding}/integerDecodingUtils.d.ts +13 -0
  21. package/dist/{encodings → decoding}/integerDecodingUtils.js +89 -88
  22. package/dist/decoding/integerDecodingUtils.js.map +1 -0
  23. package/dist/decoding/integerDecodingUtils.spec.d.ts +1 -0
  24. package/dist/decoding/integerDecodingUtils.spec.js +194 -0
  25. package/dist/decoding/integerDecodingUtils.spec.js.map +1 -0
  26. package/dist/{encodings → decoding}/integerStreamDecoder.d.ts +1 -1
  27. package/dist/decoding/integerStreamDecoder.js +263 -0
  28. package/dist/decoding/integerStreamDecoder.js.map +1 -0
  29. package/dist/decoding/integerStreamDecoder.spec.d.ts +1 -0
  30. package/dist/decoding/integerStreamDecoder.spec.js +125 -0
  31. package/dist/decoding/integerStreamDecoder.spec.js.map +1 -0
  32. package/dist/{encodings → decoding}/propertyDecoder.d.ts +1 -1
  33. package/dist/decoding/propertyDecoder.js +140 -0
  34. package/dist/decoding/propertyDecoder.js.map +1 -0
  35. package/dist/decoding/propertyDecoder.spec.d.ts +1 -0
  36. package/dist/decoding/propertyDecoder.spec.js +682 -0
  37. package/dist/decoding/propertyDecoder.spec.js.map +1 -0
  38. package/dist/{encodings → decoding}/stringDecoder.d.ts +1 -1
  39. package/dist/decoding/stringDecoder.js +142 -0
  40. package/dist/decoding/stringDecoder.js.map +1 -0
  41. package/dist/decoding/stringDecoder.spec.d.ts +1 -0
  42. package/dist/decoding/stringDecoder.spec.js +311 -0
  43. package/dist/decoding/stringDecoder.spec.js.map +1 -0
  44. package/dist/index.d.ts +2 -4
  45. package/dist/index.js +5 -20
  46. package/dist/index.js.map +1 -1
  47. package/dist/metadata/tile/dictionaryType.js +2 -5
  48. package/dist/metadata/tile/dictionaryType.js.map +1 -1
  49. package/dist/metadata/tile/lengthType.js +2 -5
  50. package/dist/metadata/tile/lengthType.js.map +1 -1
  51. package/dist/metadata/tile/logicalLevelTechnique.js +2 -5
  52. package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
  53. package/dist/metadata/tile/logicalStreamType.js +4 -5
  54. package/dist/metadata/tile/logicalStreamType.js.map +1 -1
  55. package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +1 -1
  56. package/dist/metadata/tile/mortonEncodedStreamMetadata.js +8 -10
  57. package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
  58. package/dist/metadata/tile/offsetType.js +2 -5
  59. package/dist/metadata/tile/offsetType.js.map +1 -1
  60. package/dist/metadata/tile/physicalLevelTechnique.js +2 -5
  61. package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
  62. package/dist/metadata/tile/physicalStreamType.js +2 -5
  63. package/dist/metadata/tile/physicalStreamType.js.map +1 -1
  64. package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +5 -1
  65. package/dist/metadata/tile/rleEncodedStreamMetadata.js +14 -10
  66. package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
  67. package/dist/metadata/tile/scalarType.js +2 -5
  68. package/dist/metadata/tile/scalarType.js.map +1 -1
  69. package/dist/metadata/tile/streamMetadata.d.ts +7 -1
  70. package/dist/metadata/tile/streamMetadata.js +35 -24
  71. package/dist/metadata/tile/streamMetadata.js.map +1 -1
  72. package/dist/metadata/tile/streamMetadataDecoder.d.ts +1 -1
  73. package/dist/metadata/tile/streamMetadataDecoder.js +13 -17
  74. package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
  75. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +2 -2
  76. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +40 -32
  77. package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
  78. package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
  79. package/dist/metadata/tileset/tilesetMetadata.js +29 -0
  80. package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
  81. package/dist/metadata/tileset/typeMap.d.ts +1 -1
  82. package/dist/metadata/tileset/typeMap.js +63 -59
  83. package/dist/metadata/tileset/typeMap.js.map +1 -1
  84. package/dist/mltDecoder.d.ts +1 -1
  85. package/dist/mltDecoder.js +58 -64
  86. package/dist/mltDecoder.js.map +1 -1
  87. package/dist/mltDecoder.spec.d.ts +1 -0
  88. package/dist/mltDecoder.spec.js +152 -0
  89. package/dist/mltDecoder.spec.js.map +1 -0
  90. package/dist/mltMetadata.js +4 -7
  91. package/dist/mltMetadata.js.map +1 -1
  92. package/dist/vector/constant/intConstVector.d.ts +0 -13
  93. package/dist/vector/constant/intConstVector.js +2 -82
  94. package/dist/vector/constant/intConstVector.js.map +1 -1
  95. package/dist/vector/constant/longConstVector.d.ts +0 -13
  96. package/dist/vector/constant/longConstVector.js +2 -80
  97. package/dist/vector/constant/longConstVector.js.map +1 -1
  98. package/dist/vector/dictionary/stringDictionaryVector.d.ts +0 -14
  99. package/dist/vector/dictionary/stringDictionaryVector.js +6 -178
  100. package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
  101. package/dist/vector/featureTable.d.ts +7 -2
  102. package/dist/vector/featureTable.js +45 -11
  103. package/dist/vector/featureTable.js.map +1 -1
  104. package/dist/vector/fixedSizeVector.js +2 -9
  105. package/dist/vector/fixedSizeVector.js.map +1 -1
  106. package/dist/vector/flat/bitVector.js +3 -4
  107. package/dist/vector/flat/bitVector.js.map +1 -1
  108. package/dist/vector/flat/booleanFlatVector.d.ts +0 -13
  109. package/dist/vector/flat/booleanFlatVector.js +3 -45
  110. package/dist/vector/flat/booleanFlatVector.js.map +1 -1
  111. package/dist/vector/flat/doubleFlatVector.d.ts +0 -13
  112. package/dist/vector/flat/doubleFlatVector.js +2 -104
  113. package/dist/vector/flat/doubleFlatVector.js.map +1 -1
  114. package/dist/vector/flat/floatFlatVector.d.ts +0 -13
  115. package/dist/vector/flat/floatFlatVector.js +2 -104
  116. package/dist/vector/flat/floatFlatVector.js.map +1 -1
  117. package/dist/vector/flat/floatFlatVector.spec.d.ts +1 -0
  118. package/dist/vector/flat/floatFlatVector.spec.js +14 -0
  119. package/dist/vector/flat/floatFlatVector.spec.js.map +1 -0
  120. package/dist/vector/flat/intFlatVector.d.ts +0 -13
  121. package/dist/vector/flat/intFlatVector.js +2 -117
  122. package/dist/vector/flat/intFlatVector.js.map +1 -1
  123. package/dist/vector/flat/intFlatVector.spec.d.ts +1 -0
  124. package/dist/vector/flat/intFlatVector.spec.js +15 -0
  125. package/dist/vector/flat/intFlatVector.spec.js.map +1 -0
  126. package/dist/vector/flat/longFlatVector.d.ts +0 -13
  127. package/dist/vector/flat/longFlatVector.js +2 -118
  128. package/dist/vector/flat/longFlatVector.js.map +1 -1
  129. package/dist/vector/flat/longFlatVector.spec.d.ts +1 -0
  130. package/dist/vector/flat/longFlatVector.spec.js +14 -0
  131. package/dist/vector/flat/longFlatVector.spec.js.map +1 -0
  132. package/dist/vector/flat/stringFlatVector.d.ts +0 -13
  133. package/dist/vector/flat/stringFlatVector.js +5 -166
  134. package/dist/vector/flat/stringFlatVector.js.map +1 -1
  135. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +0 -13
  136. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +14 -51
  137. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
  138. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
  139. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +28 -0
  140. package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
  141. package/dist/vector/geometry/constGeometryVector.d.ts +0 -4
  142. package/dist/vector/geometry/constGeometryVector.js +9 -30
  143. package/dist/vector/geometry/constGeometryVector.js.map +1 -1
  144. package/dist/vector/geometry/constGpuVector.d.ts +0 -4
  145. package/dist/vector/geometry/constGpuVector.js +4 -25
  146. package/dist/vector/geometry/constGpuVector.js.map +1 -1
  147. package/dist/vector/geometry/flatGeometryVector.d.ts +0 -4
  148. package/dist/vector/geometry/flatGeometryVector.js +8 -35
  149. package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
  150. package/dist/vector/geometry/flatGpuVector.d.ts +0 -4
  151. package/dist/vector/geometry/flatGpuVector.js +3 -29
  152. package/dist/vector/geometry/flatGpuVector.js.map +1 -1
  153. package/dist/vector/geometry/geometryType.js +4 -7
  154. package/dist/vector/geometry/geometryType.js.map +1 -1
  155. package/dist/vector/geometry/geometryVector.d.ts +2 -5
  156. package/dist/vector/geometry/geometryVector.js +11 -13
  157. package/dist/vector/geometry/geometryVector.js.map +1 -1
  158. package/dist/vector/geometry/geometryVectorConverter.js +28 -34
  159. package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
  160. package/dist/vector/geometry/gpuVector.d.ts +5 -4
  161. package/dist/vector/geometry/gpuVector.js +89 -5
  162. package/dist/vector/geometry/gpuVector.js.map +1 -1
  163. package/dist/vector/geometry/spaceFillingCurve.js +6 -4
  164. package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
  165. package/dist/vector/geometry/topologyVector.js +4 -4
  166. package/dist/vector/geometry/topologyVector.js.map +1 -1
  167. package/dist/vector/geometry/vertexBufferType.js +2 -5
  168. package/dist/vector/geometry/vertexBufferType.js.map +1 -1
  169. package/dist/vector/geometry/zOrderCurve.js +2 -8
  170. package/dist/vector/geometry/zOrderCurve.js.map +1 -1
  171. package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
  172. package/dist/vector/geometry/zOrderCurve.spec.js +14 -0
  173. package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
  174. package/dist/vector/intVector.js +1 -2
  175. package/dist/vector/sequence/intSequenceVector.d.ts +0 -13
  176. package/dist/vector/sequence/intSequenceVector.js +2 -64
  177. package/dist/vector/sequence/intSequenceVector.js.map +1 -1
  178. package/dist/vector/sequence/longSequenceVector.d.ts +0 -13
  179. package/dist/vector/sequence/longSequenceVector.js +2 -49
  180. package/dist/vector/sequence/longSequenceVector.js.map +1 -1
  181. package/dist/vector/sequence/longSequenceVektor.spec.d.ts +1 -0
  182. package/dist/vector/sequence/longSequenceVektor.spec.js +11 -0
  183. package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -0
  184. package/dist/vector/sequence/sequenceVector.js +3 -9
  185. package/dist/vector/sequence/sequenceVector.js.map +1 -1
  186. package/dist/vector/variableSizeVector.js +3 -9
  187. package/dist/vector/variableSizeVector.js.map +1 -1
  188. package/dist/vector/vector.d.ts +0 -17
  189. package/dist/vector/vector.js +5 -47
  190. package/dist/vector/vector.js.map +1 -1
  191. package/dist/vector/vectorType.js +2 -5
  192. package/dist/vector/vectorType.js.map +1 -1
  193. package/package.json +10 -31
  194. package/dist/encodings/decodingUtils.js.map +0 -1
  195. package/dist/encodings/doubleDecoder.d.ts +0 -4
  196. package/dist/encodings/doubleDecoder.js +0 -22
  197. package/dist/encodings/doubleDecoder.js.map +0 -1
  198. package/dist/encodings/fastpfor/bitpacking.d.ts +0 -51
  199. package/dist/encodings/fastpfor/bitpacking.js +0 -3930
  200. package/dist/encodings/fastpfor/bitpacking.js.map +0 -1
  201. package/dist/encodings/fastpfor/codec.d.ts +0 -19
  202. package/dist/encodings/fastpfor/codec.js +0 -3
  203. package/dist/encodings/fastpfor/codec.js.map +0 -1
  204. package/dist/encodings/fastpfor/fastpfor.d.ts +0 -38
  205. package/dist/encodings/fastpfor/fastpfor.js +0 -146
  206. package/dist/encodings/fastpfor/fastpfor.js.map +0 -1
  207. package/dist/encodings/fastpfor/index.d.ts +0 -20
  208. package/dist/encodings/fastpfor/index.js +0 -47
  209. package/dist/encodings/fastpfor/index.js.map +0 -1
  210. package/dist/encodings/fastpfor/util.d.ts +0 -2
  211. package/dist/encodings/fastpfor/util.js +0 -16
  212. package/dist/encodings/fastpfor/util.js.map +0 -1
  213. package/dist/encodings/fastpfor/varint.d.ts +0 -18
  214. package/dist/encodings/fastpfor/varint.js +0 -125
  215. package/dist/encodings/fastpfor/varint.js.map +0 -1
  216. package/dist/encodings/fsstDecoder.js.map +0 -1
  217. package/dist/encodings/geometryDecoder.js.map +0 -1
  218. package/dist/encodings/geometryScaling.js +0 -3
  219. package/dist/encodings/geometryScaling.js.map +0 -1
  220. package/dist/encodings/intWrapper.js.map +0 -1
  221. package/dist/encodings/integerDecodingUtils.js.map +0 -1
  222. package/dist/encodings/integerStreamDecoder.js +0 -249
  223. package/dist/encodings/integerStreamDecoder.js.map +0 -1
  224. package/dist/encodings/propertyDecoder.js +0 -146
  225. package/dist/encodings/propertyDecoder.js.map +0 -1
  226. package/dist/encodings/stringDecoder.js +0 -149
  227. package/dist/encodings/stringDecoder.js.map +0 -1
  228. package/dist/metadata/tileset/tilesetMetadata.g.d.ts +0 -418
  229. package/dist/metadata/tileset/tilesetMetadata.g.js +0 -476
  230. package/dist/metadata/tileset/tilesetMetadata.g.js.map +0 -1
  231. package/dist/vector/filter/constSelectionVector.d.ts +0 -0
  232. package/dist/vector/filter/constSelectionVector.js +0 -1
  233. package/dist/vector/filter/constSelectionVector.js.map +0 -1
  234. package/dist/vector/filter/flatSelectionVector.d.ts +0 -16
  235. package/dist/vector/filter/flatSelectionVector.js +0 -42
  236. package/dist/vector/filter/flatSelectionVector.js.map +0 -1
  237. package/dist/vector/filter/selectionVector.d.ts +0 -8
  238. package/dist/vector/filter/selectionVector.js +0 -3
  239. package/dist/vector/filter/selectionVector.js.map +0 -1
  240. package/dist/vector/filter/selectionVectorUtils.d.ts +0 -7
  241. package/dist/vector/filter/selectionVectorUtils.js +0 -44
  242. package/dist/vector/filter/selectionVectorUtils.js.map +0 -1
  243. package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
  244. package/dist/vector/filter/sequenceSelectionVector.js +0 -1
  245. package/dist/vector/filter/sequenceSelectionVector.js.map +0 -1
  246. package/dist/vector/geometry/point.d.ts +0 -195
  247. package/dist/vector/geometry/point.js +0 -308
  248. package/dist/vector/geometry/point.js.map +0 -1
  249. /package/dist/{encodings → decoding}/decodingUtils.d.ts +0 -0
  250. /package/dist/{encodings → decoding}/fsstDecoder.d.ts +0 -0
  251. /package/dist/{encodings → decoding}/geometryDecoder.d.ts +0 -0
  252. /package/dist/{encodings → decoding}/geometryScaling.d.ts +0 -0
  253. /package/dist/{encodings → decoding}/intWrapper.d.ts +0 -0
@@ -1,11 +1,8 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FlatGeometryVector = void 0;
4
- const geometryVector_1 = require("./geometryVector");
5
- const flatSelectionVector_1 = require("../filter/flatSelectionVector");
6
- const geometryType_1 = require("./geometryType");
7
- const vertexBufferType_1 = require("./vertexBufferType");
8
- class FlatGeometryVector extends geometryVector_1.GeometryVector {
1
+ import { GeometryVector } from "./geometryVector";
2
+ import { GEOMETRY_TYPE } from "./geometryType";
3
+ import { VertexBufferType } from "./vertexBufferType";
4
+ export class FlatGeometryVector extends GeometryVector {
5
+ _geometryTypes;
9
6
  constructor(vertexBufferType,
10
7
  //TODO: refactor -> use UInt8Array
11
8
  _geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonSettings) {
@@ -14,10 +11,10 @@ class FlatGeometryVector extends geometryVector_1.GeometryVector {
14
11
  }
15
12
  static createMortonEncoded(geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo) {
16
13
  //TODO: refactor to use unsigned integers
17
- return new FlatGeometryVector(vertexBufferType_1.VertexBufferType.MORTON, geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo);
14
+ return new FlatGeometryVector(VertexBufferType.MORTON, geometryTypes, topologyVector, vertexOffsets, vertexBuffer, mortonInfo);
18
15
  }
19
16
  static create(geometryTypes, topologyVector, vertexOffsets, vertexBuffer) {
20
- return new FlatGeometryVector(vertexBufferType_1.VertexBufferType.VEC_2, geometryTypes, topologyVector, vertexOffsets, vertexBuffer);
17
+ return new FlatGeometryVector(VertexBufferType.VEC_2, geometryTypes, topologyVector, vertexOffsets, vertexBuffer);
21
18
  }
22
19
  geometryType(index) {
23
20
  return this._geometryTypes[index];
@@ -27,38 +24,14 @@ class FlatGeometryVector extends geometryVector_1.GeometryVector {
27
24
  }
28
25
  containsPolygonGeometry() {
29
26
  for (let i = 0; i < this.numGeometries; i++) {
30
- if (this.geometryType(i) === geometryType_1.GEOMETRY_TYPE.POLYGON || this.geometryType(i) === geometryType_1.GEOMETRY_TYPE.MULTIPOLYGON) {
27
+ if (this.geometryType(i) === GEOMETRY_TYPE.POLYGON || this.geometryType(i) === GEOMETRY_TYPE.MULTIPOLYGON) {
31
28
  return true;
32
29
  }
33
30
  }
34
31
  return false;
35
32
  }
36
- //TODO: refactor -> quick and dirty -> let a multi part geometry be equal to a single part geometry
37
- //to produce the same results as with MVT and the existing styles
38
- filter(geometryType) {
39
- const selectionVector = [];
40
- for (let i = 0; i < this.numGeometries; i++) {
41
- if (this.geometryType(i) === geometryType || this.geometryType(i) === geometryType + 3) {
42
- selectionVector.push(i);
43
- }
44
- }
45
- return new flatSelectionVector_1.FlatSelectionVector(selectionVector);
46
- }
47
- filterSelected(predicateGeometryType, selectionVector) {
48
- let limit = 0;
49
- const vector = selectionVector.selectionValues();
50
- for (let i = 0; i < selectionVector.limit; i++) {
51
- const index = vector[i];
52
- const geometryType = this.geometryType(index);
53
- if (predicateGeometryType === geometryType || predicateGeometryType + 3 === geometryType) {
54
- vector[limit++] = index;
55
- }
56
- }
57
- selectionVector.setLimit(limit);
58
- }
59
33
  containsSingleGeometryType() {
60
34
  return false;
61
35
  }
62
36
  }
63
- exports.FlatGeometryVector = FlatGeometryVector;
64
37
  //# sourceMappingURL=flatGeometryVector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flatGeometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/flatGeometryVector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flatGeometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/flatGeometryVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAuB,MAAM,kBAAkB,CAAC;AAEvE,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,MAAM,OAAO,kBAAmB,SAAQ,cAAc;IAI7B;IAHrB,YACI,gBAAkC;IAClC,kCAAkC;IACjB,cAA0B,EAC3C,cAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,cAA+B;QAE/B,KAAK,CAAC,gBAAgB,EAAE,cAAc,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QANpE,mBAAc,GAAd,cAAc,CAAY;IAO/C,CAAC;IAED,MAAM,CAAC,mBAAmB,CACtB,aAAyB,EACzB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB,EACxB,UAA0B;QAE1B,yCAAyC;QACzC,OAAO,IAAI,kBAAkB,CACzB,gBAAgB,CAAC,MAAM,EACvB,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,EACZ,UAAU,CACb,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,MAAM,CAChB,aAAyB,EACzB,cAA8B,EAC9B,aAAyB,EACzB,YAAwB;QAExB,OAAO,IAAI,kBAAkB,CACzB,gBAAgB,CAAC,KAAK,EACtB,aAAa,EACb,cAAc,EACd,aAAa,EACb,YAAY,CACf,CAAC;IACN,CAAC;IAED,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,uBAAuB;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;gBACxG,OAAO,IAAI,CAAC;YAChB,CAAC;QACL,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAED,0BAA0B;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -1,6 +1,4 @@
1
- import { type SelectionVector } from "../filter/selectionVector";
2
1
  import { GpuVector } from "./gpuVector";
3
- import { type SINGLE_PART_GEOMETRY_TYPE } from "./geometryType";
4
2
  import type TopologyVector from "./topologyVector";
5
3
  export declare class FlatGpuVector extends GpuVector {
6
4
  private readonly _geometryTypes;
@@ -8,7 +6,5 @@ export declare class FlatGpuVector extends GpuVector {
8
6
  static create(geometryTypes: Int32Array, triangleOffsets: Int32Array, indexBuffer: Int32Array, vertexBuffer: Int32Array, topologyVector?: TopologyVector | null): GpuVector;
9
7
  geometryType(index: number): number;
10
8
  get numGeometries(): number;
11
- filter(geometryType: SINGLE_PART_GEOMETRY_TYPE): SelectionVector;
12
- filterSelected(geometryType: SINGLE_PART_GEOMETRY_TYPE, selectionVector: SelectionVector): void;
13
9
  containsSingleGeometryType(): boolean;
14
10
  }
@@ -1,10 +1,7 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.FlatGpuVector = void 0;
4
- const flatSelectionVector_1 = require("../filter/flatSelectionVector");
5
- const gpuVector_1 = require("./gpuVector");
1
+ import { GpuVector } from "./gpuVector";
6
2
  //TODO: extend from GeometryVector -> make topology vector optional
7
- class FlatGpuVector extends gpuVector_1.GpuVector {
3
+ export class FlatGpuVector extends GpuVector {
4
+ _geometryTypes;
8
5
  constructor(_geometryTypes, triangleOffsets, indexBuffer, vertexBuffer, topologyVector) {
9
6
  super(triangleOffsets, indexBuffer, vertexBuffer, topologyVector);
10
7
  this._geometryTypes = _geometryTypes;
@@ -37,31 +34,8 @@ class FlatGpuVector extends gpuVector_1.GpuVector {
37
34
  get numGeometries() {
38
35
  return this._geometryTypes.length;
39
36
  }
40
- //TODO: refactor -> quick and dirty -> let a multi part geometry be equal to a single part geometry
41
- //to produce the same results as with MVT and the existing styles
42
- filter(geometryType) {
43
- const selectionVector = [];
44
- for (let i = 0; i < this.numGeometries; i++) {
45
- if (this.geometryType(i) === geometryType || this.geometryType(i) === geometryType + 3) {
46
- selectionVector.push(i);
47
- }
48
- }
49
- return new flatSelectionVector_1.FlatSelectionVector(selectionVector);
50
- }
51
- filterSelected(geometryType, selectionVector) {
52
- let limit = 0;
53
- const vector = selectionVector.selectionValues();
54
- for (let i = 0; i < selectionVector.limit; i++) {
55
- const index = selectionVector[i];
56
- if (this.geometryType(index) === geometryType || this.geometryType(index) === geometryType + 3) {
57
- vector[limit++] = index;
58
- }
59
- }
60
- selectionVector.setLimit(limit);
61
- }
62
37
  containsSingleGeometryType() {
63
38
  return false;
64
39
  }
65
40
  }
66
- exports.FlatGpuVector = FlatGpuVector;
67
41
  //# sourceMappingURL=flatGpuVector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"flatGpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/flatGpuVector.ts"],"names":[],"mappings":";;;AACA,uEAAoE;AACpE,2CAAwC;AAIxC,mEAAmE;AACnE,MAAa,aAAc,SAAQ,qBAAS;IACxC,YACqB,cAA0B,EAC3C,eAA2B,EAC3B,WAAuB,EACvB,YAAwB,EACxB,cAAqC;QAErC,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QANjD,mBAAc,GAAd,cAAc,CAAY;IAO/C,CAAC;IAED,MAAM,CAAC,MAAM,CACT,aAAyB,EACzB,eAA2B,EAC3B,WAAuB,EACvB,YAAwB,EACxB,cAAsC;QAEtC,OAAO,IAAI,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IAEH,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,mGAAmG;IACnG,iEAAiE;IACjE,MAAM,CAAC,YAAuC;QAC1C,MAAM,eAAe,GAAG,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC;gBACrF,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QACD,OAAO,IAAI,yCAAmB,CAAC,eAAe,CAAC,CAAC;IACpD,CAAC;IAED,cAAc,CAAC,YAAuC,EAAE,eAAgC;QACpF,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,MAAM,MAAM,GAAG,eAAe,CAAC,eAAe,EAAE,CAAC;QACjD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;YAC7C,MAAM,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,KAAK,YAAY,GAAG,CAAC,EAAE,CAAC;gBAC7F,MAAM,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAED,0BAA0B;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AA7ED,sCA6EC"}
1
+ {"version":3,"file":"flatGpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/flatGpuVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGxC,mEAAmE;AACnE,MAAM,OAAO,aAAc,SAAQ,SAAS;IAEnB;IADrB,YACqB,cAA0B,EAC3C,eAA2B,EAC3B,WAAuB,EACvB,YAAwB,EACxB,cAAqC;QAErC,KAAK,CAAC,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QANjD,mBAAc,GAAd,cAAc,CAAY;IAO/C,CAAC;IAED,MAAM,CAAC,MAAM,CACT,aAAyB,EACzB,eAA2B,EAC3B,WAAuB,EACvB,YAAwB,EACxB,cAAsC;QAEtC,OAAO,IAAI,aAAa,CAAC,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IACxG,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IAEH,YAAY,CAAC,KAAa;QACtB,OAAO,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC;IACtC,CAAC;IAED,0BAA0B;QACtB,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ"}
@@ -1,7 +1,4 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SINGLE_PART_GEOMETRY_TYPE = exports.GEOMETRY_TYPE = void 0;
4
- var GEOMETRY_TYPE;
1
+ export var GEOMETRY_TYPE;
5
2
  (function (GEOMETRY_TYPE) {
6
3
  GEOMETRY_TYPE[GEOMETRY_TYPE["POINT"] = 0] = "POINT";
7
4
  GEOMETRY_TYPE[GEOMETRY_TYPE["LINESTRING"] = 1] = "LINESTRING";
@@ -9,11 +6,11 @@ var GEOMETRY_TYPE;
9
6
  GEOMETRY_TYPE[GEOMETRY_TYPE["MULTIPOINT"] = 3] = "MULTIPOINT";
10
7
  GEOMETRY_TYPE[GEOMETRY_TYPE["MULTILINESTRING"] = 4] = "MULTILINESTRING";
11
8
  GEOMETRY_TYPE[GEOMETRY_TYPE["MULTIPOLYGON"] = 5] = "MULTIPOLYGON";
12
- })(GEOMETRY_TYPE || (exports.GEOMETRY_TYPE = GEOMETRY_TYPE = {}));
13
- var SINGLE_PART_GEOMETRY_TYPE;
9
+ })(GEOMETRY_TYPE || (GEOMETRY_TYPE = {}));
10
+ export var SINGLE_PART_GEOMETRY_TYPE;
14
11
  (function (SINGLE_PART_GEOMETRY_TYPE) {
15
12
  SINGLE_PART_GEOMETRY_TYPE[SINGLE_PART_GEOMETRY_TYPE["POINT"] = 0] = "POINT";
16
13
  SINGLE_PART_GEOMETRY_TYPE[SINGLE_PART_GEOMETRY_TYPE["LINESTRING"] = 1] = "LINESTRING";
17
14
  SINGLE_PART_GEOMETRY_TYPE[SINGLE_PART_GEOMETRY_TYPE["POLYGON"] = 2] = "POLYGON";
18
- })(SINGLE_PART_GEOMETRY_TYPE || (exports.SINGLE_PART_GEOMETRY_TYPE = SINGLE_PART_GEOMETRY_TYPE = {}));
15
+ })(SINGLE_PART_GEOMETRY_TYPE || (SINGLE_PART_GEOMETRY_TYPE = {}));
19
16
  //# sourceMappingURL=geometryType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geometryType.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryType.ts"],"names":[],"mappings":";;;AAAA,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,mDAAK,CAAA;IACL,6DAAU,CAAA;IACV,uDAAO,CAAA;IACP,6DAAU,CAAA;IACV,uEAAe,CAAA;IACf,iEAAY,CAAA;AAChB,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB;AAED,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,2EAAK,CAAA;IACL,qFAAU,CAAA;IACV,+EAAO,CAAA;AACX,CAAC,EAJW,yBAAyB,yCAAzB,yBAAyB,QAIpC"}
1
+ {"version":3,"file":"geometryType.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,mDAAK,CAAA;IACL,6DAAU,CAAA;IACV,uDAAO,CAAA;IACP,6DAAU,CAAA;IACV,uEAAe,CAAA;IACf,iEAAY,CAAA;AAChB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,CAAN,IAAY,yBAIX;AAJD,WAAY,yBAAyB;IACjC,2EAAK,CAAA;IACL,qFAAU,CAAA;IACV,+EAAO,CAAA;AACX,CAAC,EAJW,yBAAyB,KAAzB,yBAAyB,QAIpC"}
@@ -1,8 +1,7 @@
1
1
  import type TopologyVector from "../../vector/geometry/topologyVector";
2
- import { type SelectionVector } from "../filter/selectionVector";
3
- import type Point from "./point";
4
- import { type GEOMETRY_TYPE, type SINGLE_PART_GEOMETRY_TYPE } from "./geometryType";
2
+ import { type GEOMETRY_TYPE } from "./geometryType";
5
3
  import { type VertexBufferType } from "./vertexBufferType";
4
+ import type Point from "@mapbox/point-geometry";
6
5
  export type CoordinatesArray = Array<Array<Point>>;
7
6
  export type Geometry = {
8
7
  coordinates: CoordinatesArray;
@@ -31,7 +30,5 @@ export declare abstract class GeometryVector implements Iterable<Geometry> {
31
30
  abstract containsPolygonGeometry(): boolean;
32
31
  abstract geometryType(index: number): number;
33
32
  abstract get numGeometries(): number;
34
- abstract filter(geometryType: SINGLE_PART_GEOMETRY_TYPE): SelectionVector;
35
- abstract filterSelected(geometryType: SINGLE_PART_GEOMETRY_TYPE, selectionVector: SelectionVector): any;
36
33
  abstract containsSingleGeometryType(): boolean;
37
34
  }
@@ -1,12 +1,11 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.GeometryVector = void 0;
7
- const geometryVectorConverter_1 = require("./geometryVectorConverter");
8
- const zOrderCurve_1 = __importDefault(require("./zOrderCurve"));
9
- class GeometryVector {
1
+ import { convertGeometryVector } from "./geometryVectorConverter";
2
+ import ZOrderCurve from "./zOrderCurve";
3
+ export class GeometryVector {
4
+ _vertexBufferType;
5
+ _topologyVector;
6
+ _vertexOffsets;
7
+ _vertexBuffer;
8
+ _mortonSettings;
10
9
  constructor(_vertexBufferType, _topologyVector, _vertexOffsets, _vertexBuffer, _mortonSettings) {
11
10
  this._vertexBufferType = _vertexBufferType;
12
11
  this._topologyVector = _topologyVector;
@@ -27,7 +26,7 @@ class GeometryVector {
27
26
  return this._vertexBuffer;
28
27
  }
29
28
  *[Symbol.iterator]() {
30
- const geometries = (0, geometryVectorConverter_1.convertGeometryVector)(this);
29
+ const geometries = convertGeometryVector(this);
31
30
  let index = 0;
32
31
  while (index < this.numGeometries) {
33
32
  yield { coordinates: geometries[index], type: this.geometryType(index) };
@@ -49,7 +48,7 @@ class GeometryVector {
49
48
  const vertexOffset = this.vertexOffsets[index];
50
49
  const mortonEncodedVertex = this.vertexBuffer[vertexOffset];
51
50
  //TODO: improve performance -> inline calculation and move to decoding of VertexBuffer
52
- const vertex = zOrderCurve_1.default.decode(mortonEncodedVertex, this.mortonSettings.numBits, this.mortonSettings.coordinateShift);
51
+ const vertex = ZOrderCurve.decode(mortonEncodedVertex, this.mortonSettings.numBits, this.mortonSettings.coordinateShift);
53
52
  return [vertex.x, vertex.y];
54
53
  }
55
54
  const offset = this.vertexOffsets ? this.vertexOffsets[index] * 2 : index * 2;
@@ -58,11 +57,10 @@ class GeometryVector {
58
57
  return [x, y];
59
58
  }
60
59
  getGeometries() {
61
- return (0, geometryVectorConverter_1.convertGeometryVector)(this);
60
+ return convertGeometryVector(this);
62
61
  }
63
62
  get mortonSettings() {
64
63
  return this._mortonSettings;
65
64
  }
66
65
  }
67
- exports.GeometryVector = GeometryVector;
68
66
  //# sourceMappingURL=geometryVector.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"geometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVector.ts"],"names":[],"mappings":";;;;;;AACA,uEAAkE;AAElE,gEAAwC;AAiBxC,MAAsB,cAAc;IAChC,YACqB,iBAAmC,EACnC,eAA+B,EAC/B,cAA0B,EAC1B,aAAyB,EACzB,eAAgC;QAJhC,sBAAiB,GAAjB,iBAAiB,CAAkB;QACnC,oBAAe,GAAf,eAAe,CAAgB;QAC/B,mBAAc,GAAd,cAAc,CAAY;QAC1B,kBAAa,GAAb,aAAa,CAAY;QACzB,oBAAe,GAAf,eAAe,CAAiB;IAClD,CAAC;IAEJ,IAAI,gBAAgB;QAChB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAClC,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAED,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,cAAc,CAAC;IAC/B,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,aAAa,CAAC;IAC9B,CAAC;IACD,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QACd,MAAM,UAAU,GAAG,IAAA,+CAAqB,EAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,KAAK,GAAG,CAAC,CAAC;QAEd,OAAO,KAAK,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAChC,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,KAAK,EAAE,CAAC;QACZ,CAAC;IACL,CAAC;IAED;uFACmF;IACnF,sBAAsB,CAAC,KAAa;QAChC,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,kDAAkD;IAClD,SAAS,CAAC,KAAa;QACnB,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YAC5C,yEAAyE;YACzE,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;YAC5D,sFAAsF;YACtF,MAAM,MAAM,GAAG,qBAAW,CAAC,MAAM,CAC7B,mBAAmB,EACnB,IAAI,CAAC,cAAc,CAAC,OAAO,EAC3B,IAAI,CAAC,cAAc,CAAC,eAAe,CACtC,CAAC;YACF,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;QAChC,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;QAC9E,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,aAAa;QACT,OAAO,IAAA,+CAAqB,EAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,cAAc;QACd,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;CAaJ;AAnFD,wCAmFC"}
1
+ {"version":3,"file":"geometryVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVector.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,7 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.convertGeometryVector = convertGeometryVector;
7
- const zOrderCurve_1 = __importDefault(require("./zOrderCurve"));
8
- const point_1 = __importDefault(require("./point"));
9
- const geometryType_1 = require("./geometryType");
10
- const vertexBufferType_1 = require("./vertexBufferType");
1
+ import ZOrderCurve from "./zOrderCurve";
2
+ import { GEOMETRY_TYPE } from "./geometryType";
3
+ import { VertexBufferType } from "./vertexBufferType";
4
+ import Point from "@mapbox/point-geometry";
11
5
  class MvtGeometryFactory {
12
6
  createPoint(coordinate) {
13
7
  return [[coordinate]];
@@ -29,7 +23,7 @@ class MvtGeometryFactory {
29
23
  return polygons.flat();
30
24
  }
31
25
  }
32
- function convertGeometryVector(geometryVector) {
26
+ export function convertGeometryVector(geometryVector) {
33
27
  const geometries = new Array(geometryVector.numGeometries);
34
28
  let partOffsetCounter = 1;
35
29
  let ringOffsetsCounter = 1;
@@ -48,25 +42,25 @@ function convertGeometryVector(geometryVector) {
48
42
  const vertexBuffer = geometryVector.vertexBuffer;
49
43
  for (let i = 0; i < geometryVector.numGeometries; i++) {
50
44
  const geometryType = geometryVector.geometryType(i);
51
- if (geometryType === geometryType_1.GEOMETRY_TYPE.POINT) {
45
+ if (geometryType === GEOMETRY_TYPE.POINT) {
52
46
  if (!vertexOffsets || vertexOffsets.length === 0) {
53
47
  const x = vertexBuffer[vertexBufferOffset++];
54
48
  const y = vertexBuffer[vertexBufferOffset++];
55
- const coordinate = new point_1.default(x, y);
49
+ const coordinate = new Point(x, y);
56
50
  geometries[geometryCounter++] = geometryFactory.createPoint(coordinate);
57
51
  }
58
- else if (geometryVector.vertexBufferType === vertexBufferType_1.VertexBufferType.VEC_2) {
52
+ else if (geometryVector.vertexBufferType === VertexBufferType.VEC_2) {
59
53
  const offset = vertexOffsets[vertexOffsetsOffset++] * 2;
60
54
  const x = vertexBuffer[offset];
61
55
  const y = vertexBuffer[offset + 1];
62
- const coordinate = new point_1.default(x, y);
56
+ const coordinate = new Point(x, y);
63
57
  geometries[geometryCounter++] = geometryFactory.createPoint(coordinate);
64
58
  }
65
59
  else {
66
60
  const offset = vertexOffsets[vertexOffsetsOffset++];
67
61
  const mortonCode = vertexBuffer[offset];
68
- const vertex = zOrderCurve_1.default.decode(mortonCode, mortonSettings.numBits, mortonSettings.coordinateShift);
69
- const coordinate = new point_1.default(vertex.x, vertex.y);
62
+ const vertex = ZOrderCurve.decode(mortonCode, mortonSettings.numBits, mortonSettings.coordinateShift);
63
+ const coordinate = new Point(vertex.x, vertex.y);
70
64
  geometries[geometryCounter++] = geometryFactory.createPoint(coordinate);
71
65
  }
72
66
  if (geometryOffsets)
@@ -76,7 +70,7 @@ function convertGeometryVector(geometryVector) {
76
70
  if (ringOffsets)
77
71
  ringOffsetsCounter++;
78
72
  }
79
- else if (geometryType === geometryType_1.GEOMETRY_TYPE.MULTIPOINT) {
73
+ else if (geometryType === GEOMETRY_TYPE.MULTIPOINT) {
80
74
  const numPoints = geometryOffsets[geometryOffsetsCounter] - geometryOffsets[geometryOffsetsCounter - 1];
81
75
  geometryOffsetsCounter++;
82
76
  const points = new Array(numPoints);
@@ -84,7 +78,7 @@ function convertGeometryVector(geometryVector) {
84
78
  for (let j = 0; j < numPoints; j++) {
85
79
  const x = vertexBuffer[vertexBufferOffset++];
86
80
  const y = vertexBuffer[vertexBufferOffset++];
87
- points[j] = new point_1.default(x, y);
81
+ points[j] = new Point(x, y);
88
82
  }
89
83
  geometries[geometryCounter++] = geometryFactory.createMultiPoint(points);
90
84
  }
@@ -93,12 +87,12 @@ function convertGeometryVector(geometryVector) {
93
87
  const offset = vertexOffsets[vertexOffsetsOffset++] * 2;
94
88
  const x = vertexBuffer[offset];
95
89
  const y = vertexBuffer[offset + 1];
96
- points[j] = new point_1.default(x, y);
90
+ points[j] = new Point(x, y);
97
91
  }
98
92
  geometries[geometryCounter++] = geometryFactory.createMultiPoint(points);
99
93
  }
100
94
  }
101
- else if (geometryType === geometryType_1.GEOMETRY_TYPE.LINESTRING) {
95
+ else if (geometryType === GEOMETRY_TYPE.LINESTRING) {
102
96
  let numVertices = 0;
103
97
  if (containsPolygon) {
104
98
  numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];
@@ -115,7 +109,7 @@ function convertGeometryVector(geometryVector) {
115
109
  }
116
110
  else {
117
111
  vertices =
118
- geometryVector.vertexBufferType === vertexBufferType_1.VertexBufferType.VEC_2
112
+ geometryVector.vertexBufferType === VertexBufferType.VEC_2
119
113
  ? decodeDictionaryEncodedLineString(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices, false)
120
114
  : decodeMortonDictionaryEncodedLineString(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices, false, mortonSettings);
121
115
  vertexOffsetsOffset += numVertices;
@@ -124,7 +118,7 @@ function convertGeometryVector(geometryVector) {
124
118
  if (geometryOffsets)
125
119
  geometryOffsetsCounter++;
126
120
  }
127
- else if (geometryType === geometryType_1.GEOMETRY_TYPE.POLYGON) {
121
+ else if (geometryType === GEOMETRY_TYPE.POLYGON) {
128
122
  const numRings = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];
129
123
  partOffsetCounter++;
130
124
  const rings = new Array(numRings - 1);
@@ -142,7 +136,7 @@ function convertGeometryVector(geometryVector) {
142
136
  geometries[geometryCounter++] = geometryFactory.createPolygon(shell, rings);
143
137
  }
144
138
  else {
145
- const shell = geometryVector.vertexBufferType === vertexBufferType_1.VertexBufferType.VEC_2
139
+ const shell = geometryVector.vertexBufferType === VertexBufferType.VEC_2
146
140
  ? decodeDictionaryEncodedLinearRing(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices)
147
141
  : decodeMortonDictionaryEncodedLinearRing(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices, geometryFactory, mortonSettings);
148
142
  vertexOffsetsOffset += numVertices;
@@ -150,7 +144,7 @@ function convertGeometryVector(geometryVector) {
150
144
  numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];
151
145
  ringOffsetsCounter++;
152
146
  rings[j] =
153
- geometryVector.vertexBufferType === vertexBufferType_1.VertexBufferType.VEC_2
147
+ geometryVector.vertexBufferType === VertexBufferType.VEC_2
154
148
  ? decodeDictionaryEncodedLinearRing(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices)
155
149
  : decodeMortonDictionaryEncodedLinearRing(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices, geometryFactory, mortonSettings);
156
150
  vertexOffsetsOffset += numVertices;
@@ -160,7 +154,7 @@ function convertGeometryVector(geometryVector) {
160
154
  if (geometryOffsets)
161
155
  geometryOffsetsCounter++;
162
156
  }
163
- else if (geometryType === geometryType_1.GEOMETRY_TYPE.MULTILINESTRING) {
157
+ else if (geometryType === GEOMETRY_TYPE.MULTILINESTRING) {
164
158
  const numLineStrings = geometryOffsets[geometryOffsetsCounter] - geometryOffsets[geometryOffsetsCounter - 1];
165
159
  geometryOffsetsCounter++;
166
160
  const lineStrings = new Array(numLineStrings);
@@ -191,7 +185,7 @@ function convertGeometryVector(geometryVector) {
191
185
  numVertices = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];
192
186
  }
193
187
  partOffsetCounter++;
194
- const vertices = geometryVector.vertexBufferType === vertexBufferType_1.VertexBufferType.VEC_2
188
+ const vertices = geometryVector.vertexBufferType === VertexBufferType.VEC_2
195
189
  ? decodeDictionaryEncodedLineString(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices, false)
196
190
  : decodeMortonDictionaryEncodedLineString(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices, false, mortonSettings);
197
191
  lineStrings[j] = vertices;
@@ -200,7 +194,7 @@ function convertGeometryVector(geometryVector) {
200
194
  geometries[geometryCounter++] = geometryFactory.createMultiLineString(lineStrings);
201
195
  }
202
196
  }
203
- else if (geometryType === geometryType_1.GEOMETRY_TYPE.MULTIPOLYGON) {
197
+ else if (geometryType === GEOMETRY_TYPE.MULTIPOLYGON) {
204
198
  const numPolygons = geometryOffsets[geometryOffsetsCounter] - geometryOffsets[geometryOffsetsCounter - 1];
205
199
  geometryOffsetsCounter++;
206
200
  const polygons = new Array(numPolygons);
@@ -231,7 +225,7 @@ function convertGeometryVector(geometryVector) {
231
225
  const rings = new Array(numRings - 1);
232
226
  numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];
233
227
  ringOffsetsCounter++;
234
- const shell = geometryVector.vertexBufferType === vertexBufferType_1.VertexBufferType.VEC_2
228
+ const shell = geometryVector.vertexBufferType === VertexBufferType.VEC_2
235
229
  ? decodeDictionaryEncodedLinearRing(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices)
236
230
  : decodeMortonDictionaryEncodedLinearRing(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices, geometryFactory, mortonSettings);
237
231
  vertexOffsetsOffset += numVertices;
@@ -239,7 +233,7 @@ function convertGeometryVector(geometryVector) {
239
233
  numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];
240
234
  ringOffsetsCounter++;
241
235
  rings[k] =
242
- geometryVector.vertexBufferType === vertexBufferType_1.VertexBufferType.VEC_2
236
+ geometryVector.vertexBufferType === VertexBufferType.VEC_2
243
237
  ? decodeDictionaryEncodedLinearRing(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices)
244
238
  : decodeMortonDictionaryEncodedLinearRing(vertexBuffer, vertexOffsets, vertexOffsetsOffset, numVertices, geometryFactory, mortonSettings);
245
239
  vertexOffsetsOffset += numVertices;
@@ -269,7 +263,7 @@ function getLineString(vertexBuffer, startIndex, numVertices, closeLineString) {
269
263
  for (let i = 0; i < numVertices * 2; i += 2) {
270
264
  const x = vertexBuffer[startIndex + i];
271
265
  const y = vertexBuffer[startIndex + i + 1];
272
- vertices[i / 2] = new point_1.default(x, y);
266
+ vertices[i / 2] = new Point(x, y);
273
267
  }
274
268
  if (closeLineString) {
275
269
  vertices[vertices.length - 1] = vertices[0];
@@ -282,7 +276,7 @@ function decodeDictionaryEncodedLineString(vertexBuffer, vertexOffsets, vertexOf
282
276
  const offset = vertexOffsets[vertexOffset + i / 2] * 2;
283
277
  const x = vertexBuffer[offset];
284
278
  const y = vertexBuffer[offset + 1];
285
- vertices[i / 2] = new point_1.default(x, y);
279
+ vertices[i / 2] = new Point(x, y);
286
280
  }
287
281
  if (closeLineString) {
288
282
  vertices[vertices.length - 1] = vertices[0];
@@ -294,8 +288,8 @@ function decodeMortonDictionaryEncodedLineString(vertexBuffer, vertexOffsets, ve
294
288
  for (let i = 0; i < numVertices; i++) {
295
289
  const offset = vertexOffsets[vertexOffset + i];
296
290
  const mortonEncodedVertex = vertexBuffer[offset];
297
- const vertex = zOrderCurve_1.default.decode(mortonEncodedVertex, mortonSettings.numBits, mortonSettings.coordinateShift);
298
- vertices[i] = new point_1.default(vertex.x, vertex.y);
291
+ const vertex = ZOrderCurve.decode(mortonEncodedVertex, mortonSettings.numBits, mortonSettings.coordinateShift);
292
+ vertices[i] = new Point(vertex.x, vertex.y);
299
293
  }
300
294
  if (closeLineString) {
301
295
  vertices[vertices.length - 1] = vertices[0];
@@ -1 +1 @@
1
- {"version":3,"file":"geometryVectorConverter.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVectorConverter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geometryVectorConverter.js","sourceRoot":"","sources":["../../../src/vector/geometry/geometryVectorConverter.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,3 @@
1
- import { type SelectionVector } from "../filter/selectionVector";
2
- import { type SINGLE_PART_GEOMETRY_TYPE } from "./geometryType";
3
1
  import { type CoordinatesArray } from "./geometryVector";
4
2
  import type TopologyVector from "./topologyVector";
5
3
  export declare abstract class GpuVector implements Iterable<CoordinatesArray> {
@@ -10,12 +8,15 @@ export declare abstract class GpuVector implements Iterable<CoordinatesArray> {
10
8
  protected constructor(_triangleOffsets: Int32Array, _indexBuffer: Int32Array, _vertexBuffer: Int32Array, _topologyVector?: TopologyVector | null);
11
9
  abstract geometryType(index: number): number;
12
10
  abstract get numGeometries(): number;
13
- abstract filter(geometryType: SINGLE_PART_GEOMETRY_TYPE): SelectionVector;
14
- abstract filterSelected(geometryType: SINGLE_PART_GEOMETRY_TYPE, selectionVector: SelectionVector): any;
15
11
  abstract containsSingleGeometryType(): boolean;
16
12
  get triangleOffsets(): Int32Array;
17
13
  get indexBuffer(): Int32Array;
18
14
  get vertexBuffer(): Int32Array;
19
15
  get topologyVector(): TopologyVector | null;
16
+ /**
17
+ * Returns geometries as coordinate arrays by extracting polygon outlines from topology.
18
+ * The vertexBuffer contains the outline vertices, separate from the tessellated triangles.
19
+ */
20
+ getGeometries(): CoordinatesArray[];
20
21
  [Symbol.iterator](): Iterator<CoordinatesArray>;
21
22
  }