@ifc-lite/pointcloud 0.6.1 → 0.7.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/formats/ascii-points.d.ts +11 -2
- package/dist/formats/ascii-points.d.ts.map +1 -1
- package/dist/formats/ascii-points.js +24 -7
- package/dist/formats/ascii-points.js.map +1 -1
- package/dist/formats/e57-decode.d.ts +29 -2
- package/dist/formats/e57-decode.d.ts.map +1 -1
- package/dist/formats/e57-decode.js +45 -10
- package/dist/formats/e57-decode.js.map +1 -1
- package/dist/formats/e57.d.ts +21 -2
- package/dist/formats/e57.d.ts.map +1 -1
- package/dist/formats/e57.js +26 -7
- package/dist/formats/e57.js.map +1 -1
- package/dist/formats/pcd.d.ts +11 -1
- package/dist/formats/pcd.d.ts.map +1 -1
- package/dist/formats/pcd.js +35 -16
- package/dist/formats/pcd.js.map +1 -1
- package/dist/formats/ply.d.ts +9 -1
- package/dist/formats/ply.d.ts.map +1 -1
- package/dist/formats/ply.js +25 -11
- package/dist/formats/ply.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/streaming/ascii-points-source.d.ts +4 -0
- package/dist/streaming/ascii-points-source.d.ts.map +1 -1
- package/dist/streaming/ascii-points-source.js +5 -1
- package/dist/streaming/ascii-points-source.js.map +1 -1
- package/dist/streaming/decode-worker.js.map +1 -1
- package/dist/streaming/e57-source.d.ts +5 -0
- package/dist/streaming/e57-source.d.ts.map +1 -1
- package/dist/streaming/e57-source.js +14 -5
- package/dist/streaming/e57-source.js.map +1 -1
- package/dist/streaming/host.d.ts +6 -6
- package/dist/streaming/inline-worker.js +1 -1
- package/dist/streaming/pcd-source.d.ts +4 -0
- package/dist/streaming/pcd-source.d.ts.map +1 -1
- package/dist/streaming/pcd-source.js +5 -1
- package/dist/streaming/pcd-source.js.map +1 -1
- package/dist/streaming/ply-source.d.ts +4 -0
- package/dist/streaming/ply-source.d.ts.map +1 -1
- package/dist/streaming/ply-source.js +5 -1
- package/dist/streaming/ply-source.js.map +1 -1
- package/dist/streaming/protocol.d.ts +2 -2
- package/dist/streaming/protocol.d.ts.map +1 -1
- package/dist/streaming/worker-client.d.ts +2 -2
- package/dist/streaming/worker-client.d.ts.map +1 -1
- package/package.json +2 -1
|
@@ -55,7 +55,16 @@ export declare function probeAsciiPointsLayout(buffer: Uint8Array, format: Ascii
|
|
|
55
55
|
* ranges within one file are uncommon; we make the call once.
|
|
56
56
|
* - RGB: if any channel > 1.0, treat the columns as 0..255. Else 0..1.
|
|
57
57
|
*/
|
|
58
|
-
export declare function decodeAsciiPoints(bytes: Uint8Array, format: AsciiPointsFormat
|
|
58
|
+
export declare function decodeAsciiPoints(bytes: Uint8Array, format: AsciiPointsFormat,
|
|
59
|
+
/**
|
|
60
|
+
* Native (X, Y, Z)-axis offset subtracted from each decoded point in
|
|
61
|
+
* f64, BEFORE narrowing to the `Float32Array` (extends #1804's LAS/LAZ
|
|
62
|
+
* pattern — see `decodeLasPoints`'s `originOffset` doc). PTS/XYZ files
|
|
63
|
+
* routinely carry GNSS/total-station survey coordinates at ~1e6-1e7 m
|
|
64
|
+
* magnitude. `undefined` (the default) subtracts nothing, preserving
|
|
65
|
+
* prior behaviour byte-for-byte.
|
|
66
|
+
*/
|
|
67
|
+
originOffset?: readonly [number, number, number]): DecodedPointChunk;
|
|
59
68
|
/** Same as `decodeAsciiPoints` but takes pre-decoded text. */
|
|
60
|
-
export declare function decodeAsciiPointsFromText(text: string, layout: AsciiPointsLayout): DecodedPointChunk;
|
|
69
|
+
export declare function decodeAsciiPointsFromText(text: string, layout: AsciiPointsLayout, originOffset?: readonly [number, number, number]): DecodedPointChunk;
|
|
61
70
|
//# sourceMappingURL=ascii-points.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ascii-points.d.ts","sourceRoot":"","sources":["../../src/formats/ascii-points.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,aAAa,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,cAAc,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;AAIhF;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,iBAAiB,GACxB,iBAAiB,GAAG,IAAI,CAgC1B;AA6CD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,iBAAiB,
|
|
1
|
+
{"version":3,"file":"ascii-points.d.ts","sourceRoot":"","sources":["../../src/formats/ascii-points.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,aAAa,CAAC;AAErE,MAAM,MAAM,iBAAiB,GAAG,KAAK,GAAG,KAAK,CAAC;AAE9C,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,OAAO,EAAE,MAAM,CAAC;IAChB,0EAA0E;IAC1E,cAAc,EAAE,OAAO,CAAC;IACxB,gEAAgE;IAChE,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,MAAM,MAAM,gBAAgB,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,MAAM,CAAC;AAIhF;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,iBAAiB,GACxB,iBAAiB,GAAG,IAAI,CAgC1B;AA6CD;;;;;;;;;;;GAWG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,UAAU,EACjB,MAAM,EAAE,iBAAiB;AACzB;;;;;;;GAOG;AACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/C,iBAAiB,CAOnB;AAED,8DAA8D;AAC9D,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,iBAAiB,EACzB,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/C,iBAAiB,CA+HnB"}
|
|
@@ -103,16 +103,25 @@ function layoutFromColumnCount(columns, format) {
|
|
|
103
103
|
* ranges within one file are uncommon; we make the call once.
|
|
104
104
|
* - RGB: if any channel > 1.0, treat the columns as 0..255. Else 0..1.
|
|
105
105
|
*/
|
|
106
|
-
export function decodeAsciiPoints(bytes, format
|
|
106
|
+
export function decodeAsciiPoints(bytes, format,
|
|
107
|
+
/**
|
|
108
|
+
* Native (X, Y, Z)-axis offset subtracted from each decoded point in
|
|
109
|
+
* f64, BEFORE narrowing to the `Float32Array` (extends #1804's LAS/LAZ
|
|
110
|
+
* pattern — see `decodeLasPoints`'s `originOffset` doc). PTS/XYZ files
|
|
111
|
+
* routinely carry GNSS/total-station survey coordinates at ~1e6-1e7 m
|
|
112
|
+
* magnitude. `undefined` (the default) subtracts nothing, preserving
|
|
113
|
+
* prior behaviour byte-for-byte.
|
|
114
|
+
*/
|
|
115
|
+
originOffset) {
|
|
107
116
|
const layout = probeAsciiPointsLayout(bytes, format);
|
|
108
117
|
if (!layout) {
|
|
109
118
|
throw new Error(`${format.toUpperCase()}: file does not look like ASCII point data`);
|
|
110
119
|
}
|
|
111
120
|
const text = TEXT_DECODER.decode(bytes);
|
|
112
|
-
return decodeAsciiPointsFromText(text, layout);
|
|
121
|
+
return decodeAsciiPointsFromText(text, layout, originOffset);
|
|
113
122
|
}
|
|
114
123
|
/** Same as `decodeAsciiPoints` but takes pre-decoded text. */
|
|
115
|
-
export function decodeAsciiPointsFromText(text, layout) {
|
|
124
|
+
export function decodeAsciiPointsFromText(text, layout, originOffset) {
|
|
116
125
|
const lines = text.split(/\r?\n/);
|
|
117
126
|
// Pre-pass: count valid data lines so we can allocate exactly.
|
|
118
127
|
// Cheap (no parsing) and saves the typed-array growth dance.
|
|
@@ -147,6 +156,9 @@ export function decodeAsciiPointsFromText(text, layout) {
|
|
|
147
156
|
let colorMax = 0;
|
|
148
157
|
let bboxMinX = Infinity, bboxMinY = Infinity, bboxMinZ = Infinity;
|
|
149
158
|
let bboxMaxX = -Infinity, bboxMaxY = -Infinity, bboxMaxZ = -Infinity;
|
|
159
|
+
const offX = originOffset?.[0] ?? 0;
|
|
160
|
+
const offY = originOffset?.[1] ?? 0;
|
|
161
|
+
const offZ = originOffset?.[2] ?? 0;
|
|
150
162
|
headerSkipped = !layout.hasHeaderCount;
|
|
151
163
|
for (const raw of lines) {
|
|
152
164
|
const trimmed = raw.trim();
|
|
@@ -161,11 +173,16 @@ export function decodeAsciiPointsFromText(text, layout) {
|
|
|
161
173
|
const tokens = trimmed.split(/\s+/);
|
|
162
174
|
if (tokens.length < layout.columns)
|
|
163
175
|
continue;
|
|
164
|
-
const
|
|
165
|
-
const
|
|
166
|
-
const
|
|
167
|
-
if (!Number.isFinite(
|
|
176
|
+
const xRaw = Number(tokens[xIdx]);
|
|
177
|
+
const yRaw = Number(tokens[yIdx]);
|
|
178
|
+
const zRaw = Number(tokens[zIdx]);
|
|
179
|
+
if (!Number.isFinite(xRaw) || !Number.isFinite(yRaw) || !Number.isFinite(zRaw))
|
|
168
180
|
continue;
|
|
181
|
+
// f64 subtraction happens here, before the narrowing `positions[..] =`
|
|
182
|
+
// assignment below casts to f32 — see the `originOffset` param doc.
|
|
183
|
+
const x = xRaw - offX;
|
|
184
|
+
const y = yRaw - offY;
|
|
185
|
+
const z = zRaw - offZ;
|
|
169
186
|
positions[written * 3] = x;
|
|
170
187
|
positions[written * 3 + 1] = y;
|
|
171
188
|
positions[written * 3 + 2] = z;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ascii-points.js","sourceRoot":"","sources":["../../src/formats/ascii-points.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"ascii-points.js","sourceRoot":"","sources":["../../src/formats/ascii-points.ts"],"names":[],"mappings":"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"}
|
|
@@ -88,7 +88,26 @@ export interface DecodedPacket {
|
|
|
88
88
|
* before calling; this function then bounds-checks the full packet
|
|
89
89
|
* against `logical.length` for data packets.
|
|
90
90
|
*/
|
|
91
|
-
export declare function decodeE57Packet(logical: Uint8Array, view: DataView, offset: number, fields: ScanFieldSet, prototype: PrototypeField[], maxRecords: number
|
|
91
|
+
export declare function decodeE57Packet(logical: Uint8Array, view: DataView, offset: number, fields: ScanFieldSet, prototype: PrototypeField[], maxRecords: number,
|
|
92
|
+
/**
|
|
93
|
+
* Native (X, Y, Z)-axis offset subtracted from each decoded cartesian
|
|
94
|
+
* coordinate in f64, BEFORE narrowing to the `Float32Array` (extends
|
|
95
|
+
* #1804's LAS/LAZ pattern — see `decodeLasPoints`'s `originOffset` doc).
|
|
96
|
+
*
|
|
97
|
+
* ONLY pass this for a scan with no pose. E57 cartesianX/Y/Z live in the
|
|
98
|
+
* scan's own (typically small, scanner-centred) local frame; a scan
|
|
99
|
+
* `<pose>` rotates+translates that local frame into the file's global
|
|
100
|
+
* frame afterward (`applyPoseInPlace`). Subtracting a global-frame offset
|
|
101
|
+
* from the LOCAL cartesian before that rotation would (a) get the offset
|
|
102
|
+
* rotated along with the points — wrong, since an origin shift must never
|
|
103
|
+
* rotate — and (b) push already-small local values further from zero,
|
|
104
|
+
* making precision worse, not better. For posed scans the offset belongs
|
|
105
|
+
* on the pose's translation instead (applied post-rotation, still in f64,
|
|
106
|
+
* still before the final narrowing) — see `applyPoseInPlace`'s
|
|
107
|
+
* `originOffset` param. Callers (`decodeE57Scan`, `E57StreamingSource`)
|
|
108
|
+
* make this choice based on whether the scan has a pose.
|
|
109
|
+
*/
|
|
110
|
+
originOffset?: readonly [number, number, number]): DecodedPacket;
|
|
92
111
|
/**
|
|
93
112
|
* Decode the binary section starting at `entry.binaryFileOffset` in the
|
|
94
113
|
* logical-bytes view. NOTE: `binaryFileOffset` here must already point
|
|
@@ -108,6 +127,14 @@ export declare function decodeE57Packet(logical: Uint8Array, view: DataView, off
|
|
|
108
127
|
* the binary section incrementally so multi-GB files don't allocate the
|
|
109
128
|
* whole file at once.
|
|
110
129
|
*/
|
|
111
|
-
export declare function decodeE57Scan(logical: Uint8Array, entry: Data3DEntry
|
|
130
|
+
export declare function decodeE57Scan(logical: Uint8Array, entry: Data3DEntry,
|
|
131
|
+
/**
|
|
132
|
+
* See `decodeE57Packet`'s `originOffset` param. Applied to the decoded
|
|
133
|
+
* cartesian ONLY when `entry.pose` is absent — a posed scan gets the
|
|
134
|
+
* offset applied to the pose translation instead (by the caller, via
|
|
135
|
+
* `applyPoseInPlace`'s `originOffset`), so the un-rotated local cartesian
|
|
136
|
+
* here is intentionally left unshifted when a pose is present.
|
|
137
|
+
*/
|
|
138
|
+
originOffset?: readonly [number, number, number]): DecodedPointChunk;
|
|
112
139
|
export declare function computeBBox(positions: Float32Array): PointCloudBBox;
|
|
113
140
|
//# sourceMappingURL=e57-decode.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e57-decode.d.ts","sourceRoot":"","sources":["../../src/formats/e57-decode.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAa,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,6EAA6E;IAC7E,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,YAAY,CAwC3E;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAKjF;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,sDAAsD;IACtD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,wDAAwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,uDAAuD;IACvD,eAAe,CAAC,EAAE,UAAU,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,cAAc,EAAE,EAC3B,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"e57-decode.d.ts","sourceRoot":"","sources":["../../src/formats/e57-decode.ts"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACrE,OAAO,EAAa,KAAK,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAEhF;;;;;;;GAOG;AACH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,+DAA+D;IAC/D,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,2EAA2E;IAC3E,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,cAAc,CAAC;IACxB,6EAA6E;IAC7E,iBAAiB,EAAE,OAAO,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,cAAc,EAAE,GAAG,YAAY,CAwC3E;AAED,+EAA+E;AAC/E,MAAM,WAAW,gBAAgB;IAC/B,4CAA4C;IAC5C,UAAU,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,gBAAgB,CAKjF;AAED,8CAA8C;AAC9C,MAAM,WAAW,aAAa;IAC5B,mEAAmE;IACnE,UAAU,EAAE,MAAM,CAAC;IACnB,yEAAyE;IACzE,YAAY,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,IAAI,EAAE,MAAM,CAAC;IACb,mDAAmD;IACnD,SAAS,CAAC,EAAE,YAAY,CAAC;IACzB,sDAAsD;IACtD,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,wDAAwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,uDAAuD;IACvD,eAAe,CAAC,EAAE,UAAU,CAAC;CAC9B;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,UAAU,EACnB,IAAI,EAAE,QAAQ,EACd,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,cAAc,EAAE,EAC3B,UAAU,EAAE,MAAM;AAClB;;;;;;;;;;;;;;;;;GAiBG;AACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/C,aAAa,CAsGf;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,UAAU,EACnB,KAAK,EAAE,WAAW;AAClB;;;;;;GAMG;AACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/C,iBAAiB,CAkEnB;AA2RD,wBAAgB,WAAW,CAAC,SAAS,EAAE,YAAY,GAAG,cAAc,CAsBnE"}
|
|
@@ -76,7 +76,26 @@ export function peekPacketHeader(view, offset) {
|
|
|
76
76
|
* before calling; this function then bounds-checks the full packet
|
|
77
77
|
* against `logical.length` for data packets.
|
|
78
78
|
*/
|
|
79
|
-
export function decodeE57Packet(logical, view, offset, fields, prototype, maxRecords
|
|
79
|
+
export function decodeE57Packet(logical, view, offset, fields, prototype, maxRecords,
|
|
80
|
+
/**
|
|
81
|
+
* Native (X, Y, Z)-axis offset subtracted from each decoded cartesian
|
|
82
|
+
* coordinate in f64, BEFORE narrowing to the `Float32Array` (extends
|
|
83
|
+
* #1804's LAS/LAZ pattern — see `decodeLasPoints`'s `originOffset` doc).
|
|
84
|
+
*
|
|
85
|
+
* ONLY pass this for a scan with no pose. E57 cartesianX/Y/Z live in the
|
|
86
|
+
* scan's own (typically small, scanner-centred) local frame; a scan
|
|
87
|
+
* `<pose>` rotates+translates that local frame into the file's global
|
|
88
|
+
* frame afterward (`applyPoseInPlace`). Subtracting a global-frame offset
|
|
89
|
+
* from the LOCAL cartesian before that rotation would (a) get the offset
|
|
90
|
+
* rotated along with the points — wrong, since an origin shift must never
|
|
91
|
+
* rotate — and (b) push already-small local values further from zero,
|
|
92
|
+
* making precision worse, not better. For posed scans the offset belongs
|
|
93
|
+
* on the pose's translation instead (applied post-rotation, still in f64,
|
|
94
|
+
* still before the final narrowing) — see `applyPoseInPlace`'s
|
|
95
|
+
* `originOffset` param. Callers (`decodeE57Scan`, `E57StreamingSource`)
|
|
96
|
+
* make this choice based on whether the scan has a pose.
|
|
97
|
+
*/
|
|
98
|
+
originOffset) {
|
|
80
99
|
const packetType = view.getUint8(offset);
|
|
81
100
|
const packetLength = view.getUint16(offset + 2, true) + 1;
|
|
82
101
|
if (packetType !== 1) {
|
|
@@ -147,9 +166,12 @@ export function decodeE57Packet(logical, view, offset, fields, prototype, maxRec
|
|
|
147
166
|
const colors = fields.hasRgb ? new Float32Array(take * 3) : undefined;
|
|
148
167
|
const intensities = fields.hasIntensity ? new Uint16Array(take) : undefined;
|
|
149
168
|
const classifications = fields.hasClassification ? new Uint8Array(take) : undefined;
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
169
|
+
const offX = originOffset?.[0] ?? 0;
|
|
170
|
+
const offY = originOffset?.[1] ?? 0;
|
|
171
|
+
const offZ = originOffset?.[2] ?? 0;
|
|
172
|
+
readCartesianStream(logical, view, xField, xPos.start, positions, 0, take, 0, offX);
|
|
173
|
+
readCartesianStream(logical, view, yField, yPos.start, positions, 0, take, 1, offY);
|
|
174
|
+
readCartesianStream(logical, view, zField, zPos.start, positions, 0, take, 2, offZ);
|
|
153
175
|
if (colors && fields.rField && fields.gField && fields.bField) {
|
|
154
176
|
writeColorChannel(view, fieldOffsets.get('colorRed').start, fields.rField, colors, 0, take, 0, logical);
|
|
155
177
|
writeColorChannel(view, fieldOffsets.get('colorGreen').start, fields.gField, colors, 0, take, 1, logical);
|
|
@@ -182,8 +204,17 @@ export function decodeE57Packet(logical, view, offset, fields, prototype, maxRec
|
|
|
182
204
|
* the binary section incrementally so multi-GB files don't allocate the
|
|
183
205
|
* whole file at once.
|
|
184
206
|
*/
|
|
185
|
-
export function decodeE57Scan(logical, entry
|
|
207
|
+
export function decodeE57Scan(logical, entry,
|
|
208
|
+
/**
|
|
209
|
+
* See `decodeE57Packet`'s `originOffset` param. Applied to the decoded
|
|
210
|
+
* cartesian ONLY when `entry.pose` is absent — a posed scan gets the
|
|
211
|
+
* offset applied to the pose translation instead (by the caller, via
|
|
212
|
+
* `applyPoseInPlace`'s `originOffset`), so the un-rotated local cartesian
|
|
213
|
+
* here is intentionally left unshifted when a pose is present.
|
|
214
|
+
*/
|
|
215
|
+
originOffset) {
|
|
186
216
|
const fields = resolveScanFields(entry.prototype);
|
|
217
|
+
const cartesianOffset = entry.pose ? undefined : originOffset;
|
|
187
218
|
// Guard against a header (XML `recordCount`) that declares far more records
|
|
188
219
|
// than the binary section can hold. The XML parser only rejects NaN/negative
|
|
189
220
|
// counts (e57-xml.ts) — it has no access to the file length — so the
|
|
@@ -211,7 +242,7 @@ export function decodeE57Scan(logical, entry) {
|
|
|
211
242
|
if (offset + 4 > logical.length) {
|
|
212
243
|
throw new Error('E57: truncated DataPacket header');
|
|
213
244
|
}
|
|
214
|
-
const packet = decodeE57Packet(logical, view, offset, fields, entry.prototype, entry.recordCount - written);
|
|
245
|
+
const packet = decodeE57Packet(logical, view, offset, fields, entry.prototype, entry.recordCount - written, cartesianOffset);
|
|
215
246
|
if (packet.packetType !== 1) {
|
|
216
247
|
offset += packet.packetLength;
|
|
217
248
|
continue;
|
|
@@ -289,17 +320,21 @@ function writeColorChannel(view, start, field, colors, written, take, channelOff
|
|
|
289
320
|
* `axis` selects which of the three position slots to write to
|
|
290
321
|
* (0 = X, 1 = Y, 2 = Z).
|
|
291
322
|
*/
|
|
292
|
-
function readCartesianStream(bytes, view, field, start, positions, written, take, axis
|
|
323
|
+
function readCartesianStream(bytes, view, field, start, positions, written, take, axis,
|
|
324
|
+
/** Subtracted in f64 immediately before the narrowing write to
|
|
325
|
+
* `positions` (a Float32Array) — see `decodeE57Packet`'s originOffset
|
|
326
|
+
* doc. Defaults to 0, preserving prior behaviour byte-for-byte. */
|
|
327
|
+
axisOffset = 0) {
|
|
293
328
|
if (field.kind === 'Float') {
|
|
294
329
|
const stride = field.precision === 'single' ? 4 : 8;
|
|
295
330
|
if (stride === 4) {
|
|
296
331
|
for (let i = 0; i < take; i++) {
|
|
297
|
-
positions[(written + i) * 3 + axis] = view.getFloat32(start + i * stride, true);
|
|
332
|
+
positions[(written + i) * 3 + axis] = view.getFloat32(start + i * stride, true) - axisOffset;
|
|
298
333
|
}
|
|
299
334
|
}
|
|
300
335
|
else {
|
|
301
336
|
for (let i = 0; i < take; i++) {
|
|
302
|
-
positions[(written + i) * 3 + axis] = view.getFloat64(start + i * stride, true);
|
|
337
|
+
positions[(written + i) * 3 + axis] = view.getFloat64(start + i * stride, true) - axisOffset;
|
|
303
338
|
}
|
|
304
339
|
}
|
|
305
340
|
return;
|
|
@@ -313,7 +348,7 @@ function readCartesianStream(bytes, view, field, start, positions, written, take
|
|
|
313
348
|
const startBit = start * 8;
|
|
314
349
|
for (let i = 0; i < take; i++) {
|
|
315
350
|
const raw = readBitsLE(bytes, startBit + i * bitsPerRecord, bitsPerRecord);
|
|
316
|
-
positions[(written + i) * 3 + axis] = (raw + minimum) * scale + offset;
|
|
351
|
+
positions[(written + i) * 3 + axis] = (raw + minimum) * scale + offset - axisOffset;
|
|
317
352
|
}
|
|
318
353
|
}
|
|
319
354
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e57-decode.js","sourceRoot":"","sources":["../../src/formats/e57-decode.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"e57-decode.js","sourceRoot":"","sources":["../../src/formats/e57-decode.ts"],"names":[],"mappings":"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"}
|
package/dist/formats/e57.d.ts
CHANGED
|
@@ -25,7 +25,11 @@ import { type E57Pose } from './e57-xml.js';
|
|
|
25
25
|
* DecodedPointChunk (positions concatenated). Returns null when the
|
|
26
26
|
* file has no scans.
|
|
27
27
|
*/
|
|
28
|
-
export declare function decodeE57(bytes: Uint8Array
|
|
28
|
+
export declare function decodeE57(bytes: Uint8Array,
|
|
29
|
+
/** See `decodeE57Scan`'s `originOffset` param (extends #1804's LAS/LAZ
|
|
30
|
+
* pattern). Applied per-scan to cartesian (no pose) or pose translation
|
|
31
|
+
* (posed scan) — never both, see `applyPoseInPlace`. */
|
|
32
|
+
originOffset?: readonly [number, number, number]): DecodedPointChunk | null;
|
|
29
33
|
/**
|
|
30
34
|
* Apply a per-scan pose (rotation quaternion + translation) to a
|
|
31
35
|
* positions buffer in place: `out = R · in + T`.
|
|
@@ -34,7 +38,22 @@ export declare function decodeE57(bytes: Uint8Array): DecodedPointChunk | null;
|
|
|
34
38
|
* the 3×3 rotation matrix once and reuse across every point in the
|
|
35
39
|
* chunk. Translation is added after rotation.
|
|
36
40
|
*/
|
|
37
|
-
export declare function applyPoseInPlace(positions: Float32Array, pointCount: number, pose: E57Pose
|
|
41
|
+
export declare function applyPoseInPlace(positions: Float32Array, pointCount: number, pose: E57Pose,
|
|
42
|
+
/**
|
|
43
|
+
* Native (X, Y, Z)-axis offset subtracted from the pose's translation
|
|
44
|
+
* (in f64) before it's added to the rotated position and narrowed to
|
|
45
|
+
* f32 — extends #1804's LAS/LAZ `originOffset` pattern to E57's posed
|
|
46
|
+
* scans. `positions` is the scan's LOCAL frame (small values, already
|
|
47
|
+
* narrowed once by `decodeE57Packet` with NO offset applied — subtracting
|
|
48
|
+
* a global offset before rotation would incorrectly rotate it). The
|
|
49
|
+
* translation is what carries the scan into the file's (potentially
|
|
50
|
+
* survey-scale) global frame, so that's where the offset belongs:
|
|
51
|
+
* `global - offset = R * local + (T - offset)`, still computed in f64
|
|
52
|
+
* right up to the assignment below, so the residual written to the
|
|
53
|
+
* Float32Array stays small regardless of how large T is. `undefined`
|
|
54
|
+
* subtracts nothing, preserving prior behaviour byte-for-byte.
|
|
55
|
+
*/
|
|
56
|
+
originOffset?: readonly [number, number, number]): void;
|
|
38
57
|
export { parseE57FileHeader, stripPageCrc, resolveCompressedVectorDataOffset, type E57FileHeader, } from './e57-page.js';
|
|
39
58
|
export { parseE57Xml, type Data3DEntry, type E57Pose, } from './e57-xml.js';
|
|
40
59
|
export { decodeE57Scan } from './e57-decode.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e57.d.ts","sourceRoot":"","sources":["../../src/formats/e57.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMrD,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAKzD;;;;GAIG;AACH,wBAAgB,SAAS,
|
|
1
|
+
{"version":3,"file":"e57.d.ts","sourceRoot":"","sources":["../../src/formats/e57.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAMrD,OAAO,EAAe,KAAK,OAAO,EAAE,MAAM,cAAc,CAAC;AAKzD;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,KAAK,EAAE,UAAU;AACjB;;yDAEyD;AACzD,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/C,iBAAiB,GAAG,IAAI,CA0D1B;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,YAAY,EACvB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,OAAO;AACb;;;;;;;;;;;;;GAaG;AACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/C,IAAI,CAsBN;AAGD,OAAO,EACL,kBAAkB,EAClB,YAAY,EACZ,iCAAiC,EACjC,KAAK,aAAa,GACnB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,OAAO,GACb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
package/dist/formats/e57.js
CHANGED
|
@@ -10,7 +10,11 @@ const TEXT_DECODER = new TextDecoder();
|
|
|
10
10
|
* DecodedPointChunk (positions concatenated). Returns null when the
|
|
11
11
|
* file has no scans.
|
|
12
12
|
*/
|
|
13
|
-
export function decodeE57(bytes
|
|
13
|
+
export function decodeE57(bytes,
|
|
14
|
+
/** See `decodeE57Scan`'s `originOffset` param (extends #1804's LAS/LAZ
|
|
15
|
+
* pattern). Applied per-scan to cartesian (no pose) or pose translation
|
|
16
|
+
* (posed scan) — never both, see `applyPoseInPlace`. */
|
|
17
|
+
originOffset) {
|
|
14
18
|
const header = parseE57FileHeader(bytes);
|
|
15
19
|
const logical = stripPageCrc(bytes, header.pageSize);
|
|
16
20
|
const xmlBytes = logical.subarray(header.xmlLogicalOffset, header.xmlLogicalOffset + header.xmlLogicalLength);
|
|
@@ -27,9 +31,9 @@ export function decodeE57(bytes) {
|
|
|
27
31
|
// up correctly. Identity / absent poses are no-ops.
|
|
28
32
|
const chunks = entries.map((entry) => {
|
|
29
33
|
const dataLogicalOffset = resolveCompressedVectorDataOffset(logical, entry.binaryFileOffset, header.pageSize);
|
|
30
|
-
const chunk = decodeE57Scan(logical, { ...entry, binaryFileOffset: dataLogicalOffset });
|
|
34
|
+
const chunk = decodeE57Scan(logical, { ...entry, binaryFileOffset: dataLogicalOffset }, originOffset);
|
|
31
35
|
if (entry.pose) {
|
|
32
|
-
applyPoseInPlace(chunk.positions, chunk.pointCount, entry.pose);
|
|
36
|
+
applyPoseInPlace(chunk.positions, chunk.pointCount, entry.pose, originOffset);
|
|
33
37
|
chunk.bbox = computeBBox(chunk.positions);
|
|
34
38
|
}
|
|
35
39
|
return chunk;
|
|
@@ -77,11 +81,26 @@ export function decodeE57(bytes) {
|
|
|
77
81
|
* the 3×3 rotation matrix once and reuse across every point in the
|
|
78
82
|
* chunk. Translation is added after rotation.
|
|
79
83
|
*/
|
|
80
|
-
export function applyPoseInPlace(positions, pointCount, pose
|
|
84
|
+
export function applyPoseInPlace(positions, pointCount, pose,
|
|
85
|
+
/**
|
|
86
|
+
* Native (X, Y, Z)-axis offset subtracted from the pose's translation
|
|
87
|
+
* (in f64) before it's added to the rotated position and narrowed to
|
|
88
|
+
* f32 — extends #1804's LAS/LAZ `originOffset` pattern to E57's posed
|
|
89
|
+
* scans. `positions` is the scan's LOCAL frame (small values, already
|
|
90
|
+
* narrowed once by `decodeE57Packet` with NO offset applied — subtracting
|
|
91
|
+
* a global offset before rotation would incorrectly rotate it). The
|
|
92
|
+
* translation is what carries the scan into the file's (potentially
|
|
93
|
+
* survey-scale) global frame, so that's where the offset belongs:
|
|
94
|
+
* `global - offset = R * local + (T - offset)`, still computed in f64
|
|
95
|
+
* right up to the assignment below, so the residual written to the
|
|
96
|
+
* Float32Array stays small regardless of how large T is. `undefined`
|
|
97
|
+
* subtracts nothing, preserving prior behaviour byte-for-byte.
|
|
98
|
+
*/
|
|
99
|
+
originOffset) {
|
|
81
100
|
const { w, x, y, z } = pose.rotation;
|
|
82
|
-
const tx = pose.translation.x;
|
|
83
|
-
const ty = pose.translation.y;
|
|
84
|
-
const tz = pose.translation.z;
|
|
101
|
+
const tx = pose.translation.x - (originOffset?.[0] ?? 0);
|
|
102
|
+
const ty = pose.translation.y - (originOffset?.[1] ?? 0);
|
|
103
|
+
const tz = pose.translation.z - (originOffset?.[2] ?? 0);
|
|
85
104
|
const r00 = 1 - 2 * (y * y + z * z);
|
|
86
105
|
const r01 = 2 * (x * y - w * z);
|
|
87
106
|
const r02 = 2 * (x * z + w * y);
|
package/dist/formats/e57.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"e57.js","sourceRoot":"","sources":["../../src/formats/e57.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAwB/D,OAAO,EACL,kBAAkB,EAClB,iCAAiC,EACjC,YAAY,GACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,WAAW,EAAgB,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE7D,MAAM,YAAY,GAAG,IAAI,WAAW,EAAE,CAAC;AAEvC;;;;GAIG;AACH,MAAM,UAAU,SAAS,
|
|
1
|
+
{"version":3,"file":"e57.js","sourceRoot":"","sources":["../../src/formats/e57.ts"],"names":[],"mappings":"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"}
|
package/dist/formats/pcd.d.ts
CHANGED
|
@@ -1,3 +1,13 @@
|
|
|
1
1
|
import type { DecodedPointChunk } from '../types.js';
|
|
2
|
-
export declare function decodePcd(buffer: Uint8Array
|
|
2
|
+
export declare function decodePcd(buffer: Uint8Array,
|
|
3
|
+
/**
|
|
4
|
+
* Native (X, Y, Z)-axis offset subtracted from each decoded coordinate
|
|
5
|
+
* in f64, BEFORE narrowing to the `Float32Array` (extends #1804's
|
|
6
|
+
* LAS/LAZ pattern — see `decodeLasPoints`'s `originOffset` doc). Some
|
|
7
|
+
* PCD exports carry absolute survey/map coordinates at ~1e6-1e7 m
|
|
8
|
+
* magnitude, which quantise to sub-metre noise once narrowed to f32
|
|
9
|
+
* without this. `undefined` (the default) subtracts nothing, preserving
|
|
10
|
+
* prior behaviour byte-for-byte.
|
|
11
|
+
*/
|
|
12
|
+
originOffset?: readonly [number, number, number]): DecodedPointChunk;
|
|
3
13
|
//# sourceMappingURL=pcd.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pcd.d.ts","sourceRoot":"","sources":["../../src/formats/pcd.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,aAAa,CAAC;AAuBrE,wBAAgB,SAAS,
|
|
1
|
+
{"version":3,"file":"pcd.d.ts","sourceRoot":"","sources":["../../src/formats/pcd.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,aAAa,CAAC;AAuBrE,wBAAgB,SAAS,CACvB,MAAM,EAAE,UAAU;AAClB;;;;;;;;GAQG;AACH,YAAY,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAC/C,iBAAiB,CA6CnB"}
|