@maplibre/mlt 0.0.1-alpha.7 → 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.
- package/dist/{encodings → decoding}/decodingUtils.js +18 -33
- package/dist/decoding/decodingUtils.js.map +1 -0
- package/dist/decoding/decodingUtils.spec.d.ts +1 -0
- package/dist/decoding/decodingUtils.spec.js +125 -0
- package/dist/decoding/decodingUtils.spec.js.map +1 -0
- package/dist/{encodings → decoding}/fsstDecoder.js +1 -4
- package/dist/decoding/fsstDecoder.js.map +1 -0
- package/dist/decoding/fsstDecoder.spec.d.ts +1 -0
- package/dist/decoding/fsstDecoder.spec.js +36 -0
- package/dist/decoding/fsstDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/geometryDecoder.js +83 -101
- package/dist/decoding/geometryDecoder.js.map +1 -0
- package/dist/decoding/geometryDecoder.spec.d.ts +1 -0
- package/dist/decoding/geometryDecoder.spec.js +5 -0
- package/dist/decoding/geometryDecoder.spec.js.map +1 -0
- package/dist/decoding/geometryScaling.js +2 -0
- package/dist/decoding/geometryScaling.js.map +1 -0
- package/dist/{encodings → decoding}/intWrapper.js +2 -4
- package/dist/decoding/intWrapper.js.map +1 -0
- package/dist/{encodings → decoding}/integerDecodingUtils.d.ts +13 -0
- package/dist/{encodings → decoding}/integerDecodingUtils.js +127 -130
- package/dist/decoding/integerDecodingUtils.js.map +1 -0
- package/dist/decoding/integerDecodingUtils.spec.d.ts +1 -0
- package/dist/decoding/integerDecodingUtils.spec.js +194 -0
- package/dist/decoding/integerDecodingUtils.spec.js.map +1 -0
- package/dist/{encodings → decoding}/integerStreamDecoder.d.ts +1 -1
- package/dist/decoding/integerStreamDecoder.js +263 -0
- package/dist/decoding/integerStreamDecoder.js.map +1 -0
- package/dist/decoding/integerStreamDecoder.spec.d.ts +1 -0
- package/dist/decoding/integerStreamDecoder.spec.js +125 -0
- package/dist/decoding/integerStreamDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/propertyDecoder.d.ts +1 -1
- package/dist/decoding/propertyDecoder.js +140 -0
- package/dist/decoding/propertyDecoder.js.map +1 -0
- package/dist/decoding/propertyDecoder.spec.d.ts +1 -0
- package/dist/decoding/propertyDecoder.spec.js +682 -0
- package/dist/decoding/propertyDecoder.spec.js.map +1 -0
- package/dist/{encodings → decoding}/stringDecoder.d.ts +1 -1
- package/dist/decoding/stringDecoder.js +142 -0
- package/dist/decoding/stringDecoder.js.map +1 -0
- package/dist/decoding/stringDecoder.spec.d.ts +1 -0
- package/dist/decoding/stringDecoder.spec.js +311 -0
- package/dist/decoding/stringDecoder.spec.js.map +1 -0
- package/dist/index.d.ts +5 -4
- package/dist/index.js +5 -18
- package/dist/index.js.map +1 -1
- package/dist/metadata/tile/dictionaryType.js +2 -5
- package/dist/metadata/tile/dictionaryType.js.map +1 -1
- package/dist/metadata/tile/lengthType.js +2 -5
- package/dist/metadata/tile/lengthType.js.map +1 -1
- package/dist/metadata/tile/logicalLevelTechnique.js +2 -5
- package/dist/metadata/tile/logicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/logicalStreamType.d.ts +3 -3
- package/dist/metadata/tile/logicalStreamType.js +4 -5
- package/dist/metadata/tile/logicalStreamType.js.map +1 -1
- package/dist/metadata/tile/mortonEncodedStreamMetadata.d.ts +6 -6
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js +8 -10
- package/dist/metadata/tile/mortonEncodedStreamMetadata.js.map +1 -1
- package/dist/metadata/tile/offsetType.js +2 -5
- package/dist/metadata/tile/offsetType.js.map +1 -1
- package/dist/metadata/tile/physicalLevelTechnique.js +2 -5
- package/dist/metadata/tile/physicalLevelTechnique.js.map +1 -1
- package/dist/metadata/tile/physicalStreamType.js +2 -5
- package/dist/metadata/tile/physicalStreamType.js.map +1 -1
- package/dist/metadata/tile/rleEncodedStreamMetadata.d.ts +10 -6
- package/dist/metadata/tile/rleEncodedStreamMetadata.js +14 -10
- package/dist/metadata/tile/rleEncodedStreamMetadata.js.map +1 -1
- package/dist/metadata/tile/scalarType.js +2 -5
- package/dist/metadata/tile/scalarType.js.map +1 -1
- package/dist/metadata/tile/streamMetadata.d.ts +11 -5
- package/dist/metadata/tile/streamMetadata.js +35 -24
- package/dist/metadata/tile/streamMetadata.js.map +1 -1
- package/dist/metadata/tile/streamMetadataDecoder.d.ts +2 -2
- package/dist/metadata/tile/streamMetadataDecoder.js +13 -17
- package/dist/metadata/tile/streamMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.d.ts +2 -2
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js +40 -32
- package/dist/metadata/tileset/embeddedTilesetMetadataDecoder.js.map +1 -1
- package/dist/metadata/tileset/tilesetMetadata.d.ts +80 -0
- package/dist/metadata/tileset/tilesetMetadata.js +29 -0
- package/dist/metadata/tileset/tilesetMetadata.js.map +1 -0
- package/dist/metadata/tileset/typeMap.d.ts +1 -1
- package/dist/metadata/tileset/typeMap.js +63 -59
- package/dist/metadata/tileset/typeMap.js.map +1 -1
- package/dist/mltDecoder.d.ts +1 -1
- package/dist/mltDecoder.js +58 -64
- package/dist/mltDecoder.js.map +1 -1
- package/dist/mltDecoder.spec.d.ts +1 -0
- package/dist/mltDecoder.spec.js +152 -0
- package/dist/mltDecoder.spec.js.map +1 -0
- package/dist/mltMetadata.js +4 -7
- package/dist/mltMetadata.js.map +1 -1
- package/dist/vector/constant/intConstVector.d.ts +0 -13
- package/dist/vector/constant/intConstVector.js +2 -81
- package/dist/vector/constant/intConstVector.js.map +1 -1
- package/dist/vector/constant/longConstVector.d.ts +0 -13
- package/dist/vector/constant/longConstVector.js +2 -79
- package/dist/vector/constant/longConstVector.js.map +1 -1
- package/dist/vector/dictionary/stringDictionaryVector.d.ts +0 -14
- package/dist/vector/dictionary/stringDictionaryVector.js +6 -167
- package/dist/vector/dictionary/stringDictionaryVector.js.map +1 -1
- package/dist/vector/featureTable.d.ts +4 -0
- package/dist/vector/featureTable.js +48 -12
- package/dist/vector/featureTable.js.map +1 -1
- package/dist/vector/fixedSizeVector.js +2 -9
- package/dist/vector/fixedSizeVector.js.map +1 -1
- package/dist/vector/flat/bitVector.js +3 -4
- package/dist/vector/flat/bitVector.js.map +1 -1
- package/dist/vector/flat/booleanFlatVector.d.ts +0 -13
- package/dist/vector/flat/booleanFlatVector.js +3 -46
- package/dist/vector/flat/booleanFlatVector.js.map +1 -1
- package/dist/vector/flat/doubleFlatVector.d.ts +0 -13
- package/dist/vector/flat/doubleFlatVector.js +2 -101
- package/dist/vector/flat/doubleFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.d.ts +0 -13
- package/dist/vector/flat/floatFlatVector.js +2 -101
- package/dist/vector/flat/floatFlatVector.js.map +1 -1
- package/dist/vector/flat/floatFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/floatFlatVector.spec.js +14 -0
- package/dist/vector/flat/floatFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/intFlatVector.d.ts +0 -13
- package/dist/vector/flat/intFlatVector.js +2 -115
- package/dist/vector/flat/intFlatVector.js.map +1 -1
- package/dist/vector/flat/intFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/intFlatVector.spec.js +15 -0
- package/dist/vector/flat/intFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/longFlatVector.d.ts +0 -13
- package/dist/vector/flat/longFlatVector.js +2 -116
- package/dist/vector/flat/longFlatVector.js.map +1 -1
- package/dist/vector/flat/longFlatVector.spec.d.ts +1 -0
- package/dist/vector/flat/longFlatVector.spec.js +14 -0
- package/dist/vector/flat/longFlatVector.spec.js.map +1 -0
- package/dist/vector/flat/stringFlatVector.d.ts +0 -13
- package/dist/vector/flat/stringFlatVector.js +5 -155
- package/dist/vector/flat/stringFlatVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.d.ts +0 -13
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js +14 -51
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.js.map +1 -1
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.d.ts +1 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js +28 -0
- package/dist/vector/fsst-dictionary/stringFsstDictionaryVector.spec.js.map +1 -0
- package/dist/vector/geometry/constGeometryVector.d.ts +0 -4
- package/dist/vector/geometry/constGeometryVector.js +9 -30
- package/dist/vector/geometry/constGeometryVector.js.map +1 -1
- package/dist/vector/geometry/constGpuVector.d.ts +0 -4
- package/dist/vector/geometry/constGpuVector.js +4 -25
- package/dist/vector/geometry/constGpuVector.js.map +1 -1
- package/dist/vector/geometry/flatGeometryVector.d.ts +0 -4
- package/dist/vector/geometry/flatGeometryVector.js +8 -36
- package/dist/vector/geometry/flatGeometryVector.js.map +1 -1
- package/dist/vector/geometry/flatGpuVector.d.ts +0 -4
- package/dist/vector/geometry/flatGpuVector.js +3 -29
- package/dist/vector/geometry/flatGpuVector.js.map +1 -1
- package/dist/vector/geometry/geometryType.js +4 -7
- package/dist/vector/geometry/geometryType.js.map +1 -1
- package/dist/vector/geometry/geometryVector.d.ts +8 -7
- package/dist/vector/geometry/geometryVector.js +13 -14
- package/dist/vector/geometry/geometryVector.js.map +1 -1
- package/dist/vector/geometry/geometryVectorConverter.d.ts +2 -2
- package/dist/vector/geometry/geometryVectorConverter.js +38 -41
- package/dist/vector/geometry/geometryVectorConverter.js.map +1 -1
- package/dist/vector/geometry/gpuVector.d.ts +8 -7
- package/dist/vector/geometry/gpuVector.js +97 -13
- package/dist/vector/geometry/gpuVector.js.map +1 -1
- package/dist/vector/geometry/spaceFillingCurve.js +10 -5
- package/dist/vector/geometry/spaceFillingCurve.js.map +1 -1
- package/dist/vector/geometry/topologyVector.js +4 -4
- package/dist/vector/geometry/topologyVector.js.map +1 -1
- package/dist/vector/geometry/vertexBufferType.js +2 -5
- package/dist/vector/geometry/vertexBufferType.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.d.ts +1 -1
- package/dist/vector/geometry/zOrderCurve.js +3 -9
- package/dist/vector/geometry/zOrderCurve.js.map +1 -1
- package/dist/vector/geometry/zOrderCurve.spec.d.ts +1 -0
- package/dist/vector/geometry/zOrderCurve.spec.js +14 -0
- package/dist/vector/geometry/zOrderCurve.spec.js.map +1 -0
- package/dist/vector/intVector.js +1 -2
- package/dist/vector/sequence/intSequenceVector.d.ts +0 -13
- package/dist/vector/sequence/intSequenceVector.js +2 -64
- package/dist/vector/sequence/intSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVector.d.ts +0 -13
- package/dist/vector/sequence/longSequenceVector.js +2 -49
- package/dist/vector/sequence/longSequenceVector.js.map +1 -1
- package/dist/vector/sequence/longSequenceVektor.spec.d.ts +1 -0
- package/dist/vector/sequence/longSequenceVektor.spec.js +11 -0
- package/dist/vector/sequence/longSequenceVektor.spec.js.map +1 -0
- package/dist/vector/sequence/sequenceVector.js +3 -9
- package/dist/vector/sequence/sequenceVector.js.map +1 -1
- package/dist/vector/variableSizeVector.js +3 -9
- package/dist/vector/variableSizeVector.js.map +1 -1
- package/dist/vector/vector.d.ts +0 -17
- package/dist/vector/vector.js +6 -49
- package/dist/vector/vector.js.map +1 -1
- package/dist/vector/vectorType.js +2 -5
- package/dist/vector/vectorType.js.map +1 -1
- package/package.json +10 -31
- package/dist/encodings/decodingUtils.js.map +0 -1
- package/dist/encodings/doubleDecoder.d.ts +0 -4
- package/dist/encodings/doubleDecoder.js +0 -22
- package/dist/encodings/doubleDecoder.js.map +0 -1
- package/dist/encodings/fastpfor/bitpacking.d.ts +0 -51
- package/dist/encodings/fastpfor/bitpacking.js +0 -4444
- package/dist/encodings/fastpfor/bitpacking.js.map +0 -1
- package/dist/encodings/fastpfor/codec.d.ts +0 -19
- package/dist/encodings/fastpfor/codec.js +0 -3
- package/dist/encodings/fastpfor/codec.js.map +0 -1
- package/dist/encodings/fastpfor/fastpfor.d.ts +0 -38
- package/dist/encodings/fastpfor/fastpfor.js +0 -123
- package/dist/encodings/fastpfor/fastpfor.js.map +0 -1
- package/dist/encodings/fastpfor/index.d.ts +0 -20
- package/dist/encodings/fastpfor/index.js +0 -47
- package/dist/encodings/fastpfor/index.js.map +0 -1
- package/dist/encodings/fastpfor/util.d.ts +0 -2
- package/dist/encodings/fastpfor/util.js +0 -16
- package/dist/encodings/fastpfor/util.js.map +0 -1
- package/dist/encodings/fastpfor/varint.d.ts +0 -18
- package/dist/encodings/fastpfor/varint.js +0 -125
- package/dist/encodings/fastpfor/varint.js.map +0 -1
- package/dist/encodings/fsstDecoder.js.map +0 -1
- package/dist/encodings/geometryDecoder.js.map +0 -1
- package/dist/encodings/geometryScaling.js +0 -3
- package/dist/encodings/geometryScaling.js.map +0 -1
- package/dist/encodings/intWrapper.js.map +0 -1
- package/dist/encodings/integerDecodingUtils.js.map +0 -1
- package/dist/encodings/integerStreamDecoder.js +0 -254
- package/dist/encodings/integerStreamDecoder.js.map +0 -1
- package/dist/encodings/propertyDecoder.js +0 -146
- package/dist/encodings/propertyDecoder.js.map +0 -1
- package/dist/encodings/stringDecoder.js +0 -147
- package/dist/encodings/stringDecoder.js.map +0 -1
- package/dist/metadata/tileset/tilesetMetadata.g.d.ts +0 -418
- package/dist/metadata/tileset/tilesetMetadata.g.js +0 -476
- package/dist/metadata/tileset/tilesetMetadata.g.js.map +0 -1
- package/dist/vector/filter/constSelectionVector.d.ts +0 -0
- package/dist/vector/filter/constSelectionVector.js +0 -1
- package/dist/vector/filter/constSelectionVector.js.map +0 -1
- package/dist/vector/filter/flatSelectionVector.d.ts +0 -16
- package/dist/vector/filter/flatSelectionVector.js +0 -42
- package/dist/vector/filter/flatSelectionVector.js.map +0 -1
- package/dist/vector/filter/selectionVector.d.ts +0 -8
- package/dist/vector/filter/selectionVector.js +0 -3
- package/dist/vector/filter/selectionVector.js.map +0 -1
- package/dist/vector/filter/selectionVectorUtils.d.ts +0 -7
- package/dist/vector/filter/selectionVectorUtils.js +0 -44
- package/dist/vector/filter/selectionVectorUtils.js.map +0 -1
- package/dist/vector/filter/sequenceSelectionVector.d.ts +0 -0
- package/dist/vector/filter/sequenceSelectionVector.js +0 -1
- package/dist/vector/filter/sequenceSelectionVector.js.map +0 -1
- package/dist/vector/geometry/point.d.ts +0 -195
- package/dist/vector/geometry/point.js +0 -283
- package/dist/vector/geometry/point.js.map +0 -1
- /package/dist/{encodings → decoding}/decodingUtils.d.ts +0 -0
- /package/dist/{encodings → decoding}/fsstDecoder.d.ts +0 -0
- /package/dist/{encodings → decoding}/geometryDecoder.d.ts +0 -0
- /package/dist/{encodings → decoding}/geometryScaling.d.ts +0 -0
- /package/dist/{encodings → decoding}/intWrapper.d.ts +0 -0
|
@@ -1,7 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import Point from "@mapbox/point-geometry";
|
|
2
|
+
import { GEOMETRY_TYPE } from "./geometryType";
|
|
3
|
+
export class GpuVector {
|
|
4
|
+
_triangleOffsets;
|
|
5
|
+
_indexBuffer;
|
|
6
|
+
_vertexBuffer;
|
|
7
|
+
_topologyVector;
|
|
5
8
|
constructor(_triangleOffsets, _indexBuffer, _vertexBuffer, _topologyVector) {
|
|
6
9
|
this._triangleOffsets = _triangleOffsets;
|
|
7
10
|
this._indexBuffer = _indexBuffer;
|
|
@@ -20,19 +23,100 @@ class GpuVector {
|
|
|
20
23
|
get topologyVector() {
|
|
21
24
|
return this._topologyVector;
|
|
22
25
|
}
|
|
26
|
+
/**
|
|
27
|
+
* Returns geometries as coordinate arrays by extracting polygon outlines from topology.
|
|
28
|
+
* The vertexBuffer contains the outline vertices, separate from the tessellated triangles.
|
|
29
|
+
*/
|
|
30
|
+
getGeometries() {
|
|
31
|
+
if (!this._topologyVector) {
|
|
32
|
+
throw new Error("Cannot convert GpuVector to coordinates without topology information");
|
|
33
|
+
}
|
|
34
|
+
const geometries = new Array(this.numGeometries);
|
|
35
|
+
const topology = this._topologyVector;
|
|
36
|
+
const partOffsets = topology.partOffsets;
|
|
37
|
+
const ringOffsets = topology.ringOffsets;
|
|
38
|
+
const geometryOffsets = topology.geometryOffsets;
|
|
39
|
+
// Use counters to track position in offset arrays (like Java implementation)
|
|
40
|
+
let vertexBufferOffset = 0;
|
|
41
|
+
let partOffsetCounter = 1;
|
|
42
|
+
let ringOffsetsCounter = 1;
|
|
43
|
+
let geometryOffsetsCounter = 1;
|
|
44
|
+
for (let i = 0; i < this.numGeometries; i++) {
|
|
45
|
+
const geometryType = this.geometryType(i);
|
|
46
|
+
switch (geometryType) {
|
|
47
|
+
case GEOMETRY_TYPE.POLYGON:
|
|
48
|
+
{
|
|
49
|
+
// Get number of rings for this polygon
|
|
50
|
+
const numRings = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];
|
|
51
|
+
partOffsetCounter++;
|
|
52
|
+
const rings = [];
|
|
53
|
+
for (let j = 0; j < numRings; j++) {
|
|
54
|
+
// Get number of vertices in this ring
|
|
55
|
+
const numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];
|
|
56
|
+
ringOffsetsCounter++;
|
|
57
|
+
const ring = [];
|
|
58
|
+
for (let k = 0; k < numVertices; k++) {
|
|
59
|
+
const x = this._vertexBuffer[vertexBufferOffset++];
|
|
60
|
+
const y = this._vertexBuffer[vertexBufferOffset++];
|
|
61
|
+
ring.push(new Point(x, y));
|
|
62
|
+
}
|
|
63
|
+
// Close the ring by duplicating the first vertex (MVT format requirement)
|
|
64
|
+
if (ring.length > 0) {
|
|
65
|
+
ring.push(ring[0]);
|
|
66
|
+
}
|
|
67
|
+
rings.push(ring);
|
|
68
|
+
}
|
|
69
|
+
geometries[i] = rings;
|
|
70
|
+
if (geometryOffsets)
|
|
71
|
+
geometryOffsetsCounter++;
|
|
72
|
+
}
|
|
73
|
+
break;
|
|
74
|
+
case GEOMETRY_TYPE.MULTIPOLYGON:
|
|
75
|
+
{
|
|
76
|
+
// Get number of polygons in this multipolygon
|
|
77
|
+
const numPolygons = geometryOffsets[geometryOffsetsCounter] - geometryOffsets[geometryOffsetsCounter - 1];
|
|
78
|
+
geometryOffsetsCounter++;
|
|
79
|
+
const allRings = [];
|
|
80
|
+
for (let p = 0; p < numPolygons; p++) {
|
|
81
|
+
// Get number of rings in this polygon
|
|
82
|
+
const numRings = partOffsets[partOffsetCounter] - partOffsets[partOffsetCounter - 1];
|
|
83
|
+
partOffsetCounter++;
|
|
84
|
+
for (let j = 0; j < numRings; j++) {
|
|
85
|
+
// Get number of vertices in this ring
|
|
86
|
+
const numVertices = ringOffsets[ringOffsetsCounter] - ringOffsets[ringOffsetsCounter - 1];
|
|
87
|
+
ringOffsetsCounter++;
|
|
88
|
+
const ring = [];
|
|
89
|
+
for (let k = 0; k < numVertices; k++) {
|
|
90
|
+
const x = this._vertexBuffer[vertexBufferOffset++];
|
|
91
|
+
const y = this._vertexBuffer[vertexBufferOffset++];
|
|
92
|
+
ring.push(new Point(x, y));
|
|
93
|
+
}
|
|
94
|
+
// Close the ring by duplicating the first vertex (MVT format requirement)
|
|
95
|
+
if (ring.length > 0) {
|
|
96
|
+
ring.push(ring[0]);
|
|
97
|
+
}
|
|
98
|
+
allRings.push(ring);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
geometries[i] = allRings;
|
|
102
|
+
}
|
|
103
|
+
break;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
return geometries;
|
|
107
|
+
}
|
|
23
108
|
[Symbol.iterator]() {
|
|
24
109
|
/*for(let i = 1; i < this.triangleOffsets.length; i++) {
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
110
|
+
const numTriangles = this.triangleOffsets[i] - this.triangleOffsets[i-1];
|
|
111
|
+
const startIndex = this.triangleOffsets[i-1] * 3;
|
|
112
|
+
const endIndex = this.triangleOffsets[i] * 3;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
while (index < this.numGeometries) {
|
|
116
|
+
yield geometries[index++];
|
|
117
|
+
}*/
|
|
33
118
|
//throw new Error("Iterator on a GpuVector is not implemented yet.");
|
|
34
119
|
return null;
|
|
35
120
|
}
|
|
36
121
|
}
|
|
37
|
-
exports.GpuVector = GpuVector;
|
|
38
122
|
//# sourceMappingURL=gpuVector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/gpuVector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"gpuVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/gpuVector.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export default class SpaceFillingCurve {
|
|
2
|
+
tileExtent;
|
|
3
|
+
_numBits;
|
|
4
|
+
_coordinateShift;
|
|
5
|
+
minBound;
|
|
6
|
+
maxBound;
|
|
4
7
|
constructor(minVertexValue, maxVertexValue) {
|
|
5
8
|
// TODO: fix tile buffer problem
|
|
6
9
|
this._coordinateShift = minVertexValue < 0 ? Math.abs(minVertexValue) : 0;
|
|
@@ -11,7 +14,10 @@ class SpaceFillingCurve {
|
|
|
11
14
|
}
|
|
12
15
|
validateCoordinates(vertex) {
|
|
13
16
|
// TODO: also check for int overflow as we are limiting the sfc ids to max int size
|
|
14
|
-
if (vertex.x < this.minBound ||
|
|
17
|
+
if (vertex.x < this.minBound ||
|
|
18
|
+
vertex.y < this.minBound ||
|
|
19
|
+
vertex.x > this.maxBound ||
|
|
20
|
+
vertex.y > this.maxBound) {
|
|
15
21
|
throw new Error("The specified tile buffer size is currently not supported.");
|
|
16
22
|
}
|
|
17
23
|
}
|
|
@@ -22,5 +28,4 @@ class SpaceFillingCurve {
|
|
|
22
28
|
return this._coordinateShift;
|
|
23
29
|
}
|
|
24
30
|
}
|
|
25
|
-
exports.default = SpaceFillingCurve;
|
|
26
31
|
//# sourceMappingURL=spaceFillingCurve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spaceFillingCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/spaceFillingCurve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"spaceFillingCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/spaceFillingCurve.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAgB,iBAAiB;IACjC,UAAU,CAAS;IACnB,QAAQ,CAAS;IACjB,gBAAgB,CAAS;IAClB,QAAQ,CAAS;IACjB,QAAQ,CAAS;IAElC,YAAY,cAAsB,EAAE,cAAsB;QACtD,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,GAAG,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,UAAU,GAAG,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC;QACtD,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC;IACnC,CAAC;IAES,mBAAmB,CAAC,MAAgC;QAC1D,mFAAmF;QACnF,IACI,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ;YACxB,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,QAAQ,EAC1B,CAAC;YACC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAClF,CAAC;IACL,CAAC;IAMD,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,eAAe;QACX,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;CACJ"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export default class TopologyVector {
|
|
2
|
+
_geometryOffsets;
|
|
3
|
+
_partOffsets;
|
|
4
|
+
_ringOffsets;
|
|
4
5
|
//TODO: refactor to use unsigned integers
|
|
5
6
|
constructor(_geometryOffsets, _partOffsets, _ringOffsets) {
|
|
6
7
|
this._geometryOffsets = _geometryOffsets;
|
|
@@ -17,5 +18,4 @@ class TopologyVector {
|
|
|
17
18
|
return this._ringOffsets;
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
|
-
exports.default = TopologyVector;
|
|
21
21
|
//# sourceMappingURL=topologyVector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"topologyVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/topologyVector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"topologyVector.js","sourceRoot":"","sources":["../../../src/vector/geometry/topologyVector.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,OAAO,cAAc;IAGnB;IACA;IACA;IAJZ,yCAAyC;IACzC,YACY,gBAA4B,EAC5B,YAAwB,EACxB,YAAwB;QAFxB,qBAAgB,GAAhB,gBAAgB,CAAY;QAC5B,iBAAY,GAAZ,YAAY,CAAY;QACxB,iBAAY,GAAZ,YAAY,CAAY;IACjC,CAAC;IAEJ,IAAI,eAAe;QACf,OAAO,IAAI,CAAC,gBAAgB,CAAC;IACjC,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;CACJ"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.VertexBufferType = void 0;
|
|
4
|
-
var VertexBufferType;
|
|
1
|
+
export var VertexBufferType;
|
|
5
2
|
(function (VertexBufferType) {
|
|
6
3
|
VertexBufferType[VertexBufferType["MORTON"] = 0] = "MORTON";
|
|
7
4
|
VertexBufferType[VertexBufferType["VEC_2"] = 1] = "VEC_2";
|
|
8
5
|
VertexBufferType[VertexBufferType["VEC_3"] = 2] = "VEC_3";
|
|
9
|
-
})(VertexBufferType || (
|
|
6
|
+
})(VertexBufferType || (VertexBufferType = {}));
|
|
10
7
|
//# sourceMappingURL=vertexBufferType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vertexBufferType.js","sourceRoot":"","sources":["../../../src/vector/geometry/vertexBufferType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"vertexBufferType.js","sourceRoot":"","sources":["../../../src/vector/geometry/vertexBufferType.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IACxB,2DAAM,CAAA;IACN,yDAAK,CAAA;IACL,yDAAK,CAAA;AACT,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const spaceFillingCurve_1 = __importDefault(require("./spaceFillingCurve"));
|
|
7
|
-
class ZOrderCurve extends spaceFillingCurve_1.default {
|
|
1
|
+
import SpaceFillingCurve from "./spaceFillingCurve";
|
|
2
|
+
export default class ZOrderCurve extends SpaceFillingCurve {
|
|
8
3
|
encode(vertex) {
|
|
9
4
|
this.validateCoordinates(vertex);
|
|
10
5
|
const shiftedX = vertex.x + this._coordinateShift;
|
|
11
6
|
const shiftedY = vertex.y + this._coordinateShift;
|
|
12
7
|
let mortonCode = 0;
|
|
13
8
|
for (let i = 0; i < this._numBits; i++) {
|
|
14
|
-
mortonCode |= (shiftedX & (1 << i)) << i | (shiftedY & (1 << i)) << (i + 1);
|
|
9
|
+
mortonCode |= ((shiftedX & (1 << i)) << i) | ((shiftedY & (1 << i)) << (i + 1));
|
|
15
10
|
}
|
|
16
11
|
return mortonCode;
|
|
17
12
|
}
|
|
@@ -40,5 +35,4 @@ class ZOrderCurve extends spaceFillingCurve_1.default {
|
|
|
40
35
|
return coordinate;
|
|
41
36
|
}
|
|
42
37
|
}
|
|
43
|
-
exports.default = ZOrderCurve;
|
|
44
38
|
//# sourceMappingURL=zOrderCurve.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"zOrderCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"zOrderCurve.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qBAAqB,CAAC;AAEpD,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,iBAAiB;IACtD,MAAM,CAAC,MAAgC;QACnC,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClD,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAClD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACpF,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,UAAkB;QACrB,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAChE,MAAM,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACrE,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAEO,YAAY,CAAC,IAAY;QAC7B,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,MAAM,CAAC,MAAM,CAAC,UAAkB,EAAE,OAAe,EAAE,eAAuB;QACtE,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;QAC1E,MAAM,CAAC,GAAG,WAAW,CAAC,YAAY,CAAC,UAAU,IAAI,CAAC,EAAE,OAAO,CAAC,GAAG,eAAe,CAAC;QAC/E,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IACpB,CAAC;IAEO,MAAM,CAAC,YAAY,CAAC,IAAY,EAAE,OAAe;QACrD,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,EAAE,CAAC,EAAE,EAAE,CAAC;YAC/B,UAAU,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,UAAU,CAAC;IACtB,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { describe, it, expect } from "vitest";
|
|
2
|
+
import ZOrderCurve from "./zOrderCurve";
|
|
3
|
+
describe("ZOrderCurve", () => {
|
|
4
|
+
it("decode", () => {
|
|
5
|
+
const expectedIndex = 38865244;
|
|
6
|
+
const expectedVertex = { x: 3358, y: 4130 };
|
|
7
|
+
const zCurve = new ZOrderCurve(288, 4150);
|
|
8
|
+
const actualIndex = zCurve.encode(expectedVertex);
|
|
9
|
+
const actualVertex = zCurve.decode(actualIndex);
|
|
10
|
+
expect(actualIndex).toEqual(expectedIndex);
|
|
11
|
+
expect(actualVertex).toEqual(expectedVertex);
|
|
12
|
+
});
|
|
13
|
+
});
|
|
14
|
+
//# sourceMappingURL=zOrderCurve.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zOrderCurve.spec.js","sourceRoot":"","sources":["../../../src/vector/geometry/zOrderCurve.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACd,MAAM,aAAa,GAAG,QAAQ,CAAC;QAC/B,MAAM,cAAc,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE1C,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAEhD,MAAM,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC3C,MAAM,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/vector/intVector.js
CHANGED
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import { SequenceVector } from "./sequenceVector";
|
|
2
|
-
import { type SelectionVector } from "../filter/selectionVector";
|
|
3
2
|
export declare class IntSequenceVector extends SequenceVector<Int32Array, number> {
|
|
4
3
|
constructor(name: string, baseValue: number, delta: number, size: number);
|
|
5
|
-
filter(value: number): SelectionVector;
|
|
6
|
-
match(values: number[]): SelectionVector;
|
|
7
|
-
filterSelected(value: number, selectionVector: SelectionVector): SelectionVector;
|
|
8
|
-
matchSelected(values: number[], selectionVector: SelectionVector): SelectionVector;
|
|
9
4
|
protected getValueFromBuffer(index: number): number;
|
|
10
|
-
filterNotEqual(value: number): SelectionVector;
|
|
11
|
-
filterNotEqualSelected(value: number, selectionVector: SelectionVector): void;
|
|
12
|
-
greaterThanOrEqualTo(value: number): SelectionVector;
|
|
13
|
-
greaterThanOrEqualToSelected(value: number, selectionVector: SelectionVector): void;
|
|
14
|
-
noneMatch(values: number[]): SelectionVector;
|
|
15
|
-
noneMatchSelected(values: number[], selectionVector: SelectionVector): void;
|
|
16
|
-
smallerThanOrEqualTo(value: number): SelectionVector;
|
|
17
|
-
smallerThanOrEqualToSelected(value: number, selectionVector: SelectionVector): void;
|
|
18
5
|
}
|
|
@@ -1,72 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.IntSequenceVector = void 0;
|
|
4
|
-
const sequenceVector_1 = require("./sequenceVector");
|
|
5
|
-
const flatSelectionVector_1 = require("../filter/flatSelectionVector");
|
|
6
|
-
class IntSequenceVector extends sequenceVector_1.SequenceVector {
|
|
1
|
+
import { SequenceVector } from "./sequenceVector";
|
|
2
|
+
export class IntSequenceVector extends SequenceVector {
|
|
7
3
|
constructor(name, baseValue, delta, size) {
|
|
8
4
|
super(name, Int32Array.of(baseValue), delta, size);
|
|
9
5
|
}
|
|
10
|
-
filter(value) {
|
|
11
|
-
const index = (value - this.dataBuffer[0]) / this.delta;
|
|
12
|
-
const sequenceValue = this.dataBuffer[0] + index * this.delta;
|
|
13
|
-
if (value === sequenceValue) {
|
|
14
|
-
return new flatSelectionVector_1.FlatSelectionVector([index]);
|
|
15
|
-
}
|
|
16
|
-
const vector = sequenceValue ? [index] : [];
|
|
17
|
-
return new flatSelectionVector_1.FlatSelectionVector(vector);
|
|
18
|
-
}
|
|
19
|
-
match(values) {
|
|
20
|
-
/*const baseValue = this.dataBuffer[0];
|
|
21
|
-
const sequenceValues = new Array(values.length);
|
|
22
|
-
let i = 0;
|
|
23
|
-
for(const value of sequenceValues){
|
|
24
|
-
const index = (value - baseValue) / this.delta;
|
|
25
|
-
const sequenceValue = baseValue + index * this.delta;
|
|
26
|
-
sequenceValues[i++] = sequenceValue;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
if(value === sequenceValue){
|
|
30
|
-
return new FlatSelectionVector([index])
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
const vector = sequenceValue? [index] : [];
|
|
34
|
-
return new FlatSelectionVector(vector);*/
|
|
35
|
-
throw new Error("Not implemented yet.");
|
|
36
|
-
}
|
|
37
|
-
filterSelected(value, selectionVector) {
|
|
38
|
-
throw new Error("Not implemented yet.");
|
|
39
|
-
}
|
|
40
|
-
matchSelected(values, selectionVector) {
|
|
41
|
-
throw new Error("Not implemented yet.");
|
|
42
|
-
}
|
|
43
6
|
getValueFromBuffer(index) {
|
|
44
7
|
return this.dataBuffer[0] + index * this.delta;
|
|
45
8
|
}
|
|
46
|
-
filterNotEqual(value) {
|
|
47
|
-
throw new Error("Not implemented yet.");
|
|
48
|
-
}
|
|
49
|
-
filterNotEqualSelected(value, selectionVector) {
|
|
50
|
-
throw new Error("Not implemented yet.");
|
|
51
|
-
}
|
|
52
|
-
greaterThanOrEqualTo(value) {
|
|
53
|
-
throw new Error("Not implemented yet.");
|
|
54
|
-
}
|
|
55
|
-
greaterThanOrEqualToSelected(value, selectionVector) {
|
|
56
|
-
throw new Error("Not implemented yet.");
|
|
57
|
-
}
|
|
58
|
-
noneMatch(values) {
|
|
59
|
-
throw new Error("Not implemented yet.");
|
|
60
|
-
}
|
|
61
|
-
noneMatchSelected(values, selectionVector) {
|
|
62
|
-
throw new Error("Not implemented yet.");
|
|
63
|
-
}
|
|
64
|
-
smallerThanOrEqualTo(value) {
|
|
65
|
-
throw new Error("Not implemented yet.");
|
|
66
|
-
}
|
|
67
|
-
smallerThanOrEqualToSelected(value, selectionVector) {
|
|
68
|
-
throw new Error("Not implemented yet.");
|
|
69
|
-
}
|
|
70
9
|
}
|
|
71
|
-
exports.IntSequenceVector = IntSequenceVector;
|
|
72
10
|
//# sourceMappingURL=intSequenceVector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"intSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/intSequenceVector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"intSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/intSequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,iBAAkB,SAAQ,cAAkC;IACrE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACvD,CAAC;IACS,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC;CACJ"}
|
|
@@ -1,18 +1,5 @@
|
|
|
1
1
|
import { SequenceVector } from "./sequenceVector";
|
|
2
|
-
import { type SelectionVector } from "../filter/selectionVector";
|
|
3
2
|
export declare class LongSequenceVector extends SequenceVector<BigInt64Array, bigint> {
|
|
4
3
|
constructor(name: string, baseValue: bigint, delta: bigint, size: number);
|
|
5
|
-
filter(value: bigint): SelectionVector;
|
|
6
|
-
match(values: bigint[]): SelectionVector;
|
|
7
|
-
filterSelected(value: bigint, selectionVector: SelectionVector): SelectionVector;
|
|
8
|
-
matchSelected(values: bigint[], selectionVector: SelectionVector): SelectionVector;
|
|
9
4
|
protected getValueFromBuffer(index: number): bigint;
|
|
10
|
-
filterNotEqual(value: bigint): SelectionVector;
|
|
11
|
-
filterNotEqualSelected(value: bigint, selectionVector: SelectionVector): void;
|
|
12
|
-
greaterThanOrEqualTo(value: bigint): SelectionVector;
|
|
13
|
-
greaterThanOrEqualToSelected(value: bigint, selectionVector: SelectionVector): void;
|
|
14
|
-
noneMatch(values: bigint[]): SelectionVector;
|
|
15
|
-
noneMatchSelected(values: bigint[], selectionVector: SelectionVector): void;
|
|
16
|
-
smallerThanOrEqualTo(value: bigint): SelectionVector;
|
|
17
|
-
smallerThanOrEqualToSelected(value: bigint, selectionVector: SelectionVector): void;
|
|
18
5
|
}
|
|
@@ -1,57 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
exports.LongSequenceVector = void 0;
|
|
4
|
-
const sequenceVector_1 = require("./sequenceVector");
|
|
5
|
-
const flatSelectionVector_1 = require("../filter/flatSelectionVector");
|
|
6
|
-
class LongSequenceVector extends sequenceVector_1.SequenceVector {
|
|
1
|
+
import { SequenceVector } from "./sequenceVector";
|
|
2
|
+
export class LongSequenceVector extends SequenceVector {
|
|
7
3
|
constructor(name, baseValue, delta, size) {
|
|
8
4
|
super(name, BigInt64Array.of(baseValue), delta, size);
|
|
9
5
|
}
|
|
10
|
-
filter(value) {
|
|
11
|
-
const index = (value - this.dataBuffer[0]) / this.delta;
|
|
12
|
-
const sequenceValue = this.dataBuffer[0] + index * this.delta;
|
|
13
|
-
if (value === sequenceValue) {
|
|
14
|
-
return new flatSelectionVector_1.FlatSelectionVector([Number(index)]);
|
|
15
|
-
}
|
|
16
|
-
const vector = sequenceValue ? [Number(index)] : [];
|
|
17
|
-
return new flatSelectionVector_1.FlatSelectionVector(vector);
|
|
18
|
-
}
|
|
19
|
-
match(values) {
|
|
20
|
-
throw new Error("Not implemented yet.");
|
|
21
|
-
}
|
|
22
|
-
filterSelected(value, selectionVector) {
|
|
23
|
-
throw new Error("Not implemented yet.");
|
|
24
|
-
}
|
|
25
|
-
matchSelected(values, selectionVector) {
|
|
26
|
-
throw new Error("Not implemented yet.");
|
|
27
|
-
}
|
|
28
6
|
getValueFromBuffer(index) {
|
|
29
7
|
return this.dataBuffer[0] + BigInt(index) * this.delta;
|
|
30
8
|
}
|
|
31
|
-
filterNotEqual(value) {
|
|
32
|
-
throw new Error("Not implemented yet.");
|
|
33
|
-
}
|
|
34
|
-
filterNotEqualSelected(value, selectionVector) {
|
|
35
|
-
throw new Error("Not implemented yet.");
|
|
36
|
-
}
|
|
37
|
-
greaterThanOrEqualTo(value) {
|
|
38
|
-
throw new Error("Not implemented yet.");
|
|
39
|
-
}
|
|
40
|
-
greaterThanOrEqualToSelected(value, selectionVector) {
|
|
41
|
-
throw new Error("Not implemented yet.");
|
|
42
|
-
}
|
|
43
|
-
noneMatch(values) {
|
|
44
|
-
throw new Error("Not implemented yet.");
|
|
45
|
-
}
|
|
46
|
-
noneMatchSelected(values, selectionVector) {
|
|
47
|
-
throw new Error("Not implemented yet.");
|
|
48
|
-
}
|
|
49
|
-
smallerThanOrEqualTo(value) {
|
|
50
|
-
throw new Error("Not implemented yet.");
|
|
51
|
-
}
|
|
52
|
-
smallerThanOrEqualToSelected(value, selectionVector) {
|
|
53
|
-
throw new Error("Not implemented yet.");
|
|
54
|
-
}
|
|
55
9
|
}
|
|
56
|
-
exports.LongSequenceVector = LongSequenceVector;
|
|
57
10
|
//# sourceMappingURL=longSequenceVector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"longSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"longSequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,MAAM,OAAO,kBAAmB,SAAQ,cAAqC;IACzE,YAAmB,IAAY,EAAE,SAAiB,EAAE,KAAa,EAAE,IAAY;QAC3E,KAAK,CAAC,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1D,CAAC;IAES,kBAAkB,CAAC,KAAa;QACtC,OAAO,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;IAC3D,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { describe, expect, it } from "vitest";
|
|
2
|
+
import { LongSequenceVector } from "./longSequenceVector";
|
|
3
|
+
describe("LongSequenceVector", () => {
|
|
4
|
+
it("should generate bigint sequence values", () => {
|
|
5
|
+
const vec = new LongSequenceVector("test", 10n, 5n, 5); // 10n, 15n, 20n, 25n, 30n
|
|
6
|
+
expect(vec.getValue(0)).toBe(10n);
|
|
7
|
+
expect(vec.getValue(2)).toBe(20n);
|
|
8
|
+
expect(vec.getValue(4)).toBe(30n);
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=longSequenceVektor.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"longSequenceVektor.spec.js","sourceRoot":"","sources":["../../../src/vector/sequence/longSequenceVektor.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAC,MAAM,QAAQ,CAAC;AAC5C,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAChC,EAAE,CAAC,wCAAwC,EAAE,GAAG,EAAE;QAC9C,MAAM,GAAG,GAAG,IAAI,kBAAkB,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,0BAA0B;QAClF,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,15 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.SequenceVector = void 0;
|
|
7
|
-
const vector_1 = __importDefault(require("../vector"));
|
|
8
|
-
class SequenceVector extends vector_1.default {
|
|
1
|
+
import Vector from "../vector";
|
|
2
|
+
export class SequenceVector extends Vector {
|
|
3
|
+
delta;
|
|
9
4
|
constructor(name, baseValueBuffer, delta, size) {
|
|
10
5
|
super(name, baseValueBuffer, size);
|
|
11
6
|
this.delta = delta;
|
|
12
7
|
}
|
|
13
8
|
}
|
|
14
|
-
exports.SequenceVector = SequenceVector;
|
|
15
9
|
//# sourceMappingURL=sequenceVector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/sequenceVector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sequenceVector.js","sourceRoot":"","sources":["../../../src/vector/sequence/sequenceVector.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,WAAW,CAAC;AAE/B,MAAM,OAAgB,cAA6C,SAAQ,MAAY;IAChE,KAAK,CAAI;IAE5B,YAAsB,IAAY,EAAE,eAAkB,EAAE,KAAQ,EAAE,IAAY;QAC1E,KAAK,CAAC,IAAI,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ"}
|
|
@@ -1,16 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.VariableSizeVector = void 0;
|
|
7
|
-
const vector_1 = __importDefault(require("./vector"));
|
|
8
|
-
class VariableSizeVector extends vector_1.default {
|
|
1
|
+
import Vector from "./vector";
|
|
2
|
+
export class VariableSizeVector extends Vector {
|
|
3
|
+
offsetBuffer;
|
|
9
4
|
//TODO: switch to Uint32Array by changing the decodings
|
|
10
5
|
constructor(name, offsetBuffer, dataBuffer, sizeOrNullabilityBuffer) {
|
|
11
6
|
super(name, dataBuffer, sizeOrNullabilityBuffer);
|
|
12
7
|
this.offsetBuffer = offsetBuffer;
|
|
13
8
|
}
|
|
14
9
|
}
|
|
15
|
-
exports.VariableSizeVector = VariableSizeVector;
|
|
16
10
|
//# sourceMappingURL=variableSizeVector.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"variableSizeVector.js","sourceRoot":"","sources":["../../src/vector/variableSizeVector.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"variableSizeVector.js","sourceRoot":"","sources":["../../src/vector/variableSizeVector.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,UAAU,CAAC;AAE9B,MAAM,OAAgB,kBAAiD,SAAQ,MAAY;IAIzE;IAHd,uDAAuD;IACvD,YACI,IAAY,EACF,YAAwB,EAClC,UAAa,EACb,uBAA2C;QAE3C,KAAK,CAAC,IAAI,EAAE,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAJvC,iBAAY,GAAZ,YAAY,CAAY;IAKtC,CAAC;CACJ"}
|
package/dist/vector/vector.d.ts
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import type BitVector from "./flat/bitVector";
|
|
2
|
-
import { type SelectionVector } from "./filter/selectionVector";
|
|
3
2
|
export default abstract class Vector<T extends ArrayBufferView = ArrayBufferView, K = unknown> {
|
|
4
3
|
private readonly _name;
|
|
5
4
|
protected readonly dataBuffer: T;
|
|
@@ -10,21 +9,5 @@ export default abstract class Vector<T extends ArrayBufferView = ArrayBufferView
|
|
|
10
9
|
has(index: number): boolean;
|
|
11
10
|
get name(): string;
|
|
12
11
|
get size(): number;
|
|
13
|
-
presentValues(): SelectionVector;
|
|
14
|
-
presentValuesSelected(selectionVector: SelectionVector): SelectionVector;
|
|
15
|
-
nullableValues(): SelectionVector;
|
|
16
|
-
nullableValuesSelected(selectionVector: SelectionVector): SelectionVector;
|
|
17
12
|
protected abstract getValueFromBuffer(index: number): K;
|
|
18
|
-
abstract filter(value: K): SelectionVector;
|
|
19
|
-
abstract filterNotEqual(value: K): SelectionVector;
|
|
20
|
-
abstract match(values: K[]): SelectionVector;
|
|
21
|
-
abstract noneMatch(values: K[]): SelectionVector;
|
|
22
|
-
abstract filterSelected(value: K, selectionVector: SelectionVector): void;
|
|
23
|
-
abstract filterNotEqualSelected(value: K, selectionVector: SelectionVector): void;
|
|
24
|
-
abstract matchSelected(values: K[], selectionVector: SelectionVector): void;
|
|
25
|
-
abstract noneMatchSelected(values: K[], selectionVector: SelectionVector): void;
|
|
26
|
-
abstract greaterThanOrEqualTo(value: K): SelectionVector;
|
|
27
|
-
abstract smallerThanOrEqualTo(value: K): SelectionVector;
|
|
28
|
-
abstract greaterThanOrEqualToSelected(value: K, selectionVector: SelectionVector): void;
|
|
29
|
-
abstract smallerThanOrEqualToSelected(value: K, selectionVector: SelectionVector): void;
|
|
30
13
|
}
|