1 /*
2 Open Asset Import Library (ASSIMP)
3 ----------------------------------------------------------------------
4 
5 Copyright (c) 2006-2010, ASSIMP Development Team
6 All rights reserved.
7 
8 Redistribution and use of this software in source and binary forms,
9 with or without modification, are permitted provided that the
10 following conditions are met:
11 
12 * Redistributions of source code must retain the above
13   copyright notice, this list of conditions and the
14   following disclaimer.
15 
16 * Redistributions in binary form must reproduce the above
17   copyright notice, this list of conditions and the
18   following disclaimer in the documentation and/or other
19   materials provided with the distribution.
20 
21 * Neither the name of the ASSIMP team, nor the names of its
22   contributors may be used to endorse or promote products
23   derived from this software without specific prior
24   written permission of the ASSIMP Development Team.
25 
26 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 
38 ----------------------------------------------------------------------
39 */
40 
41 /** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
42 
43 #ifndef INCLUDED_IFC_READER_GEN_H
44 #define INCLUDED_IFC_READER_GEN_H
45 
46 #include "STEPFile.h"
47 
48 namespace Assimp {
49 namespace IFC {
50     using namespace STEP;
51     using namespace STEP::EXPRESS;
52 
53 
54     struct NotImplemented : public ObjectHelper<NotImplemented,0> {
55 
56     };
57 
58 
59     // ******************************************************************************
60     // IFC Custom data types
61     // ******************************************************************************
62 
63 
64     // C++ wrapper type for IfcAbsorbedDoseMeasure
65     typedef REAL IfcAbsorbedDoseMeasure;
66     // C++ wrapper type for IfcAccelerationMeasure
67     typedef REAL IfcAccelerationMeasure;
68     // C++ wrapper type for IfcAmountOfSubstanceMeasure
69     typedef REAL IfcAmountOfSubstanceMeasure;
70     // C++ wrapper type for IfcAngularVelocityMeasure
71     typedef REAL IfcAngularVelocityMeasure;
72     // C++ wrapper type for IfcAreaMeasure
73     typedef REAL IfcAreaMeasure;
74     // C++ wrapper type for IfcBoolean
75     typedef BOOLEAN IfcBoolean;
76     // C++ wrapper type for IfcBoxAlignment
77     typedef STRING IfcBoxAlignment;
78     // C++ wrapper type for IfcCompoundPlaneAngleMeasure
79     typedef ListOf< INTEGER, 3, 3 > IfcCompoundPlaneAngleMeasure;
80     // C++ wrapper type for IfcContextDependentMeasure
81     typedef REAL IfcContextDependentMeasure;
82     // C++ wrapper type for IfcCountMeasure
83     typedef NUMBER IfcCountMeasure;
84     // C++ wrapper type for IfcCurvatureMeasure
85     typedef REAL IfcCurvatureMeasure;
86     // C++ wrapper type for IfcDayInMonthNumber
87     typedef INTEGER IfcDayInMonthNumber;
88     // C++ wrapper type for IfcDaylightSavingHour
89     typedef INTEGER IfcDaylightSavingHour;
90     // C++ wrapper type for IfcDescriptiveMeasure
91     typedef STRING IfcDescriptiveMeasure;
92     // C++ wrapper type for IfcDimensionCount
93     typedef INTEGER IfcDimensionCount;
94     // C++ wrapper type for IfcDoseEquivalentMeasure
95     typedef REAL IfcDoseEquivalentMeasure;
96     // C++ wrapper type for IfcDynamicViscosityMeasure
97     typedef REAL IfcDynamicViscosityMeasure;
98     // C++ wrapper type for IfcElectricCapacitanceMeasure
99     typedef REAL IfcElectricCapacitanceMeasure;
100     // C++ wrapper type for IfcElectricChargeMeasure
101     typedef REAL IfcElectricChargeMeasure;
102     // C++ wrapper type for IfcElectricConductanceMeasure
103     typedef REAL IfcElectricConductanceMeasure;
104     // C++ wrapper type for IfcElectricCurrentMeasure
105     typedef REAL IfcElectricCurrentMeasure;
106     // C++ wrapper type for IfcElectricResistanceMeasure
107     typedef REAL IfcElectricResistanceMeasure;
108     // C++ wrapper type for IfcElectricVoltageMeasure
109     typedef REAL IfcElectricVoltageMeasure;
110     // C++ wrapper type for IfcEnergyMeasure
111     typedef REAL IfcEnergyMeasure;
112     // C++ wrapper type for IfcFontStyle
113     typedef STRING IfcFontStyle;
114     // C++ wrapper type for IfcFontVariant
115     typedef STRING IfcFontVariant;
116     // C++ wrapper type for IfcFontWeight
117     typedef STRING IfcFontWeight;
118     // C++ wrapper type for IfcForceMeasure
119     typedef REAL IfcForceMeasure;
120     // C++ wrapper type for IfcFrequencyMeasure
121     typedef REAL IfcFrequencyMeasure;
122     // C++ wrapper type for IfcGloballyUniqueId
123     typedef STRING IfcGloballyUniqueId;
124     // C++ wrapper type for IfcHeatFluxDensityMeasure
125     typedef REAL IfcHeatFluxDensityMeasure;
126     // C++ wrapper type for IfcHeatingValueMeasure
127     typedef REAL IfcHeatingValueMeasure;
128     // C++ wrapper type for IfcHourInDay
129     typedef INTEGER IfcHourInDay;
130     // C++ wrapper type for IfcIdentifier
131     typedef STRING IfcIdentifier;
132     // C++ wrapper type for IfcIlluminanceMeasure
133     typedef REAL IfcIlluminanceMeasure;
134     // C++ wrapper type for IfcInductanceMeasure
135     typedef REAL IfcInductanceMeasure;
136     // C++ wrapper type for IfcInteger
137     typedef INTEGER IfcInteger;
138     // C++ wrapper type for IfcIntegerCountRateMeasure
139     typedef INTEGER IfcIntegerCountRateMeasure;
140     // C++ wrapper type for IfcIonConcentrationMeasure
141     typedef REAL IfcIonConcentrationMeasure;
142     // C++ wrapper type for IfcIsothermalMoistureCapacityMeasure
143     typedef REAL IfcIsothermalMoistureCapacityMeasure;
144     // C++ wrapper type for IfcKinematicViscosityMeasure
145     typedef REAL IfcKinematicViscosityMeasure;
146     // C++ wrapper type for IfcLabel
147     typedef STRING IfcLabel;
148     // C++ wrapper type for IfcLengthMeasure
149     typedef REAL IfcLengthMeasure;
150     // C++ wrapper type for IfcLinearForceMeasure
151     typedef REAL IfcLinearForceMeasure;
152     // C++ wrapper type for IfcLinearMomentMeasure
153     typedef REAL IfcLinearMomentMeasure;
154     // C++ wrapper type for IfcLinearStiffnessMeasure
155     typedef REAL IfcLinearStiffnessMeasure;
156     // C++ wrapper type for IfcLinearVelocityMeasure
157     typedef REAL IfcLinearVelocityMeasure;
158     // C++ wrapper type for IfcLogical
159     typedef LOGICAL IfcLogical;
160     // C++ wrapper type for IfcLuminousFluxMeasure
161     typedef REAL IfcLuminousFluxMeasure;
162     // C++ wrapper type for IfcLuminousIntensityDistributionMeasure
163     typedef REAL IfcLuminousIntensityDistributionMeasure;
164     // C++ wrapper type for IfcLuminousIntensityMeasure
165     typedef REAL IfcLuminousIntensityMeasure;
166     // C++ wrapper type for IfcMagneticFluxDensityMeasure
167     typedef REAL IfcMagneticFluxDensityMeasure;
168     // C++ wrapper type for IfcMagneticFluxMeasure
169     typedef REAL IfcMagneticFluxMeasure;
170     // C++ wrapper type for IfcMassDensityMeasure
171     typedef REAL IfcMassDensityMeasure;
172     // C++ wrapper type for IfcMassFlowRateMeasure
173     typedef REAL IfcMassFlowRateMeasure;
174     // C++ wrapper type for IfcMassMeasure
175     typedef REAL IfcMassMeasure;
176     // C++ wrapper type for IfcMassPerLengthMeasure
177     typedef REAL IfcMassPerLengthMeasure;
178     // C++ wrapper type for IfcMinuteInHour
179     typedef INTEGER IfcMinuteInHour;
180     // C++ wrapper type for IfcModulusOfElasticityMeasure
181     typedef REAL IfcModulusOfElasticityMeasure;
182     // C++ wrapper type for IfcModulusOfLinearSubgradeReactionMeasure
183     typedef REAL IfcModulusOfLinearSubgradeReactionMeasure;
184     // C++ wrapper type for IfcModulusOfRotationalSubgradeReactionMeasure
185     typedef REAL IfcModulusOfRotationalSubgradeReactionMeasure;
186     // C++ wrapper type for IfcModulusOfSubgradeReactionMeasure
187     typedef REAL IfcModulusOfSubgradeReactionMeasure;
188     // C++ wrapper type for IfcMoistureDiffusivityMeasure
189     typedef REAL IfcMoistureDiffusivityMeasure;
190     // C++ wrapper type for IfcMolecularWeightMeasure
191     typedef REAL IfcMolecularWeightMeasure;
192     // C++ wrapper type for IfcMomentOfInertiaMeasure
193     typedef REAL IfcMomentOfInertiaMeasure;
194     // C++ wrapper type for IfcMonetaryMeasure
195     typedef REAL IfcMonetaryMeasure;
196     // C++ wrapper type for IfcMonthInYearNumber
197     typedef INTEGER IfcMonthInYearNumber;
198     // C++ wrapper type for IfcNormalisedRatioMeasure
199     typedef REAL IfcNormalisedRatioMeasure;
200     // C++ wrapper type for IfcNumericMeasure
201     typedef NUMBER IfcNumericMeasure;
202     // C++ wrapper type for IfcPHMeasure
203     typedef REAL IfcPHMeasure;
204     // C++ wrapper type for IfcParameterValue
205     typedef REAL IfcParameterValue;
206     // C++ wrapper type for IfcPlanarForceMeasure
207     typedef REAL IfcPlanarForceMeasure;
208     // C++ wrapper type for IfcPlaneAngleMeasure
209     typedef REAL IfcPlaneAngleMeasure;
210     // C++ wrapper type for IfcPositiveLengthMeasure
211     typedef REAL IfcPositiveLengthMeasure;
212     // C++ wrapper type for IfcPositivePlaneAngleMeasure
213     typedef REAL IfcPositivePlaneAngleMeasure;
214     // C++ wrapper type for IfcPositiveRatioMeasure
215     typedef REAL IfcPositiveRatioMeasure;
216     // C++ wrapper type for IfcPowerMeasure
217     typedef REAL IfcPowerMeasure;
218     // C++ wrapper type for IfcPresentableText
219     typedef STRING IfcPresentableText;
220     // C++ wrapper type for IfcPressureMeasure
221     typedef REAL IfcPressureMeasure;
222     // C++ wrapper type for IfcRadioActivityMeasure
223     typedef REAL IfcRadioActivityMeasure;
224     // C++ wrapper type for IfcRatioMeasure
225     typedef REAL IfcRatioMeasure;
226     // C++ wrapper type for IfcReal
227     typedef REAL IfcReal;
228     // C++ wrapper type for IfcRotationalFrequencyMeasure
229     typedef REAL IfcRotationalFrequencyMeasure;
230     // C++ wrapper type for IfcRotationalMassMeasure
231     typedef REAL IfcRotationalMassMeasure;
232     // C++ wrapper type for IfcRotationalStiffnessMeasure
233     typedef REAL IfcRotationalStiffnessMeasure;
234     // C++ wrapper type for IfcSecondInMinute
235     typedef REAL IfcSecondInMinute;
236     // C++ wrapper type for IfcSectionModulusMeasure
237     typedef REAL IfcSectionModulusMeasure;
238     // C++ wrapper type for IfcSectionalAreaIntegralMeasure
239     typedef REAL IfcSectionalAreaIntegralMeasure;
240     // C++ wrapper type for IfcShearModulusMeasure
241     typedef REAL IfcShearModulusMeasure;
242     // C++ wrapper type for IfcSolidAngleMeasure
243     typedef REAL IfcSolidAngleMeasure;
244     // C++ wrapper type for IfcSoundPowerMeasure
245     typedef REAL IfcSoundPowerMeasure;
246     // C++ wrapper type for IfcSoundPressureMeasure
247     typedef REAL IfcSoundPressureMeasure;
248     // C++ wrapper type for IfcSpecificHeatCapacityMeasure
249     typedef REAL IfcSpecificHeatCapacityMeasure;
250     // C++ wrapper type for IfcSpecularExponent
251     typedef REAL IfcSpecularExponent;
252     // C++ wrapper type for IfcSpecularRoughness
253     typedef REAL IfcSpecularRoughness;
254     // C++ wrapper type for IfcTemperatureGradientMeasure
255     typedef REAL IfcTemperatureGradientMeasure;
256     // C++ wrapper type for IfcText
257     typedef STRING IfcText;
258     // C++ wrapper type for IfcTextAlignment
259     typedef STRING IfcTextAlignment;
260     // C++ wrapper type for IfcTextDecoration
261     typedef STRING IfcTextDecoration;
262     // C++ wrapper type for IfcTextFontName
263     typedef STRING IfcTextFontName;
264     // C++ wrapper type for IfcTextTransformation
265     typedef STRING IfcTextTransformation;
266     // C++ wrapper type for IfcThermalAdmittanceMeasure
267     typedef REAL IfcThermalAdmittanceMeasure;
268     // C++ wrapper type for IfcThermalConductivityMeasure
269     typedef REAL IfcThermalConductivityMeasure;
270     // C++ wrapper type for IfcThermalExpansionCoefficientMeasure
271     typedef REAL IfcThermalExpansionCoefficientMeasure;
272     // C++ wrapper type for IfcThermalResistanceMeasure
273     typedef REAL IfcThermalResistanceMeasure;
274     // C++ wrapper type for IfcThermalTransmittanceMeasure
275     typedef REAL IfcThermalTransmittanceMeasure;
276     // C++ wrapper type for IfcThermodynamicTemperatureMeasure
277     typedef REAL IfcThermodynamicTemperatureMeasure;
278     // C++ wrapper type for IfcTimeMeasure
279     typedef REAL IfcTimeMeasure;
280     // C++ wrapper type for IfcTimeStamp
281     typedef INTEGER IfcTimeStamp;
282     // C++ wrapper type for IfcTorqueMeasure
283     typedef REAL IfcTorqueMeasure;
284     // C++ wrapper type for IfcVaporPermeabilityMeasure
285     typedef REAL IfcVaporPermeabilityMeasure;
286     // C++ wrapper type for IfcVolumeMeasure
287     typedef REAL IfcVolumeMeasure;
288     // C++ wrapper type for IfcVolumetricFlowRateMeasure
289     typedef REAL IfcVolumetricFlowRateMeasure;
290     // C++ wrapper type for IfcWarpingConstantMeasure
291     typedef REAL IfcWarpingConstantMeasure;
292     // C++ wrapper type for IfcWarpingMomentMeasure
293     typedef REAL IfcWarpingMomentMeasure;
294     // C++ wrapper type for IfcYearNumber
295     typedef INTEGER IfcYearNumber;
296     // C++ wrapper type for IfcActionSourceTypeEnum
297     typedef ENUMERATION IfcActionSourceTypeEnum;
298     // C++ wrapper type for IfcActionTypeEnum
299     typedef ENUMERATION IfcActionTypeEnum;
300     // C++ wrapper type for IfcActuatorTypeEnum
301     typedef ENUMERATION IfcActuatorTypeEnum;
302     // C++ wrapper type for IfcAddressTypeEnum
303     typedef ENUMERATION IfcAddressTypeEnum;
304     // C++ wrapper type for IfcAheadOrBehind
305     typedef ENUMERATION IfcAheadOrBehind;
306     // C++ wrapper type for IfcAirTerminalBoxTypeEnum
307     typedef ENUMERATION IfcAirTerminalBoxTypeEnum;
308     // C++ wrapper type for IfcAirTerminalTypeEnum
309     typedef ENUMERATION IfcAirTerminalTypeEnum;
310     // C++ wrapper type for IfcAirToAirHeatRecoveryTypeEnum
311     typedef ENUMERATION IfcAirToAirHeatRecoveryTypeEnum;
312     // C++ wrapper type for IfcAlarmTypeEnum
313     typedef ENUMERATION IfcAlarmTypeEnum;
314     // C++ wrapper type for IfcAnalysisModelTypeEnum
315     typedef ENUMERATION IfcAnalysisModelTypeEnum;
316     // C++ wrapper type for IfcAnalysisTheoryTypeEnum
317     typedef ENUMERATION IfcAnalysisTheoryTypeEnum;
318     // C++ wrapper type for IfcArithmeticOperatorEnum
319     typedef ENUMERATION IfcArithmeticOperatorEnum;
320     // C++ wrapper type for IfcAssemblyPlaceEnum
321     typedef ENUMERATION IfcAssemblyPlaceEnum;
322     // C++ wrapper type for IfcBSplineCurveForm
323     typedef ENUMERATION IfcBSplineCurveForm;
324     // C++ wrapper type for IfcBeamTypeEnum
325     typedef ENUMERATION IfcBeamTypeEnum;
326     // C++ wrapper type for IfcBenchmarkEnum
327     typedef ENUMERATION IfcBenchmarkEnum;
328     // C++ wrapper type for IfcBoilerTypeEnum
329     typedef ENUMERATION IfcBoilerTypeEnum;
330     // C++ wrapper type for IfcBooleanOperator
331     typedef ENUMERATION IfcBooleanOperator;
332     // C++ wrapper type for IfcBuildingElementProxyTypeEnum
333     typedef ENUMERATION IfcBuildingElementProxyTypeEnum;
334     // C++ wrapper type for IfcCableCarrierFittingTypeEnum
335     typedef ENUMERATION IfcCableCarrierFittingTypeEnum;
336     // C++ wrapper type for IfcCableCarrierSegmentTypeEnum
337     typedef ENUMERATION IfcCableCarrierSegmentTypeEnum;
338     // C++ wrapper type for IfcCableSegmentTypeEnum
339     typedef ENUMERATION IfcCableSegmentTypeEnum;
340     // C++ wrapper type for IfcChangeActionEnum
341     typedef ENUMERATION IfcChangeActionEnum;
342     // C++ wrapper type for IfcChillerTypeEnum
343     typedef ENUMERATION IfcChillerTypeEnum;
344     // C++ wrapper type for IfcCoilTypeEnum
345     typedef ENUMERATION IfcCoilTypeEnum;
346     // C++ wrapper type for IfcColumnTypeEnum
347     typedef ENUMERATION IfcColumnTypeEnum;
348     // C++ wrapper type for IfcCompressorTypeEnum
349     typedef ENUMERATION IfcCompressorTypeEnum;
350     // C++ wrapper type for IfcCondenserTypeEnum
351     typedef ENUMERATION IfcCondenserTypeEnum;
352     // C++ wrapper type for IfcConnectionTypeEnum
353     typedef ENUMERATION IfcConnectionTypeEnum;
354     // C++ wrapper type for IfcConstraintEnum
355     typedef ENUMERATION IfcConstraintEnum;
356     // C++ wrapper type for IfcControllerTypeEnum
357     typedef ENUMERATION IfcControllerTypeEnum;
358     // C++ wrapper type for IfcCooledBeamTypeEnum
359     typedef ENUMERATION IfcCooledBeamTypeEnum;
360     // C++ wrapper type for IfcCoolingTowerTypeEnum
361     typedef ENUMERATION IfcCoolingTowerTypeEnum;
362     // C++ wrapper type for IfcCostScheduleTypeEnum
363     typedef ENUMERATION IfcCostScheduleTypeEnum;
364     // C++ wrapper type for IfcCoveringTypeEnum
365     typedef ENUMERATION IfcCoveringTypeEnum;
366     // C++ wrapper type for IfcCurrencyEnum
367     typedef ENUMERATION IfcCurrencyEnum;
368     // C++ wrapper type for IfcCurtainWallTypeEnum
369     typedef ENUMERATION IfcCurtainWallTypeEnum;
370     // C++ wrapper type for IfcDamperTypeEnum
371     typedef ENUMERATION IfcDamperTypeEnum;
372     // C++ wrapper type for IfcDataOriginEnum
373     typedef ENUMERATION IfcDataOriginEnum;
374     // C++ wrapper type for IfcDerivedUnitEnum
375     typedef ENUMERATION IfcDerivedUnitEnum;
376     // C++ wrapper type for IfcDimensionExtentUsage
377     typedef ENUMERATION IfcDimensionExtentUsage;
378     // C++ wrapper type for IfcDirectionSenseEnum
379     typedef ENUMERATION IfcDirectionSenseEnum;
380     // C++ wrapper type for IfcDistributionChamberElementTypeEnum
381     typedef ENUMERATION IfcDistributionChamberElementTypeEnum;
382     // C++ wrapper type for IfcDocumentConfidentialityEnum
383     typedef ENUMERATION IfcDocumentConfidentialityEnum;
384     // C++ wrapper type for IfcDocumentStatusEnum
385     typedef ENUMERATION IfcDocumentStatusEnum;
386     // C++ wrapper type for IfcDoorPanelOperationEnum
387     typedef ENUMERATION IfcDoorPanelOperationEnum;
388     // C++ wrapper type for IfcDoorPanelPositionEnum
389     typedef ENUMERATION IfcDoorPanelPositionEnum;
390     // C++ wrapper type for IfcDoorStyleConstructionEnum
391     typedef ENUMERATION IfcDoorStyleConstructionEnum;
392     // C++ wrapper type for IfcDoorStyleOperationEnum
393     typedef ENUMERATION IfcDoorStyleOperationEnum;
394     // C++ wrapper type for IfcDuctFittingTypeEnum
395     typedef ENUMERATION IfcDuctFittingTypeEnum;
396     // C++ wrapper type for IfcDuctSegmentTypeEnum
397     typedef ENUMERATION IfcDuctSegmentTypeEnum;
398     // C++ wrapper type for IfcDuctSilencerTypeEnum
399     typedef ENUMERATION IfcDuctSilencerTypeEnum;
400     // C++ wrapper type for IfcElectricApplianceTypeEnum
401     typedef ENUMERATION IfcElectricApplianceTypeEnum;
402     // C++ wrapper type for IfcElectricCurrentEnum
403     typedef ENUMERATION IfcElectricCurrentEnum;
404     // C++ wrapper type for IfcElectricDistributionPointFunctionEnum
405     typedef ENUMERATION IfcElectricDistributionPointFunctionEnum;
406     // C++ wrapper type for IfcElectricFlowStorageDeviceTypeEnum
407     typedef ENUMERATION IfcElectricFlowStorageDeviceTypeEnum;
408     // C++ wrapper type for IfcElectricGeneratorTypeEnum
409     typedef ENUMERATION IfcElectricGeneratorTypeEnum;
410     // C++ wrapper type for IfcElectricHeaterTypeEnum
411     typedef ENUMERATION IfcElectricHeaterTypeEnum;
412     // C++ wrapper type for IfcElectricMotorTypeEnum
413     typedef ENUMERATION IfcElectricMotorTypeEnum;
414     // C++ wrapper type for IfcElectricTimeControlTypeEnum
415     typedef ENUMERATION IfcElectricTimeControlTypeEnum;
416     // C++ wrapper type for IfcElementAssemblyTypeEnum
417     typedef ENUMERATION IfcElementAssemblyTypeEnum;
418     // C++ wrapper type for IfcElementCompositionEnum
419     typedef ENUMERATION IfcElementCompositionEnum;
420     // C++ wrapper type for IfcEnergySequenceEnum
421     typedef ENUMERATION IfcEnergySequenceEnum;
422     // C++ wrapper type for IfcEnvironmentalImpactCategoryEnum
423     typedef ENUMERATION IfcEnvironmentalImpactCategoryEnum;
424     // C++ wrapper type for IfcEvaporativeCoolerTypeEnum
425     typedef ENUMERATION IfcEvaporativeCoolerTypeEnum;
426     // C++ wrapper type for IfcEvaporatorTypeEnum
427     typedef ENUMERATION IfcEvaporatorTypeEnum;
428     // C++ wrapper type for IfcFanTypeEnum
429     typedef ENUMERATION IfcFanTypeEnum;
430     // C++ wrapper type for IfcFilterTypeEnum
431     typedef ENUMERATION IfcFilterTypeEnum;
432     // C++ wrapper type for IfcFireSuppressionTerminalTypeEnum
433     typedef ENUMERATION IfcFireSuppressionTerminalTypeEnum;
434     // C++ wrapper type for IfcFlowDirectionEnum
435     typedef ENUMERATION IfcFlowDirectionEnum;
436     // C++ wrapper type for IfcFlowInstrumentTypeEnum
437     typedef ENUMERATION IfcFlowInstrumentTypeEnum;
438     // C++ wrapper type for IfcFlowMeterTypeEnum
439     typedef ENUMERATION IfcFlowMeterTypeEnum;
440     // C++ wrapper type for IfcFootingTypeEnum
441     typedef ENUMERATION IfcFootingTypeEnum;
442     // C++ wrapper type for IfcGasTerminalTypeEnum
443     typedef ENUMERATION IfcGasTerminalTypeEnum;
444     // C++ wrapper type for IfcGeometricProjectionEnum
445     typedef ENUMERATION IfcGeometricProjectionEnum;
446     // C++ wrapper type for IfcGlobalOrLocalEnum
447     typedef ENUMERATION IfcGlobalOrLocalEnum;
448     // C++ wrapper type for IfcHeatExchangerTypeEnum
449     typedef ENUMERATION IfcHeatExchangerTypeEnum;
450     // C++ wrapper type for IfcHumidifierTypeEnum
451     typedef ENUMERATION IfcHumidifierTypeEnum;
452     // C++ wrapper type for IfcInternalOrExternalEnum
453     typedef ENUMERATION IfcInternalOrExternalEnum;
454     // C++ wrapper type for IfcInventoryTypeEnum
455     typedef ENUMERATION IfcInventoryTypeEnum;
456     // C++ wrapper type for IfcJunctionBoxTypeEnum
457     typedef ENUMERATION IfcJunctionBoxTypeEnum;
458     // C++ wrapper type for IfcLampTypeEnum
459     typedef ENUMERATION IfcLampTypeEnum;
460     // C++ wrapper type for IfcLayerSetDirectionEnum
461     typedef ENUMERATION IfcLayerSetDirectionEnum;
462     // C++ wrapper type for IfcLightDistributionCurveEnum
463     typedef ENUMERATION IfcLightDistributionCurveEnum;
464     // C++ wrapper type for IfcLightEmissionSourceEnum
465     typedef ENUMERATION IfcLightEmissionSourceEnum;
466     // C++ wrapper type for IfcLightFixtureTypeEnum
467     typedef ENUMERATION IfcLightFixtureTypeEnum;
468     // C++ wrapper type for IfcLoadGroupTypeEnum
469     typedef ENUMERATION IfcLoadGroupTypeEnum;
470     // C++ wrapper type for IfcLogicalOperatorEnum
471     typedef ENUMERATION IfcLogicalOperatorEnum;
472     // C++ wrapper type for IfcMemberTypeEnum
473     typedef ENUMERATION IfcMemberTypeEnum;
474     // C++ wrapper type for IfcMotorConnectionTypeEnum
475     typedef ENUMERATION IfcMotorConnectionTypeEnum;
476     // C++ wrapper type for IfcNullStyle
477     typedef ENUMERATION IfcNullStyle;
478     // C++ wrapper type for IfcObjectTypeEnum
479     typedef ENUMERATION IfcObjectTypeEnum;
480     // C++ wrapper type for IfcObjectiveEnum
481     typedef ENUMERATION IfcObjectiveEnum;
482     // C++ wrapper type for IfcOccupantTypeEnum
483     typedef ENUMERATION IfcOccupantTypeEnum;
484     // C++ wrapper type for IfcOutletTypeEnum
485     typedef ENUMERATION IfcOutletTypeEnum;
486     // C++ wrapper type for IfcPermeableCoveringOperationEnum
487     typedef ENUMERATION IfcPermeableCoveringOperationEnum;
488     // C++ wrapper type for IfcPhysicalOrVirtualEnum
489     typedef ENUMERATION IfcPhysicalOrVirtualEnum;
490     // C++ wrapper type for IfcPileConstructionEnum
491     typedef ENUMERATION IfcPileConstructionEnum;
492     // C++ wrapper type for IfcPileTypeEnum
493     typedef ENUMERATION IfcPileTypeEnum;
494     // C++ wrapper type for IfcPipeFittingTypeEnum
495     typedef ENUMERATION IfcPipeFittingTypeEnum;
496     // C++ wrapper type for IfcPipeSegmentTypeEnum
497     typedef ENUMERATION IfcPipeSegmentTypeEnum;
498     // C++ wrapper type for IfcPlateTypeEnum
499     typedef ENUMERATION IfcPlateTypeEnum;
500     // C++ wrapper type for IfcProcedureTypeEnum
501     typedef ENUMERATION IfcProcedureTypeEnum;
502     // C++ wrapper type for IfcProfileTypeEnum
503     typedef ENUMERATION IfcProfileTypeEnum;
504     // C++ wrapper type for IfcProjectOrderRecordTypeEnum
505     typedef ENUMERATION IfcProjectOrderRecordTypeEnum;
506     // C++ wrapper type for IfcProjectOrderTypeEnum
507     typedef ENUMERATION IfcProjectOrderTypeEnum;
508     // C++ wrapper type for IfcProjectedOrTrueLengthEnum
509     typedef ENUMERATION IfcProjectedOrTrueLengthEnum;
510     // C++ wrapper type for IfcPropertySourceEnum
511     typedef ENUMERATION IfcPropertySourceEnum;
512     // C++ wrapper type for IfcProtectiveDeviceTypeEnum
513     typedef ENUMERATION IfcProtectiveDeviceTypeEnum;
514     // C++ wrapper type for IfcPumpTypeEnum
515     typedef ENUMERATION IfcPumpTypeEnum;
516     // C++ wrapper type for IfcRailingTypeEnum
517     typedef ENUMERATION IfcRailingTypeEnum;
518     // C++ wrapper type for IfcRampFlightTypeEnum
519     typedef ENUMERATION IfcRampFlightTypeEnum;
520     // C++ wrapper type for IfcRampTypeEnum
521     typedef ENUMERATION IfcRampTypeEnum;
522     // C++ wrapper type for IfcReflectanceMethodEnum
523     typedef ENUMERATION IfcReflectanceMethodEnum;
524     // C++ wrapper type for IfcReinforcingBarRoleEnum
525     typedef ENUMERATION IfcReinforcingBarRoleEnum;
526     // C++ wrapper type for IfcReinforcingBarSurfaceEnum
527     typedef ENUMERATION IfcReinforcingBarSurfaceEnum;
528     // C++ wrapper type for IfcResourceConsumptionEnum
529     typedef ENUMERATION IfcResourceConsumptionEnum;
530     // C++ wrapper type for IfcRibPlateDirectionEnum
531     typedef ENUMERATION IfcRibPlateDirectionEnum;
532     // C++ wrapper type for IfcRoleEnum
533     typedef ENUMERATION IfcRoleEnum;
534     // C++ wrapper type for IfcRoofTypeEnum
535     typedef ENUMERATION IfcRoofTypeEnum;
536     // C++ wrapper type for IfcSIPrefix
537     typedef ENUMERATION IfcSIPrefix;
538     // C++ wrapper type for IfcSIUnitName
539     typedef ENUMERATION IfcSIUnitName;
540     // C++ wrapper type for IfcSanitaryTerminalTypeEnum
541     typedef ENUMERATION IfcSanitaryTerminalTypeEnum;
542     // C++ wrapper type for IfcSectionTypeEnum
543     typedef ENUMERATION IfcSectionTypeEnum;
544     // C++ wrapper type for IfcSensorTypeEnum
545     typedef ENUMERATION IfcSensorTypeEnum;
546     // C++ wrapper type for IfcSequenceEnum
547     typedef ENUMERATION IfcSequenceEnum;
548     // C++ wrapper type for IfcServiceLifeFactorTypeEnum
549     typedef ENUMERATION IfcServiceLifeFactorTypeEnum;
550     // C++ wrapper type for IfcServiceLifeTypeEnum
551     typedef ENUMERATION IfcServiceLifeTypeEnum;
552     // C++ wrapper type for IfcSlabTypeEnum
553     typedef ENUMERATION IfcSlabTypeEnum;
554     // C++ wrapper type for IfcSoundScaleEnum
555     typedef ENUMERATION IfcSoundScaleEnum;
556     // C++ wrapper type for IfcSpaceHeaterTypeEnum
557     typedef ENUMERATION IfcSpaceHeaterTypeEnum;
558     // C++ wrapper type for IfcSpaceTypeEnum
559     typedef ENUMERATION IfcSpaceTypeEnum;
560     // C++ wrapper type for IfcStackTerminalTypeEnum
561     typedef ENUMERATION IfcStackTerminalTypeEnum;
562     // C++ wrapper type for IfcStairFlightTypeEnum
563     typedef ENUMERATION IfcStairFlightTypeEnum;
564     // C++ wrapper type for IfcStairTypeEnum
565     typedef ENUMERATION IfcStairTypeEnum;
566     // C++ wrapper type for IfcStateEnum
567     typedef ENUMERATION IfcStateEnum;
568     // C++ wrapper type for IfcStructuralCurveTypeEnum
569     typedef ENUMERATION IfcStructuralCurveTypeEnum;
570     // C++ wrapper type for IfcStructuralSurfaceTypeEnum
571     typedef ENUMERATION IfcStructuralSurfaceTypeEnum;
572     // C++ wrapper type for IfcSurfaceSide
573     typedef ENUMERATION IfcSurfaceSide;
574     // C++ wrapper type for IfcSurfaceTextureEnum
575     typedef ENUMERATION IfcSurfaceTextureEnum;
576     // C++ wrapper type for IfcSwitchingDeviceTypeEnum
577     typedef ENUMERATION IfcSwitchingDeviceTypeEnum;
578     // C++ wrapper type for IfcTankTypeEnum
579     typedef ENUMERATION IfcTankTypeEnum;
580     // C++ wrapper type for IfcTendonTypeEnum
581     typedef ENUMERATION IfcTendonTypeEnum;
582     // C++ wrapper type for IfcTextPath
583     typedef ENUMERATION IfcTextPath;
584     // C++ wrapper type for IfcThermalLoadSourceEnum
585     typedef ENUMERATION IfcThermalLoadSourceEnum;
586     // C++ wrapper type for IfcThermalLoadTypeEnum
587     typedef ENUMERATION IfcThermalLoadTypeEnum;
588     // C++ wrapper type for IfcTimeSeriesDataTypeEnum
589     typedef ENUMERATION IfcTimeSeriesDataTypeEnum;
590     // C++ wrapper type for IfcTimeSeriesScheduleTypeEnum
591     typedef ENUMERATION IfcTimeSeriesScheduleTypeEnum;
592     // C++ wrapper type for IfcTransformerTypeEnum
593     typedef ENUMERATION IfcTransformerTypeEnum;
594     // C++ wrapper type for IfcTransitionCode
595     typedef ENUMERATION IfcTransitionCode;
596     // C++ wrapper type for IfcTransportElementTypeEnum
597     typedef ENUMERATION IfcTransportElementTypeEnum;
598     // C++ wrapper type for IfcTrimmingPreference
599     typedef ENUMERATION IfcTrimmingPreference;
600     // C++ wrapper type for IfcTubeBundleTypeEnum
601     typedef ENUMERATION IfcTubeBundleTypeEnum;
602     // C++ wrapper type for IfcUnitEnum
603     typedef ENUMERATION IfcUnitEnum;
604     // C++ wrapper type for IfcUnitaryEquipmentTypeEnum
605     typedef ENUMERATION IfcUnitaryEquipmentTypeEnum;
606     // C++ wrapper type for IfcValveTypeEnum
607     typedef ENUMERATION IfcValveTypeEnum;
608     // C++ wrapper type for IfcVibrationIsolatorTypeEnum
609     typedef ENUMERATION IfcVibrationIsolatorTypeEnum;
610     // C++ wrapper type for IfcWallTypeEnum
611     typedef ENUMERATION IfcWallTypeEnum;
612     // C++ wrapper type for IfcWasteTerminalTypeEnum
613     typedef ENUMERATION IfcWasteTerminalTypeEnum;
614     // C++ wrapper type for IfcWindowPanelOperationEnum
615     typedef ENUMERATION IfcWindowPanelOperationEnum;
616     // C++ wrapper type for IfcWindowPanelPositionEnum
617     typedef ENUMERATION IfcWindowPanelPositionEnum;
618     // C++ wrapper type for IfcWindowStyleConstructionEnum
619     typedef ENUMERATION IfcWindowStyleConstructionEnum;
620     // C++ wrapper type for IfcWindowStyleOperationEnum
621     typedef ENUMERATION IfcWindowStyleOperationEnum;
622     // C++ wrapper type for IfcWorkControlTypeEnum
623     typedef ENUMERATION IfcWorkControlTypeEnum;
624     // C++ wrapper type for IfcActorSelect
625     typedef SELECT IfcActorSelect;
626     // C++ wrapper type for IfcAppliedValueSelect
627     typedef SELECT IfcAppliedValueSelect;
628     // C++ wrapper type for IfcAxis2Placement
629     typedef SELECT IfcAxis2Placement;
630     // C++ wrapper type for IfcBooleanOperand
631     typedef SELECT IfcBooleanOperand;
632     // C++ wrapper type for IfcCharacterStyleSelect
633     typedef SELECT IfcCharacterStyleSelect;
634     // C++ wrapper type for IfcClassificationNotationSelect
635     typedef SELECT IfcClassificationNotationSelect;
636     // C++ wrapper type for IfcColour
637     typedef SELECT IfcColour;
638     // C++ wrapper type for IfcColourOrFactor
639     typedef SELECT IfcColourOrFactor;
640     // C++ wrapper type for IfcConditionCriterionSelect
641     typedef SELECT IfcConditionCriterionSelect;
642     // C++ wrapper type for IfcCsgSelect
643     typedef SELECT IfcCsgSelect;
644     // C++ wrapper type for IfcCurveFontOrScaledCurveFontSelect
645     typedef SELECT IfcCurveFontOrScaledCurveFontSelect;
646     // C++ wrapper type for IfcCurveOrEdgeCurve
647     typedef SELECT IfcCurveOrEdgeCurve;
648     // C++ wrapper type for IfcCurveStyleFontSelect
649     typedef SELECT IfcCurveStyleFontSelect;
650     // C++ wrapper type for IfcDateTimeSelect
651     typedef SELECT IfcDateTimeSelect;
652     // C++ wrapper type for IfcDefinedSymbolSelect
653     typedef SELECT IfcDefinedSymbolSelect;
654     // C++ wrapper type for IfcDerivedMeasureValue
655     typedef SELECT IfcDerivedMeasureValue;
656     // C++ wrapper type for IfcDocumentSelect
657     typedef SELECT IfcDocumentSelect;
658     // C++ wrapper type for IfcDraughtingCalloutElement
659     typedef SELECT IfcDraughtingCalloutElement;
660     // C++ wrapper type for IfcFillAreaStyleTileShapeSelect
661     typedef SELECT IfcFillAreaStyleTileShapeSelect;
662     // C++ wrapper type for IfcFillStyleSelect
663     typedef SELECT IfcFillStyleSelect;
664     // C++ wrapper type for IfcGeometricSetSelect
665     typedef SELECT IfcGeometricSetSelect;
666     // C++ wrapper type for IfcHatchLineDistanceSelect
667     typedef SELECT IfcHatchLineDistanceSelect;
668     // C++ wrapper type for IfcLayeredItem
669     typedef SELECT IfcLayeredItem;
670     // C++ wrapper type for IfcLibrarySelect
671     typedef SELECT IfcLibrarySelect;
672     // C++ wrapper type for IfcLightDistributionDataSourceSelect
673     typedef SELECT IfcLightDistributionDataSourceSelect;
674     // C++ wrapper type for IfcMaterialSelect
675     typedef SELECT IfcMaterialSelect;
676     // C++ wrapper type for IfcMeasureValue
677     typedef SELECT IfcMeasureValue;
678     // C++ wrapper type for IfcMetricValueSelect
679     typedef SELECT IfcMetricValueSelect;
680     // C++ wrapper type for IfcObjectReferenceSelect
681     typedef SELECT IfcObjectReferenceSelect;
682     // C++ wrapper type for IfcOrientationSelect
683     typedef SELECT IfcOrientationSelect;
684     // C++ wrapper type for IfcPointOrVertexPoint
685     typedef SELECT IfcPointOrVertexPoint;
686     // C++ wrapper type for IfcPresentationStyleSelect
687     typedef SELECT IfcPresentationStyleSelect;
688     // C++ wrapper type for IfcShell
689     typedef SELECT IfcShell;
690     // C++ wrapper type for IfcSimpleValue
691     typedef SELECT IfcSimpleValue;
692     // C++ wrapper type for IfcSizeSelect
693     typedef SELECT IfcSizeSelect;
694     // C++ wrapper type for IfcSpecularHighlightSelect
695     typedef SELECT IfcSpecularHighlightSelect;
696     // C++ wrapper type for IfcStructuralActivityAssignmentSelect
697     typedef SELECT IfcStructuralActivityAssignmentSelect;
698     // C++ wrapper type for IfcSurfaceOrFaceSurface
699     typedef SELECT IfcSurfaceOrFaceSurface;
700     // C++ wrapper type for IfcSurfaceStyleElementSelect
701     typedef SELECT IfcSurfaceStyleElementSelect;
702     // C++ wrapper type for IfcSymbolStyleSelect
703     typedef SELECT IfcSymbolStyleSelect;
704     // C++ wrapper type for IfcTextFontSelect
705     typedef SELECT IfcTextFontSelect;
706     // C++ wrapper type for IfcTextStyleSelect
707     typedef SELECT IfcTextStyleSelect;
708     // C++ wrapper type for IfcTrimmingSelect
709     typedef SELECT IfcTrimmingSelect;
710     // C++ wrapper type for IfcUnit
711     typedef SELECT IfcUnit;
712     // C++ wrapper type for IfcValue
713     typedef SELECT IfcValue;
714     // C++ wrapper type for IfcVectorOrDirection
715     typedef SELECT IfcVectorOrDirection;
716 
717 
718     // ******************************************************************************
719     // IFC Entities
720     // ******************************************************************************
721 
722     struct IfcRepresentationItem;
723     struct IfcGeometricRepresentationItem;
724     struct IfcCurve;
725     struct IfcBoundedCurve;
726     struct IfcCompositeCurve;
727     struct Ifc2DCompositeCurve;
728     struct IfcRoot;
729     struct IfcObjectDefinition;
730     struct IfcObject;
731     struct IfcControl;
732     struct IfcActionRequest;
733     struct IfcActor;
734     typedef NotImplemented IfcActorRole; // (not currently used by Assimp)
735     struct IfcTypeObject;
736     struct IfcTypeProduct;
737     struct IfcElementType;
738     struct IfcDistributionElementType;
739     struct IfcDistributionControlElementType;
740     struct IfcActuatorType;
741     typedef NotImplemented IfcAddress; // (not currently used by Assimp)
742     struct IfcDistributionFlowElementType;
743     struct IfcFlowControllerType;
744     struct IfcAirTerminalBoxType;
745     struct IfcFlowTerminalType;
746     struct IfcAirTerminalType;
747     struct IfcEnergyConversionDeviceType;
748     struct IfcAirToAirHeatRecoveryType;
749     struct IfcAlarmType;
750     struct IfcDraughtingCallout;
751     struct IfcDimensionCurveDirectedCallout;
752     struct IfcAngularDimension;
753     struct IfcProduct;
754     struct IfcAnnotation;
755     struct IfcStyledItem;
756     struct IfcAnnotationOccurrence;
757     struct IfcAnnotationCurveOccurrence;
758     struct IfcAnnotationFillArea;
759     struct IfcAnnotationFillAreaOccurrence;
760     struct IfcAnnotationSurface;
761     struct IfcAnnotationSurfaceOccurrence;
762     struct IfcAnnotationSymbolOccurrence;
763     struct IfcAnnotationTextOccurrence;
764     typedef NotImplemented IfcApplication; // (not currently used by Assimp)
765     typedef NotImplemented IfcAppliedValue; // (not currently used by Assimp)
766     typedef NotImplemented IfcAppliedValueRelationship; // (not currently used by Assimp)
767     typedef NotImplemented IfcApproval; // (not currently used by Assimp)
768     typedef NotImplemented IfcApprovalActorRelationship; // (not currently used by Assimp)
769     typedef NotImplemented IfcApprovalPropertyRelationship; // (not currently used by Assimp)
770     typedef NotImplemented IfcApprovalRelationship; // (not currently used by Assimp)
771     struct IfcProfileDef;
772     struct IfcArbitraryClosedProfileDef;
773     struct IfcArbitraryOpenProfileDef;
774     struct IfcArbitraryProfileDefWithVoids;
775     struct IfcGroup;
776     struct IfcAsset;
777     struct IfcParameterizedProfileDef;
778     struct IfcIShapeProfileDef;
779     struct IfcAsymmetricIShapeProfileDef;
780     struct IfcPlacement;
781     struct IfcAxis1Placement;
782     struct IfcAxis2Placement2D;
783     struct IfcAxis2Placement3D;
784     struct IfcBSplineCurve;
785     struct IfcElement;
786     struct IfcBuildingElement;
787     struct IfcBeam;
788     struct IfcBuildingElementType;
789     struct IfcBeamType;
790     struct IfcBezierCurve;
791     typedef NotImplemented IfcSurfaceTexture; // (not currently used by Assimp)
792     typedef NotImplemented IfcBlobTexture; // (not currently used by Assimp)
793     struct IfcCsgPrimitive3D;
794     struct IfcBlock;
795     struct IfcBoilerType;
796     struct IfcBooleanResult;
797     struct IfcBooleanClippingResult;
798     typedef NotImplemented IfcBoundaryCondition; // (not currently used by Assimp)
799     typedef NotImplemented IfcBoundaryEdgeCondition; // (not currently used by Assimp)
800     typedef NotImplemented IfcBoundaryFaceCondition; // (not currently used by Assimp)
801     typedef NotImplemented IfcBoundaryNodeCondition; // (not currently used by Assimp)
802     typedef NotImplemented IfcBoundaryNodeConditionWarping; // (not currently used by Assimp)
803     struct IfcSurface;
804     struct IfcBoundedSurface;
805     struct IfcBoundingBox;
806     struct IfcHalfSpaceSolid;
807     struct IfcBoxedHalfSpace;
808     struct IfcSpatialStructureElement;
809     struct IfcBuilding;
810     struct IfcBuildingElementComponent;
811     struct IfcBuildingElementPart;
812     struct IfcBuildingElementProxy;
813     struct IfcBuildingElementProxyType;
814     struct IfcBuildingStorey;
815     struct IfcCShapeProfileDef;
816     struct IfcFlowFittingType;
817     struct IfcCableCarrierFittingType;
818     struct IfcFlowSegmentType;
819     struct IfcCableCarrierSegmentType;
820     struct IfcCableSegmentType;
821     typedef NotImplemented IfcCalendarDate; // (not currently used by Assimp)
822     struct IfcPoint;
823     struct IfcCartesianPoint;
824     struct IfcCartesianTransformationOperator;
825     struct IfcCartesianTransformationOperator2D;
826     struct IfcCartesianTransformationOperator2DnonUniform;
827     struct IfcCartesianTransformationOperator3D;
828     struct IfcCartesianTransformationOperator3DnonUniform;
829     struct IfcCenterLineProfileDef;
830     struct IfcFeatureElement;
831     struct IfcFeatureElementSubtraction;
832     struct IfcEdgeFeature;
833     struct IfcChamferEdgeFeature;
834     struct IfcChillerType;
835     struct IfcConic;
836     struct IfcCircle;
837     struct IfcCircleProfileDef;
838     struct IfcCircleHollowProfileDef;
839     typedef NotImplemented IfcClassification; // (not currently used by Assimp)
840     typedef NotImplemented IfcClassificationItem; // (not currently used by Assimp)
841     typedef NotImplemented IfcClassificationItemRelationship; // (not currently used by Assimp)
842     typedef NotImplemented IfcClassificationNotation; // (not currently used by Assimp)
843     typedef NotImplemented IfcClassificationNotationFacet; // (not currently used by Assimp)
844     typedef NotImplemented IfcExternalReference; // (not currently used by Assimp)
845     typedef NotImplemented IfcClassificationReference; // (not currently used by Assimp)
846     struct IfcTopologicalRepresentationItem;
847     struct IfcConnectedFaceSet;
848     struct IfcClosedShell;
849     struct IfcCoilType;
850     struct IfcColourSpecification;
851     struct IfcColourRgb;
852     struct IfcColumn;
853     struct IfcColumnType;
854     struct IfcProperty;
855     struct IfcComplexProperty;
856     struct IfcCompositeCurveSegment;
857     struct IfcCompositeProfileDef;
858     struct IfcFlowMovingDeviceType;
859     struct IfcCompressorType;
860     struct IfcCondenserType;
861     struct IfcCondition;
862     struct IfcConditionCriterion;
863     typedef NotImplemented IfcConnectionGeometry; // (not currently used by Assimp)
864     typedef NotImplemented IfcConnectionCurveGeometry; // (not currently used by Assimp)
865     typedef NotImplemented IfcConnectionPointGeometry; // (not currently used by Assimp)
866     typedef NotImplemented IfcConnectionPointEccentricity; // (not currently used by Assimp)
867     typedef NotImplemented IfcConnectionPortGeometry; // (not currently used by Assimp)
868     typedef NotImplemented IfcConnectionSurfaceGeometry; // (not currently used by Assimp)
869     typedef NotImplemented IfcConstraint; // (not currently used by Assimp)
870     typedef NotImplemented IfcConstraintAggregationRelationship; // (not currently used by Assimp)
871     typedef NotImplemented IfcConstraintClassificationRelationship; // (not currently used by Assimp)
872     typedef NotImplemented IfcConstraintRelationship; // (not currently used by Assimp)
873     struct IfcResource;
874     struct IfcConstructionResource;
875     struct IfcConstructionEquipmentResource;
876     struct IfcConstructionMaterialResource;
877     struct IfcConstructionProductResource;
878     struct IfcNamedUnit;
879     struct IfcContextDependentUnit;
880     struct IfcControllerType;
881     struct IfcConversionBasedUnit;
882     struct IfcCooledBeamType;
883     struct IfcCoolingTowerType;
884     typedef NotImplemented IfcCoordinatedUniversalTimeOffset; // (not currently used by Assimp)
885     struct IfcCostItem;
886     struct IfcCostSchedule;
887     typedef NotImplemented IfcCostValue; // (not currently used by Assimp)
888     struct IfcCovering;
889     struct IfcCoveringType;
890     struct IfcCraneRailAShapeProfileDef;
891     struct IfcCraneRailFShapeProfileDef;
892     struct IfcCrewResource;
893     struct IfcSolidModel;
894     struct IfcCsgSolid;
895     typedef NotImplemented IfcCurrencyRelationship; // (not currently used by Assimp)
896     struct IfcCurtainWall;
897     struct IfcCurtainWallType;
898     struct IfcCurveBoundedPlane;
899     struct IfcPresentationStyle;
900     typedef NotImplemented IfcCurveStyle; // (not currently used by Assimp)
901     typedef NotImplemented IfcCurveStyleFont; // (not currently used by Assimp)
902     typedef NotImplemented IfcCurveStyleFontAndScaling; // (not currently used by Assimp)
903     typedef NotImplemented IfcCurveStyleFontPattern; // (not currently used by Assimp)
904     struct IfcDamperType;
905     typedef NotImplemented IfcDateAndTime; // (not currently used by Assimp)
906     struct IfcDefinedSymbol;
907     struct IfcDerivedProfileDef;
908     typedef NotImplemented IfcDerivedUnit; // (not currently used by Assimp)
909     typedef NotImplemented IfcDerivedUnitElement; // (not currently used by Assimp)
910     struct IfcDiameterDimension;
911     typedef NotImplemented IfcDraughtingCalloutRelationship; // (not currently used by Assimp)
912     typedef NotImplemented IfcDimensionCalloutRelationship; // (not currently used by Assimp)
913     struct IfcDimensionCurve;
914     struct IfcTerminatorSymbol;
915     struct IfcDimensionCurveTerminator;
916     typedef NotImplemented IfcDimensionPair; // (not currently used by Assimp)
917     typedef NotImplemented IfcDimensionalExponents; // (not currently used by Assimp)
918     struct IfcDirection;
919     struct IfcElementComponent;
920     struct IfcDiscreteAccessory;
921     struct IfcElementComponentType;
922     struct IfcDiscreteAccessoryType;
923     struct IfcDistributionElement;
924     struct IfcDistributionFlowElement;
925     struct IfcDistributionChamberElement;
926     struct IfcDistributionChamberElementType;
927     struct IfcDistributionControlElement;
928     struct IfcPort;
929     struct IfcDistributionPort;
930     typedef NotImplemented IfcDocumentElectronicFormat; // (not currently used by Assimp)
931     typedef NotImplemented IfcDocumentInformation; // (not currently used by Assimp)
932     typedef NotImplemented IfcDocumentInformationRelationship; // (not currently used by Assimp)
933     typedef NotImplemented IfcDocumentReference; // (not currently used by Assimp)
934     struct IfcDoor;
935     struct IfcPropertyDefinition;
936     struct IfcPropertySetDefinition;
937     typedef NotImplemented IfcDoorLiningProperties; // (not currently used by Assimp)
938     typedef NotImplemented IfcDoorPanelProperties; // (not currently used by Assimp)
939     struct IfcDoorStyle;
940     typedef NotImplemented IfcPreDefinedItem; // (not currently used by Assimp)
941     typedef NotImplemented IfcPreDefinedColour; // (not currently used by Assimp)
942     typedef NotImplemented IfcDraughtingPreDefinedColour; // (not currently used by Assimp)
943     typedef NotImplemented IfcPreDefinedCurveFont; // (not currently used by Assimp)
944     typedef NotImplemented IfcDraughtingPreDefinedCurveFont; // (not currently used by Assimp)
945     typedef NotImplemented IfcPreDefinedTextFont; // (not currently used by Assimp)
946     typedef NotImplemented IfcDraughtingPreDefinedTextFont; // (not currently used by Assimp)
947     struct IfcDuctFittingType;
948     struct IfcDuctSegmentType;
949     struct IfcFlowTreatmentDeviceType;
950     struct IfcDuctSilencerType;
951     struct IfcEdge;
952     struct IfcEdgeCurve;
953     struct IfcLoop;
954     struct IfcEdgeLoop;
955     struct IfcElectricApplianceType;
956     struct IfcFlowController;
957     struct IfcElectricDistributionPoint;
958     struct IfcFlowStorageDeviceType;
959     struct IfcElectricFlowStorageDeviceType;
960     struct IfcElectricGeneratorType;
961     struct IfcElectricHeaterType;
962     struct IfcElectricMotorType;
963     struct IfcElectricTimeControlType;
964     typedef NotImplemented IfcEnergyProperties; // (not currently used by Assimp)
965     typedef NotImplemented IfcElectricalBaseProperties; // (not currently used by Assimp)
966     struct IfcSystem;
967     struct IfcElectricalCircuit;
968     struct IfcElectricalElement;
969     struct IfcElementAssembly;
970     struct IfcElementQuantity;
971     struct IfcElementarySurface;
972     struct IfcEllipse;
973     struct IfcEllipseProfileDef;
974     struct IfcEnergyConversionDevice;
975     typedef NotImplemented IfcEnvironmentalImpactValue; // (not currently used by Assimp)
976     struct IfcEquipmentElement;
977     struct IfcEquipmentStandard;
978     struct IfcEvaporativeCoolerType;
979     struct IfcEvaporatorType;
980     typedef NotImplemented IfcMaterialProperties; // (not currently used by Assimp)
981     typedef NotImplemented IfcExtendedMaterialProperties; // (not currently used by Assimp)
982     typedef NotImplemented IfcExternallyDefinedHatchStyle; // (not currently used by Assimp)
983     typedef NotImplemented IfcExternallyDefinedSurfaceStyle; // (not currently used by Assimp)
984     typedef NotImplemented IfcExternallyDefinedSymbol; // (not currently used by Assimp)
985     typedef NotImplemented IfcExternallyDefinedTextFont; // (not currently used by Assimp)
986     struct IfcSweptAreaSolid;
987     struct IfcExtrudedAreaSolid;
988     struct IfcFace;
989     struct IfcFaceBasedSurfaceModel;
990     struct IfcFaceBound;
991     struct IfcFaceOuterBound;
992     struct IfcFaceSurface;
993     struct IfcManifoldSolidBrep;
994     struct IfcFacetedBrep;
995     struct IfcFacetedBrepWithVoids;
996     typedef NotImplemented IfcStructuralConnectionCondition; // (not currently used by Assimp)
997     typedef NotImplemented IfcFailureConnectionCondition; // (not currently used by Assimp)
998     struct IfcFanType;
999     struct IfcFastener;
1000     struct IfcFastenerType;
1001     struct IfcFeatureElementAddition;
1002     typedef NotImplemented IfcFillAreaStyle; // (not currently used by Assimp)
1003     struct IfcFillAreaStyleHatching;
1004     struct IfcFillAreaStyleTileSymbolWithStyle;
1005     struct IfcFillAreaStyleTiles;
1006     struct IfcFilterType;
1007     struct IfcFireSuppressionTerminalType;
1008     struct IfcFlowFitting;
1009     struct IfcFlowInstrumentType;
1010     struct IfcFlowMeterType;
1011     struct IfcFlowMovingDevice;
1012     struct IfcFlowSegment;
1013     struct IfcFlowStorageDevice;
1014     struct IfcFlowTerminal;
1015     struct IfcFlowTreatmentDevice;
1016     typedef NotImplemented IfcFluidFlowProperties; // (not currently used by Assimp)
1017     struct IfcFooting;
1018     typedef NotImplemented IfcFuelProperties; // (not currently used by Assimp)
1019     struct IfcFurnishingElement;
1020     struct IfcFurnishingElementType;
1021     struct IfcFurnitureStandard;
1022     struct IfcFurnitureType;
1023     struct IfcGasTerminalType;
1024     typedef NotImplemented IfcGeneralMaterialProperties; // (not currently used by Assimp)
1025     typedef NotImplemented IfcProfileProperties; // (not currently used by Assimp)
1026     typedef NotImplemented IfcGeneralProfileProperties; // (not currently used by Assimp)
1027     struct IfcGeometricSet;
1028     struct IfcGeometricCurveSet;
1029     struct IfcRepresentationContext;
1030     struct IfcGeometricRepresentationContext;
1031     struct IfcGeometricRepresentationSubContext;
1032     struct IfcGrid;
1033     typedef NotImplemented IfcGridAxis; // (not currently used by Assimp)
1034     struct IfcObjectPlacement;
1035     struct IfcGridPlacement;
1036     struct IfcHeatExchangerType;
1037     struct IfcHumidifierType;
1038     typedef NotImplemented IfcHygroscopicMaterialProperties; // (not currently used by Assimp)
1039     typedef NotImplemented IfcImageTexture; // (not currently used by Assimp)
1040     struct IfcInventory;
1041     typedef NotImplemented IfcTimeSeries; // (not currently used by Assimp)
1042     typedef NotImplemented IfcIrregularTimeSeries; // (not currently used by Assimp)
1043     typedef NotImplemented IfcIrregularTimeSeriesValue; // (not currently used by Assimp)
1044     struct IfcJunctionBoxType;
1045     struct IfcLShapeProfileDef;
1046     struct IfcLaborResource;
1047     struct IfcLampType;
1048     typedef NotImplemented IfcLibraryInformation; // (not currently used by Assimp)
1049     typedef NotImplemented IfcLibraryReference; // (not currently used by Assimp)
1050     typedef NotImplemented IfcLightDistributionData; // (not currently used by Assimp)
1051     struct IfcLightFixtureType;
1052     typedef NotImplemented IfcLightIntensityDistribution; // (not currently used by Assimp)
1053     struct IfcLightSource;
1054     struct IfcLightSourceAmbient;
1055     struct IfcLightSourceDirectional;
1056     struct IfcLightSourceGoniometric;
1057     struct IfcLightSourcePositional;
1058     struct IfcLightSourceSpot;
1059     struct IfcLine;
1060     struct IfcLinearDimension;
1061     struct IfcLocalPlacement;
1062     typedef NotImplemented IfcLocalTime; // (not currently used by Assimp)
1063     struct IfcMappedItem;
1064     typedef NotImplemented IfcMaterial; // (not currently used by Assimp)
1065     typedef NotImplemented IfcMaterialClassificationRelationship; // (not currently used by Assimp)
1066     struct IfcProductRepresentation;
1067     struct IfcMaterialDefinitionRepresentation;
1068     typedef NotImplemented IfcMaterialLayer; // (not currently used by Assimp)
1069     typedef NotImplemented IfcMaterialLayerSet; // (not currently used by Assimp)
1070     typedef NotImplemented IfcMaterialLayerSetUsage; // (not currently used by Assimp)
1071     typedef NotImplemented IfcMaterialList; // (not currently used by Assimp)
1072     struct IfcMeasureWithUnit;
1073     typedef NotImplemented IfcMechanicalMaterialProperties; // (not currently used by Assimp)
1074     typedef NotImplemented IfcMechanicalConcreteMaterialProperties; // (not currently used by Assimp)
1075     struct IfcMechanicalFastener;
1076     struct IfcMechanicalFastenerType;
1077     typedef NotImplemented IfcMechanicalSteelMaterialProperties; // (not currently used by Assimp)
1078     struct IfcMember;
1079     struct IfcMemberType;
1080     typedef NotImplemented IfcMetric; // (not currently used by Assimp)
1081     typedef NotImplemented IfcMonetaryUnit; // (not currently used by Assimp)
1082     struct IfcMotorConnectionType;
1083     struct IfcProcess;
1084     struct IfcTask;
1085     struct IfcMove;
1086     typedef NotImplemented IfcObjective; // (not currently used by Assimp)
1087     struct IfcOccupant;
1088     struct IfcOffsetCurve2D;
1089     struct IfcOffsetCurve3D;
1090     struct IfcOneDirectionRepeatFactor;
1091     struct IfcOpenShell;
1092     struct IfcOpeningElement;
1093     typedef NotImplemented IfcOpticalMaterialProperties; // (not currently used by Assimp)
1094     struct IfcOrderAction;
1095     typedef NotImplemented IfcOrganization; // (not currently used by Assimp)
1096     typedef NotImplemented IfcOrganizationRelationship; // (not currently used by Assimp)
1097     struct IfcOrientedEdge;
1098     struct IfcOutletType;
1099     typedef NotImplemented IfcOwnerHistory; // (not currently used by Assimp)
1100     struct IfcPath;
1101     struct IfcPerformanceHistory;
1102     typedef NotImplemented IfcPermeableCoveringProperties; // (not currently used by Assimp)
1103     struct IfcPermit;
1104     typedef NotImplemented IfcPerson; // (not currently used by Assimp)
1105     typedef NotImplemented IfcPersonAndOrganization; // (not currently used by Assimp)
1106     typedef NotImplemented IfcPhysicalQuantity; // (not currently used by Assimp)
1107     typedef NotImplemented IfcPhysicalComplexQuantity; // (not currently used by Assimp)
1108     typedef NotImplemented IfcPhysicalSimpleQuantity; // (not currently used by Assimp)
1109     struct IfcPile;
1110     struct IfcPipeFittingType;
1111     struct IfcPipeSegmentType;
1112     typedef NotImplemented IfcPixelTexture; // (not currently used by Assimp)
1113     struct IfcPlanarExtent;
1114     struct IfcPlanarBox;
1115     struct IfcPlane;
1116     struct IfcPlate;
1117     struct IfcPlateType;
1118     struct IfcPointOnCurve;
1119     struct IfcPointOnSurface;
1120     struct IfcPolyLoop;
1121     struct IfcPolygonalBoundedHalfSpace;
1122     struct IfcPolyline;
1123     typedef NotImplemented IfcPostalAddress; // (not currently used by Assimp)
1124     typedef NotImplemented IfcPreDefinedSymbol; // (not currently used by Assimp)
1125     typedef NotImplemented IfcPreDefinedDimensionSymbol; // (not currently used by Assimp)
1126     typedef NotImplemented IfcPreDefinedPointMarkerSymbol; // (not currently used by Assimp)
1127     typedef NotImplemented IfcPreDefinedTerminatorSymbol; // (not currently used by Assimp)
1128     typedef NotImplemented IfcPresentationLayerAssignment; // (not currently used by Assimp)
1129     typedef NotImplemented IfcPresentationLayerWithStyle; // (not currently used by Assimp)
1130     struct IfcPresentationStyleAssignment;
1131     struct IfcProcedure;
1132     struct IfcProductDefinitionShape;
1133     typedef NotImplemented IfcProductsOfCombustionProperties; // (not currently used by Assimp)
1134     struct IfcProject;
1135     struct IfcProjectOrder;
1136     struct IfcProjectOrderRecord;
1137     struct IfcProjectionCurve;
1138     struct IfcProjectionElement;
1139     struct IfcSimpleProperty;
1140     struct IfcPropertyBoundedValue;
1141     typedef NotImplemented IfcPropertyConstraintRelationship; // (not currently used by Assimp)
1142     typedef NotImplemented IfcPropertyDependencyRelationship; // (not currently used by Assimp)
1143     struct IfcPropertyEnumeratedValue;
1144     typedef NotImplemented IfcPropertyEnumeration; // (not currently used by Assimp)
1145     struct IfcPropertyListValue;
1146     struct IfcPropertyReferenceValue;
1147     struct IfcPropertySet;
1148     struct IfcPropertySingleValue;
1149     struct IfcPropertyTableValue;
1150     struct IfcProtectiveDeviceType;
1151     struct IfcProxy;
1152     struct IfcPumpType;
1153     typedef NotImplemented IfcQuantityArea; // (not currently used by Assimp)
1154     typedef NotImplemented IfcQuantityCount; // (not currently used by Assimp)
1155     typedef NotImplemented IfcQuantityLength; // (not currently used by Assimp)
1156     typedef NotImplemented IfcQuantityTime; // (not currently used by Assimp)
1157     typedef NotImplemented IfcQuantityVolume; // (not currently used by Assimp)
1158     typedef NotImplemented IfcQuantityWeight; // (not currently used by Assimp)
1159     struct IfcRadiusDimension;
1160     struct IfcRailing;
1161     struct IfcRailingType;
1162     struct IfcRamp;
1163     struct IfcRampFlight;
1164     struct IfcRampFlightType;
1165     struct IfcRationalBezierCurve;
1166     struct IfcRectangleProfileDef;
1167     struct IfcRectangleHollowProfileDef;
1168     struct IfcRectangularPyramid;
1169     struct IfcRectangularTrimmedSurface;
1170     typedef NotImplemented IfcReferencesValueDocument; // (not currently used by Assimp)
1171     typedef NotImplemented IfcRegularTimeSeries; // (not currently used by Assimp)
1172     typedef NotImplemented IfcReinforcementBarProperties; // (not currently used by Assimp)
1173     typedef NotImplemented IfcReinforcementDefinitionProperties; // (not currently used by Assimp)
1174     struct IfcReinforcingElement;
1175     struct IfcReinforcingBar;
1176     struct IfcReinforcingMesh;
1177     struct IfcRelationship;
1178     struct IfcRelDecomposes;
1179     struct IfcRelAggregates;
1180     typedef NotImplemented IfcRelAssigns; // (not currently used by Assimp)
1181     typedef NotImplemented IfcRelAssignsToControl; // (not currently used by Assimp)
1182     typedef NotImplemented IfcRelAssignsTasks; // (not currently used by Assimp)
1183     typedef NotImplemented IfcRelAssignsToActor; // (not currently used by Assimp)
1184     typedef NotImplemented IfcRelAssignsToGroup; // (not currently used by Assimp)
1185     typedef NotImplemented IfcRelAssignsToProcess; // (not currently used by Assimp)
1186     typedef NotImplemented IfcRelAssignsToProduct; // (not currently used by Assimp)
1187     typedef NotImplemented IfcRelAssignsToProjectOrder; // (not currently used by Assimp)
1188     typedef NotImplemented IfcRelAssignsToResource; // (not currently used by Assimp)
1189     typedef NotImplemented IfcRelAssociates; // (not currently used by Assimp)
1190     typedef NotImplemented IfcRelAssociatesAppliedValue; // (not currently used by Assimp)
1191     typedef NotImplemented IfcRelAssociatesApproval; // (not currently used by Assimp)
1192     typedef NotImplemented IfcRelAssociatesClassification; // (not currently used by Assimp)
1193     typedef NotImplemented IfcRelAssociatesConstraint; // (not currently used by Assimp)
1194     typedef NotImplemented IfcRelAssociatesDocument; // (not currently used by Assimp)
1195     typedef NotImplemented IfcRelAssociatesLibrary; // (not currently used by Assimp)
1196     typedef NotImplemented IfcRelAssociatesMaterial; // (not currently used by Assimp)
1197     typedef NotImplemented IfcRelAssociatesProfileProperties; // (not currently used by Assimp)
1198     struct IfcRelConnects;
1199     typedef NotImplemented IfcRelConnectsElements; // (not currently used by Assimp)
1200     typedef NotImplemented IfcRelConnectsPathElements; // (not currently used by Assimp)
1201     typedef NotImplemented IfcRelConnectsPortToElement; // (not currently used by Assimp)
1202     typedef NotImplemented IfcRelConnectsPorts; // (not currently used by Assimp)
1203     typedef NotImplemented IfcRelConnectsStructuralActivity; // (not currently used by Assimp)
1204     typedef NotImplemented IfcRelConnectsStructuralElement; // (not currently used by Assimp)
1205     typedef NotImplemented IfcRelConnectsStructuralMember; // (not currently used by Assimp)
1206     typedef NotImplemented IfcRelConnectsWithEccentricity; // (not currently used by Assimp)
1207     typedef NotImplemented IfcRelConnectsWithRealizingElements; // (not currently used by Assimp)
1208     struct IfcRelContainedInSpatialStructure;
1209     typedef NotImplemented IfcRelCoversBldgElements; // (not currently used by Assimp)
1210     typedef NotImplemented IfcRelCoversSpaces; // (not currently used by Assimp)
1211     struct IfcRelDefines;
1212     struct IfcRelDefinesByProperties;
1213     typedef NotImplemented IfcRelDefinesByType; // (not currently used by Assimp)
1214     struct IfcRelFillsElement;
1215     typedef NotImplemented IfcRelFlowControlElements; // (not currently used by Assimp)
1216     typedef NotImplemented IfcRelInteractionRequirements; // (not currently used by Assimp)
1217     typedef NotImplemented IfcRelNests; // (not currently used by Assimp)
1218     typedef NotImplemented IfcRelOccupiesSpaces; // (not currently used by Assimp)
1219     struct IfcRelOverridesProperties;
1220     typedef NotImplemented IfcRelProjectsElement; // (not currently used by Assimp)
1221     typedef NotImplemented IfcRelReferencedInSpatialStructure; // (not currently used by Assimp)
1222     typedef NotImplemented IfcRelSchedulesCostItems; // (not currently used by Assimp)
1223     typedef NotImplemented IfcRelSequence; // (not currently used by Assimp)
1224     typedef NotImplemented IfcRelServicesBuildings; // (not currently used by Assimp)
1225     typedef NotImplemented IfcRelSpaceBoundary; // (not currently used by Assimp)
1226     struct IfcRelVoidsElement;
1227     typedef NotImplemented IfcRelaxation; // (not currently used by Assimp)
1228     struct IfcRepresentation;
1229     struct IfcRepresentationMap;
1230     struct IfcRevolvedAreaSolid;
1231     typedef NotImplemented IfcRibPlateProfileProperties; // (not currently used by Assimp)
1232     struct IfcRightCircularCone;
1233     struct IfcRightCircularCylinder;
1234     struct IfcRoof;
1235     struct IfcRoundedEdgeFeature;
1236     struct IfcRoundedRectangleProfileDef;
1237     struct IfcSIUnit;
1238     struct IfcSanitaryTerminalType;
1239     struct IfcScheduleTimeControl;
1240     typedef NotImplemented IfcSectionProperties; // (not currently used by Assimp)
1241     typedef NotImplemented IfcSectionReinforcementProperties; // (not currently used by Assimp)
1242     struct IfcSectionedSpine;
1243     struct IfcSensorType;
1244     struct IfcServiceLife;
1245     typedef NotImplemented IfcServiceLifeFactor; // (not currently used by Assimp)
1246     typedef NotImplemented IfcShapeAspect; // (not currently used by Assimp)
1247     struct IfcShapeModel;
1248     struct IfcShapeRepresentation;
1249     struct IfcShellBasedSurfaceModel;
1250     struct IfcSite;
1251     struct IfcSlab;
1252     struct IfcSlabType;
1253     typedef NotImplemented IfcSlippageConnectionCondition; // (not currently used by Assimp)
1254     typedef NotImplemented IfcSoundProperties; // (not currently used by Assimp)
1255     typedef NotImplemented IfcSoundValue; // (not currently used by Assimp)
1256     struct IfcSpace;
1257     struct IfcSpaceHeaterType;
1258     struct IfcSpaceProgram;
1259     typedef NotImplemented IfcSpaceThermalLoadProperties; // (not currently used by Assimp)
1260     struct IfcSpatialStructureElementType;
1261     struct IfcSpaceType;
1262     struct IfcSphere;
1263     struct IfcStackTerminalType;
1264     struct IfcStair;
1265     struct IfcStairFlight;
1266     struct IfcStairFlightType;
1267     struct IfcStructuralActivity;
1268     struct IfcStructuralAction;
1269     struct IfcStructuralAnalysisModel;
1270     struct IfcStructuralItem;
1271     struct IfcStructuralConnection;
1272     struct IfcStructuralCurveConnection;
1273     struct IfcStructuralMember;
1274     struct IfcStructuralCurveMember;
1275     struct IfcStructuralCurveMemberVarying;
1276     struct IfcStructuralLinearAction;
1277     struct IfcStructuralLinearActionVarying;
1278     typedef NotImplemented IfcStructuralLoad; // (not currently used by Assimp)
1279     struct IfcStructuralLoadGroup;
1280     typedef NotImplemented IfcStructuralLoadStatic; // (not currently used by Assimp)
1281     typedef NotImplemented IfcStructuralLoadLinearForce; // (not currently used by Assimp)
1282     typedef NotImplemented IfcStructuralLoadPlanarForce; // (not currently used by Assimp)
1283     typedef NotImplemented IfcStructuralLoadSingleDisplacement; // (not currently used by Assimp)
1284     typedef NotImplemented IfcStructuralLoadSingleDisplacementDistortion; // (not currently used by Assimp)
1285     typedef NotImplemented IfcStructuralLoadSingleForce; // (not currently used by Assimp)
1286     typedef NotImplemented IfcStructuralLoadSingleForceWarping; // (not currently used by Assimp)
1287     typedef NotImplemented IfcStructuralLoadTemperature; // (not currently used by Assimp)
1288     struct IfcStructuralPlanarAction;
1289     struct IfcStructuralPlanarActionVarying;
1290     struct IfcStructuralPointAction;
1291     struct IfcStructuralPointConnection;
1292     struct IfcStructuralReaction;
1293     struct IfcStructuralPointReaction;
1294     typedef NotImplemented IfcStructuralProfileProperties; // (not currently used by Assimp)
1295     struct IfcStructuralResultGroup;
1296     typedef NotImplemented IfcStructuralSteelProfileProperties; // (not currently used by Assimp)
1297     struct IfcStructuralSurfaceConnection;
1298     struct IfcStructuralSurfaceMember;
1299     struct IfcStructuralSurfaceMemberVarying;
1300     struct IfcStructuredDimensionCallout;
1301     struct IfcStyleModel;
1302     struct IfcStyledRepresentation;
1303     struct IfcSubContractResource;
1304     struct IfcSubedge;
1305     struct IfcSurfaceCurveSweptAreaSolid;
1306     struct IfcSweptSurface;
1307     struct IfcSurfaceOfLinearExtrusion;
1308     struct IfcSurfaceOfRevolution;
1309     struct IfcSurfaceStyle;
1310     typedef NotImplemented IfcSurfaceStyleLighting; // (not currently used by Assimp)
1311     typedef NotImplemented IfcSurfaceStyleRefraction; // (not currently used by Assimp)
1312     struct IfcSurfaceStyleShading;
1313     struct IfcSurfaceStyleRendering;
1314     struct IfcSurfaceStyleWithTextures;
1315     struct IfcSweptDiskSolid;
1316     struct IfcSwitchingDeviceType;
1317     typedef NotImplemented IfcSymbolStyle; // (not currently used by Assimp)
1318     struct IfcSystemFurnitureElementType;
1319     struct IfcTShapeProfileDef;
1320     typedef NotImplemented IfcTable; // (not currently used by Assimp)
1321     typedef NotImplemented IfcTableRow; // (not currently used by Assimp)
1322     struct IfcTankType;
1323     typedef NotImplemented IfcTelecomAddress; // (not currently used by Assimp)
1324     struct IfcTendon;
1325     struct IfcTendonAnchor;
1326     struct IfcTextLiteral;
1327     struct IfcTextLiteralWithExtent;
1328     typedef NotImplemented IfcTextStyle; // (not currently used by Assimp)
1329     typedef NotImplemented IfcTextStyleFontModel; // (not currently used by Assimp)
1330     typedef NotImplemented IfcTextStyleForDefinedFont; // (not currently used by Assimp)
1331     typedef NotImplemented IfcTextStyleTextModel; // (not currently used by Assimp)
1332     typedef NotImplemented IfcTextStyleWithBoxCharacteristics; // (not currently used by Assimp)
1333     typedef NotImplemented IfcTextureCoordinate; // (not currently used by Assimp)
1334     typedef NotImplemented IfcTextureCoordinateGenerator; // (not currently used by Assimp)
1335     typedef NotImplemented IfcTextureMap; // (not currently used by Assimp)
1336     typedef NotImplemented IfcTextureVertex; // (not currently used by Assimp)
1337     typedef NotImplemented IfcThermalMaterialProperties; // (not currently used by Assimp)
1338     typedef NotImplemented IfcTimeSeriesReferenceRelationship; // (not currently used by Assimp)
1339     struct IfcTimeSeriesSchedule;
1340     typedef NotImplemented IfcTimeSeriesValue; // (not currently used by Assimp)
1341     struct IfcTopologyRepresentation;
1342     struct IfcTransformerType;
1343     struct IfcTransportElement;
1344     struct IfcTransportElementType;
1345     struct IfcTrapeziumProfileDef;
1346     struct IfcTrimmedCurve;
1347     struct IfcTubeBundleType;
1348     struct IfcTwoDirectionRepeatFactor;
1349     struct IfcUShapeProfileDef;
1350     struct IfcUnitAssignment;
1351     struct IfcUnitaryEquipmentType;
1352     struct IfcValveType;
1353     struct IfcVector;
1354     struct IfcVertex;
1355     typedef NotImplemented IfcVertexBasedTextureMap; // (not currently used by Assimp)
1356     struct IfcVertexLoop;
1357     struct IfcVertexPoint;
1358     struct IfcVibrationIsolatorType;
1359     struct IfcVirtualElement;
1360     typedef NotImplemented IfcVirtualGridIntersection; // (not currently used by Assimp)
1361     struct IfcWall;
1362     struct IfcWallStandardCase;
1363     struct IfcWallType;
1364     struct IfcWasteTerminalType;
1365     typedef NotImplemented IfcWaterProperties; // (not currently used by Assimp)
1366     struct IfcWindow;
1367     typedef NotImplemented IfcWindowLiningProperties; // (not currently used by Assimp)
1368     typedef NotImplemented IfcWindowPanelProperties; // (not currently used by Assimp)
1369     struct IfcWindowStyle;
1370     struct IfcWorkControl;
1371     struct IfcWorkPlan;
1372     struct IfcWorkSchedule;
1373     struct IfcZShapeProfileDef;
1374     struct IfcZone;
1375 
1376 
1377 
1378     // C++ wrapper for IfcRepresentationItem
IfcRepresentationItemIfcRepresentationItem1379     struct IfcRepresentationItem :  ObjectHelper<IfcRepresentationItem,0> { IfcRepresentationItem() : Object("IfcRepresentationItem") {}
1380 
1381     };
1382 
1383     // C++ wrapper for IfcGeometricRepresentationItem
IfcGeometricRepresentationItemIfcGeometricRepresentationItem1384     struct IfcGeometricRepresentationItem : IfcRepresentationItem, ObjectHelper<IfcGeometricRepresentationItem,0> { IfcGeometricRepresentationItem() : Object("IfcGeometricRepresentationItem") {}
1385 
1386     };
1387 
1388     // C++ wrapper for IfcCurve
IfcCurveIfcCurve1389     struct IfcCurve : IfcGeometricRepresentationItem, ObjectHelper<IfcCurve,0> { IfcCurve() : Object("IfcCurve") {}
1390 
1391     };
1392 
1393     // C++ wrapper for IfcBoundedCurve
IfcBoundedCurveIfcBoundedCurve1394     struct IfcBoundedCurve : IfcCurve, ObjectHelper<IfcBoundedCurve,0> { IfcBoundedCurve() : Object("IfcBoundedCurve") {}
1395 
1396     };
1397 
1398     // C++ wrapper for IfcCompositeCurve
IfcCompositeCurveIfcCompositeCurve1399     struct IfcCompositeCurve : IfcBoundedCurve, ObjectHelper<IfcCompositeCurve,2> { IfcCompositeCurve() : Object("IfcCompositeCurve") {}
1400         ListOf< Lazy< IfcCompositeCurveSegment >, 1, 0 > Segments;
1401         LOGICAL::Out SelfIntersect;
1402     };
1403 
1404     // C++ wrapper for Ifc2DCompositeCurve
Ifc2DCompositeCurveIfc2DCompositeCurve1405     struct Ifc2DCompositeCurve : IfcCompositeCurve, ObjectHelper<Ifc2DCompositeCurve,0> { Ifc2DCompositeCurve() : Object("Ifc2DCompositeCurve") {}
1406 
1407     };
1408 
1409     // C++ wrapper for IfcRoot
IfcRootIfcRoot1410     struct IfcRoot :  ObjectHelper<IfcRoot,4> { IfcRoot() : Object("IfcRoot") {}
1411         IfcGloballyUniqueId::Out GlobalId;
1412         Lazy< NotImplemented > OwnerHistory;
1413         Maybe< IfcLabel::Out > Name;
1414         Maybe< IfcText::Out > Description;
1415     };
1416 
1417     // C++ wrapper for IfcObjectDefinition
IfcObjectDefinitionIfcObjectDefinition1418     struct IfcObjectDefinition : IfcRoot, ObjectHelper<IfcObjectDefinition,0> { IfcObjectDefinition() : Object("IfcObjectDefinition") {}
1419 
1420     };
1421 
1422     // C++ wrapper for IfcObject
IfcObjectIfcObject1423     struct IfcObject : IfcObjectDefinition, ObjectHelper<IfcObject,1> { IfcObject() : Object("IfcObject") {}
1424         Maybe< IfcLabel::Out > ObjectType;
1425     };
1426 
1427     // C++ wrapper for IfcControl
IfcControlIfcControl1428     struct IfcControl : IfcObject, ObjectHelper<IfcControl,0> { IfcControl() : Object("IfcControl") {}
1429 
1430     };
1431 
1432     // C++ wrapper for IfcActionRequest
IfcActionRequestIfcActionRequest1433     struct IfcActionRequest : IfcControl, ObjectHelper<IfcActionRequest,1> { IfcActionRequest() : Object("IfcActionRequest") {}
1434         IfcIdentifier::Out RequestID;
1435     };
1436 
1437     // C++ wrapper for IfcActor
IfcActorIfcActor1438     struct IfcActor : IfcObject, ObjectHelper<IfcActor,1> { IfcActor() : Object("IfcActor") {}
1439         IfcActorSelect::Out TheActor;
1440     };
1441 
1442     // C++ wrapper for IfcTypeObject
IfcTypeObjectIfcTypeObject1443     struct IfcTypeObject : IfcObjectDefinition, ObjectHelper<IfcTypeObject,2> { IfcTypeObject() : Object("IfcTypeObject") {}
1444         Maybe< IfcLabel::Out > ApplicableOccurrence;
1445         Maybe< ListOf< Lazy< IfcPropertySetDefinition >, 1, 0 > > HasPropertySets;
1446     };
1447 
1448     // C++ wrapper for IfcTypeProduct
IfcTypeProductIfcTypeProduct1449     struct IfcTypeProduct : IfcTypeObject, ObjectHelper<IfcTypeProduct,2> { IfcTypeProduct() : Object("IfcTypeProduct") {}
1450         Maybe< ListOf< Lazy< IfcRepresentationMap >, 1, 0 > > RepresentationMaps;
1451         Maybe< IfcLabel::Out > Tag;
1452     };
1453 
1454     // C++ wrapper for IfcElementType
IfcElementTypeIfcElementType1455     struct IfcElementType : IfcTypeProduct, ObjectHelper<IfcElementType,1> { IfcElementType() : Object("IfcElementType") {}
1456         Maybe< IfcLabel::Out > ElementType;
1457     };
1458 
1459     // C++ wrapper for IfcDistributionElementType
IfcDistributionElementTypeIfcDistributionElementType1460     struct IfcDistributionElementType : IfcElementType, ObjectHelper<IfcDistributionElementType,0> { IfcDistributionElementType() : Object("IfcDistributionElementType") {}
1461 
1462     };
1463 
1464     // C++ wrapper for IfcDistributionControlElementType
IfcDistributionControlElementTypeIfcDistributionControlElementType1465     struct IfcDistributionControlElementType : IfcDistributionElementType, ObjectHelper<IfcDistributionControlElementType,0> { IfcDistributionControlElementType() : Object("IfcDistributionControlElementType") {}
1466 
1467     };
1468 
1469     // C++ wrapper for IfcActuatorType
IfcActuatorTypeIfcActuatorType1470     struct IfcActuatorType : IfcDistributionControlElementType, ObjectHelper<IfcActuatorType,1> { IfcActuatorType() : Object("IfcActuatorType") {}
1471         IfcActuatorTypeEnum::Out PredefinedType;
1472     };
1473 
1474     // C++ wrapper for IfcDistributionFlowElementType
IfcDistributionFlowElementTypeIfcDistributionFlowElementType1475     struct IfcDistributionFlowElementType : IfcDistributionElementType, ObjectHelper<IfcDistributionFlowElementType,0> { IfcDistributionFlowElementType() : Object("IfcDistributionFlowElementType") {}
1476 
1477     };
1478 
1479     // C++ wrapper for IfcFlowControllerType
IfcFlowControllerTypeIfcFlowControllerType1480     struct IfcFlowControllerType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowControllerType,0> { IfcFlowControllerType() : Object("IfcFlowControllerType") {}
1481 
1482     };
1483 
1484     // C++ wrapper for IfcAirTerminalBoxType
IfcAirTerminalBoxTypeIfcAirTerminalBoxType1485     struct IfcAirTerminalBoxType : IfcFlowControllerType, ObjectHelper<IfcAirTerminalBoxType,1> { IfcAirTerminalBoxType() : Object("IfcAirTerminalBoxType") {}
1486         IfcAirTerminalBoxTypeEnum::Out PredefinedType;
1487     };
1488 
1489     // C++ wrapper for IfcFlowTerminalType
IfcFlowTerminalTypeIfcFlowTerminalType1490     struct IfcFlowTerminalType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowTerminalType,0> { IfcFlowTerminalType() : Object("IfcFlowTerminalType") {}
1491 
1492     };
1493 
1494     // C++ wrapper for IfcAirTerminalType
IfcAirTerminalTypeIfcAirTerminalType1495     struct IfcAirTerminalType : IfcFlowTerminalType, ObjectHelper<IfcAirTerminalType,1> { IfcAirTerminalType() : Object("IfcAirTerminalType") {}
1496         IfcAirTerminalTypeEnum::Out PredefinedType;
1497     };
1498 
1499     // C++ wrapper for IfcEnergyConversionDeviceType
IfcEnergyConversionDeviceTypeIfcEnergyConversionDeviceType1500     struct IfcEnergyConversionDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcEnergyConversionDeviceType,0> { IfcEnergyConversionDeviceType() : Object("IfcEnergyConversionDeviceType") {}
1501 
1502     };
1503 
1504     // C++ wrapper for IfcAirToAirHeatRecoveryType
IfcAirToAirHeatRecoveryTypeIfcAirToAirHeatRecoveryType1505     struct IfcAirToAirHeatRecoveryType : IfcEnergyConversionDeviceType, ObjectHelper<IfcAirToAirHeatRecoveryType,1> { IfcAirToAirHeatRecoveryType() : Object("IfcAirToAirHeatRecoveryType") {}
1506         IfcAirToAirHeatRecoveryTypeEnum::Out PredefinedType;
1507     };
1508 
1509     // C++ wrapper for IfcAlarmType
IfcAlarmTypeIfcAlarmType1510     struct IfcAlarmType : IfcDistributionControlElementType, ObjectHelper<IfcAlarmType,1> { IfcAlarmType() : Object("IfcAlarmType") {}
1511         IfcAlarmTypeEnum::Out PredefinedType;
1512     };
1513 
1514     // C++ wrapper for IfcDraughtingCallout
IfcDraughtingCalloutIfcDraughtingCallout1515     struct IfcDraughtingCallout : IfcGeometricRepresentationItem, ObjectHelper<IfcDraughtingCallout,1> { IfcDraughtingCallout() : Object("IfcDraughtingCallout") {}
1516         ListOf< IfcDraughtingCalloutElement, 1, 0 >::Out Contents;
1517     };
1518 
1519     // C++ wrapper for IfcDimensionCurveDirectedCallout
IfcDimensionCurveDirectedCalloutIfcDimensionCurveDirectedCallout1520     struct IfcDimensionCurveDirectedCallout : IfcDraughtingCallout, ObjectHelper<IfcDimensionCurveDirectedCallout,0> { IfcDimensionCurveDirectedCallout() : Object("IfcDimensionCurveDirectedCallout") {}
1521 
1522     };
1523 
1524     // C++ wrapper for IfcAngularDimension
IfcAngularDimensionIfcAngularDimension1525     struct IfcAngularDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcAngularDimension,0> { IfcAngularDimension() : Object("IfcAngularDimension") {}
1526 
1527     };
1528 
1529     // C++ wrapper for IfcProduct
IfcProductIfcProduct1530     struct IfcProduct : IfcObject, ObjectHelper<IfcProduct,2> { IfcProduct() : Object("IfcProduct") {}
1531         Maybe< Lazy< IfcObjectPlacement > > ObjectPlacement;
1532         Maybe< Lazy< IfcProductRepresentation > > Representation;
1533     };
1534 
1535     // C++ wrapper for IfcAnnotation
IfcAnnotationIfcAnnotation1536     struct IfcAnnotation : IfcProduct, ObjectHelper<IfcAnnotation,0> { IfcAnnotation() : Object("IfcAnnotation") {}
1537 
1538     };
1539 
1540     // C++ wrapper for IfcStyledItem
IfcStyledItemIfcStyledItem1541     struct IfcStyledItem : IfcRepresentationItem, ObjectHelper<IfcStyledItem,3> { IfcStyledItem() : Object("IfcStyledItem") {}
1542         Maybe< Lazy< IfcRepresentationItem > > Item;
1543         ListOf< Lazy< IfcPresentationStyleAssignment >, 1, 0 > Styles;
1544         Maybe< IfcLabel::Out > Name;
1545     };
1546 
1547     // C++ wrapper for IfcAnnotationOccurrence
IfcAnnotationOccurrenceIfcAnnotationOccurrence1548     struct IfcAnnotationOccurrence : IfcStyledItem, ObjectHelper<IfcAnnotationOccurrence,0> { IfcAnnotationOccurrence() : Object("IfcAnnotationOccurrence") {}
1549 
1550     };
1551 
1552     // C++ wrapper for IfcAnnotationCurveOccurrence
IfcAnnotationCurveOccurrenceIfcAnnotationCurveOccurrence1553     struct IfcAnnotationCurveOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationCurveOccurrence,0> { IfcAnnotationCurveOccurrence() : Object("IfcAnnotationCurveOccurrence") {}
1554 
1555     };
1556 
1557     // C++ wrapper for IfcAnnotationFillArea
IfcAnnotationFillAreaIfcAnnotationFillArea1558     struct IfcAnnotationFillArea : IfcGeometricRepresentationItem, ObjectHelper<IfcAnnotationFillArea,2> { IfcAnnotationFillArea() : Object("IfcAnnotationFillArea") {}
1559         Lazy< IfcCurve > OuterBoundary;
1560         Maybe< ListOf< Lazy< IfcCurve >, 1, 0 > > InnerBoundaries;
1561     };
1562 
1563     // C++ wrapper for IfcAnnotationFillAreaOccurrence
IfcAnnotationFillAreaOccurrenceIfcAnnotationFillAreaOccurrence1564     struct IfcAnnotationFillAreaOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationFillAreaOccurrence,2> { IfcAnnotationFillAreaOccurrence() : Object("IfcAnnotationFillAreaOccurrence") {}
1565         Maybe< Lazy< IfcPoint > > FillStyleTarget;
1566         Maybe< IfcGlobalOrLocalEnum::Out > GlobalOrLocal;
1567     };
1568 
1569     // C++ wrapper for IfcAnnotationSurface
IfcAnnotationSurfaceIfcAnnotationSurface1570     struct IfcAnnotationSurface : IfcGeometricRepresentationItem, ObjectHelper<IfcAnnotationSurface,2> { IfcAnnotationSurface() : Object("IfcAnnotationSurface") {}
1571         Lazy< IfcGeometricRepresentationItem > Item;
1572         Maybe< Lazy< NotImplemented > > TextureCoordinates;
1573     };
1574 
1575     // C++ wrapper for IfcAnnotationSurfaceOccurrence
IfcAnnotationSurfaceOccurrenceIfcAnnotationSurfaceOccurrence1576     struct IfcAnnotationSurfaceOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationSurfaceOccurrence,0> { IfcAnnotationSurfaceOccurrence() : Object("IfcAnnotationSurfaceOccurrence") {}
1577 
1578     };
1579 
1580     // C++ wrapper for IfcAnnotationSymbolOccurrence
IfcAnnotationSymbolOccurrenceIfcAnnotationSymbolOccurrence1581     struct IfcAnnotationSymbolOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationSymbolOccurrence,0> { IfcAnnotationSymbolOccurrence() : Object("IfcAnnotationSymbolOccurrence") {}
1582 
1583     };
1584 
1585     // C++ wrapper for IfcAnnotationTextOccurrence
IfcAnnotationTextOccurrenceIfcAnnotationTextOccurrence1586     struct IfcAnnotationTextOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationTextOccurrence,0> { IfcAnnotationTextOccurrence() : Object("IfcAnnotationTextOccurrence") {}
1587 
1588     };
1589 
1590     // C++ wrapper for IfcProfileDef
IfcProfileDefIfcProfileDef1591     struct IfcProfileDef :  ObjectHelper<IfcProfileDef,2> { IfcProfileDef() : Object("IfcProfileDef") {}
1592         IfcProfileTypeEnum::Out ProfileType;
1593         Maybe< IfcLabel::Out > ProfileName;
1594     };
1595 
1596     // C++ wrapper for IfcArbitraryClosedProfileDef
IfcArbitraryClosedProfileDefIfcArbitraryClosedProfileDef1597     struct IfcArbitraryClosedProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryClosedProfileDef,1> { IfcArbitraryClosedProfileDef() : Object("IfcArbitraryClosedProfileDef") {}
1598         Lazy< IfcCurve > OuterCurve;
1599     };
1600 
1601     // C++ wrapper for IfcArbitraryOpenProfileDef
IfcArbitraryOpenProfileDefIfcArbitraryOpenProfileDef1602     struct IfcArbitraryOpenProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryOpenProfileDef,1> { IfcArbitraryOpenProfileDef() : Object("IfcArbitraryOpenProfileDef") {}
1603         Lazy< IfcBoundedCurve > Curve;
1604     };
1605 
1606     // C++ wrapper for IfcArbitraryProfileDefWithVoids
IfcArbitraryProfileDefWithVoidsIfcArbitraryProfileDefWithVoids1607     struct IfcArbitraryProfileDefWithVoids : IfcArbitraryClosedProfileDef, ObjectHelper<IfcArbitraryProfileDefWithVoids,1> { IfcArbitraryProfileDefWithVoids() : Object("IfcArbitraryProfileDefWithVoids") {}
1608         ListOf< Lazy< IfcCurve >, 1, 0 > InnerCurves;
1609     };
1610 
1611     // C++ wrapper for IfcGroup
IfcGroupIfcGroup1612     struct IfcGroup : IfcObject, ObjectHelper<IfcGroup,0> { IfcGroup() : Object("IfcGroup") {}
1613 
1614     };
1615 
1616     // C++ wrapper for IfcAsset
IfcAssetIfcAsset1617     struct IfcAsset : IfcGroup, ObjectHelper<IfcAsset,9> { IfcAsset() : Object("IfcAsset") {}
1618         IfcIdentifier::Out AssetID;
1619         Lazy< NotImplemented > OriginalValue;
1620         Lazy< NotImplemented > CurrentValue;
1621         Lazy< NotImplemented > TotalReplacementCost;
1622         IfcActorSelect::Out Owner;
1623         IfcActorSelect::Out User;
1624         Lazy< NotImplemented > ResponsiblePerson;
1625         Lazy< NotImplemented > IncorporationDate;
1626         Lazy< NotImplemented > DepreciatedValue;
1627     };
1628 
1629     // C++ wrapper for IfcParameterizedProfileDef
IfcParameterizedProfileDefIfcParameterizedProfileDef1630     struct IfcParameterizedProfileDef : IfcProfileDef, ObjectHelper<IfcParameterizedProfileDef,1> { IfcParameterizedProfileDef() : Object("IfcParameterizedProfileDef") {}
1631         Lazy< IfcAxis2Placement2D > Position;
1632     };
1633 
1634     // C++ wrapper for IfcIShapeProfileDef
IfcIShapeProfileDefIfcIShapeProfileDef1635     struct IfcIShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcIShapeProfileDef,5> { IfcIShapeProfileDef() : Object("IfcIShapeProfileDef") {}
1636         IfcPositiveLengthMeasure::Out OverallWidth;
1637         IfcPositiveLengthMeasure::Out OverallDepth;
1638         IfcPositiveLengthMeasure::Out WebThickness;
1639         IfcPositiveLengthMeasure::Out FlangeThickness;
1640         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
1641     };
1642 
1643     // C++ wrapper for IfcAsymmetricIShapeProfileDef
IfcAsymmetricIShapeProfileDefIfcAsymmetricIShapeProfileDef1644     struct IfcAsymmetricIShapeProfileDef : IfcIShapeProfileDef, ObjectHelper<IfcAsymmetricIShapeProfileDef,4> { IfcAsymmetricIShapeProfileDef() : Object("IfcAsymmetricIShapeProfileDef") {}
1645         IfcPositiveLengthMeasure::Out TopFlangeWidth;
1646         Maybe< IfcPositiveLengthMeasure::Out > TopFlangeThickness;
1647         Maybe< IfcPositiveLengthMeasure::Out > TopFlangeFilletRadius;
1648         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
1649     };
1650 
1651     // C++ wrapper for IfcPlacement
IfcPlacementIfcPlacement1652     struct IfcPlacement : IfcGeometricRepresentationItem, ObjectHelper<IfcPlacement,1> { IfcPlacement() : Object("IfcPlacement") {}
1653         Lazy< IfcCartesianPoint > Location;
1654     };
1655 
1656     // C++ wrapper for IfcAxis1Placement
IfcAxis1PlacementIfcAxis1Placement1657     struct IfcAxis1Placement : IfcPlacement, ObjectHelper<IfcAxis1Placement,1> { IfcAxis1Placement() : Object("IfcAxis1Placement") {}
1658         Maybe< Lazy< IfcDirection > > Axis;
1659     };
1660 
1661     // C++ wrapper for IfcAxis2Placement2D
IfcAxis2Placement2DIfcAxis2Placement2D1662     struct IfcAxis2Placement2D : IfcPlacement, ObjectHelper<IfcAxis2Placement2D,1> { IfcAxis2Placement2D() : Object("IfcAxis2Placement2D") {}
1663         Maybe< Lazy< IfcDirection > > RefDirection;
1664     };
1665 
1666     // C++ wrapper for IfcAxis2Placement3D
IfcAxis2Placement3DIfcAxis2Placement3D1667     struct IfcAxis2Placement3D : IfcPlacement, ObjectHelper<IfcAxis2Placement3D,2> { IfcAxis2Placement3D() : Object("IfcAxis2Placement3D") {}
1668         Maybe< Lazy< IfcDirection > > Axis;
1669         Maybe< Lazy< IfcDirection > > RefDirection;
1670     };
1671 
1672     // C++ wrapper for IfcBSplineCurve
IfcBSplineCurveIfcBSplineCurve1673     struct IfcBSplineCurve : IfcBoundedCurve, ObjectHelper<IfcBSplineCurve,5> { IfcBSplineCurve() : Object("IfcBSplineCurve") {}
1674         INTEGER::Out Degree;
1675         ListOf< Lazy< IfcCartesianPoint >, 2, 0 > ControlPointsList;
1676         IfcBSplineCurveForm::Out CurveForm;
1677         LOGICAL::Out ClosedCurve;
1678         LOGICAL::Out SelfIntersect;
1679     };
1680 
1681     // C++ wrapper for IfcElement
IfcElementIfcElement1682     struct IfcElement : IfcProduct, ObjectHelper<IfcElement,1> { IfcElement() : Object("IfcElement") {}
1683         Maybe< IfcIdentifier::Out > Tag;
1684     };
1685 
1686     // C++ wrapper for IfcBuildingElement
IfcBuildingElementIfcBuildingElement1687     struct IfcBuildingElement : IfcElement, ObjectHelper<IfcBuildingElement,0> { IfcBuildingElement() : Object("IfcBuildingElement") {}
1688 
1689     };
1690 
1691     // C++ wrapper for IfcBeam
IfcBeamIfcBeam1692     struct IfcBeam : IfcBuildingElement, ObjectHelper<IfcBeam,0> { IfcBeam() : Object("IfcBeam") {}
1693 
1694     };
1695 
1696     // C++ wrapper for IfcBuildingElementType
IfcBuildingElementTypeIfcBuildingElementType1697     struct IfcBuildingElementType : IfcElementType, ObjectHelper<IfcBuildingElementType,0> { IfcBuildingElementType() : Object("IfcBuildingElementType") {}
1698 
1699     };
1700 
1701     // C++ wrapper for IfcBeamType
IfcBeamTypeIfcBeamType1702     struct IfcBeamType : IfcBuildingElementType, ObjectHelper<IfcBeamType,1> { IfcBeamType() : Object("IfcBeamType") {}
1703         IfcBeamTypeEnum::Out PredefinedType;
1704     };
1705 
1706     // C++ wrapper for IfcBezierCurve
IfcBezierCurveIfcBezierCurve1707     struct IfcBezierCurve : IfcBSplineCurve, ObjectHelper<IfcBezierCurve,0> { IfcBezierCurve() : Object("IfcBezierCurve") {}
1708 
1709     };
1710 
1711     // C++ wrapper for IfcCsgPrimitive3D
IfcCsgPrimitive3DIfcCsgPrimitive3D1712     struct IfcCsgPrimitive3D : IfcGeometricRepresentationItem, ObjectHelper<IfcCsgPrimitive3D,1> { IfcCsgPrimitive3D() : Object("IfcCsgPrimitive3D") {}
1713         Lazy< IfcAxis2Placement3D > Position;
1714     };
1715 
1716     // C++ wrapper for IfcBlock
IfcBlockIfcBlock1717     struct IfcBlock : IfcCsgPrimitive3D, ObjectHelper<IfcBlock,3> { IfcBlock() : Object("IfcBlock") {}
1718         IfcPositiveLengthMeasure::Out XLength;
1719         IfcPositiveLengthMeasure::Out YLength;
1720         IfcPositiveLengthMeasure::Out ZLength;
1721     };
1722 
1723     // C++ wrapper for IfcBoilerType
IfcBoilerTypeIfcBoilerType1724     struct IfcBoilerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcBoilerType,1> { IfcBoilerType() : Object("IfcBoilerType") {}
1725         IfcBoilerTypeEnum::Out PredefinedType;
1726     };
1727 
1728     // C++ wrapper for IfcBooleanResult
IfcBooleanResultIfcBooleanResult1729     struct IfcBooleanResult : IfcGeometricRepresentationItem, ObjectHelper<IfcBooleanResult,3> { IfcBooleanResult() : Object("IfcBooleanResult") {}
1730         IfcBooleanOperator::Out Operator;
1731         IfcBooleanOperand::Out FirstOperand;
1732         IfcBooleanOperand::Out SecondOperand;
1733     };
1734 
1735     // C++ wrapper for IfcBooleanClippingResult
IfcBooleanClippingResultIfcBooleanClippingResult1736     struct IfcBooleanClippingResult : IfcBooleanResult, ObjectHelper<IfcBooleanClippingResult,0> { IfcBooleanClippingResult() : Object("IfcBooleanClippingResult") {}
1737 
1738     };
1739 
1740     // C++ wrapper for IfcSurface
IfcSurfaceIfcSurface1741     struct IfcSurface : IfcGeometricRepresentationItem, ObjectHelper<IfcSurface,0> { IfcSurface() : Object("IfcSurface") {}
1742 
1743     };
1744 
1745     // C++ wrapper for IfcBoundedSurface
IfcBoundedSurfaceIfcBoundedSurface1746     struct IfcBoundedSurface : IfcSurface, ObjectHelper<IfcBoundedSurface,0> { IfcBoundedSurface() : Object("IfcBoundedSurface") {}
1747 
1748     };
1749 
1750     // C++ wrapper for IfcBoundingBox
IfcBoundingBoxIfcBoundingBox1751     struct IfcBoundingBox : IfcGeometricRepresentationItem, ObjectHelper<IfcBoundingBox,4> { IfcBoundingBox() : Object("IfcBoundingBox") {}
1752         Lazy< IfcCartesianPoint > Corner;
1753         IfcPositiveLengthMeasure::Out XDim;
1754         IfcPositiveLengthMeasure::Out YDim;
1755         IfcPositiveLengthMeasure::Out ZDim;
1756     };
1757 
1758     // C++ wrapper for IfcHalfSpaceSolid
IfcHalfSpaceSolidIfcHalfSpaceSolid1759     struct IfcHalfSpaceSolid : IfcGeometricRepresentationItem, ObjectHelper<IfcHalfSpaceSolid,2> { IfcHalfSpaceSolid() : Object("IfcHalfSpaceSolid") {}
1760         Lazy< IfcSurface > BaseSurface;
1761         BOOLEAN::Out AgreementFlag;
1762     };
1763 
1764     // C++ wrapper for IfcBoxedHalfSpace
IfcBoxedHalfSpaceIfcBoxedHalfSpace1765     struct IfcBoxedHalfSpace : IfcHalfSpaceSolid, ObjectHelper<IfcBoxedHalfSpace,1> { IfcBoxedHalfSpace() : Object("IfcBoxedHalfSpace") {}
1766         Lazy< IfcBoundingBox > Enclosure;
1767     };
1768 
1769     // C++ wrapper for IfcSpatialStructureElement
IfcSpatialStructureElementIfcSpatialStructureElement1770     struct IfcSpatialStructureElement : IfcProduct, ObjectHelper<IfcSpatialStructureElement,2> { IfcSpatialStructureElement() : Object("IfcSpatialStructureElement") {}
1771         Maybe< IfcLabel::Out > LongName;
1772         IfcElementCompositionEnum::Out CompositionType;
1773     };
1774 
1775     // C++ wrapper for IfcBuilding
IfcBuildingIfcBuilding1776     struct IfcBuilding : IfcSpatialStructureElement, ObjectHelper<IfcBuilding,3> { IfcBuilding() : Object("IfcBuilding") {}
1777         Maybe< IfcLengthMeasure::Out > ElevationOfRefHeight;
1778         Maybe< IfcLengthMeasure::Out > ElevationOfTerrain;
1779         Maybe< Lazy< NotImplemented > > BuildingAddress;
1780     };
1781 
1782     // C++ wrapper for IfcBuildingElementComponent
IfcBuildingElementComponentIfcBuildingElementComponent1783     struct IfcBuildingElementComponent : IfcBuildingElement, ObjectHelper<IfcBuildingElementComponent,0> { IfcBuildingElementComponent() : Object("IfcBuildingElementComponent") {}
1784 
1785     };
1786 
1787     // C++ wrapper for IfcBuildingElementPart
IfcBuildingElementPartIfcBuildingElementPart1788     struct IfcBuildingElementPart : IfcBuildingElementComponent, ObjectHelper<IfcBuildingElementPart,0> { IfcBuildingElementPart() : Object("IfcBuildingElementPart") {}
1789 
1790     };
1791 
1792     // C++ wrapper for IfcBuildingElementProxy
IfcBuildingElementProxyIfcBuildingElementProxy1793     struct IfcBuildingElementProxy : IfcBuildingElement, ObjectHelper<IfcBuildingElementProxy,1> { IfcBuildingElementProxy() : Object("IfcBuildingElementProxy") {}
1794         Maybe< IfcElementCompositionEnum::Out > CompositionType;
1795     };
1796 
1797     // C++ wrapper for IfcBuildingElementProxyType
IfcBuildingElementProxyTypeIfcBuildingElementProxyType1798     struct IfcBuildingElementProxyType : IfcBuildingElementType, ObjectHelper<IfcBuildingElementProxyType,1> { IfcBuildingElementProxyType() : Object("IfcBuildingElementProxyType") {}
1799         IfcBuildingElementProxyTypeEnum::Out PredefinedType;
1800     };
1801 
1802     // C++ wrapper for IfcBuildingStorey
IfcBuildingStoreyIfcBuildingStorey1803     struct IfcBuildingStorey : IfcSpatialStructureElement, ObjectHelper<IfcBuildingStorey,1> { IfcBuildingStorey() : Object("IfcBuildingStorey") {}
1804         Maybe< IfcLengthMeasure::Out > Elevation;
1805     };
1806 
1807     // C++ wrapper for IfcCShapeProfileDef
IfcCShapeProfileDefIfcCShapeProfileDef1808     struct IfcCShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCShapeProfileDef,6> { IfcCShapeProfileDef() : Object("IfcCShapeProfileDef") {}
1809         IfcPositiveLengthMeasure::Out Depth;
1810         IfcPositiveLengthMeasure::Out Width;
1811         IfcPositiveLengthMeasure::Out WallThickness;
1812         IfcPositiveLengthMeasure::Out Girth;
1813         Maybe< IfcPositiveLengthMeasure::Out > InternalFilletRadius;
1814         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
1815     };
1816 
1817     // C++ wrapper for IfcFlowFittingType
IfcFlowFittingTypeIfcFlowFittingType1818     struct IfcFlowFittingType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowFittingType,0> { IfcFlowFittingType() : Object("IfcFlowFittingType") {}
1819 
1820     };
1821 
1822     // C++ wrapper for IfcCableCarrierFittingType
IfcCableCarrierFittingTypeIfcCableCarrierFittingType1823     struct IfcCableCarrierFittingType : IfcFlowFittingType, ObjectHelper<IfcCableCarrierFittingType,1> { IfcCableCarrierFittingType() : Object("IfcCableCarrierFittingType") {}
1824         IfcCableCarrierFittingTypeEnum::Out PredefinedType;
1825     };
1826 
1827     // C++ wrapper for IfcFlowSegmentType
IfcFlowSegmentTypeIfcFlowSegmentType1828     struct IfcFlowSegmentType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowSegmentType,0> { IfcFlowSegmentType() : Object("IfcFlowSegmentType") {}
1829 
1830     };
1831 
1832     // C++ wrapper for IfcCableCarrierSegmentType
IfcCableCarrierSegmentTypeIfcCableCarrierSegmentType1833     struct IfcCableCarrierSegmentType : IfcFlowSegmentType, ObjectHelper<IfcCableCarrierSegmentType,1> { IfcCableCarrierSegmentType() : Object("IfcCableCarrierSegmentType") {}
1834         IfcCableCarrierSegmentTypeEnum::Out PredefinedType;
1835     };
1836 
1837     // C++ wrapper for IfcCableSegmentType
IfcCableSegmentTypeIfcCableSegmentType1838     struct IfcCableSegmentType : IfcFlowSegmentType, ObjectHelper<IfcCableSegmentType,1> { IfcCableSegmentType() : Object("IfcCableSegmentType") {}
1839         IfcCableSegmentTypeEnum::Out PredefinedType;
1840     };
1841 
1842     // C++ wrapper for IfcPoint
IfcPointIfcPoint1843     struct IfcPoint : IfcGeometricRepresentationItem, ObjectHelper<IfcPoint,0> { IfcPoint() : Object("IfcPoint") {}
1844 
1845     };
1846 
1847     // C++ wrapper for IfcCartesianPoint
IfcCartesianPointIfcCartesianPoint1848     struct IfcCartesianPoint : IfcPoint, ObjectHelper<IfcCartesianPoint,1> { IfcCartesianPoint() : Object("IfcCartesianPoint") {}
1849         ListOf< IfcLengthMeasure, 1, 3 >::Out Coordinates;
1850     };
1851 
1852     // C++ wrapper for IfcCartesianTransformationOperator
IfcCartesianTransformationOperatorIfcCartesianTransformationOperator1853     struct IfcCartesianTransformationOperator : IfcGeometricRepresentationItem, ObjectHelper<IfcCartesianTransformationOperator,4> { IfcCartesianTransformationOperator() : Object("IfcCartesianTransformationOperator") {}
1854         Maybe< Lazy< IfcDirection > > Axis1;
1855         Maybe< Lazy< IfcDirection > > Axis2;
1856         Lazy< IfcCartesianPoint > LocalOrigin;
1857         Maybe< REAL::Out > Scale;
1858     };
1859 
1860     // C++ wrapper for IfcCartesianTransformationOperator2D
IfcCartesianTransformationOperator2DIfcCartesianTransformationOperator2D1861     struct IfcCartesianTransformationOperator2D : IfcCartesianTransformationOperator, ObjectHelper<IfcCartesianTransformationOperator2D,0> { IfcCartesianTransformationOperator2D() : Object("IfcCartesianTransformationOperator2D") {}
1862 
1863     };
1864 
1865     // C++ wrapper for IfcCartesianTransformationOperator2DnonUniform
IfcCartesianTransformationOperator2DnonUniformIfcCartesianTransformationOperator2DnonUniform1866     struct IfcCartesianTransformationOperator2DnonUniform : IfcCartesianTransformationOperator2D, ObjectHelper<IfcCartesianTransformationOperator2DnonUniform,1> { IfcCartesianTransformationOperator2DnonUniform() : Object("IfcCartesianTransformationOperator2DnonUniform") {}
1867         Maybe< REAL::Out > Scale2;
1868     };
1869 
1870     // C++ wrapper for IfcCartesianTransformationOperator3D
IfcCartesianTransformationOperator3DIfcCartesianTransformationOperator3D1871     struct IfcCartesianTransformationOperator3D : IfcCartesianTransformationOperator, ObjectHelper<IfcCartesianTransformationOperator3D,1> { IfcCartesianTransformationOperator3D() : Object("IfcCartesianTransformationOperator3D") {}
1872         Maybe< Lazy< IfcDirection > > Axis3;
1873     };
1874 
1875     // C++ wrapper for IfcCartesianTransformationOperator3DnonUniform
IfcCartesianTransformationOperator3DnonUniformIfcCartesianTransformationOperator3DnonUniform1876     struct IfcCartesianTransformationOperator3DnonUniform : IfcCartesianTransformationOperator3D, ObjectHelper<IfcCartesianTransformationOperator3DnonUniform,2> { IfcCartesianTransformationOperator3DnonUniform() : Object("IfcCartesianTransformationOperator3DnonUniform") {}
1877         Maybe< REAL::Out > Scale2;
1878         Maybe< REAL::Out > Scale3;
1879     };
1880 
1881     // C++ wrapper for IfcCenterLineProfileDef
IfcCenterLineProfileDefIfcCenterLineProfileDef1882     struct IfcCenterLineProfileDef : IfcArbitraryOpenProfileDef, ObjectHelper<IfcCenterLineProfileDef,1> { IfcCenterLineProfileDef() : Object("IfcCenterLineProfileDef") {}
1883         IfcPositiveLengthMeasure::Out Thickness;
1884     };
1885 
1886     // C++ wrapper for IfcFeatureElement
IfcFeatureElementIfcFeatureElement1887     struct IfcFeatureElement : IfcElement, ObjectHelper<IfcFeatureElement,0> { IfcFeatureElement() : Object("IfcFeatureElement") {}
1888 
1889     };
1890 
1891     // C++ wrapper for IfcFeatureElementSubtraction
IfcFeatureElementSubtractionIfcFeatureElementSubtraction1892     struct IfcFeatureElementSubtraction : IfcFeatureElement, ObjectHelper<IfcFeatureElementSubtraction,0> { IfcFeatureElementSubtraction() : Object("IfcFeatureElementSubtraction") {}
1893 
1894     };
1895 
1896     // C++ wrapper for IfcEdgeFeature
IfcEdgeFeatureIfcEdgeFeature1897     struct IfcEdgeFeature : IfcFeatureElementSubtraction, ObjectHelper<IfcEdgeFeature,1> { IfcEdgeFeature() : Object("IfcEdgeFeature") {}
1898         Maybe< IfcPositiveLengthMeasure::Out > FeatureLength;
1899     };
1900 
1901     // C++ wrapper for IfcChamferEdgeFeature
IfcChamferEdgeFeatureIfcChamferEdgeFeature1902     struct IfcChamferEdgeFeature : IfcEdgeFeature, ObjectHelper<IfcChamferEdgeFeature,2> { IfcChamferEdgeFeature() : Object("IfcChamferEdgeFeature") {}
1903         Maybe< IfcPositiveLengthMeasure::Out > Width;
1904         Maybe< IfcPositiveLengthMeasure::Out > Height;
1905     };
1906 
1907     // C++ wrapper for IfcChillerType
IfcChillerTypeIfcChillerType1908     struct IfcChillerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcChillerType,1> { IfcChillerType() : Object("IfcChillerType") {}
1909         IfcChillerTypeEnum::Out PredefinedType;
1910     };
1911 
1912     // C++ wrapper for IfcConic
IfcConicIfcConic1913     struct IfcConic : IfcCurve, ObjectHelper<IfcConic,1> { IfcConic() : Object("IfcConic") {}
1914         IfcAxis2Placement::Out Position;
1915     };
1916 
1917     // C++ wrapper for IfcCircle
IfcCircleIfcCircle1918     struct IfcCircle : IfcConic, ObjectHelper<IfcCircle,1> { IfcCircle() : Object("IfcCircle") {}
1919         IfcPositiveLengthMeasure::Out Radius;
1920     };
1921 
1922     // C++ wrapper for IfcCircleProfileDef
IfcCircleProfileDefIfcCircleProfileDef1923     struct IfcCircleProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCircleProfileDef,1> { IfcCircleProfileDef() : Object("IfcCircleProfileDef") {}
1924         IfcPositiveLengthMeasure::Out Radius;
1925     };
1926 
1927     // C++ wrapper for IfcCircleHollowProfileDef
IfcCircleHollowProfileDefIfcCircleHollowProfileDef1928     struct IfcCircleHollowProfileDef : IfcCircleProfileDef, ObjectHelper<IfcCircleHollowProfileDef,1> { IfcCircleHollowProfileDef() : Object("IfcCircleHollowProfileDef") {}
1929         IfcPositiveLengthMeasure::Out WallThickness;
1930     };
1931 
1932     // C++ wrapper for IfcTopologicalRepresentationItem
IfcTopologicalRepresentationItemIfcTopologicalRepresentationItem1933     struct IfcTopologicalRepresentationItem : IfcRepresentationItem, ObjectHelper<IfcTopologicalRepresentationItem,0> { IfcTopologicalRepresentationItem() : Object("IfcTopologicalRepresentationItem") {}
1934 
1935     };
1936 
1937     // C++ wrapper for IfcConnectedFaceSet
IfcConnectedFaceSetIfcConnectedFaceSet1938     struct IfcConnectedFaceSet : IfcTopologicalRepresentationItem, ObjectHelper<IfcConnectedFaceSet,1> { IfcConnectedFaceSet() : Object("IfcConnectedFaceSet") {}
1939         ListOf< Lazy< IfcFace >, 1, 0 > CfsFaces;
1940     };
1941 
1942     // C++ wrapper for IfcClosedShell
IfcClosedShellIfcClosedShell1943     struct IfcClosedShell : IfcConnectedFaceSet, ObjectHelper<IfcClosedShell,0> { IfcClosedShell() : Object("IfcClosedShell") {}
1944 
1945     };
1946 
1947     // C++ wrapper for IfcCoilType
IfcCoilTypeIfcCoilType1948     struct IfcCoilType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCoilType,1> { IfcCoilType() : Object("IfcCoilType") {}
1949         IfcCoilTypeEnum::Out PredefinedType;
1950     };
1951 
1952     // C++ wrapper for IfcColourSpecification
IfcColourSpecificationIfcColourSpecification1953     struct IfcColourSpecification :  ObjectHelper<IfcColourSpecification,1> { IfcColourSpecification() : Object("IfcColourSpecification") {}
1954         Maybe< IfcLabel::Out > Name;
1955     };
1956 
1957     // C++ wrapper for IfcColourRgb
IfcColourRgbIfcColourRgb1958     struct IfcColourRgb : IfcColourSpecification, ObjectHelper<IfcColourRgb,3> { IfcColourRgb() : Object("IfcColourRgb") {}
1959         IfcNormalisedRatioMeasure::Out Red;
1960         IfcNormalisedRatioMeasure::Out Green;
1961         IfcNormalisedRatioMeasure::Out Blue;
1962     };
1963 
1964     // C++ wrapper for IfcColumn
IfcColumnIfcColumn1965     struct IfcColumn : IfcBuildingElement, ObjectHelper<IfcColumn,0> { IfcColumn() : Object("IfcColumn") {}
1966 
1967     };
1968 
1969     // C++ wrapper for IfcColumnType
IfcColumnTypeIfcColumnType1970     struct IfcColumnType : IfcBuildingElementType, ObjectHelper<IfcColumnType,1> { IfcColumnType() : Object("IfcColumnType") {}
1971         IfcColumnTypeEnum::Out PredefinedType;
1972     };
1973 
1974     // C++ wrapper for IfcProperty
IfcPropertyIfcProperty1975     struct IfcProperty :  ObjectHelper<IfcProperty,2> { IfcProperty() : Object("IfcProperty") {}
1976         IfcIdentifier::Out Name;
1977         Maybe< IfcText::Out > Description;
1978     };
1979 
1980     // C++ wrapper for IfcComplexProperty
IfcComplexPropertyIfcComplexProperty1981     struct IfcComplexProperty : IfcProperty, ObjectHelper<IfcComplexProperty,2> { IfcComplexProperty() : Object("IfcComplexProperty") {}
1982         IfcIdentifier::Out UsageName;
1983         ListOf< Lazy< IfcProperty >, 1, 0 > HasProperties;
1984     };
1985 
1986     // C++ wrapper for IfcCompositeCurveSegment
IfcCompositeCurveSegmentIfcCompositeCurveSegment1987     struct IfcCompositeCurveSegment : IfcGeometricRepresentationItem, ObjectHelper<IfcCompositeCurveSegment,3> { IfcCompositeCurveSegment() : Object("IfcCompositeCurveSegment") {}
1988         IfcTransitionCode::Out Transition;
1989         BOOLEAN::Out SameSense;
1990         Lazy< IfcCurve > ParentCurve;
1991     };
1992 
1993     // C++ wrapper for IfcCompositeProfileDef
IfcCompositeProfileDefIfcCompositeProfileDef1994     struct IfcCompositeProfileDef : IfcProfileDef, ObjectHelper<IfcCompositeProfileDef,2> { IfcCompositeProfileDef() : Object("IfcCompositeProfileDef") {}
1995         ListOf< Lazy< IfcProfileDef >, 2, 0 > Profiles;
1996         Maybe< IfcLabel::Out > Label;
1997     };
1998 
1999     // C++ wrapper for IfcFlowMovingDeviceType
IfcFlowMovingDeviceTypeIfcFlowMovingDeviceType2000     struct IfcFlowMovingDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowMovingDeviceType,0> { IfcFlowMovingDeviceType() : Object("IfcFlowMovingDeviceType") {}
2001 
2002     };
2003 
2004     // C++ wrapper for IfcCompressorType
IfcCompressorTypeIfcCompressorType2005     struct IfcCompressorType : IfcFlowMovingDeviceType, ObjectHelper<IfcCompressorType,1> { IfcCompressorType() : Object("IfcCompressorType") {}
2006         IfcCompressorTypeEnum::Out PredefinedType;
2007     };
2008 
2009     // C++ wrapper for IfcCondenserType
IfcCondenserTypeIfcCondenserType2010     struct IfcCondenserType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCondenserType,1> { IfcCondenserType() : Object("IfcCondenserType") {}
2011         IfcCondenserTypeEnum::Out PredefinedType;
2012     };
2013 
2014     // C++ wrapper for IfcCondition
IfcConditionIfcCondition2015     struct IfcCondition : IfcGroup, ObjectHelper<IfcCondition,0> { IfcCondition() : Object("IfcCondition") {}
2016 
2017     };
2018 
2019     // C++ wrapper for IfcConditionCriterion
IfcConditionCriterionIfcConditionCriterion2020     struct IfcConditionCriterion : IfcControl, ObjectHelper<IfcConditionCriterion,2> { IfcConditionCriterion() : Object("IfcConditionCriterion") {}
2021         IfcConditionCriterionSelect::Out Criterion;
2022         IfcDateTimeSelect::Out CriterionDateTime;
2023     };
2024 
2025     // C++ wrapper for IfcResource
IfcResourceIfcResource2026     struct IfcResource : IfcObject, ObjectHelper<IfcResource,0> { IfcResource() : Object("IfcResource") {}
2027 
2028     };
2029 
2030     // C++ wrapper for IfcConstructionResource
IfcConstructionResourceIfcConstructionResource2031     struct IfcConstructionResource : IfcResource, ObjectHelper<IfcConstructionResource,4> { IfcConstructionResource() : Object("IfcConstructionResource") {}
2032         Maybe< IfcIdentifier::Out > ResourceIdentifier;
2033         Maybe< IfcLabel::Out > ResourceGroup;
2034         Maybe< IfcResourceConsumptionEnum::Out > ResourceConsumption;
2035         Maybe< Lazy< IfcMeasureWithUnit > > BaseQuantity;
2036     };
2037 
2038     // C++ wrapper for IfcConstructionEquipmentResource
IfcConstructionEquipmentResourceIfcConstructionEquipmentResource2039     struct IfcConstructionEquipmentResource : IfcConstructionResource, ObjectHelper<IfcConstructionEquipmentResource,0> { IfcConstructionEquipmentResource() : Object("IfcConstructionEquipmentResource") {}
2040 
2041     };
2042 
2043     // C++ wrapper for IfcConstructionMaterialResource
IfcConstructionMaterialResourceIfcConstructionMaterialResource2044     struct IfcConstructionMaterialResource : IfcConstructionResource, ObjectHelper<IfcConstructionMaterialResource,2> { IfcConstructionMaterialResource() : Object("IfcConstructionMaterialResource") {}
2045         Maybe< ListOf< IfcActorSelect, 1, 0 >::Out > Suppliers;
2046         Maybe< IfcRatioMeasure::Out > UsageRatio;
2047     };
2048 
2049     // C++ wrapper for IfcConstructionProductResource
IfcConstructionProductResourceIfcConstructionProductResource2050     struct IfcConstructionProductResource : IfcConstructionResource, ObjectHelper<IfcConstructionProductResource,0> { IfcConstructionProductResource() : Object("IfcConstructionProductResource") {}
2051 
2052     };
2053 
2054     // C++ wrapper for IfcNamedUnit
IfcNamedUnitIfcNamedUnit2055     struct IfcNamedUnit :  ObjectHelper<IfcNamedUnit,2> { IfcNamedUnit() : Object("IfcNamedUnit") {}
2056         Lazy< NotImplemented > Dimensions;
2057         IfcUnitEnum::Out UnitType;
2058     };
2059 
2060     // C++ wrapper for IfcContextDependentUnit
IfcContextDependentUnitIfcContextDependentUnit2061     struct IfcContextDependentUnit : IfcNamedUnit, ObjectHelper<IfcContextDependentUnit,1> { IfcContextDependentUnit() : Object("IfcContextDependentUnit") {}
2062         IfcLabel::Out Name;
2063     };
2064 
2065     // C++ wrapper for IfcControllerType
IfcControllerTypeIfcControllerType2066     struct IfcControllerType : IfcDistributionControlElementType, ObjectHelper<IfcControllerType,1> { IfcControllerType() : Object("IfcControllerType") {}
2067         IfcControllerTypeEnum::Out PredefinedType;
2068     };
2069 
2070     // C++ wrapper for IfcConversionBasedUnit
IfcConversionBasedUnitIfcConversionBasedUnit2071     struct IfcConversionBasedUnit : IfcNamedUnit, ObjectHelper<IfcConversionBasedUnit,2> { IfcConversionBasedUnit() : Object("IfcConversionBasedUnit") {}
2072         IfcLabel::Out Name;
2073         Lazy< IfcMeasureWithUnit > ConversionFactor;
2074     };
2075 
2076     // C++ wrapper for IfcCooledBeamType
IfcCooledBeamTypeIfcCooledBeamType2077     struct IfcCooledBeamType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCooledBeamType,1> { IfcCooledBeamType() : Object("IfcCooledBeamType") {}
2078         IfcCooledBeamTypeEnum::Out PredefinedType;
2079     };
2080 
2081     // C++ wrapper for IfcCoolingTowerType
IfcCoolingTowerTypeIfcCoolingTowerType2082     struct IfcCoolingTowerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCoolingTowerType,1> { IfcCoolingTowerType() : Object("IfcCoolingTowerType") {}
2083         IfcCoolingTowerTypeEnum::Out PredefinedType;
2084     };
2085 
2086     // C++ wrapper for IfcCostItem
IfcCostItemIfcCostItem2087     struct IfcCostItem : IfcControl, ObjectHelper<IfcCostItem,0> { IfcCostItem() : Object("IfcCostItem") {}
2088 
2089     };
2090 
2091     // C++ wrapper for IfcCostSchedule
IfcCostScheduleIfcCostSchedule2092     struct IfcCostSchedule : IfcControl, ObjectHelper<IfcCostSchedule,8> { IfcCostSchedule() : Object("IfcCostSchedule") {}
2093         Maybe< IfcActorSelect::Out > SubmittedBy;
2094         Maybe< IfcActorSelect::Out > PreparedBy;
2095         Maybe< IfcDateTimeSelect::Out > SubmittedOn;
2096         Maybe< IfcLabel::Out > Status;
2097         Maybe< ListOf< IfcActorSelect, 1, 0 >::Out > TargetUsers;
2098         Maybe< IfcDateTimeSelect::Out > UpdateDate;
2099         IfcIdentifier::Out ID;
2100         IfcCostScheduleTypeEnum::Out PredefinedType;
2101     };
2102 
2103     // C++ wrapper for IfcCovering
IfcCoveringIfcCovering2104     struct IfcCovering : IfcBuildingElement, ObjectHelper<IfcCovering,1> { IfcCovering() : Object("IfcCovering") {}
2105         Maybe< IfcCoveringTypeEnum::Out > PredefinedType;
2106     };
2107 
2108     // C++ wrapper for IfcCoveringType
IfcCoveringTypeIfcCoveringType2109     struct IfcCoveringType : IfcBuildingElementType, ObjectHelper<IfcCoveringType,1> { IfcCoveringType() : Object("IfcCoveringType") {}
2110         IfcCoveringTypeEnum::Out PredefinedType;
2111     };
2112 
2113     // C++ wrapper for IfcCraneRailAShapeProfileDef
IfcCraneRailAShapeProfileDefIfcCraneRailAShapeProfileDef2114     struct IfcCraneRailAShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCraneRailAShapeProfileDef,12> { IfcCraneRailAShapeProfileDef() : Object("IfcCraneRailAShapeProfileDef") {}
2115         IfcPositiveLengthMeasure::Out OverallHeight;
2116         IfcPositiveLengthMeasure::Out BaseWidth2;
2117         Maybe< IfcPositiveLengthMeasure::Out > Radius;
2118         IfcPositiveLengthMeasure::Out HeadWidth;
2119         IfcPositiveLengthMeasure::Out HeadDepth2;
2120         IfcPositiveLengthMeasure::Out HeadDepth3;
2121         IfcPositiveLengthMeasure::Out WebThickness;
2122         IfcPositiveLengthMeasure::Out BaseWidth4;
2123         IfcPositiveLengthMeasure::Out BaseDepth1;
2124         IfcPositiveLengthMeasure::Out BaseDepth2;
2125         IfcPositiveLengthMeasure::Out BaseDepth3;
2126         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2127     };
2128 
2129     // C++ wrapper for IfcCraneRailFShapeProfileDef
IfcCraneRailFShapeProfileDefIfcCraneRailFShapeProfileDef2130     struct IfcCraneRailFShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCraneRailFShapeProfileDef,9> { IfcCraneRailFShapeProfileDef() : Object("IfcCraneRailFShapeProfileDef") {}
2131         IfcPositiveLengthMeasure::Out OverallHeight;
2132         IfcPositiveLengthMeasure::Out HeadWidth;
2133         Maybe< IfcPositiveLengthMeasure::Out > Radius;
2134         IfcPositiveLengthMeasure::Out HeadDepth2;
2135         IfcPositiveLengthMeasure::Out HeadDepth3;
2136         IfcPositiveLengthMeasure::Out WebThickness;
2137         IfcPositiveLengthMeasure::Out BaseDepth1;
2138         IfcPositiveLengthMeasure::Out BaseDepth2;
2139         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2140     };
2141 
2142     // C++ wrapper for IfcCrewResource
IfcCrewResourceIfcCrewResource2143     struct IfcCrewResource : IfcConstructionResource, ObjectHelper<IfcCrewResource,0> { IfcCrewResource() : Object("IfcCrewResource") {}
2144 
2145     };
2146 
2147     // C++ wrapper for IfcSolidModel
IfcSolidModelIfcSolidModel2148     struct IfcSolidModel : IfcGeometricRepresentationItem, ObjectHelper<IfcSolidModel,0> { IfcSolidModel() : Object("IfcSolidModel") {}
2149 
2150     };
2151 
2152     // C++ wrapper for IfcCsgSolid
IfcCsgSolidIfcCsgSolid2153     struct IfcCsgSolid : IfcSolidModel, ObjectHelper<IfcCsgSolid,1> { IfcCsgSolid() : Object("IfcCsgSolid") {}
2154         IfcCsgSelect::Out TreeRootExpression;
2155     };
2156 
2157     // C++ wrapper for IfcCurtainWall
IfcCurtainWallIfcCurtainWall2158     struct IfcCurtainWall : IfcBuildingElement, ObjectHelper<IfcCurtainWall,0> { IfcCurtainWall() : Object("IfcCurtainWall") {}
2159 
2160     };
2161 
2162     // C++ wrapper for IfcCurtainWallType
IfcCurtainWallTypeIfcCurtainWallType2163     struct IfcCurtainWallType : IfcBuildingElementType, ObjectHelper<IfcCurtainWallType,1> { IfcCurtainWallType() : Object("IfcCurtainWallType") {}
2164         IfcCurtainWallTypeEnum::Out PredefinedType;
2165     };
2166 
2167     // C++ wrapper for IfcCurveBoundedPlane
IfcCurveBoundedPlaneIfcCurveBoundedPlane2168     struct IfcCurveBoundedPlane : IfcBoundedSurface, ObjectHelper<IfcCurveBoundedPlane,3> { IfcCurveBoundedPlane() : Object("IfcCurveBoundedPlane") {}
2169         Lazy< IfcPlane > BasisSurface;
2170         Lazy< IfcCurve > OuterBoundary;
2171         ListOf< Lazy< IfcCurve >, 0, 0 > InnerBoundaries;
2172     };
2173 
2174     // C++ wrapper for IfcPresentationStyle
IfcPresentationStyleIfcPresentationStyle2175     struct IfcPresentationStyle :  ObjectHelper<IfcPresentationStyle,1> { IfcPresentationStyle() : Object("IfcPresentationStyle") {}
2176         Maybe< IfcLabel::Out > Name;
2177     };
2178 
2179     // C++ wrapper for IfcDamperType
IfcDamperTypeIfcDamperType2180     struct IfcDamperType : IfcFlowControllerType, ObjectHelper<IfcDamperType,1> { IfcDamperType() : Object("IfcDamperType") {}
2181         IfcDamperTypeEnum::Out PredefinedType;
2182     };
2183 
2184     // C++ wrapper for IfcDefinedSymbol
IfcDefinedSymbolIfcDefinedSymbol2185     struct IfcDefinedSymbol : IfcGeometricRepresentationItem, ObjectHelper<IfcDefinedSymbol,2> { IfcDefinedSymbol() : Object("IfcDefinedSymbol") {}
2186         IfcDefinedSymbolSelect::Out Definition;
2187         Lazy< IfcCartesianTransformationOperator2D > Target;
2188     };
2189 
2190     // C++ wrapper for IfcDerivedProfileDef
IfcDerivedProfileDefIfcDerivedProfileDef2191     struct IfcDerivedProfileDef : IfcProfileDef, ObjectHelper<IfcDerivedProfileDef,3> { IfcDerivedProfileDef() : Object("IfcDerivedProfileDef") {}
2192         Lazy< IfcProfileDef > ParentProfile;
2193         Lazy< IfcCartesianTransformationOperator2D > Operator;
2194         Maybe< IfcLabel::Out > Label;
2195     };
2196 
2197     // C++ wrapper for IfcDiameterDimension
IfcDiameterDimensionIfcDiameterDimension2198     struct IfcDiameterDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcDiameterDimension,0> { IfcDiameterDimension() : Object("IfcDiameterDimension") {}
2199 
2200     };
2201 
2202     // C++ wrapper for IfcDimensionCurve
IfcDimensionCurveIfcDimensionCurve2203     struct IfcDimensionCurve : IfcAnnotationCurveOccurrence, ObjectHelper<IfcDimensionCurve,0> { IfcDimensionCurve() : Object("IfcDimensionCurve") {}
2204 
2205     };
2206 
2207     // C++ wrapper for IfcTerminatorSymbol
IfcTerminatorSymbolIfcTerminatorSymbol2208     struct IfcTerminatorSymbol : IfcAnnotationSymbolOccurrence, ObjectHelper<IfcTerminatorSymbol,1> { IfcTerminatorSymbol() : Object("IfcTerminatorSymbol") {}
2209         Lazy< IfcAnnotationCurveOccurrence > AnnotatedCurve;
2210     };
2211 
2212     // C++ wrapper for IfcDimensionCurveTerminator
IfcDimensionCurveTerminatorIfcDimensionCurveTerminator2213     struct IfcDimensionCurveTerminator : IfcTerminatorSymbol, ObjectHelper<IfcDimensionCurveTerminator,1> { IfcDimensionCurveTerminator() : Object("IfcDimensionCurveTerminator") {}
2214         IfcDimensionExtentUsage::Out Role;
2215     };
2216 
2217     // C++ wrapper for IfcDirection
IfcDirectionIfcDirection2218     struct IfcDirection : IfcGeometricRepresentationItem, ObjectHelper<IfcDirection,1> { IfcDirection() : Object("IfcDirection") {}
2219         ListOf< REAL, 2, 3 >::Out DirectionRatios;
2220     };
2221 
2222     // C++ wrapper for IfcElementComponent
IfcElementComponentIfcElementComponent2223     struct IfcElementComponent : IfcElement, ObjectHelper<IfcElementComponent,0> { IfcElementComponent() : Object("IfcElementComponent") {}
2224 
2225     };
2226 
2227     // C++ wrapper for IfcDiscreteAccessory
IfcDiscreteAccessoryIfcDiscreteAccessory2228     struct IfcDiscreteAccessory : IfcElementComponent, ObjectHelper<IfcDiscreteAccessory,0> { IfcDiscreteAccessory() : Object("IfcDiscreteAccessory") {}
2229 
2230     };
2231 
2232     // C++ wrapper for IfcElementComponentType
IfcElementComponentTypeIfcElementComponentType2233     struct IfcElementComponentType : IfcElementType, ObjectHelper<IfcElementComponentType,0> { IfcElementComponentType() : Object("IfcElementComponentType") {}
2234 
2235     };
2236 
2237     // C++ wrapper for IfcDiscreteAccessoryType
IfcDiscreteAccessoryTypeIfcDiscreteAccessoryType2238     struct IfcDiscreteAccessoryType : IfcElementComponentType, ObjectHelper<IfcDiscreteAccessoryType,0> { IfcDiscreteAccessoryType() : Object("IfcDiscreteAccessoryType") {}
2239 
2240     };
2241 
2242     // C++ wrapper for IfcDistributionElement
IfcDistributionElementIfcDistributionElement2243     struct IfcDistributionElement : IfcElement, ObjectHelper<IfcDistributionElement,0> { IfcDistributionElement() : Object("IfcDistributionElement") {}
2244 
2245     };
2246 
2247     // C++ wrapper for IfcDistributionFlowElement
IfcDistributionFlowElementIfcDistributionFlowElement2248     struct IfcDistributionFlowElement : IfcDistributionElement, ObjectHelper<IfcDistributionFlowElement,0> { IfcDistributionFlowElement() : Object("IfcDistributionFlowElement") {}
2249 
2250     };
2251 
2252     // C++ wrapper for IfcDistributionChamberElement
IfcDistributionChamberElementIfcDistributionChamberElement2253     struct IfcDistributionChamberElement : IfcDistributionFlowElement, ObjectHelper<IfcDistributionChamberElement,0> { IfcDistributionChamberElement() : Object("IfcDistributionChamberElement") {}
2254 
2255     };
2256 
2257     // C++ wrapper for IfcDistributionChamberElementType
IfcDistributionChamberElementTypeIfcDistributionChamberElementType2258     struct IfcDistributionChamberElementType : IfcDistributionFlowElementType, ObjectHelper<IfcDistributionChamberElementType,1> { IfcDistributionChamberElementType() : Object("IfcDistributionChamberElementType") {}
2259         IfcDistributionChamberElementTypeEnum::Out PredefinedType;
2260     };
2261 
2262     // C++ wrapper for IfcDistributionControlElement
IfcDistributionControlElementIfcDistributionControlElement2263     struct IfcDistributionControlElement : IfcDistributionElement, ObjectHelper<IfcDistributionControlElement,1> { IfcDistributionControlElement() : Object("IfcDistributionControlElement") {}
2264         Maybe< IfcIdentifier::Out > ControlElementId;
2265     };
2266 
2267     // C++ wrapper for IfcPort
IfcPortIfcPort2268     struct IfcPort : IfcProduct, ObjectHelper<IfcPort,0> { IfcPort() : Object("IfcPort") {}
2269 
2270     };
2271 
2272     // C++ wrapper for IfcDistributionPort
IfcDistributionPortIfcDistributionPort2273     struct IfcDistributionPort : IfcPort, ObjectHelper<IfcDistributionPort,1> { IfcDistributionPort() : Object("IfcDistributionPort") {}
2274         Maybe< IfcFlowDirectionEnum::Out > FlowDirection;
2275     };
2276 
2277     // C++ wrapper for IfcDoor
IfcDoorIfcDoor2278     struct IfcDoor : IfcBuildingElement, ObjectHelper<IfcDoor,2> { IfcDoor() : Object("IfcDoor") {}
2279         Maybe< IfcPositiveLengthMeasure::Out > OverallHeight;
2280         Maybe< IfcPositiveLengthMeasure::Out > OverallWidth;
2281     };
2282 
2283     // C++ wrapper for IfcPropertyDefinition
IfcPropertyDefinitionIfcPropertyDefinition2284     struct IfcPropertyDefinition : IfcRoot, ObjectHelper<IfcPropertyDefinition,0> { IfcPropertyDefinition() : Object("IfcPropertyDefinition") {}
2285 
2286     };
2287 
2288     // C++ wrapper for IfcPropertySetDefinition
IfcPropertySetDefinitionIfcPropertySetDefinition2289     struct IfcPropertySetDefinition : IfcPropertyDefinition, ObjectHelper<IfcPropertySetDefinition,0> { IfcPropertySetDefinition() : Object("IfcPropertySetDefinition") {}
2290 
2291     };
2292 
2293     // C++ wrapper for IfcDoorStyle
IfcDoorStyleIfcDoorStyle2294     struct IfcDoorStyle : IfcTypeProduct, ObjectHelper<IfcDoorStyle,4> { IfcDoorStyle() : Object("IfcDoorStyle") {}
2295         IfcDoorStyleOperationEnum::Out OperationType;
2296         IfcDoorStyleConstructionEnum::Out ConstructionType;
2297         BOOLEAN::Out ParameterTakesPrecedence;
2298         BOOLEAN::Out Sizeable;
2299     };
2300 
2301     // C++ wrapper for IfcDuctFittingType
IfcDuctFittingTypeIfcDuctFittingType2302     struct IfcDuctFittingType : IfcFlowFittingType, ObjectHelper<IfcDuctFittingType,1> { IfcDuctFittingType() : Object("IfcDuctFittingType") {}
2303         IfcDuctFittingTypeEnum::Out PredefinedType;
2304     };
2305 
2306     // C++ wrapper for IfcDuctSegmentType
IfcDuctSegmentTypeIfcDuctSegmentType2307     struct IfcDuctSegmentType : IfcFlowSegmentType, ObjectHelper<IfcDuctSegmentType,1> { IfcDuctSegmentType() : Object("IfcDuctSegmentType") {}
2308         IfcDuctSegmentTypeEnum::Out PredefinedType;
2309     };
2310 
2311     // C++ wrapper for IfcFlowTreatmentDeviceType
IfcFlowTreatmentDeviceTypeIfcFlowTreatmentDeviceType2312     struct IfcFlowTreatmentDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowTreatmentDeviceType,0> { IfcFlowTreatmentDeviceType() : Object("IfcFlowTreatmentDeviceType") {}
2313 
2314     };
2315 
2316     // C++ wrapper for IfcDuctSilencerType
IfcDuctSilencerTypeIfcDuctSilencerType2317     struct IfcDuctSilencerType : IfcFlowTreatmentDeviceType, ObjectHelper<IfcDuctSilencerType,1> { IfcDuctSilencerType() : Object("IfcDuctSilencerType") {}
2318         IfcDuctSilencerTypeEnum::Out PredefinedType;
2319     };
2320 
2321     // C++ wrapper for IfcEdge
IfcEdgeIfcEdge2322     struct IfcEdge : IfcTopologicalRepresentationItem, ObjectHelper<IfcEdge,2> { IfcEdge() : Object("IfcEdge") {}
2323         Lazy< IfcVertex > EdgeStart;
2324         Lazy< IfcVertex > EdgeEnd;
2325     };
2326 
2327     // C++ wrapper for IfcEdgeCurve
IfcEdgeCurveIfcEdgeCurve2328     struct IfcEdgeCurve : IfcEdge, ObjectHelper<IfcEdgeCurve,2> { IfcEdgeCurve() : Object("IfcEdgeCurve") {}
2329         Lazy< IfcCurve > EdgeGeometry;
2330         BOOLEAN::Out SameSense;
2331     };
2332 
2333     // C++ wrapper for IfcLoop
IfcLoopIfcLoop2334     struct IfcLoop : IfcTopologicalRepresentationItem, ObjectHelper<IfcLoop,0> { IfcLoop() : Object("IfcLoop") {}
2335 
2336     };
2337 
2338     // C++ wrapper for IfcEdgeLoop
IfcEdgeLoopIfcEdgeLoop2339     struct IfcEdgeLoop : IfcLoop, ObjectHelper<IfcEdgeLoop,1> { IfcEdgeLoop() : Object("IfcEdgeLoop") {}
2340         ListOf< Lazy< IfcOrientedEdge >, 1, 0 > EdgeList;
2341     };
2342 
2343     // C++ wrapper for IfcElectricApplianceType
IfcElectricApplianceTypeIfcElectricApplianceType2344     struct IfcElectricApplianceType : IfcFlowTerminalType, ObjectHelper<IfcElectricApplianceType,1> { IfcElectricApplianceType() : Object("IfcElectricApplianceType") {}
2345         IfcElectricApplianceTypeEnum::Out PredefinedType;
2346     };
2347 
2348     // C++ wrapper for IfcFlowController
IfcFlowControllerIfcFlowController2349     struct IfcFlowController : IfcDistributionFlowElement, ObjectHelper<IfcFlowController,0> { IfcFlowController() : Object("IfcFlowController") {}
2350 
2351     };
2352 
2353     // C++ wrapper for IfcElectricDistributionPoint
IfcElectricDistributionPointIfcElectricDistributionPoint2354     struct IfcElectricDistributionPoint : IfcFlowController, ObjectHelper<IfcElectricDistributionPoint,2> { IfcElectricDistributionPoint() : Object("IfcElectricDistributionPoint") {}
2355         IfcElectricDistributionPointFunctionEnum::Out DistributionPointFunction;
2356         Maybe< IfcLabel::Out > UserDefinedFunction;
2357     };
2358 
2359     // C++ wrapper for IfcFlowStorageDeviceType
IfcFlowStorageDeviceTypeIfcFlowStorageDeviceType2360     struct IfcFlowStorageDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowStorageDeviceType,0> { IfcFlowStorageDeviceType() : Object("IfcFlowStorageDeviceType") {}
2361 
2362     };
2363 
2364     // C++ wrapper for IfcElectricFlowStorageDeviceType
IfcElectricFlowStorageDeviceTypeIfcElectricFlowStorageDeviceType2365     struct IfcElectricFlowStorageDeviceType : IfcFlowStorageDeviceType, ObjectHelper<IfcElectricFlowStorageDeviceType,1> { IfcElectricFlowStorageDeviceType() : Object("IfcElectricFlowStorageDeviceType") {}
2366         IfcElectricFlowStorageDeviceTypeEnum::Out PredefinedType;
2367     };
2368 
2369     // C++ wrapper for IfcElectricGeneratorType
IfcElectricGeneratorTypeIfcElectricGeneratorType2370     struct IfcElectricGeneratorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcElectricGeneratorType,1> { IfcElectricGeneratorType() : Object("IfcElectricGeneratorType") {}
2371         IfcElectricGeneratorTypeEnum::Out PredefinedType;
2372     };
2373 
2374     // C++ wrapper for IfcElectricHeaterType
IfcElectricHeaterTypeIfcElectricHeaterType2375     struct IfcElectricHeaterType : IfcFlowTerminalType, ObjectHelper<IfcElectricHeaterType,1> { IfcElectricHeaterType() : Object("IfcElectricHeaterType") {}
2376         IfcElectricHeaterTypeEnum::Out PredefinedType;
2377     };
2378 
2379     // C++ wrapper for IfcElectricMotorType
IfcElectricMotorTypeIfcElectricMotorType2380     struct IfcElectricMotorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcElectricMotorType,1> { IfcElectricMotorType() : Object("IfcElectricMotorType") {}
2381         IfcElectricMotorTypeEnum::Out PredefinedType;
2382     };
2383 
2384     // C++ wrapper for IfcElectricTimeControlType
IfcElectricTimeControlTypeIfcElectricTimeControlType2385     struct IfcElectricTimeControlType : IfcFlowControllerType, ObjectHelper<IfcElectricTimeControlType,1> { IfcElectricTimeControlType() : Object("IfcElectricTimeControlType") {}
2386         IfcElectricTimeControlTypeEnum::Out PredefinedType;
2387     };
2388 
2389     // C++ wrapper for IfcSystem
IfcSystemIfcSystem2390     struct IfcSystem : IfcGroup, ObjectHelper<IfcSystem,0> { IfcSystem() : Object("IfcSystem") {}
2391 
2392     };
2393 
2394     // C++ wrapper for IfcElectricalCircuit
IfcElectricalCircuitIfcElectricalCircuit2395     struct IfcElectricalCircuit : IfcSystem, ObjectHelper<IfcElectricalCircuit,0> { IfcElectricalCircuit() : Object("IfcElectricalCircuit") {}
2396 
2397     };
2398 
2399     // C++ wrapper for IfcElectricalElement
IfcElectricalElementIfcElectricalElement2400     struct IfcElectricalElement : IfcElement, ObjectHelper<IfcElectricalElement,0> { IfcElectricalElement() : Object("IfcElectricalElement") {}
2401 
2402     };
2403 
2404     // C++ wrapper for IfcElementAssembly
IfcElementAssemblyIfcElementAssembly2405     struct IfcElementAssembly : IfcElement, ObjectHelper<IfcElementAssembly,2> { IfcElementAssembly() : Object("IfcElementAssembly") {}
2406         Maybe< IfcAssemblyPlaceEnum::Out > AssemblyPlace;
2407         IfcElementAssemblyTypeEnum::Out PredefinedType;
2408     };
2409 
2410     // C++ wrapper for IfcElementQuantity
IfcElementQuantityIfcElementQuantity2411     struct IfcElementQuantity : IfcPropertySetDefinition, ObjectHelper<IfcElementQuantity,2> { IfcElementQuantity() : Object("IfcElementQuantity") {}
2412         Maybe< IfcLabel::Out > MethodOfMeasurement;
2413         ListOf< Lazy< NotImplemented >, 1, 0 > Quantities;
2414     };
2415 
2416     // C++ wrapper for IfcElementarySurface
IfcElementarySurfaceIfcElementarySurface2417     struct IfcElementarySurface : IfcSurface, ObjectHelper<IfcElementarySurface,1> { IfcElementarySurface() : Object("IfcElementarySurface") {}
2418         Lazy< IfcAxis2Placement3D > Position;
2419     };
2420 
2421     // C++ wrapper for IfcEllipse
IfcEllipseIfcEllipse2422     struct IfcEllipse : IfcConic, ObjectHelper<IfcEllipse,2> { IfcEllipse() : Object("IfcEllipse") {}
2423         IfcPositiveLengthMeasure::Out SemiAxis1;
2424         IfcPositiveLengthMeasure::Out SemiAxis2;
2425     };
2426 
2427     // C++ wrapper for IfcEllipseProfileDef
IfcEllipseProfileDefIfcEllipseProfileDef2428     struct IfcEllipseProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcEllipseProfileDef,2> { IfcEllipseProfileDef() : Object("IfcEllipseProfileDef") {}
2429         IfcPositiveLengthMeasure::Out SemiAxis1;
2430         IfcPositiveLengthMeasure::Out SemiAxis2;
2431     };
2432 
2433     // C++ wrapper for IfcEnergyConversionDevice
IfcEnergyConversionDeviceIfcEnergyConversionDevice2434     struct IfcEnergyConversionDevice : IfcDistributionFlowElement, ObjectHelper<IfcEnergyConversionDevice,0> { IfcEnergyConversionDevice() : Object("IfcEnergyConversionDevice") {}
2435 
2436     };
2437 
2438     // C++ wrapper for IfcEquipmentElement
IfcEquipmentElementIfcEquipmentElement2439     struct IfcEquipmentElement : IfcElement, ObjectHelper<IfcEquipmentElement,0> { IfcEquipmentElement() : Object("IfcEquipmentElement") {}
2440 
2441     };
2442 
2443     // C++ wrapper for IfcEquipmentStandard
IfcEquipmentStandardIfcEquipmentStandard2444     struct IfcEquipmentStandard : IfcControl, ObjectHelper<IfcEquipmentStandard,0> { IfcEquipmentStandard() : Object("IfcEquipmentStandard") {}
2445 
2446     };
2447 
2448     // C++ wrapper for IfcEvaporativeCoolerType
IfcEvaporativeCoolerTypeIfcEvaporativeCoolerType2449     struct IfcEvaporativeCoolerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcEvaporativeCoolerType,1> { IfcEvaporativeCoolerType() : Object("IfcEvaporativeCoolerType") {}
2450         IfcEvaporativeCoolerTypeEnum::Out PredefinedType;
2451     };
2452 
2453     // C++ wrapper for IfcEvaporatorType
IfcEvaporatorTypeIfcEvaporatorType2454     struct IfcEvaporatorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcEvaporatorType,1> { IfcEvaporatorType() : Object("IfcEvaporatorType") {}
2455         IfcEvaporatorTypeEnum::Out PredefinedType;
2456     };
2457 
2458     // C++ wrapper for IfcSweptAreaSolid
IfcSweptAreaSolidIfcSweptAreaSolid2459     struct IfcSweptAreaSolid : IfcSolidModel, ObjectHelper<IfcSweptAreaSolid,2> { IfcSweptAreaSolid() : Object("IfcSweptAreaSolid") {}
2460         Lazy< IfcProfileDef > SweptArea;
2461         Lazy< IfcAxis2Placement3D > Position;
2462     };
2463 
2464     // C++ wrapper for IfcExtrudedAreaSolid
IfcExtrudedAreaSolidIfcExtrudedAreaSolid2465     struct IfcExtrudedAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcExtrudedAreaSolid,2> { IfcExtrudedAreaSolid() : Object("IfcExtrudedAreaSolid") {}
2466         Lazy< IfcDirection > ExtrudedDirection;
2467         IfcPositiveLengthMeasure::Out Depth;
2468     };
2469 
2470     // C++ wrapper for IfcFace
IfcFaceIfcFace2471     struct IfcFace : IfcTopologicalRepresentationItem, ObjectHelper<IfcFace,1> { IfcFace() : Object("IfcFace") {}
2472         ListOf< Lazy< IfcFaceBound >, 1, 0 > Bounds;
2473     };
2474 
2475     // C++ wrapper for IfcFaceBasedSurfaceModel
IfcFaceBasedSurfaceModelIfcFaceBasedSurfaceModel2476     struct IfcFaceBasedSurfaceModel : IfcGeometricRepresentationItem, ObjectHelper<IfcFaceBasedSurfaceModel,1> { IfcFaceBasedSurfaceModel() : Object("IfcFaceBasedSurfaceModel") {}
2477         ListOf< Lazy< IfcConnectedFaceSet >, 1, 0 > FbsmFaces;
2478     };
2479 
2480     // C++ wrapper for IfcFaceBound
IfcFaceBoundIfcFaceBound2481     struct IfcFaceBound : IfcTopologicalRepresentationItem, ObjectHelper<IfcFaceBound,2> { IfcFaceBound() : Object("IfcFaceBound") {}
2482         Lazy< IfcLoop > Bound;
2483         BOOLEAN::Out Orientation;
2484     };
2485 
2486     // C++ wrapper for IfcFaceOuterBound
IfcFaceOuterBoundIfcFaceOuterBound2487     struct IfcFaceOuterBound : IfcFaceBound, ObjectHelper<IfcFaceOuterBound,0> { IfcFaceOuterBound() : Object("IfcFaceOuterBound") {}
2488 
2489     };
2490 
2491     // C++ wrapper for IfcFaceSurface
IfcFaceSurfaceIfcFaceSurface2492     struct IfcFaceSurface : IfcFace, ObjectHelper<IfcFaceSurface,2> { IfcFaceSurface() : Object("IfcFaceSurface") {}
2493         Lazy< IfcSurface > FaceSurface;
2494         BOOLEAN::Out SameSense;
2495     };
2496 
2497     // C++ wrapper for IfcManifoldSolidBrep
IfcManifoldSolidBrepIfcManifoldSolidBrep2498     struct IfcManifoldSolidBrep : IfcSolidModel, ObjectHelper<IfcManifoldSolidBrep,1> { IfcManifoldSolidBrep() : Object("IfcManifoldSolidBrep") {}
2499         Lazy< IfcClosedShell > Outer;
2500     };
2501 
2502     // C++ wrapper for IfcFacetedBrep
IfcFacetedBrepIfcFacetedBrep2503     struct IfcFacetedBrep : IfcManifoldSolidBrep, ObjectHelper<IfcFacetedBrep,0> { IfcFacetedBrep() : Object("IfcFacetedBrep") {}
2504 
2505     };
2506 
2507     // C++ wrapper for IfcFacetedBrepWithVoids
IfcFacetedBrepWithVoidsIfcFacetedBrepWithVoids2508     struct IfcFacetedBrepWithVoids : IfcManifoldSolidBrep, ObjectHelper<IfcFacetedBrepWithVoids,1> { IfcFacetedBrepWithVoids() : Object("IfcFacetedBrepWithVoids") {}
2509         ListOf< Lazy< IfcClosedShell >, 1, 0 > Voids;
2510     };
2511 
2512     // C++ wrapper for IfcFanType
IfcFanTypeIfcFanType2513     struct IfcFanType : IfcFlowMovingDeviceType, ObjectHelper<IfcFanType,1> { IfcFanType() : Object("IfcFanType") {}
2514         IfcFanTypeEnum::Out PredefinedType;
2515     };
2516 
2517     // C++ wrapper for IfcFastener
IfcFastenerIfcFastener2518     struct IfcFastener : IfcElementComponent, ObjectHelper<IfcFastener,0> { IfcFastener() : Object("IfcFastener") {}
2519 
2520     };
2521 
2522     // C++ wrapper for IfcFastenerType
IfcFastenerTypeIfcFastenerType2523     struct IfcFastenerType : IfcElementComponentType, ObjectHelper<IfcFastenerType,0> { IfcFastenerType() : Object("IfcFastenerType") {}
2524 
2525     };
2526 
2527     // C++ wrapper for IfcFeatureElementAddition
IfcFeatureElementAdditionIfcFeatureElementAddition2528     struct IfcFeatureElementAddition : IfcFeatureElement, ObjectHelper<IfcFeatureElementAddition,0> { IfcFeatureElementAddition() : Object("IfcFeatureElementAddition") {}
2529 
2530     };
2531 
2532     // C++ wrapper for IfcFillAreaStyleHatching
IfcFillAreaStyleHatchingIfcFillAreaStyleHatching2533     struct IfcFillAreaStyleHatching : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleHatching,5> { IfcFillAreaStyleHatching() : Object("IfcFillAreaStyleHatching") {}
2534         Lazy< NotImplemented > HatchLineAppearance;
2535         IfcHatchLineDistanceSelect::Out StartOfNextHatchLine;
2536         Maybe< Lazy< IfcCartesianPoint > > PointOfReferenceHatchLine;
2537         Maybe< Lazy< IfcCartesianPoint > > PatternStart;
2538         IfcPlaneAngleMeasure::Out HatchLineAngle;
2539     };
2540 
2541     // C++ wrapper for IfcFillAreaStyleTileSymbolWithStyle
IfcFillAreaStyleTileSymbolWithStyleIfcFillAreaStyleTileSymbolWithStyle2542     struct IfcFillAreaStyleTileSymbolWithStyle : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleTileSymbolWithStyle,1> { IfcFillAreaStyleTileSymbolWithStyle() : Object("IfcFillAreaStyleTileSymbolWithStyle") {}
2543         Lazy< IfcAnnotationSymbolOccurrence > Symbol;
2544     };
2545 
2546     // C++ wrapper for IfcFillAreaStyleTiles
IfcFillAreaStyleTilesIfcFillAreaStyleTiles2547     struct IfcFillAreaStyleTiles : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleTiles,3> { IfcFillAreaStyleTiles() : Object("IfcFillAreaStyleTiles") {}
2548         Lazy< IfcOneDirectionRepeatFactor > TilingPattern;
2549         ListOf< IfcFillAreaStyleTileShapeSelect, 1, 0 >::Out Tiles;
2550         IfcPositiveRatioMeasure::Out TilingScale;
2551     };
2552 
2553     // C++ wrapper for IfcFilterType
IfcFilterTypeIfcFilterType2554     struct IfcFilterType : IfcFlowTreatmentDeviceType, ObjectHelper<IfcFilterType,1> { IfcFilterType() : Object("IfcFilterType") {}
2555         IfcFilterTypeEnum::Out PredefinedType;
2556     };
2557 
2558     // C++ wrapper for IfcFireSuppressionTerminalType
IfcFireSuppressionTerminalTypeIfcFireSuppressionTerminalType2559     struct IfcFireSuppressionTerminalType : IfcFlowTerminalType, ObjectHelper<IfcFireSuppressionTerminalType,1> { IfcFireSuppressionTerminalType() : Object("IfcFireSuppressionTerminalType") {}
2560         IfcFireSuppressionTerminalTypeEnum::Out PredefinedType;
2561     };
2562 
2563     // C++ wrapper for IfcFlowFitting
IfcFlowFittingIfcFlowFitting2564     struct IfcFlowFitting : IfcDistributionFlowElement, ObjectHelper<IfcFlowFitting,0> { IfcFlowFitting() : Object("IfcFlowFitting") {}
2565 
2566     };
2567 
2568     // C++ wrapper for IfcFlowInstrumentType
IfcFlowInstrumentTypeIfcFlowInstrumentType2569     struct IfcFlowInstrumentType : IfcDistributionControlElementType, ObjectHelper<IfcFlowInstrumentType,1> { IfcFlowInstrumentType() : Object("IfcFlowInstrumentType") {}
2570         IfcFlowInstrumentTypeEnum::Out PredefinedType;
2571     };
2572 
2573     // C++ wrapper for IfcFlowMeterType
IfcFlowMeterTypeIfcFlowMeterType2574     struct IfcFlowMeterType : IfcFlowControllerType, ObjectHelper<IfcFlowMeterType,1> { IfcFlowMeterType() : Object("IfcFlowMeterType") {}
2575         IfcFlowMeterTypeEnum::Out PredefinedType;
2576     };
2577 
2578     // C++ wrapper for IfcFlowMovingDevice
IfcFlowMovingDeviceIfcFlowMovingDevice2579     struct IfcFlowMovingDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowMovingDevice,0> { IfcFlowMovingDevice() : Object("IfcFlowMovingDevice") {}
2580 
2581     };
2582 
2583     // C++ wrapper for IfcFlowSegment
IfcFlowSegmentIfcFlowSegment2584     struct IfcFlowSegment : IfcDistributionFlowElement, ObjectHelper<IfcFlowSegment,0> { IfcFlowSegment() : Object("IfcFlowSegment") {}
2585 
2586     };
2587 
2588     // C++ wrapper for IfcFlowStorageDevice
IfcFlowStorageDeviceIfcFlowStorageDevice2589     struct IfcFlowStorageDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowStorageDevice,0> { IfcFlowStorageDevice() : Object("IfcFlowStorageDevice") {}
2590 
2591     };
2592 
2593     // C++ wrapper for IfcFlowTerminal
IfcFlowTerminalIfcFlowTerminal2594     struct IfcFlowTerminal : IfcDistributionFlowElement, ObjectHelper<IfcFlowTerminal,0> { IfcFlowTerminal() : Object("IfcFlowTerminal") {}
2595 
2596     };
2597 
2598     // C++ wrapper for IfcFlowTreatmentDevice
IfcFlowTreatmentDeviceIfcFlowTreatmentDevice2599     struct IfcFlowTreatmentDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowTreatmentDevice,0> { IfcFlowTreatmentDevice() : Object("IfcFlowTreatmentDevice") {}
2600 
2601     };
2602 
2603     // C++ wrapper for IfcFooting
IfcFootingIfcFooting2604     struct IfcFooting : IfcBuildingElement, ObjectHelper<IfcFooting,1> { IfcFooting() : Object("IfcFooting") {}
2605         IfcFootingTypeEnum::Out PredefinedType;
2606     };
2607 
2608     // C++ wrapper for IfcFurnishingElement
IfcFurnishingElementIfcFurnishingElement2609     struct IfcFurnishingElement : IfcElement, ObjectHelper<IfcFurnishingElement,0> { IfcFurnishingElement() : Object("IfcFurnishingElement") {}
2610 
2611     };
2612 
2613     // C++ wrapper for IfcFurnishingElementType
IfcFurnishingElementTypeIfcFurnishingElementType2614     struct IfcFurnishingElementType : IfcElementType, ObjectHelper<IfcFurnishingElementType,0> { IfcFurnishingElementType() : Object("IfcFurnishingElementType") {}
2615 
2616     };
2617 
2618     // C++ wrapper for IfcFurnitureStandard
IfcFurnitureStandardIfcFurnitureStandard2619     struct IfcFurnitureStandard : IfcControl, ObjectHelper<IfcFurnitureStandard,0> { IfcFurnitureStandard() : Object("IfcFurnitureStandard") {}
2620 
2621     };
2622 
2623     // C++ wrapper for IfcFurnitureType
IfcFurnitureTypeIfcFurnitureType2624     struct IfcFurnitureType : IfcFurnishingElementType, ObjectHelper<IfcFurnitureType,1> { IfcFurnitureType() : Object("IfcFurnitureType") {}
2625         IfcAssemblyPlaceEnum::Out AssemblyPlace;
2626     };
2627 
2628     // C++ wrapper for IfcGasTerminalType
IfcGasTerminalTypeIfcGasTerminalType2629     struct IfcGasTerminalType : IfcFlowTerminalType, ObjectHelper<IfcGasTerminalType,1> { IfcGasTerminalType() : Object("IfcGasTerminalType") {}
2630         IfcGasTerminalTypeEnum::Out PredefinedType;
2631     };
2632 
2633     // C++ wrapper for IfcGeometricSet
IfcGeometricSetIfcGeometricSet2634     struct IfcGeometricSet : IfcGeometricRepresentationItem, ObjectHelper<IfcGeometricSet,1> { IfcGeometricSet() : Object("IfcGeometricSet") {}
2635         ListOf< IfcGeometricSetSelect, 1, 0 >::Out Elements;
2636     };
2637 
2638     // C++ wrapper for IfcGeometricCurveSet
IfcGeometricCurveSetIfcGeometricCurveSet2639     struct IfcGeometricCurveSet : IfcGeometricSet, ObjectHelper<IfcGeometricCurveSet,0> { IfcGeometricCurveSet() : Object("IfcGeometricCurveSet") {}
2640 
2641     };
2642 
2643     // C++ wrapper for IfcRepresentationContext
IfcRepresentationContextIfcRepresentationContext2644     struct IfcRepresentationContext :  ObjectHelper<IfcRepresentationContext,2> { IfcRepresentationContext() : Object("IfcRepresentationContext") {}
2645         Maybe< IfcLabel::Out > ContextIdentifier;
2646         Maybe< IfcLabel::Out > ContextType;
2647     };
2648 
2649     // C++ wrapper for IfcGeometricRepresentationContext
IfcGeometricRepresentationContextIfcGeometricRepresentationContext2650     struct IfcGeometricRepresentationContext : IfcRepresentationContext, ObjectHelper<IfcGeometricRepresentationContext,4> { IfcGeometricRepresentationContext() : Object("IfcGeometricRepresentationContext") {}
2651         IfcDimensionCount::Out CoordinateSpaceDimension;
2652         Maybe< REAL::Out > Precision;
2653         IfcAxis2Placement::Out WorldCoordinateSystem;
2654         Maybe< Lazy< IfcDirection > > TrueNorth;
2655     };
2656 
2657     // C++ wrapper for IfcGeometricRepresentationSubContext
IfcGeometricRepresentationSubContextIfcGeometricRepresentationSubContext2658     struct IfcGeometricRepresentationSubContext : IfcGeometricRepresentationContext, ObjectHelper<IfcGeometricRepresentationSubContext,4> { IfcGeometricRepresentationSubContext() : Object("IfcGeometricRepresentationSubContext") {}
2659         Lazy< IfcGeometricRepresentationContext > ParentContext;
2660         Maybe< IfcPositiveRatioMeasure::Out > TargetScale;
2661         IfcGeometricProjectionEnum::Out TargetView;
2662         Maybe< IfcLabel::Out > UserDefinedTargetView;
2663     };
2664 
2665     // C++ wrapper for IfcGrid
IfcGridIfcGrid2666     struct IfcGrid : IfcProduct, ObjectHelper<IfcGrid,3> { IfcGrid() : Object("IfcGrid") {}
2667         ListOf< Lazy< NotImplemented >, 1, 0 > UAxes;
2668         ListOf< Lazy< NotImplemented >, 1, 0 > VAxes;
2669         Maybe< ListOf< Lazy< NotImplemented >, 1, 0 > > WAxes;
2670     };
2671 
2672     // C++ wrapper for IfcObjectPlacement
IfcObjectPlacementIfcObjectPlacement2673     struct IfcObjectPlacement :  ObjectHelper<IfcObjectPlacement,0> { IfcObjectPlacement() : Object("IfcObjectPlacement") {}
2674 
2675     };
2676 
2677     // C++ wrapper for IfcGridPlacement
IfcGridPlacementIfcGridPlacement2678     struct IfcGridPlacement : IfcObjectPlacement, ObjectHelper<IfcGridPlacement,2> { IfcGridPlacement() : Object("IfcGridPlacement") {}
2679         Lazy< NotImplemented > PlacementLocation;
2680         Maybe< Lazy< NotImplemented > > PlacementRefDirection;
2681     };
2682 
2683     // C++ wrapper for IfcHeatExchangerType
IfcHeatExchangerTypeIfcHeatExchangerType2684     struct IfcHeatExchangerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcHeatExchangerType,1> { IfcHeatExchangerType() : Object("IfcHeatExchangerType") {}
2685         IfcHeatExchangerTypeEnum::Out PredefinedType;
2686     };
2687 
2688     // C++ wrapper for IfcHumidifierType
IfcHumidifierTypeIfcHumidifierType2689     struct IfcHumidifierType : IfcEnergyConversionDeviceType, ObjectHelper<IfcHumidifierType,1> { IfcHumidifierType() : Object("IfcHumidifierType") {}
2690         IfcHumidifierTypeEnum::Out PredefinedType;
2691     };
2692 
2693     // C++ wrapper for IfcInventory
IfcInventoryIfcInventory2694     struct IfcInventory : IfcGroup, ObjectHelper<IfcInventory,6> { IfcInventory() : Object("IfcInventory") {}
2695         IfcInventoryTypeEnum::Out InventoryType;
2696         IfcActorSelect::Out Jurisdiction;
2697         ListOf< Lazy< NotImplemented >, 1, 0 > ResponsiblePersons;
2698         Lazy< NotImplemented > LastUpdateDate;
2699         Maybe< Lazy< NotImplemented > > CurrentValue;
2700         Maybe< Lazy< NotImplemented > > OriginalValue;
2701     };
2702 
2703     // C++ wrapper for IfcJunctionBoxType
IfcJunctionBoxTypeIfcJunctionBoxType2704     struct IfcJunctionBoxType : IfcFlowFittingType, ObjectHelper<IfcJunctionBoxType,1> { IfcJunctionBoxType() : Object("IfcJunctionBoxType") {}
2705         IfcJunctionBoxTypeEnum::Out PredefinedType;
2706     };
2707 
2708     // C++ wrapper for IfcLShapeProfileDef
IfcLShapeProfileDefIfcLShapeProfileDef2709     struct IfcLShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcLShapeProfileDef,8> { IfcLShapeProfileDef() : Object("IfcLShapeProfileDef") {}
2710         IfcPositiveLengthMeasure::Out Depth;
2711         Maybe< IfcPositiveLengthMeasure::Out > Width;
2712         IfcPositiveLengthMeasure::Out Thickness;
2713         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
2714         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
2715         Maybe< IfcPlaneAngleMeasure::Out > LegSlope;
2716         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
2717         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2718     };
2719 
2720     // C++ wrapper for IfcLaborResource
IfcLaborResourceIfcLaborResource2721     struct IfcLaborResource : IfcConstructionResource, ObjectHelper<IfcLaborResource,1> { IfcLaborResource() : Object("IfcLaborResource") {}
2722         Maybe< IfcText::Out > SkillSet;
2723     };
2724 
2725     // C++ wrapper for IfcLampType
IfcLampTypeIfcLampType2726     struct IfcLampType : IfcFlowTerminalType, ObjectHelper<IfcLampType,1> { IfcLampType() : Object("IfcLampType") {}
2727         IfcLampTypeEnum::Out PredefinedType;
2728     };
2729 
2730     // C++ wrapper for IfcLightFixtureType
IfcLightFixtureTypeIfcLightFixtureType2731     struct IfcLightFixtureType : IfcFlowTerminalType, ObjectHelper<IfcLightFixtureType,1> { IfcLightFixtureType() : Object("IfcLightFixtureType") {}
2732         IfcLightFixtureTypeEnum::Out PredefinedType;
2733     };
2734 
2735     // C++ wrapper for IfcLightSource
IfcLightSourceIfcLightSource2736     struct IfcLightSource : IfcGeometricRepresentationItem, ObjectHelper<IfcLightSource,4> { IfcLightSource() : Object("IfcLightSource") {}
2737         Maybe< IfcLabel::Out > Name;
2738         Lazy< IfcColourRgb > LightColour;
2739         Maybe< IfcNormalisedRatioMeasure::Out > AmbientIntensity;
2740         Maybe< IfcNormalisedRatioMeasure::Out > Intensity;
2741     };
2742 
2743     // C++ wrapper for IfcLightSourceAmbient
IfcLightSourceAmbientIfcLightSourceAmbient2744     struct IfcLightSourceAmbient : IfcLightSource, ObjectHelper<IfcLightSourceAmbient,0> { IfcLightSourceAmbient() : Object("IfcLightSourceAmbient") {}
2745 
2746     };
2747 
2748     // C++ wrapper for IfcLightSourceDirectional
IfcLightSourceDirectionalIfcLightSourceDirectional2749     struct IfcLightSourceDirectional : IfcLightSource, ObjectHelper<IfcLightSourceDirectional,1> { IfcLightSourceDirectional() : Object("IfcLightSourceDirectional") {}
2750         Lazy< IfcDirection > Orientation;
2751     };
2752 
2753     // C++ wrapper for IfcLightSourceGoniometric
IfcLightSourceGoniometricIfcLightSourceGoniometric2754     struct IfcLightSourceGoniometric : IfcLightSource, ObjectHelper<IfcLightSourceGoniometric,6> { IfcLightSourceGoniometric() : Object("IfcLightSourceGoniometric") {}
2755         Lazy< IfcAxis2Placement3D > Position;
2756         Maybe< Lazy< IfcColourRgb > > ColourAppearance;
2757         IfcThermodynamicTemperatureMeasure::Out ColourTemperature;
2758         IfcLuminousFluxMeasure::Out LuminousFlux;
2759         IfcLightEmissionSourceEnum::Out LightEmissionSource;
2760         IfcLightDistributionDataSourceSelect::Out LightDistributionDataSource;
2761     };
2762 
2763     // C++ wrapper for IfcLightSourcePositional
IfcLightSourcePositionalIfcLightSourcePositional2764     struct IfcLightSourcePositional : IfcLightSource, ObjectHelper<IfcLightSourcePositional,5> { IfcLightSourcePositional() : Object("IfcLightSourcePositional") {}
2765         Lazy< IfcCartesianPoint > Position;
2766         IfcPositiveLengthMeasure::Out Radius;
2767         IfcReal::Out ConstantAttenuation;
2768         IfcReal::Out DistanceAttenuation;
2769         IfcReal::Out QuadricAttenuation;
2770     };
2771 
2772     // C++ wrapper for IfcLightSourceSpot
IfcLightSourceSpotIfcLightSourceSpot2773     struct IfcLightSourceSpot : IfcLightSourcePositional, ObjectHelper<IfcLightSourceSpot,4> { IfcLightSourceSpot() : Object("IfcLightSourceSpot") {}
2774         Lazy< IfcDirection > Orientation;
2775         Maybe< IfcReal::Out > ConcentrationExponent;
2776         IfcPositivePlaneAngleMeasure::Out SpreadAngle;
2777         IfcPositivePlaneAngleMeasure::Out BeamWidthAngle;
2778     };
2779 
2780     // C++ wrapper for IfcLine
IfcLineIfcLine2781     struct IfcLine : IfcCurve, ObjectHelper<IfcLine,2> { IfcLine() : Object("IfcLine") {}
2782         Lazy< IfcCartesianPoint > Pnt;
2783         Lazy< IfcVector > Dir;
2784     };
2785 
2786     // C++ wrapper for IfcLinearDimension
IfcLinearDimensionIfcLinearDimension2787     struct IfcLinearDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcLinearDimension,0> { IfcLinearDimension() : Object("IfcLinearDimension") {}
2788 
2789     };
2790 
2791     // C++ wrapper for IfcLocalPlacement
IfcLocalPlacementIfcLocalPlacement2792     struct IfcLocalPlacement : IfcObjectPlacement, ObjectHelper<IfcLocalPlacement,2> { IfcLocalPlacement() : Object("IfcLocalPlacement") {}
2793         Maybe< Lazy< IfcObjectPlacement > > PlacementRelTo;
2794         IfcAxis2Placement::Out RelativePlacement;
2795     };
2796 
2797     // C++ wrapper for IfcMappedItem
IfcMappedItemIfcMappedItem2798     struct IfcMappedItem : IfcRepresentationItem, ObjectHelper<IfcMappedItem,2> { IfcMappedItem() : Object("IfcMappedItem") {}
2799         Lazy< IfcRepresentationMap > MappingSource;
2800         Lazy< IfcCartesianTransformationOperator > MappingTarget;
2801     };
2802 
2803     // C++ wrapper for IfcProductRepresentation
IfcProductRepresentationIfcProductRepresentation2804     struct IfcProductRepresentation :  ObjectHelper<IfcProductRepresentation,3> { IfcProductRepresentation() : Object("IfcProductRepresentation") {}
2805         Maybe< IfcLabel::Out > Name;
2806         Maybe< IfcText::Out > Description;
2807         ListOf< Lazy< IfcRepresentation >, 1, 0 > Representations;
2808     };
2809 
2810     // C++ wrapper for IfcMaterialDefinitionRepresentation
IfcMaterialDefinitionRepresentationIfcMaterialDefinitionRepresentation2811     struct IfcMaterialDefinitionRepresentation : IfcProductRepresentation, ObjectHelper<IfcMaterialDefinitionRepresentation,1> { IfcMaterialDefinitionRepresentation() : Object("IfcMaterialDefinitionRepresentation") {}
2812         Lazy< NotImplemented > RepresentedMaterial;
2813     };
2814 
2815     // C++ wrapper for IfcMeasureWithUnit
IfcMeasureWithUnitIfcMeasureWithUnit2816     struct IfcMeasureWithUnit :  ObjectHelper<IfcMeasureWithUnit,2> { IfcMeasureWithUnit() : Object("IfcMeasureWithUnit") {}
2817         IfcValue::Out ValueComponent;
2818         IfcUnit::Out UnitComponent;
2819     };
2820 
2821     // C++ wrapper for IfcMechanicalFastener
IfcMechanicalFastenerIfcMechanicalFastener2822     struct IfcMechanicalFastener : IfcFastener, ObjectHelper<IfcMechanicalFastener,2> { IfcMechanicalFastener() : Object("IfcMechanicalFastener") {}
2823         Maybe< IfcPositiveLengthMeasure::Out > NominalDiameter;
2824         Maybe< IfcPositiveLengthMeasure::Out > NominalLength;
2825     };
2826 
2827     // C++ wrapper for IfcMechanicalFastenerType
IfcMechanicalFastenerTypeIfcMechanicalFastenerType2828     struct IfcMechanicalFastenerType : IfcFastenerType, ObjectHelper<IfcMechanicalFastenerType,0> { IfcMechanicalFastenerType() : Object("IfcMechanicalFastenerType") {}
2829 
2830     };
2831 
2832     // C++ wrapper for IfcMember
IfcMemberIfcMember2833     struct IfcMember : IfcBuildingElement, ObjectHelper<IfcMember,0> { IfcMember() : Object("IfcMember") {}
2834 
2835     };
2836 
2837     // C++ wrapper for IfcMemberType
IfcMemberTypeIfcMemberType2838     struct IfcMemberType : IfcBuildingElementType, ObjectHelper<IfcMemberType,1> { IfcMemberType() : Object("IfcMemberType") {}
2839         IfcMemberTypeEnum::Out PredefinedType;
2840     };
2841 
2842     // C++ wrapper for IfcMotorConnectionType
IfcMotorConnectionTypeIfcMotorConnectionType2843     struct IfcMotorConnectionType : IfcEnergyConversionDeviceType, ObjectHelper<IfcMotorConnectionType,1> { IfcMotorConnectionType() : Object("IfcMotorConnectionType") {}
2844         IfcMotorConnectionTypeEnum::Out PredefinedType;
2845     };
2846 
2847     // C++ wrapper for IfcProcess
IfcProcessIfcProcess2848     struct IfcProcess : IfcObject, ObjectHelper<IfcProcess,0> { IfcProcess() : Object("IfcProcess") {}
2849 
2850     };
2851 
2852     // C++ wrapper for IfcTask
IfcTaskIfcTask2853     struct IfcTask : IfcProcess, ObjectHelper<IfcTask,5> { IfcTask() : Object("IfcTask") {}
2854         IfcIdentifier::Out TaskId;
2855         Maybe< IfcLabel::Out > Status;
2856         Maybe< IfcLabel::Out > WorkMethod;
2857         BOOLEAN::Out IsMilestone;
2858         Maybe< INTEGER::Out > Priority;
2859     };
2860 
2861     // C++ wrapper for IfcMove
IfcMoveIfcMove2862     struct IfcMove : IfcTask, ObjectHelper<IfcMove,3> { IfcMove() : Object("IfcMove") {}
2863         Lazy< IfcSpatialStructureElement > MoveFrom;
2864         Lazy< IfcSpatialStructureElement > MoveTo;
2865         Maybe< ListOf< IfcText, 1, 0 >::Out > PunchList;
2866     };
2867 
2868     // C++ wrapper for IfcOccupant
IfcOccupantIfcOccupant2869     struct IfcOccupant : IfcActor, ObjectHelper<IfcOccupant,1> { IfcOccupant() : Object("IfcOccupant") {}
2870         IfcOccupantTypeEnum::Out PredefinedType;
2871     };
2872 
2873     // C++ wrapper for IfcOffsetCurve2D
IfcOffsetCurve2DIfcOffsetCurve2D2874     struct IfcOffsetCurve2D : IfcCurve, ObjectHelper<IfcOffsetCurve2D,3> { IfcOffsetCurve2D() : Object("IfcOffsetCurve2D") {}
2875         Lazy< IfcCurve > BasisCurve;
2876         IfcLengthMeasure::Out Distance;
2877         LOGICAL::Out SelfIntersect;
2878     };
2879 
2880     // C++ wrapper for IfcOffsetCurve3D
IfcOffsetCurve3DIfcOffsetCurve3D2881     struct IfcOffsetCurve3D : IfcCurve, ObjectHelper<IfcOffsetCurve3D,4> { IfcOffsetCurve3D() : Object("IfcOffsetCurve3D") {}
2882         Lazy< IfcCurve > BasisCurve;
2883         IfcLengthMeasure::Out Distance;
2884         LOGICAL::Out SelfIntersect;
2885         Lazy< IfcDirection > RefDirection;
2886     };
2887 
2888     // C++ wrapper for IfcOneDirectionRepeatFactor
IfcOneDirectionRepeatFactorIfcOneDirectionRepeatFactor2889     struct IfcOneDirectionRepeatFactor : IfcGeometricRepresentationItem, ObjectHelper<IfcOneDirectionRepeatFactor,1> { IfcOneDirectionRepeatFactor() : Object("IfcOneDirectionRepeatFactor") {}
2890         Lazy< IfcVector > RepeatFactor;
2891     };
2892 
2893     // C++ wrapper for IfcOpenShell
IfcOpenShellIfcOpenShell2894     struct IfcOpenShell : IfcConnectedFaceSet, ObjectHelper<IfcOpenShell,0> { IfcOpenShell() : Object("IfcOpenShell") {}
2895 
2896     };
2897 
2898     // C++ wrapper for IfcOpeningElement
IfcOpeningElementIfcOpeningElement2899     struct IfcOpeningElement : IfcFeatureElementSubtraction, ObjectHelper<IfcOpeningElement,0> { IfcOpeningElement() : Object("IfcOpeningElement") {}
2900 
2901     };
2902 
2903     // C++ wrapper for IfcOrderAction
IfcOrderActionIfcOrderAction2904     struct IfcOrderAction : IfcTask, ObjectHelper<IfcOrderAction,1> { IfcOrderAction() : Object("IfcOrderAction") {}
2905         IfcIdentifier::Out ActionID;
2906     };
2907 
2908     // C++ wrapper for IfcOrientedEdge
IfcOrientedEdgeIfcOrientedEdge2909     struct IfcOrientedEdge : IfcEdge, ObjectHelper<IfcOrientedEdge,2> { IfcOrientedEdge() : Object("IfcOrientedEdge") {}
2910         Lazy< IfcEdge > EdgeElement;
2911         BOOLEAN::Out Orientation;
2912     };
2913 
2914     // C++ wrapper for IfcOutletType
IfcOutletTypeIfcOutletType2915     struct IfcOutletType : IfcFlowTerminalType, ObjectHelper<IfcOutletType,1> { IfcOutletType() : Object("IfcOutletType") {}
2916         IfcOutletTypeEnum::Out PredefinedType;
2917     };
2918 
2919     // C++ wrapper for IfcPath
IfcPathIfcPath2920     struct IfcPath : IfcTopologicalRepresentationItem, ObjectHelper<IfcPath,1> { IfcPath() : Object("IfcPath") {}
2921         ListOf< Lazy< IfcOrientedEdge >, 1, 0 > EdgeList;
2922     };
2923 
2924     // C++ wrapper for IfcPerformanceHistory
IfcPerformanceHistoryIfcPerformanceHistory2925     struct IfcPerformanceHistory : IfcControl, ObjectHelper<IfcPerformanceHistory,1> { IfcPerformanceHistory() : Object("IfcPerformanceHistory") {}
2926         IfcLabel::Out LifeCyclePhase;
2927     };
2928 
2929     // C++ wrapper for IfcPermit
IfcPermitIfcPermit2930     struct IfcPermit : IfcControl, ObjectHelper<IfcPermit,1> { IfcPermit() : Object("IfcPermit") {}
2931         IfcIdentifier::Out PermitID;
2932     };
2933 
2934     // C++ wrapper for IfcPile
IfcPileIfcPile2935     struct IfcPile : IfcBuildingElement, ObjectHelper<IfcPile,2> { IfcPile() : Object("IfcPile") {}
2936         IfcPileTypeEnum::Out PredefinedType;
2937         Maybe< IfcPileConstructionEnum::Out > ConstructionType;
2938     };
2939 
2940     // C++ wrapper for IfcPipeFittingType
IfcPipeFittingTypeIfcPipeFittingType2941     struct IfcPipeFittingType : IfcFlowFittingType, ObjectHelper<IfcPipeFittingType,1> { IfcPipeFittingType() : Object("IfcPipeFittingType") {}
2942         IfcPipeFittingTypeEnum::Out PredefinedType;
2943     };
2944 
2945     // C++ wrapper for IfcPipeSegmentType
IfcPipeSegmentTypeIfcPipeSegmentType2946     struct IfcPipeSegmentType : IfcFlowSegmentType, ObjectHelper<IfcPipeSegmentType,1> { IfcPipeSegmentType() : Object("IfcPipeSegmentType") {}
2947         IfcPipeSegmentTypeEnum::Out PredefinedType;
2948     };
2949 
2950     // C++ wrapper for IfcPlanarExtent
IfcPlanarExtentIfcPlanarExtent2951     struct IfcPlanarExtent : IfcGeometricRepresentationItem, ObjectHelper<IfcPlanarExtent,2> { IfcPlanarExtent() : Object("IfcPlanarExtent") {}
2952         IfcLengthMeasure::Out SizeInX;
2953         IfcLengthMeasure::Out SizeInY;
2954     };
2955 
2956     // C++ wrapper for IfcPlanarBox
IfcPlanarBoxIfcPlanarBox2957     struct IfcPlanarBox : IfcPlanarExtent, ObjectHelper<IfcPlanarBox,1> { IfcPlanarBox() : Object("IfcPlanarBox") {}
2958         IfcAxis2Placement::Out Placement;
2959     };
2960 
2961     // C++ wrapper for IfcPlane
IfcPlaneIfcPlane2962     struct IfcPlane : IfcElementarySurface, ObjectHelper<IfcPlane,0> { IfcPlane() : Object("IfcPlane") {}
2963 
2964     };
2965 
2966     // C++ wrapper for IfcPlate
IfcPlateIfcPlate2967     struct IfcPlate : IfcBuildingElement, ObjectHelper<IfcPlate,0> { IfcPlate() : Object("IfcPlate") {}
2968 
2969     };
2970 
2971     // C++ wrapper for IfcPlateType
IfcPlateTypeIfcPlateType2972     struct IfcPlateType : IfcBuildingElementType, ObjectHelper<IfcPlateType,1> { IfcPlateType() : Object("IfcPlateType") {}
2973         IfcPlateTypeEnum::Out PredefinedType;
2974     };
2975 
2976     // C++ wrapper for IfcPointOnCurve
IfcPointOnCurveIfcPointOnCurve2977     struct IfcPointOnCurve : IfcPoint, ObjectHelper<IfcPointOnCurve,2> { IfcPointOnCurve() : Object("IfcPointOnCurve") {}
2978         Lazy< IfcCurve > BasisCurve;
2979         IfcParameterValue::Out PointParameter;
2980     };
2981 
2982     // C++ wrapper for IfcPointOnSurface
IfcPointOnSurfaceIfcPointOnSurface2983     struct IfcPointOnSurface : IfcPoint, ObjectHelper<IfcPointOnSurface,3> { IfcPointOnSurface() : Object("IfcPointOnSurface") {}
2984         Lazy< IfcSurface > BasisSurface;
2985         IfcParameterValue::Out PointParameterU;
2986         IfcParameterValue::Out PointParameterV;
2987     };
2988 
2989     // C++ wrapper for IfcPolyLoop
IfcPolyLoopIfcPolyLoop2990     struct IfcPolyLoop : IfcLoop, ObjectHelper<IfcPolyLoop,1> { IfcPolyLoop() : Object("IfcPolyLoop") {}
2991         ListOf< Lazy< IfcCartesianPoint >, 3, 0 > Polygon;
2992     };
2993 
2994     // C++ wrapper for IfcPolygonalBoundedHalfSpace
IfcPolygonalBoundedHalfSpaceIfcPolygonalBoundedHalfSpace2995     struct IfcPolygonalBoundedHalfSpace : IfcHalfSpaceSolid, ObjectHelper<IfcPolygonalBoundedHalfSpace,2> { IfcPolygonalBoundedHalfSpace() : Object("IfcPolygonalBoundedHalfSpace") {}
2996         Lazy< IfcAxis2Placement3D > Position;
2997         Lazy< IfcBoundedCurve > PolygonalBoundary;
2998     };
2999 
3000     // C++ wrapper for IfcPolyline
IfcPolylineIfcPolyline3001     struct IfcPolyline : IfcBoundedCurve, ObjectHelper<IfcPolyline,1> { IfcPolyline() : Object("IfcPolyline") {}
3002         ListOf< Lazy< IfcCartesianPoint >, 2, 0 > Points;
3003     };
3004 
3005     // C++ wrapper for IfcPresentationStyleAssignment
IfcPresentationStyleAssignmentIfcPresentationStyleAssignment3006     struct IfcPresentationStyleAssignment :  ObjectHelper<IfcPresentationStyleAssignment,1> { IfcPresentationStyleAssignment() : Object("IfcPresentationStyleAssignment") {}
3007         ListOf< IfcPresentationStyleSelect, 1, 0 >::Out Styles;
3008     };
3009 
3010     // C++ wrapper for IfcProcedure
IfcProcedureIfcProcedure3011     struct IfcProcedure : IfcProcess, ObjectHelper<IfcProcedure,3> { IfcProcedure() : Object("IfcProcedure") {}
3012         IfcIdentifier::Out ProcedureID;
3013         IfcProcedureTypeEnum::Out ProcedureType;
3014         Maybe< IfcLabel::Out > UserDefinedProcedureType;
3015     };
3016 
3017     // C++ wrapper for IfcProductDefinitionShape
IfcProductDefinitionShapeIfcProductDefinitionShape3018     struct IfcProductDefinitionShape : IfcProductRepresentation, ObjectHelper<IfcProductDefinitionShape,0> { IfcProductDefinitionShape() : Object("IfcProductDefinitionShape") {}
3019 
3020     };
3021 
3022     // C++ wrapper for IfcProject
IfcProjectIfcProject3023     struct IfcProject : IfcObject, ObjectHelper<IfcProject,4> { IfcProject() : Object("IfcProject") {}
3024         Maybe< IfcLabel::Out > LongName;
3025         Maybe< IfcLabel::Out > Phase;
3026         ListOf< Lazy< IfcRepresentationContext >, 1, 0 > RepresentationContexts;
3027         Lazy< IfcUnitAssignment > UnitsInContext;
3028     };
3029 
3030     // C++ wrapper for IfcProjectOrder
IfcProjectOrderIfcProjectOrder3031     struct IfcProjectOrder : IfcControl, ObjectHelper<IfcProjectOrder,3> { IfcProjectOrder() : Object("IfcProjectOrder") {}
3032         IfcIdentifier::Out ID;
3033         IfcProjectOrderTypeEnum::Out PredefinedType;
3034         Maybe< IfcLabel::Out > Status;
3035     };
3036 
3037     // C++ wrapper for IfcProjectOrderRecord
IfcProjectOrderRecordIfcProjectOrderRecord3038     struct IfcProjectOrderRecord : IfcControl, ObjectHelper<IfcProjectOrderRecord,2> { IfcProjectOrderRecord() : Object("IfcProjectOrderRecord") {}
3039         ListOf< Lazy< NotImplemented >, 1, 0 > Records;
3040         IfcProjectOrderRecordTypeEnum::Out PredefinedType;
3041     };
3042 
3043     // C++ wrapper for IfcProjectionCurve
IfcProjectionCurveIfcProjectionCurve3044     struct IfcProjectionCurve : IfcAnnotationCurveOccurrence, ObjectHelper<IfcProjectionCurve,0> { IfcProjectionCurve() : Object("IfcProjectionCurve") {}
3045 
3046     };
3047 
3048     // C++ wrapper for IfcProjectionElement
IfcProjectionElementIfcProjectionElement3049     struct IfcProjectionElement : IfcFeatureElementAddition, ObjectHelper<IfcProjectionElement,0> { IfcProjectionElement() : Object("IfcProjectionElement") {}
3050 
3051     };
3052 
3053     // C++ wrapper for IfcSimpleProperty
IfcSimplePropertyIfcSimpleProperty3054     struct IfcSimpleProperty : IfcProperty, ObjectHelper<IfcSimpleProperty,0> { IfcSimpleProperty() : Object("IfcSimpleProperty") {}
3055 
3056     };
3057 
3058     // C++ wrapper for IfcPropertyBoundedValue
IfcPropertyBoundedValueIfcPropertyBoundedValue3059     struct IfcPropertyBoundedValue : IfcSimpleProperty, ObjectHelper<IfcPropertyBoundedValue,3> { IfcPropertyBoundedValue() : Object("IfcPropertyBoundedValue") {}
3060         Maybe< IfcValue::Out > UpperBoundValue;
3061         Maybe< IfcValue::Out > LowerBoundValue;
3062         Maybe< IfcUnit::Out > Unit;
3063     };
3064 
3065     // C++ wrapper for IfcPropertyEnumeratedValue
IfcPropertyEnumeratedValueIfcPropertyEnumeratedValue3066     struct IfcPropertyEnumeratedValue : IfcSimpleProperty, ObjectHelper<IfcPropertyEnumeratedValue,2> { IfcPropertyEnumeratedValue() : Object("IfcPropertyEnumeratedValue") {}
3067         ListOf< IfcValue, 1, 0 >::Out EnumerationValues;
3068         Maybe< Lazy< NotImplemented > > EnumerationReference;
3069     };
3070 
3071     // C++ wrapper for IfcPropertyListValue
IfcPropertyListValueIfcPropertyListValue3072     struct IfcPropertyListValue : IfcSimpleProperty, ObjectHelper<IfcPropertyListValue,2> { IfcPropertyListValue() : Object("IfcPropertyListValue") {}
3073         ListOf< IfcValue, 1, 0 >::Out ListValues;
3074         Maybe< IfcUnit::Out > Unit;
3075     };
3076 
3077     // C++ wrapper for IfcPropertyReferenceValue
IfcPropertyReferenceValueIfcPropertyReferenceValue3078     struct IfcPropertyReferenceValue : IfcSimpleProperty, ObjectHelper<IfcPropertyReferenceValue,2> { IfcPropertyReferenceValue() : Object("IfcPropertyReferenceValue") {}
3079         Maybe< IfcLabel::Out > UsageName;
3080         IfcObjectReferenceSelect::Out PropertyReference;
3081     };
3082 
3083     // C++ wrapper for IfcPropertySet
IfcPropertySetIfcPropertySet3084     struct IfcPropertySet : IfcPropertySetDefinition, ObjectHelper<IfcPropertySet,1> { IfcPropertySet() : Object("IfcPropertySet") {}
3085         ListOf< Lazy< IfcProperty >, 1, 0 > HasProperties;
3086     };
3087 
3088     // C++ wrapper for IfcPropertySingleValue
IfcPropertySingleValueIfcPropertySingleValue3089     struct IfcPropertySingleValue : IfcSimpleProperty, ObjectHelper<IfcPropertySingleValue,2> { IfcPropertySingleValue() : Object("IfcPropertySingleValue") {}
3090         Maybe< IfcValue::Out > NominalValue;
3091         Maybe< IfcUnit::Out > Unit;
3092     };
3093 
3094     // C++ wrapper for IfcPropertyTableValue
IfcPropertyTableValueIfcPropertyTableValue3095     struct IfcPropertyTableValue : IfcSimpleProperty, ObjectHelper<IfcPropertyTableValue,5> { IfcPropertyTableValue() : Object("IfcPropertyTableValue") {}
3096         ListOf< IfcValue, 1, 0 >::Out DefiningValues;
3097         ListOf< IfcValue, 1, 0 >::Out DefinedValues;
3098         Maybe< IfcText::Out > Expression;
3099         Maybe< IfcUnit::Out > DefiningUnit;
3100         Maybe< IfcUnit::Out > DefinedUnit;
3101     };
3102 
3103     // C++ wrapper for IfcProtectiveDeviceType
IfcProtectiveDeviceTypeIfcProtectiveDeviceType3104     struct IfcProtectiveDeviceType : IfcFlowControllerType, ObjectHelper<IfcProtectiveDeviceType,1> { IfcProtectiveDeviceType() : Object("IfcProtectiveDeviceType") {}
3105         IfcProtectiveDeviceTypeEnum::Out PredefinedType;
3106     };
3107 
3108     // C++ wrapper for IfcProxy
IfcProxyIfcProxy3109     struct IfcProxy : IfcProduct, ObjectHelper<IfcProxy,2> { IfcProxy() : Object("IfcProxy") {}
3110         IfcObjectTypeEnum::Out ProxyType;
3111         Maybe< IfcLabel::Out > Tag;
3112     };
3113 
3114     // C++ wrapper for IfcPumpType
IfcPumpTypeIfcPumpType3115     struct IfcPumpType : IfcFlowMovingDeviceType, ObjectHelper<IfcPumpType,1> { IfcPumpType() : Object("IfcPumpType") {}
3116         IfcPumpTypeEnum::Out PredefinedType;
3117     };
3118 
3119     // C++ wrapper for IfcRadiusDimension
IfcRadiusDimensionIfcRadiusDimension3120     struct IfcRadiusDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcRadiusDimension,0> { IfcRadiusDimension() : Object("IfcRadiusDimension") {}
3121 
3122     };
3123 
3124     // C++ wrapper for IfcRailing
IfcRailingIfcRailing3125     struct IfcRailing : IfcBuildingElement, ObjectHelper<IfcRailing,1> { IfcRailing() : Object("IfcRailing") {}
3126         Maybe< IfcRailingTypeEnum::Out > PredefinedType;
3127     };
3128 
3129     // C++ wrapper for IfcRailingType
IfcRailingTypeIfcRailingType3130     struct IfcRailingType : IfcBuildingElementType, ObjectHelper<IfcRailingType,1> { IfcRailingType() : Object("IfcRailingType") {}
3131         IfcRailingTypeEnum::Out PredefinedType;
3132     };
3133 
3134     // C++ wrapper for IfcRamp
IfcRampIfcRamp3135     struct IfcRamp : IfcBuildingElement, ObjectHelper<IfcRamp,1> { IfcRamp() : Object("IfcRamp") {}
3136         IfcRampTypeEnum::Out ShapeType;
3137     };
3138 
3139     // C++ wrapper for IfcRampFlight
IfcRampFlightIfcRampFlight3140     struct IfcRampFlight : IfcBuildingElement, ObjectHelper<IfcRampFlight,0> { IfcRampFlight() : Object("IfcRampFlight") {}
3141 
3142     };
3143 
3144     // C++ wrapper for IfcRampFlightType
IfcRampFlightTypeIfcRampFlightType3145     struct IfcRampFlightType : IfcBuildingElementType, ObjectHelper<IfcRampFlightType,1> { IfcRampFlightType() : Object("IfcRampFlightType") {}
3146         IfcRampFlightTypeEnum::Out PredefinedType;
3147     };
3148 
3149     // C++ wrapper for IfcRationalBezierCurve
IfcRationalBezierCurveIfcRationalBezierCurve3150     struct IfcRationalBezierCurve : IfcBezierCurve, ObjectHelper<IfcRationalBezierCurve,1> { IfcRationalBezierCurve() : Object("IfcRationalBezierCurve") {}
3151         ListOf< REAL, 2, 0 >::Out WeightsData;
3152     };
3153 
3154     // C++ wrapper for IfcRectangleProfileDef
IfcRectangleProfileDefIfcRectangleProfileDef3155     struct IfcRectangleProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcRectangleProfileDef,2> { IfcRectangleProfileDef() : Object("IfcRectangleProfileDef") {}
3156         IfcPositiveLengthMeasure::Out XDim;
3157         IfcPositiveLengthMeasure::Out YDim;
3158     };
3159 
3160     // C++ wrapper for IfcRectangleHollowProfileDef
IfcRectangleHollowProfileDefIfcRectangleHollowProfileDef3161     struct IfcRectangleHollowProfileDef : IfcRectangleProfileDef, ObjectHelper<IfcRectangleHollowProfileDef,3> { IfcRectangleHollowProfileDef() : Object("IfcRectangleHollowProfileDef") {}
3162         IfcPositiveLengthMeasure::Out WallThickness;
3163         Maybe< IfcPositiveLengthMeasure::Out > InnerFilletRadius;
3164         Maybe< IfcPositiveLengthMeasure::Out > OuterFilletRadius;
3165     };
3166 
3167     // C++ wrapper for IfcRectangularPyramid
IfcRectangularPyramidIfcRectangularPyramid3168     struct IfcRectangularPyramid : IfcCsgPrimitive3D, ObjectHelper<IfcRectangularPyramid,3> { IfcRectangularPyramid() : Object("IfcRectangularPyramid") {}
3169         IfcPositiveLengthMeasure::Out XLength;
3170         IfcPositiveLengthMeasure::Out YLength;
3171         IfcPositiveLengthMeasure::Out Height;
3172     };
3173 
3174     // C++ wrapper for IfcRectangularTrimmedSurface
IfcRectangularTrimmedSurfaceIfcRectangularTrimmedSurface3175     struct IfcRectangularTrimmedSurface : IfcBoundedSurface, ObjectHelper<IfcRectangularTrimmedSurface,7> { IfcRectangularTrimmedSurface() : Object("IfcRectangularTrimmedSurface") {}
3176         Lazy< IfcSurface > BasisSurface;
3177         IfcParameterValue::Out U1;
3178         IfcParameterValue::Out V1;
3179         IfcParameterValue::Out U2;
3180         IfcParameterValue::Out V2;
3181         BOOLEAN::Out Usense;
3182         BOOLEAN::Out Vsense;
3183     };
3184 
3185     // C++ wrapper for IfcReinforcingElement
IfcReinforcingElementIfcReinforcingElement3186     struct IfcReinforcingElement : IfcBuildingElementComponent, ObjectHelper<IfcReinforcingElement,1> { IfcReinforcingElement() : Object("IfcReinforcingElement") {}
3187         Maybe< IfcLabel::Out > SteelGrade;
3188     };
3189 
3190     // C++ wrapper for IfcReinforcingBar
IfcReinforcingBarIfcReinforcingBar3191     struct IfcReinforcingBar : IfcReinforcingElement, ObjectHelper<IfcReinforcingBar,5> { IfcReinforcingBar() : Object("IfcReinforcingBar") {}
3192         IfcPositiveLengthMeasure::Out NominalDiameter;
3193         IfcAreaMeasure::Out CrossSectionArea;
3194         Maybe< IfcPositiveLengthMeasure::Out > BarLength;
3195         IfcReinforcingBarRoleEnum::Out BarRole;
3196         Maybe< IfcReinforcingBarSurfaceEnum::Out > BarSurface;
3197     };
3198 
3199     // C++ wrapper for IfcReinforcingMesh
IfcReinforcingMeshIfcReinforcingMesh3200     struct IfcReinforcingMesh : IfcReinforcingElement, ObjectHelper<IfcReinforcingMesh,8> { IfcReinforcingMesh() : Object("IfcReinforcingMesh") {}
3201         Maybe< IfcPositiveLengthMeasure::Out > MeshLength;
3202         Maybe< IfcPositiveLengthMeasure::Out > MeshWidth;
3203         IfcPositiveLengthMeasure::Out LongitudinalBarNominalDiameter;
3204         IfcPositiveLengthMeasure::Out TransverseBarNominalDiameter;
3205         IfcAreaMeasure::Out LongitudinalBarCrossSectionArea;
3206         IfcAreaMeasure::Out TransverseBarCrossSectionArea;
3207         IfcPositiveLengthMeasure::Out LongitudinalBarSpacing;
3208         IfcPositiveLengthMeasure::Out TransverseBarSpacing;
3209     };
3210 
3211     // C++ wrapper for IfcRelationship
IfcRelationshipIfcRelationship3212     struct IfcRelationship : IfcRoot, ObjectHelper<IfcRelationship,0> { IfcRelationship() : Object("IfcRelationship") {}
3213 
3214     };
3215 
3216     // C++ wrapper for IfcRelDecomposes
IfcRelDecomposesIfcRelDecomposes3217     struct IfcRelDecomposes : IfcRelationship, ObjectHelper<IfcRelDecomposes,2> { IfcRelDecomposes() : Object("IfcRelDecomposes") {}
3218         Lazy< IfcObjectDefinition > RelatingObject;
3219         ListOf< Lazy< IfcObjectDefinition >, 1, 0 > RelatedObjects;
3220     };
3221 
3222     // C++ wrapper for IfcRelAggregates
IfcRelAggregatesIfcRelAggregates3223     struct IfcRelAggregates : IfcRelDecomposes, ObjectHelper<IfcRelAggregates,0> { IfcRelAggregates() : Object("IfcRelAggregates") {}
3224 
3225     };
3226 
3227     // C++ wrapper for IfcRelConnects
IfcRelConnectsIfcRelConnects3228     struct IfcRelConnects : IfcRelationship, ObjectHelper<IfcRelConnects,0> { IfcRelConnects() : Object("IfcRelConnects") {}
3229 
3230     };
3231 
3232     // C++ wrapper for IfcRelContainedInSpatialStructure
IfcRelContainedInSpatialStructureIfcRelContainedInSpatialStructure3233     struct IfcRelContainedInSpatialStructure : IfcRelConnects, ObjectHelper<IfcRelContainedInSpatialStructure,2> { IfcRelContainedInSpatialStructure() : Object("IfcRelContainedInSpatialStructure") {}
3234         ListOf< Lazy< IfcProduct >, 1, 0 > RelatedElements;
3235         Lazy< IfcSpatialStructureElement > RelatingStructure;
3236     };
3237 
3238     // C++ wrapper for IfcRelDefines
IfcRelDefinesIfcRelDefines3239     struct IfcRelDefines : IfcRelationship, ObjectHelper<IfcRelDefines,1> { IfcRelDefines() : Object("IfcRelDefines") {}
3240         ListOf< Lazy< IfcObject >, 1, 0 > RelatedObjects;
3241     };
3242 
3243     // C++ wrapper for IfcRelDefinesByProperties
IfcRelDefinesByPropertiesIfcRelDefinesByProperties3244     struct IfcRelDefinesByProperties : IfcRelDefines, ObjectHelper<IfcRelDefinesByProperties,1> { IfcRelDefinesByProperties() : Object("IfcRelDefinesByProperties") {}
3245         Lazy< IfcPropertySetDefinition > RelatingPropertyDefinition;
3246     };
3247 
3248     // C++ wrapper for IfcRelFillsElement
IfcRelFillsElementIfcRelFillsElement3249     struct IfcRelFillsElement : IfcRelConnects, ObjectHelper<IfcRelFillsElement,2> { IfcRelFillsElement() : Object("IfcRelFillsElement") {}
3250         Lazy< IfcOpeningElement > RelatingOpeningElement;
3251         Lazy< IfcElement > RelatedBuildingElement;
3252     };
3253 
3254     // C++ wrapper for IfcRelOverridesProperties
IfcRelOverridesPropertiesIfcRelOverridesProperties3255     struct IfcRelOverridesProperties : IfcRelDefinesByProperties, ObjectHelper<IfcRelOverridesProperties,1> { IfcRelOverridesProperties() : Object("IfcRelOverridesProperties") {}
3256         ListOf< Lazy< IfcProperty >, 1, 0 > OverridingProperties;
3257     };
3258 
3259     // C++ wrapper for IfcRelVoidsElement
IfcRelVoidsElementIfcRelVoidsElement3260     struct IfcRelVoidsElement : IfcRelConnects, ObjectHelper<IfcRelVoidsElement,2> { IfcRelVoidsElement() : Object("IfcRelVoidsElement") {}
3261         Lazy< IfcElement > RelatingBuildingElement;
3262         Lazy< IfcFeatureElementSubtraction > RelatedOpeningElement;
3263     };
3264 
3265     // C++ wrapper for IfcRepresentation
IfcRepresentationIfcRepresentation3266     struct IfcRepresentation :  ObjectHelper<IfcRepresentation,4> { IfcRepresentation() : Object("IfcRepresentation") {}
3267         Lazy< IfcRepresentationContext > ContextOfItems;
3268         Maybe< IfcLabel::Out > RepresentationIdentifier;
3269         Maybe< IfcLabel::Out > RepresentationType;
3270         ListOf< Lazy< IfcRepresentationItem >, 1, 0 > Items;
3271     };
3272 
3273     // C++ wrapper for IfcRepresentationMap
IfcRepresentationMapIfcRepresentationMap3274     struct IfcRepresentationMap :  ObjectHelper<IfcRepresentationMap,2> { IfcRepresentationMap() : Object("IfcRepresentationMap") {}
3275         IfcAxis2Placement::Out MappingOrigin;
3276         Lazy< IfcRepresentation > MappedRepresentation;
3277     };
3278 
3279     // C++ wrapper for IfcRevolvedAreaSolid
IfcRevolvedAreaSolidIfcRevolvedAreaSolid3280     struct IfcRevolvedAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcRevolvedAreaSolid,2> { IfcRevolvedAreaSolid() : Object("IfcRevolvedAreaSolid") {}
3281         Lazy< IfcAxis1Placement > Axis;
3282         IfcPlaneAngleMeasure::Out Angle;
3283     };
3284 
3285     // C++ wrapper for IfcRightCircularCone
IfcRightCircularConeIfcRightCircularCone3286     struct IfcRightCircularCone : IfcCsgPrimitive3D, ObjectHelper<IfcRightCircularCone,2> { IfcRightCircularCone() : Object("IfcRightCircularCone") {}
3287         IfcPositiveLengthMeasure::Out Height;
3288         IfcPositiveLengthMeasure::Out BottomRadius;
3289     };
3290 
3291     // C++ wrapper for IfcRightCircularCylinder
IfcRightCircularCylinderIfcRightCircularCylinder3292     struct IfcRightCircularCylinder : IfcCsgPrimitive3D, ObjectHelper<IfcRightCircularCylinder,2> { IfcRightCircularCylinder() : Object("IfcRightCircularCylinder") {}
3293         IfcPositiveLengthMeasure::Out Height;
3294         IfcPositiveLengthMeasure::Out Radius;
3295     };
3296 
3297     // C++ wrapper for IfcRoof
IfcRoofIfcRoof3298     struct IfcRoof : IfcBuildingElement, ObjectHelper<IfcRoof,1> { IfcRoof() : Object("IfcRoof") {}
3299         IfcRoofTypeEnum::Out ShapeType;
3300     };
3301 
3302     // C++ wrapper for IfcRoundedEdgeFeature
IfcRoundedEdgeFeatureIfcRoundedEdgeFeature3303     struct IfcRoundedEdgeFeature : IfcEdgeFeature, ObjectHelper<IfcRoundedEdgeFeature,1> { IfcRoundedEdgeFeature() : Object("IfcRoundedEdgeFeature") {}
3304         Maybe< IfcPositiveLengthMeasure::Out > Radius;
3305     };
3306 
3307     // C++ wrapper for IfcRoundedRectangleProfileDef
IfcRoundedRectangleProfileDefIfcRoundedRectangleProfileDef3308     struct IfcRoundedRectangleProfileDef : IfcRectangleProfileDef, ObjectHelper<IfcRoundedRectangleProfileDef,1> { IfcRoundedRectangleProfileDef() : Object("IfcRoundedRectangleProfileDef") {}
3309         IfcPositiveLengthMeasure::Out RoundingRadius;
3310     };
3311 
3312     // C++ wrapper for IfcSIUnit
IfcSIUnitIfcSIUnit3313     struct IfcSIUnit : IfcNamedUnit, ObjectHelper<IfcSIUnit,2> { IfcSIUnit() : Object("IfcSIUnit") {}
3314         Maybe< IfcSIPrefix::Out > Prefix;
3315         IfcSIUnitName::Out Name;
3316     };
3317 
3318     // C++ wrapper for IfcSanitaryTerminalType
IfcSanitaryTerminalTypeIfcSanitaryTerminalType3319     struct IfcSanitaryTerminalType : IfcFlowTerminalType, ObjectHelper<IfcSanitaryTerminalType,1> { IfcSanitaryTerminalType() : Object("IfcSanitaryTerminalType") {}
3320         IfcSanitaryTerminalTypeEnum::Out PredefinedType;
3321     };
3322 
3323     // C++ wrapper for IfcScheduleTimeControl
IfcScheduleTimeControlIfcScheduleTimeControl3324     struct IfcScheduleTimeControl : IfcControl, ObjectHelper<IfcScheduleTimeControl,18> { IfcScheduleTimeControl() : Object("IfcScheduleTimeControl") {}
3325         Maybe< IfcDateTimeSelect::Out > ActualStart;
3326         Maybe< IfcDateTimeSelect::Out > EarlyStart;
3327         Maybe< IfcDateTimeSelect::Out > LateStart;
3328         Maybe< IfcDateTimeSelect::Out > ScheduleStart;
3329         Maybe< IfcDateTimeSelect::Out > ActualFinish;
3330         Maybe< IfcDateTimeSelect::Out > EarlyFinish;
3331         Maybe< IfcDateTimeSelect::Out > LateFinish;
3332         Maybe< IfcDateTimeSelect::Out > ScheduleFinish;
3333         Maybe< IfcTimeMeasure::Out > ScheduleDuration;
3334         Maybe< IfcTimeMeasure::Out > ActualDuration;
3335         Maybe< IfcTimeMeasure::Out > RemainingTime;
3336         Maybe< IfcTimeMeasure::Out > FreeFloat;
3337         Maybe< IfcTimeMeasure::Out > TotalFloat;
3338         Maybe< BOOLEAN::Out > IsCritical;
3339         Maybe< IfcDateTimeSelect::Out > StatusTime;
3340         Maybe< IfcTimeMeasure::Out > StartFloat;
3341         Maybe< IfcTimeMeasure::Out > FinishFloat;
3342         Maybe< IfcPositiveRatioMeasure::Out > Completion;
3343     };
3344 
3345     // C++ wrapper for IfcSectionedSpine
IfcSectionedSpineIfcSectionedSpine3346     struct IfcSectionedSpine : IfcGeometricRepresentationItem, ObjectHelper<IfcSectionedSpine,3> { IfcSectionedSpine() : Object("IfcSectionedSpine") {}
3347         Lazy< IfcCompositeCurve > SpineCurve;
3348         ListOf< Lazy< IfcProfileDef >, 2, 0 > CrossSections;
3349         ListOf< Lazy< IfcAxis2Placement3D >, 2, 0 > CrossSectionPositions;
3350     };
3351 
3352     // C++ wrapper for IfcSensorType
IfcSensorTypeIfcSensorType3353     struct IfcSensorType : IfcDistributionControlElementType, ObjectHelper<IfcSensorType,1> { IfcSensorType() : Object("IfcSensorType") {}
3354         IfcSensorTypeEnum::Out PredefinedType;
3355     };
3356 
3357     // C++ wrapper for IfcServiceLife
IfcServiceLifeIfcServiceLife3358     struct IfcServiceLife : IfcControl, ObjectHelper<IfcServiceLife,2> { IfcServiceLife() : Object("IfcServiceLife") {}
3359         IfcServiceLifeTypeEnum::Out ServiceLifeType;
3360         IfcTimeMeasure::Out ServiceLifeDuration;
3361     };
3362 
3363     // C++ wrapper for IfcShapeModel
IfcShapeModelIfcShapeModel3364     struct IfcShapeModel : IfcRepresentation, ObjectHelper<IfcShapeModel,0> { IfcShapeModel() : Object("IfcShapeModel") {}
3365 
3366     };
3367 
3368     // C++ wrapper for IfcShapeRepresentation
IfcShapeRepresentationIfcShapeRepresentation3369     struct IfcShapeRepresentation : IfcShapeModel, ObjectHelper<IfcShapeRepresentation,0> { IfcShapeRepresentation() : Object("IfcShapeRepresentation") {}
3370 
3371     };
3372 
3373     // C++ wrapper for IfcShellBasedSurfaceModel
IfcShellBasedSurfaceModelIfcShellBasedSurfaceModel3374     struct IfcShellBasedSurfaceModel : IfcGeometricRepresentationItem, ObjectHelper<IfcShellBasedSurfaceModel,1> { IfcShellBasedSurfaceModel() : Object("IfcShellBasedSurfaceModel") {}
3375         ListOf< IfcShell, 1, 0 >::Out SbsmBoundary;
3376     };
3377 
3378     // C++ wrapper for IfcSite
IfcSiteIfcSite3379     struct IfcSite : IfcSpatialStructureElement, ObjectHelper<IfcSite,5> { IfcSite() : Object("IfcSite") {}
3380         Maybe< IfcCompoundPlaneAngleMeasure::Out > RefLatitude;
3381         Maybe< IfcCompoundPlaneAngleMeasure::Out > RefLongitude;
3382         Maybe< IfcLengthMeasure::Out > RefElevation;
3383         Maybe< IfcLabel::Out > LandTitleNumber;
3384         Maybe< Lazy< NotImplemented > > SiteAddress;
3385     };
3386 
3387     // C++ wrapper for IfcSlab
IfcSlabIfcSlab3388     struct IfcSlab : IfcBuildingElement, ObjectHelper<IfcSlab,1> { IfcSlab() : Object("IfcSlab") {}
3389         Maybe< IfcSlabTypeEnum::Out > PredefinedType;
3390     };
3391 
3392     // C++ wrapper for IfcSlabType
IfcSlabTypeIfcSlabType3393     struct IfcSlabType : IfcBuildingElementType, ObjectHelper<IfcSlabType,1> { IfcSlabType() : Object("IfcSlabType") {}
3394         IfcSlabTypeEnum::Out PredefinedType;
3395     };
3396 
3397     // C++ wrapper for IfcSpace
IfcSpaceIfcSpace3398     struct IfcSpace : IfcSpatialStructureElement, ObjectHelper<IfcSpace,2> { IfcSpace() : Object("IfcSpace") {}
3399         IfcInternalOrExternalEnum::Out InteriorOrExteriorSpace;
3400         Maybe< IfcLengthMeasure::Out > ElevationWithFlooring;
3401     };
3402 
3403     // C++ wrapper for IfcSpaceHeaterType
IfcSpaceHeaterTypeIfcSpaceHeaterType3404     struct IfcSpaceHeaterType : IfcEnergyConversionDeviceType, ObjectHelper<IfcSpaceHeaterType,1> { IfcSpaceHeaterType() : Object("IfcSpaceHeaterType") {}
3405         IfcSpaceHeaterTypeEnum::Out PredefinedType;
3406     };
3407 
3408     // C++ wrapper for IfcSpaceProgram
IfcSpaceProgramIfcSpaceProgram3409     struct IfcSpaceProgram : IfcControl, ObjectHelper<IfcSpaceProgram,5> { IfcSpaceProgram() : Object("IfcSpaceProgram") {}
3410         IfcIdentifier::Out SpaceProgramIdentifier;
3411         Maybe< IfcAreaMeasure::Out > MaxRequiredArea;
3412         Maybe< IfcAreaMeasure::Out > MinRequiredArea;
3413         Maybe< Lazy< IfcSpatialStructureElement > > RequestedLocation;
3414         IfcAreaMeasure::Out StandardRequiredArea;
3415     };
3416 
3417     // C++ wrapper for IfcSpatialStructureElementType
IfcSpatialStructureElementTypeIfcSpatialStructureElementType3418     struct IfcSpatialStructureElementType : IfcElementType, ObjectHelper<IfcSpatialStructureElementType,0> { IfcSpatialStructureElementType() : Object("IfcSpatialStructureElementType") {}
3419 
3420     };
3421 
3422     // C++ wrapper for IfcSpaceType
IfcSpaceTypeIfcSpaceType3423     struct IfcSpaceType : IfcSpatialStructureElementType, ObjectHelper<IfcSpaceType,1> { IfcSpaceType() : Object("IfcSpaceType") {}
3424         IfcSpaceTypeEnum::Out PredefinedType;
3425     };
3426 
3427     // C++ wrapper for IfcSphere
IfcSphereIfcSphere3428     struct IfcSphere : IfcCsgPrimitive3D, ObjectHelper<IfcSphere,1> { IfcSphere() : Object("IfcSphere") {}
3429         IfcPositiveLengthMeasure::Out Radius;
3430     };
3431 
3432     // C++ wrapper for IfcStackTerminalType
IfcStackTerminalTypeIfcStackTerminalType3433     struct IfcStackTerminalType : IfcFlowTerminalType, ObjectHelper<IfcStackTerminalType,1> { IfcStackTerminalType() : Object("IfcStackTerminalType") {}
3434         IfcStackTerminalTypeEnum::Out PredefinedType;
3435     };
3436 
3437     // C++ wrapper for IfcStair
IfcStairIfcStair3438     struct IfcStair : IfcBuildingElement, ObjectHelper<IfcStair,1> { IfcStair() : Object("IfcStair") {}
3439         IfcStairTypeEnum::Out ShapeType;
3440     };
3441 
3442     // C++ wrapper for IfcStairFlight
IfcStairFlightIfcStairFlight3443     struct IfcStairFlight : IfcBuildingElement, ObjectHelper<IfcStairFlight,4> { IfcStairFlight() : Object("IfcStairFlight") {}
3444         Maybe< INTEGER::Out > NumberOfRiser;
3445         Maybe< INTEGER::Out > NumberOfTreads;
3446         Maybe< IfcPositiveLengthMeasure::Out > RiserHeight;
3447         Maybe< IfcPositiveLengthMeasure::Out > TreadLength;
3448     };
3449 
3450     // C++ wrapper for IfcStairFlightType
IfcStairFlightTypeIfcStairFlightType3451     struct IfcStairFlightType : IfcBuildingElementType, ObjectHelper<IfcStairFlightType,1> { IfcStairFlightType() : Object("IfcStairFlightType") {}
3452         IfcStairFlightTypeEnum::Out PredefinedType;
3453     };
3454 
3455     // C++ wrapper for IfcStructuralActivity
IfcStructuralActivityIfcStructuralActivity3456     struct IfcStructuralActivity : IfcProduct, ObjectHelper<IfcStructuralActivity,2> { IfcStructuralActivity() : Object("IfcStructuralActivity") {}
3457         Lazy< NotImplemented > AppliedLoad;
3458         IfcGlobalOrLocalEnum::Out GlobalOrLocal;
3459     };
3460 
3461     // C++ wrapper for IfcStructuralAction
IfcStructuralActionIfcStructuralAction3462     struct IfcStructuralAction : IfcStructuralActivity, ObjectHelper<IfcStructuralAction,2> { IfcStructuralAction() : Object("IfcStructuralAction") {}
3463         BOOLEAN::Out DestabilizingLoad;
3464         Maybe< Lazy< IfcStructuralReaction > > CausedBy;
3465     };
3466 
3467     // C++ wrapper for IfcStructuralAnalysisModel
IfcStructuralAnalysisModelIfcStructuralAnalysisModel3468     struct IfcStructuralAnalysisModel : IfcSystem, ObjectHelper<IfcStructuralAnalysisModel,4> { IfcStructuralAnalysisModel() : Object("IfcStructuralAnalysisModel") {}
3469         IfcAnalysisModelTypeEnum::Out PredefinedType;
3470         Maybe< Lazy< IfcAxis2Placement3D > > OrientationOf2DPlane;
3471         Maybe< ListOf< Lazy< IfcStructuralLoadGroup >, 1, 0 > > LoadedBy;
3472         Maybe< ListOf< Lazy< IfcStructuralResultGroup >, 1, 0 > > HasResults;
3473     };
3474 
3475     // C++ wrapper for IfcStructuralItem
IfcStructuralItemIfcStructuralItem3476     struct IfcStructuralItem : IfcProduct, ObjectHelper<IfcStructuralItem,0> { IfcStructuralItem() : Object("IfcStructuralItem") {}
3477 
3478     };
3479 
3480     // C++ wrapper for IfcStructuralConnection
IfcStructuralConnectionIfcStructuralConnection3481     struct IfcStructuralConnection : IfcStructuralItem, ObjectHelper<IfcStructuralConnection,1> { IfcStructuralConnection() : Object("IfcStructuralConnection") {}
3482         Maybe< Lazy< NotImplemented > > AppliedCondition;
3483     };
3484 
3485     // C++ wrapper for IfcStructuralCurveConnection
IfcStructuralCurveConnectionIfcStructuralCurveConnection3486     struct IfcStructuralCurveConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralCurveConnection,0> { IfcStructuralCurveConnection() : Object("IfcStructuralCurveConnection") {}
3487 
3488     };
3489 
3490     // C++ wrapper for IfcStructuralMember
IfcStructuralMemberIfcStructuralMember3491     struct IfcStructuralMember : IfcStructuralItem, ObjectHelper<IfcStructuralMember,0> { IfcStructuralMember() : Object("IfcStructuralMember") {}
3492 
3493     };
3494 
3495     // C++ wrapper for IfcStructuralCurveMember
IfcStructuralCurveMemberIfcStructuralCurveMember3496     struct IfcStructuralCurveMember : IfcStructuralMember, ObjectHelper<IfcStructuralCurveMember,1> { IfcStructuralCurveMember() : Object("IfcStructuralCurveMember") {}
3497         IfcStructuralCurveTypeEnum::Out PredefinedType;
3498     };
3499 
3500     // C++ wrapper for IfcStructuralCurveMemberVarying
IfcStructuralCurveMemberVaryingIfcStructuralCurveMemberVarying3501     struct IfcStructuralCurveMemberVarying : IfcStructuralCurveMember, ObjectHelper<IfcStructuralCurveMemberVarying,0> { IfcStructuralCurveMemberVarying() : Object("IfcStructuralCurveMemberVarying") {}
3502 
3503     };
3504 
3505     // C++ wrapper for IfcStructuralLinearAction
IfcStructuralLinearActionIfcStructuralLinearAction3506     struct IfcStructuralLinearAction : IfcStructuralAction, ObjectHelper<IfcStructuralLinearAction,1> { IfcStructuralLinearAction() : Object("IfcStructuralLinearAction") {}
3507         IfcProjectedOrTrueLengthEnum::Out ProjectedOrTrue;
3508     };
3509 
3510     // C++ wrapper for IfcStructuralLinearActionVarying
IfcStructuralLinearActionVaryingIfcStructuralLinearActionVarying3511     struct IfcStructuralLinearActionVarying : IfcStructuralLinearAction, ObjectHelper<IfcStructuralLinearActionVarying,2> { IfcStructuralLinearActionVarying() : Object("IfcStructuralLinearActionVarying") {}
3512         Lazy< NotImplemented > VaryingAppliedLoadLocation;
3513         ListOf< Lazy< NotImplemented >, 1, 0 > SubsequentAppliedLoads;
3514     };
3515 
3516     // C++ wrapper for IfcStructuralLoadGroup
IfcStructuralLoadGroupIfcStructuralLoadGroup3517     struct IfcStructuralLoadGroup : IfcGroup, ObjectHelper<IfcStructuralLoadGroup,5> { IfcStructuralLoadGroup() : Object("IfcStructuralLoadGroup") {}
3518         IfcLoadGroupTypeEnum::Out PredefinedType;
3519         IfcActionTypeEnum::Out ActionType;
3520         IfcActionSourceTypeEnum::Out ActionSource;
3521         Maybe< IfcPositiveRatioMeasure::Out > Coefficient;
3522         Maybe< IfcLabel::Out > Purpose;
3523     };
3524 
3525     // C++ wrapper for IfcStructuralPlanarAction
IfcStructuralPlanarActionIfcStructuralPlanarAction3526     struct IfcStructuralPlanarAction : IfcStructuralAction, ObjectHelper<IfcStructuralPlanarAction,1> { IfcStructuralPlanarAction() : Object("IfcStructuralPlanarAction") {}
3527         IfcProjectedOrTrueLengthEnum::Out ProjectedOrTrue;
3528     };
3529 
3530     // C++ wrapper for IfcStructuralPlanarActionVarying
IfcStructuralPlanarActionVaryingIfcStructuralPlanarActionVarying3531     struct IfcStructuralPlanarActionVarying : IfcStructuralPlanarAction, ObjectHelper<IfcStructuralPlanarActionVarying,2> { IfcStructuralPlanarActionVarying() : Object("IfcStructuralPlanarActionVarying") {}
3532         Lazy< NotImplemented > VaryingAppliedLoadLocation;
3533         ListOf< Lazy< NotImplemented >, 2, 0 > SubsequentAppliedLoads;
3534     };
3535 
3536     // C++ wrapper for IfcStructuralPointAction
IfcStructuralPointActionIfcStructuralPointAction3537     struct IfcStructuralPointAction : IfcStructuralAction, ObjectHelper<IfcStructuralPointAction,0> { IfcStructuralPointAction() : Object("IfcStructuralPointAction") {}
3538 
3539     };
3540 
3541     // C++ wrapper for IfcStructuralPointConnection
IfcStructuralPointConnectionIfcStructuralPointConnection3542     struct IfcStructuralPointConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralPointConnection,0> { IfcStructuralPointConnection() : Object("IfcStructuralPointConnection") {}
3543 
3544     };
3545 
3546     // C++ wrapper for IfcStructuralReaction
IfcStructuralReactionIfcStructuralReaction3547     struct IfcStructuralReaction : IfcStructuralActivity, ObjectHelper<IfcStructuralReaction,0> { IfcStructuralReaction() : Object("IfcStructuralReaction") {}
3548 
3549     };
3550 
3551     // C++ wrapper for IfcStructuralPointReaction
IfcStructuralPointReactionIfcStructuralPointReaction3552     struct IfcStructuralPointReaction : IfcStructuralReaction, ObjectHelper<IfcStructuralPointReaction,0> { IfcStructuralPointReaction() : Object("IfcStructuralPointReaction") {}
3553 
3554     };
3555 
3556     // C++ wrapper for IfcStructuralResultGroup
IfcStructuralResultGroupIfcStructuralResultGroup3557     struct IfcStructuralResultGroup : IfcGroup, ObjectHelper<IfcStructuralResultGroup,3> { IfcStructuralResultGroup() : Object("IfcStructuralResultGroup") {}
3558         IfcAnalysisTheoryTypeEnum::Out TheoryType;
3559         Maybe< Lazy< IfcStructuralLoadGroup > > ResultForLoadGroup;
3560         BOOLEAN::Out IsLinear;
3561     };
3562 
3563     // C++ wrapper for IfcStructuralSurfaceConnection
IfcStructuralSurfaceConnectionIfcStructuralSurfaceConnection3564     struct IfcStructuralSurfaceConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralSurfaceConnection,0> { IfcStructuralSurfaceConnection() : Object("IfcStructuralSurfaceConnection") {}
3565 
3566     };
3567 
3568     // C++ wrapper for IfcStructuralSurfaceMember
IfcStructuralSurfaceMemberIfcStructuralSurfaceMember3569     struct IfcStructuralSurfaceMember : IfcStructuralMember, ObjectHelper<IfcStructuralSurfaceMember,2> { IfcStructuralSurfaceMember() : Object("IfcStructuralSurfaceMember") {}
3570         IfcStructuralSurfaceTypeEnum::Out PredefinedType;
3571         Maybe< IfcPositiveLengthMeasure::Out > Thickness;
3572     };
3573 
3574     // C++ wrapper for IfcStructuralSurfaceMemberVarying
IfcStructuralSurfaceMemberVaryingIfcStructuralSurfaceMemberVarying3575     struct IfcStructuralSurfaceMemberVarying : IfcStructuralSurfaceMember, ObjectHelper<IfcStructuralSurfaceMemberVarying,2> { IfcStructuralSurfaceMemberVarying() : Object("IfcStructuralSurfaceMemberVarying") {}
3576         ListOf< IfcPositiveLengthMeasure, 2, 0 >::Out SubsequentThickness;
3577         Lazy< NotImplemented > VaryingThicknessLocation;
3578     };
3579 
3580     // C++ wrapper for IfcStructuredDimensionCallout
IfcStructuredDimensionCalloutIfcStructuredDimensionCallout3581     struct IfcStructuredDimensionCallout : IfcDraughtingCallout, ObjectHelper<IfcStructuredDimensionCallout,0> { IfcStructuredDimensionCallout() : Object("IfcStructuredDimensionCallout") {}
3582 
3583     };
3584 
3585     // C++ wrapper for IfcStyleModel
IfcStyleModelIfcStyleModel3586     struct IfcStyleModel : IfcRepresentation, ObjectHelper<IfcStyleModel,0> { IfcStyleModel() : Object("IfcStyleModel") {}
3587 
3588     };
3589 
3590     // C++ wrapper for IfcStyledRepresentation
IfcStyledRepresentationIfcStyledRepresentation3591     struct IfcStyledRepresentation : IfcStyleModel, ObjectHelper<IfcStyledRepresentation,0> { IfcStyledRepresentation() : Object("IfcStyledRepresentation") {}
3592 
3593     };
3594 
3595     // C++ wrapper for IfcSubContractResource
IfcSubContractResourceIfcSubContractResource3596     struct IfcSubContractResource : IfcConstructionResource, ObjectHelper<IfcSubContractResource,2> { IfcSubContractResource() : Object("IfcSubContractResource") {}
3597         Maybe< IfcActorSelect::Out > SubContractor;
3598         Maybe< IfcText::Out > JobDescription;
3599     };
3600 
3601     // C++ wrapper for IfcSubedge
IfcSubedgeIfcSubedge3602     struct IfcSubedge : IfcEdge, ObjectHelper<IfcSubedge,1> { IfcSubedge() : Object("IfcSubedge") {}
3603         Lazy< IfcEdge > ParentEdge;
3604     };
3605 
3606     // C++ wrapper for IfcSurfaceCurveSweptAreaSolid
IfcSurfaceCurveSweptAreaSolidIfcSurfaceCurveSweptAreaSolid3607     struct IfcSurfaceCurveSweptAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcSurfaceCurveSweptAreaSolid,4> { IfcSurfaceCurveSweptAreaSolid() : Object("IfcSurfaceCurveSweptAreaSolid") {}
3608         Lazy< IfcCurve > Directrix;
3609         IfcParameterValue::Out StartParam;
3610         IfcParameterValue::Out EndParam;
3611         Lazy< IfcSurface > ReferenceSurface;
3612     };
3613 
3614     // C++ wrapper for IfcSweptSurface
IfcSweptSurfaceIfcSweptSurface3615     struct IfcSweptSurface : IfcSurface, ObjectHelper<IfcSweptSurface,2> { IfcSweptSurface() : Object("IfcSweptSurface") {}
3616         Lazy< IfcProfileDef > SweptCurve;
3617         Lazy< IfcAxis2Placement3D > Position;
3618     };
3619 
3620     // C++ wrapper for IfcSurfaceOfLinearExtrusion
IfcSurfaceOfLinearExtrusionIfcSurfaceOfLinearExtrusion3621     struct IfcSurfaceOfLinearExtrusion : IfcSweptSurface, ObjectHelper<IfcSurfaceOfLinearExtrusion,2> { IfcSurfaceOfLinearExtrusion() : Object("IfcSurfaceOfLinearExtrusion") {}
3622         Lazy< IfcDirection > ExtrudedDirection;
3623         IfcLengthMeasure::Out Depth;
3624     };
3625 
3626     // C++ wrapper for IfcSurfaceOfRevolution
IfcSurfaceOfRevolutionIfcSurfaceOfRevolution3627     struct IfcSurfaceOfRevolution : IfcSweptSurface, ObjectHelper<IfcSurfaceOfRevolution,1> { IfcSurfaceOfRevolution() : Object("IfcSurfaceOfRevolution") {}
3628         Lazy< IfcAxis1Placement > AxisPosition;
3629     };
3630 
3631     // C++ wrapper for IfcSurfaceStyle
IfcSurfaceStyleIfcSurfaceStyle3632     struct IfcSurfaceStyle : IfcPresentationStyle, ObjectHelper<IfcSurfaceStyle,2> { IfcSurfaceStyle() : Object("IfcSurfaceStyle") {}
3633         IfcSurfaceSide::Out Side;
3634         ListOf< IfcSurfaceStyleElementSelect, 1, 5 >::Out Styles;
3635     };
3636 
3637     // C++ wrapper for IfcSurfaceStyleShading
IfcSurfaceStyleShadingIfcSurfaceStyleShading3638     struct IfcSurfaceStyleShading :  ObjectHelper<IfcSurfaceStyleShading,1> { IfcSurfaceStyleShading() : Object("IfcSurfaceStyleShading") {}
3639         Lazy< IfcColourRgb > SurfaceColour;
3640     };
3641 
3642     // C++ wrapper for IfcSurfaceStyleRendering
IfcSurfaceStyleRenderingIfcSurfaceStyleRendering3643     struct IfcSurfaceStyleRendering : IfcSurfaceStyleShading, ObjectHelper<IfcSurfaceStyleRendering,8> { IfcSurfaceStyleRendering() : Object("IfcSurfaceStyleRendering") {}
3644         Maybe< IfcNormalisedRatioMeasure::Out > Transparency;
3645         Maybe< IfcColourOrFactor::Out > DiffuseColour;
3646         Maybe< IfcColourOrFactor::Out > TransmissionColour;
3647         Maybe< IfcColourOrFactor::Out > DiffuseTransmissionColour;
3648         Maybe< IfcColourOrFactor::Out > ReflectionColour;
3649         Maybe< IfcColourOrFactor::Out > SpecularColour;
3650         Maybe< IfcSpecularHighlightSelect::Out > SpecularHighlight;
3651         IfcReflectanceMethodEnum::Out ReflectanceMethod;
3652     };
3653 
3654     // C++ wrapper for IfcSurfaceStyleWithTextures
IfcSurfaceStyleWithTexturesIfcSurfaceStyleWithTextures3655     struct IfcSurfaceStyleWithTextures :  ObjectHelper<IfcSurfaceStyleWithTextures,1> { IfcSurfaceStyleWithTextures() : Object("IfcSurfaceStyleWithTextures") {}
3656         ListOf< Lazy< NotImplemented >, 1, 0 > Textures;
3657     };
3658 
3659     // C++ wrapper for IfcSweptDiskSolid
IfcSweptDiskSolidIfcSweptDiskSolid3660     struct IfcSweptDiskSolid : IfcSolidModel, ObjectHelper<IfcSweptDiskSolid,5> { IfcSweptDiskSolid() : Object("IfcSweptDiskSolid") {}
3661         Lazy< IfcCurve > Directrix;
3662         IfcPositiveLengthMeasure::Out Radius;
3663         Maybe< IfcPositiveLengthMeasure::Out > InnerRadius;
3664         IfcParameterValue::Out StartParam;
3665         IfcParameterValue::Out EndParam;
3666     };
3667 
3668     // C++ wrapper for IfcSwitchingDeviceType
IfcSwitchingDeviceTypeIfcSwitchingDeviceType3669     struct IfcSwitchingDeviceType : IfcFlowControllerType, ObjectHelper<IfcSwitchingDeviceType,1> { IfcSwitchingDeviceType() : Object("IfcSwitchingDeviceType") {}
3670         IfcSwitchingDeviceTypeEnum::Out PredefinedType;
3671     };
3672 
3673     // C++ wrapper for IfcSystemFurnitureElementType
IfcSystemFurnitureElementTypeIfcSystemFurnitureElementType3674     struct IfcSystemFurnitureElementType : IfcFurnishingElementType, ObjectHelper<IfcSystemFurnitureElementType,0> { IfcSystemFurnitureElementType() : Object("IfcSystemFurnitureElementType") {}
3675 
3676     };
3677 
3678     // C++ wrapper for IfcTShapeProfileDef
IfcTShapeProfileDefIfcTShapeProfileDef3679     struct IfcTShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcTShapeProfileDef,10> { IfcTShapeProfileDef() : Object("IfcTShapeProfileDef") {}
3680         IfcPositiveLengthMeasure::Out Depth;
3681         IfcPositiveLengthMeasure::Out FlangeWidth;
3682         IfcPositiveLengthMeasure::Out WebThickness;
3683         IfcPositiveLengthMeasure::Out FlangeThickness;
3684         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3685         Maybe< IfcPositiveLengthMeasure::Out > FlangeEdgeRadius;
3686         Maybe< IfcPositiveLengthMeasure::Out > WebEdgeRadius;
3687         Maybe< IfcPlaneAngleMeasure::Out > WebSlope;
3688         Maybe< IfcPlaneAngleMeasure::Out > FlangeSlope;
3689         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
3690     };
3691 
3692     // C++ wrapper for IfcTankType
IfcTankTypeIfcTankType3693     struct IfcTankType : IfcFlowStorageDeviceType, ObjectHelper<IfcTankType,1> { IfcTankType() : Object("IfcTankType") {}
3694         IfcTankTypeEnum::Out PredefinedType;
3695     };
3696 
3697     // C++ wrapper for IfcTendon
IfcTendonIfcTendon3698     struct IfcTendon : IfcReinforcingElement, ObjectHelper<IfcTendon,8> { IfcTendon() : Object("IfcTendon") {}
3699         IfcTendonTypeEnum::Out PredefinedType;
3700         IfcPositiveLengthMeasure::Out NominalDiameter;
3701         IfcAreaMeasure::Out CrossSectionArea;
3702         Maybe< IfcForceMeasure::Out > TensionForce;
3703         Maybe< IfcPressureMeasure::Out > PreStress;
3704         Maybe< IfcNormalisedRatioMeasure::Out > FrictionCoefficient;
3705         Maybe< IfcPositiveLengthMeasure::Out > AnchorageSlip;
3706         Maybe< IfcPositiveLengthMeasure::Out > MinCurvatureRadius;
3707     };
3708 
3709     // C++ wrapper for IfcTendonAnchor
IfcTendonAnchorIfcTendonAnchor3710     struct IfcTendonAnchor : IfcReinforcingElement, ObjectHelper<IfcTendonAnchor,0> { IfcTendonAnchor() : Object("IfcTendonAnchor") {}
3711 
3712     };
3713 
3714     // C++ wrapper for IfcTextLiteral
IfcTextLiteralIfcTextLiteral3715     struct IfcTextLiteral : IfcGeometricRepresentationItem, ObjectHelper<IfcTextLiteral,3> { IfcTextLiteral() : Object("IfcTextLiteral") {}
3716         IfcPresentableText::Out Literal;
3717         IfcAxis2Placement::Out Placement;
3718         IfcTextPath::Out Path;
3719     };
3720 
3721     // C++ wrapper for IfcTextLiteralWithExtent
IfcTextLiteralWithExtentIfcTextLiteralWithExtent3722     struct IfcTextLiteralWithExtent : IfcTextLiteral, ObjectHelper<IfcTextLiteralWithExtent,2> { IfcTextLiteralWithExtent() : Object("IfcTextLiteralWithExtent") {}
3723         Lazy< IfcPlanarExtent > Extent;
3724         IfcBoxAlignment::Out BoxAlignment;
3725     };
3726 
3727     // C++ wrapper for IfcTimeSeriesSchedule
IfcTimeSeriesScheduleIfcTimeSeriesSchedule3728     struct IfcTimeSeriesSchedule : IfcControl, ObjectHelper<IfcTimeSeriesSchedule,3> { IfcTimeSeriesSchedule() : Object("IfcTimeSeriesSchedule") {}
3729         Maybe< ListOf< IfcDateTimeSelect, 1, 0 >::Out > ApplicableDates;
3730         IfcTimeSeriesScheduleTypeEnum::Out TimeSeriesScheduleType;
3731         Lazy< NotImplemented > TimeSeries;
3732     };
3733 
3734     // C++ wrapper for IfcTopologyRepresentation
IfcTopologyRepresentationIfcTopologyRepresentation3735     struct IfcTopologyRepresentation : IfcShapeModel, ObjectHelper<IfcTopologyRepresentation,0> { IfcTopologyRepresentation() : Object("IfcTopologyRepresentation") {}
3736 
3737     };
3738 
3739     // C++ wrapper for IfcTransformerType
IfcTransformerTypeIfcTransformerType3740     struct IfcTransformerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcTransformerType,1> { IfcTransformerType() : Object("IfcTransformerType") {}
3741         IfcTransformerTypeEnum::Out PredefinedType;
3742     };
3743 
3744     // C++ wrapper for IfcTransportElement
IfcTransportElementIfcTransportElement3745     struct IfcTransportElement : IfcElement, ObjectHelper<IfcTransportElement,3> { IfcTransportElement() : Object("IfcTransportElement") {}
3746         Maybe< IfcTransportElementTypeEnum::Out > OperationType;
3747         Maybe< IfcMassMeasure::Out > CapacityByWeight;
3748         Maybe< IfcCountMeasure::Out > CapacityByNumber;
3749     };
3750 
3751     // C++ wrapper for IfcTransportElementType
IfcTransportElementTypeIfcTransportElementType3752     struct IfcTransportElementType : IfcElementType, ObjectHelper<IfcTransportElementType,1> { IfcTransportElementType() : Object("IfcTransportElementType") {}
3753         IfcTransportElementTypeEnum::Out PredefinedType;
3754     };
3755 
3756     // C++ wrapper for IfcTrapeziumProfileDef
IfcTrapeziumProfileDefIfcTrapeziumProfileDef3757     struct IfcTrapeziumProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcTrapeziumProfileDef,4> { IfcTrapeziumProfileDef() : Object("IfcTrapeziumProfileDef") {}
3758         IfcPositiveLengthMeasure::Out BottomXDim;
3759         IfcPositiveLengthMeasure::Out TopXDim;
3760         IfcPositiveLengthMeasure::Out YDim;
3761         IfcLengthMeasure::Out TopXOffset;
3762     };
3763 
3764     // C++ wrapper for IfcTrimmedCurve
IfcTrimmedCurveIfcTrimmedCurve3765     struct IfcTrimmedCurve : IfcBoundedCurve, ObjectHelper<IfcTrimmedCurve,5> { IfcTrimmedCurve() : Object("IfcTrimmedCurve") {}
3766         Lazy< IfcCurve > BasisCurve;
3767         ListOf< IfcTrimmingSelect, 1, 2 >::Out Trim1;
3768         ListOf< IfcTrimmingSelect, 1, 2 >::Out Trim2;
3769         BOOLEAN::Out SenseAgreement;
3770         IfcTrimmingPreference::Out MasterRepresentation;
3771     };
3772 
3773     // C++ wrapper for IfcTubeBundleType
IfcTubeBundleTypeIfcTubeBundleType3774     struct IfcTubeBundleType : IfcEnergyConversionDeviceType, ObjectHelper<IfcTubeBundleType,1> { IfcTubeBundleType() : Object("IfcTubeBundleType") {}
3775         IfcTubeBundleTypeEnum::Out PredefinedType;
3776     };
3777 
3778     // C++ wrapper for IfcTwoDirectionRepeatFactor
IfcTwoDirectionRepeatFactorIfcTwoDirectionRepeatFactor3779     struct IfcTwoDirectionRepeatFactor : IfcOneDirectionRepeatFactor, ObjectHelper<IfcTwoDirectionRepeatFactor,1> { IfcTwoDirectionRepeatFactor() : Object("IfcTwoDirectionRepeatFactor") {}
3780         Lazy< IfcVector > SecondRepeatFactor;
3781     };
3782 
3783     // C++ wrapper for IfcUShapeProfileDef
IfcUShapeProfileDefIfcUShapeProfileDef3784     struct IfcUShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcUShapeProfileDef,8> { IfcUShapeProfileDef() : Object("IfcUShapeProfileDef") {}
3785         IfcPositiveLengthMeasure::Out Depth;
3786         IfcPositiveLengthMeasure::Out FlangeWidth;
3787         IfcPositiveLengthMeasure::Out WebThickness;
3788         IfcPositiveLengthMeasure::Out FlangeThickness;
3789         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3790         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
3791         Maybe< IfcPlaneAngleMeasure::Out > FlangeSlope;
3792         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
3793     };
3794 
3795     // C++ wrapper for IfcUnitAssignment
IfcUnitAssignmentIfcUnitAssignment3796     struct IfcUnitAssignment :  ObjectHelper<IfcUnitAssignment,1> { IfcUnitAssignment() : Object("IfcUnitAssignment") {}
3797         ListOf< IfcUnit, 1, 0 >::Out Units;
3798     };
3799 
3800     // C++ wrapper for IfcUnitaryEquipmentType
IfcUnitaryEquipmentTypeIfcUnitaryEquipmentType3801     struct IfcUnitaryEquipmentType : IfcEnergyConversionDeviceType, ObjectHelper<IfcUnitaryEquipmentType,1> { IfcUnitaryEquipmentType() : Object("IfcUnitaryEquipmentType") {}
3802         IfcUnitaryEquipmentTypeEnum::Out PredefinedType;
3803     };
3804 
3805     // C++ wrapper for IfcValveType
IfcValveTypeIfcValveType3806     struct IfcValveType : IfcFlowControllerType, ObjectHelper<IfcValveType,1> { IfcValveType() : Object("IfcValveType") {}
3807         IfcValveTypeEnum::Out PredefinedType;
3808     };
3809 
3810     // C++ wrapper for IfcVector
IfcVectorIfcVector3811     struct IfcVector : IfcGeometricRepresentationItem, ObjectHelper<IfcVector,2> { IfcVector() : Object("IfcVector") {}
3812         Lazy< IfcDirection > Orientation;
3813         IfcLengthMeasure::Out Magnitude;
3814     };
3815 
3816     // C++ wrapper for IfcVertex
IfcVertexIfcVertex3817     struct IfcVertex : IfcTopologicalRepresentationItem, ObjectHelper<IfcVertex,0> { IfcVertex() : Object("IfcVertex") {}
3818 
3819     };
3820 
3821     // C++ wrapper for IfcVertexLoop
IfcVertexLoopIfcVertexLoop3822     struct IfcVertexLoop : IfcLoop, ObjectHelper<IfcVertexLoop,1> { IfcVertexLoop() : Object("IfcVertexLoop") {}
3823         Lazy< IfcVertex > LoopVertex;
3824     };
3825 
3826     // C++ wrapper for IfcVertexPoint
IfcVertexPointIfcVertexPoint3827     struct IfcVertexPoint : IfcVertex, ObjectHelper<IfcVertexPoint,1> { IfcVertexPoint() : Object("IfcVertexPoint") {}
3828         Lazy< IfcPoint > VertexGeometry;
3829     };
3830 
3831     // C++ wrapper for IfcVibrationIsolatorType
IfcVibrationIsolatorTypeIfcVibrationIsolatorType3832     struct IfcVibrationIsolatorType : IfcDiscreteAccessoryType, ObjectHelper<IfcVibrationIsolatorType,1> { IfcVibrationIsolatorType() : Object("IfcVibrationIsolatorType") {}
3833         IfcVibrationIsolatorTypeEnum::Out PredefinedType;
3834     };
3835 
3836     // C++ wrapper for IfcVirtualElement
IfcVirtualElementIfcVirtualElement3837     struct IfcVirtualElement : IfcElement, ObjectHelper<IfcVirtualElement,0> { IfcVirtualElement() : Object("IfcVirtualElement") {}
3838 
3839     };
3840 
3841     // C++ wrapper for IfcWall
IfcWallIfcWall3842     struct IfcWall : IfcBuildingElement, ObjectHelper<IfcWall,0> { IfcWall() : Object("IfcWall") {}
3843 
3844     };
3845 
3846     // C++ wrapper for IfcWallStandardCase
IfcWallStandardCaseIfcWallStandardCase3847     struct IfcWallStandardCase : IfcWall, ObjectHelper<IfcWallStandardCase,0> { IfcWallStandardCase() : Object("IfcWallStandardCase") {}
3848 
3849     };
3850 
3851     // C++ wrapper for IfcWallType
IfcWallTypeIfcWallType3852     struct IfcWallType : IfcBuildingElementType, ObjectHelper<IfcWallType,1> { IfcWallType() : Object("IfcWallType") {}
3853         IfcWallTypeEnum::Out PredefinedType;
3854     };
3855 
3856     // C++ wrapper for IfcWasteTerminalType
IfcWasteTerminalTypeIfcWasteTerminalType3857     struct IfcWasteTerminalType : IfcFlowTerminalType, ObjectHelper<IfcWasteTerminalType,1> { IfcWasteTerminalType() : Object("IfcWasteTerminalType") {}
3858         IfcWasteTerminalTypeEnum::Out PredefinedType;
3859     };
3860 
3861     // C++ wrapper for IfcWindow
IfcWindowIfcWindow3862     struct IfcWindow : IfcBuildingElement, ObjectHelper<IfcWindow,2> { IfcWindow() : Object("IfcWindow") {}
3863         Maybe< IfcPositiveLengthMeasure::Out > OverallHeight;
3864         Maybe< IfcPositiveLengthMeasure::Out > OverallWidth;
3865     };
3866 
3867     // C++ wrapper for IfcWindowStyle
IfcWindowStyleIfcWindowStyle3868     struct IfcWindowStyle : IfcTypeProduct, ObjectHelper<IfcWindowStyle,4> { IfcWindowStyle() : Object("IfcWindowStyle") {}
3869         IfcWindowStyleConstructionEnum::Out ConstructionType;
3870         IfcWindowStyleOperationEnum::Out OperationType;
3871         BOOLEAN::Out ParameterTakesPrecedence;
3872         BOOLEAN::Out Sizeable;
3873     };
3874 
3875     // C++ wrapper for IfcWorkControl
IfcWorkControlIfcWorkControl3876     struct IfcWorkControl : IfcControl, ObjectHelper<IfcWorkControl,10> { IfcWorkControl() : Object("IfcWorkControl") {}
3877         IfcIdentifier::Out Identifier;
3878         IfcDateTimeSelect::Out CreationDate;
3879         Maybe< ListOf< Lazy< NotImplemented >, 1, 0 > > Creators;
3880         Maybe< IfcLabel::Out > Purpose;
3881         Maybe< IfcTimeMeasure::Out > Duration;
3882         Maybe< IfcTimeMeasure::Out > TotalFloat;
3883         IfcDateTimeSelect::Out StartTime;
3884         Maybe< IfcDateTimeSelect::Out > FinishTime;
3885         Maybe< IfcWorkControlTypeEnum::Out > WorkControlType;
3886         Maybe< IfcLabel::Out > UserDefinedControlType;
3887     };
3888 
3889     // C++ wrapper for IfcWorkPlan
IfcWorkPlanIfcWorkPlan3890     struct IfcWorkPlan : IfcWorkControl, ObjectHelper<IfcWorkPlan,0> { IfcWorkPlan() : Object("IfcWorkPlan") {}
3891 
3892     };
3893 
3894     // C++ wrapper for IfcWorkSchedule
IfcWorkScheduleIfcWorkSchedule3895     struct IfcWorkSchedule : IfcWorkControl, ObjectHelper<IfcWorkSchedule,0> { IfcWorkSchedule() : Object("IfcWorkSchedule") {}
3896 
3897     };
3898 
3899     // C++ wrapper for IfcZShapeProfileDef
IfcZShapeProfileDefIfcZShapeProfileDef3900     struct IfcZShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcZShapeProfileDef,6> { IfcZShapeProfileDef() : Object("IfcZShapeProfileDef") {}
3901         IfcPositiveLengthMeasure::Out Depth;
3902         IfcPositiveLengthMeasure::Out FlangeWidth;
3903         IfcPositiveLengthMeasure::Out WebThickness;
3904         IfcPositiveLengthMeasure::Out FlangeThickness;
3905         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3906         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
3907     };
3908 
3909     // C++ wrapper for IfcZone
IfcZoneIfcZone3910     struct IfcZone : IfcGroup, ObjectHelper<IfcZone,0> { IfcZone() : Object("IfcZone") {}
3911 
3912     };
3913 
3914     void GetSchema(EXPRESS::ConversionSchema& out);
3915 
3916 } //! IFC
3917 namespace STEP {
3918 
3919     // ******************************************************************************
3920     // Converter stubs
3921     // ******************************************************************************
3922 
3923 #define DECL_CONV_STUB(type) template <> size_t GenericFill<IFC::type>(const STEP::DB& db, const EXPRESS::LIST& params, IFC::type* in)
3924 
3925     DECL_CONV_STUB(IfcRepresentationItem);
3926     DECL_CONV_STUB(IfcGeometricRepresentationItem);
3927     DECL_CONV_STUB(IfcCurve);
3928     DECL_CONV_STUB(IfcBoundedCurve);
3929     DECL_CONV_STUB(IfcCompositeCurve);
3930     DECL_CONV_STUB(Ifc2DCompositeCurve);
3931     DECL_CONV_STUB(IfcRoot);
3932     DECL_CONV_STUB(IfcObjectDefinition);
3933     DECL_CONV_STUB(IfcObject);
3934     DECL_CONV_STUB(IfcControl);
3935     DECL_CONV_STUB(IfcActionRequest);
3936     DECL_CONV_STUB(IfcActor);
3937     DECL_CONV_STUB(IfcTypeObject);
3938     DECL_CONV_STUB(IfcTypeProduct);
3939     DECL_CONV_STUB(IfcElementType);
3940     DECL_CONV_STUB(IfcDistributionElementType);
3941     DECL_CONV_STUB(IfcDistributionControlElementType);
3942     DECL_CONV_STUB(IfcActuatorType);
3943     DECL_CONV_STUB(IfcDistributionFlowElementType);
3944     DECL_CONV_STUB(IfcFlowControllerType);
3945     DECL_CONV_STUB(IfcAirTerminalBoxType);
3946     DECL_CONV_STUB(IfcFlowTerminalType);
3947     DECL_CONV_STUB(IfcAirTerminalType);
3948     DECL_CONV_STUB(IfcEnergyConversionDeviceType);
3949     DECL_CONV_STUB(IfcAirToAirHeatRecoveryType);
3950     DECL_CONV_STUB(IfcAlarmType);
3951     DECL_CONV_STUB(IfcDraughtingCallout);
3952     DECL_CONV_STUB(IfcDimensionCurveDirectedCallout);
3953     DECL_CONV_STUB(IfcAngularDimension);
3954     DECL_CONV_STUB(IfcProduct);
3955     DECL_CONV_STUB(IfcAnnotation);
3956     DECL_CONV_STUB(IfcStyledItem);
3957     DECL_CONV_STUB(IfcAnnotationOccurrence);
3958     DECL_CONV_STUB(IfcAnnotationCurveOccurrence);
3959     DECL_CONV_STUB(IfcAnnotationFillArea);
3960     DECL_CONV_STUB(IfcAnnotationFillAreaOccurrence);
3961     DECL_CONV_STUB(IfcAnnotationSurface);
3962     DECL_CONV_STUB(IfcAnnotationSurfaceOccurrence);
3963     DECL_CONV_STUB(IfcAnnotationSymbolOccurrence);
3964     DECL_CONV_STUB(IfcAnnotationTextOccurrence);
3965     DECL_CONV_STUB(IfcProfileDef);
3966     DECL_CONV_STUB(IfcArbitraryClosedProfileDef);
3967     DECL_CONV_STUB(IfcArbitraryOpenProfileDef);
3968     DECL_CONV_STUB(IfcArbitraryProfileDefWithVoids);
3969     DECL_CONV_STUB(IfcGroup);
3970     DECL_CONV_STUB(IfcAsset);
3971     DECL_CONV_STUB(IfcParameterizedProfileDef);
3972     DECL_CONV_STUB(IfcIShapeProfileDef);
3973     DECL_CONV_STUB(IfcAsymmetricIShapeProfileDef);
3974     DECL_CONV_STUB(IfcPlacement);
3975     DECL_CONV_STUB(IfcAxis1Placement);
3976     DECL_CONV_STUB(IfcAxis2Placement2D);
3977     DECL_CONV_STUB(IfcAxis2Placement3D);
3978     DECL_CONV_STUB(IfcBSplineCurve);
3979     DECL_CONV_STUB(IfcElement);
3980     DECL_CONV_STUB(IfcBuildingElement);
3981     DECL_CONV_STUB(IfcBeam);
3982     DECL_CONV_STUB(IfcBuildingElementType);
3983     DECL_CONV_STUB(IfcBeamType);
3984     DECL_CONV_STUB(IfcBezierCurve);
3985     DECL_CONV_STUB(IfcCsgPrimitive3D);
3986     DECL_CONV_STUB(IfcBlock);
3987     DECL_CONV_STUB(IfcBoilerType);
3988     DECL_CONV_STUB(IfcBooleanResult);
3989     DECL_CONV_STUB(IfcBooleanClippingResult);
3990     DECL_CONV_STUB(IfcSurface);
3991     DECL_CONV_STUB(IfcBoundedSurface);
3992     DECL_CONV_STUB(IfcBoundingBox);
3993     DECL_CONV_STUB(IfcHalfSpaceSolid);
3994     DECL_CONV_STUB(IfcBoxedHalfSpace);
3995     DECL_CONV_STUB(IfcSpatialStructureElement);
3996     DECL_CONV_STUB(IfcBuilding);
3997     DECL_CONV_STUB(IfcBuildingElementComponent);
3998     DECL_CONV_STUB(IfcBuildingElementPart);
3999     DECL_CONV_STUB(IfcBuildingElementProxy);
4000     DECL_CONV_STUB(IfcBuildingElementProxyType);
4001     DECL_CONV_STUB(IfcBuildingStorey);
4002     DECL_CONV_STUB(IfcCShapeProfileDef);
4003     DECL_CONV_STUB(IfcFlowFittingType);
4004     DECL_CONV_STUB(IfcCableCarrierFittingType);
4005     DECL_CONV_STUB(IfcFlowSegmentType);
4006     DECL_CONV_STUB(IfcCableCarrierSegmentType);
4007     DECL_CONV_STUB(IfcCableSegmentType);
4008     DECL_CONV_STUB(IfcPoint);
4009     DECL_CONV_STUB(IfcCartesianPoint);
4010     DECL_CONV_STUB(IfcCartesianTransformationOperator);
4011     DECL_CONV_STUB(IfcCartesianTransformationOperator2D);
4012     DECL_CONV_STUB(IfcCartesianTransformationOperator2DnonUniform);
4013     DECL_CONV_STUB(IfcCartesianTransformationOperator3D);
4014     DECL_CONV_STUB(IfcCartesianTransformationOperator3DnonUniform);
4015     DECL_CONV_STUB(IfcCenterLineProfileDef);
4016     DECL_CONV_STUB(IfcFeatureElement);
4017     DECL_CONV_STUB(IfcFeatureElementSubtraction);
4018     DECL_CONV_STUB(IfcEdgeFeature);
4019     DECL_CONV_STUB(IfcChamferEdgeFeature);
4020     DECL_CONV_STUB(IfcChillerType);
4021     DECL_CONV_STUB(IfcConic);
4022     DECL_CONV_STUB(IfcCircle);
4023     DECL_CONV_STUB(IfcCircleProfileDef);
4024     DECL_CONV_STUB(IfcCircleHollowProfileDef);
4025     DECL_CONV_STUB(IfcTopologicalRepresentationItem);
4026     DECL_CONV_STUB(IfcConnectedFaceSet);
4027     DECL_CONV_STUB(IfcClosedShell);
4028     DECL_CONV_STUB(IfcCoilType);
4029     DECL_CONV_STUB(IfcColourSpecification);
4030     DECL_CONV_STUB(IfcColourRgb);
4031     DECL_CONV_STUB(IfcColumn);
4032     DECL_CONV_STUB(IfcColumnType);
4033     DECL_CONV_STUB(IfcProperty);
4034     DECL_CONV_STUB(IfcComplexProperty);
4035     DECL_CONV_STUB(IfcCompositeCurveSegment);
4036     DECL_CONV_STUB(IfcCompositeProfileDef);
4037     DECL_CONV_STUB(IfcFlowMovingDeviceType);
4038     DECL_CONV_STUB(IfcCompressorType);
4039     DECL_CONV_STUB(IfcCondenserType);
4040     DECL_CONV_STUB(IfcCondition);
4041     DECL_CONV_STUB(IfcConditionCriterion);
4042     DECL_CONV_STUB(IfcResource);
4043     DECL_CONV_STUB(IfcConstructionResource);
4044     DECL_CONV_STUB(IfcConstructionEquipmentResource);
4045     DECL_CONV_STUB(IfcConstructionMaterialResource);
4046     DECL_CONV_STUB(IfcConstructionProductResource);
4047     DECL_CONV_STUB(IfcNamedUnit);
4048     DECL_CONV_STUB(IfcContextDependentUnit);
4049     DECL_CONV_STUB(IfcControllerType);
4050     DECL_CONV_STUB(IfcConversionBasedUnit);
4051     DECL_CONV_STUB(IfcCooledBeamType);
4052     DECL_CONV_STUB(IfcCoolingTowerType);
4053     DECL_CONV_STUB(IfcCostItem);
4054     DECL_CONV_STUB(IfcCostSchedule);
4055     DECL_CONV_STUB(IfcCovering);
4056     DECL_CONV_STUB(IfcCoveringType);
4057     DECL_CONV_STUB(IfcCraneRailAShapeProfileDef);
4058     DECL_CONV_STUB(IfcCraneRailFShapeProfileDef);
4059     DECL_CONV_STUB(IfcCrewResource);
4060     DECL_CONV_STUB(IfcSolidModel);
4061     DECL_CONV_STUB(IfcCsgSolid);
4062     DECL_CONV_STUB(IfcCurtainWall);
4063     DECL_CONV_STUB(IfcCurtainWallType);
4064     DECL_CONV_STUB(IfcCurveBoundedPlane);
4065     DECL_CONV_STUB(IfcPresentationStyle);
4066     DECL_CONV_STUB(IfcDamperType);
4067     DECL_CONV_STUB(IfcDefinedSymbol);
4068     DECL_CONV_STUB(IfcDerivedProfileDef);
4069     DECL_CONV_STUB(IfcDiameterDimension);
4070     DECL_CONV_STUB(IfcDimensionCurve);
4071     DECL_CONV_STUB(IfcTerminatorSymbol);
4072     DECL_CONV_STUB(IfcDimensionCurveTerminator);
4073     DECL_CONV_STUB(IfcDirection);
4074     DECL_CONV_STUB(IfcElementComponent);
4075     DECL_CONV_STUB(IfcDiscreteAccessory);
4076     DECL_CONV_STUB(IfcElementComponentType);
4077     DECL_CONV_STUB(IfcDiscreteAccessoryType);
4078     DECL_CONV_STUB(IfcDistributionElement);
4079     DECL_CONV_STUB(IfcDistributionFlowElement);
4080     DECL_CONV_STUB(IfcDistributionChamberElement);
4081     DECL_CONV_STUB(IfcDistributionChamberElementType);
4082     DECL_CONV_STUB(IfcDistributionControlElement);
4083     DECL_CONV_STUB(IfcPort);
4084     DECL_CONV_STUB(IfcDistributionPort);
4085     DECL_CONV_STUB(IfcDoor);
4086     DECL_CONV_STUB(IfcPropertyDefinition);
4087     DECL_CONV_STUB(IfcPropertySetDefinition);
4088     DECL_CONV_STUB(IfcDoorStyle);
4089     DECL_CONV_STUB(IfcDuctFittingType);
4090     DECL_CONV_STUB(IfcDuctSegmentType);
4091     DECL_CONV_STUB(IfcFlowTreatmentDeviceType);
4092     DECL_CONV_STUB(IfcDuctSilencerType);
4093     DECL_CONV_STUB(IfcEdge);
4094     DECL_CONV_STUB(IfcEdgeCurve);
4095     DECL_CONV_STUB(IfcLoop);
4096     DECL_CONV_STUB(IfcEdgeLoop);
4097     DECL_CONV_STUB(IfcElectricApplianceType);
4098     DECL_CONV_STUB(IfcFlowController);
4099     DECL_CONV_STUB(IfcElectricDistributionPoint);
4100     DECL_CONV_STUB(IfcFlowStorageDeviceType);
4101     DECL_CONV_STUB(IfcElectricFlowStorageDeviceType);
4102     DECL_CONV_STUB(IfcElectricGeneratorType);
4103     DECL_CONV_STUB(IfcElectricHeaterType);
4104     DECL_CONV_STUB(IfcElectricMotorType);
4105     DECL_CONV_STUB(IfcElectricTimeControlType);
4106     DECL_CONV_STUB(IfcSystem);
4107     DECL_CONV_STUB(IfcElectricalCircuit);
4108     DECL_CONV_STUB(IfcElectricalElement);
4109     DECL_CONV_STUB(IfcElementAssembly);
4110     DECL_CONV_STUB(IfcElementQuantity);
4111     DECL_CONV_STUB(IfcElementarySurface);
4112     DECL_CONV_STUB(IfcEllipse);
4113     DECL_CONV_STUB(IfcEllipseProfileDef);
4114     DECL_CONV_STUB(IfcEnergyConversionDevice);
4115     DECL_CONV_STUB(IfcEquipmentElement);
4116     DECL_CONV_STUB(IfcEquipmentStandard);
4117     DECL_CONV_STUB(IfcEvaporativeCoolerType);
4118     DECL_CONV_STUB(IfcEvaporatorType);
4119     DECL_CONV_STUB(IfcSweptAreaSolid);
4120     DECL_CONV_STUB(IfcExtrudedAreaSolid);
4121     DECL_CONV_STUB(IfcFace);
4122     DECL_CONV_STUB(IfcFaceBasedSurfaceModel);
4123     DECL_CONV_STUB(IfcFaceBound);
4124     DECL_CONV_STUB(IfcFaceOuterBound);
4125     DECL_CONV_STUB(IfcFaceSurface);
4126     DECL_CONV_STUB(IfcManifoldSolidBrep);
4127     DECL_CONV_STUB(IfcFacetedBrep);
4128     DECL_CONV_STUB(IfcFacetedBrepWithVoids);
4129     DECL_CONV_STUB(IfcFanType);
4130     DECL_CONV_STUB(IfcFastener);
4131     DECL_CONV_STUB(IfcFastenerType);
4132     DECL_CONV_STUB(IfcFeatureElementAddition);
4133     DECL_CONV_STUB(IfcFillAreaStyleHatching);
4134     DECL_CONV_STUB(IfcFillAreaStyleTileSymbolWithStyle);
4135     DECL_CONV_STUB(IfcFillAreaStyleTiles);
4136     DECL_CONV_STUB(IfcFilterType);
4137     DECL_CONV_STUB(IfcFireSuppressionTerminalType);
4138     DECL_CONV_STUB(IfcFlowFitting);
4139     DECL_CONV_STUB(IfcFlowInstrumentType);
4140     DECL_CONV_STUB(IfcFlowMeterType);
4141     DECL_CONV_STUB(IfcFlowMovingDevice);
4142     DECL_CONV_STUB(IfcFlowSegment);
4143     DECL_CONV_STUB(IfcFlowStorageDevice);
4144     DECL_CONV_STUB(IfcFlowTerminal);
4145     DECL_CONV_STUB(IfcFlowTreatmentDevice);
4146     DECL_CONV_STUB(IfcFooting);
4147     DECL_CONV_STUB(IfcFurnishingElement);
4148     DECL_CONV_STUB(IfcFurnishingElementType);
4149     DECL_CONV_STUB(IfcFurnitureStandard);
4150     DECL_CONV_STUB(IfcFurnitureType);
4151     DECL_CONV_STUB(IfcGasTerminalType);
4152     DECL_CONV_STUB(IfcGeometricSet);
4153     DECL_CONV_STUB(IfcGeometricCurveSet);
4154     DECL_CONV_STUB(IfcRepresentationContext);
4155     DECL_CONV_STUB(IfcGeometricRepresentationContext);
4156     DECL_CONV_STUB(IfcGeometricRepresentationSubContext);
4157     DECL_CONV_STUB(IfcGrid);
4158     DECL_CONV_STUB(IfcObjectPlacement);
4159     DECL_CONV_STUB(IfcGridPlacement);
4160     DECL_CONV_STUB(IfcHeatExchangerType);
4161     DECL_CONV_STUB(IfcHumidifierType);
4162     DECL_CONV_STUB(IfcInventory);
4163     DECL_CONV_STUB(IfcJunctionBoxType);
4164     DECL_CONV_STUB(IfcLShapeProfileDef);
4165     DECL_CONV_STUB(IfcLaborResource);
4166     DECL_CONV_STUB(IfcLampType);
4167     DECL_CONV_STUB(IfcLightFixtureType);
4168     DECL_CONV_STUB(IfcLightSource);
4169     DECL_CONV_STUB(IfcLightSourceAmbient);
4170     DECL_CONV_STUB(IfcLightSourceDirectional);
4171     DECL_CONV_STUB(IfcLightSourceGoniometric);
4172     DECL_CONV_STUB(IfcLightSourcePositional);
4173     DECL_CONV_STUB(IfcLightSourceSpot);
4174     DECL_CONV_STUB(IfcLine);
4175     DECL_CONV_STUB(IfcLinearDimension);
4176     DECL_CONV_STUB(IfcLocalPlacement);
4177     DECL_CONV_STUB(IfcMappedItem);
4178     DECL_CONV_STUB(IfcProductRepresentation);
4179     DECL_CONV_STUB(IfcMaterialDefinitionRepresentation);
4180     DECL_CONV_STUB(IfcMeasureWithUnit);
4181     DECL_CONV_STUB(IfcMechanicalFastener);
4182     DECL_CONV_STUB(IfcMechanicalFastenerType);
4183     DECL_CONV_STUB(IfcMember);
4184     DECL_CONV_STUB(IfcMemberType);
4185     DECL_CONV_STUB(IfcMotorConnectionType);
4186     DECL_CONV_STUB(IfcProcess);
4187     DECL_CONV_STUB(IfcTask);
4188     DECL_CONV_STUB(IfcMove);
4189     DECL_CONV_STUB(IfcOccupant);
4190     DECL_CONV_STUB(IfcOffsetCurve2D);
4191     DECL_CONV_STUB(IfcOffsetCurve3D);
4192     DECL_CONV_STUB(IfcOneDirectionRepeatFactor);
4193     DECL_CONV_STUB(IfcOpenShell);
4194     DECL_CONV_STUB(IfcOpeningElement);
4195     DECL_CONV_STUB(IfcOrderAction);
4196     DECL_CONV_STUB(IfcOrientedEdge);
4197     DECL_CONV_STUB(IfcOutletType);
4198     DECL_CONV_STUB(IfcPath);
4199     DECL_CONV_STUB(IfcPerformanceHistory);
4200     DECL_CONV_STUB(IfcPermit);
4201     DECL_CONV_STUB(IfcPile);
4202     DECL_CONV_STUB(IfcPipeFittingType);
4203     DECL_CONV_STUB(IfcPipeSegmentType);
4204     DECL_CONV_STUB(IfcPlanarExtent);
4205     DECL_CONV_STUB(IfcPlanarBox);
4206     DECL_CONV_STUB(IfcPlane);
4207     DECL_CONV_STUB(IfcPlate);
4208     DECL_CONV_STUB(IfcPlateType);
4209     DECL_CONV_STUB(IfcPointOnCurve);
4210     DECL_CONV_STUB(IfcPointOnSurface);
4211     DECL_CONV_STUB(IfcPolyLoop);
4212     DECL_CONV_STUB(IfcPolygonalBoundedHalfSpace);
4213     DECL_CONV_STUB(IfcPolyline);
4214     DECL_CONV_STUB(IfcPresentationStyleAssignment);
4215     DECL_CONV_STUB(IfcProcedure);
4216     DECL_CONV_STUB(IfcProductDefinitionShape);
4217     DECL_CONV_STUB(IfcProject);
4218     DECL_CONV_STUB(IfcProjectOrder);
4219     DECL_CONV_STUB(IfcProjectOrderRecord);
4220     DECL_CONV_STUB(IfcProjectionCurve);
4221     DECL_CONV_STUB(IfcProjectionElement);
4222     DECL_CONV_STUB(IfcSimpleProperty);
4223     DECL_CONV_STUB(IfcPropertyBoundedValue);
4224     DECL_CONV_STUB(IfcPropertyEnumeratedValue);
4225     DECL_CONV_STUB(IfcPropertyListValue);
4226     DECL_CONV_STUB(IfcPropertyReferenceValue);
4227     DECL_CONV_STUB(IfcPropertySet);
4228     DECL_CONV_STUB(IfcPropertySingleValue);
4229     DECL_CONV_STUB(IfcPropertyTableValue);
4230     DECL_CONV_STUB(IfcProtectiveDeviceType);
4231     DECL_CONV_STUB(IfcProxy);
4232     DECL_CONV_STUB(IfcPumpType);
4233     DECL_CONV_STUB(IfcRadiusDimension);
4234     DECL_CONV_STUB(IfcRailing);
4235     DECL_CONV_STUB(IfcRailingType);
4236     DECL_CONV_STUB(IfcRamp);
4237     DECL_CONV_STUB(IfcRampFlight);
4238     DECL_CONV_STUB(IfcRampFlightType);
4239     DECL_CONV_STUB(IfcRationalBezierCurve);
4240     DECL_CONV_STUB(IfcRectangleProfileDef);
4241     DECL_CONV_STUB(IfcRectangleHollowProfileDef);
4242     DECL_CONV_STUB(IfcRectangularPyramid);
4243     DECL_CONV_STUB(IfcRectangularTrimmedSurface);
4244     DECL_CONV_STUB(IfcReinforcingElement);
4245     DECL_CONV_STUB(IfcReinforcingBar);
4246     DECL_CONV_STUB(IfcReinforcingMesh);
4247     DECL_CONV_STUB(IfcRelationship);
4248     DECL_CONV_STUB(IfcRelDecomposes);
4249     DECL_CONV_STUB(IfcRelAggregates);
4250     DECL_CONV_STUB(IfcRelConnects);
4251     DECL_CONV_STUB(IfcRelContainedInSpatialStructure);
4252     DECL_CONV_STUB(IfcRelDefines);
4253     DECL_CONV_STUB(IfcRelDefinesByProperties);
4254     DECL_CONV_STUB(IfcRelFillsElement);
4255     DECL_CONV_STUB(IfcRelOverridesProperties);
4256     DECL_CONV_STUB(IfcRelVoidsElement);
4257     DECL_CONV_STUB(IfcRepresentation);
4258     DECL_CONV_STUB(IfcRepresentationMap);
4259     DECL_CONV_STUB(IfcRevolvedAreaSolid);
4260     DECL_CONV_STUB(IfcRightCircularCone);
4261     DECL_CONV_STUB(IfcRightCircularCylinder);
4262     DECL_CONV_STUB(IfcRoof);
4263     DECL_CONV_STUB(IfcRoundedEdgeFeature);
4264     DECL_CONV_STUB(IfcRoundedRectangleProfileDef);
4265     DECL_CONV_STUB(IfcSIUnit);
4266     DECL_CONV_STUB(IfcSanitaryTerminalType);
4267     DECL_CONV_STUB(IfcScheduleTimeControl);
4268     DECL_CONV_STUB(IfcSectionedSpine);
4269     DECL_CONV_STUB(IfcSensorType);
4270     DECL_CONV_STUB(IfcServiceLife);
4271     DECL_CONV_STUB(IfcShapeModel);
4272     DECL_CONV_STUB(IfcShapeRepresentation);
4273     DECL_CONV_STUB(IfcShellBasedSurfaceModel);
4274     DECL_CONV_STUB(IfcSite);
4275     DECL_CONV_STUB(IfcSlab);
4276     DECL_CONV_STUB(IfcSlabType);
4277     DECL_CONV_STUB(IfcSpace);
4278     DECL_CONV_STUB(IfcSpaceHeaterType);
4279     DECL_CONV_STUB(IfcSpaceProgram);
4280     DECL_CONV_STUB(IfcSpatialStructureElementType);
4281     DECL_CONV_STUB(IfcSpaceType);
4282     DECL_CONV_STUB(IfcSphere);
4283     DECL_CONV_STUB(IfcStackTerminalType);
4284     DECL_CONV_STUB(IfcStair);
4285     DECL_CONV_STUB(IfcStairFlight);
4286     DECL_CONV_STUB(IfcStairFlightType);
4287     DECL_CONV_STUB(IfcStructuralActivity);
4288     DECL_CONV_STUB(IfcStructuralAction);
4289     DECL_CONV_STUB(IfcStructuralAnalysisModel);
4290     DECL_CONV_STUB(IfcStructuralItem);
4291     DECL_CONV_STUB(IfcStructuralConnection);
4292     DECL_CONV_STUB(IfcStructuralCurveConnection);
4293     DECL_CONV_STUB(IfcStructuralMember);
4294     DECL_CONV_STUB(IfcStructuralCurveMember);
4295     DECL_CONV_STUB(IfcStructuralCurveMemberVarying);
4296     DECL_CONV_STUB(IfcStructuralLinearAction);
4297     DECL_CONV_STUB(IfcStructuralLinearActionVarying);
4298     DECL_CONV_STUB(IfcStructuralLoadGroup);
4299     DECL_CONV_STUB(IfcStructuralPlanarAction);
4300     DECL_CONV_STUB(IfcStructuralPlanarActionVarying);
4301     DECL_CONV_STUB(IfcStructuralPointAction);
4302     DECL_CONV_STUB(IfcStructuralPointConnection);
4303     DECL_CONV_STUB(IfcStructuralReaction);
4304     DECL_CONV_STUB(IfcStructuralPointReaction);
4305     DECL_CONV_STUB(IfcStructuralResultGroup);
4306     DECL_CONV_STUB(IfcStructuralSurfaceConnection);
4307     DECL_CONV_STUB(IfcStructuralSurfaceMember);
4308     DECL_CONV_STUB(IfcStructuralSurfaceMemberVarying);
4309     DECL_CONV_STUB(IfcStructuredDimensionCallout);
4310     DECL_CONV_STUB(IfcStyleModel);
4311     DECL_CONV_STUB(IfcStyledRepresentation);
4312     DECL_CONV_STUB(IfcSubContractResource);
4313     DECL_CONV_STUB(IfcSubedge);
4314     DECL_CONV_STUB(IfcSurfaceCurveSweptAreaSolid);
4315     DECL_CONV_STUB(IfcSweptSurface);
4316     DECL_CONV_STUB(IfcSurfaceOfLinearExtrusion);
4317     DECL_CONV_STUB(IfcSurfaceOfRevolution);
4318     DECL_CONV_STUB(IfcSurfaceStyle);
4319     DECL_CONV_STUB(IfcSurfaceStyleShading);
4320     DECL_CONV_STUB(IfcSurfaceStyleRendering);
4321     DECL_CONV_STUB(IfcSurfaceStyleWithTextures);
4322     DECL_CONV_STUB(IfcSweptDiskSolid);
4323     DECL_CONV_STUB(IfcSwitchingDeviceType);
4324     DECL_CONV_STUB(IfcSystemFurnitureElementType);
4325     DECL_CONV_STUB(IfcTShapeProfileDef);
4326     DECL_CONV_STUB(IfcTankType);
4327     DECL_CONV_STUB(IfcTendon);
4328     DECL_CONV_STUB(IfcTendonAnchor);
4329     DECL_CONV_STUB(IfcTextLiteral);
4330     DECL_CONV_STUB(IfcTextLiteralWithExtent);
4331     DECL_CONV_STUB(IfcTimeSeriesSchedule);
4332     DECL_CONV_STUB(IfcTopologyRepresentation);
4333     DECL_CONV_STUB(IfcTransformerType);
4334     DECL_CONV_STUB(IfcTransportElement);
4335     DECL_CONV_STUB(IfcTransportElementType);
4336     DECL_CONV_STUB(IfcTrapeziumProfileDef);
4337     DECL_CONV_STUB(IfcTrimmedCurve);
4338     DECL_CONV_STUB(IfcTubeBundleType);
4339     DECL_CONV_STUB(IfcTwoDirectionRepeatFactor);
4340     DECL_CONV_STUB(IfcUShapeProfileDef);
4341     DECL_CONV_STUB(IfcUnitAssignment);
4342     DECL_CONV_STUB(IfcUnitaryEquipmentType);
4343     DECL_CONV_STUB(IfcValveType);
4344     DECL_CONV_STUB(IfcVector);
4345     DECL_CONV_STUB(IfcVertex);
4346     DECL_CONV_STUB(IfcVertexLoop);
4347     DECL_CONV_STUB(IfcVertexPoint);
4348     DECL_CONV_STUB(IfcVibrationIsolatorType);
4349     DECL_CONV_STUB(IfcVirtualElement);
4350     DECL_CONV_STUB(IfcWall);
4351     DECL_CONV_STUB(IfcWallStandardCase);
4352     DECL_CONV_STUB(IfcWallType);
4353     DECL_CONV_STUB(IfcWasteTerminalType);
4354     DECL_CONV_STUB(IfcWindow);
4355     DECL_CONV_STUB(IfcWindowStyle);
4356     DECL_CONV_STUB(IfcWorkControl);
4357     DECL_CONV_STUB(IfcWorkPlan);
4358     DECL_CONV_STUB(IfcWorkSchedule);
4359     DECL_CONV_STUB(IfcZShapeProfileDef);
4360     DECL_CONV_STUB(IfcZone);
4361 
4362 
4363 #undef DECL_CONV_STUB
4364 
4365 } //! STEP
4366 } //! Assimp
4367 
4368 #endif // INCLUDED_IFC_READER_GEN_H
4369