@loaders.gl/pointclouds 5.0.0-beta.1 → 5.0.0-beta.10
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/LAS-README.md +1 -1
- package/PCD-README.md +1 -1
- package/PLY-README.md +1 -1
- package/README.md +5 -1
- package/dist/dist.dev.js +3584 -2211
- package/dist/dist.min.js +20 -20
- package/dist/index.cjs +0 -6
- package/dist/index.cjs.map +2 -2
- package/dist/index.d.ts +3 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/las/bundled.cjs +0 -3
- package/dist/las/bundled.cjs.map +2 -2
- package/dist/las/bundled.d.ts +0 -1
- package/dist/las/bundled.d.ts.map +1 -1
- package/dist/las/bundled.js +0 -1
- package/dist/las/bundled.js.map +1 -1
- package/dist/las/index.cjs +0 -3
- package/dist/las/index.cjs.map +3 -3
- package/dist/las/index.d.ts +0 -2
- package/dist/las/index.d.ts.map +1 -1
- package/dist/las/index.js +0 -3
- package/dist/las/index.js.map +1 -1
- package/dist/las/las-copc-loader-types.cjs +1 -1
- package/dist/las/las-copc-loader-types.cjs.map +2 -2
- package/dist/las/las-copc-loader-types.d.ts +13 -9
- package/dist/las/las-copc-loader-types.d.ts.map +1 -1
- package/dist/las/las-copc-loader-types.js +1 -1
- package/dist/las/las-copc-loader-types.js.map +1 -1
- package/dist/las/las-copc-loader.cjs +8 -5
- package/dist/las/las-copc-loader.cjs.map +2 -2
- package/dist/las/las-copc-loader.d.ts +8 -6
- package/dist/las/las-copc-loader.d.ts.map +1 -1
- package/dist/las/las-copc-loader.js +11 -6
- package/dist/las/las-copc-loader.js.map +1 -1
- package/dist/las/las-loader-shared.cjs +4 -2
- package/dist/las/las-loader-shared.cjs.map +2 -2
- package/dist/las/las-loader-shared.d.ts +9 -7
- package/dist/las/las-loader-shared.d.ts.map +1 -1
- package/dist/las/las-loader-shared.js +4 -2
- package/dist/las/las-loader-shared.js.map +1 -1
- package/dist/las/las-loader-types.cjs +3 -6
- package/dist/las/las-loader-types.cjs.map +2 -2
- package/dist/las/las-loader-types.d.ts +18 -45
- package/dist/las/las-loader-types.d.ts.map +1 -1
- package/dist/las/las-loader-types.js +1 -3
- package/dist/las/las-loader-types.js.map +1 -1
- package/dist/las/las-loader.cjs +61 -13
- package/dist/las/las-loader.cjs.map +3 -3
- package/dist/las/las-loader.d.ts +51 -5
- package/dist/las/las-loader.d.ts.map +1 -1
- package/dist/las/las-loader.js +56 -6
- package/dist/las/las-loader.js.map +1 -1
- package/dist/las/las-writer.cjs +3 -3
- package/dist/las/las-writer.cjs.map +2 -2
- package/dist/las/las-writer.d.ts +4 -3
- package/dist/las/las-writer.d.ts.map +1 -1
- package/dist/las/las-writer.js +4 -6
- package/dist/las/las-writer.js.map +1 -1
- package/dist/las/laz-rs-loader-types.cjs +1 -1
- package/dist/las/laz-rs-loader-types.cjs.map +2 -2
- package/dist/las/laz-rs-loader-types.d.ts +13 -9
- package/dist/las/laz-rs-loader-types.d.ts.map +1 -1
- package/dist/las/laz-rs-loader-types.js +1 -1
- package/dist/las/laz-rs-loader-types.js.map +1 -1
- package/dist/las/laz-rs-loader.cjs +8 -5
- package/dist/las/laz-rs-loader.cjs.map +2 -2
- package/dist/las/laz-rs-loader.d.ts +8 -6
- package/dist/las/laz-rs-loader.d.ts.map +1 -1
- package/dist/las/laz-rs-loader.js +11 -6
- package/dist/las/laz-rs-loader.js.map +1 -1
- package/dist/las/lazperf-loader-types.cjs +1 -1
- package/dist/las/lazperf-loader-types.cjs.map +2 -2
- package/dist/las/lazperf-loader-types.d.ts +14 -10
- package/dist/las/lazperf-loader-types.d.ts.map +1 -1
- package/dist/las/lazperf-loader-types.js +1 -1
- package/dist/las/lazperf-loader-types.js.map +1 -1
- package/dist/las/lazperf-loader.cjs +9 -6
- package/dist/las/lazperf-loader.cjs.map +2 -2
- package/dist/las/lazperf-loader.d.ts +9 -7
- package/dist/las/lazperf-loader.d.ts.map +1 -1
- package/dist/las/lazperf-loader.js +12 -7
- package/dist/las/lazperf-loader.js.map +1 -1
- package/dist/las/lib/copc/parse-las.cjs +1 -1
- package/dist/las/lib/copc/parse-las.cjs.map +2 -2
- package/dist/las/lib/copc/parse-las.js +1 -1
- package/dist/las/lib/copc/parse-las.js.map +1 -1
- package/dist/las/lib/get-las-schema.cjs +5 -0
- package/dist/las/lib/get-las-schema.cjs.map +2 -2
- package/dist/las/lib/get-las-schema.d.ts.map +1 -1
- package/dist/las/lib/get-las-schema.js +6 -0
- package/dist/las/lib/get-las-schema.js.map +1 -1
- package/dist/las/lib/las-extra-bytes.cjs +6 -1
- package/dist/las/lib/las-extra-bytes.cjs.map +2 -2
- package/dist/las/lib/las-extra-bytes.d.ts.map +1 -1
- package/dist/las/lib/las-extra-bytes.js +6 -4
- package/dist/las/lib/las-extra-bytes.js.map +1 -1
- package/dist/las/lib/laz-perf/parse-las.cjs +9 -8
- package/dist/las/lib/laz-perf/parse-las.cjs.map +3 -3
- package/dist/las/lib/laz-perf/parse-las.js +9 -8
- package/dist/las/lib/laz-perf/parse-las.js.map +1 -1
- package/dist/las/lib/laz-rs-wasm/parse-las.cjs +9 -8
- package/dist/las/lib/laz-rs-wasm/parse-las.cjs.map +3 -3
- package/dist/las/lib/laz-rs-wasm/parse-las.js +9 -8
- package/dist/las/lib/laz-rs-wasm/parse-las.js.map +1 -1
- package/dist/las/lib/typescript/parse-las.cjs +135 -13
- package/dist/las/lib/typescript/parse-las.cjs.map +3 -3
- package/dist/las/lib/typescript/parse-las.d.ts.map +1 -1
- package/dist/las/lib/typescript/parse-las.js +106 -10
- package/dist/las/lib/typescript/parse-las.js.map +1 -1
- package/dist/las/unbundled.cjs +0 -2
- package/dist/las/unbundled.cjs.map +2 -2
- package/dist/las/unbundled.d.ts +1 -1
- package/dist/las/unbundled.d.ts.map +1 -1
- package/dist/las/unbundled.js +1 -1
- package/dist/las/unbundled.js.map +1 -1
- package/dist/las/workers/las-worker.cjs +5 -5
- package/dist/las/workers/las-worker.cjs.map +2 -2
- package/dist/las/workers/las-worker.js +6 -6
- package/dist/las/workers/las-worker.js.map +1 -1
- package/dist/las-copc-loader-types.cjs +51 -0
- package/dist/las-copc-loader-types.cjs.map +7 -0
- package/dist/las-copc-loader-types.d.ts +2 -0
- package/dist/las-copc-loader-types.d.ts.map +1 -0
- package/dist/las-copc-loader-types.js +2 -0
- package/dist/las-copc-loader-types.js.map +1 -0
- package/dist/las-copc-loader.cjs +62 -0
- package/dist/las-copc-loader.cjs.map +7 -0
- package/dist/las-copc-loader.d.ts +2 -0
- package/dist/las-copc-loader.d.ts.map +1 -0
- package/dist/las-copc-loader.js +2 -0
- package/dist/las-copc-loader.js.map +1 -0
- package/dist/las-loader-types.cjs +53 -0
- package/dist/las-loader-types.cjs.map +7 -0
- package/dist/las-loader-types.d.ts +2 -0
- package/dist/las-loader-types.d.ts.map +1 -0
- package/dist/las-loader-types.js +2 -0
- package/dist/las-loader-types.js.map +1 -0
- package/dist/las-loader.cjs +130 -0
- package/dist/las-loader.cjs.map +7 -0
- package/dist/las-loader.d.ts +2 -0
- package/dist/las-loader.d.ts.map +1 -0
- package/dist/las-loader.js +2 -0
- package/dist/las-loader.js.map +1 -0
- package/dist/las-worker.js +1219 -253
- package/dist/las-writer.cjs +1056 -0
- package/dist/las-writer.cjs.map +7 -0
- package/dist/las-writer.d.ts +2 -0
- package/dist/las-writer.d.ts.map +1 -0
- package/dist/las-writer.js +2 -0
- package/dist/las-writer.js.map +1 -0
- package/dist/laz-rs-loader-types.cjs +51 -0
- package/dist/laz-rs-loader-types.cjs.map +7 -0
- package/dist/laz-rs-loader-types.d.ts +2 -0
- package/dist/laz-rs-loader-types.d.ts.map +1 -0
- package/dist/laz-rs-loader-types.js +2 -0
- package/dist/laz-rs-loader-types.js.map +1 -0
- package/dist/laz-rs-loader.cjs +277 -0
- package/dist/laz-rs-loader.cjs.map +7 -0
- package/dist/laz-rs-loader.d.ts +2 -0
- package/dist/laz-rs-loader.d.ts.map +1 -0
- package/dist/laz-rs-loader.js +2 -0
- package/dist/laz-rs-loader.js.map +1 -0
- package/dist/lazperf-loader-types.cjs +51 -0
- package/dist/lazperf-loader-types.cjs.map +7 -0
- package/dist/lazperf-loader-types.d.ts +2 -0
- package/dist/lazperf-loader-types.d.ts.map +1 -0
- package/dist/lazperf-loader-types.js +2 -0
- package/dist/lazperf-loader-types.js.map +1 -0
- package/dist/lazperf-loader.cjs +65 -0
- package/dist/lazperf-loader.cjs.map +7 -0
- package/dist/lazperf-loader.d.ts +2 -0
- package/dist/lazperf-loader.d.ts.map +1 -0
- package/dist/lazperf-loader.js +2 -0
- package/dist/lazperf-loader.js.map +1 -0
- package/dist/pcd/bundled.cjs +2 -4
- package/dist/pcd/bundled.cjs.map +2 -2
- package/dist/pcd/bundled.d.ts +1 -1
- package/dist/pcd/bundled.d.ts.map +1 -1
- package/dist/pcd/bundled.js +1 -1
- package/dist/pcd/bundled.js.map +1 -1
- package/dist/pcd/index.cjs +0 -3
- package/dist/pcd/index.cjs.map +3 -3
- package/dist/pcd/index.d.ts +0 -2
- package/dist/pcd/index.d.ts.map +1 -1
- package/dist/pcd/index.js +0 -3
- package/dist/pcd/index.js.map +1 -1
- package/dist/pcd/pcd-loader-types.cjs +9 -10
- package/dist/pcd/pcd-loader-types.cjs.map +2 -2
- package/dist/pcd/pcd-loader-types.d.ts +18 -41
- package/dist/pcd/pcd-loader-types.d.ts.map +1 -1
- package/dist/pcd/pcd-loader-types.js +6 -6
- package/dist/pcd/pcd-loader-types.js.map +1 -1
- package/dist/pcd/pcd-loader.cjs +82 -25
- package/dist/pcd/pcd-loader.cjs.map +3 -3
- package/dist/pcd/pcd-loader.d.ts +42 -6
- package/dist/pcd/pcd-loader.d.ts.map +1 -1
- package/dist/pcd/pcd-loader.js +72 -21
- package/dist/pcd/pcd-loader.js.map +1 -1
- package/dist/pcd/pcd-writer.cjs +3 -3
- package/dist/pcd/pcd-writer.cjs.map +2 -2
- package/dist/pcd/pcd-writer.d.ts +5 -4
- package/dist/pcd/pcd-writer.d.ts.map +1 -1
- package/dist/pcd/pcd-writer.js +4 -4
- package/dist/pcd/pcd-writer.js.map +1 -1
- package/dist/pcd/unbundled.cjs +2 -4
- package/dist/pcd/unbundled.cjs.map +2 -2
- package/dist/pcd/unbundled.d.ts +1 -1
- package/dist/pcd/unbundled.d.ts.map +1 -1
- package/dist/pcd/unbundled.js +1 -1
- package/dist/pcd/unbundled.js.map +1 -1
- package/dist/pcd/workers/pcd-worker.cjs +5 -5
- package/dist/pcd/workers/pcd-worker.cjs.map +2 -2
- package/dist/pcd/workers/pcd-worker.js +6 -6
- package/dist/pcd/workers/pcd-worker.js.map +1 -1
- package/dist/pcd-loader-types.cjs +65 -0
- package/dist/pcd-loader-types.cjs.map +7 -0
- package/dist/pcd-loader-types.d.ts +2 -0
- package/dist/pcd-loader-types.d.ts.map +1 -0
- package/dist/pcd-loader-types.js +2 -0
- package/dist/pcd-loader-types.js.map +1 -0
- package/dist/pcd-loader.cjs +203 -0
- package/dist/pcd-loader.cjs.map +7 -0
- package/dist/pcd-loader.d.ts +2 -0
- package/dist/pcd-loader.d.ts.map +1 -0
- package/dist/pcd-loader.js +2 -0
- package/dist/pcd-loader.js.map +1 -0
- package/dist/pcd-worker.js +1457 -418
- package/dist/pcd-writer.cjs +136 -0
- package/dist/pcd-writer.cjs.map +7 -0
- package/dist/pcd-writer.d.ts +2 -0
- package/dist/pcd-writer.d.ts.map +1 -0
- package/dist/pcd-writer.js +2 -0
- package/dist/pcd-writer.js.map +1 -0
- package/dist/ply/bundled.cjs +2 -4
- package/dist/ply/bundled.cjs.map +2 -2
- package/dist/ply/bundled.d.ts +1 -1
- package/dist/ply/bundled.d.ts.map +1 -1
- package/dist/ply/bundled.js +1 -1
- package/dist/ply/bundled.js.map +1 -1
- package/dist/ply/index.cjs +0 -3
- package/dist/ply/index.cjs.map +3 -3
- package/dist/ply/index.d.ts +0 -2
- package/dist/ply/index.d.ts.map +1 -1
- package/dist/ply/index.js +0 -3
- package/dist/ply/index.js.map +1 -1
- package/dist/ply/lib/get-ply-schema.cjs +4 -2
- package/dist/ply/lib/get-ply-schema.cjs.map +2 -2
- package/dist/ply/lib/get-ply-schema.d.ts +6 -0
- package/dist/ply/lib/get-ply-schema.d.ts.map +1 -1
- package/dist/ply/lib/get-ply-schema.js +1 -1
- package/dist/ply/lib/get-ply-schema.js.map +1 -1
- package/dist/ply/lib/parse-ply-arrow.cjs +1 -1
- package/dist/ply/lib/parse-ply-arrow.cjs.map +2 -2
- package/dist/ply/lib/parse-ply-arrow.js +2 -2
- package/dist/ply/lib/parse-ply-arrow.js.map +1 -1
- package/dist/ply/lib/parse-ply-in-batches.cjs +14 -8
- package/dist/ply/lib/parse-ply-in-batches.cjs.map +3 -3
- package/dist/ply/lib/parse-ply-in-batches.d.ts.map +1 -1
- package/dist/ply/lib/parse-ply-in-batches.js +9 -4
- package/dist/ply/lib/parse-ply-in-batches.js.map +1 -1
- package/dist/ply/lib/parse-ply.cjs +3 -0
- package/dist/ply/lib/parse-ply.cjs.map +2 -2
- package/dist/ply/lib/parse-ply.d.ts +1 -1
- package/dist/ply/lib/parse-ply.d.ts.map +1 -1
- package/dist/ply/lib/parse-ply.js +4 -0
- package/dist/ply/lib/parse-ply.js.map +1 -1
- package/dist/ply/ply-loader-types.cjs +9 -10
- package/dist/ply/ply-loader-types.cjs.map +2 -2
- package/dist/ply/ply-loader-types.d.ts +19 -42
- package/dist/ply/ply-loader-types.d.ts.map +1 -1
- package/dist/ply/ply-loader-types.js +6 -6
- package/dist/ply/ply-loader-types.js.map +1 -1
- package/dist/ply/ply-loader.cjs +82 -24
- package/dist/ply/ply-loader.cjs.map +3 -3
- package/dist/ply/ply-loader.d.ts +43 -6
- package/dist/ply/ply-loader.d.ts.map +1 -1
- package/dist/ply/ply-loader.js +71 -19
- package/dist/ply/ply-loader.js.map +1 -1
- package/dist/ply/ply-writer.cjs +3 -3
- package/dist/ply/ply-writer.cjs.map +2 -2
- package/dist/ply/ply-writer.d.ts +5 -4
- package/dist/ply/ply-writer.d.ts.map +1 -1
- package/dist/ply/ply-writer.js +4 -4
- package/dist/ply/ply-writer.js.map +1 -1
- package/dist/ply/unbundled.cjs +2 -4
- package/dist/ply/unbundled.cjs.map +2 -2
- package/dist/ply/unbundled.d.ts +1 -1
- package/dist/ply/unbundled.d.ts.map +1 -1
- package/dist/ply/unbundled.js +1 -1
- package/dist/ply/unbundled.js.map +1 -1
- package/dist/ply/workers/ply-worker.cjs +6 -6
- package/dist/ply/workers/ply-worker.cjs.map +2 -2
- package/dist/ply/workers/ply-worker.js +8 -8
- package/dist/ply/workers/ply-worker.js.map +1 -1
- package/dist/ply-loader-types.cjs +66 -0
- package/dist/ply-loader-types.cjs.map +7 -0
- package/dist/ply-loader-types.d.ts +2 -0
- package/dist/ply-loader-types.d.ts.map +1 -0
- package/dist/ply-loader-types.js +2 -0
- package/dist/ply-loader-types.js.map +1 -0
- package/dist/ply-loader.cjs +194 -0
- package/dist/ply-loader.cjs.map +7 -0
- package/dist/ply-loader.d.ts +2 -0
- package/dist/ply-loader.d.ts.map +1 -0
- package/dist/ply-loader.js +2 -0
- package/dist/ply-loader.js.map +1 -0
- package/dist/ply-worker.js +2099 -312
- package/dist/ply-writer.cjs +177 -0
- package/dist/ply-writer.cjs.map +7 -0
- package/dist/ply-writer.d.ts +2 -0
- package/dist/ply-writer.d.ts.map +1 -0
- package/dist/ply-writer.js +2 -0
- package/dist/ply-writer.js.map +1 -0
- package/package.json +75 -71
- package/src/index.ts +3 -3
- package/src/las/bundled.ts +0 -1
- package/src/las/index.ts +0 -4
- package/src/las/las-copc-loader-types.ts +3 -3
- package/src/las/las-copc-loader.ts +12 -12
- package/src/las/las-loader-shared.ts +9 -7
- package/src/las/las-loader-types.ts +3 -6
- package/src/las/las-loader.ts +63 -9
- package/src/las/las-writer.ts +17 -13
- package/src/las/laz-rs-loader-types.ts +3 -3
- package/src/las/laz-rs-loader.ts +11 -11
- package/src/las/lazperf-loader-types.ts +3 -3
- package/src/las/lazperf-loader.ts +13 -13
- package/src/las/lib/copc/parse-las.ts +1 -1
- package/src/las/lib/get-las-schema.ts +5 -0
- package/src/las/lib/las-extra-bytes.ts +6 -4
- package/src/las/lib/laz-perf/parse-las.ts +8 -9
- package/src/las/lib/laz-rs-wasm/parse-las.ts +8 -9
- package/src/las/lib/typescript/parse-las.ts +143 -11
- package/src/las/libs/laz-rs-wasm/README.md +5 -0
- package/src/las/libs/laz-rs-wasm/package.json +6 -0
- package/src/las/unbundled.ts +1 -1
- package/src/las/workers/las-worker.ts +6 -6
- package/src/las-copc-loader-types.ts +1 -0
- package/src/las-copc-loader.ts +1 -0
- package/src/las-loader-types.ts +1 -0
- package/src/las-loader.ts +1 -0
- package/src/las-writer.ts +1 -0
- package/src/laz-rs-loader-types.ts +1 -0
- package/src/laz-rs-loader.ts +1 -0
- package/src/lazperf-loader-types.ts +1 -0
- package/src/lazperf-loader.ts +1 -0
- package/src/pcd/bundled.ts +1 -4
- package/src/pcd/index.ts +0 -4
- package/src/pcd/pcd-loader-types.ts +10 -11
- package/src/pcd/pcd-loader.ts +97 -29
- package/src/pcd/pcd-writer.ts +12 -8
- package/src/pcd/unbundled.ts +1 -1
- package/src/pcd/workers/pcd-worker.ts +6 -6
- package/src/pcd-loader-types.ts +1 -0
- package/src/pcd-loader.ts +1 -0
- package/src/pcd-writer.ts +1 -0
- package/src/ply/bundled.ts +1 -4
- package/src/ply/index.ts +0 -4
- package/src/ply/lib/get-ply-schema.ts +1 -1
- package/src/ply/lib/parse-ply-arrow.ts +2 -2
- package/src/ply/lib/parse-ply-in-batches.ts +9 -4
- package/src/ply/lib/parse-ply.ts +4 -1
- package/src/ply/ply-loader-types.ts +10 -11
- package/src/ply/ply-loader.ts +94 -24
- package/src/ply/ply-writer.ts +12 -8
- package/src/ply/unbundled.ts +1 -1
- package/src/ply/workers/ply-worker.ts +8 -8
- package/src/ply-loader-types.ts +1 -0
- package/src/ply-loader.ts +1 -0
- package/src/ply-writer.ts +1 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-ply-arrow.js","sourceRoot":"","sources":["../../../src/ply/lib/parse-ply-arrow.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-ply-arrow.js","sourceRoot":"","sources":["../../../src/ply/lib/parse-ply-arrow.ts"],"names":[],"mappings":"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"}
|
|
@@ -34,17 +34,20 @@ __export(parse_ply_in_batches_exports, {
|
|
|
34
34
|
});
|
|
35
35
|
module.exports = __toCommonJS(parse_ply_in_batches_exports);
|
|
36
36
|
var import_loader_utils = require("@loaders.gl/core/loader-utils");
|
|
37
|
+
var import_loader_utils2 = require("@loaders.gl/core/loader-utils");
|
|
38
|
+
var import_schema_utils = require("@loaders.gl/core/schema-utils");
|
|
39
|
+
var import_get_ply_schema = require("./get-ply-schema.cjs");
|
|
37
40
|
var import_normalize_ply = __toESM(require("./normalize-ply.cjs"), 1);
|
|
38
41
|
var import_parse_ply = require("./parse-ply.cjs");
|
|
39
42
|
var import_parse_ply_arrow = require("./parse-ply-arrow.cjs");
|
|
40
43
|
var DEFAULT_BINARY_BATCH_SIZE = 65536;
|
|
41
44
|
var PLY_END_HEADER = "end_header";
|
|
42
45
|
async function* parsePLYInBatches(iterator, options) {
|
|
43
|
-
if (options?.shape === "arrow
|
|
46
|
+
if (options?.shape === "arrow") {
|
|
44
47
|
yield* parseBinaryPLYToArrowInBatches(iterator, options);
|
|
45
48
|
return;
|
|
46
49
|
}
|
|
47
|
-
const lineIterator = (0,
|
|
50
|
+
const lineIterator = (0, import_loader_utils2.makeLineIterator)((0, import_loader_utils2.makeTextDecoderIterator)((0, import_loader_utils2.toArrayBufferIterator)(iterator)));
|
|
48
51
|
const header = await parseASCIIHeader(lineIterator, options);
|
|
49
52
|
let attributes;
|
|
50
53
|
switch (header.format) {
|
|
@@ -57,7 +60,7 @@ async function* parsePLYInBatches(iterator, options) {
|
|
|
57
60
|
yield (0, import_normalize_ply.default)(header, attributes, options);
|
|
58
61
|
}
|
|
59
62
|
async function* parseBinaryPLYToArrowInBatches(iterator, options) {
|
|
60
|
-
const byteIterator = (0,
|
|
63
|
+
const byteIterator = (0, import_loader_utils2.toArrayBufferIterator)(iterator)[Symbol.asyncIterator]();
|
|
61
64
|
const { header, initialBodyBytes } = await readPLYHeader(byteIterator, options);
|
|
62
65
|
let tables;
|
|
63
66
|
if (header.format === "ascii") {
|
|
@@ -77,7 +80,10 @@ async function* parseBinaryPLYToArrowInBatches(iterator, options) {
|
|
|
77
80
|
);
|
|
78
81
|
}
|
|
79
82
|
for await (const table of tables) {
|
|
80
|
-
yield {
|
|
83
|
+
yield {
|
|
84
|
+
...(0, import_schema_utils.updateArrowTableMetadata)(table, (0, import_get_ply_schema.makeMetadataFromPlyHeader)(header)),
|
|
85
|
+
loaderData: header
|
|
86
|
+
};
|
|
81
87
|
}
|
|
82
88
|
}
|
|
83
89
|
async function* parseBinaryFixedWidthVertexPLYToArrowInBatches(byteIterator, header, initialBodyBytes, options) {
|
|
@@ -131,8 +137,8 @@ async function* parseBinaryFixedWidthVertexPLYToArrowInBatches(byteIterator, hea
|
|
|
131
137
|
async function* parseASCIIPLYToArrowInBatches(byteIterator, header, initialBodyBytes, options) {
|
|
132
138
|
const vertexElement = getVertexElement(header, options);
|
|
133
139
|
const batchSize = getBatchSize(options);
|
|
134
|
-
const lineIterator = (0,
|
|
135
|
-
(0,
|
|
140
|
+
const lineIterator = (0, import_loader_utils2.makeLineIterator)(
|
|
141
|
+
(0, import_loader_utils2.makeTextDecoderIterator)(getByteIteratorWithInitialBytes(byteIterator, initialBodyBytes))
|
|
136
142
|
);
|
|
137
143
|
let batchLines = [];
|
|
138
144
|
let remainingVertices = vertexElement.count;
|
|
@@ -446,7 +452,7 @@ async function parseASCIIHeader(lineIterator, options) {
|
|
|
446
452
|
elements: []
|
|
447
453
|
// headerLength
|
|
448
454
|
};
|
|
449
|
-
await (0,
|
|
455
|
+
await (0, import_loader_utils2.forEach)(lineIterator, (line) => {
|
|
450
456
|
line = line.trim();
|
|
451
457
|
if (line === "end_header") {
|
|
452
458
|
return true;
|
|
@@ -482,7 +488,7 @@ async function parseASCIIHeader(lineIterator, options) {
|
|
|
482
488
|
currentElement?.properties.push(property);
|
|
483
489
|
break;
|
|
484
490
|
default:
|
|
485
|
-
|
|
491
|
+
import_loader_utils.log.log(0, "unhandled", lineType, lineValues)();
|
|
486
492
|
}
|
|
487
493
|
return false;
|
|
488
494
|
});
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/ply/lib/parse-ply-in-batches.ts"],
|
|
4
|
-
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// PLY Loader, adapted from THREE.js (MIT license)\n//\n// Attributions per original THREE.js source file:\n//\n// @author Wei Meng / http://about.me/menway\n//\n// Description: A loader for PLY ASCII files (known as the Polygon File Format\n// or the Stanford Triangle Format).\n//\n// Limitations: ASCII decoding assumes file is UTF-8.\n//\n// If the PLY file uses non standard property names, they can be mapped while\n// loading. For example, the following maps the properties\n// \u201Cdiffuse_(red|green|blue)\u201D in the file to standard color names.\n//\n// parsePLY(data, {\n// propertyNameMapping: {\n// diffuse_red: 'red',\n// diffuse_green: 'green',\n// diffuse_blue: 'blue'\n// }\n// });\n\nimport {\n makeLineIterator,\n makeTextDecoderIterator,\n forEach,\n toArrayBufferIterator\n} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport normalizePLY from './normalize-ply';\nimport {PLYMesh, PLYHeader, PLYElement, PLYProperty, PLYAttributes} from './ply-types';\nimport {\n getPLYBinaryPointCloudParsePlan,\n parsePLYBinaryPointCloudRecordsToArrowTable,\n parsePLYHeader,\n type PLYBinaryPointCloudParsePlan\n} from './parse-ply';\nimport {convertPLYElementTablesToMeshArrowTable, parsePLYToElementTables} from './parse-ply-arrow';\n\ntype MutablePLYAttributes = {[index: string]: number[]};\ntype ByteArray = Uint8Array<ArrayBufferLike>;\nconst DEFAULT_BINARY_BATCH_SIZE = 65536;\nconst PLY_END_HEADER = 'end_header';\n\n/**\n * PARSER\n * @param iterator\n * @param options\n */\nexport async function* parsePLYInBatches(\n iterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options: any\n): AsyncIterable<PLYMesh | MeshArrowTable> {\n if (options?.shape === 'arrow-table') {\n yield* parseBinaryPLYToArrowInBatches(iterator, options);\n return;\n }\n\n const lineIterator = makeLineIterator(makeTextDecoderIterator(toArrayBufferIterator(iterator)));\n const header = await parseASCIIHeader(lineIterator, options);\n\n let attributes: PLYAttributes;\n switch (header.format) {\n case 'ascii':\n attributes = await parseASCII(lineIterator, header);\n break;\n default:\n throw new Error('Binary PLY can not yet be parsed in streaming mode');\n // attributes = await parseBinary(lineIterator, header);\n }\n\n yield normalizePLY(header, attributes, options);\n}\n\n/** Parse PLY vertices into Arrow table batches. */\nasync function* parseBinaryPLYToArrowInBatches(\n iterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options: any\n): AsyncIterable<MeshArrowTable> {\n const byteIterator = toArrayBufferIterator(iterator)[Symbol.asyncIterator]();\n const {header, initialBodyBytes} = await readPLYHeader(byteIterator, options);\n let tables: AsyncIterable<MeshArrowTable>;\n if (header.format === 'ascii') {\n tables = parseASCIIPLYToArrowInBatches(byteIterator, header, initialBodyBytes, options);\n } else {\n const vertexElement = getVertexElement(header, options);\n tables = vertexElement.properties.some(property => property.type === 'list')\n ? parseBinaryVariableWidthVertexPLYToArrowInBatches(\n byteIterator,\n header,\n initialBodyBytes,\n options\n )\n : parseBinaryFixedWidthVertexPLYToArrowInBatches(\n byteIterator,\n header,\n initialBodyBytes,\n options\n );\n }\n for await (const table of tables) {\n yield {...table, loaderData: header} as MeshArrowTable;\n }\n}\n\n/** Parse fixed-width binary PLY vertices into Arrow table batches. */\nasync function* parseBinaryFixedWidthVertexPLYToArrowInBatches(\n byteIterator: AsyncIterator<ArrayBufferLike>,\n header: PLYHeader,\n initialBodyBytes: ByteArray,\n options: any\n): AsyncIterable<MeshArrowTable> {\n const vertexElement = getFixedWidthVertexElement(header, options);\n const batchSize = getBatchSize(options);\n const vertexStride = getPLYElementSize(vertexElement);\n const parsePlan = getPLYBinaryPointCloudParsePlan(header, options);\n let remainingVertices = vertexElement.count;\n let pendingBytes = initialBodyBytes;\n\n while (true) {\n while (remainingVertices > 0 && Math.floor(pendingBytes.length / vertexStride) >= batchSize) {\n const batchVertexCount = Math.min(batchSize, remainingVertices);\n const batch = makeBinaryPLYArrowBatch(\n header,\n pendingBytes,\n batchVertexCount,\n vertexStride,\n options,\n parsePlan\n );\n pendingBytes = pendingBytes.subarray(batchVertexCount * vertexStride);\n remainingVertices -= batchVertexCount;\n yield batch;\n }\n\n if (options?.pointCloud && remainingVertices <= 0) {\n return;\n }\n\n const {value: chunk, done} = await byteIterator.next();\n if (done) {\n break;\n }\n pendingBytes = concatenateBytes([pendingBytes, getUint8Array(chunk)]);\n }\n\n if (remainingVertices > 0) {\n const batchVertexCount = Math.min(\n remainingVertices,\n Math.floor(pendingBytes.length / vertexStride)\n );\n if (batchVertexCount > 0) {\n yield makeBinaryPLYArrowBatch(\n header,\n pendingBytes,\n batchVertexCount,\n vertexStride,\n options,\n parsePlan\n );\n }\n }\n}\n\n/** Parse ASCII vertex PLY rows into Arrow table batches. */\nasync function* parseASCIIPLYToArrowInBatches(\n byteIterator: AsyncIterator<ArrayBufferLike>,\n header: PLYHeader,\n initialBodyBytes: ByteArray,\n options: any\n): AsyncIterable<MeshArrowTable> {\n const vertexElement = getVertexElement(header, options);\n const batchSize = getBatchSize(options);\n const lineIterator = makeLineIterator(\n makeTextDecoderIterator(getByteIteratorWithInitialBytes(byteIterator, initialBodyBytes))\n );\n let batchLines: string[] = [];\n let remainingVertices = vertexElement.count;\n\n for await (const sourceLine of lineIterator) {\n const line = sourceLine.trim();\n if (line === '') {\n continue;\n }\n batchLines.push(line);\n remainingVertices--;\n if (batchLines.length >= batchSize) {\n yield makeASCIIPLYArrowBatch(header, batchLines, options);\n batchLines = [];\n }\n if (remainingVertices <= 0) {\n break;\n }\n }\n\n if (batchLines.length > 0) {\n yield makeASCIIPLYArrowBatch(header, batchLines, options);\n }\n}\n\n/** Parse variable-width binary vertex rows into Arrow table batches. */\nasync function* parseBinaryVariableWidthVertexPLYToArrowInBatches(\n byteIterator: AsyncIterator<ArrayBufferLike>,\n header: PLYHeader,\n initialBodyBytes: ByteArray,\n options: any\n): AsyncIterable<MeshArrowTable> {\n const vertexElement = getVertexElement(header, options);\n const batchSize = getBatchSize(options);\n const littleEndian = header.format !== 'binary_big_endian';\n let remainingVertices = vertexElement.count;\n let pendingBytes = initialBodyBytes;\n let batchBytes: ByteArray[] = [];\n let batchByteLength = 0;\n let batchRowCount = 0;\n\n while (remainingVertices > 0) {\n const rowByteLength = getBinaryElementRowByteLength(pendingBytes, vertexElement, littleEndian);\n if (rowByteLength === null) {\n const {value: chunk, done} = await byteIterator.next();\n if (done) {\n break;\n }\n pendingBytes = concatenateBytes([pendingBytes, getUint8Array(chunk)]);\n continue;\n }\n\n const rowBytes = pendingBytes.subarray(0, rowByteLength);\n batchBytes.push(rowBytes);\n batchByteLength += rowByteLength;\n batchRowCount++;\n remainingVertices--;\n pendingBytes = pendingBytes.subarray(rowByteLength);\n\n if (batchRowCount >= batchSize) {\n yield makeBinaryPLYArrowBatchFromRows(\n header,\n batchBytes,\n batchByteLength,\n batchRowCount,\n options\n );\n batchBytes = [];\n batchByteLength = 0;\n batchRowCount = 0;\n }\n }\n\n if (batchRowCount > 0) {\n yield makeBinaryPLYArrowBatchFromRows(\n header,\n batchBytes,\n batchByteLength,\n batchRowCount,\n options\n );\n }\n}\n\n/** Read and parse the PLY header from the byte stream. */\nasync function readPLYHeader(\n iterator: AsyncIterator<ArrayBufferLike>,\n options: any\n): Promise<{header: PLYHeader; initialBodyBytes: ByteArray}> {\n let headerBytes: ByteArray = new Uint8Array(0);\n\n while (true) {\n const {value, done} = await iterator.next();\n if (done) {\n throw new Error('Incomplete PLY header');\n }\n\n headerBytes = concatenateBytes([headerBytes, getUint8Array(value)]);\n const headerEnd = findHeaderEnd(headerBytes);\n if (headerEnd === -1) {\n continue;\n }\n\n const header = parsePLYHeader(getArrayBuffer(headerBytes.subarray(0, headerEnd)), options);\n return {header, initialBodyBytes: headerBytes.subarray(headerEnd)};\n }\n}\n\n/** Return the vertex element, or throw for unsupported Arrow batches. */\nfunction getVertexElement(header: PLYHeader, options: any): PLYElement {\n const vertexElement = header.elements[0];\n if ((!options?.pointCloud && header.elements.length !== 1) || vertexElement?.name !== 'vertex') {\n throw new Error('PLY arrow-table batch parsing requires one vertex element');\n }\n return vertexElement;\n}\n\n/** Return the fixed-width vertex element, or throw for unsupported binary batches. */\nfunction getFixedWidthVertexElement(header: PLYHeader, options: any): PLYElement {\n const vertexElement = header.elements[0];\n if (\n (!options?.pointCloud && header.elements.length !== 1) ||\n vertexElement?.name !== 'vertex' ||\n vertexElement.properties.some(property => property.type === 'list')\n ) {\n throw new Error('Binary PLY arrow-table batch parsing requires one scalar vertex element');\n }\n return vertexElement;\n}\n\n/** Build one Arrow table batch from pending vertex record bytes. */\nfunction makeBinaryPLYArrowBatch(\n header: PLYHeader,\n pendingBytes: ByteArray,\n vertexCount: number,\n vertexStride: number,\n options: any,\n parsePlan: PLYBinaryPointCloudParsePlan | null\n): MeshArrowTable {\n const vertexElement = header.elements[0];\n const batchHeader = {\n ...header,\n headerLength: 0,\n elements: [{...vertexElement, count: vertexCount}]\n };\n const byteLength = vertexCount * vertexStride;\n const table = parsePLYBinaryPointCloudRecordsToArrowTable(\n pendingBytes.subarray(0, byteLength),\n batchHeader,\n options,\n parsePlan || undefined\n );\n if (!table) {\n throw new Error('Failed to parse binary PLY Arrow batch');\n }\n return table;\n}\n\n/** Build one Arrow table batch from ASCII PLY vertex lines. */\nfunction makeASCIIPLYArrowBatch(header: PLYHeader, lines: string[], options: any): MeshArrowTable {\n const batchHeaderText = makePLYHeaderText(header, lines.length, options);\n const elementTables = parsePLYToElementTables(`${batchHeaderText}${lines.join('\\n')}\\n`, options);\n return convertPLYElementTablesToMeshArrowTable(elementTables);\n}\n\n/** Build one Arrow table batch from variable-width binary PLY vertex rows. */\nfunction makeBinaryPLYArrowBatchFromRows(\n header: PLYHeader,\n rows: ByteArray[],\n byteLength: number,\n vertexCount: number,\n options: any\n): MeshArrowTable {\n const batchHeaderText = makePLYHeaderText(header, vertexCount, options);\n const headerBytes = new TextEncoder().encode(batchHeaderText);\n const batchBytes = new Uint8Array(headerBytes.length + byteLength);\n batchBytes.set(headerBytes, 0);\n let byteOffset = headerBytes.length;\n for (const row of rows) {\n batchBytes.set(row, byteOffset);\n byteOffset += row.length;\n }\n const elementTables = parsePLYToElementTables(getArrayBuffer(batchBytes), options);\n return convertPLYElementTablesToMeshArrowTable(elementTables);\n}\n\n/** Return binary element row byte length, or null if more bytes are needed. */\nfunction getBinaryElementRowByteLength(\n bytes: ByteArray,\n element: PLYElement,\n littleEndian: boolean\n): number | null {\n const dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n let byteOffset = 0;\n\n for (const property of element.properties) {\n if (property.type === 'list') {\n const countSize = getPLYTypeSize(property.countType!);\n if (byteOffset + countSize > bytes.length) {\n return null;\n }\n const count = readBinaryScalar(dataView, byteOffset, property.countType!, littleEndian);\n byteOffset += countSize;\n const valuesByteLength = count * getPLYTypeSize(property.itemType!);\n if (byteOffset + valuesByteLength > bytes.length) {\n return null;\n }\n byteOffset += valuesByteLength;\n } else {\n const propertySize = getPLYTypeSize(property.type);\n if (byteOffset + propertySize > bytes.length) {\n return null;\n }\n byteOffset += propertySize;\n }\n }\n\n return byteOffset;\n}\n\n/** Read one binary scalar value. */\n// eslint-disable-next-line complexity\nfunction readBinaryScalar(\n dataView: DataView,\n byteOffset: number,\n type: string,\n littleEndian: boolean\n): number {\n switch (type) {\n case 'int8':\n case 'char':\n return dataView.getInt8(byteOffset);\n case 'uint8':\n case 'uchar':\n return dataView.getUint8(byteOffset);\n case 'int16':\n case 'short':\n return dataView.getInt16(byteOffset, littleEndian);\n case 'uint16':\n case 'ushort':\n return dataView.getUint16(byteOffset, littleEndian);\n case 'int32':\n case 'int':\n return dataView.getInt32(byteOffset, littleEndian);\n case 'uint32':\n case 'uint':\n return dataView.getUint32(byteOffset, littleEndian);\n case 'float32':\n case 'float':\n return dataView.getFloat32(byteOffset, littleEndian);\n case 'float64':\n case 'double':\n return dataView.getFloat64(byteOffset, littleEndian);\n default:\n throw new Error(type);\n }\n}\n\n/** Rebuild a PLY header text for one emitted batch. */\nfunction makePLYHeaderText(header: PLYHeader, vertexCount: number, options: any): string {\n const lines = ['ply', `format ${header.format} ${header.version || '1.0'}`];\n const elements = options?.pointCloud ? header.elements.slice(0, 1) : header.elements;\n for (const comment of header.comments) {\n lines.push(`comment ${comment}`);\n }\n for (const element of elements) {\n lines.push(\n `element ${element.name} ${element.name === 'vertex' ? vertexCount : element.count}`\n );\n for (const property of element.properties) {\n lines.push(\n property.type === 'list'\n ? `property list ${property.countType} ${property.itemType} ${property.name}`\n : `property ${property.type} ${property.name}`\n );\n }\n }\n lines.push('end_header');\n return `${lines.join('\\n')}\\n`;\n}\n\n/** Return a byte iterator that emits pending body bytes before reading source chunks. */\nasync function* getByteIteratorWithInitialBytes(\n iterator: AsyncIterator<ArrayBufferLike>,\n initialBodyBytes: ByteArray\n): AsyncIterable<ArrayBuffer> {\n if (initialBodyBytes.length > 0) {\n yield getArrayBuffer(initialBodyBytes);\n }\n while (true) {\n const {value, done} = await iterator.next();\n if (done) {\n break;\n }\n yield getArrayBuffer(getUint8Array(value));\n }\n}\n\n/** Return the configured binary PLY batch size. */\nfunction getBatchSize(options: any): number {\n const batchSize = options?.batchSize;\n return typeof batchSize === 'number' ? batchSize : DEFAULT_BINARY_BATCH_SIZE;\n}\n\n/** Return the byte size of a fixed-width PLY element. */\nfunction getPLYElementSize(element: PLYElement): number {\n return element.properties.reduce((size, property) => size + getPLYTypeSize(property.type), 0);\n}\n\n/** Return the byte size of a scalar PLY type. */\n// eslint-disable-next-line complexity\nfunction getPLYTypeSize(type: string): number {\n switch (type) {\n case 'int8':\n case 'uint8':\n case 'char':\n case 'uchar':\n return 1;\n case 'int16':\n case 'uint16':\n case 'short':\n case 'ushort':\n return 2;\n case 'int32':\n case 'uint32':\n case 'int':\n case 'uint':\n case 'float32':\n case 'float':\n return 4;\n case 'float64':\n case 'double':\n return 8;\n default:\n throw new Error(type);\n }\n}\n\n/** Find the byte offset immediately after the `end_header` terminator. */\nfunction findHeaderEnd(bytes: Uint8Array): number {\n const pattern = new TextEncoder().encode(PLY_END_HEADER);\n const lastPatternStart = bytes.length - pattern.length;\n\n for (let byteIndex = 0; byteIndex <= lastPatternStart; byteIndex++) {\n let matches = true;\n for (let patternIndex = 0; patternIndex < pattern.length; patternIndex++) {\n if (bytes[byteIndex + patternIndex] !== pattern[patternIndex]) {\n matches = false;\n break;\n }\n }\n\n if (matches) {\n let headerEnd = byteIndex + pattern.length;\n if (\n headerEnd === bytes.length ||\n (bytes[headerEnd] === 0x0d && headerEnd + 1 === bytes.length)\n ) {\n return -1;\n }\n if (bytes[headerEnd] === 0x0d && bytes[headerEnd + 1] === 0x0a) {\n headerEnd += 2;\n } else if (headerEnd < bytes.length && isWhitespaceByte(bytes[headerEnd])) {\n headerEnd += 1;\n }\n return headerEnd;\n }\n }\n\n return -1;\n}\n\n/** Return true for ASCII whitespace bytes that can terminate a PLY header. */\nfunction isWhitespaceByte(byte: number): boolean {\n return byte === 0x0a || byte === 0x0d || byte === 0x09 || byte === 0x20;\n}\n\n/** Normalize an ArrayBuffer or view into a Uint8Array view. */\nfunction getUint8Array(data: ArrayBufferLike | ArrayBufferView): ByteArray {\n return ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n}\n\n/** Return an exact ArrayBuffer copy for a byte range. */\nfunction getArrayBuffer(bytes: ByteArray): ArrayBuffer {\n const copy = new Uint8Array(bytes.byteLength);\n copy.set(bytes);\n return copy.buffer;\n}\n\n/** Concatenate byte chunks into a new Uint8Array. */\nfunction concatenateBytes(chunks: ByteArray[]): ByteArray {\n const byteLength = chunks.reduce((length, chunk) => length + chunk.length, 0);\n const bytes = new Uint8Array(byteLength);\n let byteOffset = 0;\n\n for (const chunk of chunks) {\n bytes.set(chunk, byteOffset);\n byteOffset += chunk.length;\n }\n\n return bytes;\n}\n\n/**\n * Parses header\n * @param lineIterator\n * @param options\n * @returns\n */\nasync function parseASCIIHeader(\n lineIterator: AsyncIterable<string> | Iterable<string>,\n options: {[key: string]: any}\n): Promise<PLYHeader> {\n let currentElement: PLYElement | undefined;\n const header: PLYHeader = {\n comments: [],\n elements: []\n // headerLength\n };\n\n // Note: forEach does not reset iterator if exiting loop prematurely\n // so that iteration can continue in a second loop\n await forEach(lineIterator, (line: string) => {\n line = line.trim();\n\n // End of header\n if (line === 'end_header') {\n return true; // Returning true cancels `forEach`\n }\n\n // Ignore empty lines\n if (line === '') {\n // eslint-disable-next-line\n return false; // Returning false does not cancel `forEach`\n }\n\n const lineValues = line.split(/\\s+/);\n const lineType = lineValues.shift();\n line = lineValues.join(' ');\n\n switch (lineType) {\n case 'ply':\n // First line magic characters, ignore\n break;\n\n case 'format':\n header.format = lineValues[0];\n header.version = lineValues[1];\n break;\n\n case 'comment':\n header.comments.push(line);\n break;\n\n case 'element':\n if (currentElement) {\n header.elements.push(currentElement);\n }\n\n currentElement = {\n name: lineValues[0],\n count: parseInt(lineValues[1], 10),\n properties: []\n };\n break;\n\n case 'property':\n const property = makePLYElementProperty(lineValues, options.propertyNameMapping);\n currentElement?.properties.push(property);\n break;\n\n default:\n // eslint-disable-next-line\n console.log('unhandled', lineType, lineValues);\n }\n\n return false;\n });\n\n if (currentElement) {\n header.elements.push(currentElement);\n }\n\n return header;\n}\n\nfunction makePLYElementProperty(propertyValues: string[], propertyNameMapping: []): PLYProperty {\n const type = propertyValues[0];\n switch (type) {\n case 'list':\n return {\n type,\n name: propertyValues[3],\n countType: propertyValues[1],\n itemType: propertyValues[2]\n };\n default:\n return {\n type,\n name: propertyValues[1]\n };\n }\n}\n\n// ASCII PARSING\n/**\n * @param lineIterator\n * @param header\n * @returns\n */\nasync function parseASCII(lineIterator: AsyncIterable<string>, header: PLYHeader) {\n // PLY ascii format specification, as per http://en.wikipedia.org/wiki/PLY_(file_format)\n const attributes: MutablePLYAttributes = {\n indices: [],\n vertices: [],\n normals: [],\n uvs: [],\n colors: []\n };\n\n let currentElement = 0;\n let currentElementCount = 0;\n\n for await (let line of lineIterator) {\n line = line.trim();\n\n if (line !== '') {\n if (currentElementCount >= header.elements[currentElement].count) {\n currentElement++;\n currentElementCount = 0;\n }\n\n const element = parsePLYElement(header.elements[currentElement].properties, line);\n handleElement(attributes, header.elements[currentElement].name, element);\n currentElementCount++;\n }\n }\n\n return attributes;\n}\n/**\n * Parses ASCII number\n * @param n\n * @param type\n * @returns ASCII number\n */\n// eslint-disable-next-line complexity\nfunction parseASCIINumber(n: string, type: string): number {\n switch (type) {\n case 'char':\n case 'uchar':\n case 'short':\n case 'ushort':\n case 'int':\n case 'uint':\n case 'int8':\n case 'uint8':\n case 'int16':\n case 'uint16':\n case 'int32':\n case 'uint32':\n return parseInt(n, 10);\n\n case 'float':\n case 'double':\n case 'float32':\n case 'float64':\n return parseFloat(n);\n\n default:\n throw new Error(type);\n }\n}\n/**\n * Parses ASCII element\n * @param properties\n * @param line\n * @returns element\n */\nfunction parsePLYElement(properties: any[], line: string) {\n const values: any = line.split(/\\s+/);\n\n const element = {};\n\n for (let i = 0; i < properties.length; i++) {\n if (properties[i].type === 'list') {\n const list: any = [];\n const n = parseASCIINumber(values.shift(), properties[i].countType);\n\n for (let j = 0; j < n; j++) {\n list.push(parseASCIINumber(values.shift(), properties[i].itemType));\n }\n\n element[properties[i].name] = list;\n } else {\n element[properties[i].name] = parseASCIINumber(values.shift(), properties[i].type);\n }\n }\n\n return element;\n}\n/**\n * @param buffer\n * @param elementName\n * @param element\n */\n// HELPER FUNCTIONS\n// eslint-disable-next-line complexity\nfunction handleElement(\n buffer: {[index: string]: number[]},\n elementName: string,\n element: any = {}\n) {\n switch (elementName) {\n case 'vertex':\n buffer.vertices.push(element.x, element.y, element.z);\n if ('nx' in element && 'ny' in element && 'nz' in element) {\n buffer.normals.push(element.nx, element.ny, element.nz);\n }\n if ('s' in element && 't' in element) {\n buffer.uvs.push(element.s, element.t);\n }\n if ('red' in element && 'green' in element && 'blue' in element) {\n buffer.colors.push(element.red, element.green, element.blue);\n }\n break;\n\n case 'face':\n const vertexIndices = element.vertex_indices || element.vertex_index; // issue #9338\n if (vertexIndices.length === 3) {\n buffer.indices.push(vertexIndices[0], vertexIndices[1], vertexIndices[2]);\n } else if (vertexIndices.length === 4) {\n buffer.indices.push(vertexIndices[0], vertexIndices[1], vertexIndices[3]);\n buffer.indices.push(vertexIndices[1], vertexIndices[2], vertexIndices[3]);\n }\n break;\n\n default:\n break;\n }\n}\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["normalizePLY"]
|
|
4
|
+
"sourcesContent": ["// loaders.gl\n// SPDX-License-Identifier: MIT\n// Copyright (c) vis.gl contributors\n\n// PLY Loader, adapted from THREE.js (MIT license)\n//\n// Attributions per original THREE.js source file:\n//\n// @author Wei Meng / http://about.me/menway\n//\n// Description: A loader for PLY ASCII files (known as the Polygon File Format\n// or the Stanford Triangle Format).\n//\n// Limitations: ASCII decoding assumes file is UTF-8.\n//\n// If the PLY file uses non standard property names, they can be mapped while\n// loading. For example, the following maps the properties\n// \u201Cdiffuse_(red|green|blue)\u201D in the file to standard color names.\n//\n// parsePLY(data, {\n// propertyNameMapping: {\n// diffuse_red: 'red',\n// diffuse_green: 'green',\n// diffuse_blue: 'blue'\n// }\n// });\n\nimport {log as loaderLog} from '@loaders.gl/core/loader-utils';\nimport {\n makeLineIterator,\n makeTextDecoderIterator,\n forEach,\n toArrayBufferIterator\n} from '@loaders.gl/core/loader-utils';\nimport type {MeshArrowTable} from '@loaders.gl/core/schema';\nimport {updateArrowTableMetadata} from '@loaders.gl/core/schema-utils';\nimport {makeMetadataFromPlyHeader} from './get-ply-schema';\nimport normalizePLY from './normalize-ply';\nimport {PLYMesh, PLYHeader, PLYElement, PLYProperty, PLYAttributes} from './ply-types';\nimport {\n getPLYBinaryPointCloudParsePlan,\n parsePLYBinaryPointCloudRecordsToArrowTable,\n parsePLYHeader,\n type PLYBinaryPointCloudParsePlan\n} from './parse-ply';\nimport {convertPLYElementTablesToMeshArrowTable, parsePLYToElementTables} from './parse-ply-arrow';\n\ntype MutablePLYAttributes = {[index: string]: number[]};\ntype ByteArray = Uint8Array<ArrayBufferLike>;\nconst DEFAULT_BINARY_BATCH_SIZE = 65536;\nconst PLY_END_HEADER = 'end_header';\n\n/**\n * PARSER\n * @param iterator\n * @param options\n */\nexport async function* parsePLYInBatches(\n iterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options: any\n): AsyncIterable<PLYMesh | MeshArrowTable> {\n if (options?.shape === 'arrow') {\n yield* parseBinaryPLYToArrowInBatches(iterator, options);\n return;\n }\n\n const lineIterator = makeLineIterator(makeTextDecoderIterator(toArrayBufferIterator(iterator)));\n const header = await parseASCIIHeader(lineIterator, options);\n\n let attributes: PLYAttributes;\n switch (header.format) {\n case 'ascii':\n attributes = await parseASCII(lineIterator, header);\n break;\n default:\n throw new Error('Binary PLY can not yet be parsed in streaming mode');\n // attributes = await parseBinary(lineIterator, header);\n }\n\n yield normalizePLY(header, attributes, options);\n}\n\n/** Parse PLY vertices into Arrow table batches. */\nasync function* parseBinaryPLYToArrowInBatches(\n iterator:\n | AsyncIterable<ArrayBufferLike | ArrayBufferView>\n | Iterable<ArrayBufferLike | ArrayBufferView>,\n options: any\n): AsyncIterable<MeshArrowTable> {\n const byteIterator = toArrayBufferIterator(iterator)[Symbol.asyncIterator]();\n const {header, initialBodyBytes} = await readPLYHeader(byteIterator, options);\n let tables: AsyncIterable<MeshArrowTable>;\n if (header.format === 'ascii') {\n tables = parseASCIIPLYToArrowInBatches(byteIterator, header, initialBodyBytes, options);\n } else {\n const vertexElement = getVertexElement(header, options);\n tables = vertexElement.properties.some(property => property.type === 'list')\n ? parseBinaryVariableWidthVertexPLYToArrowInBatches(\n byteIterator,\n header,\n initialBodyBytes,\n options\n )\n : parseBinaryFixedWidthVertexPLYToArrowInBatches(\n byteIterator,\n header,\n initialBodyBytes,\n options\n );\n }\n for await (const table of tables) {\n yield {\n ...updateArrowTableMetadata(table, makeMetadataFromPlyHeader(header)),\n loaderData: header\n } as MeshArrowTable;\n }\n}\n\n/** Parse fixed-width binary PLY vertices into Arrow table batches. */\nasync function* parseBinaryFixedWidthVertexPLYToArrowInBatches(\n byteIterator: AsyncIterator<ArrayBufferLike>,\n header: PLYHeader,\n initialBodyBytes: ByteArray,\n options: any\n): AsyncIterable<MeshArrowTable> {\n const vertexElement = getFixedWidthVertexElement(header, options);\n const batchSize = getBatchSize(options);\n const vertexStride = getPLYElementSize(vertexElement);\n const parsePlan = getPLYBinaryPointCloudParsePlan(header, options);\n let remainingVertices = vertexElement.count;\n let pendingBytes = initialBodyBytes;\n\n while (true) {\n while (remainingVertices > 0 && Math.floor(pendingBytes.length / vertexStride) >= batchSize) {\n const batchVertexCount = Math.min(batchSize, remainingVertices);\n const batch = makeBinaryPLYArrowBatch(\n header,\n pendingBytes,\n batchVertexCount,\n vertexStride,\n options,\n parsePlan\n );\n pendingBytes = pendingBytes.subarray(batchVertexCount * vertexStride);\n remainingVertices -= batchVertexCount;\n yield batch;\n }\n\n if (options?.pointCloud && remainingVertices <= 0) {\n return;\n }\n\n const {value: chunk, done} = await byteIterator.next();\n if (done) {\n break;\n }\n pendingBytes = concatenateBytes([pendingBytes, getUint8Array(chunk)]);\n }\n\n if (remainingVertices > 0) {\n const batchVertexCount = Math.min(\n remainingVertices,\n Math.floor(pendingBytes.length / vertexStride)\n );\n if (batchVertexCount > 0) {\n yield makeBinaryPLYArrowBatch(\n header,\n pendingBytes,\n batchVertexCount,\n vertexStride,\n options,\n parsePlan\n );\n }\n }\n}\n\n/** Parse ASCII vertex PLY rows into Arrow table batches. */\nasync function* parseASCIIPLYToArrowInBatches(\n byteIterator: AsyncIterator<ArrayBufferLike>,\n header: PLYHeader,\n initialBodyBytes: ByteArray,\n options: any\n): AsyncIterable<MeshArrowTable> {\n const vertexElement = getVertexElement(header, options);\n const batchSize = getBatchSize(options);\n const lineIterator = makeLineIterator(\n makeTextDecoderIterator(getByteIteratorWithInitialBytes(byteIterator, initialBodyBytes))\n );\n let batchLines: string[] = [];\n let remainingVertices = vertexElement.count;\n\n for await (const sourceLine of lineIterator) {\n const line = sourceLine.trim();\n if (line === '') {\n continue;\n }\n batchLines.push(line);\n remainingVertices--;\n if (batchLines.length >= batchSize) {\n yield makeASCIIPLYArrowBatch(header, batchLines, options);\n batchLines = [];\n }\n if (remainingVertices <= 0) {\n break;\n }\n }\n\n if (batchLines.length > 0) {\n yield makeASCIIPLYArrowBatch(header, batchLines, options);\n }\n}\n\n/** Parse variable-width binary vertex rows into Arrow table batches. */\nasync function* parseBinaryVariableWidthVertexPLYToArrowInBatches(\n byteIterator: AsyncIterator<ArrayBufferLike>,\n header: PLYHeader,\n initialBodyBytes: ByteArray,\n options: any\n): AsyncIterable<MeshArrowTable> {\n const vertexElement = getVertexElement(header, options);\n const batchSize = getBatchSize(options);\n const littleEndian = header.format !== 'binary_big_endian';\n let remainingVertices = vertexElement.count;\n let pendingBytes = initialBodyBytes;\n let batchBytes: ByteArray[] = [];\n let batchByteLength = 0;\n let batchRowCount = 0;\n\n while (remainingVertices > 0) {\n const rowByteLength = getBinaryElementRowByteLength(pendingBytes, vertexElement, littleEndian);\n if (rowByteLength === null) {\n const {value: chunk, done} = await byteIterator.next();\n if (done) {\n break;\n }\n pendingBytes = concatenateBytes([pendingBytes, getUint8Array(chunk)]);\n continue;\n }\n\n const rowBytes = pendingBytes.subarray(0, rowByteLength);\n batchBytes.push(rowBytes);\n batchByteLength += rowByteLength;\n batchRowCount++;\n remainingVertices--;\n pendingBytes = pendingBytes.subarray(rowByteLength);\n\n if (batchRowCount >= batchSize) {\n yield makeBinaryPLYArrowBatchFromRows(\n header,\n batchBytes,\n batchByteLength,\n batchRowCount,\n options\n );\n batchBytes = [];\n batchByteLength = 0;\n batchRowCount = 0;\n }\n }\n\n if (batchRowCount > 0) {\n yield makeBinaryPLYArrowBatchFromRows(\n header,\n batchBytes,\n batchByteLength,\n batchRowCount,\n options\n );\n }\n}\n\n/** Read and parse the PLY header from the byte stream. */\nasync function readPLYHeader(\n iterator: AsyncIterator<ArrayBufferLike>,\n options: any\n): Promise<{header: PLYHeader; initialBodyBytes: ByteArray}> {\n let headerBytes: ByteArray = new Uint8Array(0);\n\n while (true) {\n const {value, done} = await iterator.next();\n if (done) {\n throw new Error('Incomplete PLY header');\n }\n\n headerBytes = concatenateBytes([headerBytes, getUint8Array(value)]);\n const headerEnd = findHeaderEnd(headerBytes);\n if (headerEnd === -1) {\n continue;\n }\n\n const header = parsePLYHeader(getArrayBuffer(headerBytes.subarray(0, headerEnd)), options);\n return {header, initialBodyBytes: headerBytes.subarray(headerEnd)};\n }\n}\n\n/** Return the vertex element, or throw for unsupported Arrow batches. */\nfunction getVertexElement(header: PLYHeader, options: any): PLYElement {\n const vertexElement = header.elements[0];\n if ((!options?.pointCloud && header.elements.length !== 1) || vertexElement?.name !== 'vertex') {\n throw new Error('PLY arrow-table batch parsing requires one vertex element');\n }\n return vertexElement;\n}\n\n/** Return the fixed-width vertex element, or throw for unsupported binary batches. */\nfunction getFixedWidthVertexElement(header: PLYHeader, options: any): PLYElement {\n const vertexElement = header.elements[0];\n if (\n (!options?.pointCloud && header.elements.length !== 1) ||\n vertexElement?.name !== 'vertex' ||\n vertexElement.properties.some(property => property.type === 'list')\n ) {\n throw new Error('Binary PLY arrow-table batch parsing requires one scalar vertex element');\n }\n return vertexElement;\n}\n\n/** Build one Arrow table batch from pending vertex record bytes. */\nfunction makeBinaryPLYArrowBatch(\n header: PLYHeader,\n pendingBytes: ByteArray,\n vertexCount: number,\n vertexStride: number,\n options: any,\n parsePlan: PLYBinaryPointCloudParsePlan | null\n): MeshArrowTable {\n const vertexElement = header.elements[0];\n const batchHeader = {\n ...header,\n headerLength: 0,\n elements: [{...vertexElement, count: vertexCount}]\n };\n const byteLength = vertexCount * vertexStride;\n const table = parsePLYBinaryPointCloudRecordsToArrowTable(\n pendingBytes.subarray(0, byteLength),\n batchHeader,\n options,\n parsePlan || undefined\n );\n if (!table) {\n throw new Error('Failed to parse binary PLY Arrow batch');\n }\n return table;\n}\n\n/** Build one Arrow table batch from ASCII PLY vertex lines. */\nfunction makeASCIIPLYArrowBatch(header: PLYHeader, lines: string[], options: any): MeshArrowTable {\n const batchHeaderText = makePLYHeaderText(header, lines.length, options);\n const elementTables = parsePLYToElementTables(`${batchHeaderText}${lines.join('\\n')}\\n`, options);\n return convertPLYElementTablesToMeshArrowTable(elementTables);\n}\n\n/** Build one Arrow table batch from variable-width binary PLY vertex rows. */\nfunction makeBinaryPLYArrowBatchFromRows(\n header: PLYHeader,\n rows: ByteArray[],\n byteLength: number,\n vertexCount: number,\n options: any\n): MeshArrowTable {\n const batchHeaderText = makePLYHeaderText(header, vertexCount, options);\n const headerBytes = new TextEncoder().encode(batchHeaderText);\n const batchBytes = new Uint8Array(headerBytes.length + byteLength);\n batchBytes.set(headerBytes, 0);\n let byteOffset = headerBytes.length;\n for (const row of rows) {\n batchBytes.set(row, byteOffset);\n byteOffset += row.length;\n }\n const elementTables = parsePLYToElementTables(getArrayBuffer(batchBytes), options);\n return convertPLYElementTablesToMeshArrowTable(elementTables);\n}\n\n/** Return binary element row byte length, or null if more bytes are needed. */\nfunction getBinaryElementRowByteLength(\n bytes: ByteArray,\n element: PLYElement,\n littleEndian: boolean\n): number | null {\n const dataView = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n let byteOffset = 0;\n\n for (const property of element.properties) {\n if (property.type === 'list') {\n const countSize = getPLYTypeSize(property.countType!);\n if (byteOffset + countSize > bytes.length) {\n return null;\n }\n const count = readBinaryScalar(dataView, byteOffset, property.countType!, littleEndian);\n byteOffset += countSize;\n const valuesByteLength = count * getPLYTypeSize(property.itemType!);\n if (byteOffset + valuesByteLength > bytes.length) {\n return null;\n }\n byteOffset += valuesByteLength;\n } else {\n const propertySize = getPLYTypeSize(property.type);\n if (byteOffset + propertySize > bytes.length) {\n return null;\n }\n byteOffset += propertySize;\n }\n }\n\n return byteOffset;\n}\n\n/** Read one binary scalar value. */\n// eslint-disable-next-line complexity\nfunction readBinaryScalar(\n dataView: DataView,\n byteOffset: number,\n type: string,\n littleEndian: boolean\n): number {\n switch (type) {\n case 'int8':\n case 'char':\n return dataView.getInt8(byteOffset);\n case 'uint8':\n case 'uchar':\n return dataView.getUint8(byteOffset);\n case 'int16':\n case 'short':\n return dataView.getInt16(byteOffset, littleEndian);\n case 'uint16':\n case 'ushort':\n return dataView.getUint16(byteOffset, littleEndian);\n case 'int32':\n case 'int':\n return dataView.getInt32(byteOffset, littleEndian);\n case 'uint32':\n case 'uint':\n return dataView.getUint32(byteOffset, littleEndian);\n case 'float32':\n case 'float':\n return dataView.getFloat32(byteOffset, littleEndian);\n case 'float64':\n case 'double':\n return dataView.getFloat64(byteOffset, littleEndian);\n default:\n throw new Error(type);\n }\n}\n\n/** Rebuild a PLY header text for one emitted batch. */\nfunction makePLYHeaderText(header: PLYHeader, vertexCount: number, options: any): string {\n const lines = ['ply', `format ${header.format} ${header.version || '1.0'}`];\n const elements = options?.pointCloud ? header.elements.slice(0, 1) : header.elements;\n for (const comment of header.comments) {\n lines.push(`comment ${comment}`);\n }\n for (const element of elements) {\n lines.push(\n `element ${element.name} ${element.name === 'vertex' ? vertexCount : element.count}`\n );\n for (const property of element.properties) {\n lines.push(\n property.type === 'list'\n ? `property list ${property.countType} ${property.itemType} ${property.name}`\n : `property ${property.type} ${property.name}`\n );\n }\n }\n lines.push('end_header');\n return `${lines.join('\\n')}\\n`;\n}\n\n/** Return a byte iterator that emits pending body bytes before reading source chunks. */\nasync function* getByteIteratorWithInitialBytes(\n iterator: AsyncIterator<ArrayBufferLike>,\n initialBodyBytes: ByteArray\n): AsyncIterable<ArrayBuffer> {\n if (initialBodyBytes.length > 0) {\n yield getArrayBuffer(initialBodyBytes);\n }\n while (true) {\n const {value, done} = await iterator.next();\n if (done) {\n break;\n }\n yield getArrayBuffer(getUint8Array(value));\n }\n}\n\n/** Return the configured binary PLY batch size. */\nfunction getBatchSize(options: any): number {\n const batchSize = options?.batchSize;\n return typeof batchSize === 'number' ? batchSize : DEFAULT_BINARY_BATCH_SIZE;\n}\n\n/** Return the byte size of a fixed-width PLY element. */\nfunction getPLYElementSize(element: PLYElement): number {\n return element.properties.reduce((size, property) => size + getPLYTypeSize(property.type), 0);\n}\n\n/** Return the byte size of a scalar PLY type. */\n// eslint-disable-next-line complexity\nfunction getPLYTypeSize(type: string): number {\n switch (type) {\n case 'int8':\n case 'uint8':\n case 'char':\n case 'uchar':\n return 1;\n case 'int16':\n case 'uint16':\n case 'short':\n case 'ushort':\n return 2;\n case 'int32':\n case 'uint32':\n case 'int':\n case 'uint':\n case 'float32':\n case 'float':\n return 4;\n case 'float64':\n case 'double':\n return 8;\n default:\n throw new Error(type);\n }\n}\n\n/** Find the byte offset immediately after the `end_header` terminator. */\nfunction findHeaderEnd(bytes: Uint8Array): number {\n const pattern = new TextEncoder().encode(PLY_END_HEADER);\n const lastPatternStart = bytes.length - pattern.length;\n\n for (let byteIndex = 0; byteIndex <= lastPatternStart; byteIndex++) {\n let matches = true;\n for (let patternIndex = 0; patternIndex < pattern.length; patternIndex++) {\n if (bytes[byteIndex + patternIndex] !== pattern[patternIndex]) {\n matches = false;\n break;\n }\n }\n\n if (matches) {\n let headerEnd = byteIndex + pattern.length;\n if (\n headerEnd === bytes.length ||\n (bytes[headerEnd] === 0x0d && headerEnd + 1 === bytes.length)\n ) {\n return -1;\n }\n if (bytes[headerEnd] === 0x0d && bytes[headerEnd + 1] === 0x0a) {\n headerEnd += 2;\n } else if (headerEnd < bytes.length && isWhitespaceByte(bytes[headerEnd])) {\n headerEnd += 1;\n }\n return headerEnd;\n }\n }\n\n return -1;\n}\n\n/** Return true for ASCII whitespace bytes that can terminate a PLY header. */\nfunction isWhitespaceByte(byte: number): boolean {\n return byte === 0x0a || byte === 0x0d || byte === 0x09 || byte === 0x20;\n}\n\n/** Normalize an ArrayBuffer or view into a Uint8Array view. */\nfunction getUint8Array(data: ArrayBufferLike | ArrayBufferView): ByteArray {\n return ArrayBuffer.isView(data)\n ? new Uint8Array(data.buffer, data.byteOffset, data.byteLength)\n : new Uint8Array(data);\n}\n\n/** Return an exact ArrayBuffer copy for a byte range. */\nfunction getArrayBuffer(bytes: ByteArray): ArrayBuffer {\n const copy = new Uint8Array(bytes.byteLength);\n copy.set(bytes);\n return copy.buffer;\n}\n\n/** Concatenate byte chunks into a new Uint8Array. */\nfunction concatenateBytes(chunks: ByteArray[]): ByteArray {\n const byteLength = chunks.reduce((length, chunk) => length + chunk.length, 0);\n const bytes = new Uint8Array(byteLength);\n let byteOffset = 0;\n\n for (const chunk of chunks) {\n bytes.set(chunk, byteOffset);\n byteOffset += chunk.length;\n }\n\n return bytes;\n}\n\n/**\n * Parses header\n * @param lineIterator\n * @param options\n * @returns\n */\nasync function parseASCIIHeader(\n lineIterator: AsyncIterable<string> | Iterable<string>,\n options: {[key: string]: any}\n): Promise<PLYHeader> {\n let currentElement: PLYElement | undefined;\n const header: PLYHeader = {\n comments: [],\n elements: []\n // headerLength\n };\n\n // Note: forEach does not reset iterator if exiting loop prematurely\n // so that iteration can continue in a second loop\n await forEach(lineIterator, (line: string) => {\n line = line.trim();\n\n // End of header\n if (line === 'end_header') {\n return true; // Returning true cancels `forEach`\n }\n\n // Ignore empty lines\n if (line === '') {\n // eslint-disable-next-line\n return false; // Returning false does not cancel `forEach`\n }\n\n const lineValues = line.split(/\\s+/);\n const lineType = lineValues.shift();\n line = lineValues.join(' ');\n\n switch (lineType) {\n case 'ply':\n // First line magic characters, ignore\n break;\n\n case 'format':\n header.format = lineValues[0];\n header.version = lineValues[1];\n break;\n\n case 'comment':\n header.comments.push(line);\n break;\n\n case 'element':\n if (currentElement) {\n header.elements.push(currentElement);\n }\n\n currentElement = {\n name: lineValues[0],\n count: parseInt(lineValues[1], 10),\n properties: []\n };\n break;\n\n case 'property':\n const property = makePLYElementProperty(lineValues, options.propertyNameMapping);\n currentElement?.properties.push(property);\n break;\n\n default:\n loaderLog.log(0, 'unhandled', lineType, lineValues)();\n }\n\n return false;\n });\n\n if (currentElement) {\n header.elements.push(currentElement);\n }\n\n return header;\n}\n\nfunction makePLYElementProperty(propertyValues: string[], propertyNameMapping: []): PLYProperty {\n const type = propertyValues[0];\n switch (type) {\n case 'list':\n return {\n type,\n name: propertyValues[3],\n countType: propertyValues[1],\n itemType: propertyValues[2]\n };\n default:\n return {\n type,\n name: propertyValues[1]\n };\n }\n}\n\n// ASCII PARSING\n/**\n * @param lineIterator\n * @param header\n * @returns\n */\nasync function parseASCII(lineIterator: AsyncIterable<string>, header: PLYHeader) {\n // PLY ascii format specification, as per http://en.wikipedia.org/wiki/PLY_(file_format)\n const attributes: MutablePLYAttributes = {\n indices: [],\n vertices: [],\n normals: [],\n uvs: [],\n colors: []\n };\n\n let currentElement = 0;\n let currentElementCount = 0;\n\n for await (let line of lineIterator) {\n line = line.trim();\n\n if (line !== '') {\n if (currentElementCount >= header.elements[currentElement].count) {\n currentElement++;\n currentElementCount = 0;\n }\n\n const element = parsePLYElement(header.elements[currentElement].properties, line);\n handleElement(attributes, header.elements[currentElement].name, element);\n currentElementCount++;\n }\n }\n\n return attributes;\n}\n/**\n * Parses ASCII number\n * @param n\n * @param type\n * @returns ASCII number\n */\n// eslint-disable-next-line complexity\nfunction parseASCIINumber(n: string, type: string): number {\n switch (type) {\n case 'char':\n case 'uchar':\n case 'short':\n case 'ushort':\n case 'int':\n case 'uint':\n case 'int8':\n case 'uint8':\n case 'int16':\n case 'uint16':\n case 'int32':\n case 'uint32':\n return parseInt(n, 10);\n\n case 'float':\n case 'double':\n case 'float32':\n case 'float64':\n return parseFloat(n);\n\n default:\n throw new Error(type);\n }\n}\n/**\n * Parses ASCII element\n * @param properties\n * @param line\n * @returns element\n */\nfunction parsePLYElement(properties: any[], line: string) {\n const values: any = line.split(/\\s+/);\n\n const element = {};\n\n for (let i = 0; i < properties.length; i++) {\n if (properties[i].type === 'list') {\n const list: any = [];\n const n = parseASCIINumber(values.shift(), properties[i].countType);\n\n for (let j = 0; j < n; j++) {\n list.push(parseASCIINumber(values.shift(), properties[i].itemType));\n }\n\n element[properties[i].name] = list;\n } else {\n element[properties[i].name] = parseASCIINumber(values.shift(), properties[i].type);\n }\n }\n\n return element;\n}\n/**\n * @param buffer\n * @param elementName\n * @param element\n */\n// HELPER FUNCTIONS\n// eslint-disable-next-line complexity\nfunction handleElement(\n buffer: {[index: string]: number[]},\n elementName: string,\n element: any = {}\n) {\n switch (elementName) {\n case 'vertex':\n buffer.vertices.push(element.x, element.y, element.z);\n if ('nx' in element && 'ny' in element && 'nz' in element) {\n buffer.normals.push(element.nx, element.ny, element.nz);\n }\n if ('s' in element && 't' in element) {\n buffer.uvs.push(element.s, element.t);\n }\n if ('red' in element && 'green' in element && 'blue' in element) {\n buffer.colors.push(element.red, element.green, element.blue);\n }\n break;\n\n case 'face':\n const vertexIndices = element.vertex_indices || element.vertex_index; // issue #9338\n if (vertexIndices.length === 3) {\n buffer.indices.push(vertexIndices[0], vertexIndices[1], vertexIndices[2]);\n } else if (vertexIndices.length === 4) {\n buffer.indices.push(vertexIndices[0], vertexIndices[1], vertexIndices[3]);\n buffer.indices.push(vertexIndices[1], vertexIndices[2], vertexIndices[3]);\n }\n break;\n\n default:\n break;\n }\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["import_loader_utils", "normalizePLY", "loaderLog"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-ply-in-batches.d.ts","sourceRoot":"","sources":["../../../src/ply/lib/parse-ply-in-batches.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"parse-ply-in-batches.d.ts","sourceRoot":"","sources":["../../../src/ply/lib/parse-ply-in-batches.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,yBAAyB,CAAC;AAI5D,OAAO,EAAC,OAAO,EAAoD,uBAAoB;AAcvF;;;;GAIG;AACH,wBAAuB,iBAAiB,CACtC,QAAQ,EACJ,aAAa,CAAC,eAAe,GAAG,eAAe,CAAC,GAChD,QAAQ,CAAC,eAAe,GAAG,eAAe,CAAC,EAC/C,OAAO,EAAE,GAAG,GACX,aAAa,CAAC,OAAO,GAAG,cAAc,CAAC,CAoBzC"}
|
|
@@ -23,7 +23,10 @@
|
|
|
23
23
|
// diffuse_blue: 'blue'
|
|
24
24
|
// }
|
|
25
25
|
// });
|
|
26
|
+
import { log as loaderLog } from '@loaders.gl/core/loader-utils';
|
|
26
27
|
import { makeLineIterator, makeTextDecoderIterator, forEach, toArrayBufferIterator } from '@loaders.gl/core/loader-utils';
|
|
28
|
+
import { updateArrowTableMetadata } from '@loaders.gl/core/schema-utils';
|
|
29
|
+
import { makeMetadataFromPlyHeader } from "./get-ply-schema.js";
|
|
27
30
|
import normalizePLY from "./normalize-ply.js";
|
|
28
31
|
import { getPLYBinaryPointCloudParsePlan, parsePLYBinaryPointCloudRecordsToArrowTable, parsePLYHeader } from "./parse-ply.js";
|
|
29
32
|
import { convertPLYElementTablesToMeshArrowTable, parsePLYToElementTables } from "./parse-ply-arrow.js";
|
|
@@ -35,7 +38,7 @@ const PLY_END_HEADER = 'end_header';
|
|
|
35
38
|
* @param options
|
|
36
39
|
*/
|
|
37
40
|
export async function* parsePLYInBatches(iterator, options) {
|
|
38
|
-
if (options?.shape === 'arrow
|
|
41
|
+
if (options?.shape === 'arrow') {
|
|
39
42
|
yield* parseBinaryPLYToArrowInBatches(iterator, options);
|
|
40
43
|
return;
|
|
41
44
|
}
|
|
@@ -67,7 +70,10 @@ async function* parseBinaryPLYToArrowInBatches(iterator, options) {
|
|
|
67
70
|
: parseBinaryFixedWidthVertexPLYToArrowInBatches(byteIterator, header, initialBodyBytes, options);
|
|
68
71
|
}
|
|
69
72
|
for await (const table of tables) {
|
|
70
|
-
yield {
|
|
73
|
+
yield {
|
|
74
|
+
...updateArrowTableMetadata(table, makeMetadataFromPlyHeader(header)),
|
|
75
|
+
loaderData: header
|
|
76
|
+
};
|
|
71
77
|
}
|
|
72
78
|
}
|
|
73
79
|
/** Parse fixed-width binary PLY vertices into Arrow table batches. */
|
|
@@ -474,8 +480,7 @@ async function parseASCIIHeader(lineIterator, options) {
|
|
|
474
480
|
currentElement?.properties.push(property);
|
|
475
481
|
break;
|
|
476
482
|
default:
|
|
477
|
-
|
|
478
|
-
console.log('unhandled', lineType, lineValues);
|
|
483
|
+
loaderLog.log(0, 'unhandled', lineType, lineValues)();
|
|
479
484
|
}
|
|
480
485
|
return false;
|
|
481
486
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parse-ply-in-batches.js","sourceRoot":"","sources":["../../../src/ply/lib/parse-ply-in-batches.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"parse-ply-in-batches.js","sourceRoot":"","sources":["../../../src/ply/lib/parse-ply-in-batches.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,7 @@ __export(parse_ply_exports, {
|
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(parse_ply_exports);
|
|
41
41
|
var arrow = __toESM(require("apache-arrow"), 1);
|
|
42
|
+
var import_schema_utils = require("@loaders.gl/core/schema-utils");
|
|
42
43
|
var import_normalize_ply = __toESM(require("./normalize-ply.cjs"), 1);
|
|
43
44
|
var import_get_ply_schema = require("./get-ply-schema.cjs");
|
|
44
45
|
var PLY_END_HEADER = "end_header";
|
|
@@ -412,6 +413,8 @@ function makePLYArrowTable(header, attributes) {
|
|
|
412
413
|
const schema = (0, import_get_ply_schema.getPLYSchema)(header, meshAttributes);
|
|
413
414
|
schema.metadata.topology = "point-list";
|
|
414
415
|
schema.metadata.mode = "0";
|
|
416
|
+
const boundingBox = (0, import_schema_utils.getMeshBoundingBox)(meshAttributes);
|
|
417
|
+
if (boundingBox) schema.metadata.boundingBox = JSON.stringify(boundingBox);
|
|
415
418
|
const columns = {};
|
|
416
419
|
const fields = [];
|
|
417
420
|
for (const field of schema.fields) {
|