ifc_lite_landxml/
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//! Bounded, event-driven LandXML 1.0, 1.1, and 1.2 source ingestion.
6//!
7//! This crate intentionally stops at durable LandXML semantic records. It
8//! neither fabricates IFC nor creates renderer meshes; later adapters own
9//! coordinate systems, mesh partitioning, and presentation.
10
11pub mod alignment;
12mod capture;
13mod limits;
14mod model;
15mod parser;
16mod pipe_parser;
17mod pipes;
18mod plan;
19mod preflight;
20mod profile;
21mod profile_circular;
22mod profile_evaluator;
23mod semantics;
24mod stream;
25mod terrain;
26mod terrain_validation;
27mod xml;
28
29pub use limits::{LandXmlCancellation, LandXmlCancellationFlag, LandXmlLimits};
30pub use model::{
31    LandXmlCanonicalVertex, LandXmlCapabilities, LandXmlCoordinateSystem, LandXmlDiagnosticCode,
32    LandXmlError, LandXmlExtension, LandXmlPoint, LandXmlPolyline, LandXmlProperties,
33    LandXmlRenderState, LandXmlSourceId, LandXmlSourcePoint, LandXmlSurface, LandXmlSurfaceKind,
34    LandXmlTerrainDiagnostic, LandXmlTerrainDiagnosticCode, LandXmlTinDocument,
35    LandXmlTopologyOrigin, LandXmlUnits, LandXmlVersionCapability,
36};
37pub use parser::{
38    classify_landxml_version, parse_landxml_tin, parse_landxml_tin_with_cancel,
39    LANDXML_10_NAMESPACE, LANDXML_11_NAMESPACE, LANDXML_12_NAMESPACE,
40};
41pub(crate) use parser::compatibility_version_diagnostic;
42pub use profile::{
43    LandXmlAlignment, LandXmlCapabilityDiagnostic, LandXmlCapabilityDiagnosticCode,
44    LandXmlCrossSection, LandXmlCrossSectionPoint, LandXmlCrossSectionPointDataFormat,
45    LandXmlCrossSectionSegment, LandXmlCrossSectionSurface, LandXmlCrossSectionSurfaceKind,
46    LandXmlGradeLine, LandXmlPreservedOnlyExtension, LandXmlPreservedOnlyExtensionKind,
47    LandXmlProfile, LandXmlProfileEvaluationError, LandXmlProfileKind, LandXmlProfilePoint,
48    LandXmlRoadway, LandXmlVerticalCurve, LandXmlVerticalCurveKind,
49};
50pub use plan::{
51    parse_landxml_document, parse_landxml_plan, parse_landxml_plan_with_cancel, LandXmlCgPoint,
52    LandXmlDocument, LandXmlGeometryKind, LandXmlMonument, LandXmlParcel, LandXmlParcelProbe,
53    LandXmlParcelState, LandXmlPlanDocument, LandXmlPlanFeature, LandXmlPlanGeometry,
54    LandXmlPlanLimits, LandXmlPlanPoint, LandXmlPlanPointLocation, LandXmlPlanResolver,
55    LandXmlPlanSourceBatch,
56};
57pub use pipe_parser::{parse_landxml_pipe_networks, parse_landxml_pipe_networks_with_cancel};
58pub use pipes::{
59    LandXmlPipe, LandXmlPipeConnectivity, LandXmlPipeFeature, LandXmlPipeFlow, LandXmlPipeGeometry,
60    LandXmlPipeInvert, LandXmlPipeMeasure, LandXmlPipeNetwork, LandXmlPipeNetworkCollection,
61    LandXmlPipeNetworkDocument, LandXmlPipePart, LandXmlPipePosition, LandXmlPipeProperties,
62    LandXmlPipeRefusal, LandXmlPipeSourceBatch, LandXmlPipeStructure, LandXmlPipeUnits,
63    LandXmlStructurePart,
64};
65pub use stream::{
66    LandXmlMetadataRecord, LandXmlMetadataRecordFragment, LandXmlMetadataStreamAssembler, LandXmlMetadataStreamEnd,
67    LandXmlMetadataStreamEvent, LandXmlMetadataStreamHeader, LandXmlStreamEvent,
68    LandXmlStreamHeader, LandXmlStreamMetadata, LandXmlStreamSummary, LandXmlSurfaceComponent,
69    LandXmlSurfaceFragment, LandXmlTinStreamSession, MAX_LANDXML_STREAM_DRAIN_BYTES,
70    MAX_LANDXML_STREAM_EVENT_BYTES, MAX_LANDXML_STREAM_INPUT_CHUNK_BYTES,
71    MAX_LANDXML_STREAM_QUEUED_BYTES, MAX_LANDXML_STREAM_QUEUED_EVENTS,
72};