1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
20#[non_exhaustive]
21pub enum Family {
22 Element,
24 ResourceOrProcess,
27}
28
29#[derive(Debug, Clone, Copy, PartialEq, Eq)]
31#[non_exhaustive]
32pub struct ElementType {
33 pub type_name: &'static str,
35 pub arity: usize,
37 pub predefined_slot: usize,
39 pub predefined_optional: bool,
41 pub fallback_attr: &'static str,
43 pub fallback_slot: usize,
45 pub family: Family,
47 pub members: &'static [&'static str],
49}
50
51mod a_c;
52mod d_f;
53mod g_k;
54mod l_p;
55mod q_s;
56mod t_z;
57
58pub use a_c::*;
59pub use d_f::*;
60pub use g_k::*;
61pub use l_p::*;
62pub use q_s::*;
63pub use t_z::*;
64
65pub const ALL: &[ElementType] = &[
67 IFCACTUATORTYPE,
68 IFCAIRTERMINALBOXTYPE,
69 IFCAIRTERMINALTYPE,
70 IFCAIRTOAIRHEATRECOVERYTYPE,
71 IFCALARMTYPE,
72 IFCAUDIOVISUALAPPLIANCETYPE,
73 IFCBEAMTYPE,
74 IFCBEARINGTYPE,
75 IFCBOILERTYPE,
76 IFCBUILDINGELEMENTPARTTYPE,
77 IFCBUILDINGELEMENTPROXYTYPE,
78 IFCBURNERTYPE,
79 IFCCABLECARRIERFITTINGTYPE,
80 IFCCABLECARRIERSEGMENTTYPE,
81 IFCCABLEFITTINGTYPE,
82 IFCCABLESEGMENTTYPE,
83 IFCCAISSONFOUNDATIONTYPE,
84 IFCCHILLERTYPE,
85 IFCCHIMNEYTYPE,
86 IFCCOILTYPE,
87 IFCCOLUMNTYPE,
88 IFCCOMMUNICATIONSAPPLIANCETYPE,
89 IFCCOMPRESSORTYPE,
90 IFCCONDENSERTYPE,
91 IFCCONSTRUCTIONEQUIPMENTRESOURCETYPE,
92 IFCCONSTRUCTIONMATERIALRESOURCETYPE,
93 IFCCONSTRUCTIONPRODUCTRESOURCETYPE,
94 IFCCONTROLLERTYPE,
95 IFCCONVEYORSEGMENTTYPE,
96 IFCCOOLEDBEAMTYPE,
97 IFCCOOLINGTOWERTYPE,
98 IFCCOURSETYPE,
99 IFCCOVERINGTYPE,
100 IFCCREWRESOURCETYPE,
101 IFCCURTAINWALLTYPE,
102 IFCDAMPERTYPE,
103 IFCDISCRETEACCESSORYTYPE,
104 IFCDISTRIBUTIONBOARDTYPE,
105 IFCDISTRIBUTIONCHAMBERELEMENTTYPE,
106 IFCDOORTYPE,
107 IFCDUCTFITTINGTYPE,
108 IFCDUCTSEGMENTTYPE,
109 IFCDUCTSILENCERTYPE,
110 IFCELECTRICAPPLIANCETYPE,
111 IFCELECTRICDISTRIBUTIONBOARDTYPE,
112 IFCELECTRICFLOWSTORAGEDEVICETYPE,
113 IFCELECTRICFLOWTREATMENTDEVICETYPE,
114 IFCELECTRICGENERATORTYPE,
115 IFCELECTRICMOTORTYPE,
116 IFCELECTRICTIMECONTROLTYPE,
117 IFCELEMENTASSEMBLYTYPE,
118 IFCENGINETYPE,
119 IFCEVAPORATIVECOOLERTYPE,
120 IFCEVAPORATORTYPE,
121 IFCEVENTTYPE,
122 IFCFANTYPE,
123 IFCFASTENERTYPE,
124 IFCFILTERTYPE,
125 IFCFIRESUPPRESSIONTERMINALTYPE,
126 IFCFLOWINSTRUMENTTYPE,
127 IFCFLOWMETERTYPE,
128 IFCFOOTINGTYPE,
129 IFCFURNITURETYPE,
130 IFCGEOGRAPHICELEMENTTYPE,
131 IFCHEATEXCHANGERTYPE,
132 IFCHUMIDIFIERTYPE,
133 IFCIMPACTPROTECTIONDEVICETYPE,
134 IFCINTERCEPTORTYPE,
135 IFCJUNCTIONBOXTYPE,
136 IFCKERBTYPE,
137 IFCLABORRESOURCETYPE,
138 IFCLAMPTYPE,
139 IFCLIGHTFIXTURETYPE,
140 IFCLIQUIDTERMINALTYPE,
141 IFCMECHANICALFASTENERTYPE,
142 IFCMEDICALDEVICETYPE,
143 IFCMEMBERTYPE,
144 IFCMOBILETELECOMMUNICATIONSAPPLIANCETYPE,
145 IFCMOORINGDEVICETYPE,
146 IFCMOTORCONNECTIONTYPE,
147 IFCNAVIGATIONELEMENTTYPE,
148 IFCOUTLETTYPE,
149 IFCPAVEMENTTYPE,
150 IFCPILETYPE,
151 IFCPIPEFITTINGTYPE,
152 IFCPIPESEGMENTTYPE,
153 IFCPLATETYPE,
154 IFCPROCEDURETYPE,
155 IFCPROTECTIVEDEVICETRIPPINGUNITTYPE,
156 IFCPROTECTIVEDEVICETYPE,
157 IFCPUMPTYPE,
158 IFCRAILTYPE,
159 IFCRAILINGTYPE,
160 IFCRAMPFLIGHTTYPE,
161 IFCRAMPTYPE,
162 IFCREINFORCINGBARTYPE,
163 IFCREINFORCINGMESHTYPE,
164 IFCROOFTYPE,
165 IFCSANITARYTERMINALTYPE,
166 IFCSENSORTYPE,
167 IFCSHADINGDEVICETYPE,
168 IFCSIGNTYPE,
169 IFCSIGNALTYPE,
170 IFCSLABTYPE,
171 IFCSOLARDEVICETYPE,
172 IFCSPACEHEATERTYPE,
173 IFCSPACETYPE,
174 IFCSPATIALZONETYPE,
175 IFCSTACKTERMINALTYPE,
176 IFCSTAIRFLIGHTTYPE,
177 IFCSTAIRTYPE,
178 IFCSUBCONTRACTRESOURCETYPE,
179 IFCSWITCHINGDEVICETYPE,
180 IFCSYSTEMFURNITUREELEMENTTYPE,
181 IFCTANKTYPE,
182 IFCTASKTYPE,
183 IFCTENDONANCHORTYPE,
184 IFCTENDONCONDUITTYPE,
185 IFCTENDONTYPE,
186 IFCTRACKELEMENTTYPE,
187 IFCTRANSFORMERTYPE,
188 IFCTRANSPORTELEMENTTYPE,
189 IFCTUBEBUNDLETYPE,
190 IFCUNITARYCONTROLELEMENTTYPE,
191 IFCUNITARYEQUIPMENTTYPE,
192 IFCVALVETYPE,
193 IFCVEHICLETYPE,
194 IFCVIBRATIONDAMPERTYPE,
195 IFCVIBRATIONISOLATORTYPE,
196 IFCWALLTYPE,
197 IFCWASTETERMINALTYPE,
198 IFCWINDOWTYPE,
199];