MCPcopy Index your code
hub / github.com/ColmapView/Colmapview.github.io / parsePoints3DBinary

Function parsePoints3DBinary

src/parsers/points3d.ts:25–61  ·  view source on GitHub ↗
(buffer: ArrayBuffer)

Source from the content-addressed store, hash-verified

23 * - uint32: point2D_idx
24 */
25export function parsePoints3DBinary(buffer: ArrayBuffer): Map<bigint, Point3D> {
26 const reader = new BinaryReader(buffer);
27 const points = new Map<bigint, Point3D>();
28
29 const numPoints = reader.readUint64AsNumber();
30
31 for (let i = 0; i < numPoints; i++) {
32 const point3DId = reader.readUint64();
33
34 const xyz: [number, number, number] = [
35 reader.readFloat64(),
36 reader.readFloat64(),
37 reader.readFloat64(),
38 ];
39
40 const rgb: [number, number, number] = [
41 reader.readUint8(),
42 reader.readUint8(),
43 reader.readUint8(),
44 ];
45
46 const error = reader.readFloat64();
47 const trackLength = reader.readUint64AsNumber();
48
49 const track: TrackElement[] = [];
50 for (let j = 0; j < trackLength; j++) {
51 track.push({
52 imageId: reader.readUint32(),
53 point2DIdx: reader.readUint32(),
54 });
55 }
56
57 points.set(point3DId, { point3DId, xyz, rgb, error, track });
58 }
59
60 return points;
61}
62
63/**
64 * Parse points3D.txt text file

Callers 3

exportAndReparseFunction · 0.90
integrity.test.tsFile · 0.90

Calls 5

readUint64AsNumberMethod · 0.95
readUint64Method · 0.95
readFloat64Method · 0.95
readUint8Method · 0.95
readUint32Method · 0.95

Tested by 1

exportAndReparseFunction · 0.72