import { CanonicalMesh } from "../core/canonical_mesh.js"; import { ModelGeometry } from "../core/model.js"; import IfcStepModel from "./ifc_step_model.js"; import { IfcGeometricRepresentationItem } from "./ifc4_gen/index.js"; import { CanonicalMaterial } from "../core/canonical_material.js"; /** * Geometry for an IFC model. */ export declare class IfcModelGeometry implements ModelGeometry { readonly model: IfcStepModel; readonly isVoid: boolean; private readonly meshes_; /** * Construct this with an IFC step model. * * @param model The model this is from * @param isVoid */ constructor(model: IfcStepModel, isVoid?: boolean); /** * Get the number of items in this. * * @return {number} */ get length(): number; /** * Delete the temporaries from this. */ deleteTemporaries(): void; /** * Add a mesh to the geometry cache. * * @param mesh */ add(mesh: CanonicalMesh): void; /** * Drop the mesh for a particular local ID * * @param localID The local ID of the item to delete. */ delete(localID: number): void; /** * Get an mesh by its matching local ID. * * @param localID * @return {CanonicalMesh | undefined} */ getByLocalID(localID: number): CanonicalMesh | undefined; /** * Allows iteration through this. * * @return {IterableIterator} */ [Symbol.iterator](): IterableIterator; /** * Calculate the size of the geometry data in this. * * @return {number} - size of the geometry data */ calculateGeometrySize(): number; /** * Get the OBJs for all the curves in the cache (lazily) * * @yields {[IfcGeometricRepresentationItem, string]} Curves with their matching OBJ as a string */ objs(): IterableIterator<[ IfcGeometricRepresentationItem, string, CanonicalMaterial, string ] | [ IfcGeometricRepresentationItem, string, undefined, undefined ]>; } //# sourceMappingURL=ifc_model_geometry.d.ts.map