@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
TypeScript
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>;
}