MCPcopy Create free account
hub / github.com/ColmapView/Colmapview.github.io / loadOptionalRigData

Function loadOptionalRigData

src/hooks/fileDropzoneRigData.ts:33–65  ·  view source on GitHub ↗
({
  wasmRigData,
  rigsFile,
  framesFile,
  parsers = defaultParsers,
  log = appLogger.info,
  warn = appLogger.warn,
}: LoadOptionalRigDataOptions)

Source from the content-addressed store, hash-verified

31};
32
33export async function loadOptionalRigData({
34 wasmRigData,
35 rigsFile,
36 framesFile,
37 parsers = defaultParsers,
38 log = appLogger.info,
39 warn = appLogger.warn,
40}: LoadOptionalRigDataOptions): Promise<RigData | undefined> {
41 if (wasmRigData) {
42 return wasmRigData;
43 }
44
45 if (!rigsFile || !framesFile) {
46 return undefined;
47 }
48
49 try {
50 const [rigs, frames] = await Promise.all([
51 rigsFile.name.endsWith('.bin')
52 ? rigsFile.arrayBuffer().then(parsers.parseRigsBinary)
53 : rigsFile.text().then(parsers.parseRigsText),
54 framesFile.name.endsWith('.bin')
55 ? framesFile.arrayBuffer().then(parsers.parseFramesBinary)
56 : framesFile.text().then(parsers.parseFramesText),
57 ]);
58
59 log(`Loaded rig data: ${rigs.size} rigs, ${frames.size} frames`);
60 return { rigs, frames };
61 } catch (err) {
62 warn('Failed to parse rig/frame files:', err);
63 return undefined;
64 }
65}

Callers 1

Calls

no outgoing calls

Tested by

no test coverage detected