UNPKG

cmpt

Version:

A TypeScript library for parsing and building B3DM (Batched 3D Model) files

24 lines (23 loc) 903 B
import { parseB3dm, buildB3dm } from '../src'; import { readFileSync, writeFileSync } from 'fs'; import { expect, test } from 'vitest' // 测试:读取GLB文件 → 构建B3DM → 解析B3DM → 验证一致性 test('build and parse b3dm', () => { // 读取本地GLB文件(需自行准备测试文件) const glbData = readFileSync('./test/test.glb'); // 构建B3DM const b3dmBuffer = buildB3dm({ glbData, featureTableJSON: { RTC_CENTER: [120.0, 30.0, 0.0], // 地理坐标(示例) }, }); // 写入B3DM文件 writeFileSync('./test/output.b3dm', new Uint8Array(b3dmBuffer)); // 解析B3DM const parsed = parseB3dm(b3dmBuffer); // 验证解析结果 expect(parsed.header.magic).toBe('b3dm'); expect(parsed.featureTable.json.RTC_CENTER).toEqual([120.0, 30.0, 0.0]); expect(parsed.glbData.byteLength).toBe(glbData.byteLength); });