b3dm
Version: 
A TypeScript library for parsing and building B3DM (Batched 3D Model) files
50 lines (45 loc) • 1.33 kB
text/typescript
/** B3DM 文件头结构(共28字节) */
interface B3dmHeader {
    magic: string;
    version: number;
    byteLength: number;
    featureTableJSONByteLength: number;
    featureTableBinaryByteLength: number;
    batchTableJSONByteLength: number;
    batchTableBinaryByteLength: number;
}
/** B3DM 完整数据结构 */
interface B3dmData {
    header: B3dmHeader;
    featureTable: {
        json: Record<string, any>;
        binary?: Uint8Array;
    };
    batchTable?: {
        json: Record<string, any>;
        binary?: Uint8Array;
    };
    glbData: Uint8Array;
}
/** 构建B3DM的选项 */
interface B3dmBuildOptions {
    glbData: Uint8Array;
    featureTableJSON?: Record<string, any>;
    featureTableBinary?: Uint8Array;
    batchTableJSON?: Record<string, any>;
    batchTableBinary?: Uint8Array;
}
/**
 * 解析B3DM二进制数据
 * @param arrayBuffer B3DM文件的ArrayBuffer
 * @returns 解析后的B3DM数据结构
 */
declare function parseB3dm(arrayBuffer: ArrayBuffer): B3dmData;
/**
 * 构建B3DM二进制数据
 * @param options 构建选项(包含GLB和元数据)
 * @returns B3DM的ArrayBuffer
 */
declare function buildB3dm(options: B3dmBuildOptions): ArrayBuffer;
declare const version: any;
export { type B3dmBuildOptions, type B3dmData, type B3dmHeader, buildB3dm, parseB3dm, version };