1 /*
2 Open Asset Import Library (ASSIMP)
3 ----------------------------------------------------------------------
4 
5 Copyright (c) 2006-2020, 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 "AssetLib/Step/STEPFile.h"
47 
48 #ifdef _MSC_VER
49 #    pragma warning(push)
50 #    pragma warning( disable : 4512 )
51 #endif // _MSC_VER
52 
53 namespace Assimp {
54 namespace IFC {
55     namespace Schema_2x3 {
56 
57     using namespace STEP;
58     using namespace STEP::EXPRESS;
59 
60 
61     struct NotImplemented : public ObjectHelper<NotImplemented,0> {
62 
63     };
64 
65 
66     // ******************************************************************************
67     // IFC Custom data types
68     // ******************************************************************************
69 
70 
71     // C++ wrapper type for IfcAbsorbedDoseMeasure
72     typedef REAL IfcAbsorbedDoseMeasure;
73     // C++ wrapper type for IfcAccelerationMeasure
74     typedef REAL IfcAccelerationMeasure;
75     // C++ wrapper type for IfcAmountOfSubstanceMeasure
76     typedef REAL IfcAmountOfSubstanceMeasure;
77     // C++ wrapper type for IfcAngularVelocityMeasure
78     typedef REAL IfcAngularVelocityMeasure;
79     // C++ wrapper type for IfcAreaMeasure
80     typedef REAL IfcAreaMeasure;
81     // C++ wrapper type for IfcBoolean
82     typedef BOOLEAN IfcBoolean;
83     // C++ wrapper type for IfcBoxAlignment
84     typedef STRING IfcBoxAlignment;
85     // C++ wrapper type for IfcCompoundPlaneAngleMeasure
86     typedef ListOf< INTEGER, 3, 3 > IfcCompoundPlaneAngleMeasure;
87     // C++ wrapper type for IfcContextDependentMeasure
88     typedef REAL IfcContextDependentMeasure;
89     // C++ wrapper type for IfcCountMeasure
90     typedef NUMBER IfcCountMeasure;
91     // C++ wrapper type for IfcCurvatureMeasure
92     typedef REAL IfcCurvatureMeasure;
93     // C++ wrapper type for IfcDayInMonthNumber
94     typedef INTEGER IfcDayInMonthNumber;
95     // C++ wrapper type for IfcDaylightSavingHour
96     typedef INTEGER IfcDaylightSavingHour;
97     // C++ wrapper type for IfcDescriptiveMeasure
98     typedef STRING IfcDescriptiveMeasure;
99     // C++ wrapper type for IfcDimensionCount
100     typedef INTEGER IfcDimensionCount;
101     // C++ wrapper type for IfcDoseEquivalentMeasure
102     typedef REAL IfcDoseEquivalentMeasure;
103     // C++ wrapper type for IfcDynamicViscosityMeasure
104     typedef REAL IfcDynamicViscosityMeasure;
105     // C++ wrapper type for IfcElectricCapacitanceMeasure
106     typedef REAL IfcElectricCapacitanceMeasure;
107     // C++ wrapper type for IfcElectricChargeMeasure
108     typedef REAL IfcElectricChargeMeasure;
109     // C++ wrapper type for IfcElectricConductanceMeasure
110     typedef REAL IfcElectricConductanceMeasure;
111     // C++ wrapper type for IfcElectricCurrentMeasure
112     typedef REAL IfcElectricCurrentMeasure;
113     // C++ wrapper type for IfcElectricResistanceMeasure
114     typedef REAL IfcElectricResistanceMeasure;
115     // C++ wrapper type for IfcElectricVoltageMeasure
116     typedef REAL IfcElectricVoltageMeasure;
117     // C++ wrapper type for IfcEnergyMeasure
118     typedef REAL IfcEnergyMeasure;
119     // C++ wrapper type for IfcFontStyle
120     typedef STRING IfcFontStyle;
121     // C++ wrapper type for IfcFontVariant
122     typedef STRING IfcFontVariant;
123     // C++ wrapper type for IfcFontWeight
124     typedef STRING IfcFontWeight;
125     // C++ wrapper type for IfcForceMeasure
126     typedef REAL IfcForceMeasure;
127     // C++ wrapper type for IfcFrequencyMeasure
128     typedef REAL IfcFrequencyMeasure;
129     // C++ wrapper type for IfcGloballyUniqueId
130     typedef STRING IfcGloballyUniqueId;
131     // C++ wrapper type for IfcHeatFluxDensityMeasure
132     typedef REAL IfcHeatFluxDensityMeasure;
133     // C++ wrapper type for IfcHeatingValueMeasure
134     typedef REAL IfcHeatingValueMeasure;
135     // C++ wrapper type for IfcHourInDay
136     typedef INTEGER IfcHourInDay;
137     // C++ wrapper type for IfcIdentifier
138     typedef STRING IfcIdentifier;
139     // C++ wrapper type for IfcIlluminanceMeasure
140     typedef REAL IfcIlluminanceMeasure;
141     // C++ wrapper type for IfcInductanceMeasure
142     typedef REAL IfcInductanceMeasure;
143     // C++ wrapper type for IfcInteger
144     typedef INTEGER IfcInteger;
145     // C++ wrapper type for IfcIntegerCountRateMeasure
146     typedef INTEGER IfcIntegerCountRateMeasure;
147     // C++ wrapper type for IfcIonConcentrationMeasure
148     typedef REAL IfcIonConcentrationMeasure;
149     // C++ wrapper type for IfcIsothermalMoistureCapacityMeasure
150     typedef REAL IfcIsothermalMoistureCapacityMeasure;
151     // C++ wrapper type for IfcKinematicViscosityMeasure
152     typedef REAL IfcKinematicViscosityMeasure;
153     // C++ wrapper type for IfcLabel
154     typedef STRING IfcLabel;
155     // C++ wrapper type for IfcLengthMeasure
156     typedef REAL IfcLengthMeasure;
157     // C++ wrapper type for IfcLinearForceMeasure
158     typedef REAL IfcLinearForceMeasure;
159     // C++ wrapper type for IfcLinearMomentMeasure
160     typedef REAL IfcLinearMomentMeasure;
161     // C++ wrapper type for IfcLinearStiffnessMeasure
162     typedef REAL IfcLinearStiffnessMeasure;
163     // C++ wrapper type for IfcLinearVelocityMeasure
164     typedef REAL IfcLinearVelocityMeasure;
165     // C++ wrapper type for IfcLogical
166     typedef LOGICAL IfcLogical;
167     // C++ wrapper type for IfcLuminousFluxMeasure
168     typedef REAL IfcLuminousFluxMeasure;
169     // C++ wrapper type for IfcLuminousIntensityDistributionMeasure
170     typedef REAL IfcLuminousIntensityDistributionMeasure;
171     // C++ wrapper type for IfcLuminousIntensityMeasure
172     typedef REAL IfcLuminousIntensityMeasure;
173     // C++ wrapper type for IfcMagneticFluxDensityMeasure
174     typedef REAL IfcMagneticFluxDensityMeasure;
175     // C++ wrapper type for IfcMagneticFluxMeasure
176     typedef REAL IfcMagneticFluxMeasure;
177     // C++ wrapper type for IfcMassDensityMeasure
178     typedef REAL IfcMassDensityMeasure;
179     // C++ wrapper type for IfcMassFlowRateMeasure
180     typedef REAL IfcMassFlowRateMeasure;
181     // C++ wrapper type for IfcMassMeasure
182     typedef REAL IfcMassMeasure;
183     // C++ wrapper type for IfcMassPerLengthMeasure
184     typedef REAL IfcMassPerLengthMeasure;
185     // C++ wrapper type for IfcMinuteInHour
186     typedef INTEGER IfcMinuteInHour;
187     // C++ wrapper type for IfcModulusOfElasticityMeasure
188     typedef REAL IfcModulusOfElasticityMeasure;
189     // C++ wrapper type for IfcModulusOfLinearSubgradeReactionMeasure
190     typedef REAL IfcModulusOfLinearSubgradeReactionMeasure;
191     // C++ wrapper type for IfcModulusOfRotationalSubgradeReactionMeasure
192     typedef REAL IfcModulusOfRotationalSubgradeReactionMeasure;
193     // C++ wrapper type for IfcModulusOfSubgradeReactionMeasure
194     typedef REAL IfcModulusOfSubgradeReactionMeasure;
195     // C++ wrapper type for IfcMoistureDiffusivityMeasure
196     typedef REAL IfcMoistureDiffusivityMeasure;
197     // C++ wrapper type for IfcMolecularWeightMeasure
198     typedef REAL IfcMolecularWeightMeasure;
199     // C++ wrapper type for IfcMomentOfInertiaMeasure
200     typedef REAL IfcMomentOfInertiaMeasure;
201     // C++ wrapper type for IfcMonetaryMeasure
202     typedef REAL IfcMonetaryMeasure;
203     // C++ wrapper type for IfcMonthInYearNumber
204     typedef INTEGER IfcMonthInYearNumber;
205     // C++ wrapper type for IfcNormalisedRatioMeasure
206     typedef REAL IfcNormalisedRatioMeasure;
207     // C++ wrapper type for IfcNumericMeasure
208     typedef NUMBER IfcNumericMeasure;
209     // C++ wrapper type for IfcPHMeasure
210     typedef REAL IfcPHMeasure;
211     // C++ wrapper type for IfcParameterValue
212     typedef REAL IfcParameterValue;
213     // C++ wrapper type for IfcPlanarForceMeasure
214     typedef REAL IfcPlanarForceMeasure;
215     // C++ wrapper type for IfcPlaneAngleMeasure
216     typedef REAL IfcPlaneAngleMeasure;
217     // C++ wrapper type for IfcPositiveLengthMeasure
218     typedef REAL IfcPositiveLengthMeasure;
219     // C++ wrapper type for IfcPositivePlaneAngleMeasure
220     typedef REAL IfcPositivePlaneAngleMeasure;
221     // C++ wrapper type for IfcPositiveRatioMeasure
222     typedef REAL IfcPositiveRatioMeasure;
223     // C++ wrapper type for IfcPowerMeasure
224     typedef REAL IfcPowerMeasure;
225     // C++ wrapper type for IfcPresentableText
226     typedef STRING IfcPresentableText;
227     // C++ wrapper type for IfcPressureMeasure
228     typedef REAL IfcPressureMeasure;
229     // C++ wrapper type for IfcRadioActivityMeasure
230     typedef REAL IfcRadioActivityMeasure;
231     // C++ wrapper type for IfcRatioMeasure
232     typedef REAL IfcRatioMeasure;
233     // C++ wrapper type for IfcReal
234     typedef REAL IfcReal;
235     // C++ wrapper type for IfcRotationalFrequencyMeasure
236     typedef REAL IfcRotationalFrequencyMeasure;
237     // C++ wrapper type for IfcRotationalMassMeasure
238     typedef REAL IfcRotationalMassMeasure;
239     // C++ wrapper type for IfcRotationalStiffnessMeasure
240     typedef REAL IfcRotationalStiffnessMeasure;
241     // C++ wrapper type for IfcSecondInMinute
242     typedef REAL IfcSecondInMinute;
243     // C++ wrapper type for IfcSectionModulusMeasure
244     typedef REAL IfcSectionModulusMeasure;
245     // C++ wrapper type for IfcSectionalAreaIntegralMeasure
246     typedef REAL IfcSectionalAreaIntegralMeasure;
247     // C++ wrapper type for IfcShearModulusMeasure
248     typedef REAL IfcShearModulusMeasure;
249     // C++ wrapper type for IfcSolidAngleMeasure
250     typedef REAL IfcSolidAngleMeasure;
251     // C++ wrapper type for IfcSoundPowerMeasure
252     typedef REAL IfcSoundPowerMeasure;
253     // C++ wrapper type for IfcSoundPressureMeasure
254     typedef REAL IfcSoundPressureMeasure;
255     // C++ wrapper type for IfcSpecificHeatCapacityMeasure
256     typedef REAL IfcSpecificHeatCapacityMeasure;
257     // C++ wrapper type for IfcSpecularExponent
258     typedef REAL IfcSpecularExponent;
259     // C++ wrapper type for IfcSpecularRoughness
260     typedef REAL IfcSpecularRoughness;
261     // C++ wrapper type for IfcTemperatureGradientMeasure
262     typedef REAL IfcTemperatureGradientMeasure;
263     // C++ wrapper type for IfcText
264     typedef STRING IfcText;
265     // C++ wrapper type for IfcTextAlignment
266     typedef STRING IfcTextAlignment;
267     // C++ wrapper type for IfcTextDecoration
268     typedef STRING IfcTextDecoration;
269     // C++ wrapper type for IfcTextFontName
270     typedef STRING IfcTextFontName;
271     // C++ wrapper type for IfcTextTransformation
272     typedef STRING IfcTextTransformation;
273     // C++ wrapper type for IfcThermalAdmittanceMeasure
274     typedef REAL IfcThermalAdmittanceMeasure;
275     // C++ wrapper type for IfcThermalConductivityMeasure
276     typedef REAL IfcThermalConductivityMeasure;
277     // C++ wrapper type for IfcThermalExpansionCoefficientMeasure
278     typedef REAL IfcThermalExpansionCoefficientMeasure;
279     // C++ wrapper type for IfcThermalResistanceMeasure
280     typedef REAL IfcThermalResistanceMeasure;
281     // C++ wrapper type for IfcThermalTransmittanceMeasure
282     typedef REAL IfcThermalTransmittanceMeasure;
283     // C++ wrapper type for IfcThermodynamicTemperatureMeasure
284     typedef REAL IfcThermodynamicTemperatureMeasure;
285     // C++ wrapper type for IfcTimeMeasure
286     typedef REAL IfcTimeMeasure;
287     // C++ wrapper type for IfcTimeStamp
288     typedef INTEGER IfcTimeStamp;
289     // C++ wrapper type for IfcTorqueMeasure
290     typedef REAL IfcTorqueMeasure;
291     // C++ wrapper type for IfcVaporPermeabilityMeasure
292     typedef REAL IfcVaporPermeabilityMeasure;
293     // C++ wrapper type for IfcVolumeMeasure
294     typedef REAL IfcVolumeMeasure;
295     // C++ wrapper type for IfcVolumetricFlowRateMeasure
296     typedef REAL IfcVolumetricFlowRateMeasure;
297     // C++ wrapper type for IfcWarpingConstantMeasure
298     typedef REAL IfcWarpingConstantMeasure;
299     // C++ wrapper type for IfcWarpingMomentMeasure
300     typedef REAL IfcWarpingMomentMeasure;
301     // C++ wrapper type for IfcYearNumber
302     typedef INTEGER IfcYearNumber;
303     // C++ wrapper type for IfcActionSourceTypeEnum
304     typedef ENUMERATION IfcActionSourceTypeEnum;
305     // C++ wrapper type for IfcActionTypeEnum
306     typedef ENUMERATION IfcActionTypeEnum;
307     // C++ wrapper type for IfcActuatorTypeEnum
308     typedef ENUMERATION IfcActuatorTypeEnum;
309     // C++ wrapper type for IfcAddressTypeEnum
310     typedef ENUMERATION IfcAddressTypeEnum;
311     // C++ wrapper type for IfcAheadOrBehind
312     typedef ENUMERATION IfcAheadOrBehind;
313     // C++ wrapper type for IfcAirTerminalBoxTypeEnum
314     typedef ENUMERATION IfcAirTerminalBoxTypeEnum;
315     // C++ wrapper type for IfcAirTerminalTypeEnum
316     typedef ENUMERATION IfcAirTerminalTypeEnum;
317     // C++ wrapper type for IfcAirToAirHeatRecoveryTypeEnum
318     typedef ENUMERATION IfcAirToAirHeatRecoveryTypeEnum;
319     // C++ wrapper type for IfcAlarmTypeEnum
320     typedef ENUMERATION IfcAlarmTypeEnum;
321     // C++ wrapper type for IfcAnalysisModelTypeEnum
322     typedef ENUMERATION IfcAnalysisModelTypeEnum;
323     // C++ wrapper type for IfcAnalysisTheoryTypeEnum
324     typedef ENUMERATION IfcAnalysisTheoryTypeEnum;
325     // C++ wrapper type for IfcArithmeticOperatorEnum
326     typedef ENUMERATION IfcArithmeticOperatorEnum;
327     // C++ wrapper type for IfcAssemblyPlaceEnum
328     typedef ENUMERATION IfcAssemblyPlaceEnum;
329     // C++ wrapper type for IfcBSplineCurveForm
330     typedef ENUMERATION IfcBSplineCurveForm;
331     // C++ wrapper type for IfcBeamTypeEnum
332     typedef ENUMERATION IfcBeamTypeEnum;
333     // C++ wrapper type for IfcBenchmarkEnum
334     typedef ENUMERATION IfcBenchmarkEnum;
335     // C++ wrapper type for IfcBoilerTypeEnum
336     typedef ENUMERATION IfcBoilerTypeEnum;
337     // C++ wrapper type for IfcBooleanOperator
338     typedef ENUMERATION IfcBooleanOperator;
339     // C++ wrapper type for IfcBuildingElementProxyTypeEnum
340     typedef ENUMERATION IfcBuildingElementProxyTypeEnum;
341     // C++ wrapper type for IfcCableCarrierFittingTypeEnum
342     typedef ENUMERATION IfcCableCarrierFittingTypeEnum;
343     // C++ wrapper type for IfcCableCarrierSegmentTypeEnum
344     typedef ENUMERATION IfcCableCarrierSegmentTypeEnum;
345     // C++ wrapper type for IfcCableSegmentTypeEnum
346     typedef ENUMERATION IfcCableSegmentTypeEnum;
347     // C++ wrapper type for IfcChangeActionEnum
348     typedef ENUMERATION IfcChangeActionEnum;
349     // C++ wrapper type for IfcChillerTypeEnum
350     typedef ENUMERATION IfcChillerTypeEnum;
351     // C++ wrapper type for IfcCoilTypeEnum
352     typedef ENUMERATION IfcCoilTypeEnum;
353     // C++ wrapper type for IfcColumnTypeEnum
354     typedef ENUMERATION IfcColumnTypeEnum;
355     // C++ wrapper type for IfcCompressorTypeEnum
356     typedef ENUMERATION IfcCompressorTypeEnum;
357     // C++ wrapper type for IfcCondenserTypeEnum
358     typedef ENUMERATION IfcCondenserTypeEnum;
359     // C++ wrapper type for IfcConnectionTypeEnum
360     typedef ENUMERATION IfcConnectionTypeEnum;
361     // C++ wrapper type for IfcConstraintEnum
362     typedef ENUMERATION IfcConstraintEnum;
363     // C++ wrapper type for IfcControllerTypeEnum
364     typedef ENUMERATION IfcControllerTypeEnum;
365     // C++ wrapper type for IfcCooledBeamTypeEnum
366     typedef ENUMERATION IfcCooledBeamTypeEnum;
367     // C++ wrapper type for IfcCoolingTowerTypeEnum
368     typedef ENUMERATION IfcCoolingTowerTypeEnum;
369     // C++ wrapper type for IfcCostScheduleTypeEnum
370     typedef ENUMERATION IfcCostScheduleTypeEnum;
371     // C++ wrapper type for IfcCoveringTypeEnum
372     typedef ENUMERATION IfcCoveringTypeEnum;
373     // C++ wrapper type for IfcCurrencyEnum
374     typedef ENUMERATION IfcCurrencyEnum;
375     // C++ wrapper type for IfcCurtainWallTypeEnum
376     typedef ENUMERATION IfcCurtainWallTypeEnum;
377     // C++ wrapper type for IfcDamperTypeEnum
378     typedef ENUMERATION IfcDamperTypeEnum;
379     // C++ wrapper type for IfcDataOriginEnum
380     typedef ENUMERATION IfcDataOriginEnum;
381     // C++ wrapper type for IfcDerivedUnitEnum
382     typedef ENUMERATION IfcDerivedUnitEnum;
383     // C++ wrapper type for IfcDimensionExtentUsage
384     typedef ENUMERATION IfcDimensionExtentUsage;
385     // C++ wrapper type for IfcDirectionSenseEnum
386     typedef ENUMERATION IfcDirectionSenseEnum;
387     // C++ wrapper type for IfcDistributionChamberElementTypeEnum
388     typedef ENUMERATION IfcDistributionChamberElementTypeEnum;
389     // C++ wrapper type for IfcDocumentConfidentialityEnum
390     typedef ENUMERATION IfcDocumentConfidentialityEnum;
391     // C++ wrapper type for IfcDocumentStatusEnum
392     typedef ENUMERATION IfcDocumentStatusEnum;
393     // C++ wrapper type for IfcDoorPanelOperationEnum
394     typedef ENUMERATION IfcDoorPanelOperationEnum;
395     // C++ wrapper type for IfcDoorPanelPositionEnum
396     typedef ENUMERATION IfcDoorPanelPositionEnum;
397     // C++ wrapper type for IfcDoorStyleConstructionEnum
398     typedef ENUMERATION IfcDoorStyleConstructionEnum;
399     // C++ wrapper type for IfcDoorStyleOperationEnum
400     typedef ENUMERATION IfcDoorStyleOperationEnum;
401     // C++ wrapper type for IfcDuctFittingTypeEnum
402     typedef ENUMERATION IfcDuctFittingTypeEnum;
403     // C++ wrapper type for IfcDuctSegmentTypeEnum
404     typedef ENUMERATION IfcDuctSegmentTypeEnum;
405     // C++ wrapper type for IfcDuctSilencerTypeEnum
406     typedef ENUMERATION IfcDuctSilencerTypeEnum;
407     // C++ wrapper type for IfcElectricApplianceTypeEnum
408     typedef ENUMERATION IfcElectricApplianceTypeEnum;
409     // C++ wrapper type for IfcElectricCurrentEnum
410     typedef ENUMERATION IfcElectricCurrentEnum;
411     // C++ wrapper type for IfcElectricDistributionPointFunctionEnum
412     typedef ENUMERATION IfcElectricDistributionPointFunctionEnum;
413     // C++ wrapper type for IfcElectricFlowStorageDeviceTypeEnum
414     typedef ENUMERATION IfcElectricFlowStorageDeviceTypeEnum;
415     // C++ wrapper type for IfcElectricGeneratorTypeEnum
416     typedef ENUMERATION IfcElectricGeneratorTypeEnum;
417     // C++ wrapper type for IfcElectricHeaterTypeEnum
418     typedef ENUMERATION IfcElectricHeaterTypeEnum;
419     // C++ wrapper type for IfcElectricMotorTypeEnum
420     typedef ENUMERATION IfcElectricMotorTypeEnum;
421     // C++ wrapper type for IfcElectricTimeControlTypeEnum
422     typedef ENUMERATION IfcElectricTimeControlTypeEnum;
423     // C++ wrapper type for IfcElementAssemblyTypeEnum
424     typedef ENUMERATION IfcElementAssemblyTypeEnum;
425     // C++ wrapper type for IfcElementCompositionEnum
426     typedef ENUMERATION IfcElementCompositionEnum;
427     // C++ wrapper type for IfcEnergySequenceEnum
428     typedef ENUMERATION IfcEnergySequenceEnum;
429     // C++ wrapper type for IfcEnvironmentalImpactCategoryEnum
430     typedef ENUMERATION IfcEnvironmentalImpactCategoryEnum;
431     // C++ wrapper type for IfcEvaporativeCoolerTypeEnum
432     typedef ENUMERATION IfcEvaporativeCoolerTypeEnum;
433     // C++ wrapper type for IfcEvaporatorTypeEnum
434     typedef ENUMERATION IfcEvaporatorTypeEnum;
435     // C++ wrapper type for IfcFanTypeEnum
436     typedef ENUMERATION IfcFanTypeEnum;
437     // C++ wrapper type for IfcFilterTypeEnum
438     typedef ENUMERATION IfcFilterTypeEnum;
439     // C++ wrapper type for IfcFireSuppressionTerminalTypeEnum
440     typedef ENUMERATION IfcFireSuppressionTerminalTypeEnum;
441     // C++ wrapper type for IfcFlowDirectionEnum
442     typedef ENUMERATION IfcFlowDirectionEnum;
443     // C++ wrapper type for IfcFlowInstrumentTypeEnum
444     typedef ENUMERATION IfcFlowInstrumentTypeEnum;
445     // C++ wrapper type for IfcFlowMeterTypeEnum
446     typedef ENUMERATION IfcFlowMeterTypeEnum;
447     // C++ wrapper type for IfcFootingTypeEnum
448     typedef ENUMERATION IfcFootingTypeEnum;
449     // C++ wrapper type for IfcGasTerminalTypeEnum
450     typedef ENUMERATION IfcGasTerminalTypeEnum;
451     // C++ wrapper type for IfcGeometricProjectionEnum
452     typedef ENUMERATION IfcGeometricProjectionEnum;
453     // C++ wrapper type for IfcGlobalOrLocalEnum
454     typedef ENUMERATION IfcGlobalOrLocalEnum;
455     // C++ wrapper type for IfcHeatExchangerTypeEnum
456     typedef ENUMERATION IfcHeatExchangerTypeEnum;
457     // C++ wrapper type for IfcHumidifierTypeEnum
458     typedef ENUMERATION IfcHumidifierTypeEnum;
459     // C++ wrapper type for IfcInternalOrExternalEnum
460     typedef ENUMERATION IfcInternalOrExternalEnum;
461     // C++ wrapper type for IfcInventoryTypeEnum
462     typedef ENUMERATION IfcInventoryTypeEnum;
463     // C++ wrapper type for IfcJunctionBoxTypeEnum
464     typedef ENUMERATION IfcJunctionBoxTypeEnum;
465     // C++ wrapper type for IfcLampTypeEnum
466     typedef ENUMERATION IfcLampTypeEnum;
467     // C++ wrapper type for IfcLayerSetDirectionEnum
468     typedef ENUMERATION IfcLayerSetDirectionEnum;
469     // C++ wrapper type for IfcLightDistributionCurveEnum
470     typedef ENUMERATION IfcLightDistributionCurveEnum;
471     // C++ wrapper type for IfcLightEmissionSourceEnum
472     typedef ENUMERATION IfcLightEmissionSourceEnum;
473     // C++ wrapper type for IfcLightFixtureTypeEnum
474     typedef ENUMERATION IfcLightFixtureTypeEnum;
475     // C++ wrapper type for IfcLoadGroupTypeEnum
476     typedef ENUMERATION IfcLoadGroupTypeEnum;
477     // C++ wrapper type for IfcLogicalOperatorEnum
478     typedef ENUMERATION IfcLogicalOperatorEnum;
479     // C++ wrapper type for IfcMemberTypeEnum
480     typedef ENUMERATION IfcMemberTypeEnum;
481     // C++ wrapper type for IfcMotorConnectionTypeEnum
482     typedef ENUMERATION IfcMotorConnectionTypeEnum;
483     // C++ wrapper type for IfcNullStyle
484     typedef ENUMERATION IfcNullStyle;
485     // C++ wrapper type for IfcObjectTypeEnum
486     typedef ENUMERATION IfcObjectTypeEnum;
487     // C++ wrapper type for IfcObjectiveEnum
488     typedef ENUMERATION IfcObjectiveEnum;
489     // C++ wrapper type for IfcOccupantTypeEnum
490     typedef ENUMERATION IfcOccupantTypeEnum;
491     // C++ wrapper type for IfcOutletTypeEnum
492     typedef ENUMERATION IfcOutletTypeEnum;
493     // C++ wrapper type for IfcPermeableCoveringOperationEnum
494     typedef ENUMERATION IfcPermeableCoveringOperationEnum;
495     // C++ wrapper type for IfcPhysicalOrVirtualEnum
496     typedef ENUMERATION IfcPhysicalOrVirtualEnum;
497     // C++ wrapper type for IfcPileConstructionEnum
498     typedef ENUMERATION IfcPileConstructionEnum;
499     // C++ wrapper type for IfcPileTypeEnum
500     typedef ENUMERATION IfcPileTypeEnum;
501     // C++ wrapper type for IfcPipeFittingTypeEnum
502     typedef ENUMERATION IfcPipeFittingTypeEnum;
503     // C++ wrapper type for IfcPipeSegmentTypeEnum
504     typedef ENUMERATION IfcPipeSegmentTypeEnum;
505     // C++ wrapper type for IfcPlateTypeEnum
506     typedef ENUMERATION IfcPlateTypeEnum;
507     // C++ wrapper type for IfcProcedureTypeEnum
508     typedef ENUMERATION IfcProcedureTypeEnum;
509     // C++ wrapper type for IfcProfileTypeEnum
510     typedef ENUMERATION IfcProfileTypeEnum;
511     // C++ wrapper type for IfcProjectOrderRecordTypeEnum
512     typedef ENUMERATION IfcProjectOrderRecordTypeEnum;
513     // C++ wrapper type for IfcProjectOrderTypeEnum
514     typedef ENUMERATION IfcProjectOrderTypeEnum;
515     // C++ wrapper type for IfcProjectedOrTrueLengthEnum
516     typedef ENUMERATION IfcProjectedOrTrueLengthEnum;
517     // C++ wrapper type for IfcPropertySourceEnum
518     typedef ENUMERATION IfcPropertySourceEnum;
519     // C++ wrapper type for IfcProtectiveDeviceTypeEnum
520     typedef ENUMERATION IfcProtectiveDeviceTypeEnum;
521     // C++ wrapper type for IfcPumpTypeEnum
522     typedef ENUMERATION IfcPumpTypeEnum;
523     // C++ wrapper type for IfcRailingTypeEnum
524     typedef ENUMERATION IfcRailingTypeEnum;
525     // C++ wrapper type for IfcRampFlightTypeEnum
526     typedef ENUMERATION IfcRampFlightTypeEnum;
527     // C++ wrapper type for IfcRampTypeEnum
528     typedef ENUMERATION IfcRampTypeEnum;
529     // C++ wrapper type for IfcReflectanceMethodEnum
530     typedef ENUMERATION IfcReflectanceMethodEnum;
531     // C++ wrapper type for IfcReinforcingBarRoleEnum
532     typedef ENUMERATION IfcReinforcingBarRoleEnum;
533     // C++ wrapper type for IfcReinforcingBarSurfaceEnum
534     typedef ENUMERATION IfcReinforcingBarSurfaceEnum;
535     // C++ wrapper type for IfcResourceConsumptionEnum
536     typedef ENUMERATION IfcResourceConsumptionEnum;
537     // C++ wrapper type for IfcRibPlateDirectionEnum
538     typedef ENUMERATION IfcRibPlateDirectionEnum;
539     // C++ wrapper type for IfcRoleEnum
540     typedef ENUMERATION IfcRoleEnum;
541     // C++ wrapper type for IfcRoofTypeEnum
542     typedef ENUMERATION IfcRoofTypeEnum;
543     // C++ wrapper type for IfcSIPrefix
544     typedef ENUMERATION IfcSIPrefix;
545     // C++ wrapper type for IfcSIUnitName
546     typedef ENUMERATION IfcSIUnitName;
547     // C++ wrapper type for IfcSanitaryTerminalTypeEnum
548     typedef ENUMERATION IfcSanitaryTerminalTypeEnum;
549     // C++ wrapper type for IfcSectionTypeEnum
550     typedef ENUMERATION IfcSectionTypeEnum;
551     // C++ wrapper type for IfcSensorTypeEnum
552     typedef ENUMERATION IfcSensorTypeEnum;
553     // C++ wrapper type for IfcSequenceEnum
554     typedef ENUMERATION IfcSequenceEnum;
555     // C++ wrapper type for IfcServiceLifeFactorTypeEnum
556     typedef ENUMERATION IfcServiceLifeFactorTypeEnum;
557     // C++ wrapper type for IfcServiceLifeTypeEnum
558     typedef ENUMERATION IfcServiceLifeTypeEnum;
559     // C++ wrapper type for IfcSlabTypeEnum
560     typedef ENUMERATION IfcSlabTypeEnum;
561     // C++ wrapper type for IfcSoundScaleEnum
562     typedef ENUMERATION IfcSoundScaleEnum;
563     // C++ wrapper type for IfcSpaceHeaterTypeEnum
564     typedef ENUMERATION IfcSpaceHeaterTypeEnum;
565     // C++ wrapper type for IfcSpaceTypeEnum
566     typedef ENUMERATION IfcSpaceTypeEnum;
567     // C++ wrapper type for IfcStackTerminalTypeEnum
568     typedef ENUMERATION IfcStackTerminalTypeEnum;
569     // C++ wrapper type for IfcStairFlightTypeEnum
570     typedef ENUMERATION IfcStairFlightTypeEnum;
571     // C++ wrapper type for IfcStairTypeEnum
572     typedef ENUMERATION IfcStairTypeEnum;
573     // C++ wrapper type for IfcStateEnum
574     typedef ENUMERATION IfcStateEnum;
575     // C++ wrapper type for IfcStructuralCurveTypeEnum
576     typedef ENUMERATION IfcStructuralCurveTypeEnum;
577     // C++ wrapper type for IfcStructuralSurfaceTypeEnum
578     typedef ENUMERATION IfcStructuralSurfaceTypeEnum;
579     // C++ wrapper type for IfcSurfaceSide
580     typedef ENUMERATION IfcSurfaceSide;
581     // C++ wrapper type for IfcSurfaceTextureEnum
582     typedef ENUMERATION IfcSurfaceTextureEnum;
583     // C++ wrapper type for IfcSwitchingDeviceTypeEnum
584     typedef ENUMERATION IfcSwitchingDeviceTypeEnum;
585     // C++ wrapper type for IfcTankTypeEnum
586     typedef ENUMERATION IfcTankTypeEnum;
587     // C++ wrapper type for IfcTendonTypeEnum
588     typedef ENUMERATION IfcTendonTypeEnum;
589     // C++ wrapper type for IfcTextPath
590     typedef ENUMERATION IfcTextPath;
591     // C++ wrapper type for IfcThermalLoadSourceEnum
592     typedef ENUMERATION IfcThermalLoadSourceEnum;
593     // C++ wrapper type for IfcThermalLoadTypeEnum
594     typedef ENUMERATION IfcThermalLoadTypeEnum;
595     // C++ wrapper type for IfcTimeSeriesDataTypeEnum
596     typedef ENUMERATION IfcTimeSeriesDataTypeEnum;
597     // C++ wrapper type for IfcTimeSeriesScheduleTypeEnum
598     typedef ENUMERATION IfcTimeSeriesScheduleTypeEnum;
599     // C++ wrapper type for IfcTransformerTypeEnum
600     typedef ENUMERATION IfcTransformerTypeEnum;
601     // C++ wrapper type for IfcTransitionCode
602     typedef ENUMERATION IfcTransitionCode;
603     // C++ wrapper type for IfcTransportElementTypeEnum
604     typedef ENUMERATION IfcTransportElementTypeEnum;
605     // C++ wrapper type for IfcTrimmingPreference
606     typedef ENUMERATION IfcTrimmingPreference;
607     // C++ wrapper type for IfcTubeBundleTypeEnum
608     typedef ENUMERATION IfcTubeBundleTypeEnum;
609     // C++ wrapper type for IfcUnitEnum
610     typedef ENUMERATION IfcUnitEnum;
611     // C++ wrapper type for IfcUnitaryEquipmentTypeEnum
612     typedef ENUMERATION IfcUnitaryEquipmentTypeEnum;
613     // C++ wrapper type for IfcValveTypeEnum
614     typedef ENUMERATION IfcValveTypeEnum;
615     // C++ wrapper type for IfcVibrationIsolatorTypeEnum
616     typedef ENUMERATION IfcVibrationIsolatorTypeEnum;
617     // C++ wrapper type for IfcWallTypeEnum
618     typedef ENUMERATION IfcWallTypeEnum;
619     // C++ wrapper type for IfcWasteTerminalTypeEnum
620     typedef ENUMERATION IfcWasteTerminalTypeEnum;
621     // C++ wrapper type for IfcWindowPanelOperationEnum
622     typedef ENUMERATION IfcWindowPanelOperationEnum;
623     // C++ wrapper type for IfcWindowPanelPositionEnum
624     typedef ENUMERATION IfcWindowPanelPositionEnum;
625     // C++ wrapper type for IfcWindowStyleConstructionEnum
626     typedef ENUMERATION IfcWindowStyleConstructionEnum;
627     // C++ wrapper type for IfcWindowStyleOperationEnum
628     typedef ENUMERATION IfcWindowStyleOperationEnum;
629     // C++ wrapper type for IfcWorkControlTypeEnum
630     typedef ENUMERATION IfcWorkControlTypeEnum;
631     // C++ wrapper type for IfcActorSelect
632     typedef SELECT IfcActorSelect;
633     // C++ wrapper type for IfcAppliedValueSelect
634     typedef SELECT IfcAppliedValueSelect;
635     // C++ wrapper type for IfcAxis2Placement
636     typedef SELECT IfcAxis2Placement;
637     // C++ wrapper type for IfcBooleanOperand
638     typedef SELECT IfcBooleanOperand;
639     // C++ wrapper type for IfcCharacterStyleSelect
640     typedef SELECT IfcCharacterStyleSelect;
641     // C++ wrapper type for IfcClassificationNotationSelect
642     typedef SELECT IfcClassificationNotationSelect;
643     // C++ wrapper type for IfcColour
644     typedef SELECT IfcColour;
645     // C++ wrapper type for IfcColourOrFactor
646     typedef SELECT IfcColourOrFactor;
647     // C++ wrapper type for IfcConditionCriterionSelect
648     typedef SELECT IfcConditionCriterionSelect;
649     // C++ wrapper type for IfcCsgSelect
650     typedef SELECT IfcCsgSelect;
651     // C++ wrapper type for IfcCurveFontOrScaledCurveFontSelect
652     typedef SELECT IfcCurveFontOrScaledCurveFontSelect;
653     // C++ wrapper type for IfcCurveOrEdgeCurve
654     typedef SELECT IfcCurveOrEdgeCurve;
655     // C++ wrapper type for IfcCurveStyleFontSelect
656     typedef SELECT IfcCurveStyleFontSelect;
657     // C++ wrapper type for IfcDateTimeSelect
658     typedef SELECT IfcDateTimeSelect;
659     // C++ wrapper type for IfcDefinedSymbolSelect
660     typedef SELECT IfcDefinedSymbolSelect;
661     // C++ wrapper type for IfcDerivedMeasureValue
662     typedef SELECT IfcDerivedMeasureValue;
663     // C++ wrapper type for IfcDocumentSelect
664     typedef SELECT IfcDocumentSelect;
665     // C++ wrapper type for IfcDraughtingCalloutElement
666     typedef SELECT IfcDraughtingCalloutElement;
667     // C++ wrapper type for IfcFillAreaStyleTileShapeSelect
668     typedef SELECT IfcFillAreaStyleTileShapeSelect;
669     // C++ wrapper type for IfcFillStyleSelect
670     typedef SELECT IfcFillStyleSelect;
671     // C++ wrapper type for IfcGeometricSetSelect
672     typedef SELECT IfcGeometricSetSelect;
673     // C++ wrapper type for IfcHatchLineDistanceSelect
674     typedef SELECT IfcHatchLineDistanceSelect;
675     // C++ wrapper type for IfcLayeredItem
676     typedef SELECT IfcLayeredItem;
677     // C++ wrapper type for IfcLibrarySelect
678     typedef SELECT IfcLibrarySelect;
679     // C++ wrapper type for IfcLightDistributionDataSourceSelect
680     typedef SELECT IfcLightDistributionDataSourceSelect;
681     // C++ wrapper type for IfcMaterialSelect
682     typedef SELECT IfcMaterialSelect;
683     // C++ wrapper type for IfcMeasureValue
684     typedef SELECT IfcMeasureValue;
685     // C++ wrapper type for IfcMetricValueSelect
686     typedef SELECT IfcMetricValueSelect;
687     // C++ wrapper type for IfcObjectReferenceSelect
688     typedef SELECT IfcObjectReferenceSelect;
689     // C++ wrapper type for IfcOrientationSelect
690     typedef SELECT IfcOrientationSelect;
691     // C++ wrapper type for IfcPointOrVertexPoint
692     typedef SELECT IfcPointOrVertexPoint;
693     // C++ wrapper type for IfcPresentationStyleSelect
694     typedef SELECT IfcPresentationStyleSelect;
695     // C++ wrapper type for IfcShell
696     typedef SELECT IfcShell;
697     // C++ wrapper type for IfcSimpleValue
698     typedef SELECT IfcSimpleValue;
699     // C++ wrapper type for IfcSizeSelect
700     typedef SELECT IfcSizeSelect;
701     // C++ wrapper type for IfcSpecularHighlightSelect
702     typedef SELECT IfcSpecularHighlightSelect;
703     // C++ wrapper type for IfcStructuralActivityAssignmentSelect
704     typedef SELECT IfcStructuralActivityAssignmentSelect;
705     // C++ wrapper type for IfcSurfaceOrFaceSurface
706     typedef SELECT IfcSurfaceOrFaceSurface;
707     // C++ wrapper type for IfcSurfaceStyleElementSelect
708     typedef SELECT IfcSurfaceStyleElementSelect;
709     // C++ wrapper type for IfcSymbolStyleSelect
710     typedef SELECT IfcSymbolStyleSelect;
711     // C++ wrapper type for IfcTextFontSelect
712     typedef SELECT IfcTextFontSelect;
713     // C++ wrapper type for IfcTextStyleSelect
714     typedef SELECT IfcTextStyleSelect;
715     // C++ wrapper type for IfcTrimmingSelect
716     typedef SELECT IfcTrimmingSelect;
717     // C++ wrapper type for IfcUnit
718     typedef SELECT IfcUnit;
719     // C++ wrapper type for IfcValue
720     typedef SELECT IfcValue;
721     // C++ wrapper type for IfcVectorOrDirection
722     typedef SELECT IfcVectorOrDirection;
723 
724 
725     // ******************************************************************************
726     // IFC Entities
727     // ******************************************************************************
728 
729     struct IfcRepresentationItem;
730     struct IfcGeometricRepresentationItem;
731     struct IfcCurve;
732     struct IfcBoundedCurve;
733     struct IfcCompositeCurve;
734     struct Ifc2DCompositeCurve;
735     struct IfcRoot;
736     struct IfcObjectDefinition;
737     struct IfcObject;
738     struct IfcControl;
739     struct IfcActionRequest;
740     struct IfcActor;
741     typedef NotImplemented IfcActorRole; // (not currently used by Assimp)
742     struct IfcTypeObject;
743     struct IfcTypeProduct;
744     struct IfcElementType;
745     struct IfcDistributionElementType;
746     struct IfcDistributionControlElementType;
747     struct IfcActuatorType;
748     typedef NotImplemented IfcAddress; // (not currently used by Assimp)
749     struct IfcDistributionFlowElementType;
750     struct IfcFlowControllerType;
751     struct IfcAirTerminalBoxType;
752     struct IfcFlowTerminalType;
753     struct IfcAirTerminalType;
754     struct IfcEnergyConversionDeviceType;
755     struct IfcAirToAirHeatRecoveryType;
756     struct IfcAlarmType;
757     struct IfcDraughtingCallout;
758     struct IfcDimensionCurveDirectedCallout;
759     struct IfcAngularDimension;
760     struct IfcProduct;
761     struct IfcAnnotation;
762     struct IfcStyledItem;
763     struct IfcAnnotationOccurrence;
764     struct IfcAnnotationCurveOccurrence;
765     struct IfcAnnotationFillArea;
766     struct IfcAnnotationFillAreaOccurrence;
767     struct IfcAnnotationSurface;
768     struct IfcAnnotationSurfaceOccurrence;
769     struct IfcAnnotationSymbolOccurrence;
770     struct IfcAnnotationTextOccurrence;
771     typedef NotImplemented IfcApplication; // (not currently used by Assimp)
772     typedef NotImplemented IfcAppliedValue; // (not currently used by Assimp)
773     typedef NotImplemented IfcAppliedValueRelationship; // (not currently used by Assimp)
774     typedef NotImplemented IfcApproval; // (not currently used by Assimp)
775     typedef NotImplemented IfcApprovalActorRelationship; // (not currently used by Assimp)
776     typedef NotImplemented IfcApprovalPropertyRelationship; // (not currently used by Assimp)
777     typedef NotImplemented IfcApprovalRelationship; // (not currently used by Assimp)
778     struct IfcProfileDef;
779     struct IfcArbitraryClosedProfileDef;
780     struct IfcArbitraryOpenProfileDef;
781     struct IfcArbitraryProfileDefWithVoids;
782     struct IfcGroup;
783     struct IfcAsset;
784     struct IfcParameterizedProfileDef;
785     struct IfcIShapeProfileDef;
786     struct IfcAsymmetricIShapeProfileDef;
787     struct IfcPlacement;
788     struct IfcAxis1Placement;
789     struct IfcAxis2Placement2D;
790     struct IfcAxis2Placement3D;
791     struct IfcBSplineCurve;
792     struct IfcElement;
793     struct IfcBuildingElement;
794     struct IfcBeam;
795     struct IfcBuildingElementType;
796     struct IfcBeamType;
797     struct IfcBezierCurve;
798     typedef NotImplemented IfcSurfaceTexture; // (not currently used by Assimp)
799     typedef NotImplemented IfcBlobTexture; // (not currently used by Assimp)
800     struct IfcCsgPrimitive3D;
801     struct IfcBlock;
802     struct IfcBoilerType;
803     struct IfcBooleanResult;
804     struct IfcBooleanClippingResult;
805     typedef NotImplemented IfcBoundaryCondition; // (not currently used by Assimp)
806     typedef NotImplemented IfcBoundaryEdgeCondition; // (not currently used by Assimp)
807     typedef NotImplemented IfcBoundaryFaceCondition; // (not currently used by Assimp)
808     typedef NotImplemented IfcBoundaryNodeCondition; // (not currently used by Assimp)
809     typedef NotImplemented IfcBoundaryNodeConditionWarping; // (not currently used by Assimp)
810     struct IfcSurface;
811     struct IfcBoundedSurface;
812     struct IfcBoundingBox;
813     struct IfcHalfSpaceSolid;
814     struct IfcBoxedHalfSpace;
815     struct IfcSpatialStructureElement;
816     struct IfcBuilding;
817     struct IfcBuildingElementComponent;
818     struct IfcBuildingElementPart;
819     struct IfcBuildingElementProxy;
820     struct IfcBuildingElementProxyType;
821     struct IfcBuildingStorey;
822     struct IfcCShapeProfileDef;
823     struct IfcFlowFittingType;
824     struct IfcCableCarrierFittingType;
825     struct IfcFlowSegmentType;
826     struct IfcCableCarrierSegmentType;
827     struct IfcCableSegmentType;
828     typedef NotImplemented IfcCalendarDate; // (not currently used by Assimp)
829     struct IfcPoint;
830     struct IfcCartesianPoint;
831     struct IfcCartesianTransformationOperator;
832     struct IfcCartesianTransformationOperator2D;
833     struct IfcCartesianTransformationOperator2DnonUniform;
834     struct IfcCartesianTransformationOperator3D;
835     struct IfcCartesianTransformationOperator3DnonUniform;
836     struct IfcCenterLineProfileDef;
837     struct IfcFeatureElement;
838     struct IfcFeatureElementSubtraction;
839     struct IfcEdgeFeature;
840     struct IfcChamferEdgeFeature;
841     struct IfcChillerType;
842     struct IfcConic;
843     struct IfcCircle;
844     struct IfcCircleProfileDef;
845     struct IfcCircleHollowProfileDef;
846     typedef NotImplemented IfcClassification; // (not currently used by Assimp)
847     typedef NotImplemented IfcClassificationItem; // (not currently used by Assimp)
848     typedef NotImplemented IfcClassificationItemRelationship; // (not currently used by Assimp)
849     typedef NotImplemented IfcClassificationNotation; // (not currently used by Assimp)
850     typedef NotImplemented IfcClassificationNotationFacet; // (not currently used by Assimp)
851     typedef NotImplemented IfcExternalReference; // (not currently used by Assimp)
852     typedef NotImplemented IfcClassificationReference; // (not currently used by Assimp)
853     struct IfcTopologicalRepresentationItem;
854     struct IfcConnectedFaceSet;
855     struct IfcClosedShell;
856     struct IfcCoilType;
857     struct IfcColourSpecification;
858     struct IfcColourRgb;
859     struct IfcColumn;
860     struct IfcColumnType;
861     struct IfcProperty;
862     struct IfcComplexProperty;
863     struct IfcCompositeCurveSegment;
864     struct IfcCompositeProfileDef;
865     struct IfcFlowMovingDeviceType;
866     struct IfcCompressorType;
867     struct IfcCondenserType;
868     struct IfcCondition;
869     struct IfcConditionCriterion;
870     typedef NotImplemented IfcConnectionGeometry; // (not currently used by Assimp)
871     typedef NotImplemented IfcConnectionCurveGeometry; // (not currently used by Assimp)
872     typedef NotImplemented IfcConnectionPointGeometry; // (not currently used by Assimp)
873     typedef NotImplemented IfcConnectionPointEccentricity; // (not currently used by Assimp)
874     typedef NotImplemented IfcConnectionPortGeometry; // (not currently used by Assimp)
875     typedef NotImplemented IfcConnectionSurfaceGeometry; // (not currently used by Assimp)
876     typedef NotImplemented IfcConstraint; // (not currently used by Assimp)
877     typedef NotImplemented IfcConstraintAggregationRelationship; // (not currently used by Assimp)
878     typedef NotImplemented IfcConstraintClassificationRelationship; // (not currently used by Assimp)
879     typedef NotImplemented IfcConstraintRelationship; // (not currently used by Assimp)
880     struct IfcResource;
881     struct IfcConstructionResource;
882     struct IfcConstructionEquipmentResource;
883     struct IfcConstructionMaterialResource;
884     struct IfcConstructionProductResource;
885     struct IfcNamedUnit;
886     struct IfcContextDependentUnit;
887     struct IfcControllerType;
888     struct IfcConversionBasedUnit;
889     struct IfcCooledBeamType;
890     struct IfcCoolingTowerType;
891     typedef NotImplemented IfcCoordinatedUniversalTimeOffset; // (not currently used by Assimp)
892     struct IfcCostItem;
893     struct IfcCostSchedule;
894     typedef NotImplemented IfcCostValue; // (not currently used by Assimp)
895     struct IfcCovering;
896     struct IfcCoveringType;
897     struct IfcCraneRailAShapeProfileDef;
898     struct IfcCraneRailFShapeProfileDef;
899     struct IfcCrewResource;
900     struct IfcSolidModel;
901     struct IfcCsgSolid;
902     typedef NotImplemented IfcCurrencyRelationship; // (not currently used by Assimp)
903     struct IfcCurtainWall;
904     struct IfcCurtainWallType;
905     struct IfcCurveBoundedPlane;
906     struct IfcPresentationStyle;
907     typedef NotImplemented IfcCurveStyle; // (not currently used by Assimp)
908     typedef NotImplemented IfcCurveStyleFont; // (not currently used by Assimp)
909     typedef NotImplemented IfcCurveStyleFontAndScaling; // (not currently used by Assimp)
910     typedef NotImplemented IfcCurveStyleFontPattern; // (not currently used by Assimp)
911     struct IfcDamperType;
912     typedef NotImplemented IfcDateAndTime; // (not currently used by Assimp)
913     struct IfcDefinedSymbol;
914     struct IfcDerivedProfileDef;
915     typedef NotImplemented IfcDerivedUnit; // (not currently used by Assimp)
916     typedef NotImplemented IfcDerivedUnitElement; // (not currently used by Assimp)
917     struct IfcDiameterDimension;
918     typedef NotImplemented IfcDraughtingCalloutRelationship; // (not currently used by Assimp)
919     typedef NotImplemented IfcDimensionCalloutRelationship; // (not currently used by Assimp)
920     struct IfcDimensionCurve;
921     struct IfcTerminatorSymbol;
922     struct IfcDimensionCurveTerminator;
923     typedef NotImplemented IfcDimensionPair; // (not currently used by Assimp)
924     typedef NotImplemented IfcDimensionalExponents; // (not currently used by Assimp)
925     struct IfcDirection;
926     struct IfcElementComponent;
927     struct IfcDiscreteAccessory;
928     struct IfcElementComponentType;
929     struct IfcDiscreteAccessoryType;
930     struct IfcDistributionElement;
931     struct IfcDistributionFlowElement;
932     struct IfcDistributionChamberElement;
933     struct IfcDistributionChamberElementType;
934     struct IfcDistributionControlElement;
935     struct IfcPort;
936     struct IfcDistributionPort;
937     typedef NotImplemented IfcDocumentElectronicFormat; // (not currently used by Assimp)
938     typedef NotImplemented IfcDocumentInformation; // (not currently used by Assimp)
939     typedef NotImplemented IfcDocumentInformationRelationship; // (not currently used by Assimp)
940     typedef NotImplemented IfcDocumentReference; // (not currently used by Assimp)
941     struct IfcDoor;
942     struct IfcPropertyDefinition;
943     struct IfcPropertySetDefinition;
944     typedef NotImplemented IfcDoorLiningProperties; // (not currently used by Assimp)
945     typedef NotImplemented IfcDoorPanelProperties; // (not currently used by Assimp)
946     struct IfcDoorStyle;
947     typedef NotImplemented IfcPreDefinedItem; // (not currently used by Assimp)
948     typedef NotImplemented IfcPreDefinedColour; // (not currently used by Assimp)
949     typedef NotImplemented IfcDraughtingPreDefinedColour; // (not currently used by Assimp)
950     typedef NotImplemented IfcPreDefinedCurveFont; // (not currently used by Assimp)
951     typedef NotImplemented IfcDraughtingPreDefinedCurveFont; // (not currently used by Assimp)
952     typedef NotImplemented IfcPreDefinedTextFont; // (not currently used by Assimp)
953     typedef NotImplemented IfcDraughtingPreDefinedTextFont; // (not currently used by Assimp)
954     struct IfcDuctFittingType;
955     struct IfcDuctSegmentType;
956     struct IfcFlowTreatmentDeviceType;
957     struct IfcDuctSilencerType;
958     struct IfcEdge;
959     struct IfcEdgeCurve;
960     struct IfcLoop;
961     struct IfcEdgeLoop;
962     struct IfcElectricApplianceType;
963     struct IfcFlowController;
964     struct IfcElectricDistributionPoint;
965     struct IfcFlowStorageDeviceType;
966     struct IfcElectricFlowStorageDeviceType;
967     struct IfcElectricGeneratorType;
968     struct IfcElectricHeaterType;
969     struct IfcElectricMotorType;
970     struct IfcElectricTimeControlType;
971     typedef NotImplemented IfcEnergyProperties; // (not currently used by Assimp)
972     typedef NotImplemented IfcElectricalBaseProperties; // (not currently used by Assimp)
973     struct IfcSystem;
974     struct IfcElectricalCircuit;
975     struct IfcElectricalElement;
976     struct IfcElementAssembly;
977     struct IfcElementQuantity;
978     struct IfcElementarySurface;
979     struct IfcEllipse;
980     struct IfcEllipseProfileDef;
981     struct IfcEnergyConversionDevice;
982     typedef NotImplemented IfcEnvironmentalImpactValue; // (not currently used by Assimp)
983     struct IfcEquipmentElement;
984     struct IfcEquipmentStandard;
985     struct IfcEvaporativeCoolerType;
986     struct IfcEvaporatorType;
987     typedef NotImplemented IfcMaterialProperties; // (not currently used by Assimp)
988     typedef NotImplemented IfcExtendedMaterialProperties; // (not currently used by Assimp)
989     typedef NotImplemented IfcExternallyDefinedHatchStyle; // (not currently used by Assimp)
990     typedef NotImplemented IfcExternallyDefinedSurfaceStyle; // (not currently used by Assimp)
991     typedef NotImplemented IfcExternallyDefinedSymbol; // (not currently used by Assimp)
992     typedef NotImplemented IfcExternallyDefinedTextFont; // (not currently used by Assimp)
993     struct IfcSweptAreaSolid;
994     struct IfcExtrudedAreaSolid;
995     struct IfcFace;
996     struct IfcFaceBasedSurfaceModel;
997     struct IfcFaceBound;
998     struct IfcFaceOuterBound;
999     struct IfcFaceSurface;
1000     struct IfcManifoldSolidBrep;
1001     struct IfcFacetedBrep;
1002     struct IfcFacetedBrepWithVoids;
1003     typedef NotImplemented IfcStructuralConnectionCondition; // (not currently used by Assimp)
1004     typedef NotImplemented IfcFailureConnectionCondition; // (not currently used by Assimp)
1005     struct IfcFanType;
1006     struct IfcFastener;
1007     struct IfcFastenerType;
1008     struct IfcFeatureElementAddition;
1009     typedef NotImplemented IfcFillAreaStyle; // (not currently used by Assimp)
1010     struct IfcFillAreaStyleHatching;
1011     struct IfcFillAreaStyleTileSymbolWithStyle;
1012     struct IfcFillAreaStyleTiles;
1013     struct IfcFilterType;
1014     struct IfcFireSuppressionTerminalType;
1015     struct IfcFlowFitting;
1016     struct IfcFlowInstrumentType;
1017     struct IfcFlowMeterType;
1018     struct IfcFlowMovingDevice;
1019     struct IfcFlowSegment;
1020     struct IfcFlowStorageDevice;
1021     struct IfcFlowTerminal;
1022     struct IfcFlowTreatmentDevice;
1023     typedef NotImplemented IfcFluidFlowProperties; // (not currently used by Assimp)
1024     struct IfcFooting;
1025     typedef NotImplemented IfcFuelProperties; // (not currently used by Assimp)
1026     struct IfcFurnishingElement;
1027     struct IfcFurnishingElementType;
1028     struct IfcFurnitureStandard;
1029     struct IfcFurnitureType;
1030     struct IfcGasTerminalType;
1031     typedef NotImplemented IfcGeneralMaterialProperties; // (not currently used by Assimp)
1032     typedef NotImplemented IfcProfileProperties; // (not currently used by Assimp)
1033     typedef NotImplemented IfcGeneralProfileProperties; // (not currently used by Assimp)
1034     struct IfcGeometricSet;
1035     struct IfcGeometricCurveSet;
1036     struct IfcRepresentationContext;
1037     struct IfcGeometricRepresentationContext;
1038     struct IfcGeometricRepresentationSubContext;
1039     struct IfcGrid;
1040     typedef NotImplemented IfcGridAxis; // (not currently used by Assimp)
1041     struct IfcObjectPlacement;
1042     struct IfcGridPlacement;
1043     struct IfcHeatExchangerType;
1044     struct IfcHumidifierType;
1045     typedef NotImplemented IfcHygroscopicMaterialProperties; // (not currently used by Assimp)
1046     typedef NotImplemented IfcImageTexture; // (not currently used by Assimp)
1047     struct IfcInventory;
1048     typedef NotImplemented IfcTimeSeries; // (not currently used by Assimp)
1049     typedef NotImplemented IfcIrregularTimeSeries; // (not currently used by Assimp)
1050     typedef NotImplemented IfcIrregularTimeSeriesValue; // (not currently used by Assimp)
1051     struct IfcJunctionBoxType;
1052     struct IfcLShapeProfileDef;
1053     struct IfcLaborResource;
1054     struct IfcLampType;
1055     typedef NotImplemented IfcLibraryInformation; // (not currently used by Assimp)
1056     typedef NotImplemented IfcLibraryReference; // (not currently used by Assimp)
1057     typedef NotImplemented IfcLightDistributionData; // (not currently used by Assimp)
1058     struct IfcLightFixtureType;
1059     typedef NotImplemented IfcLightIntensityDistribution; // (not currently used by Assimp)
1060     struct IfcLightSource;
1061     struct IfcLightSourceAmbient;
1062     struct IfcLightSourceDirectional;
1063     struct IfcLightSourceGoniometric;
1064     struct IfcLightSourcePositional;
1065     struct IfcLightSourceSpot;
1066     struct IfcLine;
1067     struct IfcLinearDimension;
1068     struct IfcLocalPlacement;
1069     typedef NotImplemented IfcLocalTime; // (not currently used by Assimp)
1070     struct IfcMappedItem;
1071     typedef NotImplemented IfcMaterial; // (not currently used by Assimp)
1072     typedef NotImplemented IfcMaterialClassificationRelationship; // (not currently used by Assimp)
1073     struct IfcProductRepresentation;
1074     struct IfcMaterialDefinitionRepresentation;
1075     typedef NotImplemented IfcMaterialLayer; // (not currently used by Assimp)
1076     typedef NotImplemented IfcMaterialLayerSet; // (not currently used by Assimp)
1077     typedef NotImplemented IfcMaterialLayerSetUsage; // (not currently used by Assimp)
1078     typedef NotImplemented IfcMaterialList; // (not currently used by Assimp)
1079     struct IfcMeasureWithUnit;
1080     typedef NotImplemented IfcMechanicalMaterialProperties; // (not currently used by Assimp)
1081     typedef NotImplemented IfcMechanicalConcreteMaterialProperties; // (not currently used by Assimp)
1082     struct IfcMechanicalFastener;
1083     struct IfcMechanicalFastenerType;
1084     typedef NotImplemented IfcMechanicalSteelMaterialProperties; // (not currently used by Assimp)
1085     struct IfcMember;
1086     struct IfcMemberType;
1087     typedef NotImplemented IfcMetric; // (not currently used by Assimp)
1088     typedef NotImplemented IfcMonetaryUnit; // (not currently used by Assimp)
1089     struct IfcMotorConnectionType;
1090     struct IfcProcess;
1091     struct IfcTask;
1092     struct IfcMove;
1093     typedef NotImplemented IfcObjective; // (not currently used by Assimp)
1094     struct IfcOccupant;
1095     struct IfcOffsetCurve2D;
1096     struct IfcOffsetCurve3D;
1097     struct IfcOneDirectionRepeatFactor;
1098     struct IfcOpenShell;
1099     struct IfcOpeningElement;
1100     typedef NotImplemented IfcOpticalMaterialProperties; // (not currently used by Assimp)
1101     struct IfcOrderAction;
1102     typedef NotImplemented IfcOrganization; // (not currently used by Assimp)
1103     typedef NotImplemented IfcOrganizationRelationship; // (not currently used by Assimp)
1104     struct IfcOrientedEdge;
1105     struct IfcOutletType;
1106     typedef NotImplemented IfcOwnerHistory; // (not currently used by Assimp)
1107     struct IfcPath;
1108     struct IfcPerformanceHistory;
1109     typedef NotImplemented IfcPermeableCoveringProperties; // (not currently used by Assimp)
1110     struct IfcPermit;
1111     typedef NotImplemented IfcPerson; // (not currently used by Assimp)
1112     typedef NotImplemented IfcPersonAndOrganization; // (not currently used by Assimp)
1113     typedef NotImplemented IfcPhysicalQuantity; // (not currently used by Assimp)
1114     typedef NotImplemented IfcPhysicalComplexQuantity; // (not currently used by Assimp)
1115     typedef NotImplemented IfcPhysicalSimpleQuantity; // (not currently used by Assimp)
1116     struct IfcPile;
1117     struct IfcPipeFittingType;
1118     struct IfcPipeSegmentType;
1119     typedef NotImplemented IfcPixelTexture; // (not currently used by Assimp)
1120     struct IfcPlanarExtent;
1121     struct IfcPlanarBox;
1122     struct IfcPlane;
1123     struct IfcPlate;
1124     struct IfcPlateType;
1125     struct IfcPointOnCurve;
1126     struct IfcPointOnSurface;
1127     struct IfcPolyLoop;
1128     struct IfcPolygonalBoundedHalfSpace;
1129     struct IfcPolyline;
1130     typedef NotImplemented IfcPostalAddress; // (not currently used by Assimp)
1131     typedef NotImplemented IfcPreDefinedSymbol; // (not currently used by Assimp)
1132     typedef NotImplemented IfcPreDefinedDimensionSymbol; // (not currently used by Assimp)
1133     typedef NotImplemented IfcPreDefinedPointMarkerSymbol; // (not currently used by Assimp)
1134     typedef NotImplemented IfcPreDefinedTerminatorSymbol; // (not currently used by Assimp)
1135     typedef NotImplemented IfcPresentationLayerAssignment; // (not currently used by Assimp)
1136     typedef NotImplemented IfcPresentationLayerWithStyle; // (not currently used by Assimp)
1137     struct IfcPresentationStyleAssignment;
1138     struct IfcProcedure;
1139     struct IfcProductDefinitionShape;
1140     typedef NotImplemented IfcProductsOfCombustionProperties; // (not currently used by Assimp)
1141     struct IfcProject;
1142     struct IfcProjectOrder;
1143     struct IfcProjectOrderRecord;
1144     struct IfcProjectionCurve;
1145     struct IfcProjectionElement;
1146     struct IfcSimpleProperty;
1147     struct IfcPropertyBoundedValue;
1148     typedef NotImplemented IfcPropertyConstraintRelationship; // (not currently used by Assimp)
1149     typedef NotImplemented IfcPropertyDependencyRelationship; // (not currently used by Assimp)
1150     struct IfcPropertyEnumeratedValue;
1151     typedef NotImplemented IfcPropertyEnumeration; // (not currently used by Assimp)
1152     struct IfcPropertyListValue;
1153     struct IfcPropertyReferenceValue;
1154     struct IfcPropertySet;
1155     struct IfcPropertySingleValue;
1156     struct IfcPropertyTableValue;
1157     struct IfcProtectiveDeviceType;
1158     struct IfcProxy;
1159     struct IfcPumpType;
1160     typedef NotImplemented IfcQuantityArea; // (not currently used by Assimp)
1161     typedef NotImplemented IfcQuantityCount; // (not currently used by Assimp)
1162     typedef NotImplemented IfcQuantityLength; // (not currently used by Assimp)
1163     typedef NotImplemented IfcQuantityTime; // (not currently used by Assimp)
1164     typedef NotImplemented IfcQuantityVolume; // (not currently used by Assimp)
1165     typedef NotImplemented IfcQuantityWeight; // (not currently used by Assimp)
1166     struct IfcRadiusDimension;
1167     struct IfcRailing;
1168     struct IfcRailingType;
1169     struct IfcRamp;
1170     struct IfcRampFlight;
1171     struct IfcRampFlightType;
1172     struct IfcRationalBezierCurve;
1173     struct IfcRectangleProfileDef;
1174     struct IfcRectangleHollowProfileDef;
1175     struct IfcRectangularPyramid;
1176     struct IfcRectangularTrimmedSurface;
1177     typedef NotImplemented IfcReferencesValueDocument; // (not currently used by Assimp)
1178     typedef NotImplemented IfcRegularTimeSeries; // (not currently used by Assimp)
1179     typedef NotImplemented IfcReinforcementBarProperties; // (not currently used by Assimp)
1180     typedef NotImplemented IfcReinforcementDefinitionProperties; // (not currently used by Assimp)
1181     struct IfcReinforcingElement;
1182     struct IfcReinforcingBar;
1183     struct IfcReinforcingMesh;
1184     struct IfcRelationship;
1185     struct IfcRelDecomposes;
1186     struct IfcRelAggregates;
1187     typedef NotImplemented IfcRelAssigns; // (not currently used by Assimp)
1188     typedef NotImplemented IfcRelAssignsToControl; // (not currently used by Assimp)
1189     typedef NotImplemented IfcRelAssignsTasks; // (not currently used by Assimp)
1190     typedef NotImplemented IfcRelAssignsToActor; // (not currently used by Assimp)
1191     typedef NotImplemented IfcRelAssignsToGroup; // (not currently used by Assimp)
1192     typedef NotImplemented IfcRelAssignsToProcess; // (not currently used by Assimp)
1193     typedef NotImplemented IfcRelAssignsToProduct; // (not currently used by Assimp)
1194     typedef NotImplemented IfcRelAssignsToProjectOrder; // (not currently used by Assimp)
1195     typedef NotImplemented IfcRelAssignsToResource; // (not currently used by Assimp)
1196     typedef NotImplemented IfcRelAssociates; // (not currently used by Assimp)
1197     typedef NotImplemented IfcRelAssociatesAppliedValue; // (not currently used by Assimp)
1198     typedef NotImplemented IfcRelAssociatesApproval; // (not currently used by Assimp)
1199     typedef NotImplemented IfcRelAssociatesClassification; // (not currently used by Assimp)
1200     typedef NotImplemented IfcRelAssociatesConstraint; // (not currently used by Assimp)
1201     typedef NotImplemented IfcRelAssociatesDocument; // (not currently used by Assimp)
1202     typedef NotImplemented IfcRelAssociatesLibrary; // (not currently used by Assimp)
1203     typedef NotImplemented IfcRelAssociatesMaterial; // (not currently used by Assimp)
1204     typedef NotImplemented IfcRelAssociatesProfileProperties; // (not currently used by Assimp)
1205     struct IfcRelConnects;
1206     typedef NotImplemented IfcRelConnectsElements; // (not currently used by Assimp)
1207     typedef NotImplemented IfcRelConnectsPathElements; // (not currently used by Assimp)
1208     typedef NotImplemented IfcRelConnectsPortToElement; // (not currently used by Assimp)
1209     typedef NotImplemented IfcRelConnectsPorts; // (not currently used by Assimp)
1210     typedef NotImplemented IfcRelConnectsStructuralActivity; // (not currently used by Assimp)
1211     typedef NotImplemented IfcRelConnectsStructuralElement; // (not currently used by Assimp)
1212     typedef NotImplemented IfcRelConnectsStructuralMember; // (not currently used by Assimp)
1213     typedef NotImplemented IfcRelConnectsWithEccentricity; // (not currently used by Assimp)
1214     typedef NotImplemented IfcRelConnectsWithRealizingElements; // (not currently used by Assimp)
1215     struct IfcRelContainedInSpatialStructure;
1216     typedef NotImplemented IfcRelCoversBldgElements; // (not currently used by Assimp)
1217     typedef NotImplemented IfcRelCoversSpaces; // (not currently used by Assimp)
1218     struct IfcRelDefines;
1219     struct IfcRelDefinesByProperties;
1220     typedef NotImplemented IfcRelDefinesByType; // (not currently used by Assimp)
1221     struct IfcRelFillsElement;
1222     typedef NotImplemented IfcRelFlowControlElements; // (not currently used by Assimp)
1223     typedef NotImplemented IfcRelInteractionRequirements; // (not currently used by Assimp)
1224     typedef NotImplemented IfcRelNests; // (not currently used by Assimp)
1225     typedef NotImplemented IfcRelOccupiesSpaces; // (not currently used by Assimp)
1226     struct IfcRelOverridesProperties;
1227     typedef NotImplemented IfcRelProjectsElement; // (not currently used by Assimp)
1228     typedef NotImplemented IfcRelReferencedInSpatialStructure; // (not currently used by Assimp)
1229     typedef NotImplemented IfcRelSchedulesCostItems; // (not currently used by Assimp)
1230     typedef NotImplemented IfcRelSequence; // (not currently used by Assimp)
1231     typedef NotImplemented IfcRelServicesBuildings; // (not currently used by Assimp)
1232     typedef NotImplemented IfcRelSpaceBoundary; // (not currently used by Assimp)
1233     struct IfcRelVoidsElement;
1234     typedef NotImplemented IfcRelaxation; // (not currently used by Assimp)
1235     struct IfcRepresentation;
1236     struct IfcRepresentationMap;
1237     struct IfcRevolvedAreaSolid;
1238     typedef NotImplemented IfcRibPlateProfileProperties; // (not currently used by Assimp)
1239     struct IfcRightCircularCone;
1240     struct IfcRightCircularCylinder;
1241     struct IfcRoof;
1242     struct IfcRoundedEdgeFeature;
1243     struct IfcRoundedRectangleProfileDef;
1244     struct IfcSIUnit;
1245     struct IfcSanitaryTerminalType;
1246     struct IfcScheduleTimeControl;
1247     typedef NotImplemented IfcSectionProperties; // (not currently used by Assimp)
1248     typedef NotImplemented IfcSectionReinforcementProperties; // (not currently used by Assimp)
1249     struct IfcSectionedSpine;
1250     struct IfcSensorType;
1251     struct IfcServiceLife;
1252     typedef NotImplemented IfcServiceLifeFactor; // (not currently used by Assimp)
1253     typedef NotImplemented IfcShapeAspect; // (not currently used by Assimp)
1254     struct IfcShapeModel;
1255     struct IfcShapeRepresentation;
1256     struct IfcShellBasedSurfaceModel;
1257     struct IfcSite;
1258     struct IfcSlab;
1259     struct IfcSlabType;
1260     typedef NotImplemented IfcSlippageConnectionCondition; // (not currently used by Assimp)
1261     typedef NotImplemented IfcSoundProperties; // (not currently used by Assimp)
1262     typedef NotImplemented IfcSoundValue; // (not currently used by Assimp)
1263     struct IfcSpace;
1264     struct IfcSpaceHeaterType;
1265     struct IfcSpaceProgram;
1266     typedef NotImplemented IfcSpaceThermalLoadProperties; // (not currently used by Assimp)
1267     struct IfcSpatialStructureElementType;
1268     struct IfcSpaceType;
1269     struct IfcSphere;
1270     struct IfcStackTerminalType;
1271     struct IfcStair;
1272     struct IfcStairFlight;
1273     struct IfcStairFlightType;
1274     struct IfcStructuralActivity;
1275     struct IfcStructuralAction;
1276     struct IfcStructuralAnalysisModel;
1277     struct IfcStructuralItem;
1278     struct IfcStructuralConnection;
1279     struct IfcStructuralCurveConnection;
1280     struct IfcStructuralMember;
1281     struct IfcStructuralCurveMember;
1282     struct IfcStructuralCurveMemberVarying;
1283     struct IfcStructuralLinearAction;
1284     struct IfcStructuralLinearActionVarying;
1285     typedef NotImplemented IfcStructuralLoad; // (not currently used by Assimp)
1286     struct IfcStructuralLoadGroup;
1287     typedef NotImplemented IfcStructuralLoadStatic; // (not currently used by Assimp)
1288     typedef NotImplemented IfcStructuralLoadLinearForce; // (not currently used by Assimp)
1289     typedef NotImplemented IfcStructuralLoadPlanarForce; // (not currently used by Assimp)
1290     typedef NotImplemented IfcStructuralLoadSingleDisplacement; // (not currently used by Assimp)
1291     typedef NotImplemented IfcStructuralLoadSingleDisplacementDistortion; // (not currently used by Assimp)
1292     typedef NotImplemented IfcStructuralLoadSingleForce; // (not currently used by Assimp)
1293     typedef NotImplemented IfcStructuralLoadSingleForceWarping; // (not currently used by Assimp)
1294     typedef NotImplemented IfcStructuralLoadTemperature; // (not currently used by Assimp)
1295     struct IfcStructuralPlanarAction;
1296     struct IfcStructuralPlanarActionVarying;
1297     struct IfcStructuralPointAction;
1298     struct IfcStructuralPointConnection;
1299     struct IfcStructuralReaction;
1300     struct IfcStructuralPointReaction;
1301     typedef NotImplemented IfcStructuralProfileProperties; // (not currently used by Assimp)
1302     struct IfcStructuralResultGroup;
1303     typedef NotImplemented IfcStructuralSteelProfileProperties; // (not currently used by Assimp)
1304     struct IfcStructuralSurfaceConnection;
1305     struct IfcStructuralSurfaceMember;
1306     struct IfcStructuralSurfaceMemberVarying;
1307     struct IfcStructuredDimensionCallout;
1308     struct IfcStyleModel;
1309     struct IfcStyledRepresentation;
1310     struct IfcSubContractResource;
1311     struct IfcSubedge;
1312     struct IfcSurfaceCurveSweptAreaSolid;
1313     struct IfcSweptSurface;
1314     struct IfcSurfaceOfLinearExtrusion;
1315     struct IfcSurfaceOfRevolution;
1316     struct IfcSurfaceStyle;
1317     typedef NotImplemented IfcSurfaceStyleLighting; // (not currently used by Assimp)
1318     typedef NotImplemented IfcSurfaceStyleRefraction; // (not currently used by Assimp)
1319     struct IfcSurfaceStyleShading;
1320     struct IfcSurfaceStyleRendering;
1321     struct IfcSurfaceStyleWithTextures;
1322     struct IfcSweptDiskSolid;
1323     struct IfcSwitchingDeviceType;
1324     typedef NotImplemented IfcSymbolStyle; // (not currently used by Assimp)
1325     struct IfcSystemFurnitureElementType;
1326     struct IfcTShapeProfileDef;
1327     typedef NotImplemented IfcTable; // (not currently used by Assimp)
1328     typedef NotImplemented IfcTableRow; // (not currently used by Assimp)
1329     struct IfcTankType;
1330     typedef NotImplemented IfcTelecomAddress; // (not currently used by Assimp)
1331     struct IfcTendon;
1332     struct IfcTendonAnchor;
1333     struct IfcTextLiteral;
1334     struct IfcTextLiteralWithExtent;
1335     typedef NotImplemented IfcTextStyle; // (not currently used by Assimp)
1336     typedef NotImplemented IfcTextStyleFontModel; // (not currently used by Assimp)
1337     typedef NotImplemented IfcTextStyleForDefinedFont; // (not currently used by Assimp)
1338     typedef NotImplemented IfcTextStyleTextModel; // (not currently used by Assimp)
1339     typedef NotImplemented IfcTextStyleWithBoxCharacteristics; // (not currently used by Assimp)
1340     typedef NotImplemented IfcTextureCoordinate; // (not currently used by Assimp)
1341     typedef NotImplemented IfcTextureCoordinateGenerator; // (not currently used by Assimp)
1342     typedef NotImplemented IfcTextureMap; // (not currently used by Assimp)
1343     typedef NotImplemented IfcTextureVertex; // (not currently used by Assimp)
1344     typedef NotImplemented IfcThermalMaterialProperties; // (not currently used by Assimp)
1345     typedef NotImplemented IfcTimeSeriesReferenceRelationship; // (not currently used by Assimp)
1346     struct IfcTimeSeriesSchedule;
1347     typedef NotImplemented IfcTimeSeriesValue; // (not currently used by Assimp)
1348     struct IfcTopologyRepresentation;
1349     struct IfcTransformerType;
1350     struct IfcTransportElement;
1351     struct IfcTransportElementType;
1352     struct IfcTrapeziumProfileDef;
1353     struct IfcTrimmedCurve;
1354     struct IfcTubeBundleType;
1355     struct IfcTwoDirectionRepeatFactor;
1356     struct IfcUShapeProfileDef;
1357     struct IfcUnitAssignment;
1358     struct IfcUnitaryEquipmentType;
1359     struct IfcValveType;
1360     struct IfcVector;
1361     struct IfcVertex;
1362     typedef NotImplemented IfcVertexBasedTextureMap; // (not currently used by Assimp)
1363     struct IfcVertexLoop;
1364     struct IfcVertexPoint;
1365     struct IfcVibrationIsolatorType;
1366     struct IfcVirtualElement;
1367     typedef NotImplemented IfcVirtualGridIntersection; // (not currently used by Assimp)
1368     struct IfcWall;
1369     struct IfcWallStandardCase;
1370     struct IfcWallType;
1371     struct IfcWasteTerminalType;
1372     typedef NotImplemented IfcWaterProperties; // (not currently used by Assimp)
1373     struct IfcWindow;
1374     typedef NotImplemented IfcWindowLiningProperties; // (not currently used by Assimp)
1375     typedef NotImplemented IfcWindowPanelProperties; // (not currently used by Assimp)
1376     struct IfcWindowStyle;
1377     struct IfcWorkControl;
1378     struct IfcWorkPlan;
1379     struct IfcWorkSchedule;
1380     struct IfcZShapeProfileDef;
1381     struct IfcZone;
1382 
1383 
1384 
1385     // C++ wrapper for IfcRepresentationItem
IfcRepresentationItemIfcRepresentationItem1386     struct IfcRepresentationItem :  ObjectHelper<IfcRepresentationItem,0> { IfcRepresentationItem() : Object("IfcRepresentationItem") {}
1387 
1388     };
1389 
1390     // C++ wrapper for IfcGeometricRepresentationItem
IfcGeometricRepresentationItemIfcGeometricRepresentationItem1391     struct IfcGeometricRepresentationItem : IfcRepresentationItem, ObjectHelper<IfcGeometricRepresentationItem,0> { IfcGeometricRepresentationItem() : Object("IfcGeometricRepresentationItem") {}
1392 
1393     };
1394 
1395     // C++ wrapper for IfcCurve
IfcCurveIfcCurve1396     struct IfcCurve : IfcGeometricRepresentationItem, ObjectHelper<IfcCurve,0> { IfcCurve() : Object("IfcCurve") {}
1397 
1398     };
1399 
1400     // C++ wrapper for IfcBoundedCurve
IfcBoundedCurveIfcBoundedCurve1401     struct IfcBoundedCurve : IfcCurve, ObjectHelper<IfcBoundedCurve,0> { IfcBoundedCurve() : Object("IfcBoundedCurve") {}
1402 
1403     };
1404 
1405     // C++ wrapper for IfcCompositeCurve
IfcCompositeCurveIfcCompositeCurve1406     struct IfcCompositeCurve : IfcBoundedCurve, ObjectHelper<IfcCompositeCurve,2> { IfcCompositeCurve() : Object("IfcCompositeCurve") {}
1407         ListOf< Lazy< IfcCompositeCurveSegment >, 1, 0 > Segments;
1408         LOGICAL::Out SelfIntersect;
1409     };
1410 
1411     // C++ wrapper for Ifc2DCompositeCurve
Ifc2DCompositeCurveIfc2DCompositeCurve1412     struct Ifc2DCompositeCurve : IfcCompositeCurve, ObjectHelper<Ifc2DCompositeCurve,0> { Ifc2DCompositeCurve() : Object("Ifc2DCompositeCurve") {}
1413 
1414     };
1415 
1416     // C++ wrapper for IfcRoot
IfcRootIfcRoot1417     struct IfcRoot :  ObjectHelper<IfcRoot,4> { IfcRoot() : Object("IfcRoot") {}
1418         IfcGloballyUniqueId::Out GlobalId;
1419         Lazy< NotImplemented > OwnerHistory;
1420         Maybe< IfcLabel::Out > Name;
1421         Maybe< IfcText::Out > Description;
1422     };
1423 
1424     // C++ wrapper for IfcObjectDefinition
IfcObjectDefinitionIfcObjectDefinition1425     struct IfcObjectDefinition : IfcRoot, ObjectHelper<IfcObjectDefinition,0> { IfcObjectDefinition() : Object("IfcObjectDefinition") {}
1426 
1427     };
1428 
1429     // C++ wrapper for IfcObject
IfcObjectIfcObject1430     struct IfcObject : IfcObjectDefinition, ObjectHelper<IfcObject,1> { IfcObject() : Object("IfcObject") {}
1431         Maybe< IfcLabel::Out > ObjectType;
1432     };
1433 
1434     // C++ wrapper for IfcControl
IfcControlIfcControl1435     struct IfcControl : IfcObject, ObjectHelper<IfcControl,0> { IfcControl() : Object("IfcControl") {}
1436 
1437     };
1438 
1439     // C++ wrapper for IfcActionRequest
IfcActionRequestIfcActionRequest1440     struct IfcActionRequest : IfcControl, ObjectHelper<IfcActionRequest,1> { IfcActionRequest() : Object("IfcActionRequest") {}
1441         IfcIdentifier::Out RequestID;
1442     };
1443 
1444     // C++ wrapper for IfcActor
IfcActorIfcActor1445     struct IfcActor : IfcObject, ObjectHelper<IfcActor,1> { IfcActor() : Object("IfcActor") {}
1446         IfcActorSelect::Out TheActor;
1447     };
1448 
1449     // C++ wrapper for IfcTypeObject
IfcTypeObjectIfcTypeObject1450     struct IfcTypeObject : IfcObjectDefinition, ObjectHelper<IfcTypeObject,2> { IfcTypeObject() : Object("IfcTypeObject") {}
1451         Maybe< IfcLabel::Out > ApplicableOccurrence;
1452         Maybe< ListOf< Lazy< IfcPropertySetDefinition >, 1, 0 > > HasPropertySets;
1453     };
1454 
1455     // C++ wrapper for IfcTypeProduct
IfcTypeProductIfcTypeProduct1456     struct IfcTypeProduct : IfcTypeObject, ObjectHelper<IfcTypeProduct,2> { IfcTypeProduct() : Object("IfcTypeProduct") {}
1457         Maybe< ListOf< Lazy< IfcRepresentationMap >, 1, 0 > > RepresentationMaps;
1458         Maybe< IfcLabel::Out > Tag;
1459     };
1460 
1461     // C++ wrapper for IfcElementType
IfcElementTypeIfcElementType1462     struct IfcElementType : IfcTypeProduct, ObjectHelper<IfcElementType,1> { IfcElementType() : Object("IfcElementType") {}
1463         Maybe< IfcLabel::Out > ElementType;
1464     };
1465 
1466     // C++ wrapper for IfcDistributionElementType
IfcDistributionElementTypeIfcDistributionElementType1467     struct IfcDistributionElementType : IfcElementType, ObjectHelper<IfcDistributionElementType,0> { IfcDistributionElementType() : Object("IfcDistributionElementType") {}
1468 
1469     };
1470 
1471     // C++ wrapper for IfcDistributionControlElementType
IfcDistributionControlElementTypeIfcDistributionControlElementType1472     struct IfcDistributionControlElementType : IfcDistributionElementType, ObjectHelper<IfcDistributionControlElementType,0> { IfcDistributionControlElementType() : Object("IfcDistributionControlElementType") {}
1473 
1474     };
1475 
1476     // C++ wrapper for IfcActuatorType
IfcActuatorTypeIfcActuatorType1477     struct IfcActuatorType : IfcDistributionControlElementType, ObjectHelper<IfcActuatorType,1> { IfcActuatorType() : Object("IfcActuatorType") {}
1478         IfcActuatorTypeEnum::Out PredefinedType;
1479     };
1480 
1481     // C++ wrapper for IfcDistributionFlowElementType
IfcDistributionFlowElementTypeIfcDistributionFlowElementType1482     struct IfcDistributionFlowElementType : IfcDistributionElementType, ObjectHelper<IfcDistributionFlowElementType,0> { IfcDistributionFlowElementType() : Object("IfcDistributionFlowElementType") {}
1483 
1484     };
1485 
1486     // C++ wrapper for IfcFlowControllerType
IfcFlowControllerTypeIfcFlowControllerType1487     struct IfcFlowControllerType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowControllerType,0> { IfcFlowControllerType() : Object("IfcFlowControllerType") {}
1488 
1489     };
1490 
1491     // C++ wrapper for IfcAirTerminalBoxType
IfcAirTerminalBoxTypeIfcAirTerminalBoxType1492     struct IfcAirTerminalBoxType : IfcFlowControllerType, ObjectHelper<IfcAirTerminalBoxType,1> { IfcAirTerminalBoxType() : Object("IfcAirTerminalBoxType") {}
1493         IfcAirTerminalBoxTypeEnum::Out PredefinedType;
1494     };
1495 
1496     // C++ wrapper for IfcFlowTerminalType
IfcFlowTerminalTypeIfcFlowTerminalType1497     struct IfcFlowTerminalType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowTerminalType,0> { IfcFlowTerminalType() : Object("IfcFlowTerminalType") {}
1498 
1499     };
1500 
1501     // C++ wrapper for IfcAirTerminalType
IfcAirTerminalTypeIfcAirTerminalType1502     struct IfcAirTerminalType : IfcFlowTerminalType, ObjectHelper<IfcAirTerminalType,1> { IfcAirTerminalType() : Object("IfcAirTerminalType") {}
1503         IfcAirTerminalTypeEnum::Out PredefinedType;
1504     };
1505 
1506     // C++ wrapper for IfcEnergyConversionDeviceType
IfcEnergyConversionDeviceTypeIfcEnergyConversionDeviceType1507     struct IfcEnergyConversionDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcEnergyConversionDeviceType,0> { IfcEnergyConversionDeviceType() : Object("IfcEnergyConversionDeviceType") {}
1508 
1509     };
1510 
1511     // C++ wrapper for IfcAirToAirHeatRecoveryType
IfcAirToAirHeatRecoveryTypeIfcAirToAirHeatRecoveryType1512     struct IfcAirToAirHeatRecoveryType : IfcEnergyConversionDeviceType, ObjectHelper<IfcAirToAirHeatRecoveryType,1> { IfcAirToAirHeatRecoveryType() : Object("IfcAirToAirHeatRecoveryType") {}
1513         IfcAirToAirHeatRecoveryTypeEnum::Out PredefinedType;
1514     };
1515 
1516     // C++ wrapper for IfcAlarmType
IfcAlarmTypeIfcAlarmType1517     struct IfcAlarmType : IfcDistributionControlElementType, ObjectHelper<IfcAlarmType,1> { IfcAlarmType() : Object("IfcAlarmType") {}
1518         IfcAlarmTypeEnum::Out PredefinedType;
1519     };
1520 
1521     // C++ wrapper for IfcDraughtingCallout
IfcDraughtingCalloutIfcDraughtingCallout1522     struct IfcDraughtingCallout : IfcGeometricRepresentationItem, ObjectHelper<IfcDraughtingCallout,1> { IfcDraughtingCallout() : Object("IfcDraughtingCallout") {}
1523         ListOf< IfcDraughtingCalloutElement, 1, 0 >::Out Contents;
1524     };
1525 
1526     // C++ wrapper for IfcDimensionCurveDirectedCallout
IfcDimensionCurveDirectedCalloutIfcDimensionCurveDirectedCallout1527     struct IfcDimensionCurveDirectedCallout : IfcDraughtingCallout, ObjectHelper<IfcDimensionCurveDirectedCallout,0> { IfcDimensionCurveDirectedCallout() : Object("IfcDimensionCurveDirectedCallout") {}
1528 
1529     };
1530 
1531     // C++ wrapper for IfcAngularDimension
IfcAngularDimensionIfcAngularDimension1532     struct IfcAngularDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcAngularDimension,0> { IfcAngularDimension() : Object("IfcAngularDimension") {}
1533 
1534     };
1535 
1536     // C++ wrapper for IfcProduct
IfcProductIfcProduct1537     struct IfcProduct : IfcObject, ObjectHelper<IfcProduct,2> { IfcProduct() : Object("IfcProduct") {}
1538         Maybe< Lazy< IfcObjectPlacement > > ObjectPlacement;
1539         Maybe< Lazy< IfcProductRepresentation > > Representation;
1540     };
1541 
1542     // C++ wrapper for IfcAnnotation
IfcAnnotationIfcAnnotation1543     struct IfcAnnotation : IfcProduct, ObjectHelper<IfcAnnotation,0> { IfcAnnotation() : Object("IfcAnnotation") {}
1544 
1545     };
1546 
1547     // C++ wrapper for IfcStyledItem
IfcStyledItemIfcStyledItem1548     struct IfcStyledItem : IfcRepresentationItem, ObjectHelper<IfcStyledItem,3> { IfcStyledItem() : Object("IfcStyledItem") {}
1549         Maybe< Lazy< IfcRepresentationItem > > Item;
1550         ListOf< Lazy< IfcPresentationStyleAssignment >, 1, 0 > Styles;
1551         Maybe< IfcLabel::Out > Name;
1552     };
1553 
1554     // C++ wrapper for IfcAnnotationOccurrence
IfcAnnotationOccurrenceIfcAnnotationOccurrence1555     struct IfcAnnotationOccurrence : IfcStyledItem, ObjectHelper<IfcAnnotationOccurrence,0> { IfcAnnotationOccurrence() : Object("IfcAnnotationOccurrence") {}
1556 
1557     };
1558 
1559     // C++ wrapper for IfcAnnotationCurveOccurrence
IfcAnnotationCurveOccurrenceIfcAnnotationCurveOccurrence1560     struct IfcAnnotationCurveOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationCurveOccurrence,0> { IfcAnnotationCurveOccurrence() : Object("IfcAnnotationCurveOccurrence") {}
1561 
1562     };
1563 
1564     // C++ wrapper for IfcAnnotationFillArea
IfcAnnotationFillAreaIfcAnnotationFillArea1565     struct IfcAnnotationFillArea : IfcGeometricRepresentationItem, ObjectHelper<IfcAnnotationFillArea,2> { IfcAnnotationFillArea() : Object("IfcAnnotationFillArea") {}
1566         Lazy< IfcCurve > OuterBoundary;
1567         Maybe< ListOf< Lazy< IfcCurve >, 1, 0 > > InnerBoundaries;
1568     };
1569 
1570     // C++ wrapper for IfcAnnotationFillAreaOccurrence
IfcAnnotationFillAreaOccurrenceIfcAnnotationFillAreaOccurrence1571     struct IfcAnnotationFillAreaOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationFillAreaOccurrence,2> { IfcAnnotationFillAreaOccurrence() : Object("IfcAnnotationFillAreaOccurrence") {}
1572         Maybe< Lazy< IfcPoint > > FillStyleTarget;
1573         Maybe< IfcGlobalOrLocalEnum::Out > GlobalOrLocal;
1574     };
1575 
1576     // C++ wrapper for IfcAnnotationSurface
IfcAnnotationSurfaceIfcAnnotationSurface1577     struct IfcAnnotationSurface : IfcGeometricRepresentationItem, ObjectHelper<IfcAnnotationSurface,2> { IfcAnnotationSurface() : Object("IfcAnnotationSurface") {}
1578         Lazy< IfcGeometricRepresentationItem > Item;
1579         Maybe< Lazy< NotImplemented > > TextureCoordinates;
1580     };
1581 
1582     // C++ wrapper for IfcAnnotationSurfaceOccurrence
IfcAnnotationSurfaceOccurrenceIfcAnnotationSurfaceOccurrence1583     struct IfcAnnotationSurfaceOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationSurfaceOccurrence,0> { IfcAnnotationSurfaceOccurrence() : Object("IfcAnnotationSurfaceOccurrence") {}
1584 
1585     };
1586 
1587     // C++ wrapper for IfcAnnotationSymbolOccurrence
IfcAnnotationSymbolOccurrenceIfcAnnotationSymbolOccurrence1588     struct IfcAnnotationSymbolOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationSymbolOccurrence,0> { IfcAnnotationSymbolOccurrence() : Object("IfcAnnotationSymbolOccurrence") {}
1589 
1590     };
1591 
1592     // C++ wrapper for IfcAnnotationTextOccurrence
IfcAnnotationTextOccurrenceIfcAnnotationTextOccurrence1593     struct IfcAnnotationTextOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationTextOccurrence,0> { IfcAnnotationTextOccurrence() : Object("IfcAnnotationTextOccurrence") {}
1594 
1595     };
1596 
1597     // C++ wrapper for IfcProfileDef
IfcProfileDefIfcProfileDef1598     struct IfcProfileDef :  ObjectHelper<IfcProfileDef,2> { IfcProfileDef() : Object("IfcProfileDef") {}
1599         IfcProfileTypeEnum::Out ProfileType;
1600         Maybe< IfcLabel::Out > ProfileName;
1601     };
1602 
1603     // C++ wrapper for IfcArbitraryClosedProfileDef
IfcArbitraryClosedProfileDefIfcArbitraryClosedProfileDef1604     struct IfcArbitraryClosedProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryClosedProfileDef,1> { IfcArbitraryClosedProfileDef() : Object("IfcArbitraryClosedProfileDef") {}
1605         Lazy< IfcCurve > OuterCurve;
1606     };
1607 
1608     // C++ wrapper for IfcArbitraryOpenProfileDef
IfcArbitraryOpenProfileDefIfcArbitraryOpenProfileDef1609     struct IfcArbitraryOpenProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryOpenProfileDef,1> { IfcArbitraryOpenProfileDef() : Object("IfcArbitraryOpenProfileDef") {}
1610         Lazy< IfcBoundedCurve > Curve;
1611     };
1612 
1613     // C++ wrapper for IfcArbitraryProfileDefWithVoids
IfcArbitraryProfileDefWithVoidsIfcArbitraryProfileDefWithVoids1614     struct IfcArbitraryProfileDefWithVoids : IfcArbitraryClosedProfileDef, ObjectHelper<IfcArbitraryProfileDefWithVoids,1> { IfcArbitraryProfileDefWithVoids() : Object("IfcArbitraryProfileDefWithVoids") {}
1615         ListOf< Lazy< IfcCurve >, 1, 0 > InnerCurves;
1616     };
1617 
1618     // C++ wrapper for IfcGroup
IfcGroupIfcGroup1619     struct IfcGroup : IfcObject, ObjectHelper<IfcGroup,0> { IfcGroup() : Object("IfcGroup") {}
1620 
1621     };
1622 
1623     // C++ wrapper for IfcAsset
IfcAssetIfcAsset1624     struct IfcAsset : IfcGroup, ObjectHelper<IfcAsset,9> { IfcAsset() : Object("IfcAsset") {}
1625         IfcIdentifier::Out AssetID;
1626         Lazy< NotImplemented > OriginalValue;
1627         Lazy< NotImplemented > CurrentValue;
1628         Lazy< NotImplemented > TotalReplacementCost;
1629         IfcActorSelect::Out Owner;
1630         IfcActorSelect::Out User;
1631         Lazy< NotImplemented > ResponsiblePerson;
1632         Lazy< NotImplemented > IncorporationDate;
1633         Lazy< NotImplemented > DepreciatedValue;
1634     };
1635 
1636     // C++ wrapper for IfcParameterizedProfileDef
IfcParameterizedProfileDefIfcParameterizedProfileDef1637     struct IfcParameterizedProfileDef : IfcProfileDef, ObjectHelper<IfcParameterizedProfileDef,1> { IfcParameterizedProfileDef() : Object("IfcParameterizedProfileDef") {}
1638         Lazy< IfcAxis2Placement2D > Position;
1639     };
1640 
1641     // C++ wrapper for IfcIShapeProfileDef
IfcIShapeProfileDefIfcIShapeProfileDef1642     struct IfcIShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcIShapeProfileDef,5> { IfcIShapeProfileDef() : Object("IfcIShapeProfileDef") {}
1643         IfcPositiveLengthMeasure::Out OverallWidth;
1644         IfcPositiveLengthMeasure::Out OverallDepth;
1645         IfcPositiveLengthMeasure::Out WebThickness;
1646         IfcPositiveLengthMeasure::Out FlangeThickness;
1647         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
1648     };
1649 
1650     // C++ wrapper for IfcAsymmetricIShapeProfileDef
IfcAsymmetricIShapeProfileDefIfcAsymmetricIShapeProfileDef1651     struct IfcAsymmetricIShapeProfileDef : IfcIShapeProfileDef, ObjectHelper<IfcAsymmetricIShapeProfileDef,4> { IfcAsymmetricIShapeProfileDef() : Object("IfcAsymmetricIShapeProfileDef") {}
1652         IfcPositiveLengthMeasure::Out TopFlangeWidth;
1653         Maybe< IfcPositiveLengthMeasure::Out > TopFlangeThickness;
1654         Maybe< IfcPositiveLengthMeasure::Out > TopFlangeFilletRadius;
1655         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
1656     };
1657 
1658     // C++ wrapper for IfcPlacement
IfcPlacementIfcPlacement1659     struct IfcPlacement : IfcGeometricRepresentationItem, ObjectHelper<IfcPlacement,1> { IfcPlacement() : Object("IfcPlacement") {}
1660         Lazy< IfcCartesianPoint > Location;
1661     };
1662 
1663     // C++ wrapper for IfcAxis1Placement
IfcAxis1PlacementIfcAxis1Placement1664     struct IfcAxis1Placement : IfcPlacement, ObjectHelper<IfcAxis1Placement,1> { IfcAxis1Placement() : Object("IfcAxis1Placement") {}
1665         Maybe< Lazy< IfcDirection > > Axis;
1666     };
1667 
1668     // C++ wrapper for IfcAxis2Placement2D
IfcAxis2Placement2DIfcAxis2Placement2D1669     struct IfcAxis2Placement2D : IfcPlacement, ObjectHelper<IfcAxis2Placement2D,1> { IfcAxis2Placement2D() : Object("IfcAxis2Placement2D") {}
1670         Maybe< Lazy< IfcDirection > > RefDirection;
1671     };
1672 
1673     // C++ wrapper for IfcAxis2Placement3D
IfcAxis2Placement3DIfcAxis2Placement3D1674     struct IfcAxis2Placement3D : IfcPlacement, ObjectHelper<IfcAxis2Placement3D,2> { IfcAxis2Placement3D() : Object("IfcAxis2Placement3D") {}
1675         Maybe< Lazy< IfcDirection > > Axis;
1676         Maybe< Lazy< IfcDirection > > RefDirection;
1677     };
1678 
1679     // C++ wrapper for IfcBSplineCurve
IfcBSplineCurveIfcBSplineCurve1680     struct IfcBSplineCurve : IfcBoundedCurve, ObjectHelper<IfcBSplineCurve,5> { IfcBSplineCurve() : Object("IfcBSplineCurve") {}
1681         INTEGER::Out Degree;
1682         ListOf< Lazy< IfcCartesianPoint >, 2, 0 > ControlPointsList;
1683         IfcBSplineCurveForm::Out CurveForm;
1684         LOGICAL::Out ClosedCurve;
1685         LOGICAL::Out SelfIntersect;
1686     };
1687 
1688     // C++ wrapper for IfcElement
IfcElementIfcElement1689     struct IfcElement : IfcProduct, ObjectHelper<IfcElement,1> { IfcElement() : Object("IfcElement") {}
1690         Maybe< IfcIdentifier::Out > Tag;
1691     };
1692 
1693     // C++ wrapper for IfcBuildingElement
IfcBuildingElementIfcBuildingElement1694     struct IfcBuildingElement : IfcElement, ObjectHelper<IfcBuildingElement,0> { IfcBuildingElement() : Object("IfcBuildingElement") {}
1695 
1696     };
1697 
1698     // C++ wrapper for IfcBeam
IfcBeamIfcBeam1699     struct IfcBeam : IfcBuildingElement, ObjectHelper<IfcBeam,0> { IfcBeam() : Object("IfcBeam") {}
1700 
1701     };
1702 
1703     // C++ wrapper for IfcBuildingElementType
IfcBuildingElementTypeIfcBuildingElementType1704     struct IfcBuildingElementType : IfcElementType, ObjectHelper<IfcBuildingElementType,0> { IfcBuildingElementType() : Object("IfcBuildingElementType") {}
1705 
1706     };
1707 
1708     // C++ wrapper for IfcBeamType
IfcBeamTypeIfcBeamType1709     struct IfcBeamType : IfcBuildingElementType, ObjectHelper<IfcBeamType,1> { IfcBeamType() : Object("IfcBeamType") {}
1710         IfcBeamTypeEnum::Out PredefinedType;
1711     };
1712 
1713     // C++ wrapper for IfcBezierCurve
IfcBezierCurveIfcBezierCurve1714     struct IfcBezierCurve : IfcBSplineCurve, ObjectHelper<IfcBezierCurve,0> { IfcBezierCurve() : Object("IfcBezierCurve") {}
1715 
1716     };
1717 
1718     // C++ wrapper for IfcCsgPrimitive3D
IfcCsgPrimitive3DIfcCsgPrimitive3D1719     struct IfcCsgPrimitive3D : IfcGeometricRepresentationItem, ObjectHelper<IfcCsgPrimitive3D,1> { IfcCsgPrimitive3D() : Object("IfcCsgPrimitive3D") {}
1720         Lazy< IfcAxis2Placement3D > Position;
1721     };
1722 
1723     // C++ wrapper for IfcBlock
IfcBlockIfcBlock1724     struct IfcBlock : IfcCsgPrimitive3D, ObjectHelper<IfcBlock,3> { IfcBlock() : Object("IfcBlock") {}
1725         IfcPositiveLengthMeasure::Out XLength;
1726         IfcPositiveLengthMeasure::Out YLength;
1727         IfcPositiveLengthMeasure::Out ZLength;
1728     };
1729 
1730     // C++ wrapper for IfcBoilerType
IfcBoilerTypeIfcBoilerType1731     struct IfcBoilerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcBoilerType,1> { IfcBoilerType() : Object("IfcBoilerType") {}
1732         IfcBoilerTypeEnum::Out PredefinedType;
1733     };
1734 
1735     // C++ wrapper for IfcBooleanResult
IfcBooleanResultIfcBooleanResult1736     struct IfcBooleanResult : IfcGeometricRepresentationItem, ObjectHelper<IfcBooleanResult,3> { IfcBooleanResult() : Object("IfcBooleanResult") {}
1737         IfcBooleanOperator::Out Operator;
1738         IfcBooleanOperand::Out FirstOperand;
1739         IfcBooleanOperand::Out SecondOperand;
1740     };
1741 
1742     // C++ wrapper for IfcBooleanClippingResult
IfcBooleanClippingResultIfcBooleanClippingResult1743     struct IfcBooleanClippingResult : IfcBooleanResult, ObjectHelper<IfcBooleanClippingResult,0> { IfcBooleanClippingResult() : Object("IfcBooleanClippingResult") {}
1744 
1745     };
1746 
1747     // C++ wrapper for IfcSurface
IfcSurfaceIfcSurface1748     struct IfcSurface : IfcGeometricRepresentationItem, ObjectHelper<IfcSurface,0> { IfcSurface() : Object("IfcSurface") {}
1749 
1750     };
1751 
1752     // C++ wrapper for IfcBoundedSurface
IfcBoundedSurfaceIfcBoundedSurface1753     struct IfcBoundedSurface : IfcSurface, ObjectHelper<IfcBoundedSurface,0> { IfcBoundedSurface() : Object("IfcBoundedSurface") {}
1754 
1755     };
1756 
1757     // C++ wrapper for IfcBoundingBox
IfcBoundingBoxIfcBoundingBox1758     struct IfcBoundingBox : IfcGeometricRepresentationItem, ObjectHelper<IfcBoundingBox,4> { IfcBoundingBox() : Object("IfcBoundingBox") {}
1759         Lazy< IfcCartesianPoint > Corner;
1760         IfcPositiveLengthMeasure::Out XDim;
1761         IfcPositiveLengthMeasure::Out YDim;
1762         IfcPositiveLengthMeasure::Out ZDim;
1763     };
1764 
1765     // C++ wrapper for IfcHalfSpaceSolid
IfcHalfSpaceSolidIfcHalfSpaceSolid1766     struct IfcHalfSpaceSolid : IfcGeometricRepresentationItem, ObjectHelper<IfcHalfSpaceSolid,2> { IfcHalfSpaceSolid() : Object("IfcHalfSpaceSolid") {}
1767         Lazy< IfcSurface > BaseSurface;
1768         BOOLEAN::Out AgreementFlag;
1769     };
1770 
1771     // C++ wrapper for IfcBoxedHalfSpace
IfcBoxedHalfSpaceIfcBoxedHalfSpace1772     struct IfcBoxedHalfSpace : IfcHalfSpaceSolid, ObjectHelper<IfcBoxedHalfSpace,1> { IfcBoxedHalfSpace() : Object("IfcBoxedHalfSpace") {}
1773         Lazy< IfcBoundingBox > Enclosure;
1774     };
1775 
1776     // C++ wrapper for IfcSpatialStructureElement
IfcSpatialStructureElementIfcSpatialStructureElement1777     struct IfcSpatialStructureElement : IfcProduct, ObjectHelper<IfcSpatialStructureElement,2> { IfcSpatialStructureElement() : Object("IfcSpatialStructureElement") {}
1778         Maybe< IfcLabel::Out > LongName;
1779         IfcElementCompositionEnum::Out CompositionType;
1780     };
1781 
1782     // C++ wrapper for IfcBuilding
IfcBuildingIfcBuilding1783     struct IfcBuilding : IfcSpatialStructureElement, ObjectHelper<IfcBuilding,3> { IfcBuilding() : Object("IfcBuilding") {}
1784         Maybe< IfcLengthMeasure::Out > ElevationOfRefHeight;
1785         Maybe< IfcLengthMeasure::Out > ElevationOfTerrain;
1786         Maybe< Lazy< NotImplemented > > BuildingAddress;
1787     };
1788 
1789     // C++ wrapper for IfcBuildingElementComponent
IfcBuildingElementComponentIfcBuildingElementComponent1790     struct IfcBuildingElementComponent : IfcBuildingElement, ObjectHelper<IfcBuildingElementComponent,0> { IfcBuildingElementComponent() : Object("IfcBuildingElementComponent") {}
1791 
1792     };
1793 
1794     // C++ wrapper for IfcBuildingElementPart
IfcBuildingElementPartIfcBuildingElementPart1795     struct IfcBuildingElementPart : IfcBuildingElementComponent, ObjectHelper<IfcBuildingElementPart,0> { IfcBuildingElementPart() : Object("IfcBuildingElementPart") {}
1796 
1797     };
1798 
1799     // C++ wrapper for IfcBuildingElementProxy
IfcBuildingElementProxyIfcBuildingElementProxy1800     struct IfcBuildingElementProxy : IfcBuildingElement, ObjectHelper<IfcBuildingElementProxy,1> { IfcBuildingElementProxy() : Object("IfcBuildingElementProxy") {}
1801         Maybe< IfcElementCompositionEnum::Out > CompositionType;
1802     };
1803 
1804     // C++ wrapper for IfcBuildingElementProxyType
IfcBuildingElementProxyTypeIfcBuildingElementProxyType1805     struct IfcBuildingElementProxyType : IfcBuildingElementType, ObjectHelper<IfcBuildingElementProxyType,1> { IfcBuildingElementProxyType() : Object("IfcBuildingElementProxyType") {}
1806         IfcBuildingElementProxyTypeEnum::Out PredefinedType;
1807     };
1808 
1809     // C++ wrapper for IfcBuildingStorey
IfcBuildingStoreyIfcBuildingStorey1810     struct IfcBuildingStorey : IfcSpatialStructureElement, ObjectHelper<IfcBuildingStorey,1> { IfcBuildingStorey() : Object("IfcBuildingStorey") {}
1811         Maybe< IfcLengthMeasure::Out > Elevation;
1812     };
1813 
1814     // C++ wrapper for IfcCShapeProfileDef
IfcCShapeProfileDefIfcCShapeProfileDef1815     struct IfcCShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCShapeProfileDef,6> { IfcCShapeProfileDef() : Object("IfcCShapeProfileDef") {}
1816         IfcPositiveLengthMeasure::Out Depth;
1817         IfcPositiveLengthMeasure::Out Width;
1818         IfcPositiveLengthMeasure::Out WallThickness;
1819         IfcPositiveLengthMeasure::Out Girth;
1820         Maybe< IfcPositiveLengthMeasure::Out > InternalFilletRadius;
1821         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
1822     };
1823 
1824     // C++ wrapper for IfcFlowFittingType
IfcFlowFittingTypeIfcFlowFittingType1825     struct IfcFlowFittingType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowFittingType,0> { IfcFlowFittingType() : Object("IfcFlowFittingType") {}
1826 
1827     };
1828 
1829     // C++ wrapper for IfcCableCarrierFittingType
IfcCableCarrierFittingTypeIfcCableCarrierFittingType1830     struct IfcCableCarrierFittingType : IfcFlowFittingType, ObjectHelper<IfcCableCarrierFittingType,1> { IfcCableCarrierFittingType() : Object("IfcCableCarrierFittingType") {}
1831         IfcCableCarrierFittingTypeEnum::Out PredefinedType;
1832     };
1833 
1834     // C++ wrapper for IfcFlowSegmentType
IfcFlowSegmentTypeIfcFlowSegmentType1835     struct IfcFlowSegmentType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowSegmentType,0> { IfcFlowSegmentType() : Object("IfcFlowSegmentType") {}
1836 
1837     };
1838 
1839     // C++ wrapper for IfcCableCarrierSegmentType
IfcCableCarrierSegmentTypeIfcCableCarrierSegmentType1840     struct IfcCableCarrierSegmentType : IfcFlowSegmentType, ObjectHelper<IfcCableCarrierSegmentType,1> { IfcCableCarrierSegmentType() : Object("IfcCableCarrierSegmentType") {}
1841         IfcCableCarrierSegmentTypeEnum::Out PredefinedType;
1842     };
1843 
1844     // C++ wrapper for IfcCableSegmentType
IfcCableSegmentTypeIfcCableSegmentType1845     struct IfcCableSegmentType : IfcFlowSegmentType, ObjectHelper<IfcCableSegmentType,1> { IfcCableSegmentType() : Object("IfcCableSegmentType") {}
1846         IfcCableSegmentTypeEnum::Out PredefinedType;
1847     };
1848 
1849     // C++ wrapper for IfcPoint
IfcPointIfcPoint1850     struct IfcPoint : IfcGeometricRepresentationItem, ObjectHelper<IfcPoint,0> { IfcPoint() : Object("IfcPoint") {}
1851 
1852     };
1853 
1854     // C++ wrapper for IfcCartesianPoint
IfcCartesianPointIfcCartesianPoint1855     struct IfcCartesianPoint : IfcPoint, ObjectHelper<IfcCartesianPoint,1> { IfcCartesianPoint() : Object("IfcCartesianPoint") {}
1856         ListOf< IfcLengthMeasure, 1, 3 >::Out Coordinates;
1857     };
1858 
1859     // C++ wrapper for IfcCartesianTransformationOperator
IfcCartesianTransformationOperatorIfcCartesianTransformationOperator1860     struct IfcCartesianTransformationOperator : IfcGeometricRepresentationItem, ObjectHelper<IfcCartesianTransformationOperator,4> { IfcCartesianTransformationOperator() : Object("IfcCartesianTransformationOperator") {}
1861         Maybe< Lazy< IfcDirection > > Axis1;
1862         Maybe< Lazy< IfcDirection > > Axis2;
1863         Lazy< IfcCartesianPoint > LocalOrigin;
1864         Maybe< REAL::Out > Scale;
1865     };
1866 
1867     // C++ wrapper for IfcCartesianTransformationOperator2D
IfcCartesianTransformationOperator2DIfcCartesianTransformationOperator2D1868     struct IfcCartesianTransformationOperator2D : IfcCartesianTransformationOperator, ObjectHelper<IfcCartesianTransformationOperator2D,0> { IfcCartesianTransformationOperator2D() : Object("IfcCartesianTransformationOperator2D") {}
1869 
1870     };
1871 
1872     // C++ wrapper for IfcCartesianTransformationOperator2DnonUniform
IfcCartesianTransformationOperator2DnonUniformIfcCartesianTransformationOperator2DnonUniform1873     struct IfcCartesianTransformationOperator2DnonUniform : IfcCartesianTransformationOperator2D, ObjectHelper<IfcCartesianTransformationOperator2DnonUniform,1> { IfcCartesianTransformationOperator2DnonUniform() : Object("IfcCartesianTransformationOperator2DnonUniform") {}
1874         Maybe< REAL::Out > Scale2;
1875     };
1876 
1877     // C++ wrapper for IfcCartesianTransformationOperator3D
IfcCartesianTransformationOperator3DIfcCartesianTransformationOperator3D1878     struct IfcCartesianTransformationOperator3D : IfcCartesianTransformationOperator, ObjectHelper<IfcCartesianTransformationOperator3D,1> { IfcCartesianTransformationOperator3D() : Object("IfcCartesianTransformationOperator3D") {}
1879         Maybe< Lazy< IfcDirection > > Axis3;
1880     };
1881 
1882     // C++ wrapper for IfcCartesianTransformationOperator3DnonUniform
IfcCartesianTransformationOperator3DnonUniformIfcCartesianTransformationOperator3DnonUniform1883     struct IfcCartesianTransformationOperator3DnonUniform : IfcCartesianTransformationOperator3D, ObjectHelper<IfcCartesianTransformationOperator3DnonUniform,2> { IfcCartesianTransformationOperator3DnonUniform() : Object("IfcCartesianTransformationOperator3DnonUniform") {}
1884         Maybe< REAL::Out > Scale2;
1885         Maybe< REAL::Out > Scale3;
1886     };
1887 
1888     // C++ wrapper for IfcCenterLineProfileDef
IfcCenterLineProfileDefIfcCenterLineProfileDef1889     struct IfcCenterLineProfileDef : IfcArbitraryOpenProfileDef, ObjectHelper<IfcCenterLineProfileDef,1> { IfcCenterLineProfileDef() : Object("IfcCenterLineProfileDef") {}
1890         IfcPositiveLengthMeasure::Out Thickness;
1891     };
1892 
1893     // C++ wrapper for IfcFeatureElement
IfcFeatureElementIfcFeatureElement1894     struct IfcFeatureElement : IfcElement, ObjectHelper<IfcFeatureElement,0> { IfcFeatureElement() : Object("IfcFeatureElement") {}
1895 
1896     };
1897 
1898     // C++ wrapper for IfcFeatureElementSubtraction
IfcFeatureElementSubtractionIfcFeatureElementSubtraction1899     struct IfcFeatureElementSubtraction : IfcFeatureElement, ObjectHelper<IfcFeatureElementSubtraction,0> { IfcFeatureElementSubtraction() : Object("IfcFeatureElementSubtraction") {}
1900 
1901     };
1902 
1903     // C++ wrapper for IfcEdgeFeature
IfcEdgeFeatureIfcEdgeFeature1904     struct IfcEdgeFeature : IfcFeatureElementSubtraction, ObjectHelper<IfcEdgeFeature,1> { IfcEdgeFeature() : Object("IfcEdgeFeature") {}
1905         Maybe< IfcPositiveLengthMeasure::Out > FeatureLength;
1906     };
1907 
1908     // C++ wrapper for IfcChamferEdgeFeature
IfcChamferEdgeFeatureIfcChamferEdgeFeature1909     struct IfcChamferEdgeFeature : IfcEdgeFeature, ObjectHelper<IfcChamferEdgeFeature,2> { IfcChamferEdgeFeature() : Object("IfcChamferEdgeFeature") {}
1910         Maybe< IfcPositiveLengthMeasure::Out > Width;
1911         Maybe< IfcPositiveLengthMeasure::Out > Height;
1912     };
1913 
1914     // C++ wrapper for IfcChillerType
IfcChillerTypeIfcChillerType1915     struct IfcChillerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcChillerType,1> { IfcChillerType() : Object("IfcChillerType") {}
1916         IfcChillerTypeEnum::Out PredefinedType;
1917     };
1918 
1919     // C++ wrapper for IfcConic
IfcConicIfcConic1920     struct IfcConic : IfcCurve, ObjectHelper<IfcConic,1> { IfcConic() : Object("IfcConic") {}
1921         IfcAxis2Placement::Out Position;
1922     };
1923 
1924     // C++ wrapper for IfcCircle
IfcCircleIfcCircle1925     struct IfcCircle : IfcConic, ObjectHelper<IfcCircle,1> { IfcCircle() : Object("IfcCircle") {}
1926         IfcPositiveLengthMeasure::Out Radius;
1927     };
1928 
1929     // C++ wrapper for IfcCircleProfileDef
IfcCircleProfileDefIfcCircleProfileDef1930     struct IfcCircleProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCircleProfileDef,1> { IfcCircleProfileDef() : Object("IfcCircleProfileDef") {}
1931         IfcPositiveLengthMeasure::Out Radius;
1932     };
1933 
1934     // C++ wrapper for IfcCircleHollowProfileDef
IfcCircleHollowProfileDefIfcCircleHollowProfileDef1935     struct IfcCircleHollowProfileDef : IfcCircleProfileDef, ObjectHelper<IfcCircleHollowProfileDef,1> { IfcCircleHollowProfileDef() : Object("IfcCircleHollowProfileDef") {}
1936         IfcPositiveLengthMeasure::Out WallThickness;
1937     };
1938 
1939     // C++ wrapper for IfcTopologicalRepresentationItem
IfcTopologicalRepresentationItemIfcTopologicalRepresentationItem1940     struct IfcTopologicalRepresentationItem : IfcRepresentationItem, ObjectHelper<IfcTopologicalRepresentationItem,0> { IfcTopologicalRepresentationItem() : Object("IfcTopologicalRepresentationItem") {}
1941 
1942     };
1943 
1944     // C++ wrapper for IfcConnectedFaceSet
IfcConnectedFaceSetIfcConnectedFaceSet1945     struct IfcConnectedFaceSet : IfcTopologicalRepresentationItem, ObjectHelper<IfcConnectedFaceSet,1> { IfcConnectedFaceSet() : Object("IfcConnectedFaceSet") {}
1946         ListOf< Lazy< IfcFace >, 1, 0 > CfsFaces;
1947     };
1948 
1949     // C++ wrapper for IfcClosedShell
IfcClosedShellIfcClosedShell1950     struct IfcClosedShell : IfcConnectedFaceSet, ObjectHelper<IfcClosedShell,0> { IfcClosedShell() : Object("IfcClosedShell") {}
1951 
1952     };
1953 
1954     // C++ wrapper for IfcCoilType
IfcCoilTypeIfcCoilType1955     struct IfcCoilType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCoilType,1> { IfcCoilType() : Object("IfcCoilType") {}
1956         IfcCoilTypeEnum::Out PredefinedType;
1957     };
1958 
1959     // C++ wrapper for IfcColourSpecification
IfcColourSpecificationIfcColourSpecification1960     struct IfcColourSpecification :  ObjectHelper<IfcColourSpecification,1> { IfcColourSpecification() : Object("IfcColourSpecification") {}
1961         Maybe< IfcLabel::Out > Name;
1962     };
1963 
1964     // C++ wrapper for IfcColourRgb
IfcColourRgbIfcColourRgb1965     struct IfcColourRgb : IfcColourSpecification, ObjectHelper<IfcColourRgb,3> { IfcColourRgb() : Object("IfcColourRgb") {}
1966         IfcNormalisedRatioMeasure::Out Red;
1967         IfcNormalisedRatioMeasure::Out Green;
1968         IfcNormalisedRatioMeasure::Out Blue;
1969     };
1970 
1971     // C++ wrapper for IfcColumn
IfcColumnIfcColumn1972     struct IfcColumn : IfcBuildingElement, ObjectHelper<IfcColumn,0> { IfcColumn() : Object("IfcColumn") {}
1973 
1974     };
1975 
1976     // C++ wrapper for IfcColumnType
IfcColumnTypeIfcColumnType1977     struct IfcColumnType : IfcBuildingElementType, ObjectHelper<IfcColumnType,1> { IfcColumnType() : Object("IfcColumnType") {}
1978         IfcColumnTypeEnum::Out PredefinedType;
1979     };
1980 
1981     // C++ wrapper for IfcProperty
IfcPropertyIfcProperty1982     struct IfcProperty :  ObjectHelper<IfcProperty,2> { IfcProperty() : Object("IfcProperty") {}
1983         IfcIdentifier::Out Name;
1984         Maybe< IfcText::Out > Description;
1985     };
1986 
1987     // C++ wrapper for IfcComplexProperty
IfcComplexPropertyIfcComplexProperty1988     struct IfcComplexProperty : IfcProperty, ObjectHelper<IfcComplexProperty,2> { IfcComplexProperty() : Object("IfcComplexProperty") {}
1989         IfcIdentifier::Out UsageName;
1990         ListOf< Lazy< IfcProperty >, 1, 0 > HasProperties;
1991     };
1992 
1993     // C++ wrapper for IfcCompositeCurveSegment
IfcCompositeCurveSegmentIfcCompositeCurveSegment1994     struct IfcCompositeCurveSegment : IfcGeometricRepresentationItem, ObjectHelper<IfcCompositeCurveSegment,3> { IfcCompositeCurveSegment() : Object("IfcCompositeCurveSegment") {}
1995         IfcTransitionCode::Out Transition;
1996         BOOLEAN::Out SameSense;
1997         Lazy< IfcCurve > ParentCurve;
1998     };
1999 
2000     // C++ wrapper for IfcCompositeProfileDef
IfcCompositeProfileDefIfcCompositeProfileDef2001     struct IfcCompositeProfileDef : IfcProfileDef, ObjectHelper<IfcCompositeProfileDef,2> { IfcCompositeProfileDef() : Object("IfcCompositeProfileDef") {}
2002         ListOf< Lazy< IfcProfileDef >, 2, 0 > Profiles;
2003         Maybe< IfcLabel::Out > Label;
2004     };
2005 
2006     // C++ wrapper for IfcFlowMovingDeviceType
IfcFlowMovingDeviceTypeIfcFlowMovingDeviceType2007     struct IfcFlowMovingDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowMovingDeviceType,0> { IfcFlowMovingDeviceType() : Object("IfcFlowMovingDeviceType") {}
2008 
2009     };
2010 
2011     // C++ wrapper for IfcCompressorType
IfcCompressorTypeIfcCompressorType2012     struct IfcCompressorType : IfcFlowMovingDeviceType, ObjectHelper<IfcCompressorType,1> { IfcCompressorType() : Object("IfcCompressorType") {}
2013         IfcCompressorTypeEnum::Out PredefinedType;
2014     };
2015 
2016     // C++ wrapper for IfcCondenserType
IfcCondenserTypeIfcCondenserType2017     struct IfcCondenserType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCondenserType,1> { IfcCondenserType() : Object("IfcCondenserType") {}
2018         IfcCondenserTypeEnum::Out PredefinedType;
2019     };
2020 
2021     // C++ wrapper for IfcCondition
IfcConditionIfcCondition2022     struct IfcCondition : IfcGroup, ObjectHelper<IfcCondition,0> { IfcCondition() : Object("IfcCondition") {}
2023 
2024     };
2025 
2026     // C++ wrapper for IfcConditionCriterion
IfcConditionCriterionIfcConditionCriterion2027     struct IfcConditionCriterion : IfcControl, ObjectHelper<IfcConditionCriterion,2> { IfcConditionCriterion() : Object("IfcConditionCriterion") {}
2028         IfcConditionCriterionSelect::Out Criterion;
2029         IfcDateTimeSelect::Out CriterionDateTime;
2030     };
2031 
2032     // C++ wrapper for IfcResource
IfcResourceIfcResource2033     struct IfcResource : IfcObject, ObjectHelper<IfcResource,0> { IfcResource() : Object("IfcResource") {}
2034 
2035     };
2036 
2037     // C++ wrapper for IfcConstructionResource
IfcConstructionResourceIfcConstructionResource2038     struct IfcConstructionResource : IfcResource, ObjectHelper<IfcConstructionResource,4> { IfcConstructionResource() : Object("IfcConstructionResource") {}
2039         Maybe< IfcIdentifier::Out > ResourceIdentifier;
2040         Maybe< IfcLabel::Out > ResourceGroup;
2041         Maybe< IfcResourceConsumptionEnum::Out > ResourceConsumption;
2042         Maybe< Lazy< IfcMeasureWithUnit > > BaseQuantity;
2043     };
2044 
2045     // C++ wrapper for IfcConstructionEquipmentResource
IfcConstructionEquipmentResourceIfcConstructionEquipmentResource2046     struct IfcConstructionEquipmentResource : IfcConstructionResource, ObjectHelper<IfcConstructionEquipmentResource,0> { IfcConstructionEquipmentResource() : Object("IfcConstructionEquipmentResource") {}
2047 
2048     };
2049 
2050     // C++ wrapper for IfcConstructionMaterialResource
IfcConstructionMaterialResourceIfcConstructionMaterialResource2051     struct IfcConstructionMaterialResource : IfcConstructionResource, ObjectHelper<IfcConstructionMaterialResource,2> { IfcConstructionMaterialResource() : Object("IfcConstructionMaterialResource") {}
2052         Maybe< ListOf< IfcActorSelect, 1, 0 >::Out > Suppliers;
2053         Maybe< IfcRatioMeasure::Out > UsageRatio;
2054     };
2055 
2056     // C++ wrapper for IfcConstructionProductResource
IfcConstructionProductResourceIfcConstructionProductResource2057     struct IfcConstructionProductResource : IfcConstructionResource, ObjectHelper<IfcConstructionProductResource,0> { IfcConstructionProductResource() : Object("IfcConstructionProductResource") {}
2058 
2059     };
2060 
2061     // C++ wrapper for IfcNamedUnit
IfcNamedUnitIfcNamedUnit2062     struct IfcNamedUnit :  ObjectHelper<IfcNamedUnit,2> { IfcNamedUnit() : Object("IfcNamedUnit") {}
2063         Lazy< NotImplemented > Dimensions;
2064         IfcUnitEnum::Out UnitType;
2065     };
2066 
2067     // C++ wrapper for IfcContextDependentUnit
IfcContextDependentUnitIfcContextDependentUnit2068     struct IfcContextDependentUnit : IfcNamedUnit, ObjectHelper<IfcContextDependentUnit,1> { IfcContextDependentUnit() : Object("IfcContextDependentUnit") {}
2069         IfcLabel::Out Name;
2070     };
2071 
2072     // C++ wrapper for IfcControllerType
IfcControllerTypeIfcControllerType2073     struct IfcControllerType : IfcDistributionControlElementType, ObjectHelper<IfcControllerType,1> { IfcControllerType() : Object("IfcControllerType") {}
2074         IfcControllerTypeEnum::Out PredefinedType;
2075     };
2076 
2077     // C++ wrapper for IfcConversionBasedUnit
IfcConversionBasedUnitIfcConversionBasedUnit2078     struct IfcConversionBasedUnit : IfcNamedUnit, ObjectHelper<IfcConversionBasedUnit,2> { IfcConversionBasedUnit() : Object("IfcConversionBasedUnit") {}
2079         IfcLabel::Out Name;
2080         Lazy< IfcMeasureWithUnit > ConversionFactor;
2081     };
2082 
2083     // C++ wrapper for IfcCooledBeamType
IfcCooledBeamTypeIfcCooledBeamType2084     struct IfcCooledBeamType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCooledBeamType,1> { IfcCooledBeamType() : Object("IfcCooledBeamType") {}
2085         IfcCooledBeamTypeEnum::Out PredefinedType;
2086     };
2087 
2088     // C++ wrapper for IfcCoolingTowerType
IfcCoolingTowerTypeIfcCoolingTowerType2089     struct IfcCoolingTowerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCoolingTowerType,1> { IfcCoolingTowerType() : Object("IfcCoolingTowerType") {}
2090         IfcCoolingTowerTypeEnum::Out PredefinedType;
2091     };
2092 
2093     // C++ wrapper for IfcCostItem
IfcCostItemIfcCostItem2094     struct IfcCostItem : IfcControl, ObjectHelper<IfcCostItem,0> { IfcCostItem() : Object("IfcCostItem") {}
2095 
2096     };
2097 
2098     // C++ wrapper for IfcCostSchedule
IfcCostScheduleIfcCostSchedule2099     struct IfcCostSchedule : IfcControl, ObjectHelper<IfcCostSchedule,8> { IfcCostSchedule() : Object("IfcCostSchedule") {}
2100         Maybe< IfcActorSelect::Out > SubmittedBy;
2101         Maybe< IfcActorSelect::Out > PreparedBy;
2102         Maybe< IfcDateTimeSelect::Out > SubmittedOn;
2103         Maybe< IfcLabel::Out > Status;
2104         Maybe< ListOf< IfcActorSelect, 1, 0 >::Out > TargetUsers;
2105         Maybe< IfcDateTimeSelect::Out > UpdateDate;
2106         IfcIdentifier::Out ID;
2107         IfcCostScheduleTypeEnum::Out PredefinedType;
2108     };
2109 
2110     // C++ wrapper for IfcCovering
IfcCoveringIfcCovering2111     struct IfcCovering : IfcBuildingElement, ObjectHelper<IfcCovering,1> { IfcCovering() : Object("IfcCovering") {}
2112         Maybe< IfcCoveringTypeEnum::Out > PredefinedType;
2113     };
2114 
2115     // C++ wrapper for IfcCoveringType
IfcCoveringTypeIfcCoveringType2116     struct IfcCoveringType : IfcBuildingElementType, ObjectHelper<IfcCoveringType,1> { IfcCoveringType() : Object("IfcCoveringType") {}
2117         IfcCoveringTypeEnum::Out PredefinedType;
2118     };
2119 
2120     // C++ wrapper for IfcCraneRailAShapeProfileDef
IfcCraneRailAShapeProfileDefIfcCraneRailAShapeProfileDef2121     struct IfcCraneRailAShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCraneRailAShapeProfileDef,12> { IfcCraneRailAShapeProfileDef() : Object("IfcCraneRailAShapeProfileDef") {}
2122         IfcPositiveLengthMeasure::Out OverallHeight;
2123         IfcPositiveLengthMeasure::Out BaseWidth2;
2124         Maybe< IfcPositiveLengthMeasure::Out > Radius;
2125         IfcPositiveLengthMeasure::Out HeadWidth;
2126         IfcPositiveLengthMeasure::Out HeadDepth2;
2127         IfcPositiveLengthMeasure::Out HeadDepth3;
2128         IfcPositiveLengthMeasure::Out WebThickness;
2129         IfcPositiveLengthMeasure::Out BaseWidth4;
2130         IfcPositiveLengthMeasure::Out BaseDepth1;
2131         IfcPositiveLengthMeasure::Out BaseDepth2;
2132         IfcPositiveLengthMeasure::Out BaseDepth3;
2133         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2134     };
2135 
2136     // C++ wrapper for IfcCraneRailFShapeProfileDef
IfcCraneRailFShapeProfileDefIfcCraneRailFShapeProfileDef2137     struct IfcCraneRailFShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCraneRailFShapeProfileDef,9> { IfcCraneRailFShapeProfileDef() : Object("IfcCraneRailFShapeProfileDef") {}
2138         IfcPositiveLengthMeasure::Out OverallHeight;
2139         IfcPositiveLengthMeasure::Out HeadWidth;
2140         Maybe< IfcPositiveLengthMeasure::Out > Radius;
2141         IfcPositiveLengthMeasure::Out HeadDepth2;
2142         IfcPositiveLengthMeasure::Out HeadDepth3;
2143         IfcPositiveLengthMeasure::Out WebThickness;
2144         IfcPositiveLengthMeasure::Out BaseDepth1;
2145         IfcPositiveLengthMeasure::Out BaseDepth2;
2146         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2147     };
2148 
2149     // C++ wrapper for IfcCrewResource
IfcCrewResourceIfcCrewResource2150     struct IfcCrewResource : IfcConstructionResource, ObjectHelper<IfcCrewResource,0> { IfcCrewResource() : Object("IfcCrewResource") {}
2151 
2152     };
2153 
2154     // C++ wrapper for IfcSolidModel
IfcSolidModelIfcSolidModel2155     struct IfcSolidModel : IfcGeometricRepresentationItem, ObjectHelper<IfcSolidModel,0> { IfcSolidModel() : Object("IfcSolidModel") {}
2156 
2157     };
2158 
2159     // C++ wrapper for IfcCsgSolid
IfcCsgSolidIfcCsgSolid2160     struct IfcCsgSolid : IfcSolidModel, ObjectHelper<IfcCsgSolid,1> { IfcCsgSolid() : Object("IfcCsgSolid") {}
2161         IfcCsgSelect::Out TreeRootExpression;
2162     };
2163 
2164     // C++ wrapper for IfcCurtainWall
IfcCurtainWallIfcCurtainWall2165     struct IfcCurtainWall : IfcBuildingElement, ObjectHelper<IfcCurtainWall,0> { IfcCurtainWall() : Object("IfcCurtainWall") {}
2166 
2167     };
2168 
2169     // C++ wrapper for IfcCurtainWallType
IfcCurtainWallTypeIfcCurtainWallType2170     struct IfcCurtainWallType : IfcBuildingElementType, ObjectHelper<IfcCurtainWallType,1> { IfcCurtainWallType() : Object("IfcCurtainWallType") {}
2171         IfcCurtainWallTypeEnum::Out PredefinedType;
2172     };
2173 
2174     // C++ wrapper for IfcCurveBoundedPlane
IfcCurveBoundedPlaneIfcCurveBoundedPlane2175     struct IfcCurveBoundedPlane : IfcBoundedSurface, ObjectHelper<IfcCurveBoundedPlane,3> { IfcCurveBoundedPlane() : Object("IfcCurveBoundedPlane") {}
2176         Lazy< IfcPlane > BasisSurface;
2177         Lazy< IfcCurve > OuterBoundary;
2178         ListOf< Lazy< IfcCurve >, 0, 0 > InnerBoundaries;
2179     };
2180 
2181     // C++ wrapper for IfcPresentationStyle
IfcPresentationStyleIfcPresentationStyle2182     struct IfcPresentationStyle :  ObjectHelper<IfcPresentationStyle,1> { IfcPresentationStyle() : Object("IfcPresentationStyle") {}
2183         Maybe< IfcLabel::Out > Name;
2184     };
2185 
2186     // C++ wrapper for IfcDamperType
IfcDamperTypeIfcDamperType2187     struct IfcDamperType : IfcFlowControllerType, ObjectHelper<IfcDamperType,1> { IfcDamperType() : Object("IfcDamperType") {}
2188         IfcDamperTypeEnum::Out PredefinedType;
2189     };
2190 
2191     // C++ wrapper for IfcDefinedSymbol
IfcDefinedSymbolIfcDefinedSymbol2192     struct IfcDefinedSymbol : IfcGeometricRepresentationItem, ObjectHelper<IfcDefinedSymbol,2> { IfcDefinedSymbol() : Object("IfcDefinedSymbol") {}
2193         IfcDefinedSymbolSelect::Out Definition;
2194         Lazy< IfcCartesianTransformationOperator2D > Target;
2195     };
2196 
2197     // C++ wrapper for IfcDerivedProfileDef
IfcDerivedProfileDefIfcDerivedProfileDef2198     struct IfcDerivedProfileDef : IfcProfileDef, ObjectHelper<IfcDerivedProfileDef,3> { IfcDerivedProfileDef() : Object("IfcDerivedProfileDef") {}
2199         Lazy< IfcProfileDef > ParentProfile;
2200         Lazy< IfcCartesianTransformationOperator2D > Operator;
2201         Maybe< IfcLabel::Out > Label;
2202     };
2203 
2204     // C++ wrapper for IfcDiameterDimension
IfcDiameterDimensionIfcDiameterDimension2205     struct IfcDiameterDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcDiameterDimension,0> { IfcDiameterDimension() : Object("IfcDiameterDimension") {}
2206 
2207     };
2208 
2209     // C++ wrapper for IfcDimensionCurve
IfcDimensionCurveIfcDimensionCurve2210     struct IfcDimensionCurve : IfcAnnotationCurveOccurrence, ObjectHelper<IfcDimensionCurve,0> { IfcDimensionCurve() : Object("IfcDimensionCurve") {}
2211 
2212     };
2213 
2214     // C++ wrapper for IfcTerminatorSymbol
IfcTerminatorSymbolIfcTerminatorSymbol2215     struct IfcTerminatorSymbol : IfcAnnotationSymbolOccurrence, ObjectHelper<IfcTerminatorSymbol,1> { IfcTerminatorSymbol() : Object("IfcTerminatorSymbol") {}
2216         Lazy< IfcAnnotationCurveOccurrence > AnnotatedCurve;
2217     };
2218 
2219     // C++ wrapper for IfcDimensionCurveTerminator
IfcDimensionCurveTerminatorIfcDimensionCurveTerminator2220     struct IfcDimensionCurveTerminator : IfcTerminatorSymbol, ObjectHelper<IfcDimensionCurveTerminator,1> { IfcDimensionCurveTerminator() : Object("IfcDimensionCurveTerminator") {}
2221         IfcDimensionExtentUsage::Out Role;
2222     };
2223 
2224     // C++ wrapper for IfcDirection
IfcDirectionIfcDirection2225     struct IfcDirection : IfcGeometricRepresentationItem, ObjectHelper<IfcDirection,1> { IfcDirection() : Object("IfcDirection") {}
2226         ListOf< REAL, 2, 3 >::Out DirectionRatios;
2227     };
2228 
2229     // C++ wrapper for IfcElementComponent
IfcElementComponentIfcElementComponent2230     struct IfcElementComponent : IfcElement, ObjectHelper<IfcElementComponent,0> { IfcElementComponent() : Object("IfcElementComponent") {}
2231 
2232     };
2233 
2234     // C++ wrapper for IfcDiscreteAccessory
IfcDiscreteAccessoryIfcDiscreteAccessory2235     struct IfcDiscreteAccessory : IfcElementComponent, ObjectHelper<IfcDiscreteAccessory,0> { IfcDiscreteAccessory() : Object("IfcDiscreteAccessory") {}
2236 
2237     };
2238 
2239     // C++ wrapper for IfcElementComponentType
IfcElementComponentTypeIfcElementComponentType2240     struct IfcElementComponentType : IfcElementType, ObjectHelper<IfcElementComponentType,0> { IfcElementComponentType() : Object("IfcElementComponentType") {}
2241 
2242     };
2243 
2244     // C++ wrapper for IfcDiscreteAccessoryType
IfcDiscreteAccessoryTypeIfcDiscreteAccessoryType2245     struct IfcDiscreteAccessoryType : IfcElementComponentType, ObjectHelper<IfcDiscreteAccessoryType,0> { IfcDiscreteAccessoryType() : Object("IfcDiscreteAccessoryType") {}
2246 
2247     };
2248 
2249     // C++ wrapper for IfcDistributionElement
IfcDistributionElementIfcDistributionElement2250     struct IfcDistributionElement : IfcElement, ObjectHelper<IfcDistributionElement,0> { IfcDistributionElement() : Object("IfcDistributionElement") {}
2251 
2252     };
2253 
2254     // C++ wrapper for IfcDistributionFlowElement
IfcDistributionFlowElementIfcDistributionFlowElement2255     struct IfcDistributionFlowElement : IfcDistributionElement, ObjectHelper<IfcDistributionFlowElement,0> { IfcDistributionFlowElement() : Object("IfcDistributionFlowElement") {}
2256 
2257     };
2258 
2259     // C++ wrapper for IfcDistributionChamberElement
IfcDistributionChamberElementIfcDistributionChamberElement2260     struct IfcDistributionChamberElement : IfcDistributionFlowElement, ObjectHelper<IfcDistributionChamberElement,0> { IfcDistributionChamberElement() : Object("IfcDistributionChamberElement") {}
2261 
2262     };
2263 
2264     // C++ wrapper for IfcDistributionChamberElementType
IfcDistributionChamberElementTypeIfcDistributionChamberElementType2265     struct IfcDistributionChamberElementType : IfcDistributionFlowElementType, ObjectHelper<IfcDistributionChamberElementType,1> { IfcDistributionChamberElementType() : Object("IfcDistributionChamberElementType") {}
2266         IfcDistributionChamberElementTypeEnum::Out PredefinedType;
2267     };
2268 
2269     // C++ wrapper for IfcDistributionControlElement
IfcDistributionControlElementIfcDistributionControlElement2270     struct IfcDistributionControlElement : IfcDistributionElement, ObjectHelper<IfcDistributionControlElement,1> { IfcDistributionControlElement() : Object("IfcDistributionControlElement") {}
2271         Maybe< IfcIdentifier::Out > ControlElementId;
2272     };
2273 
2274     // C++ wrapper for IfcPort
IfcPortIfcPort2275     struct IfcPort : IfcProduct, ObjectHelper<IfcPort,0> { IfcPort() : Object("IfcPort") {}
2276 
2277     };
2278 
2279     // C++ wrapper for IfcDistributionPort
IfcDistributionPortIfcDistributionPort2280     struct IfcDistributionPort : IfcPort, ObjectHelper<IfcDistributionPort,1> { IfcDistributionPort() : Object("IfcDistributionPort") {}
2281         Maybe< IfcFlowDirectionEnum::Out > FlowDirection;
2282     };
2283 
2284     // C++ wrapper for IfcDoor
IfcDoorIfcDoor2285     struct IfcDoor : IfcBuildingElement, ObjectHelper<IfcDoor,2> { IfcDoor() : Object("IfcDoor") {}
2286         Maybe< IfcPositiveLengthMeasure::Out > OverallHeight;
2287         Maybe< IfcPositiveLengthMeasure::Out > OverallWidth;
2288     };
2289 
2290     // C++ wrapper for IfcPropertyDefinition
IfcPropertyDefinitionIfcPropertyDefinition2291     struct IfcPropertyDefinition : IfcRoot, ObjectHelper<IfcPropertyDefinition,0> { IfcPropertyDefinition() : Object("IfcPropertyDefinition") {}
2292 
2293     };
2294 
2295     // C++ wrapper for IfcPropertySetDefinition
IfcPropertySetDefinitionIfcPropertySetDefinition2296     struct IfcPropertySetDefinition : IfcPropertyDefinition, ObjectHelper<IfcPropertySetDefinition,0> { IfcPropertySetDefinition() : Object("IfcPropertySetDefinition") {}
2297 
2298     };
2299 
2300     // C++ wrapper for IfcDoorStyle
IfcDoorStyleIfcDoorStyle2301     struct IfcDoorStyle : IfcTypeProduct, ObjectHelper<IfcDoorStyle,4> { IfcDoorStyle() : Object("IfcDoorStyle") {}
2302         IfcDoorStyleOperationEnum::Out OperationType;
2303         IfcDoorStyleConstructionEnum::Out ConstructionType;
2304         BOOLEAN::Out ParameterTakesPrecedence;
2305         BOOLEAN::Out Sizeable;
2306     };
2307 
2308     // C++ wrapper for IfcDuctFittingType
IfcDuctFittingTypeIfcDuctFittingType2309     struct IfcDuctFittingType : IfcFlowFittingType, ObjectHelper<IfcDuctFittingType,1> { IfcDuctFittingType() : Object("IfcDuctFittingType") {}
2310         IfcDuctFittingTypeEnum::Out PredefinedType;
2311     };
2312 
2313     // C++ wrapper for IfcDuctSegmentType
IfcDuctSegmentTypeIfcDuctSegmentType2314     struct IfcDuctSegmentType : IfcFlowSegmentType, ObjectHelper<IfcDuctSegmentType,1> { IfcDuctSegmentType() : Object("IfcDuctSegmentType") {}
2315         IfcDuctSegmentTypeEnum::Out PredefinedType;
2316     };
2317 
2318     // C++ wrapper for IfcFlowTreatmentDeviceType
IfcFlowTreatmentDeviceTypeIfcFlowTreatmentDeviceType2319     struct IfcFlowTreatmentDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowTreatmentDeviceType,0> { IfcFlowTreatmentDeviceType() : Object("IfcFlowTreatmentDeviceType") {}
2320 
2321     };
2322 
2323     // C++ wrapper for IfcDuctSilencerType
IfcDuctSilencerTypeIfcDuctSilencerType2324     struct IfcDuctSilencerType : IfcFlowTreatmentDeviceType, ObjectHelper<IfcDuctSilencerType,1> { IfcDuctSilencerType() : Object("IfcDuctSilencerType") {}
2325         IfcDuctSilencerTypeEnum::Out PredefinedType;
2326     };
2327 
2328     // C++ wrapper for IfcEdge
IfcEdgeIfcEdge2329     struct IfcEdge : IfcTopologicalRepresentationItem, ObjectHelper<IfcEdge,2> { IfcEdge() : Object("IfcEdge") {}
2330         Lazy< IfcVertex > EdgeStart;
2331         Lazy< IfcVertex > EdgeEnd;
2332     };
2333 
2334     // C++ wrapper for IfcEdgeCurve
IfcEdgeCurveIfcEdgeCurve2335     struct IfcEdgeCurve : IfcEdge, ObjectHelper<IfcEdgeCurve,2> { IfcEdgeCurve() : Object("IfcEdgeCurve") {}
2336         Lazy< IfcCurve > EdgeGeometry;
2337         BOOLEAN::Out SameSense;
2338     };
2339 
2340     // C++ wrapper for IfcLoop
IfcLoopIfcLoop2341     struct IfcLoop : IfcTopologicalRepresentationItem, ObjectHelper<IfcLoop,0> { IfcLoop() : Object("IfcLoop") {}
2342 
2343     };
2344 
2345     // C++ wrapper for IfcEdgeLoop
IfcEdgeLoopIfcEdgeLoop2346     struct IfcEdgeLoop : IfcLoop, ObjectHelper<IfcEdgeLoop,1> { IfcEdgeLoop() : Object("IfcEdgeLoop") {}
2347         ListOf< Lazy< IfcOrientedEdge >, 1, 0 > EdgeList;
2348     };
2349 
2350     // C++ wrapper for IfcElectricApplianceType
IfcElectricApplianceTypeIfcElectricApplianceType2351     struct IfcElectricApplianceType : IfcFlowTerminalType, ObjectHelper<IfcElectricApplianceType,1> { IfcElectricApplianceType() : Object("IfcElectricApplianceType") {}
2352         IfcElectricApplianceTypeEnum::Out PredefinedType;
2353     };
2354 
2355     // C++ wrapper for IfcFlowController
IfcFlowControllerIfcFlowController2356     struct IfcFlowController : IfcDistributionFlowElement, ObjectHelper<IfcFlowController,0> { IfcFlowController() : Object("IfcFlowController") {}
2357 
2358     };
2359 
2360     // C++ wrapper for IfcElectricDistributionPoint
IfcElectricDistributionPointIfcElectricDistributionPoint2361     struct IfcElectricDistributionPoint : IfcFlowController, ObjectHelper<IfcElectricDistributionPoint,2> { IfcElectricDistributionPoint() : Object("IfcElectricDistributionPoint") {}
2362         IfcElectricDistributionPointFunctionEnum::Out DistributionPointFunction;
2363         Maybe< IfcLabel::Out > UserDefinedFunction;
2364     };
2365 
2366     // C++ wrapper for IfcFlowStorageDeviceType
IfcFlowStorageDeviceTypeIfcFlowStorageDeviceType2367     struct IfcFlowStorageDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowStorageDeviceType,0> { IfcFlowStorageDeviceType() : Object("IfcFlowStorageDeviceType") {}
2368 
2369     };
2370 
2371     // C++ wrapper for IfcElectricFlowStorageDeviceType
IfcElectricFlowStorageDeviceTypeIfcElectricFlowStorageDeviceType2372     struct IfcElectricFlowStorageDeviceType : IfcFlowStorageDeviceType, ObjectHelper<IfcElectricFlowStorageDeviceType,1> { IfcElectricFlowStorageDeviceType() : Object("IfcElectricFlowStorageDeviceType") {}
2373         IfcElectricFlowStorageDeviceTypeEnum::Out PredefinedType;
2374     };
2375 
2376     // C++ wrapper for IfcElectricGeneratorType
IfcElectricGeneratorTypeIfcElectricGeneratorType2377     struct IfcElectricGeneratorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcElectricGeneratorType,1> { IfcElectricGeneratorType() : Object("IfcElectricGeneratorType") {}
2378         IfcElectricGeneratorTypeEnum::Out PredefinedType;
2379     };
2380 
2381     // C++ wrapper for IfcElectricHeaterType
IfcElectricHeaterTypeIfcElectricHeaterType2382     struct IfcElectricHeaterType : IfcFlowTerminalType, ObjectHelper<IfcElectricHeaterType,1> { IfcElectricHeaterType() : Object("IfcElectricHeaterType") {}
2383         IfcElectricHeaterTypeEnum::Out PredefinedType;
2384     };
2385 
2386     // C++ wrapper for IfcElectricMotorType
IfcElectricMotorTypeIfcElectricMotorType2387     struct IfcElectricMotorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcElectricMotorType,1> { IfcElectricMotorType() : Object("IfcElectricMotorType") {}
2388         IfcElectricMotorTypeEnum::Out PredefinedType;
2389     };
2390 
2391     // C++ wrapper for IfcElectricTimeControlType
IfcElectricTimeControlTypeIfcElectricTimeControlType2392     struct IfcElectricTimeControlType : IfcFlowControllerType, ObjectHelper<IfcElectricTimeControlType,1> { IfcElectricTimeControlType() : Object("IfcElectricTimeControlType") {}
2393         IfcElectricTimeControlTypeEnum::Out PredefinedType;
2394     };
2395 
2396     // C++ wrapper for IfcSystem
IfcSystemIfcSystem2397     struct IfcSystem : IfcGroup, ObjectHelper<IfcSystem,0> { IfcSystem() : Object("IfcSystem") {}
2398 
2399     };
2400 
2401     // C++ wrapper for IfcElectricalCircuit
IfcElectricalCircuitIfcElectricalCircuit2402     struct IfcElectricalCircuit : IfcSystem, ObjectHelper<IfcElectricalCircuit,0> { IfcElectricalCircuit() : Object("IfcElectricalCircuit") {}
2403 
2404     };
2405 
2406     // C++ wrapper for IfcElectricalElement
IfcElectricalElementIfcElectricalElement2407     struct IfcElectricalElement : IfcElement, ObjectHelper<IfcElectricalElement,0> { IfcElectricalElement() : Object("IfcElectricalElement") {}
2408 
2409     };
2410 
2411     // C++ wrapper for IfcElementAssembly
IfcElementAssemblyIfcElementAssembly2412     struct IfcElementAssembly : IfcElement, ObjectHelper<IfcElementAssembly,2> { IfcElementAssembly() : Object("IfcElementAssembly") {}
2413         Maybe< IfcAssemblyPlaceEnum::Out > AssemblyPlace;
2414         IfcElementAssemblyTypeEnum::Out PredefinedType;
2415     };
2416 
2417     // C++ wrapper for IfcElementQuantity
IfcElementQuantityIfcElementQuantity2418     struct IfcElementQuantity : IfcPropertySetDefinition, ObjectHelper<IfcElementQuantity,2> { IfcElementQuantity() : Object("IfcElementQuantity") {}
2419         Maybe< IfcLabel::Out > MethodOfMeasurement;
2420         ListOf< Lazy< NotImplemented >, 1, 0 > Quantities;
2421     };
2422 
2423     // C++ wrapper for IfcElementarySurface
IfcElementarySurfaceIfcElementarySurface2424     struct IfcElementarySurface : IfcSurface, ObjectHelper<IfcElementarySurface,1> { IfcElementarySurface() : Object("IfcElementarySurface") {}
2425         Lazy< IfcAxis2Placement3D > Position;
2426     };
2427 
2428     // C++ wrapper for IfcEllipse
IfcEllipseIfcEllipse2429     struct IfcEllipse : IfcConic, ObjectHelper<IfcEllipse,2> { IfcEllipse() : Object("IfcEllipse") {}
2430         IfcPositiveLengthMeasure::Out SemiAxis1;
2431         IfcPositiveLengthMeasure::Out SemiAxis2;
2432     };
2433 
2434     // C++ wrapper for IfcEllipseProfileDef
IfcEllipseProfileDefIfcEllipseProfileDef2435     struct IfcEllipseProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcEllipseProfileDef,2> { IfcEllipseProfileDef() : Object("IfcEllipseProfileDef") {}
2436         IfcPositiveLengthMeasure::Out SemiAxis1;
2437         IfcPositiveLengthMeasure::Out SemiAxis2;
2438     };
2439 
2440     // C++ wrapper for IfcEnergyConversionDevice
IfcEnergyConversionDeviceIfcEnergyConversionDevice2441     struct IfcEnergyConversionDevice : IfcDistributionFlowElement, ObjectHelper<IfcEnergyConversionDevice,0> { IfcEnergyConversionDevice() : Object("IfcEnergyConversionDevice") {}
2442 
2443     };
2444 
2445     // C++ wrapper for IfcEquipmentElement
IfcEquipmentElementIfcEquipmentElement2446     struct IfcEquipmentElement : IfcElement, ObjectHelper<IfcEquipmentElement,0> { IfcEquipmentElement() : Object("IfcEquipmentElement") {}
2447 
2448     };
2449 
2450     // C++ wrapper for IfcEquipmentStandard
IfcEquipmentStandardIfcEquipmentStandard2451     struct IfcEquipmentStandard : IfcControl, ObjectHelper<IfcEquipmentStandard,0> { IfcEquipmentStandard() : Object("IfcEquipmentStandard") {}
2452 
2453     };
2454 
2455     // C++ wrapper for IfcEvaporativeCoolerType
IfcEvaporativeCoolerTypeIfcEvaporativeCoolerType2456     struct IfcEvaporativeCoolerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcEvaporativeCoolerType,1> { IfcEvaporativeCoolerType() : Object("IfcEvaporativeCoolerType") {}
2457         IfcEvaporativeCoolerTypeEnum::Out PredefinedType;
2458     };
2459 
2460     // C++ wrapper for IfcEvaporatorType
IfcEvaporatorTypeIfcEvaporatorType2461     struct IfcEvaporatorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcEvaporatorType,1> { IfcEvaporatorType() : Object("IfcEvaporatorType") {}
2462         IfcEvaporatorTypeEnum::Out PredefinedType;
2463     };
2464 
2465     // C++ wrapper for IfcSweptAreaSolid
IfcSweptAreaSolidIfcSweptAreaSolid2466     struct IfcSweptAreaSolid : IfcSolidModel, ObjectHelper<IfcSweptAreaSolid,2> { IfcSweptAreaSolid() : Object("IfcSweptAreaSolid") {}
2467         Lazy< IfcProfileDef > SweptArea;
2468         Lazy< IfcAxis2Placement3D > Position;
2469     };
2470 
2471     // C++ wrapper for IfcExtrudedAreaSolid
IfcExtrudedAreaSolidIfcExtrudedAreaSolid2472     struct IfcExtrudedAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcExtrudedAreaSolid,2> { IfcExtrudedAreaSolid() : Object("IfcExtrudedAreaSolid") {}
2473         Lazy< IfcDirection > ExtrudedDirection;
2474         IfcPositiveLengthMeasure::Out Depth;
2475     };
2476 
2477     // C++ wrapper for IfcFace
IfcFaceIfcFace2478     struct IfcFace : IfcTopologicalRepresentationItem, ObjectHelper<IfcFace,1> { IfcFace() : Object("IfcFace") {}
2479         ListOf< Lazy< IfcFaceBound >, 1, 0 > Bounds;
2480     };
2481 
2482     // C++ wrapper for IfcFaceBasedSurfaceModel
IfcFaceBasedSurfaceModelIfcFaceBasedSurfaceModel2483     struct IfcFaceBasedSurfaceModel : IfcGeometricRepresentationItem, ObjectHelper<IfcFaceBasedSurfaceModel,1> { IfcFaceBasedSurfaceModel() : Object("IfcFaceBasedSurfaceModel") {}
2484         ListOf< Lazy< IfcConnectedFaceSet >, 1, 0 > FbsmFaces;
2485     };
2486 
2487     // C++ wrapper for IfcFaceBound
IfcFaceBoundIfcFaceBound2488     struct IfcFaceBound : IfcTopologicalRepresentationItem, ObjectHelper<IfcFaceBound,2> { IfcFaceBound() : Object("IfcFaceBound") {}
2489         Lazy< IfcLoop > Bound;
2490         BOOLEAN::Out Orientation;
2491     };
2492 
2493     // C++ wrapper for IfcFaceOuterBound
IfcFaceOuterBoundIfcFaceOuterBound2494     struct IfcFaceOuterBound : IfcFaceBound, ObjectHelper<IfcFaceOuterBound,0> { IfcFaceOuterBound() : Object("IfcFaceOuterBound") {}
2495 
2496     };
2497 
2498     // C++ wrapper for IfcFaceSurface
IfcFaceSurfaceIfcFaceSurface2499     struct IfcFaceSurface : IfcFace, ObjectHelper<IfcFaceSurface,2> { IfcFaceSurface() : Object("IfcFaceSurface") {}
2500         Lazy< IfcSurface > FaceSurface;
2501         BOOLEAN::Out SameSense;
2502     };
2503 
2504     // C++ wrapper for IfcManifoldSolidBrep
IfcManifoldSolidBrepIfcManifoldSolidBrep2505     struct IfcManifoldSolidBrep : IfcSolidModel, ObjectHelper<IfcManifoldSolidBrep,1> { IfcManifoldSolidBrep() : Object("IfcManifoldSolidBrep") {}
2506         Lazy< IfcClosedShell > Outer;
2507     };
2508 
2509     // C++ wrapper for IfcFacetedBrep
IfcFacetedBrepIfcFacetedBrep2510     struct IfcFacetedBrep : IfcManifoldSolidBrep, ObjectHelper<IfcFacetedBrep,0> { IfcFacetedBrep() : Object("IfcFacetedBrep") {}
2511 
2512     };
2513 
2514     // C++ wrapper for IfcFacetedBrepWithVoids
IfcFacetedBrepWithVoidsIfcFacetedBrepWithVoids2515     struct IfcFacetedBrepWithVoids : IfcManifoldSolidBrep, ObjectHelper<IfcFacetedBrepWithVoids,1> { IfcFacetedBrepWithVoids() : Object("IfcFacetedBrepWithVoids") {}
2516         ListOf< Lazy< IfcClosedShell >, 1, 0 > Voids;
2517     };
2518 
2519     // C++ wrapper for IfcFanType
IfcFanTypeIfcFanType2520     struct IfcFanType : IfcFlowMovingDeviceType, ObjectHelper<IfcFanType,1> { IfcFanType() : Object("IfcFanType") {}
2521         IfcFanTypeEnum::Out PredefinedType;
2522     };
2523 
2524     // C++ wrapper for IfcFastener
IfcFastenerIfcFastener2525     struct IfcFastener : IfcElementComponent, ObjectHelper<IfcFastener,0> { IfcFastener() : Object("IfcFastener") {}
2526 
2527     };
2528 
2529     // C++ wrapper for IfcFastenerType
IfcFastenerTypeIfcFastenerType2530     struct IfcFastenerType : IfcElementComponentType, ObjectHelper<IfcFastenerType,0> { IfcFastenerType() : Object("IfcFastenerType") {}
2531 
2532     };
2533 
2534     // C++ wrapper for IfcFeatureElementAddition
IfcFeatureElementAdditionIfcFeatureElementAddition2535     struct IfcFeatureElementAddition : IfcFeatureElement, ObjectHelper<IfcFeatureElementAddition,0> { IfcFeatureElementAddition() : Object("IfcFeatureElementAddition") {}
2536 
2537     };
2538 
2539     // C++ wrapper for IfcFillAreaStyleHatching
IfcFillAreaStyleHatchingIfcFillAreaStyleHatching2540     struct IfcFillAreaStyleHatching : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleHatching,5> { IfcFillAreaStyleHatching() : Object("IfcFillAreaStyleHatching") {}
2541         Lazy< NotImplemented > HatchLineAppearance;
2542         IfcHatchLineDistanceSelect::Out StartOfNextHatchLine;
2543         Maybe< Lazy< IfcCartesianPoint > > PointOfReferenceHatchLine;
2544         Maybe< Lazy< IfcCartesianPoint > > PatternStart;
2545         IfcPlaneAngleMeasure::Out HatchLineAngle;
2546     };
2547 
2548     // C++ wrapper for IfcFillAreaStyleTileSymbolWithStyle
IfcFillAreaStyleTileSymbolWithStyleIfcFillAreaStyleTileSymbolWithStyle2549     struct IfcFillAreaStyleTileSymbolWithStyle : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleTileSymbolWithStyle,1> { IfcFillAreaStyleTileSymbolWithStyle() : Object("IfcFillAreaStyleTileSymbolWithStyle") {}
2550         Lazy< IfcAnnotationSymbolOccurrence > Symbol;
2551     };
2552 
2553     // C++ wrapper for IfcFillAreaStyleTiles
IfcFillAreaStyleTilesIfcFillAreaStyleTiles2554     struct IfcFillAreaStyleTiles : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleTiles,3> { IfcFillAreaStyleTiles() : Object("IfcFillAreaStyleTiles") {}
2555         Lazy< IfcOneDirectionRepeatFactor > TilingPattern;
2556         ListOf< IfcFillAreaStyleTileShapeSelect, 1, 0 >::Out Tiles;
2557         IfcPositiveRatioMeasure::Out TilingScale;
2558     };
2559 
2560     // C++ wrapper for IfcFilterType
IfcFilterTypeIfcFilterType2561     struct IfcFilterType : IfcFlowTreatmentDeviceType, ObjectHelper<IfcFilterType,1> { IfcFilterType() : Object("IfcFilterType") {}
2562         IfcFilterTypeEnum::Out PredefinedType;
2563     };
2564 
2565     // C++ wrapper for IfcFireSuppressionTerminalType
IfcFireSuppressionTerminalTypeIfcFireSuppressionTerminalType2566     struct IfcFireSuppressionTerminalType : IfcFlowTerminalType, ObjectHelper<IfcFireSuppressionTerminalType,1> { IfcFireSuppressionTerminalType() : Object("IfcFireSuppressionTerminalType") {}
2567         IfcFireSuppressionTerminalTypeEnum::Out PredefinedType;
2568     };
2569 
2570     // C++ wrapper for IfcFlowFitting
IfcFlowFittingIfcFlowFitting2571     struct IfcFlowFitting : IfcDistributionFlowElement, ObjectHelper<IfcFlowFitting,0> { IfcFlowFitting() : Object("IfcFlowFitting") {}
2572 
2573     };
2574 
2575     // C++ wrapper for IfcFlowInstrumentType
IfcFlowInstrumentTypeIfcFlowInstrumentType2576     struct IfcFlowInstrumentType : IfcDistributionControlElementType, ObjectHelper<IfcFlowInstrumentType,1> { IfcFlowInstrumentType() : Object("IfcFlowInstrumentType") {}
2577         IfcFlowInstrumentTypeEnum::Out PredefinedType;
2578     };
2579 
2580     // C++ wrapper for IfcFlowMeterType
IfcFlowMeterTypeIfcFlowMeterType2581     struct IfcFlowMeterType : IfcFlowControllerType, ObjectHelper<IfcFlowMeterType,1> { IfcFlowMeterType() : Object("IfcFlowMeterType") {}
2582         IfcFlowMeterTypeEnum::Out PredefinedType;
2583     };
2584 
2585     // C++ wrapper for IfcFlowMovingDevice
IfcFlowMovingDeviceIfcFlowMovingDevice2586     struct IfcFlowMovingDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowMovingDevice,0> { IfcFlowMovingDevice() : Object("IfcFlowMovingDevice") {}
2587 
2588     };
2589 
2590     // C++ wrapper for IfcFlowSegment
IfcFlowSegmentIfcFlowSegment2591     struct IfcFlowSegment : IfcDistributionFlowElement, ObjectHelper<IfcFlowSegment,0> { IfcFlowSegment() : Object("IfcFlowSegment") {}
2592 
2593     };
2594 
2595     // C++ wrapper for IfcFlowStorageDevice
IfcFlowStorageDeviceIfcFlowStorageDevice2596     struct IfcFlowStorageDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowStorageDevice,0> { IfcFlowStorageDevice() : Object("IfcFlowStorageDevice") {}
2597 
2598     };
2599 
2600     // C++ wrapper for IfcFlowTerminal
IfcFlowTerminalIfcFlowTerminal2601     struct IfcFlowTerminal : IfcDistributionFlowElement, ObjectHelper<IfcFlowTerminal,0> { IfcFlowTerminal() : Object("IfcFlowTerminal") {}
2602 
2603     };
2604 
2605     // C++ wrapper for IfcFlowTreatmentDevice
IfcFlowTreatmentDeviceIfcFlowTreatmentDevice2606     struct IfcFlowTreatmentDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowTreatmentDevice,0> { IfcFlowTreatmentDevice() : Object("IfcFlowTreatmentDevice") {}
2607 
2608     };
2609 
2610     // C++ wrapper for IfcFooting
IfcFootingIfcFooting2611     struct IfcFooting : IfcBuildingElement, ObjectHelper<IfcFooting,1> { IfcFooting() : Object("IfcFooting") {}
2612         IfcFootingTypeEnum::Out PredefinedType;
2613     };
2614 
2615     // C++ wrapper for IfcFurnishingElement
IfcFurnishingElementIfcFurnishingElement2616     struct IfcFurnishingElement : IfcElement, ObjectHelper<IfcFurnishingElement,0> { IfcFurnishingElement() : Object("IfcFurnishingElement") {}
2617 
2618     };
2619 
2620     // C++ wrapper for IfcFurnishingElementType
IfcFurnishingElementTypeIfcFurnishingElementType2621     struct IfcFurnishingElementType : IfcElementType, ObjectHelper<IfcFurnishingElementType,0> { IfcFurnishingElementType() : Object("IfcFurnishingElementType") {}
2622 
2623     };
2624 
2625     // C++ wrapper for IfcFurnitureStandard
IfcFurnitureStandardIfcFurnitureStandard2626     struct IfcFurnitureStandard : IfcControl, ObjectHelper<IfcFurnitureStandard,0> { IfcFurnitureStandard() : Object("IfcFurnitureStandard") {}
2627 
2628     };
2629 
2630     // C++ wrapper for IfcFurnitureType
IfcFurnitureTypeIfcFurnitureType2631     struct IfcFurnitureType : IfcFurnishingElementType, ObjectHelper<IfcFurnitureType,1> { IfcFurnitureType() : Object("IfcFurnitureType") {}
2632         IfcAssemblyPlaceEnum::Out AssemblyPlace;
2633     };
2634 
2635     // C++ wrapper for IfcGasTerminalType
IfcGasTerminalTypeIfcGasTerminalType2636     struct IfcGasTerminalType : IfcFlowTerminalType, ObjectHelper<IfcGasTerminalType,1> { IfcGasTerminalType() : Object("IfcGasTerminalType") {}
2637         IfcGasTerminalTypeEnum::Out PredefinedType;
2638     };
2639 
2640     // C++ wrapper for IfcGeometricSet
IfcGeometricSetIfcGeometricSet2641     struct IfcGeometricSet : IfcGeometricRepresentationItem, ObjectHelper<IfcGeometricSet,1> { IfcGeometricSet() : Object("IfcGeometricSet") {}
2642         ListOf< IfcGeometricSetSelect, 1, 0 >::Out Elements;
2643     };
2644 
2645     // C++ wrapper for IfcGeometricCurveSet
IfcGeometricCurveSetIfcGeometricCurveSet2646     struct IfcGeometricCurveSet : IfcGeometricSet, ObjectHelper<IfcGeometricCurveSet,0> { IfcGeometricCurveSet() : Object("IfcGeometricCurveSet") {}
2647 
2648     };
2649 
2650     // C++ wrapper for IfcRepresentationContext
IfcRepresentationContextIfcRepresentationContext2651     struct IfcRepresentationContext :  ObjectHelper<IfcRepresentationContext,2> { IfcRepresentationContext() : Object("IfcRepresentationContext") {}
2652         Maybe< IfcLabel::Out > ContextIdentifier;
2653         Maybe< IfcLabel::Out > ContextType;
2654     };
2655 
2656     // C++ wrapper for IfcGeometricRepresentationContext
IfcGeometricRepresentationContextIfcGeometricRepresentationContext2657     struct IfcGeometricRepresentationContext : IfcRepresentationContext, ObjectHelper<IfcGeometricRepresentationContext,4> { IfcGeometricRepresentationContext() : Object("IfcGeometricRepresentationContext") {}
2658         IfcDimensionCount::Out CoordinateSpaceDimension;
2659         Maybe< REAL::Out > Precision;
2660         IfcAxis2Placement::Out WorldCoordinateSystem;
2661         Maybe< Lazy< IfcDirection > > TrueNorth;
2662     };
2663 
2664     // C++ wrapper for IfcGeometricRepresentationSubContext
IfcGeometricRepresentationSubContextIfcGeometricRepresentationSubContext2665     struct IfcGeometricRepresentationSubContext : IfcGeometricRepresentationContext, ObjectHelper<IfcGeometricRepresentationSubContext,4> { IfcGeometricRepresentationSubContext() : Object("IfcGeometricRepresentationSubContext") {}
2666         Lazy< IfcGeometricRepresentationContext > ParentContext;
2667         Maybe< IfcPositiveRatioMeasure::Out > TargetScale;
2668         IfcGeometricProjectionEnum::Out TargetView;
2669         Maybe< IfcLabel::Out > UserDefinedTargetView;
2670     };
2671 
2672     // C++ wrapper for IfcGrid
IfcGridIfcGrid2673     struct IfcGrid : IfcProduct, ObjectHelper<IfcGrid,3> { IfcGrid() : Object("IfcGrid") {}
2674         ListOf< Lazy< NotImplemented >, 1, 0 > UAxes;
2675         ListOf< Lazy< NotImplemented >, 1, 0 > VAxes;
2676         Maybe< ListOf< Lazy< NotImplemented >, 1, 0 > > WAxes;
2677     };
2678 
2679     // C++ wrapper for IfcObjectPlacement
IfcObjectPlacementIfcObjectPlacement2680     struct IfcObjectPlacement :  ObjectHelper<IfcObjectPlacement,0> { IfcObjectPlacement() : Object("IfcObjectPlacement") {}
2681 
2682     };
2683 
2684     // C++ wrapper for IfcGridPlacement
IfcGridPlacementIfcGridPlacement2685     struct IfcGridPlacement : IfcObjectPlacement, ObjectHelper<IfcGridPlacement,2> { IfcGridPlacement() : Object("IfcGridPlacement") {}
2686         Lazy< NotImplemented > PlacementLocation;
2687         Maybe< Lazy< NotImplemented > > PlacementRefDirection;
2688     };
2689 
2690     // C++ wrapper for IfcHeatExchangerType
IfcHeatExchangerTypeIfcHeatExchangerType2691     struct IfcHeatExchangerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcHeatExchangerType,1> { IfcHeatExchangerType() : Object("IfcHeatExchangerType") {}
2692         IfcHeatExchangerTypeEnum::Out PredefinedType;
2693     };
2694 
2695     // C++ wrapper for IfcHumidifierType
IfcHumidifierTypeIfcHumidifierType2696     struct IfcHumidifierType : IfcEnergyConversionDeviceType, ObjectHelper<IfcHumidifierType,1> { IfcHumidifierType() : Object("IfcHumidifierType") {}
2697         IfcHumidifierTypeEnum::Out PredefinedType;
2698     };
2699 
2700     // C++ wrapper for IfcInventory
IfcInventoryIfcInventory2701     struct IfcInventory : IfcGroup, ObjectHelper<IfcInventory,6> { IfcInventory() : Object("IfcInventory") {}
2702         IfcInventoryTypeEnum::Out InventoryType;
2703         IfcActorSelect::Out Jurisdiction;
2704         ListOf< Lazy< NotImplemented >, 1, 0 > ResponsiblePersons;
2705         Lazy< NotImplemented > LastUpdateDate;
2706         Maybe< Lazy< NotImplemented > > CurrentValue;
2707         Maybe< Lazy< NotImplemented > > OriginalValue;
2708     };
2709 
2710     // C++ wrapper for IfcJunctionBoxType
IfcJunctionBoxTypeIfcJunctionBoxType2711     struct IfcJunctionBoxType : IfcFlowFittingType, ObjectHelper<IfcJunctionBoxType,1> { IfcJunctionBoxType() : Object("IfcJunctionBoxType") {}
2712         IfcJunctionBoxTypeEnum::Out PredefinedType;
2713     };
2714 
2715     // C++ wrapper for IfcLShapeProfileDef
IfcLShapeProfileDefIfcLShapeProfileDef2716     struct IfcLShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcLShapeProfileDef,8> { IfcLShapeProfileDef() : Object("IfcLShapeProfileDef") {}
2717         IfcPositiveLengthMeasure::Out Depth;
2718         Maybe< IfcPositiveLengthMeasure::Out > Width;
2719         IfcPositiveLengthMeasure::Out Thickness;
2720         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
2721         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
2722         Maybe< IfcPlaneAngleMeasure::Out > LegSlope;
2723         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
2724         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2725     };
2726 
2727     // C++ wrapper for IfcLaborResource
IfcLaborResourceIfcLaborResource2728     struct IfcLaborResource : IfcConstructionResource, ObjectHelper<IfcLaborResource,1> { IfcLaborResource() : Object("IfcLaborResource") {}
2729         Maybe< IfcText::Out > SkillSet;
2730     };
2731 
2732     // C++ wrapper for IfcLampType
IfcLampTypeIfcLampType2733     struct IfcLampType : IfcFlowTerminalType, ObjectHelper<IfcLampType,1> { IfcLampType() : Object("IfcLampType") {}
2734         IfcLampTypeEnum::Out PredefinedType;
2735     };
2736 
2737     // C++ wrapper for IfcLightFixtureType
IfcLightFixtureTypeIfcLightFixtureType2738     struct IfcLightFixtureType : IfcFlowTerminalType, ObjectHelper<IfcLightFixtureType,1> { IfcLightFixtureType() : Object("IfcLightFixtureType") {}
2739         IfcLightFixtureTypeEnum::Out PredefinedType;
2740     };
2741 
2742     // C++ wrapper for IfcLightSource
IfcLightSourceIfcLightSource2743     struct IfcLightSource : IfcGeometricRepresentationItem, ObjectHelper<IfcLightSource,4> { IfcLightSource() : Object("IfcLightSource") {}
2744         Maybe< IfcLabel::Out > Name;
2745         Lazy< IfcColourRgb > LightColour;
2746         Maybe< IfcNormalisedRatioMeasure::Out > AmbientIntensity;
2747         Maybe< IfcNormalisedRatioMeasure::Out > Intensity;
2748     };
2749 
2750     // C++ wrapper for IfcLightSourceAmbient
IfcLightSourceAmbientIfcLightSourceAmbient2751     struct IfcLightSourceAmbient : IfcLightSource, ObjectHelper<IfcLightSourceAmbient,0> { IfcLightSourceAmbient() : Object("IfcLightSourceAmbient") {}
2752 
2753     };
2754 
2755     // C++ wrapper for IfcLightSourceDirectional
IfcLightSourceDirectionalIfcLightSourceDirectional2756     struct IfcLightSourceDirectional : IfcLightSource, ObjectHelper<IfcLightSourceDirectional,1> { IfcLightSourceDirectional() : Object("IfcLightSourceDirectional") {}
2757         Lazy< IfcDirection > Orientation;
2758     };
2759 
2760     // C++ wrapper for IfcLightSourceGoniometric
IfcLightSourceGoniometricIfcLightSourceGoniometric2761     struct IfcLightSourceGoniometric : IfcLightSource, ObjectHelper<IfcLightSourceGoniometric,6> { IfcLightSourceGoniometric() : Object("IfcLightSourceGoniometric") {}
2762         Lazy< IfcAxis2Placement3D > Position;
2763         Maybe< Lazy< IfcColourRgb > > ColourAppearance;
2764         IfcThermodynamicTemperatureMeasure::Out ColourTemperature;
2765         IfcLuminousFluxMeasure::Out LuminousFlux;
2766         IfcLightEmissionSourceEnum::Out LightEmissionSource;
2767         IfcLightDistributionDataSourceSelect::Out LightDistributionDataSource;
2768     };
2769 
2770     // C++ wrapper for IfcLightSourcePositional
IfcLightSourcePositionalIfcLightSourcePositional2771     struct IfcLightSourcePositional : IfcLightSource, ObjectHelper<IfcLightSourcePositional,5> { IfcLightSourcePositional() : Object("IfcLightSourcePositional") {}
2772         Lazy< IfcCartesianPoint > Position;
2773         IfcPositiveLengthMeasure::Out Radius;
2774         IfcReal::Out ConstantAttenuation;
2775         IfcReal::Out DistanceAttenuation;
2776         IfcReal::Out QuadricAttenuation;
2777     };
2778 
2779     // C++ wrapper for IfcLightSourceSpot
IfcLightSourceSpotIfcLightSourceSpot2780     struct IfcLightSourceSpot : IfcLightSourcePositional, ObjectHelper<IfcLightSourceSpot,4> { IfcLightSourceSpot() : Object("IfcLightSourceSpot") {}
2781         Lazy< IfcDirection > Orientation;
2782         Maybe< IfcReal::Out > ConcentrationExponent;
2783         IfcPositivePlaneAngleMeasure::Out SpreadAngle;
2784         IfcPositivePlaneAngleMeasure::Out BeamWidthAngle;
2785     };
2786 
2787     // C++ wrapper for IfcLine
IfcLineIfcLine2788     struct IfcLine : IfcCurve, ObjectHelper<IfcLine,2> { IfcLine() : Object("IfcLine") {}
2789         Lazy< IfcCartesianPoint > Pnt;
2790         Lazy< IfcVector > Dir;
2791     };
2792 
2793     // C++ wrapper for IfcLinearDimension
IfcLinearDimensionIfcLinearDimension2794     struct IfcLinearDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcLinearDimension,0> { IfcLinearDimension() : Object("IfcLinearDimension") {}
2795 
2796     };
2797 
2798     // C++ wrapper for IfcLocalPlacement
IfcLocalPlacementIfcLocalPlacement2799     struct IfcLocalPlacement : IfcObjectPlacement, ObjectHelper<IfcLocalPlacement,2> { IfcLocalPlacement() : Object("IfcLocalPlacement") {}
2800         Maybe< Lazy< IfcObjectPlacement > > PlacementRelTo;
2801         IfcAxis2Placement::Out RelativePlacement;
2802     };
2803 
2804     // C++ wrapper for IfcMappedItem
IfcMappedItemIfcMappedItem2805     struct IfcMappedItem : IfcRepresentationItem, ObjectHelper<IfcMappedItem,2> { IfcMappedItem() : Object("IfcMappedItem") {}
2806         Lazy< IfcRepresentationMap > MappingSource;
2807         Lazy< IfcCartesianTransformationOperator > MappingTarget;
2808     };
2809 
2810     // C++ wrapper for IfcProductRepresentation
IfcProductRepresentationIfcProductRepresentation2811     struct IfcProductRepresentation :  ObjectHelper<IfcProductRepresentation,3> { IfcProductRepresentation() : Object("IfcProductRepresentation") {}
2812         Maybe< IfcLabel::Out > Name;
2813         Maybe< IfcText::Out > Description;
2814         ListOf< Lazy< IfcRepresentation >, 1, 0 > Representations;
2815     };
2816 
2817     // C++ wrapper for IfcMaterialDefinitionRepresentation
IfcMaterialDefinitionRepresentationIfcMaterialDefinitionRepresentation2818     struct IfcMaterialDefinitionRepresentation : IfcProductRepresentation, ObjectHelper<IfcMaterialDefinitionRepresentation,1> { IfcMaterialDefinitionRepresentation() : Object("IfcMaterialDefinitionRepresentation") {}
2819         Lazy< NotImplemented > RepresentedMaterial;
2820     };
2821 
2822     // C++ wrapper for IfcMeasureWithUnit
IfcMeasureWithUnitIfcMeasureWithUnit2823     struct IfcMeasureWithUnit :  ObjectHelper<IfcMeasureWithUnit,2> { IfcMeasureWithUnit() : Object("IfcMeasureWithUnit") {}
2824         IfcValue::Out ValueComponent;
2825         IfcUnit::Out UnitComponent;
2826     };
2827 
2828     // C++ wrapper for IfcMechanicalFastener
IfcMechanicalFastenerIfcMechanicalFastener2829     struct IfcMechanicalFastener : IfcFastener, ObjectHelper<IfcMechanicalFastener,2> { IfcMechanicalFastener() : Object("IfcMechanicalFastener") {}
2830         Maybe< IfcPositiveLengthMeasure::Out > NominalDiameter;
2831         Maybe< IfcPositiveLengthMeasure::Out > NominalLength;
2832     };
2833 
2834     // C++ wrapper for IfcMechanicalFastenerType
IfcMechanicalFastenerTypeIfcMechanicalFastenerType2835     struct IfcMechanicalFastenerType : IfcFastenerType, ObjectHelper<IfcMechanicalFastenerType,0> { IfcMechanicalFastenerType() : Object("IfcMechanicalFastenerType") {}
2836 
2837     };
2838 
2839     // C++ wrapper for IfcMember
IfcMemberIfcMember2840     struct IfcMember : IfcBuildingElement, ObjectHelper<IfcMember,0> { IfcMember() : Object("IfcMember") {}
2841 
2842     };
2843 
2844     // C++ wrapper for IfcMemberType
IfcMemberTypeIfcMemberType2845     struct IfcMemberType : IfcBuildingElementType, ObjectHelper<IfcMemberType,1> { IfcMemberType() : Object("IfcMemberType") {}
2846         IfcMemberTypeEnum::Out PredefinedType;
2847     };
2848 
2849     // C++ wrapper for IfcMotorConnectionType
IfcMotorConnectionTypeIfcMotorConnectionType2850     struct IfcMotorConnectionType : IfcEnergyConversionDeviceType, ObjectHelper<IfcMotorConnectionType,1> { IfcMotorConnectionType() : Object("IfcMotorConnectionType") {}
2851         IfcMotorConnectionTypeEnum::Out PredefinedType;
2852     };
2853 
2854     // C++ wrapper for IfcProcess
IfcProcessIfcProcess2855     struct IfcProcess : IfcObject, ObjectHelper<IfcProcess,0> { IfcProcess() : Object("IfcProcess") {}
2856 
2857     };
2858 
2859     // C++ wrapper for IfcTask
IfcTaskIfcTask2860     struct IfcTask : IfcProcess, ObjectHelper<IfcTask,5> { IfcTask() : Object("IfcTask") {}
2861         IfcIdentifier::Out TaskId;
2862         Maybe< IfcLabel::Out > Status;
2863         Maybe< IfcLabel::Out > WorkMethod;
2864         BOOLEAN::Out IsMilestone;
2865         Maybe< INTEGER::Out > Priority;
2866     };
2867 
2868     // C++ wrapper for IfcMove
IfcMoveIfcMove2869     struct IfcMove : IfcTask, ObjectHelper<IfcMove,3> { IfcMove() : Object("IfcMove") {}
2870         Lazy< IfcSpatialStructureElement > MoveFrom;
2871         Lazy< IfcSpatialStructureElement > MoveTo;
2872         Maybe< ListOf< IfcText, 1, 0 >::Out > PunchList;
2873     };
2874 
2875     // C++ wrapper for IfcOccupant
IfcOccupantIfcOccupant2876     struct IfcOccupant : IfcActor, ObjectHelper<IfcOccupant,1> { IfcOccupant() : Object("IfcOccupant") {}
2877         IfcOccupantTypeEnum::Out PredefinedType;
2878     };
2879 
2880     // C++ wrapper for IfcOffsetCurve2D
IfcOffsetCurve2DIfcOffsetCurve2D2881     struct IfcOffsetCurve2D : IfcCurve, ObjectHelper<IfcOffsetCurve2D,3> { IfcOffsetCurve2D() : Object("IfcOffsetCurve2D") {}
2882         Lazy< IfcCurve > BasisCurve;
2883         IfcLengthMeasure::Out Distance;
2884         LOGICAL::Out SelfIntersect;
2885     };
2886 
2887     // C++ wrapper for IfcOffsetCurve3D
IfcOffsetCurve3DIfcOffsetCurve3D2888     struct IfcOffsetCurve3D : IfcCurve, ObjectHelper<IfcOffsetCurve3D,4> { IfcOffsetCurve3D() : Object("IfcOffsetCurve3D") {}
2889         Lazy< IfcCurve > BasisCurve;
2890         IfcLengthMeasure::Out Distance;
2891         LOGICAL::Out SelfIntersect;
2892         Lazy< IfcDirection > RefDirection;
2893     };
2894 
2895     // C++ wrapper for IfcOneDirectionRepeatFactor
IfcOneDirectionRepeatFactorIfcOneDirectionRepeatFactor2896     struct IfcOneDirectionRepeatFactor : IfcGeometricRepresentationItem, ObjectHelper<IfcOneDirectionRepeatFactor,1> { IfcOneDirectionRepeatFactor() : Object("IfcOneDirectionRepeatFactor") {}
2897         Lazy< IfcVector > RepeatFactor;
2898     };
2899 
2900     // C++ wrapper for IfcOpenShell
IfcOpenShellIfcOpenShell2901     struct IfcOpenShell : IfcConnectedFaceSet, ObjectHelper<IfcOpenShell,0> { IfcOpenShell() : Object("IfcOpenShell") {}
2902 
2903     };
2904 
2905     // C++ wrapper for IfcOpeningElement
IfcOpeningElementIfcOpeningElement2906     struct IfcOpeningElement : IfcFeatureElementSubtraction, ObjectHelper<IfcOpeningElement,0> { IfcOpeningElement() : Object("IfcOpeningElement") {}
2907 
2908     };
2909 
2910     // C++ wrapper for IfcOrderAction
IfcOrderActionIfcOrderAction2911     struct IfcOrderAction : IfcTask, ObjectHelper<IfcOrderAction,1> { IfcOrderAction() : Object("IfcOrderAction") {}
2912         IfcIdentifier::Out ActionID;
2913     };
2914 
2915     // C++ wrapper for IfcOrientedEdge
IfcOrientedEdgeIfcOrientedEdge2916     struct IfcOrientedEdge : IfcEdge, ObjectHelper<IfcOrientedEdge,2> { IfcOrientedEdge() : Object("IfcOrientedEdge") {}
2917         Lazy< IfcEdge > EdgeElement;
2918         BOOLEAN::Out Orientation;
2919     };
2920 
2921     // C++ wrapper for IfcOutletType
IfcOutletTypeIfcOutletType2922     struct IfcOutletType : IfcFlowTerminalType, ObjectHelper<IfcOutletType,1> { IfcOutletType() : Object("IfcOutletType") {}
2923         IfcOutletTypeEnum::Out PredefinedType;
2924     };
2925 
2926     // C++ wrapper for IfcPath
IfcPathIfcPath2927     struct IfcPath : IfcTopologicalRepresentationItem, ObjectHelper<IfcPath,1> { IfcPath() : Object("IfcPath") {}
2928         ListOf< Lazy< IfcOrientedEdge >, 1, 0 > EdgeList;
2929     };
2930 
2931     // C++ wrapper for IfcPerformanceHistory
IfcPerformanceHistoryIfcPerformanceHistory2932     struct IfcPerformanceHistory : IfcControl, ObjectHelper<IfcPerformanceHistory,1> { IfcPerformanceHistory() : Object("IfcPerformanceHistory") {}
2933         IfcLabel::Out LifeCyclePhase;
2934     };
2935 
2936     // C++ wrapper for IfcPermit
IfcPermitIfcPermit2937     struct IfcPermit : IfcControl, ObjectHelper<IfcPermit,1> { IfcPermit() : Object("IfcPermit") {}
2938         IfcIdentifier::Out PermitID;
2939     };
2940 
2941     // C++ wrapper for IfcPile
IfcPileIfcPile2942     struct IfcPile : IfcBuildingElement, ObjectHelper<IfcPile,2> { IfcPile() : Object("IfcPile") {}
2943         IfcPileTypeEnum::Out PredefinedType;
2944         Maybe< IfcPileConstructionEnum::Out > ConstructionType;
2945     };
2946 
2947     // C++ wrapper for IfcPipeFittingType
IfcPipeFittingTypeIfcPipeFittingType2948     struct IfcPipeFittingType : IfcFlowFittingType, ObjectHelper<IfcPipeFittingType,1> { IfcPipeFittingType() : Object("IfcPipeFittingType") {}
2949         IfcPipeFittingTypeEnum::Out PredefinedType;
2950     };
2951 
2952     // C++ wrapper for IfcPipeSegmentType
IfcPipeSegmentTypeIfcPipeSegmentType2953     struct IfcPipeSegmentType : IfcFlowSegmentType, ObjectHelper<IfcPipeSegmentType,1> { IfcPipeSegmentType() : Object("IfcPipeSegmentType") {}
2954         IfcPipeSegmentTypeEnum::Out PredefinedType;
2955     };
2956 
2957     // C++ wrapper for IfcPlanarExtent
IfcPlanarExtentIfcPlanarExtent2958     struct IfcPlanarExtent : IfcGeometricRepresentationItem, ObjectHelper<IfcPlanarExtent,2> { IfcPlanarExtent() : Object("IfcPlanarExtent") {}
2959         IfcLengthMeasure::Out SizeInX;
2960         IfcLengthMeasure::Out SizeInY;
2961     };
2962 
2963     // C++ wrapper for IfcPlanarBox
IfcPlanarBoxIfcPlanarBox2964     struct IfcPlanarBox : IfcPlanarExtent, ObjectHelper<IfcPlanarBox,1> { IfcPlanarBox() : Object("IfcPlanarBox") {}
2965         IfcAxis2Placement::Out Placement;
2966     };
2967 
2968     // C++ wrapper for IfcPlane
IfcPlaneIfcPlane2969     struct IfcPlane : IfcElementarySurface, ObjectHelper<IfcPlane,0> { IfcPlane() : Object("IfcPlane") {}
2970 
2971     };
2972 
2973     // C++ wrapper for IfcPlate
IfcPlateIfcPlate2974     struct IfcPlate : IfcBuildingElement, ObjectHelper<IfcPlate,0> { IfcPlate() : Object("IfcPlate") {}
2975 
2976     };
2977 
2978     // C++ wrapper for IfcPlateType
IfcPlateTypeIfcPlateType2979     struct IfcPlateType : IfcBuildingElementType, ObjectHelper<IfcPlateType,1> { IfcPlateType() : Object("IfcPlateType") {}
2980         IfcPlateTypeEnum::Out PredefinedType;
2981     };
2982 
2983     // C++ wrapper for IfcPointOnCurve
IfcPointOnCurveIfcPointOnCurve2984     struct IfcPointOnCurve : IfcPoint, ObjectHelper<IfcPointOnCurve,2> { IfcPointOnCurve() : Object("IfcPointOnCurve") {}
2985         Lazy< IfcCurve > BasisCurve;
2986         IfcParameterValue::Out PointParameter;
2987     };
2988 
2989     // C++ wrapper for IfcPointOnSurface
IfcPointOnSurfaceIfcPointOnSurface2990     struct IfcPointOnSurface : IfcPoint, ObjectHelper<IfcPointOnSurface,3> { IfcPointOnSurface() : Object("IfcPointOnSurface") {}
2991         Lazy< IfcSurface > BasisSurface;
2992         IfcParameterValue::Out PointParameterU;
2993         IfcParameterValue::Out PointParameterV;
2994     };
2995 
2996     // C++ wrapper for IfcPolyLoop
IfcPolyLoopIfcPolyLoop2997     struct IfcPolyLoop : IfcLoop, ObjectHelper<IfcPolyLoop,1> { IfcPolyLoop() : Object("IfcPolyLoop") {}
2998         ListOf< Lazy< IfcCartesianPoint >, 3, 0 > Polygon;
2999     };
3000 
3001     // C++ wrapper for IfcPolygonalBoundedHalfSpace
IfcPolygonalBoundedHalfSpaceIfcPolygonalBoundedHalfSpace3002     struct IfcPolygonalBoundedHalfSpace : IfcHalfSpaceSolid, ObjectHelper<IfcPolygonalBoundedHalfSpace,2> { IfcPolygonalBoundedHalfSpace() : Object("IfcPolygonalBoundedHalfSpace") {}
3003         Lazy< IfcAxis2Placement3D > Position;
3004         Lazy< IfcBoundedCurve > PolygonalBoundary;
3005     };
3006 
3007     // C++ wrapper for IfcPolyline
IfcPolylineIfcPolyline3008     struct IfcPolyline : IfcBoundedCurve, ObjectHelper<IfcPolyline,1> { IfcPolyline() : Object("IfcPolyline") {}
3009         ListOf< Lazy< IfcCartesianPoint >, 2, 0 > Points;
3010     };
3011 
3012     // C++ wrapper for IfcPresentationStyleAssignment
IfcPresentationStyleAssignmentIfcPresentationStyleAssignment3013     struct IfcPresentationStyleAssignment :  ObjectHelper<IfcPresentationStyleAssignment,1> { IfcPresentationStyleAssignment() : Object("IfcPresentationStyleAssignment") {}
3014         ListOf< IfcPresentationStyleSelect, 1, 0 >::Out Styles;
3015     };
3016 
3017     // C++ wrapper for IfcProcedure
IfcProcedureIfcProcedure3018     struct IfcProcedure : IfcProcess, ObjectHelper<IfcProcedure,3> { IfcProcedure() : Object("IfcProcedure") {}
3019         IfcIdentifier::Out ProcedureID;
3020         IfcProcedureTypeEnum::Out ProcedureType;
3021         Maybe< IfcLabel::Out > UserDefinedProcedureType;
3022     };
3023 
3024     // C++ wrapper for IfcProductDefinitionShape
IfcProductDefinitionShapeIfcProductDefinitionShape3025     struct IfcProductDefinitionShape : IfcProductRepresentation, ObjectHelper<IfcProductDefinitionShape,0> { IfcProductDefinitionShape() : Object("IfcProductDefinitionShape") {}
3026 
3027     };
3028 
3029     // C++ wrapper for IfcProject
IfcProjectIfcProject3030     struct IfcProject : IfcObject, ObjectHelper<IfcProject,4> { IfcProject() : Object("IfcProject") {}
3031         Maybe< IfcLabel::Out > LongName;
3032         Maybe< IfcLabel::Out > Phase;
3033         ListOf< Lazy< IfcRepresentationContext >, 1, 0 > RepresentationContexts;
3034         Lazy< IfcUnitAssignment > UnitsInContext;
3035     };
3036 
3037     // C++ wrapper for IfcProjectOrder
IfcProjectOrderIfcProjectOrder3038     struct IfcProjectOrder : IfcControl, ObjectHelper<IfcProjectOrder,3> { IfcProjectOrder() : Object("IfcProjectOrder") {}
3039         IfcIdentifier::Out ID;
3040         IfcProjectOrderTypeEnum::Out PredefinedType;
3041         Maybe< IfcLabel::Out > Status;
3042     };
3043 
3044     // C++ wrapper for IfcProjectOrderRecord
IfcProjectOrderRecordIfcProjectOrderRecord3045     struct IfcProjectOrderRecord : IfcControl, ObjectHelper<IfcProjectOrderRecord,2> { IfcProjectOrderRecord() : Object("IfcProjectOrderRecord") {}
3046         ListOf< Lazy< NotImplemented >, 1, 0 > Records;
3047         IfcProjectOrderRecordTypeEnum::Out PredefinedType;
3048     };
3049 
3050     // C++ wrapper for IfcProjectionCurve
IfcProjectionCurveIfcProjectionCurve3051     struct IfcProjectionCurve : IfcAnnotationCurveOccurrence, ObjectHelper<IfcProjectionCurve,0> { IfcProjectionCurve() : Object("IfcProjectionCurve") {}
3052 
3053     };
3054 
3055     // C++ wrapper for IfcProjectionElement
IfcProjectionElementIfcProjectionElement3056     struct IfcProjectionElement : IfcFeatureElementAddition, ObjectHelper<IfcProjectionElement,0> { IfcProjectionElement() : Object("IfcProjectionElement") {}
3057 
3058     };
3059 
3060     // C++ wrapper for IfcSimpleProperty
IfcSimplePropertyIfcSimpleProperty3061     struct IfcSimpleProperty : IfcProperty, ObjectHelper<IfcSimpleProperty,0> { IfcSimpleProperty() : Object("IfcSimpleProperty") {}
3062 
3063     };
3064 
3065     // C++ wrapper for IfcPropertyBoundedValue
IfcPropertyBoundedValueIfcPropertyBoundedValue3066     struct IfcPropertyBoundedValue : IfcSimpleProperty, ObjectHelper<IfcPropertyBoundedValue,3> { IfcPropertyBoundedValue() : Object("IfcPropertyBoundedValue") {}
3067         Maybe< IfcValue::Out > UpperBoundValue;
3068         Maybe< IfcValue::Out > LowerBoundValue;
3069         Maybe< IfcUnit::Out > Unit;
3070     };
3071 
3072     // C++ wrapper for IfcPropertyEnumeratedValue
IfcPropertyEnumeratedValueIfcPropertyEnumeratedValue3073     struct IfcPropertyEnumeratedValue : IfcSimpleProperty, ObjectHelper<IfcPropertyEnumeratedValue,2> { IfcPropertyEnumeratedValue() : Object("IfcPropertyEnumeratedValue") {}
3074         ListOf< IfcValue, 1, 0 >::Out EnumerationValues;
3075         Maybe< Lazy< NotImplemented > > EnumerationReference;
3076     };
3077 
3078     // C++ wrapper for IfcPropertyListValue
IfcPropertyListValueIfcPropertyListValue3079     struct IfcPropertyListValue : IfcSimpleProperty, ObjectHelper<IfcPropertyListValue,2> { IfcPropertyListValue() : Object("IfcPropertyListValue") {}
3080         ListOf< IfcValue, 1, 0 >::Out ListValues;
3081         Maybe< IfcUnit::Out > Unit;
3082     };
3083 
3084     // C++ wrapper for IfcPropertyReferenceValue
IfcPropertyReferenceValueIfcPropertyReferenceValue3085     struct IfcPropertyReferenceValue : IfcSimpleProperty, ObjectHelper<IfcPropertyReferenceValue,2> { IfcPropertyReferenceValue() : Object("IfcPropertyReferenceValue") {}
3086         Maybe< IfcLabel::Out > UsageName;
3087         IfcObjectReferenceSelect::Out PropertyReference;
3088     };
3089 
3090     // C++ wrapper for IfcPropertySet
IfcPropertySetIfcPropertySet3091     struct IfcPropertySet : IfcPropertySetDefinition, ObjectHelper<IfcPropertySet,1> { IfcPropertySet() : Object("IfcPropertySet") {}
3092         ListOf< Lazy< IfcProperty >, 1, 0 > HasProperties;
3093     };
3094 
3095     // C++ wrapper for IfcPropertySingleValue
IfcPropertySingleValueIfcPropertySingleValue3096     struct IfcPropertySingleValue : IfcSimpleProperty, ObjectHelper<IfcPropertySingleValue,2> { IfcPropertySingleValue() : Object("IfcPropertySingleValue") {}
3097         Maybe< IfcValue::Out > NominalValue;
3098         Maybe< IfcUnit::Out > Unit;
3099     };
3100 
3101     // C++ wrapper for IfcPropertyTableValue
IfcPropertyTableValueIfcPropertyTableValue3102     struct IfcPropertyTableValue : IfcSimpleProperty, ObjectHelper<IfcPropertyTableValue,5> { IfcPropertyTableValue() : Object("IfcPropertyTableValue") {}
3103         ListOf< IfcValue, 1, 0 >::Out DefiningValues;
3104         ListOf< IfcValue, 1, 0 >::Out DefinedValues;
3105         Maybe< IfcText::Out > Expression;
3106         Maybe< IfcUnit::Out > DefiningUnit;
3107         Maybe< IfcUnit::Out > DefinedUnit;
3108     };
3109 
3110     // C++ wrapper for IfcProtectiveDeviceType
IfcProtectiveDeviceTypeIfcProtectiveDeviceType3111     struct IfcProtectiveDeviceType : IfcFlowControllerType, ObjectHelper<IfcProtectiveDeviceType,1> { IfcProtectiveDeviceType() : Object("IfcProtectiveDeviceType") {}
3112         IfcProtectiveDeviceTypeEnum::Out PredefinedType;
3113     };
3114 
3115     // C++ wrapper for IfcProxy
IfcProxyIfcProxy3116     struct IfcProxy : IfcProduct, ObjectHelper<IfcProxy,2> { IfcProxy() : Object("IfcProxy") {}
3117         IfcObjectTypeEnum::Out ProxyType;
3118         Maybe< IfcLabel::Out > Tag;
3119     };
3120 
3121     // C++ wrapper for IfcPumpType
IfcPumpTypeIfcPumpType3122     struct IfcPumpType : IfcFlowMovingDeviceType, ObjectHelper<IfcPumpType,1> { IfcPumpType() : Object("IfcPumpType") {}
3123         IfcPumpTypeEnum::Out PredefinedType;
3124     };
3125 
3126     // C++ wrapper for IfcRadiusDimension
IfcRadiusDimensionIfcRadiusDimension3127     struct IfcRadiusDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcRadiusDimension,0> { IfcRadiusDimension() : Object("IfcRadiusDimension") {}
3128 
3129     };
3130 
3131     // C++ wrapper for IfcRailing
IfcRailingIfcRailing3132     struct IfcRailing : IfcBuildingElement, ObjectHelper<IfcRailing,1> { IfcRailing() : Object("IfcRailing") {}
3133         Maybe< IfcRailingTypeEnum::Out > PredefinedType;
3134     };
3135 
3136     // C++ wrapper for IfcRailingType
IfcRailingTypeIfcRailingType3137     struct IfcRailingType : IfcBuildingElementType, ObjectHelper<IfcRailingType,1> { IfcRailingType() : Object("IfcRailingType") {}
3138         IfcRailingTypeEnum::Out PredefinedType;
3139     };
3140 
3141     // C++ wrapper for IfcRamp
IfcRampIfcRamp3142     struct IfcRamp : IfcBuildingElement, ObjectHelper<IfcRamp,1> { IfcRamp() : Object("IfcRamp") {}
3143         IfcRampTypeEnum::Out ShapeType;
3144     };
3145 
3146     // C++ wrapper for IfcRampFlight
IfcRampFlightIfcRampFlight3147     struct IfcRampFlight : IfcBuildingElement, ObjectHelper<IfcRampFlight,0> { IfcRampFlight() : Object("IfcRampFlight") {}
3148 
3149     };
3150 
3151     // C++ wrapper for IfcRampFlightType
IfcRampFlightTypeIfcRampFlightType3152     struct IfcRampFlightType : IfcBuildingElementType, ObjectHelper<IfcRampFlightType,1> { IfcRampFlightType() : Object("IfcRampFlightType") {}
3153         IfcRampFlightTypeEnum::Out PredefinedType;
3154     };
3155 
3156     // C++ wrapper for IfcRationalBezierCurve
IfcRationalBezierCurveIfcRationalBezierCurve3157     struct IfcRationalBezierCurve : IfcBezierCurve, ObjectHelper<IfcRationalBezierCurve,1> { IfcRationalBezierCurve() : Object("IfcRationalBezierCurve") {}
3158         ListOf< REAL, 2, 0 >::Out WeightsData;
3159     };
3160 
3161     // C++ wrapper for IfcRectangleProfileDef
IfcRectangleProfileDefIfcRectangleProfileDef3162     struct IfcRectangleProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcRectangleProfileDef,2> { IfcRectangleProfileDef() : Object("IfcRectangleProfileDef") {}
3163         IfcPositiveLengthMeasure::Out XDim;
3164         IfcPositiveLengthMeasure::Out YDim;
3165     };
3166 
3167     // C++ wrapper for IfcRectangleHollowProfileDef
IfcRectangleHollowProfileDefIfcRectangleHollowProfileDef3168     struct IfcRectangleHollowProfileDef : IfcRectangleProfileDef, ObjectHelper<IfcRectangleHollowProfileDef,3> { IfcRectangleHollowProfileDef() : Object("IfcRectangleHollowProfileDef") {}
3169         IfcPositiveLengthMeasure::Out WallThickness;
3170         Maybe< IfcPositiveLengthMeasure::Out > InnerFilletRadius;
3171         Maybe< IfcPositiveLengthMeasure::Out > OuterFilletRadius;
3172     };
3173 
3174     // C++ wrapper for IfcRectangularPyramid
IfcRectangularPyramidIfcRectangularPyramid3175     struct IfcRectangularPyramid : IfcCsgPrimitive3D, ObjectHelper<IfcRectangularPyramid,3> { IfcRectangularPyramid() : Object("IfcRectangularPyramid") {}
3176         IfcPositiveLengthMeasure::Out XLength;
3177         IfcPositiveLengthMeasure::Out YLength;
3178         IfcPositiveLengthMeasure::Out Height;
3179     };
3180 
3181     // C++ wrapper for IfcRectangularTrimmedSurface
IfcRectangularTrimmedSurfaceIfcRectangularTrimmedSurface3182     struct IfcRectangularTrimmedSurface : IfcBoundedSurface, ObjectHelper<IfcRectangularTrimmedSurface,7> { IfcRectangularTrimmedSurface() : Object("IfcRectangularTrimmedSurface") {}
3183         Lazy< IfcSurface > BasisSurface;
3184         IfcParameterValue::Out U1;
3185         IfcParameterValue::Out V1;
3186         IfcParameterValue::Out U2;
3187         IfcParameterValue::Out V2;
3188         BOOLEAN::Out Usense;
3189         BOOLEAN::Out Vsense;
3190     };
3191 
3192     // C++ wrapper for IfcReinforcingElement
IfcReinforcingElementIfcReinforcingElement3193     struct IfcReinforcingElement : IfcBuildingElementComponent, ObjectHelper<IfcReinforcingElement,1> { IfcReinforcingElement() : Object("IfcReinforcingElement") {}
3194         Maybe< IfcLabel::Out > SteelGrade;
3195     };
3196 
3197     // C++ wrapper for IfcReinforcingBar
IfcReinforcingBarIfcReinforcingBar3198     struct IfcReinforcingBar : IfcReinforcingElement, ObjectHelper<IfcReinforcingBar,5> { IfcReinforcingBar() : Object("IfcReinforcingBar") {}
3199         IfcPositiveLengthMeasure::Out NominalDiameter;
3200         IfcAreaMeasure::Out CrossSectionArea;
3201         Maybe< IfcPositiveLengthMeasure::Out > BarLength;
3202         IfcReinforcingBarRoleEnum::Out BarRole;
3203         Maybe< IfcReinforcingBarSurfaceEnum::Out > BarSurface;
3204     };
3205 
3206     // C++ wrapper for IfcReinforcingMesh
IfcReinforcingMeshIfcReinforcingMesh3207     struct IfcReinforcingMesh : IfcReinforcingElement, ObjectHelper<IfcReinforcingMesh,8> { IfcReinforcingMesh() : Object("IfcReinforcingMesh") {}
3208         Maybe< IfcPositiveLengthMeasure::Out > MeshLength;
3209         Maybe< IfcPositiveLengthMeasure::Out > MeshWidth;
3210         IfcPositiveLengthMeasure::Out LongitudinalBarNominalDiameter;
3211         IfcPositiveLengthMeasure::Out TransverseBarNominalDiameter;
3212         IfcAreaMeasure::Out LongitudinalBarCrossSectionArea;
3213         IfcAreaMeasure::Out TransverseBarCrossSectionArea;
3214         IfcPositiveLengthMeasure::Out LongitudinalBarSpacing;
3215         IfcPositiveLengthMeasure::Out TransverseBarSpacing;
3216     };
3217 
3218     // C++ wrapper for IfcRelationship
IfcRelationshipIfcRelationship3219     struct IfcRelationship : IfcRoot, ObjectHelper<IfcRelationship,0> { IfcRelationship() : Object("IfcRelationship") {}
3220 
3221     };
3222 
3223     // C++ wrapper for IfcRelDecomposes
IfcRelDecomposesIfcRelDecomposes3224     struct IfcRelDecomposes : IfcRelationship, ObjectHelper<IfcRelDecomposes,2> { IfcRelDecomposes() : Object("IfcRelDecomposes") {}
3225         Lazy< IfcObjectDefinition > RelatingObject;
3226         ListOf< Lazy< IfcObjectDefinition >, 1, 0 > RelatedObjects;
3227     };
3228 
3229     // C++ wrapper for IfcRelAggregates
IfcRelAggregatesIfcRelAggregates3230     struct IfcRelAggregates : IfcRelDecomposes, ObjectHelper<IfcRelAggregates,0> { IfcRelAggregates() : Object("IfcRelAggregates") {}
3231 
3232     };
3233 
3234     // C++ wrapper for IfcRelConnects
IfcRelConnectsIfcRelConnects3235     struct IfcRelConnects : IfcRelationship, ObjectHelper<IfcRelConnects,0> { IfcRelConnects() : Object("IfcRelConnects") {}
3236 
3237     };
3238 
3239     // C++ wrapper for IfcRelContainedInSpatialStructure
IfcRelContainedInSpatialStructureIfcRelContainedInSpatialStructure3240     struct IfcRelContainedInSpatialStructure : IfcRelConnects, ObjectHelper<IfcRelContainedInSpatialStructure,2> { IfcRelContainedInSpatialStructure() : Object("IfcRelContainedInSpatialStructure") {}
3241         ListOf< Lazy< IfcProduct >, 1, 0 > RelatedElements;
3242         Lazy< IfcSpatialStructureElement > RelatingStructure;
3243     };
3244 
3245     // C++ wrapper for IfcRelDefines
IfcRelDefinesIfcRelDefines3246     struct IfcRelDefines : IfcRelationship, ObjectHelper<IfcRelDefines,1> { IfcRelDefines() : Object("IfcRelDefines") {}
3247         ListOf< Lazy< IfcObject >, 1, 0 > RelatedObjects;
3248     };
3249 
3250     // C++ wrapper for IfcRelDefinesByProperties
IfcRelDefinesByPropertiesIfcRelDefinesByProperties3251     struct IfcRelDefinesByProperties : IfcRelDefines, ObjectHelper<IfcRelDefinesByProperties,1> { IfcRelDefinesByProperties() : Object("IfcRelDefinesByProperties") {}
3252         Lazy< IfcPropertySetDefinition > RelatingPropertyDefinition;
3253     };
3254 
3255     // C++ wrapper for IfcRelFillsElement
IfcRelFillsElementIfcRelFillsElement3256     struct IfcRelFillsElement : IfcRelConnects, ObjectHelper<IfcRelFillsElement,2> { IfcRelFillsElement() : Object("IfcRelFillsElement") {}
3257         Lazy< IfcOpeningElement > RelatingOpeningElement;
3258         Lazy< IfcElement > RelatedBuildingElement;
3259     };
3260 
3261     // C++ wrapper for IfcRelOverridesProperties
IfcRelOverridesPropertiesIfcRelOverridesProperties3262     struct IfcRelOverridesProperties : IfcRelDefinesByProperties, ObjectHelper<IfcRelOverridesProperties,1> { IfcRelOverridesProperties() : Object("IfcRelOverridesProperties") {}
3263         ListOf< Lazy< IfcProperty >, 1, 0 > OverridingProperties;
3264     };
3265 
3266     // C++ wrapper for IfcRelVoidsElement
IfcRelVoidsElementIfcRelVoidsElement3267     struct IfcRelVoidsElement : IfcRelConnects, ObjectHelper<IfcRelVoidsElement,2> { IfcRelVoidsElement() : Object("IfcRelVoidsElement") {}
3268         Lazy< IfcElement > RelatingBuildingElement;
3269         Lazy< IfcFeatureElementSubtraction > RelatedOpeningElement;
3270     };
3271 
3272     // C++ wrapper for IfcRepresentation
IfcRepresentationIfcRepresentation3273     struct IfcRepresentation :  ObjectHelper<IfcRepresentation,4> { IfcRepresentation() : Object("IfcRepresentation") {}
3274         Lazy< IfcRepresentationContext > ContextOfItems;
3275         Maybe< IfcLabel::Out > RepresentationIdentifier;
3276         Maybe< IfcLabel::Out > RepresentationType;
3277         ListOf< Lazy< IfcRepresentationItem >, 1, 0 > Items;
3278     };
3279 
3280     // C++ wrapper for IfcRepresentationMap
IfcRepresentationMapIfcRepresentationMap3281     struct IfcRepresentationMap :  ObjectHelper<IfcRepresentationMap,2> { IfcRepresentationMap() : Object("IfcRepresentationMap") {}
3282         IfcAxis2Placement::Out MappingOrigin;
3283         Lazy< IfcRepresentation > MappedRepresentation;
3284     };
3285 
3286     // C++ wrapper for IfcRevolvedAreaSolid
IfcRevolvedAreaSolidIfcRevolvedAreaSolid3287     struct IfcRevolvedAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcRevolvedAreaSolid,2> { IfcRevolvedAreaSolid() : Object("IfcRevolvedAreaSolid") {}
3288         Lazy< IfcAxis1Placement > Axis;
3289         IfcPlaneAngleMeasure::Out Angle;
3290     };
3291 
3292     // C++ wrapper for IfcRightCircularCone
IfcRightCircularConeIfcRightCircularCone3293     struct IfcRightCircularCone : IfcCsgPrimitive3D, ObjectHelper<IfcRightCircularCone,2> { IfcRightCircularCone() : Object("IfcRightCircularCone") {}
3294         IfcPositiveLengthMeasure::Out Height;
3295         IfcPositiveLengthMeasure::Out BottomRadius;
3296     };
3297 
3298     // C++ wrapper for IfcRightCircularCylinder
IfcRightCircularCylinderIfcRightCircularCylinder3299     struct IfcRightCircularCylinder : IfcCsgPrimitive3D, ObjectHelper<IfcRightCircularCylinder,2> { IfcRightCircularCylinder() : Object("IfcRightCircularCylinder") {}
3300         IfcPositiveLengthMeasure::Out Height;
3301         IfcPositiveLengthMeasure::Out Radius;
3302     };
3303 
3304     // C++ wrapper for IfcRoof
IfcRoofIfcRoof3305     struct IfcRoof : IfcBuildingElement, ObjectHelper<IfcRoof,1> { IfcRoof() : Object("IfcRoof") {}
3306         IfcRoofTypeEnum::Out ShapeType;
3307     };
3308 
3309     // C++ wrapper for IfcRoundedEdgeFeature
IfcRoundedEdgeFeatureIfcRoundedEdgeFeature3310     struct IfcRoundedEdgeFeature : IfcEdgeFeature, ObjectHelper<IfcRoundedEdgeFeature,1> { IfcRoundedEdgeFeature() : Object("IfcRoundedEdgeFeature") {}
3311         Maybe< IfcPositiveLengthMeasure::Out > Radius;
3312     };
3313 
3314     // C++ wrapper for IfcRoundedRectangleProfileDef
IfcRoundedRectangleProfileDefIfcRoundedRectangleProfileDef3315     struct IfcRoundedRectangleProfileDef : IfcRectangleProfileDef, ObjectHelper<IfcRoundedRectangleProfileDef,1> { IfcRoundedRectangleProfileDef() : Object("IfcRoundedRectangleProfileDef") {}
3316         IfcPositiveLengthMeasure::Out RoundingRadius;
3317     };
3318 
3319     // C++ wrapper for IfcSIUnit
IfcSIUnitIfcSIUnit3320     struct IfcSIUnit : IfcNamedUnit, ObjectHelper<IfcSIUnit,2> { IfcSIUnit() : Object("IfcSIUnit") {}
3321         Maybe< IfcSIPrefix::Out > Prefix;
3322         IfcSIUnitName::Out Name;
3323     };
3324 
3325     // C++ wrapper for IfcSanitaryTerminalType
IfcSanitaryTerminalTypeIfcSanitaryTerminalType3326     struct IfcSanitaryTerminalType : IfcFlowTerminalType, ObjectHelper<IfcSanitaryTerminalType,1> { IfcSanitaryTerminalType() : Object("IfcSanitaryTerminalType") {}
3327         IfcSanitaryTerminalTypeEnum::Out PredefinedType;
3328     };
3329 
3330     // C++ wrapper for IfcScheduleTimeControl
IfcScheduleTimeControlIfcScheduleTimeControl3331     struct IfcScheduleTimeControl : IfcControl, ObjectHelper<IfcScheduleTimeControl,18> { IfcScheduleTimeControl() : Object("IfcScheduleTimeControl") {}
3332         Maybe< IfcDateTimeSelect::Out > ActualStart;
3333         Maybe< IfcDateTimeSelect::Out > EarlyStart;
3334         Maybe< IfcDateTimeSelect::Out > LateStart;
3335         Maybe< IfcDateTimeSelect::Out > ScheduleStart;
3336         Maybe< IfcDateTimeSelect::Out > ActualFinish;
3337         Maybe< IfcDateTimeSelect::Out > EarlyFinish;
3338         Maybe< IfcDateTimeSelect::Out > LateFinish;
3339         Maybe< IfcDateTimeSelect::Out > ScheduleFinish;
3340         Maybe< IfcTimeMeasure::Out > ScheduleDuration;
3341         Maybe< IfcTimeMeasure::Out > ActualDuration;
3342         Maybe< IfcTimeMeasure::Out > RemainingTime;
3343         Maybe< IfcTimeMeasure::Out > FreeFloat;
3344         Maybe< IfcTimeMeasure::Out > TotalFloat;
3345         Maybe< BOOLEAN::Out > IsCritical;
3346         Maybe< IfcDateTimeSelect::Out > StatusTime;
3347         Maybe< IfcTimeMeasure::Out > StartFloat;
3348         Maybe< IfcTimeMeasure::Out > FinishFloat;
3349         Maybe< IfcPositiveRatioMeasure::Out > Completion;
3350     };
3351 
3352     // C++ wrapper for IfcSectionedSpine
IfcSectionedSpineIfcSectionedSpine3353     struct IfcSectionedSpine : IfcGeometricRepresentationItem, ObjectHelper<IfcSectionedSpine,3> { IfcSectionedSpine() : Object("IfcSectionedSpine") {}
3354         Lazy< IfcCompositeCurve > SpineCurve;
3355         ListOf< Lazy< IfcProfileDef >, 2, 0 > CrossSections;
3356         ListOf< Lazy< IfcAxis2Placement3D >, 2, 0 > CrossSectionPositions;
3357     };
3358 
3359     // C++ wrapper for IfcSensorType
IfcSensorTypeIfcSensorType3360     struct IfcSensorType : IfcDistributionControlElementType, ObjectHelper<IfcSensorType,1> { IfcSensorType() : Object("IfcSensorType") {}
3361         IfcSensorTypeEnum::Out PredefinedType;
3362     };
3363 
3364     // C++ wrapper for IfcServiceLife
IfcServiceLifeIfcServiceLife3365     struct IfcServiceLife : IfcControl, ObjectHelper<IfcServiceLife,2> { IfcServiceLife() : Object("IfcServiceLife") {}
3366         IfcServiceLifeTypeEnum::Out ServiceLifeType;
3367         IfcTimeMeasure::Out ServiceLifeDuration;
3368     };
3369 
3370     // C++ wrapper for IfcShapeModel
IfcShapeModelIfcShapeModel3371     struct IfcShapeModel : IfcRepresentation, ObjectHelper<IfcShapeModel,0> { IfcShapeModel() : Object("IfcShapeModel") {}
3372 
3373     };
3374 
3375     // C++ wrapper for IfcShapeRepresentation
IfcShapeRepresentationIfcShapeRepresentation3376     struct IfcShapeRepresentation : IfcShapeModel, ObjectHelper<IfcShapeRepresentation,0> { IfcShapeRepresentation() : Object("IfcShapeRepresentation") {}
3377 
3378     };
3379 
3380     // C++ wrapper for IfcShellBasedSurfaceModel
IfcShellBasedSurfaceModelIfcShellBasedSurfaceModel3381     struct IfcShellBasedSurfaceModel : IfcGeometricRepresentationItem, ObjectHelper<IfcShellBasedSurfaceModel,1> { IfcShellBasedSurfaceModel() : Object("IfcShellBasedSurfaceModel") {}
3382         ListOf< IfcShell, 1, 0 >::Out SbsmBoundary;
3383     };
3384 
3385     // C++ wrapper for IfcSite
IfcSiteIfcSite3386     struct IfcSite : IfcSpatialStructureElement, ObjectHelper<IfcSite,5> { IfcSite() : Object("IfcSite") {}
3387         Maybe< IfcCompoundPlaneAngleMeasure::Out > RefLatitude;
3388         Maybe< IfcCompoundPlaneAngleMeasure::Out > RefLongitude;
3389         Maybe< IfcLengthMeasure::Out > RefElevation;
3390         Maybe< IfcLabel::Out > LandTitleNumber;
3391         Maybe< Lazy< NotImplemented > > SiteAddress;
3392     };
3393 
3394     // C++ wrapper for IfcSlab
IfcSlabIfcSlab3395     struct IfcSlab : IfcBuildingElement, ObjectHelper<IfcSlab,1> { IfcSlab() : Object("IfcSlab") {}
3396         Maybe< IfcSlabTypeEnum::Out > PredefinedType;
3397     };
3398 
3399     // C++ wrapper for IfcSlabType
IfcSlabTypeIfcSlabType3400     struct IfcSlabType : IfcBuildingElementType, ObjectHelper<IfcSlabType,1> { IfcSlabType() : Object("IfcSlabType") {}
3401         IfcSlabTypeEnum::Out PredefinedType;
3402     };
3403 
3404     // C++ wrapper for IfcSpace
IfcSpaceIfcSpace3405     struct IfcSpace : IfcSpatialStructureElement, ObjectHelper<IfcSpace,2> { IfcSpace() : Object("IfcSpace") {}
3406         IfcInternalOrExternalEnum::Out InteriorOrExteriorSpace;
3407         Maybe< IfcLengthMeasure::Out > ElevationWithFlooring;
3408     };
3409 
3410     // C++ wrapper for IfcSpaceHeaterType
IfcSpaceHeaterTypeIfcSpaceHeaterType3411     struct IfcSpaceHeaterType : IfcEnergyConversionDeviceType, ObjectHelper<IfcSpaceHeaterType,1> { IfcSpaceHeaterType() : Object("IfcSpaceHeaterType") {}
3412         IfcSpaceHeaterTypeEnum::Out PredefinedType;
3413     };
3414 
3415     // C++ wrapper for IfcSpaceProgram
IfcSpaceProgramIfcSpaceProgram3416     struct IfcSpaceProgram : IfcControl, ObjectHelper<IfcSpaceProgram,5> { IfcSpaceProgram() : Object("IfcSpaceProgram") {}
3417         IfcIdentifier::Out SpaceProgramIdentifier;
3418         Maybe< IfcAreaMeasure::Out > MaxRequiredArea;
3419         Maybe< IfcAreaMeasure::Out > MinRequiredArea;
3420         Maybe< Lazy< IfcSpatialStructureElement > > RequestedLocation;
3421         IfcAreaMeasure::Out StandardRequiredArea;
3422     };
3423 
3424     // C++ wrapper for IfcSpatialStructureElementType
IfcSpatialStructureElementTypeIfcSpatialStructureElementType3425     struct IfcSpatialStructureElementType : IfcElementType, ObjectHelper<IfcSpatialStructureElementType,0> { IfcSpatialStructureElementType() : Object("IfcSpatialStructureElementType") {}
3426 
3427     };
3428 
3429     // C++ wrapper for IfcSpaceType
IfcSpaceTypeIfcSpaceType3430     struct IfcSpaceType : IfcSpatialStructureElementType, ObjectHelper<IfcSpaceType,1> { IfcSpaceType() : Object("IfcSpaceType") {}
3431         IfcSpaceTypeEnum::Out PredefinedType;
3432     };
3433 
3434     // C++ wrapper for IfcSphere
IfcSphereIfcSphere3435     struct IfcSphere : IfcCsgPrimitive3D, ObjectHelper<IfcSphere,1> { IfcSphere() : Object("IfcSphere") {}
3436         IfcPositiveLengthMeasure::Out Radius;
3437     };
3438 
3439     // C++ wrapper for IfcStackTerminalType
IfcStackTerminalTypeIfcStackTerminalType3440     struct IfcStackTerminalType : IfcFlowTerminalType, ObjectHelper<IfcStackTerminalType,1> { IfcStackTerminalType() : Object("IfcStackTerminalType") {}
3441         IfcStackTerminalTypeEnum::Out PredefinedType;
3442     };
3443 
3444     // C++ wrapper for IfcStair
IfcStairIfcStair3445     struct IfcStair : IfcBuildingElement, ObjectHelper<IfcStair,1> { IfcStair() : Object("IfcStair") {}
3446         IfcStairTypeEnum::Out ShapeType;
3447     };
3448 
3449     // C++ wrapper for IfcStairFlight
IfcStairFlightIfcStairFlight3450     struct IfcStairFlight : IfcBuildingElement, ObjectHelper<IfcStairFlight,4> { IfcStairFlight() : Object("IfcStairFlight") {}
3451         Maybe< INTEGER::Out > NumberOfRiser;
3452         Maybe< INTEGER::Out > NumberOfTreads;
3453         Maybe< IfcPositiveLengthMeasure::Out > RiserHeight;
3454         Maybe< IfcPositiveLengthMeasure::Out > TreadLength;
3455     };
3456 
3457     // C++ wrapper for IfcStairFlightType
IfcStairFlightTypeIfcStairFlightType3458     struct IfcStairFlightType : IfcBuildingElementType, ObjectHelper<IfcStairFlightType,1> { IfcStairFlightType() : Object("IfcStairFlightType") {}
3459         IfcStairFlightTypeEnum::Out PredefinedType;
3460     };
3461 
3462     // C++ wrapper for IfcStructuralActivity
IfcStructuralActivityIfcStructuralActivity3463     struct IfcStructuralActivity : IfcProduct, ObjectHelper<IfcStructuralActivity,2> { IfcStructuralActivity() : Object("IfcStructuralActivity") {}
3464         Lazy< NotImplemented > AppliedLoad;
3465         IfcGlobalOrLocalEnum::Out GlobalOrLocal;
3466     };
3467 
3468     // C++ wrapper for IfcStructuralAction
IfcStructuralActionIfcStructuralAction3469     struct IfcStructuralAction : IfcStructuralActivity, ObjectHelper<IfcStructuralAction,2> { IfcStructuralAction() : Object("IfcStructuralAction") {}
3470         BOOLEAN::Out DestabilizingLoad;
3471         Maybe< Lazy< IfcStructuralReaction > > CausedBy;
3472     };
3473 
3474     // C++ wrapper for IfcStructuralAnalysisModel
IfcStructuralAnalysisModelIfcStructuralAnalysisModel3475     struct IfcStructuralAnalysisModel : IfcSystem, ObjectHelper<IfcStructuralAnalysisModel,4> { IfcStructuralAnalysisModel() : Object("IfcStructuralAnalysisModel") {}
3476         IfcAnalysisModelTypeEnum::Out PredefinedType;
3477         Maybe< Lazy< IfcAxis2Placement3D > > OrientationOf2DPlane;
3478         Maybe< ListOf< Lazy< IfcStructuralLoadGroup >, 1, 0 > > LoadedBy;
3479         Maybe< ListOf< Lazy< IfcStructuralResultGroup >, 1, 0 > > HasResults;
3480     };
3481 
3482     // C++ wrapper for IfcStructuralItem
IfcStructuralItemIfcStructuralItem3483     struct IfcStructuralItem : IfcProduct, ObjectHelper<IfcStructuralItem,0> { IfcStructuralItem() : Object("IfcStructuralItem") {}
3484 
3485     };
3486 
3487     // C++ wrapper for IfcStructuralConnection
IfcStructuralConnectionIfcStructuralConnection3488     struct IfcStructuralConnection : IfcStructuralItem, ObjectHelper<IfcStructuralConnection,1> { IfcStructuralConnection() : Object("IfcStructuralConnection") {}
3489         Maybe< Lazy< NotImplemented > > AppliedCondition;
3490     };
3491 
3492     // C++ wrapper for IfcStructuralCurveConnection
IfcStructuralCurveConnectionIfcStructuralCurveConnection3493     struct IfcStructuralCurveConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralCurveConnection,0> { IfcStructuralCurveConnection() : Object("IfcStructuralCurveConnection") {}
3494 
3495     };
3496 
3497     // C++ wrapper for IfcStructuralMember
IfcStructuralMemberIfcStructuralMember3498     struct IfcStructuralMember : IfcStructuralItem, ObjectHelper<IfcStructuralMember,0> { IfcStructuralMember() : Object("IfcStructuralMember") {}
3499 
3500     };
3501 
3502     // C++ wrapper for IfcStructuralCurveMember
IfcStructuralCurveMemberIfcStructuralCurveMember3503     struct IfcStructuralCurveMember : IfcStructuralMember, ObjectHelper<IfcStructuralCurveMember,1> { IfcStructuralCurveMember() : Object("IfcStructuralCurveMember") {}
3504         IfcStructuralCurveTypeEnum::Out PredefinedType;
3505     };
3506 
3507     // C++ wrapper for IfcStructuralCurveMemberVarying
IfcStructuralCurveMemberVaryingIfcStructuralCurveMemberVarying3508     struct IfcStructuralCurveMemberVarying : IfcStructuralCurveMember, ObjectHelper<IfcStructuralCurveMemberVarying,0> { IfcStructuralCurveMemberVarying() : Object("IfcStructuralCurveMemberVarying") {}
3509 
3510     };
3511 
3512     // C++ wrapper for IfcStructuralLinearAction
IfcStructuralLinearActionIfcStructuralLinearAction3513     struct IfcStructuralLinearAction : IfcStructuralAction, ObjectHelper<IfcStructuralLinearAction,1> { IfcStructuralLinearAction() : Object("IfcStructuralLinearAction") {}
3514         IfcProjectedOrTrueLengthEnum::Out ProjectedOrTrue;
3515     };
3516 
3517     // C++ wrapper for IfcStructuralLinearActionVarying
IfcStructuralLinearActionVaryingIfcStructuralLinearActionVarying3518     struct IfcStructuralLinearActionVarying : IfcStructuralLinearAction, ObjectHelper<IfcStructuralLinearActionVarying,2> { IfcStructuralLinearActionVarying() : Object("IfcStructuralLinearActionVarying") {}
3519         Lazy< NotImplemented > VaryingAppliedLoadLocation;
3520         ListOf< Lazy< NotImplemented >, 1, 0 > SubsequentAppliedLoads;
3521     };
3522 
3523     // C++ wrapper for IfcStructuralLoadGroup
IfcStructuralLoadGroupIfcStructuralLoadGroup3524     struct IfcStructuralLoadGroup : IfcGroup, ObjectHelper<IfcStructuralLoadGroup,5> { IfcStructuralLoadGroup() : Object("IfcStructuralLoadGroup") {}
3525         IfcLoadGroupTypeEnum::Out PredefinedType;
3526         IfcActionTypeEnum::Out ActionType;
3527         IfcActionSourceTypeEnum::Out ActionSource;
3528         Maybe< IfcPositiveRatioMeasure::Out > Coefficient;
3529         Maybe< IfcLabel::Out > Purpose;
3530     };
3531 
3532     // C++ wrapper for IfcStructuralPlanarAction
IfcStructuralPlanarActionIfcStructuralPlanarAction3533     struct IfcStructuralPlanarAction : IfcStructuralAction, ObjectHelper<IfcStructuralPlanarAction,1> { IfcStructuralPlanarAction() : Object("IfcStructuralPlanarAction") {}
3534         IfcProjectedOrTrueLengthEnum::Out ProjectedOrTrue;
3535     };
3536 
3537     // C++ wrapper for IfcStructuralPlanarActionVarying
IfcStructuralPlanarActionVaryingIfcStructuralPlanarActionVarying3538     struct IfcStructuralPlanarActionVarying : IfcStructuralPlanarAction, ObjectHelper<IfcStructuralPlanarActionVarying,2> { IfcStructuralPlanarActionVarying() : Object("IfcStructuralPlanarActionVarying") {}
3539         Lazy< NotImplemented > VaryingAppliedLoadLocation;
3540         ListOf< Lazy< NotImplemented >, 2, 0 > SubsequentAppliedLoads;
3541     };
3542 
3543     // C++ wrapper for IfcStructuralPointAction
IfcStructuralPointActionIfcStructuralPointAction3544     struct IfcStructuralPointAction : IfcStructuralAction, ObjectHelper<IfcStructuralPointAction,0> { IfcStructuralPointAction() : Object("IfcStructuralPointAction") {}
3545 
3546     };
3547 
3548     // C++ wrapper for IfcStructuralPointConnection
IfcStructuralPointConnectionIfcStructuralPointConnection3549     struct IfcStructuralPointConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralPointConnection,0> { IfcStructuralPointConnection() : Object("IfcStructuralPointConnection") {}
3550 
3551     };
3552 
3553     // C++ wrapper for IfcStructuralReaction
IfcStructuralReactionIfcStructuralReaction3554     struct IfcStructuralReaction : IfcStructuralActivity, ObjectHelper<IfcStructuralReaction,0> { IfcStructuralReaction() : Object("IfcStructuralReaction") {}
3555 
3556     };
3557 
3558     // C++ wrapper for IfcStructuralPointReaction
IfcStructuralPointReactionIfcStructuralPointReaction3559     struct IfcStructuralPointReaction : IfcStructuralReaction, ObjectHelper<IfcStructuralPointReaction,0> { IfcStructuralPointReaction() : Object("IfcStructuralPointReaction") {}
3560 
3561     };
3562 
3563     // C++ wrapper for IfcStructuralResultGroup
IfcStructuralResultGroupIfcStructuralResultGroup3564     struct IfcStructuralResultGroup : IfcGroup, ObjectHelper<IfcStructuralResultGroup,3> { IfcStructuralResultGroup() : Object("IfcStructuralResultGroup") {}
3565         IfcAnalysisTheoryTypeEnum::Out TheoryType;
3566         Maybe< Lazy< IfcStructuralLoadGroup > > ResultForLoadGroup;
3567         BOOLEAN::Out IsLinear;
3568     };
3569 
3570     // C++ wrapper for IfcStructuralSurfaceConnection
IfcStructuralSurfaceConnectionIfcStructuralSurfaceConnection3571     struct IfcStructuralSurfaceConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralSurfaceConnection,0> { IfcStructuralSurfaceConnection() : Object("IfcStructuralSurfaceConnection") {}
3572 
3573     };
3574 
3575     // C++ wrapper for IfcStructuralSurfaceMember
IfcStructuralSurfaceMemberIfcStructuralSurfaceMember3576     struct IfcStructuralSurfaceMember : IfcStructuralMember, ObjectHelper<IfcStructuralSurfaceMember,2> { IfcStructuralSurfaceMember() : Object("IfcStructuralSurfaceMember") {}
3577         IfcStructuralSurfaceTypeEnum::Out PredefinedType;
3578         Maybe< IfcPositiveLengthMeasure::Out > Thickness;
3579     };
3580 
3581     // C++ wrapper for IfcStructuralSurfaceMemberVarying
IfcStructuralSurfaceMemberVaryingIfcStructuralSurfaceMemberVarying3582     struct IfcStructuralSurfaceMemberVarying : IfcStructuralSurfaceMember, ObjectHelper<IfcStructuralSurfaceMemberVarying,2> { IfcStructuralSurfaceMemberVarying() : Object("IfcStructuralSurfaceMemberVarying") {}
3583         ListOf< IfcPositiveLengthMeasure, 2, 0 >::Out SubsequentThickness;
3584         Lazy< NotImplemented > VaryingThicknessLocation;
3585     };
3586 
3587     // C++ wrapper for IfcStructuredDimensionCallout
IfcStructuredDimensionCalloutIfcStructuredDimensionCallout3588     struct IfcStructuredDimensionCallout : IfcDraughtingCallout, ObjectHelper<IfcStructuredDimensionCallout,0> { IfcStructuredDimensionCallout() : Object("IfcStructuredDimensionCallout") {}
3589 
3590     };
3591 
3592     // C++ wrapper for IfcStyleModel
IfcStyleModelIfcStyleModel3593     struct IfcStyleModel : IfcRepresentation, ObjectHelper<IfcStyleModel,0> { IfcStyleModel() : Object("IfcStyleModel") {}
3594 
3595     };
3596 
3597     // C++ wrapper for IfcStyledRepresentation
IfcStyledRepresentationIfcStyledRepresentation3598     struct IfcStyledRepresentation : IfcStyleModel, ObjectHelper<IfcStyledRepresentation,0> { IfcStyledRepresentation() : Object("IfcStyledRepresentation") {}
3599 
3600     };
3601 
3602     // C++ wrapper for IfcSubContractResource
IfcSubContractResourceIfcSubContractResource3603     struct IfcSubContractResource : IfcConstructionResource, ObjectHelper<IfcSubContractResource,2> { IfcSubContractResource() : Object("IfcSubContractResource") {}
3604         Maybe< IfcActorSelect::Out > SubContractor;
3605         Maybe< IfcText::Out > JobDescription;
3606     };
3607 
3608     // C++ wrapper for IfcSubedge
IfcSubedgeIfcSubedge3609     struct IfcSubedge : IfcEdge, ObjectHelper<IfcSubedge,1> { IfcSubedge() : Object("IfcSubedge") {}
3610         Lazy< IfcEdge > ParentEdge;
3611     };
3612 
3613     // C++ wrapper for IfcSurfaceCurveSweptAreaSolid
IfcSurfaceCurveSweptAreaSolidIfcSurfaceCurveSweptAreaSolid3614     struct IfcSurfaceCurveSweptAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcSurfaceCurveSweptAreaSolid,4> { IfcSurfaceCurveSweptAreaSolid() : Object("IfcSurfaceCurveSweptAreaSolid") {}
3615         Lazy< IfcCurve > Directrix;
3616         IfcParameterValue::Out StartParam;
3617         IfcParameterValue::Out EndParam;
3618         Lazy< IfcSurface > ReferenceSurface;
3619     };
3620 
3621     // C++ wrapper for IfcSweptSurface
IfcSweptSurfaceIfcSweptSurface3622     struct IfcSweptSurface : IfcSurface, ObjectHelper<IfcSweptSurface,2> { IfcSweptSurface() : Object("IfcSweptSurface") {}
3623         Lazy< IfcProfileDef > SweptCurve;
3624         Lazy< IfcAxis2Placement3D > Position;
3625     };
3626 
3627     // C++ wrapper for IfcSurfaceOfLinearExtrusion
IfcSurfaceOfLinearExtrusionIfcSurfaceOfLinearExtrusion3628     struct IfcSurfaceOfLinearExtrusion : IfcSweptSurface, ObjectHelper<IfcSurfaceOfLinearExtrusion,2> { IfcSurfaceOfLinearExtrusion() : Object("IfcSurfaceOfLinearExtrusion") {}
3629         Lazy< IfcDirection > ExtrudedDirection;
3630         IfcLengthMeasure::Out Depth;
3631     };
3632 
3633     // C++ wrapper for IfcSurfaceOfRevolution
IfcSurfaceOfRevolutionIfcSurfaceOfRevolution3634     struct IfcSurfaceOfRevolution : IfcSweptSurface, ObjectHelper<IfcSurfaceOfRevolution,1> { IfcSurfaceOfRevolution() : Object("IfcSurfaceOfRevolution") {}
3635         Lazy< IfcAxis1Placement > AxisPosition;
3636     };
3637 
3638     // C++ wrapper for IfcSurfaceStyle
IfcSurfaceStyleIfcSurfaceStyle3639     struct IfcSurfaceStyle : IfcPresentationStyle, ObjectHelper<IfcSurfaceStyle,2> { IfcSurfaceStyle() : Object("IfcSurfaceStyle") {}
3640         IfcSurfaceSide::Out Side;
3641         ListOf< IfcSurfaceStyleElementSelect, 1, 5 >::Out Styles;
3642     };
3643 
3644     // C++ wrapper for IfcSurfaceStyleShading
IfcSurfaceStyleShadingIfcSurfaceStyleShading3645     struct IfcSurfaceStyleShading :  ObjectHelper<IfcSurfaceStyleShading,1> { IfcSurfaceStyleShading() : Object("IfcSurfaceStyleShading") {}
3646         Lazy< IfcColourRgb > SurfaceColour;
3647     };
3648 
3649     // C++ wrapper for IfcSurfaceStyleRendering
IfcSurfaceStyleRenderingIfcSurfaceStyleRendering3650     struct IfcSurfaceStyleRendering : IfcSurfaceStyleShading, ObjectHelper<IfcSurfaceStyleRendering,8> { IfcSurfaceStyleRendering() : Object("IfcSurfaceStyleRendering") {}
3651         Maybe< IfcNormalisedRatioMeasure::Out > Transparency;
3652         Maybe< IfcColourOrFactor::Out > DiffuseColour;
3653         Maybe< IfcColourOrFactor::Out > TransmissionColour;
3654         Maybe< IfcColourOrFactor::Out > DiffuseTransmissionColour;
3655         Maybe< IfcColourOrFactor::Out > ReflectionColour;
3656         Maybe< IfcColourOrFactor::Out > SpecularColour;
3657         Maybe< IfcSpecularHighlightSelect::Out > SpecularHighlight;
3658         IfcReflectanceMethodEnum::Out ReflectanceMethod;
3659     };
3660 
3661     // C++ wrapper for IfcSurfaceStyleWithTextures
IfcSurfaceStyleWithTexturesIfcSurfaceStyleWithTextures3662     struct IfcSurfaceStyleWithTextures :  ObjectHelper<IfcSurfaceStyleWithTextures,1> { IfcSurfaceStyleWithTextures() : Object("IfcSurfaceStyleWithTextures") {}
3663         ListOf< Lazy< NotImplemented >, 1, 0 > Textures;
3664     };
3665 
3666     // C++ wrapper for IfcSweptDiskSolid
IfcSweptDiskSolidIfcSweptDiskSolid3667     struct IfcSweptDiskSolid : IfcSolidModel, ObjectHelper<IfcSweptDiskSolid,5> { IfcSweptDiskSolid() : Object("IfcSweptDiskSolid") {}
3668         Lazy< IfcCurve > Directrix;
3669         IfcPositiveLengthMeasure::Out Radius;
3670         Maybe< IfcPositiveLengthMeasure::Out > InnerRadius;
3671         IfcParameterValue::Out StartParam;
3672         IfcParameterValue::Out EndParam;
3673     };
3674 
3675     // C++ wrapper for IfcSwitchingDeviceType
IfcSwitchingDeviceTypeIfcSwitchingDeviceType3676     struct IfcSwitchingDeviceType : IfcFlowControllerType, ObjectHelper<IfcSwitchingDeviceType,1> { IfcSwitchingDeviceType() : Object("IfcSwitchingDeviceType") {}
3677         IfcSwitchingDeviceTypeEnum::Out PredefinedType;
3678     };
3679 
3680     // C++ wrapper for IfcSystemFurnitureElementType
IfcSystemFurnitureElementTypeIfcSystemFurnitureElementType3681     struct IfcSystemFurnitureElementType : IfcFurnishingElementType, ObjectHelper<IfcSystemFurnitureElementType,0> { IfcSystemFurnitureElementType() : Object("IfcSystemFurnitureElementType") {}
3682 
3683     };
3684 
3685     // C++ wrapper for IfcTShapeProfileDef
IfcTShapeProfileDefIfcTShapeProfileDef3686     struct IfcTShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcTShapeProfileDef,10> { IfcTShapeProfileDef() : Object("IfcTShapeProfileDef") {}
3687         IfcPositiveLengthMeasure::Out Depth;
3688         IfcPositiveLengthMeasure::Out FlangeWidth;
3689         IfcPositiveLengthMeasure::Out WebThickness;
3690         IfcPositiveLengthMeasure::Out FlangeThickness;
3691         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3692         Maybe< IfcPositiveLengthMeasure::Out > FlangeEdgeRadius;
3693         Maybe< IfcPositiveLengthMeasure::Out > WebEdgeRadius;
3694         Maybe< IfcPlaneAngleMeasure::Out > WebSlope;
3695         Maybe< IfcPlaneAngleMeasure::Out > FlangeSlope;
3696         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
3697     };
3698 
3699     // C++ wrapper for IfcTankType
IfcTankTypeIfcTankType3700     struct IfcTankType : IfcFlowStorageDeviceType, ObjectHelper<IfcTankType,1> { IfcTankType() : Object("IfcTankType") {}
3701         IfcTankTypeEnum::Out PredefinedType;
3702     };
3703 
3704     // C++ wrapper for IfcTendon
IfcTendonIfcTendon3705     struct IfcTendon : IfcReinforcingElement, ObjectHelper<IfcTendon,8> { IfcTendon() : Object("IfcTendon") {}
3706         IfcTendonTypeEnum::Out PredefinedType;
3707         IfcPositiveLengthMeasure::Out NominalDiameter;
3708         IfcAreaMeasure::Out CrossSectionArea;
3709         Maybe< IfcForceMeasure::Out > TensionForce;
3710         Maybe< IfcPressureMeasure::Out > PreStress;
3711         Maybe< IfcNormalisedRatioMeasure::Out > FrictionCoefficient;
3712         Maybe< IfcPositiveLengthMeasure::Out > AnchorageSlip;
3713         Maybe< IfcPositiveLengthMeasure::Out > MinCurvatureRadius;
3714     };
3715 
3716     // C++ wrapper for IfcTendonAnchor
IfcTendonAnchorIfcTendonAnchor3717     struct IfcTendonAnchor : IfcReinforcingElement, ObjectHelper<IfcTendonAnchor,0> { IfcTendonAnchor() : Object("IfcTendonAnchor") {}
3718 
3719     };
3720 
3721     // C++ wrapper for IfcTextLiteral
IfcTextLiteralIfcTextLiteral3722     struct IfcTextLiteral : IfcGeometricRepresentationItem, ObjectHelper<IfcTextLiteral,3> { IfcTextLiteral() : Object("IfcTextLiteral") {}
3723         IfcPresentableText::Out Literal;
3724         IfcAxis2Placement::Out Placement;
3725         IfcTextPath::Out Path;
3726     };
3727 
3728     // C++ wrapper for IfcTextLiteralWithExtent
IfcTextLiteralWithExtentIfcTextLiteralWithExtent3729     struct IfcTextLiteralWithExtent : IfcTextLiteral, ObjectHelper<IfcTextLiteralWithExtent,2> { IfcTextLiteralWithExtent() : Object("IfcTextLiteralWithExtent") {}
3730         Lazy< IfcPlanarExtent > Extent;
3731         IfcBoxAlignment::Out BoxAlignment;
3732     };
3733 
3734     // C++ wrapper for IfcTimeSeriesSchedule
IfcTimeSeriesScheduleIfcTimeSeriesSchedule3735     struct IfcTimeSeriesSchedule : IfcControl, ObjectHelper<IfcTimeSeriesSchedule,3> { IfcTimeSeriesSchedule() : Object("IfcTimeSeriesSchedule") {}
3736         Maybe< ListOf< IfcDateTimeSelect, 1, 0 >::Out > ApplicableDates;
3737         IfcTimeSeriesScheduleTypeEnum::Out TimeSeriesScheduleType;
3738         Lazy< NotImplemented > TimeSeries;
3739     };
3740 
3741     // C++ wrapper for IfcTopologyRepresentation
IfcTopologyRepresentationIfcTopologyRepresentation3742     struct IfcTopologyRepresentation : IfcShapeModel, ObjectHelper<IfcTopologyRepresentation,0> { IfcTopologyRepresentation() : Object("IfcTopologyRepresentation") {}
3743 
3744     };
3745 
3746     // C++ wrapper for IfcTransformerType
IfcTransformerTypeIfcTransformerType3747     struct IfcTransformerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcTransformerType,1> { IfcTransformerType() : Object("IfcTransformerType") {}
3748         IfcTransformerTypeEnum::Out PredefinedType;
3749     };
3750 
3751     // C++ wrapper for IfcTransportElement
IfcTransportElementIfcTransportElement3752     struct IfcTransportElement : IfcElement, ObjectHelper<IfcTransportElement,3> { IfcTransportElement() : Object("IfcTransportElement") {}
3753         Maybe< IfcTransportElementTypeEnum::Out > OperationType;
3754         Maybe< IfcMassMeasure::Out > CapacityByWeight;
3755         Maybe< IfcCountMeasure::Out > CapacityByNumber;
3756     };
3757 
3758     // C++ wrapper for IfcTransportElementType
IfcTransportElementTypeIfcTransportElementType3759     struct IfcTransportElementType : IfcElementType, ObjectHelper<IfcTransportElementType,1> { IfcTransportElementType() : Object("IfcTransportElementType") {}
3760         IfcTransportElementTypeEnum::Out PredefinedType;
3761     };
3762 
3763     // C++ wrapper for IfcTrapeziumProfileDef
IfcTrapeziumProfileDefIfcTrapeziumProfileDef3764     struct IfcTrapeziumProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcTrapeziumProfileDef,4> { IfcTrapeziumProfileDef() : Object("IfcTrapeziumProfileDef") {}
3765         IfcPositiveLengthMeasure::Out BottomXDim;
3766         IfcPositiveLengthMeasure::Out TopXDim;
3767         IfcPositiveLengthMeasure::Out YDim;
3768         IfcLengthMeasure::Out TopXOffset;
3769     };
3770 
3771     // C++ wrapper for IfcTrimmedCurve
IfcTrimmedCurveIfcTrimmedCurve3772     struct IfcTrimmedCurve : IfcBoundedCurve, ObjectHelper<IfcTrimmedCurve,5> { IfcTrimmedCurve() : Object("IfcTrimmedCurve") {}
3773         Lazy< IfcCurve > BasisCurve;
3774         ListOf< IfcTrimmingSelect, 1, 2 >::Out Trim1;
3775         ListOf< IfcTrimmingSelect, 1, 2 >::Out Trim2;
3776         BOOLEAN::Out SenseAgreement;
3777         IfcTrimmingPreference::Out MasterRepresentation;
3778     };
3779 
3780     // C++ wrapper for IfcTubeBundleType
IfcTubeBundleTypeIfcTubeBundleType3781     struct IfcTubeBundleType : IfcEnergyConversionDeviceType, ObjectHelper<IfcTubeBundleType,1> { IfcTubeBundleType() : Object("IfcTubeBundleType") {}
3782         IfcTubeBundleTypeEnum::Out PredefinedType;
3783     };
3784 
3785     // C++ wrapper for IfcTwoDirectionRepeatFactor
IfcTwoDirectionRepeatFactorIfcTwoDirectionRepeatFactor3786     struct IfcTwoDirectionRepeatFactor : IfcOneDirectionRepeatFactor, ObjectHelper<IfcTwoDirectionRepeatFactor,1> { IfcTwoDirectionRepeatFactor() : Object("IfcTwoDirectionRepeatFactor") {}
3787         Lazy< IfcVector > SecondRepeatFactor;
3788     };
3789 
3790     // C++ wrapper for IfcUShapeProfileDef
IfcUShapeProfileDefIfcUShapeProfileDef3791     struct IfcUShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcUShapeProfileDef,8> { IfcUShapeProfileDef() : Object("IfcUShapeProfileDef") {}
3792         IfcPositiveLengthMeasure::Out Depth;
3793         IfcPositiveLengthMeasure::Out FlangeWidth;
3794         IfcPositiveLengthMeasure::Out WebThickness;
3795         IfcPositiveLengthMeasure::Out FlangeThickness;
3796         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3797         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
3798         Maybe< IfcPlaneAngleMeasure::Out > FlangeSlope;
3799         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
3800     };
3801 
3802     // C++ wrapper for IfcUnitAssignment
IfcUnitAssignmentIfcUnitAssignment3803     struct IfcUnitAssignment :  ObjectHelper<IfcUnitAssignment,1> { IfcUnitAssignment() : Object("IfcUnitAssignment") {}
3804         ListOf< IfcUnit, 1, 0 >::Out Units;
3805     };
3806 
3807     // C++ wrapper for IfcUnitaryEquipmentType
IfcUnitaryEquipmentTypeIfcUnitaryEquipmentType3808     struct IfcUnitaryEquipmentType : IfcEnergyConversionDeviceType, ObjectHelper<IfcUnitaryEquipmentType,1> { IfcUnitaryEquipmentType() : Object("IfcUnitaryEquipmentType") {}
3809         IfcUnitaryEquipmentTypeEnum::Out PredefinedType;
3810     };
3811 
3812     // C++ wrapper for IfcValveType
IfcValveTypeIfcValveType3813     struct IfcValveType : IfcFlowControllerType, ObjectHelper<IfcValveType,1> { IfcValveType() : Object("IfcValveType") {}
3814         IfcValveTypeEnum::Out PredefinedType;
3815     };
3816 
3817     // C++ wrapper for IfcVector
IfcVectorIfcVector3818     struct IfcVector : IfcGeometricRepresentationItem, ObjectHelper<IfcVector,2> { IfcVector() : Object("IfcVector") {}
3819         Lazy< IfcDirection > Orientation;
3820         IfcLengthMeasure::Out Magnitude;
3821     };
3822 
3823     // C++ wrapper for IfcVertex
IfcVertexIfcVertex3824     struct IfcVertex : IfcTopologicalRepresentationItem, ObjectHelper<IfcVertex,0> { IfcVertex() : Object("IfcVertex") {}
3825 
3826     };
3827 
3828     // C++ wrapper for IfcVertexLoop
IfcVertexLoopIfcVertexLoop3829     struct IfcVertexLoop : IfcLoop, ObjectHelper<IfcVertexLoop,1> { IfcVertexLoop() : Object("IfcVertexLoop") {}
3830         Lazy< IfcVertex > LoopVertex;
3831     };
3832 
3833     // C++ wrapper for IfcVertexPoint
IfcVertexPointIfcVertexPoint3834     struct IfcVertexPoint : IfcVertex, ObjectHelper<IfcVertexPoint,1> { IfcVertexPoint() : Object("IfcVertexPoint") {}
3835         Lazy< IfcPoint > VertexGeometry;
3836     };
3837 
3838     // C++ wrapper for IfcVibrationIsolatorType
IfcVibrationIsolatorTypeIfcVibrationIsolatorType3839     struct IfcVibrationIsolatorType : IfcDiscreteAccessoryType, ObjectHelper<IfcVibrationIsolatorType,1> { IfcVibrationIsolatorType() : Object("IfcVibrationIsolatorType") {}
3840         IfcVibrationIsolatorTypeEnum::Out PredefinedType;
3841     };
3842 
3843     // C++ wrapper for IfcVirtualElement
IfcVirtualElementIfcVirtualElement3844     struct IfcVirtualElement : IfcElement, ObjectHelper<IfcVirtualElement,0> { IfcVirtualElement() : Object("IfcVirtualElement") {}
3845 
3846     };
3847 
3848     // C++ wrapper for IfcWall
IfcWallIfcWall3849     struct IfcWall : IfcBuildingElement, ObjectHelper<IfcWall,0> { IfcWall() : Object("IfcWall") {}
3850 
3851     };
3852 
3853     // C++ wrapper for IfcWallStandardCase
IfcWallStandardCaseIfcWallStandardCase3854     struct IfcWallStandardCase : IfcWall, ObjectHelper<IfcWallStandardCase,0> { IfcWallStandardCase() : Object("IfcWallStandardCase") {}
3855 
3856     };
3857 
3858     // C++ wrapper for IfcWallType
IfcWallTypeIfcWallType3859     struct IfcWallType : IfcBuildingElementType, ObjectHelper<IfcWallType,1> { IfcWallType() : Object("IfcWallType") {}
3860         IfcWallTypeEnum::Out PredefinedType;
3861     };
3862 
3863     // C++ wrapper for IfcWasteTerminalType
IfcWasteTerminalTypeIfcWasteTerminalType3864     struct IfcWasteTerminalType : IfcFlowTerminalType, ObjectHelper<IfcWasteTerminalType,1> { IfcWasteTerminalType() : Object("IfcWasteTerminalType") {}
3865         IfcWasteTerminalTypeEnum::Out PredefinedType;
3866     };
3867 
3868     // C++ wrapper for IfcWindow
IfcWindowIfcWindow3869     struct IfcWindow : IfcBuildingElement, ObjectHelper<IfcWindow,2> { IfcWindow() : Object("IfcWindow") {}
3870         Maybe< IfcPositiveLengthMeasure::Out > OverallHeight;
3871         Maybe< IfcPositiveLengthMeasure::Out > OverallWidth;
3872     };
3873 
3874     // C++ wrapper for IfcWindowStyle
IfcWindowStyleIfcWindowStyle3875     struct IfcWindowStyle : IfcTypeProduct, ObjectHelper<IfcWindowStyle,4> { IfcWindowStyle() : Object("IfcWindowStyle") {}
3876         IfcWindowStyleConstructionEnum::Out ConstructionType;
3877         IfcWindowStyleOperationEnum::Out OperationType;
3878         BOOLEAN::Out ParameterTakesPrecedence;
3879         BOOLEAN::Out Sizeable;
3880     };
3881 
3882     // C++ wrapper for IfcWorkControl
IfcWorkControlIfcWorkControl3883     struct IfcWorkControl : IfcControl, ObjectHelper<IfcWorkControl,10> { IfcWorkControl() : Object("IfcWorkControl") {}
3884         IfcIdentifier::Out Identifier;
3885         IfcDateTimeSelect::Out CreationDate;
3886         Maybe< ListOf< Lazy< NotImplemented >, 1, 0 > > Creators;
3887         Maybe< IfcLabel::Out > Purpose;
3888         Maybe< IfcTimeMeasure::Out > Duration;
3889         Maybe< IfcTimeMeasure::Out > TotalFloat;
3890         IfcDateTimeSelect::Out StartTime;
3891         Maybe< IfcDateTimeSelect::Out > FinishTime;
3892         Maybe< IfcWorkControlTypeEnum::Out > WorkControlType;
3893         Maybe< IfcLabel::Out > UserDefinedControlType;
3894     };
3895 
3896     // C++ wrapper for IfcWorkPlan
IfcWorkPlanIfcWorkPlan3897     struct IfcWorkPlan : IfcWorkControl, ObjectHelper<IfcWorkPlan,0> { IfcWorkPlan() : Object("IfcWorkPlan") {}
3898 
3899     };
3900 
3901     // C++ wrapper for IfcWorkSchedule
IfcWorkScheduleIfcWorkSchedule3902     struct IfcWorkSchedule : IfcWorkControl, ObjectHelper<IfcWorkSchedule,0> { IfcWorkSchedule() : Object("IfcWorkSchedule") {}
3903 
3904     };
3905 
3906     // C++ wrapper for IfcZShapeProfileDef
IfcZShapeProfileDefIfcZShapeProfileDef3907     struct IfcZShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcZShapeProfileDef,6> { IfcZShapeProfileDef() : Object("IfcZShapeProfileDef") {}
3908         IfcPositiveLengthMeasure::Out Depth;
3909         IfcPositiveLengthMeasure::Out FlangeWidth;
3910         IfcPositiveLengthMeasure::Out WebThickness;
3911         IfcPositiveLengthMeasure::Out FlangeThickness;
3912         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3913         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
3914     };
3915 
3916     // C++ wrapper for IfcZone
IfcZoneIfcZone3917     struct IfcZone : IfcGroup, ObjectHelper<IfcZone,0> { IfcZone() : Object("IfcZone") {}
3918 
3919     };
3920 
3921     void GetSchema(EXPRESS::ConversionSchema& out);
3922     } //! Schema_2x3
3923 } //! IFC
3924 
3925 namespace STEP {
3926 
3927     // ******************************************************************************
3928     // Converter stubs
3929     // ******************************************************************************
3930 
3931 #define DECL_CONV_STUB(type) template <> size_t GenericFill<IFC::Schema_2x3::type>(const STEP::DB& db, const EXPRESS::LIST& params, IFC::Schema_2x3::type* in)
3932 
3933     DECL_CONV_STUB(IfcRepresentationItem);
3934     DECL_CONV_STUB(IfcGeometricRepresentationItem);
3935     DECL_CONV_STUB(IfcCurve);
3936     DECL_CONV_STUB(IfcBoundedCurve);
3937     DECL_CONV_STUB(IfcCompositeCurve);
3938     DECL_CONV_STUB(Ifc2DCompositeCurve);
3939     DECL_CONV_STUB(IfcRoot);
3940     DECL_CONV_STUB(IfcObjectDefinition);
3941     DECL_CONV_STUB(IfcObject);
3942     DECL_CONV_STUB(IfcControl);
3943     DECL_CONV_STUB(IfcActionRequest);
3944     DECL_CONV_STUB(IfcActor);
3945     DECL_CONV_STUB(IfcTypeObject);
3946     DECL_CONV_STUB(IfcTypeProduct);
3947     DECL_CONV_STUB(IfcElementType);
3948     DECL_CONV_STUB(IfcDistributionElementType);
3949     DECL_CONV_STUB(IfcDistributionControlElementType);
3950     DECL_CONV_STUB(IfcActuatorType);
3951     DECL_CONV_STUB(IfcDistributionFlowElementType);
3952     DECL_CONV_STUB(IfcFlowControllerType);
3953     DECL_CONV_STUB(IfcAirTerminalBoxType);
3954     DECL_CONV_STUB(IfcFlowTerminalType);
3955     DECL_CONV_STUB(IfcAirTerminalType);
3956     DECL_CONV_STUB(IfcEnergyConversionDeviceType);
3957     DECL_CONV_STUB(IfcAirToAirHeatRecoveryType);
3958     DECL_CONV_STUB(IfcAlarmType);
3959     DECL_CONV_STUB(IfcDraughtingCallout);
3960     DECL_CONV_STUB(IfcDimensionCurveDirectedCallout);
3961     DECL_CONV_STUB(IfcAngularDimension);
3962     DECL_CONV_STUB(IfcProduct);
3963     DECL_CONV_STUB(IfcAnnotation);
3964     DECL_CONV_STUB(IfcStyledItem);
3965     DECL_CONV_STUB(IfcAnnotationOccurrence);
3966     DECL_CONV_STUB(IfcAnnotationCurveOccurrence);
3967     DECL_CONV_STUB(IfcAnnotationFillArea);
3968     DECL_CONV_STUB(IfcAnnotationFillAreaOccurrence);
3969     DECL_CONV_STUB(IfcAnnotationSurface);
3970     DECL_CONV_STUB(IfcAnnotationSurfaceOccurrence);
3971     DECL_CONV_STUB(IfcAnnotationSymbolOccurrence);
3972     DECL_CONV_STUB(IfcAnnotationTextOccurrence);
3973     DECL_CONV_STUB(IfcProfileDef);
3974     DECL_CONV_STUB(IfcArbitraryClosedProfileDef);
3975     DECL_CONV_STUB(IfcArbitraryOpenProfileDef);
3976     DECL_CONV_STUB(IfcArbitraryProfileDefWithVoids);
3977     DECL_CONV_STUB(IfcGroup);
3978     DECL_CONV_STUB(IfcAsset);
3979     DECL_CONV_STUB(IfcParameterizedProfileDef);
3980     DECL_CONV_STUB(IfcIShapeProfileDef);
3981     DECL_CONV_STUB(IfcAsymmetricIShapeProfileDef);
3982     DECL_CONV_STUB(IfcPlacement);
3983     DECL_CONV_STUB(IfcAxis1Placement);
3984     DECL_CONV_STUB(IfcAxis2Placement2D);
3985     DECL_CONV_STUB(IfcAxis2Placement3D);
3986     DECL_CONV_STUB(IfcBSplineCurve);
3987     DECL_CONV_STUB(IfcElement);
3988     DECL_CONV_STUB(IfcBuildingElement);
3989     DECL_CONV_STUB(IfcBeam);
3990     DECL_CONV_STUB(IfcBuildingElementType);
3991     DECL_CONV_STUB(IfcBeamType);
3992     DECL_CONV_STUB(IfcBezierCurve);
3993     DECL_CONV_STUB(IfcCsgPrimitive3D);
3994     DECL_CONV_STUB(IfcBlock);
3995     DECL_CONV_STUB(IfcBoilerType);
3996     DECL_CONV_STUB(IfcBooleanResult);
3997     DECL_CONV_STUB(IfcBooleanClippingResult);
3998     DECL_CONV_STUB(IfcSurface);
3999     DECL_CONV_STUB(IfcBoundedSurface);
4000     DECL_CONV_STUB(IfcBoundingBox);
4001     DECL_CONV_STUB(IfcHalfSpaceSolid);
4002     DECL_CONV_STUB(IfcBoxedHalfSpace);
4003     DECL_CONV_STUB(IfcSpatialStructureElement);
4004     DECL_CONV_STUB(IfcBuilding);
4005     DECL_CONV_STUB(IfcBuildingElementComponent);
4006     DECL_CONV_STUB(IfcBuildingElementPart);
4007     DECL_CONV_STUB(IfcBuildingElementProxy);
4008     DECL_CONV_STUB(IfcBuildingElementProxyType);
4009     DECL_CONV_STUB(IfcBuildingStorey);
4010     DECL_CONV_STUB(IfcCShapeProfileDef);
4011     DECL_CONV_STUB(IfcFlowFittingType);
4012     DECL_CONV_STUB(IfcCableCarrierFittingType);
4013     DECL_CONV_STUB(IfcFlowSegmentType);
4014     DECL_CONV_STUB(IfcCableCarrierSegmentType);
4015     DECL_CONV_STUB(IfcCableSegmentType);
4016     DECL_CONV_STUB(IfcPoint);
4017     DECL_CONV_STUB(IfcCartesianPoint);
4018     DECL_CONV_STUB(IfcCartesianTransformationOperator);
4019     DECL_CONV_STUB(IfcCartesianTransformationOperator2D);
4020     DECL_CONV_STUB(IfcCartesianTransformationOperator2DnonUniform);
4021     DECL_CONV_STUB(IfcCartesianTransformationOperator3D);
4022     DECL_CONV_STUB(IfcCartesianTransformationOperator3DnonUniform);
4023     DECL_CONV_STUB(IfcCenterLineProfileDef);
4024     DECL_CONV_STUB(IfcFeatureElement);
4025     DECL_CONV_STUB(IfcFeatureElementSubtraction);
4026     DECL_CONV_STUB(IfcEdgeFeature);
4027     DECL_CONV_STUB(IfcChamferEdgeFeature);
4028     DECL_CONV_STUB(IfcChillerType);
4029     DECL_CONV_STUB(IfcConic);
4030     DECL_CONV_STUB(IfcCircle);
4031     DECL_CONV_STUB(IfcCircleProfileDef);
4032     DECL_CONV_STUB(IfcCircleHollowProfileDef);
4033     DECL_CONV_STUB(IfcTopologicalRepresentationItem);
4034     DECL_CONV_STUB(IfcConnectedFaceSet);
4035     DECL_CONV_STUB(IfcClosedShell);
4036     DECL_CONV_STUB(IfcCoilType);
4037     DECL_CONV_STUB(IfcColourSpecification);
4038     DECL_CONV_STUB(IfcColourRgb);
4039     DECL_CONV_STUB(IfcColumn);
4040     DECL_CONV_STUB(IfcColumnType);
4041     DECL_CONV_STUB(IfcProperty);
4042     DECL_CONV_STUB(IfcComplexProperty);
4043     DECL_CONV_STUB(IfcCompositeCurveSegment);
4044     DECL_CONV_STUB(IfcCompositeProfileDef);
4045     DECL_CONV_STUB(IfcFlowMovingDeviceType);
4046     DECL_CONV_STUB(IfcCompressorType);
4047     DECL_CONV_STUB(IfcCondenserType);
4048     DECL_CONV_STUB(IfcCondition);
4049     DECL_CONV_STUB(IfcConditionCriterion);
4050     DECL_CONV_STUB(IfcResource);
4051     DECL_CONV_STUB(IfcConstructionResource);
4052     DECL_CONV_STUB(IfcConstructionEquipmentResource);
4053     DECL_CONV_STUB(IfcConstructionMaterialResource);
4054     DECL_CONV_STUB(IfcConstructionProductResource);
4055     DECL_CONV_STUB(IfcNamedUnit);
4056     DECL_CONV_STUB(IfcContextDependentUnit);
4057     DECL_CONV_STUB(IfcControllerType);
4058     DECL_CONV_STUB(IfcConversionBasedUnit);
4059     DECL_CONV_STUB(IfcCooledBeamType);
4060     DECL_CONV_STUB(IfcCoolingTowerType);
4061     DECL_CONV_STUB(IfcCostItem);
4062     DECL_CONV_STUB(IfcCostSchedule);
4063     DECL_CONV_STUB(IfcCovering);
4064     DECL_CONV_STUB(IfcCoveringType);
4065     DECL_CONV_STUB(IfcCraneRailAShapeProfileDef);
4066     DECL_CONV_STUB(IfcCraneRailFShapeProfileDef);
4067     DECL_CONV_STUB(IfcCrewResource);
4068     DECL_CONV_STUB(IfcSolidModel);
4069     DECL_CONV_STUB(IfcCsgSolid);
4070     DECL_CONV_STUB(IfcCurtainWall);
4071     DECL_CONV_STUB(IfcCurtainWallType);
4072     DECL_CONV_STUB(IfcCurveBoundedPlane);
4073     DECL_CONV_STUB(IfcPresentationStyle);
4074     DECL_CONV_STUB(IfcDamperType);
4075     DECL_CONV_STUB(IfcDefinedSymbol);
4076     DECL_CONV_STUB(IfcDerivedProfileDef);
4077     DECL_CONV_STUB(IfcDiameterDimension);
4078     DECL_CONV_STUB(IfcDimensionCurve);
4079     DECL_CONV_STUB(IfcTerminatorSymbol);
4080     DECL_CONV_STUB(IfcDimensionCurveTerminator);
4081     DECL_CONV_STUB(IfcDirection);
4082     DECL_CONV_STUB(IfcElementComponent);
4083     DECL_CONV_STUB(IfcDiscreteAccessory);
4084     DECL_CONV_STUB(IfcElementComponentType);
4085     DECL_CONV_STUB(IfcDiscreteAccessoryType);
4086     DECL_CONV_STUB(IfcDistributionElement);
4087     DECL_CONV_STUB(IfcDistributionFlowElement);
4088     DECL_CONV_STUB(IfcDistributionChamberElement);
4089     DECL_CONV_STUB(IfcDistributionChamberElementType);
4090     DECL_CONV_STUB(IfcDistributionControlElement);
4091     DECL_CONV_STUB(IfcPort);
4092     DECL_CONV_STUB(IfcDistributionPort);
4093     DECL_CONV_STUB(IfcDoor);
4094     DECL_CONV_STUB(IfcPropertyDefinition);
4095     DECL_CONV_STUB(IfcPropertySetDefinition);
4096     DECL_CONV_STUB(IfcDoorStyle);
4097     DECL_CONV_STUB(IfcDuctFittingType);
4098     DECL_CONV_STUB(IfcDuctSegmentType);
4099     DECL_CONV_STUB(IfcFlowTreatmentDeviceType);
4100     DECL_CONV_STUB(IfcDuctSilencerType);
4101     DECL_CONV_STUB(IfcEdge);
4102     DECL_CONV_STUB(IfcEdgeCurve);
4103     DECL_CONV_STUB(IfcLoop);
4104     DECL_CONV_STUB(IfcEdgeLoop);
4105     DECL_CONV_STUB(IfcElectricApplianceType);
4106     DECL_CONV_STUB(IfcFlowController);
4107     DECL_CONV_STUB(IfcElectricDistributionPoint);
4108     DECL_CONV_STUB(IfcFlowStorageDeviceType);
4109     DECL_CONV_STUB(IfcElectricFlowStorageDeviceType);
4110     DECL_CONV_STUB(IfcElectricGeneratorType);
4111     DECL_CONV_STUB(IfcElectricHeaterType);
4112     DECL_CONV_STUB(IfcElectricMotorType);
4113     DECL_CONV_STUB(IfcElectricTimeControlType);
4114     DECL_CONV_STUB(IfcSystem);
4115     DECL_CONV_STUB(IfcElectricalCircuit);
4116     DECL_CONV_STUB(IfcElectricalElement);
4117     DECL_CONV_STUB(IfcElementAssembly);
4118     DECL_CONV_STUB(IfcElementQuantity);
4119     DECL_CONV_STUB(IfcElementarySurface);
4120     DECL_CONV_STUB(IfcEllipse);
4121     DECL_CONV_STUB(IfcEllipseProfileDef);
4122     DECL_CONV_STUB(IfcEnergyConversionDevice);
4123     DECL_CONV_STUB(IfcEquipmentElement);
4124     DECL_CONV_STUB(IfcEquipmentStandard);
4125     DECL_CONV_STUB(IfcEvaporativeCoolerType);
4126     DECL_CONV_STUB(IfcEvaporatorType);
4127     DECL_CONV_STUB(IfcSweptAreaSolid);
4128     DECL_CONV_STUB(IfcExtrudedAreaSolid);
4129     DECL_CONV_STUB(IfcFace);
4130     DECL_CONV_STUB(IfcFaceBasedSurfaceModel);
4131     DECL_CONV_STUB(IfcFaceBound);
4132     DECL_CONV_STUB(IfcFaceOuterBound);
4133     DECL_CONV_STUB(IfcFaceSurface);
4134     DECL_CONV_STUB(IfcManifoldSolidBrep);
4135     DECL_CONV_STUB(IfcFacetedBrep);
4136     DECL_CONV_STUB(IfcFacetedBrepWithVoids);
4137     DECL_CONV_STUB(IfcFanType);
4138     DECL_CONV_STUB(IfcFastener);
4139     DECL_CONV_STUB(IfcFastenerType);
4140     DECL_CONV_STUB(IfcFeatureElementAddition);
4141     DECL_CONV_STUB(IfcFillAreaStyleHatching);
4142     DECL_CONV_STUB(IfcFillAreaStyleTileSymbolWithStyle);
4143     DECL_CONV_STUB(IfcFillAreaStyleTiles);
4144     DECL_CONV_STUB(IfcFilterType);
4145     DECL_CONV_STUB(IfcFireSuppressionTerminalType);
4146     DECL_CONV_STUB(IfcFlowFitting);
4147     DECL_CONV_STUB(IfcFlowInstrumentType);
4148     DECL_CONV_STUB(IfcFlowMeterType);
4149     DECL_CONV_STUB(IfcFlowMovingDevice);
4150     DECL_CONV_STUB(IfcFlowSegment);
4151     DECL_CONV_STUB(IfcFlowStorageDevice);
4152     DECL_CONV_STUB(IfcFlowTerminal);
4153     DECL_CONV_STUB(IfcFlowTreatmentDevice);
4154     DECL_CONV_STUB(IfcFooting);
4155     DECL_CONV_STUB(IfcFurnishingElement);
4156     DECL_CONV_STUB(IfcFurnishingElementType);
4157     DECL_CONV_STUB(IfcFurnitureStandard);
4158     DECL_CONV_STUB(IfcFurnitureType);
4159     DECL_CONV_STUB(IfcGasTerminalType);
4160     DECL_CONV_STUB(IfcGeometricSet);
4161     DECL_CONV_STUB(IfcGeometricCurveSet);
4162     DECL_CONV_STUB(IfcRepresentationContext);
4163     DECL_CONV_STUB(IfcGeometricRepresentationContext);
4164     DECL_CONV_STUB(IfcGeometricRepresentationSubContext);
4165     DECL_CONV_STUB(IfcGrid);
4166     DECL_CONV_STUB(IfcObjectPlacement);
4167     DECL_CONV_STUB(IfcGridPlacement);
4168     DECL_CONV_STUB(IfcHeatExchangerType);
4169     DECL_CONV_STUB(IfcHumidifierType);
4170     DECL_CONV_STUB(IfcInventory);
4171     DECL_CONV_STUB(IfcJunctionBoxType);
4172     DECL_CONV_STUB(IfcLShapeProfileDef);
4173     DECL_CONV_STUB(IfcLaborResource);
4174     DECL_CONV_STUB(IfcLampType);
4175     DECL_CONV_STUB(IfcLightFixtureType);
4176     DECL_CONV_STUB(IfcLightSource);
4177     DECL_CONV_STUB(IfcLightSourceAmbient);
4178     DECL_CONV_STUB(IfcLightSourceDirectional);
4179     DECL_CONV_STUB(IfcLightSourceGoniometric);
4180     DECL_CONV_STUB(IfcLightSourcePositional);
4181     DECL_CONV_STUB(IfcLightSourceSpot);
4182     DECL_CONV_STUB(IfcLine);
4183     DECL_CONV_STUB(IfcLinearDimension);
4184     DECL_CONV_STUB(IfcLocalPlacement);
4185     DECL_CONV_STUB(IfcMappedItem);
4186     DECL_CONV_STUB(IfcProductRepresentation);
4187     DECL_CONV_STUB(IfcMaterialDefinitionRepresentation);
4188     DECL_CONV_STUB(IfcMeasureWithUnit);
4189     DECL_CONV_STUB(IfcMechanicalFastener);
4190     DECL_CONV_STUB(IfcMechanicalFastenerType);
4191     DECL_CONV_STUB(IfcMember);
4192     DECL_CONV_STUB(IfcMemberType);
4193     DECL_CONV_STUB(IfcMotorConnectionType);
4194     DECL_CONV_STUB(IfcProcess);
4195     DECL_CONV_STUB(IfcTask);
4196     DECL_CONV_STUB(IfcMove);
4197     DECL_CONV_STUB(IfcOccupant);
4198     DECL_CONV_STUB(IfcOffsetCurve2D);
4199     DECL_CONV_STUB(IfcOffsetCurve3D);
4200     DECL_CONV_STUB(IfcOneDirectionRepeatFactor);
4201     DECL_CONV_STUB(IfcOpenShell);
4202     DECL_CONV_STUB(IfcOpeningElement);
4203     DECL_CONV_STUB(IfcOrderAction);
4204     DECL_CONV_STUB(IfcOrientedEdge);
4205     DECL_CONV_STUB(IfcOutletType);
4206     DECL_CONV_STUB(IfcPath);
4207     DECL_CONV_STUB(IfcPerformanceHistory);
4208     DECL_CONV_STUB(IfcPermit);
4209     DECL_CONV_STUB(IfcPile);
4210     DECL_CONV_STUB(IfcPipeFittingType);
4211     DECL_CONV_STUB(IfcPipeSegmentType);
4212     DECL_CONV_STUB(IfcPlanarExtent);
4213     DECL_CONV_STUB(IfcPlanarBox);
4214     DECL_CONV_STUB(IfcPlane);
4215     DECL_CONV_STUB(IfcPlate);
4216     DECL_CONV_STUB(IfcPlateType);
4217     DECL_CONV_STUB(IfcPointOnCurve);
4218     DECL_CONV_STUB(IfcPointOnSurface);
4219     DECL_CONV_STUB(IfcPolyLoop);
4220     DECL_CONV_STUB(IfcPolygonalBoundedHalfSpace);
4221     DECL_CONV_STUB(IfcPolyline);
4222     DECL_CONV_STUB(IfcPresentationStyleAssignment);
4223     DECL_CONV_STUB(IfcProcedure);
4224     DECL_CONV_STUB(IfcProductDefinitionShape);
4225     DECL_CONV_STUB(IfcProject);
4226     DECL_CONV_STUB(IfcProjectOrder);
4227     DECL_CONV_STUB(IfcProjectOrderRecord);
4228     DECL_CONV_STUB(IfcProjectionCurve);
4229     DECL_CONV_STUB(IfcProjectionElement);
4230     DECL_CONV_STUB(IfcSimpleProperty);
4231     DECL_CONV_STUB(IfcPropertyBoundedValue);
4232     DECL_CONV_STUB(IfcPropertyEnumeratedValue);
4233     DECL_CONV_STUB(IfcPropertyListValue);
4234     DECL_CONV_STUB(IfcPropertyReferenceValue);
4235     DECL_CONV_STUB(IfcPropertySet);
4236     DECL_CONV_STUB(IfcPropertySingleValue);
4237     DECL_CONV_STUB(IfcPropertyTableValue);
4238     DECL_CONV_STUB(IfcProtectiveDeviceType);
4239     DECL_CONV_STUB(IfcProxy);
4240     DECL_CONV_STUB(IfcPumpType);
4241     DECL_CONV_STUB(IfcRadiusDimension);
4242     DECL_CONV_STUB(IfcRailing);
4243     DECL_CONV_STUB(IfcRailingType);
4244     DECL_CONV_STUB(IfcRamp);
4245     DECL_CONV_STUB(IfcRampFlight);
4246     DECL_CONV_STUB(IfcRampFlightType);
4247     DECL_CONV_STUB(IfcRationalBezierCurve);
4248     DECL_CONV_STUB(IfcRectangleProfileDef);
4249     DECL_CONV_STUB(IfcRectangleHollowProfileDef);
4250     DECL_CONV_STUB(IfcRectangularPyramid);
4251     DECL_CONV_STUB(IfcRectangularTrimmedSurface);
4252     DECL_CONV_STUB(IfcReinforcingElement);
4253     DECL_CONV_STUB(IfcReinforcingBar);
4254     DECL_CONV_STUB(IfcReinforcingMesh);
4255     DECL_CONV_STUB(IfcRelationship);
4256     DECL_CONV_STUB(IfcRelDecomposes);
4257     DECL_CONV_STUB(IfcRelAggregates);
4258     DECL_CONV_STUB(IfcRelConnects);
4259     DECL_CONV_STUB(IfcRelContainedInSpatialStructure);
4260     DECL_CONV_STUB(IfcRelDefines);
4261     DECL_CONV_STUB(IfcRelDefinesByProperties);
4262     DECL_CONV_STUB(IfcRelFillsElement);
4263     DECL_CONV_STUB(IfcRelOverridesProperties);
4264     DECL_CONV_STUB(IfcRelVoidsElement);
4265     DECL_CONV_STUB(IfcRepresentation);
4266     DECL_CONV_STUB(IfcRepresentationMap);
4267     DECL_CONV_STUB(IfcRevolvedAreaSolid);
4268     DECL_CONV_STUB(IfcRightCircularCone);
4269     DECL_CONV_STUB(IfcRightCircularCylinder);
4270     DECL_CONV_STUB(IfcRoof);
4271     DECL_CONV_STUB(IfcRoundedEdgeFeature);
4272     DECL_CONV_STUB(IfcRoundedRectangleProfileDef);
4273     DECL_CONV_STUB(IfcSIUnit);
4274     DECL_CONV_STUB(IfcSanitaryTerminalType);
4275     DECL_CONV_STUB(IfcScheduleTimeControl);
4276     DECL_CONV_STUB(IfcSectionedSpine);
4277     DECL_CONV_STUB(IfcSensorType);
4278     DECL_CONV_STUB(IfcServiceLife);
4279     DECL_CONV_STUB(IfcShapeModel);
4280     DECL_CONV_STUB(IfcShapeRepresentation);
4281     DECL_CONV_STUB(IfcShellBasedSurfaceModel);
4282     DECL_CONV_STUB(IfcSite);
4283     DECL_CONV_STUB(IfcSlab);
4284     DECL_CONV_STUB(IfcSlabType);
4285     DECL_CONV_STUB(IfcSpace);
4286     DECL_CONV_STUB(IfcSpaceHeaterType);
4287     DECL_CONV_STUB(IfcSpaceProgram);
4288     DECL_CONV_STUB(IfcSpatialStructureElementType);
4289     DECL_CONV_STUB(IfcSpaceType);
4290     DECL_CONV_STUB(IfcSphere);
4291     DECL_CONV_STUB(IfcStackTerminalType);
4292     DECL_CONV_STUB(IfcStair);
4293     DECL_CONV_STUB(IfcStairFlight);
4294     DECL_CONV_STUB(IfcStairFlightType);
4295     DECL_CONV_STUB(IfcStructuralActivity);
4296     DECL_CONV_STUB(IfcStructuralAction);
4297     DECL_CONV_STUB(IfcStructuralAnalysisModel);
4298     DECL_CONV_STUB(IfcStructuralItem);
4299     DECL_CONV_STUB(IfcStructuralConnection);
4300     DECL_CONV_STUB(IfcStructuralCurveConnection);
4301     DECL_CONV_STUB(IfcStructuralMember);
4302     DECL_CONV_STUB(IfcStructuralCurveMember);
4303     DECL_CONV_STUB(IfcStructuralCurveMemberVarying);
4304     DECL_CONV_STUB(IfcStructuralLinearAction);
4305     DECL_CONV_STUB(IfcStructuralLinearActionVarying);
4306     DECL_CONV_STUB(IfcStructuralLoadGroup);
4307     DECL_CONV_STUB(IfcStructuralPlanarAction);
4308     DECL_CONV_STUB(IfcStructuralPlanarActionVarying);
4309     DECL_CONV_STUB(IfcStructuralPointAction);
4310     DECL_CONV_STUB(IfcStructuralPointConnection);
4311     DECL_CONV_STUB(IfcStructuralReaction);
4312     DECL_CONV_STUB(IfcStructuralPointReaction);
4313     DECL_CONV_STUB(IfcStructuralResultGroup);
4314     DECL_CONV_STUB(IfcStructuralSurfaceConnection);
4315     DECL_CONV_STUB(IfcStructuralSurfaceMember);
4316     DECL_CONV_STUB(IfcStructuralSurfaceMemberVarying);
4317     DECL_CONV_STUB(IfcStructuredDimensionCallout);
4318     DECL_CONV_STUB(IfcStyleModel);
4319     DECL_CONV_STUB(IfcStyledRepresentation);
4320     DECL_CONV_STUB(IfcSubContractResource);
4321     DECL_CONV_STUB(IfcSubedge);
4322     DECL_CONV_STUB(IfcSurfaceCurveSweptAreaSolid);
4323     DECL_CONV_STUB(IfcSweptSurface);
4324     DECL_CONV_STUB(IfcSurfaceOfLinearExtrusion);
4325     DECL_CONV_STUB(IfcSurfaceOfRevolution);
4326     DECL_CONV_STUB(IfcSurfaceStyle);
4327     DECL_CONV_STUB(IfcSurfaceStyleShading);
4328     DECL_CONV_STUB(IfcSurfaceStyleRendering);
4329     DECL_CONV_STUB(IfcSurfaceStyleWithTextures);
4330     DECL_CONV_STUB(IfcSweptDiskSolid);
4331     DECL_CONV_STUB(IfcSwitchingDeviceType);
4332     DECL_CONV_STUB(IfcSystemFurnitureElementType);
4333     DECL_CONV_STUB(IfcTShapeProfileDef);
4334     DECL_CONV_STUB(IfcTankType);
4335     DECL_CONV_STUB(IfcTendon);
4336     DECL_CONV_STUB(IfcTendonAnchor);
4337     DECL_CONV_STUB(IfcTextLiteral);
4338     DECL_CONV_STUB(IfcTextLiteralWithExtent);
4339     DECL_CONV_STUB(IfcTimeSeriesSchedule);
4340     DECL_CONV_STUB(IfcTopologyRepresentation);
4341     DECL_CONV_STUB(IfcTransformerType);
4342     DECL_CONV_STUB(IfcTransportElement);
4343     DECL_CONV_STUB(IfcTransportElementType);
4344     DECL_CONV_STUB(IfcTrapeziumProfileDef);
4345     DECL_CONV_STUB(IfcTrimmedCurve);
4346     DECL_CONV_STUB(IfcTubeBundleType);
4347     DECL_CONV_STUB(IfcTwoDirectionRepeatFactor);
4348     DECL_CONV_STUB(IfcUShapeProfileDef);
4349     DECL_CONV_STUB(IfcUnitAssignment);
4350     DECL_CONV_STUB(IfcUnitaryEquipmentType);
4351     DECL_CONV_STUB(IfcValveType);
4352     DECL_CONV_STUB(IfcVector);
4353     DECL_CONV_STUB(IfcVertex);
4354     DECL_CONV_STUB(IfcVertexLoop);
4355     DECL_CONV_STUB(IfcVertexPoint);
4356     DECL_CONV_STUB(IfcVibrationIsolatorType);
4357     DECL_CONV_STUB(IfcVirtualElement);
4358     DECL_CONV_STUB(IfcWall);
4359     DECL_CONV_STUB(IfcWallStandardCase);
4360     DECL_CONV_STUB(IfcWallType);
4361     DECL_CONV_STUB(IfcWasteTerminalType);
4362     DECL_CONV_STUB(IfcWindow);
4363     DECL_CONV_STUB(IfcWindowStyle);
4364     DECL_CONV_STUB(IfcWorkControl);
4365     DECL_CONV_STUB(IfcWorkPlan);
4366     DECL_CONV_STUB(IfcWorkSchedule);
4367     DECL_CONV_STUB(IfcZShapeProfileDef);
4368     DECL_CONV_STUB(IfcZone);
4369 
4370 
4371 #undef DECL_CONV_STUB
4372 
4373 } //! STEP
4374 } //! Assimp
4375 
4376 #ifdef _MSC_VER
4377 #    pragma warning(pop)
4378 #endif // _MSC_VER
4379 
4380 #endif // INCLUDED_IFC_READER_GEN_H
4381