UNPKG

cmpt

Version:

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

33 lines (31 loc) 1.36 kB
/** B3DM 文件头结构(共28字节) */ export interface B3dmHeader { magic: string; // 4字节,固定为"b3dm" version: number; // 4字节,版本号(通常为1) byteLength: number; // 4字节,文件总长度 featureTableJSONByteLength: number; // 4字节,特征表JSON长度 featureTableBinaryByteLength: number; // 4字节,特征表二进制长度 batchTableJSONByteLength: number; // 4字节,批量表JSON长度 batchTableBinaryByteLength: number; // 4字节,批量表二进制长度 } /** B3DM 完整数据结构 */ export interface B3dmData { header: B3dmHeader; featureTable: { // 特征表(地理信息等) json: Record<string, any>; binary?: Uint8Array; }; batchTable?: { // 批量表(模型属性等,可选) json: Record<string, any>; binary?: Uint8Array; }; glbData: Uint8Array; // 内嵌的GLB模型数据 } /** 构建B3DM的选项 */ export interface B3dmBuildOptions { glbData: Uint8Array; // 输入的GLB二进制数据 featureTableJSON?: Record<string, any>; // 特征表JSON featureTableBinary?: Uint8Array; // 特征表二进制 batchTableJSON?: Record<string, any>; // 批量表JSON batchTableBinary?: Uint8Array; // 批量表二进制 }