UNPKG

@ecogis/gis-web-ifc-three

Version:

This library is the implementation of [web-ifc](https://github.com/tomvandig/web-ifc) for [THREE.js](https://github.com/mrdoob/three.js/). This is the official IFCLoader of Three.js.

42 lines (41 loc) 2.6 kB
import { WebIfcAPI } from '../../BaseDefinitions'; import { WorkerAPIs } from '../BaseDefinitions'; import { NewIfcModel, FlatMesh, IfcGeometry, LoaderError, LoaderSettings, RawLineData, Vector } from 'web-ifc'; import { IFCWorkerHandler } from '../IFCWorkerHandler'; import { Serializer } from '../serializer/Serializer'; export declare class WebIfcHandler implements WebIfcAPI { private handler; private serializer; wasmModule: any; API: WorkerAPIs; constructor(handler: IFCWorkerHandler, serializer: Serializer); Init(): Promise<void>; OpenModel(data: string | Uint8Array, settings?: LoaderSettings): Promise<number>; CreateModel(model: NewIfcModel, settings?: LoaderSettings): Promise<number>; ExportFileAsIFC(modelID: number): Promise<Uint8Array>; GetHeaderLine(modelID: number, headerType: number): Promise<any>; GetGeometry(modelID: number, geometryExpressID: number): Promise<IfcGeometry>; GetLine(modelID: number, expressID: number, flatten?: boolean): Promise<any>; GetAndClearErrors(modelID: number): Promise<Vector<LoaderError>>; GetNameFromTypeCode(type: number): Promise<string>; GetIfcEntityList(modelID: number): Promise<number[]>; GetTypeCodeFromName(modelID: number, typeName: string): Promise<number>; WriteLine(modelID: number, lineObject: any): Promise<void>; FlattenLine(modelID: number, line: any): Promise<void>; GetRawLineData(modelID: number, expressID: number): Promise<RawLineData>; WriteRawLineData(modelID: number, data: RawLineData): Promise<any>; GetLineIDsWithType(modelID: number, type: number): Promise<Vector<number>>; GetAllLines(modelID: number): Promise<Vector<number>>; SetGeometryTransformation(modelID: number, transformationMatrix: number[]): Promise<void>; GetCoordinationMatrix(modelID: number): Promise<number[]>; GetVertexArray(ptr: number, size: number): Promise<Float32Array>; GetIndexArray(ptr: number, size: number): Promise<Uint32Array>; getSubArray(heap: any, startPtr: any, sizeBytes: any): Promise<any>; CloseModel(modelID: number): Promise<void>; StreamAllMeshes(modelID: number, meshCallback: (mesh: FlatMesh) => void): Promise<void>; StreamAllMeshesWithTypes(modelID: number, types: number[], meshCallback: (mesh: FlatMesh) => void): Promise<void>; IsModelOpen(modelID: number): Promise<boolean>; LoadAllGeometry(modelID: number): Promise<Vector<FlatMesh>>; GetFlatMesh(modelID: number, expressID: number): Promise<FlatMesh>; SetWasmPath(path: string): Promise<void>; }