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.

152 lines (151 loc) 6.74 kB
import { IfcState, WebIfcAPI } from '../BaseDefinitions'; export interface IfcWorkerAPI { post: (data: any) => void; initializeAPI: (api: WebIfcAPI) => void; state?: IfcState; postCallback: (data: any, result: any, serializer?: any) => void; } export declare enum WorkerActions { updateStateUseJson = "updateStateUseJson", updateStateWebIfcSettings = "updateStateWebIfcSettings", updateModelStateTypes = "updateModelStateTypes", updateModelStateJsonData = "updateModelStateJsonData", loadJsonDataFromWorker = "loadJsonDataFromWorker", dispose = "dispose", Close = "Close", DisposeWebIfc = "DisposeWebIfc", Init = "Init", OpenModel = "OpenModel", CreateModel = "CreateModel", ExportFileAsIFC = "ExportFileAsIFC", GetGeometry = "GetGeometry", GetLine = "GetLine", GetAndClearErrors = "GetAndClearErrors", WriteLine = "WriteLine", FlattenLine = "FlattenLine", GetRawLineData = "GetRawLineData", WriteRawLineData = "WriteRawLineData", GetLineIDsWithType = "GetLineIDsWithType", GetAllLines = "GetAllLines", SetGeometryTransformation = "SetGeometryTransformation", GetCoordinationMatrix = "GetCoordinationMatrix", GetVertexArray = "GetVertexArray", GetIndexArray = "GetIndexArray", getSubArray = "getSubArray", CloseModel = "CloseModel", StreamAllMeshes = "StreamAllMeshes", StreamAllMeshesWithTypes = "StreamAllMeshesWithTypes", IsModelOpen = "IsModelOpen", LoadAllGeometry = "LoadAllGeometry", GetFlatMesh = "GetFlatMesh", SetWasmPath = "SetWasmPath", GetNameFromTypeCode = "GetNameFromTypeCode", GetIfcEntityList = "GetIfcEntityList", GetTypeCodeFromName = "GetTypeCodeFromName", parse = "parse", setupOptionalCategories = "setupOptionalCategories", getExpressId = "getExpressId", initializeProperties = "initializeProperties", getAllItemsOfType = "getAllItemsOfType", getItemProperties = "getItemProperties", getMaterialsProperties = "getMaterialsProperties", getPropertySets = "getPropertySets", getSpatialStructure = "getSpatialStructure", getTypeProperties = "getTypeProperties", getHeaderLine = "getHeaderLine" } export declare enum WorkerAPIs { workerState = "workerState", webIfc = "webIfc", properties = "properties", parser = "parser" } export interface IfcEventData { worker: WorkerAPIs; action: WorkerActions; args: any; id: number; result: any; onProgress: boolean; } export interface RootWorker { [WorkerAPIs.workerState]: WorkerStateAPI; [WorkerAPIs.webIfc]: WebIfcWorkerAPI; [WorkerAPIs.properties]: PropertyWorkerAPI; } export interface BaseWorkerAPI { API: WorkerAPIs; } export declare type IfcWorkerEventHandler = (data: IfcEventData) => void; export interface WorkerStateAPI extends BaseWorkerAPI { [WorkerActions.updateStateUseJson]: IfcWorkerEventHandler; [WorkerActions.updateStateWebIfcSettings]: IfcWorkerEventHandler; [WorkerActions.updateModelStateTypes]: IfcWorkerEventHandler; [WorkerActions.updateModelStateJsonData]: IfcWorkerEventHandler; [WorkerActions.loadJsonDataFromWorker]: IfcWorkerEventHandler; [WorkerActions.dispose]: IfcWorkerEventHandler; } export interface PropertyWorkerAPI extends BaseWorkerAPI { [WorkerActions.getAllItemsOfType]: IfcWorkerEventHandler; [WorkerActions.getItemProperties]: IfcWorkerEventHandler; [WorkerActions.getMaterialsProperties]: IfcWorkerEventHandler; [WorkerActions.getPropertySets]: IfcWorkerEventHandler; [WorkerActions.getSpatialStructure]: IfcWorkerEventHandler; [WorkerActions.getTypeProperties]: IfcWorkerEventHandler; } export interface ParserWorkerAPI extends BaseWorkerAPI { [WorkerActions.parse]: IfcWorkerEventHandler; [WorkerActions.setupOptionalCategories]: IfcWorkerEventHandler; } export interface WebIfcWorkerAPI extends BaseWorkerAPI { [WorkerActions.Init]: IfcWorkerEventHandler; [WorkerActions.Close]: IfcWorkerEventHandler; [WorkerActions.DisposeWebIfc]: IfcWorkerEventHandler; [WorkerActions.OpenModel]: IfcWorkerEventHandler; [WorkerActions.CreateModel]: IfcWorkerEventHandler; [WorkerActions.ExportFileAsIFC]: IfcWorkerEventHandler; [WorkerActions.GetGeometry]: IfcWorkerEventHandler; [WorkerActions.GetLine]: IfcWorkerEventHandler; [WorkerActions.GetAndClearErrors]: IfcWorkerEventHandler; [WorkerActions.WriteLine]: IfcWorkerEventHandler; [WorkerActions.FlattenLine]: IfcWorkerEventHandler; [WorkerActions.GetRawLineData]: IfcWorkerEventHandler; [WorkerActions.WriteRawLineData]: IfcWorkerEventHandler; [WorkerActions.GetLineIDsWithType]: IfcWorkerEventHandler; [WorkerActions.GetAllLines]: IfcWorkerEventHandler; [WorkerActions.SetGeometryTransformation]: IfcWorkerEventHandler; [WorkerActions.GetCoordinationMatrix]: IfcWorkerEventHandler; [WorkerActions.GetVertexArray]: IfcWorkerEventHandler; [WorkerActions.GetIndexArray]: IfcWorkerEventHandler; [WorkerActions.getSubArray]: IfcWorkerEventHandler; [WorkerActions.CloseModel]: IfcWorkerEventHandler; [WorkerActions.StreamAllMeshes]: IfcWorkerEventHandler; [WorkerActions.StreamAllMeshesWithTypes]: IfcWorkerEventHandler; [WorkerActions.IsModelOpen]: IfcWorkerEventHandler; [WorkerActions.LoadAllGeometry]: IfcWorkerEventHandler; [WorkerActions.GetFlatMesh]: IfcWorkerEventHandler; [WorkerActions.SetWasmPath]: IfcWorkerEventHandler; [WorkerActions.GetNameFromTypeCode]: IfcWorkerEventHandler; [WorkerActions.GetIfcEntityList]: IfcWorkerEventHandler; [WorkerActions.GetTypeCodeFromName]: IfcWorkerEventHandler; } export interface SerializedVector { [key: number]: any; size: number; } export interface SerializedIfcGeometry { GetVertexData: number; GetVertexDataSize: number; GetIndexData: number; GetIndexDataSize: number; } export interface SerializedFlatMesh { geometries: SerializedVector; expressID: number; } export declare const ErrorStateNotAvailable = "The state of the worker does not exist"; export declare const ErrorRootStateNotAvailable = "The root worker does not have any state"; export declare const ErrorPropertiesNotAvailable = "Error: Properties not available from web worker"; export declare const ErrorParserNotAvailable = "Error: Parser not available from web worker"; export declare const ErrorBadJsonPath = "Error: Model not available from web worker"; export declare const ErrorBadJson = "Error: The given Json could not be read as a JS object";