ifc_rs/materials/
mod.rs

1use winnow::combinator::alt;
2
3use crate::{
4    ifc_type::IfcType,
5    parser::{IFCParse, IFCParser},
6};
7
8pub mod direction_sense_enum;
9pub mod layer_set_direction_enum;
10pub mod material;
11pub mod material_constituent;
12pub mod material_constituent_set;
13pub mod material_layer;
14pub mod material_layer_set;
15pub mod material_layer_set_usage;
16pub mod prelude;
17
18pub struct Materials;
19
20impl Materials {
21    pub fn parse<'a>() -> impl IFCParser<'a, Box<dyn IfcType>> {
22        alt((
23            material_layer_set_usage::MaterialLayerSetUsage::parse_any(),
24            material_layer_set::MaterialLayerSet::parse_any(),
25            material_layer::MaterialLayer::parse_any(),
26            material::Material::parse_any(),
27            material_constituent::MaterialConstituent::parse_any(),
28            material_constituent_set::MaterialConstituentSet::parse_any(),
29        ))
30    }
31}