@loaders.gl/pcd 4.0.0-beta.1 → 4.0.0-beta.3
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/{dist.min.js → dist.dev.js} +92 -95
- package/dist/index.cjs +449 -0
- package/dist/{esm/index.js → index.js} +2 -2
- package/dist/index.js.map +1 -0
- package/dist/lib/decompress-lzf.js.map +1 -0
- package/dist/lib/get-pcd-schema.js.map +1 -0
- package/dist/{esm/lib → lib}/parse-pcd.js +3 -3
- package/dist/lib/parse-pcd.js.map +1 -0
- package/dist/lib/pcd-types.js.map +1 -0
- package/dist/{esm/pcd-loader.js → pcd-loader.js} +1 -1
- package/dist/pcd-loader.js.map +1 -0
- package/dist/pcd-worker.js +68 -15
- package/dist/{esm/workers → workers}/pcd-worker.js +1 -1
- package/dist/workers/pcd-worker.js.map +1 -0
- package/package.json +16 -8
- package/dist/bundle.d.ts +0 -2
- package/dist/bundle.d.ts.map +0 -1
- package/dist/es5/bundle.js +0 -6
- package/dist/es5/bundle.js.map +0 -1
- package/dist/es5/index.js +0 -42
- package/dist/es5/index.js.map +0 -1
- package/dist/es5/lib/decompress-lzf.js +0 -57
- package/dist/es5/lib/decompress-lzf.js.map +0 -1
- package/dist/es5/lib/get-pcd-schema.js +0 -54
- package/dist/es5/lib/get-pcd-schema.js.map +0 -1
- package/dist/es5/lib/parse-pcd.js +0 -299
- package/dist/es5/lib/parse-pcd.js.map +0 -1
- package/dist/es5/lib/pcd-types.js +0 -2
- package/dist/es5/lib/pcd-types.js.map +0 -1
- package/dist/es5/pcd-loader.js +0 -21
- package/dist/es5/pcd-loader.js.map +0 -1
- package/dist/es5/workers/pcd-worker.js +0 -6
- package/dist/es5/workers/pcd-worker.js.map +0 -1
- package/dist/esm/bundle.js +0 -4
- package/dist/esm/bundle.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/lib/decompress-lzf.js.map +0 -1
- package/dist/esm/lib/get-pcd-schema.js.map +0 -1
- package/dist/esm/lib/parse-pcd.js.map +0 -1
- package/dist/esm/lib/pcd-types.js.map +0 -1
- package/dist/esm/pcd-loader.js.map +0 -1
- package/dist/esm/workers/pcd-worker.js.map +0 -1
- package/src/bundle.ts +0 -4
- /package/dist/{esm/lib → lib}/decompress-lzf.js +0 -0
- /package/dist/{esm/lib → lib}/get-pcd-schema.js +0 -0
- /package/dist/{esm/lib → lib}/pcd-types.js +0 -0
|
@@ -1,17 +1,35 @@
|
|
|
1
|
-
(()
|
|
1
|
+
(function webpackUniversalModuleDefinition(root, factory) {
|
|
2
|
+
if (typeof exports === 'object' && typeof module === 'object')
|
|
3
|
+
module.exports = factory();
|
|
4
|
+
else if (typeof define === 'function' && define.amd) define([], factory);
|
|
5
|
+
else if (typeof exports === 'object') exports['loader'] = factory();
|
|
6
|
+
else root['loader'] = factory();})(globalThis, function () {
|
|
7
|
+
"use strict";
|
|
8
|
+
var __exports__ = (() => {
|
|
2
9
|
var __defProp = Object.defineProperty;
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
};
|
|
7
|
-
var __commonJS = (cb, mod) => function __require() {
|
|
8
|
-
return mod || (0, cb[Object.keys(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports;
|
|
9
|
-
};
|
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
10
13
|
var __export = (target, all) => {
|
|
11
|
-
__markAsModule(target);
|
|
12
14
|
for (var name in all)
|
|
13
15
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
14
16
|
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
|
|
27
|
+
// src/index.ts
|
|
28
|
+
var src_exports = {};
|
|
29
|
+
__export(src_exports, {
|
|
30
|
+
PCDLoader: () => PCDLoader2,
|
|
31
|
+
PCDWorkerLoader: () => PCDLoader
|
|
32
|
+
});
|
|
15
33
|
|
|
16
34
|
// ../schema/src/lib/mesh/mesh-utils.ts
|
|
17
35
|
function getMeshBoundingBox(attributes) {
|
|
@@ -34,22 +52,8 @@
|
|
|
34
52
|
maxY = y > maxY ? y : maxY;
|
|
35
53
|
maxZ = z > maxZ ? z : maxZ;
|
|
36
54
|
}
|
|
37
|
-
return [
|
|
38
|
-
[minX, minY, minZ],
|
|
39
|
-
[maxX, maxY, maxZ]
|
|
40
|
-
];
|
|
55
|
+
return [[minX, minY, minZ], [maxX, maxY, maxZ]];
|
|
41
56
|
}
|
|
42
|
-
var init_mesh_utils = __esm({
|
|
43
|
-
"../schema/src/lib/mesh/mesh-utils.ts"() {
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
|
|
47
|
-
// ../schema/src/index.ts
|
|
48
|
-
var init_src = __esm({
|
|
49
|
-
"../schema/src/index.ts"() {
|
|
50
|
-
init_mesh_utils();
|
|
51
|
-
}
|
|
52
|
-
});
|
|
53
57
|
|
|
54
58
|
// src/lib/decompress-lzf.ts
|
|
55
59
|
function decompressLZF(inData, outLength) {
|
|
@@ -102,10 +106,6 @@
|
|
|
102
106
|
} while (inPtr < inLength);
|
|
103
107
|
return outData;
|
|
104
108
|
}
|
|
105
|
-
var init_decompress_lzf = __esm({
|
|
106
|
-
"src/lib/decompress-lzf.ts"() {
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
109
|
|
|
110
110
|
// src/lib/get-pcd-schema.ts
|
|
111
111
|
function getPCDSchema(PCDheader, metadata) {
|
|
@@ -114,29 +114,50 @@
|
|
|
114
114
|
if (offset.x !== void 0) {
|
|
115
115
|
fields.push({
|
|
116
116
|
name: "POSITION",
|
|
117
|
-
type: {
|
|
117
|
+
type: {
|
|
118
|
+
type: "fixed-size-list",
|
|
119
|
+
listSize: 3,
|
|
120
|
+
children: [{
|
|
121
|
+
name: "xyz",
|
|
122
|
+
type: "float32"
|
|
123
|
+
}]
|
|
124
|
+
}
|
|
118
125
|
});
|
|
119
126
|
}
|
|
120
127
|
if (offset.normal_x !== void 0) {
|
|
121
128
|
fields.push({
|
|
122
129
|
name: "NORMAL",
|
|
123
|
-
type: {
|
|
130
|
+
type: {
|
|
131
|
+
type: "fixed-size-list",
|
|
132
|
+
listSize: 3,
|
|
133
|
+
children: [{
|
|
134
|
+
name: "xyz",
|
|
135
|
+
type: "float32"
|
|
136
|
+
}]
|
|
137
|
+
}
|
|
124
138
|
});
|
|
125
139
|
}
|
|
126
140
|
if (offset.rgb !== void 0) {
|
|
127
141
|
fields.push({
|
|
128
142
|
name: "COLOR_0",
|
|
129
|
-
type: {
|
|
143
|
+
type: {
|
|
144
|
+
type: "fixed-size-list",
|
|
145
|
+
listSize: 3,
|
|
146
|
+
children: [{
|
|
147
|
+
name: "rgb",
|
|
148
|
+
type: "uint8"
|
|
149
|
+
}]
|
|
150
|
+
}
|
|
130
151
|
});
|
|
131
152
|
}
|
|
132
|
-
return {
|
|
153
|
+
return {
|
|
154
|
+
fields,
|
|
155
|
+
metadata
|
|
156
|
+
};
|
|
133
157
|
}
|
|
134
|
-
var init_get_pcd_schema = __esm({
|
|
135
|
-
"src/lib/get-pcd-schema.ts"() {
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
158
|
|
|
139
159
|
// src/lib/parse-pcd.ts
|
|
160
|
+
var LITTLE_ENDIAN = true;
|
|
140
161
|
function parsePCD(data) {
|
|
141
162
|
const textData = new TextDecoder().decode(data);
|
|
142
163
|
const pcdHeader = parsePCDHeader(textData);
|
|
@@ -156,10 +177,7 @@
|
|
|
156
177
|
}
|
|
157
178
|
attributes = getMeshAttributes(attributes);
|
|
158
179
|
const header = getMeshHeader(pcdHeader, attributes);
|
|
159
|
-
const metadata = Object.fromEntries([
|
|
160
|
-
["mode", "0"],
|
|
161
|
-
["boundingBox", JSON.stringify(header.boundingBox)]
|
|
162
|
-
]);
|
|
180
|
+
const metadata = Object.fromEntries([["mode", "0"], ["boundingBox", JSON.stringify(header.boundingBox)]]);
|
|
163
181
|
const schema = getPCDSchema(pcdHeader, metadata);
|
|
164
182
|
return {
|
|
165
183
|
loader: "pcd",
|
|
@@ -167,6 +185,7 @@
|
|
|
167
185
|
header,
|
|
168
186
|
schema,
|
|
169
187
|
mode: 0,
|
|
188
|
+
// POINTS
|
|
170
189
|
topology: "point-list",
|
|
171
190
|
attributes
|
|
172
191
|
};
|
|
@@ -187,6 +206,7 @@
|
|
|
187
206
|
function getMeshAttributes(attributes) {
|
|
188
207
|
const normalizedAttributes = {
|
|
189
208
|
POSITION: {
|
|
209
|
+
// Binary PCD is only 32 bit
|
|
190
210
|
value: new Float32Array(attributes.position),
|
|
191
211
|
size: 3
|
|
192
212
|
}
|
|
@@ -326,7 +346,11 @@
|
|
|
326
346
|
}
|
|
327
347
|
}
|
|
328
348
|
}
|
|
329
|
-
return {
|
|
349
|
+
return {
|
|
350
|
+
position,
|
|
351
|
+
normal,
|
|
352
|
+
color
|
|
353
|
+
};
|
|
330
354
|
}
|
|
331
355
|
function parsePCDBinary(pcdHeader, data) {
|
|
332
356
|
const position = [];
|
|
@@ -359,7 +383,13 @@
|
|
|
359
383
|
label.push(dataview.getInt32(row + offset.label, LITTLE_ENDIAN));
|
|
360
384
|
}
|
|
361
385
|
}
|
|
362
|
-
return {
|
|
386
|
+
return {
|
|
387
|
+
position,
|
|
388
|
+
normal,
|
|
389
|
+
color,
|
|
390
|
+
intensity,
|
|
391
|
+
label
|
|
392
|
+
};
|
|
363
393
|
}
|
|
364
394
|
function parsePCDBinaryCompressed(pcdHeader, data) {
|
|
365
395
|
const position = [];
|
|
@@ -406,64 +436,29 @@
|
|
|
406
436
|
label
|
|
407
437
|
};
|
|
408
438
|
}
|
|
409
|
-
var LITTLE_ENDIAN;
|
|
410
|
-
var init_parse_pcd = __esm({
|
|
411
|
-
"src/lib/parse-pcd.ts"() {
|
|
412
|
-
init_src();
|
|
413
|
-
init_decompress_lzf();
|
|
414
|
-
init_get_pcd_schema();
|
|
415
|
-
LITTLE_ENDIAN = true;
|
|
416
|
-
}
|
|
417
|
-
});
|
|
418
439
|
|
|
419
440
|
// src/pcd-loader.ts
|
|
420
|
-
var VERSION
|
|
421
|
-
var
|
|
422
|
-
"
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
mimeTypes: ["text/plain"],
|
|
432
|
-
options: {
|
|
433
|
-
pcd: {}
|
|
434
|
-
}
|
|
435
|
-
};
|
|
441
|
+
var VERSION = typeof __VERSION__ !== "undefined" ? __VERSION__ : "latest";
|
|
442
|
+
var PCDLoader = {
|
|
443
|
+
name: "PCD (Point Cloud Data)",
|
|
444
|
+
id: "pcd",
|
|
445
|
+
module: "pcd",
|
|
446
|
+
version: VERSION,
|
|
447
|
+
worker: true,
|
|
448
|
+
extensions: ["pcd"],
|
|
449
|
+
mimeTypes: ["text/plain"],
|
|
450
|
+
options: {
|
|
451
|
+
pcd: {}
|
|
436
452
|
}
|
|
437
|
-
}
|
|
453
|
+
};
|
|
438
454
|
|
|
439
455
|
// src/index.ts
|
|
440
|
-
var
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
}
|
|
445
|
-
|
|
446
|
-
var init_src2 = __esm({
|
|
447
|
-
"src/index.ts"() {
|
|
448
|
-
init_parse_pcd();
|
|
449
|
-
init_pcd_loader();
|
|
450
|
-
PCDLoader2 = {
|
|
451
|
-
...PCDLoader,
|
|
452
|
-
parse: async (arrayBuffer) => parsePCD(arrayBuffer),
|
|
453
|
-
parseSync: parsePCD
|
|
454
|
-
};
|
|
455
|
-
}
|
|
456
|
-
});
|
|
457
|
-
|
|
458
|
-
// src/bundle.ts
|
|
459
|
-
var require_bundle = __commonJS({
|
|
460
|
-
"src/bundle.ts"(exports, module) {
|
|
461
|
-
var moduleExports = (init_src2(), src_exports);
|
|
462
|
-
globalThis.loaders = globalThis.loaders || {};
|
|
463
|
-
module.exports = Object.assign(globalThis.loaders, moduleExports);
|
|
464
|
-
}
|
|
465
|
-
});
|
|
466
|
-
require_bundle();
|
|
456
|
+
var PCDLoader2 = {
|
|
457
|
+
...PCDLoader,
|
|
458
|
+
parse: async (arrayBuffer) => parsePCD(arrayBuffer),
|
|
459
|
+
parseSync: parsePCD
|
|
460
|
+
};
|
|
461
|
+
return __toCommonJS(src_exports);
|
|
467
462
|
})();
|
|
468
463
|
/** Parse compressed PCD data in in binary_compressed form ( https://pointclouds.org/documentation/tutorials/pcd_file_format.html)
|
|
469
464
|
* from https://github.com/mrdoob/three.js/blob/master/examples/jsm/loaders/PCDLoader.js
|
|
@@ -472,3 +467,5 @@
|
|
|
472
467
|
* @param data
|
|
473
468
|
* @returns [attributes]
|
|
474
469
|
*/
|
|
470
|
+
return __exports__;
|
|
471
|
+
});
|