@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
TypeScript
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 {
[ ]: WorkerStateAPI;
[ ]: WebIfcWorkerAPI;
[ ]: PropertyWorkerAPI;
}
export interface BaseWorkerAPI {
API: WorkerAPIs;
}
export declare type IfcWorkerEventHandler = (data: IfcEventData) => void;
export interface WorkerStateAPI extends BaseWorkerAPI {
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
}
export interface PropertyWorkerAPI extends BaseWorkerAPI {
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
}
export interface ParserWorkerAPI extends BaseWorkerAPI {
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
}
export interface WebIfcWorkerAPI extends BaseWorkerAPI {
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
[ ]: IfcWorkerEventHandler;
}
export interface SerializedVector {
[ ]: 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";