ifc_lite_core/
compatibility.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 interoperability policy for non-EXPRESS exporter spellings.
6//!
7//! Every supported EXPRESS entity is represented by the generated per-schema
8//! universe. These three tokens are deliberately the only exception: common
9//! exporters instantiate leaves that IFC4X3 models only through their abstract
10//! geotechnical-stratum base.
11
12/// Non-EXPRESS exporter spellings accepted as geometry-bearing rooted strata.
13pub const EXPORTER_STRATUM_ALIASES: &[&str] = &[
14    "IFCSOLIDSTRATUM",
15    "IFCVOIDSTRATUM",
16    "IFCWATERSTRATUM",
17];
18
19/// Whether an uppercase STEP keyword is one of the bounded aliases.
20pub fn is_exporter_stratum_alias(keyword: &str) -> bool {
21    EXPORTER_STRATUM_ALIASES.contains(&keyword)
22}