interface IfcApiModelPassthrough {
    properties: PropertiesPassthrough;
    sourceIsExternal?: boolean;
    ensureLineResident?(expressID: number): Promise<void>;
    flattenLine(line: any): void;
    getAllLines(): Vector<number>;
    getCoordinationMatrix(): number[];
    getFlatMesh(expressID: number): FlatMesh;
    getGeometry(geometryExpressID: number): IfcGeometry;
    getLine(expressID: number, flatten?: boolean): string | void;
    getLineIDsWithType(type: number): Vector<number>;
    getRawLineData(expressID: number): RawLineData;
    loadAllGeometry(): Vector<FlatMesh>;
    releaseEntityCache?(): void;
    rootExpressIDs?(): IterableIterator<number, any, any>;
    spillSourceToExternalStore?(store: StepExternalByteStore, chunkBytes?: number, maxResidentChunks?: number): void;
    streamAllMeshes(meshCallback: ((mesh: FlatMesh) => void)): void;
    streamAllMeshesWithTypes(types: number[], meshCallback: ((mesh: FlatMesh) => void)): void;
}

Implemented by

Properties

sourceIsExternal?: boolean

Optional: true when the model's source bytes are spilled to an external store and served through on-demand windows.

Methods

  • Optional: page in the byte range backing a record so a following synchronous read succeeds. Fast no-op while fully resident.

    Parameters

    • expressID: number

    Returns Promise<void>

  • Parameters

    • line: any

    Returns void

  • Returns Vector<number>

  • Returns number[]

  • Parameters

    • expressID: number

    Returns FlatMesh

  • Parameters

    • geometryExpressID: number

    Returns IfcGeometry

  • Parameters

    • expressID: number
    • Optionalflatten: boolean

    Returns string | void

  • Parameters

    • type: number

    Returns Vector<number>

  • Parameters

    • expressID: number

    Returns RawLineData

  • Optional: drop the model's materialised entity/descriptor caches, returning that memory. Entities rematerialise on next access.

    Returns void

  • Optional: lazily iterate the express IDs of all root-derived (GlobalId-bearing) entities via the type index, without materialising entities or touching the source buffer. Multi-mapped entities may repeat; callers should dedupe.

    Returns IterableIterator<number, any, any>

  • Optional: release the resident source buffer, serving subsequent record reads through windows paged from the given external store.

    Parameters

    Returns void

  • Parameters

    • meshCallback: ((mesh: FlatMesh) => void)
        • (mesh): void
        • Parameters

          Returns void

    Returns void

  • Parameters

    • types: number[]
    • meshCallback: ((mesh: FlatMesh) => void)
        • (mesh): void
        • Parameters

          Returns void

    Returns void