Skip to main content

ifc_lite_processing/
lib.rs

1// This Source Code Form is subject to the terms of the Mozilla Public
2// License, v. 2.0. If a copy of the MPL was not distributed with this
3// file, You can obtain one at https://mozilla.org/MPL/2.0/.
4
5//! Shared IFC processing pipeline and types.
6//!
7//! This crate extracts the core processing logic so it can be used by both
8//! the HTTP server and the native FFI library.
9
10pub mod element;
11mod georeferencing;
12pub mod prepass;
13mod processor;
14pub mod style;
15mod symbolic;
16mod types;
17
18pub use georeferencing::{extract_georeferencing, Georeferencing};
19/// Re-exported so the server can name the quality level without a direct
20/// `ifc-lite-geometry` dependency edge for one enum.
21pub use ifc_lite_geometry::TessellationQuality;
22pub use processor::{
23    convert_mesh_to_site_local, process_geometry, process_geometry_filtered,
24    process_geometry_filtered_with_quality,
25    process_geometry_streaming, process_geometry_streaming_filtered,
26    process_geometry_streaming_filtered_with_options, process_geometry_streaming_with_options,
27    process_geometry_streaming_with_options_and_bootstrap,
28    OpeningFilterMode, ProcessingResult, StreamingOptions,
29};
30pub use style::{default_color_for_type, Rgba, TRANSPARENCY_ALPHA_THRESHOLD};
31pub use symbolic::{
32    extract_symbolic_data, SymbolicCircle, SymbolicData, SymbolicFillArea, SymbolicGridAxis,
33    SymbolicPolyline, SymbolicText,
34};
35pub use types::mesh::MeshData;
36pub use types::response::{
37    CoordinateInfo, ModelMetadata, ParseResponse, ProcessingStats,
38    QuickMetadataBootstrap, QuickMetadataEntitySummary, QuickMetadataSpatialNode,
39};