Skip to main content

Crate ifc_lite_processing

Crate ifc_lite_processing 

Source
Expand description

Shared IFC processing pipeline and types.

This crate extracts the core processing logic so it can be used by both the HTTP server and the native FFI library.

Re-exports§

pub use style::default_color_for_type;
pub use style::Rgba;
pub use style::TRANSPARENCY_ALPHA_THRESHOLD;

Modules§

element
Canonical per-element mesh production — THE single decision tree that turns one IFC product (or type-product RepresentationMap) into renderable meshes.
prepass
Canonical prepass resolution — the single post-scan step that turns the entity spans a scan collected into the style / material / void context the per-element producer (crate::element) consumes.
style
Canonical IFC styling — the single source of truth for mesh colors, shared between the HTTP server, the native pipeline, and the browser-side WASM bindings (issue #913).

Structs§

CoordinateInfo
Coordinate system information.
Georeferencing
Georeferencing metadata (IfcMapConversion + IfcProjectedCRS).
MeshData
Individual mesh data with geometry and metadata.
ModelMetadata
Model metadata extracted from the IFC file.
ParseResponse
Full parse response with all meshes.
ProcessingResult
Result of processing an IFC file.
ProcessingStats
Processing statistics.
QuickMetadataBootstrap
QuickMetadataEntitySummary
QuickMetadataSpatialNode
StreamingOptions
Controls the tradeoff between first-frame latency and richer upfront metadata.
SymbolicCircle
A single 2D circle / arc for symbolic representations.
SymbolicData
Server-friendly summary of the IFC’s 2D symbol data.
SymbolicFillArea
A 2D filled region (IfcAnnotationFillArea).
SymbolicGridAxis
A single IfcGridAxis tag + axis curve (server-friendly endpoint-pair representation; the wasm pipeline emits the same data via SymbolicPolyline axis lines and SymbolicText bubbles, both of which are also populated below).
SymbolicPolyline
A single 2D polyline for symbolic representations.
SymbolicText
A 2D text annotation (IfcTextLiteral / IfcTextLiteralWithExtent).

Enums§

OpeningFilterMode
Controls how IfcWindow / IfcDoor openings are exported.
TessellationQuality
Re-exported so the server can name the quality level without a direct ifc-lite-geometry dependency edge for one enum. Detail level for geometry tessellation, selectable by consumers.

Functions§

convert_mesh_to_site_local
Rotate a mesh into the site-local axis frame. Only runs for the site_local coordinate-space tier; translation alignment happens upstream via the router’s RTC subtraction.
extract_georeferencing
Extract georeferencing from an IFC file, returning None when the model carries no IfcMapConversion / ePSet_MapConversion data.
extract_symbolic_data
Scan an IFC file for IfcGrid and any product carrying a Plan / Annotation / FootPrint / Axis representation, and return the full symbolic primitive collection. Pure-Rust (no wasm_bindgen), so it works inside the HTTP server.
process_geometry
Process IFC content with parallel geometry extraction (default opening filter).
process_geometry_filtered
Process IFC content with parallel geometry extraction and a configurable opening filter.
process_geometry_filtered_with_quality
Like process_geometry_filtered with a consumer-selected tessellation detail level (#976) — the server half of the quality knob the wasm path exposes via setTessellationQuality.
process_geometry_streaming
Process IFC content with parallel geometry extraction and emit batches as they complete.
process_geometry_streaming_filtered
Process IFC content with parallel geometry extraction and a configurable streaming batch size.
process_geometry_streaming_filtered_with_options
Process IFC content with parallel geometry extraction and configurable streaming behavior.
process_geometry_streaming_with_options
Process IFC content with parallel geometry extraction and configurable streaming behavior.
process_geometry_streaming_with_options_and_bootstrap
Process IFC content with parallel geometry extraction and emit a quick metadata bootstrap once the scan phase completes.