import { ConwayGeometry, GeometryObject } from '@bldrs-ai/conway'; import { CanonicalMaterial } from '@bldrs-ai/conway'; import { IfcSceneBuilder } from '@bldrs-ai/conway/src/ifc/ifc_scene_builder'; import IfcStepModel from '@bldrs-ai/conway/src/ifc/ifc_step_model'; import { FlatMesh, IfcGeometry, LoaderError, Loadersettings, PlacedGeometry, RawLineData, Vector } from './ifc_api'; import { IfcApiModelPassthrough } from './ifc_api_model_passthrough'; import * as glmatrix from 'gl-matrix'; import { IfcProperties } from './ifc_properties'; /** * The proxy for IFC from the shim. */ export declare class IfcApiProxyIfc implements IfcApiModelPassthrough { readonly modelID: number; private readonly wasmModule; private readonly settings?; fs?: any; model: [ IfcStepModel, IfcSceneBuilder, Map, FlatMesh]>, Map, Vector, glmatrix.mat4 ]; conwaywasm: ConwayGeometry; _isCoordinated: boolean; linearScalingFactor: number; identity: number[]; NormalizeMat: glmatrix.mat4; /** * Contains all the logic and methods regarding properties, psets, qsets, etc. */ properties: IfcProperties; /** * Construct wwih a wasm module. * * @param wasmModule The wasm module. */ constructor(modelID: number, data: Uint8Array, wasmModule: any, settings?: Loadersettings); /** * * @param input - FILE_HEADER from step header * @return {string[]} array of fields in FILE_NAME */ parseFileHeader(input: string): string[]; /** * Creates a new model and returns a modelID number (unimplemented) * * @param settings settings for generating data the model * @return {number} model ID */ createModel(settings?: Loadersettings): number; /** * * @param modelID * @return {Uint8Array} unimplemented */ exportFileAsIFC(modelID: number): Uint8Array; /** * Opens a model and returns a modelID number * * @param modelID handle retrieved by OpenModel, model must not be closed * @param geometryExpressID containing IFC data (bytes) * @return {IfcGeometry} */ getGeometry(geometryExpressID: number): IfcGeometry; /** * * @param modelID * @param expressID * @param flatten * @return {any} line data */ getLine(expressID: number, flatten?: boolean): any; /** * * @param modelID * @return {Vector} */ getAndClearErrors(): Vector; /** * * @param modelID * @param lineObject */ writeLine(lineObject: any): void; /** * * @param modelID * @param line */ flattenLine(line: any): void; /** * * @param modelID * @param expressID * @return {RawLineData} */ getRawLineData(expressID: number): RawLineData; /** * * @param modelID * @param data */ writeRawLineData(data: RawLineData): void; /** * * @param modelID * @param type * @return {Vector} */ getLineIDsWithType(type: number): Vector; /** * * @param modelID * @return {Vector} */ getAllLines(): Vector; /** * * @param modelID * @param transformationMatrix */ setGeometryTransformation(transformationMatrix: Array): void; /** * * @param modelID * @return {Array} */ getCoordinationMatrix(): Array; /** * * @param ptr * @param size * @return {Float32Array} */ getVertexArray(ptr: number, size: number): Float32Array; /** * * @param ptr * @param size * @return {Uint32Array} */ getIndexArray(ptr: number, size: number): Uint32Array; /** * * @param heap * @param startPtr * @param sizeBytes * @return {Float32Array | Uint32Array} */ getSubArray(heap: Float32Array | Uint32Array, startPtr: number, sizeBytes: number): Float32Array | Uint32Array; /** * Closes a model and frees all related memory * * @param modelID Model handle retrieved by OpenModel, model must not be closed */ closeModel(): void; /** * * @param modelID * @param meshCallback */ streamAllMeshes(meshCallback: (mesh: FlatMesh) => void): void; /** * * @param modelID * @param types * @param meshCallback */ streamAllMeshesWithTypes(types: Array, meshCallback: (mesh: FlatMesh) => void): void; /** * Load all geometry in a model * * @return {Vector} */ loadAllGeometry(): Vector; /** * Load geometry for a single element * * @param expressID express ID of flat mesh * @return {FlatMesh} */ getFlatMesh(expressID: number): FlatMesh; /** * Creates a map between element ExpressIDs and GlobalIDs. * Each element has two entries, (ExpressID -> GlobalID) and (GlobalID -> ExpressID). * * @param modelID handle retrieved by OpenModel */ createGuidToExpressIdMapping(): void; } //# sourceMappingURL=ifc_api_proxy_ifc.d.ts.map