1 /*
2 Open Asset Import Library (ASSIMP)
3 ----------------------------------------------------------------------
4 
5 Copyright (c) 2006-2010, ASSIMP Development Team
6 All rights reserved.
7 
8 Redistribution and use of this software in source and binary forms,
9 with or without modification, are permitted provided that the
10 following conditions are met:
11 
12 * Redistributions of source code must retain the above
13   copyright notice, this list of conditions and the
14   following disclaimer.
15 
16 * Redistributions in binary form must reproduce the above
17   copyright notice, this list of conditions and the
18   following disclaimer in the documentation and/or other
19   materials provided with the distribution.
20 
21 * Neither the name of the ASSIMP team, nor the names of its
22   contributors may be used to endorse or promote products
23   derived from this software without specific prior
24   written permission of the ASSIMP Development Team.
25 
26 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
27 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
28 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
29 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
30 OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
31 SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
32 LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
33 DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
34 THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
35 (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
36 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
37 
38 ----------------------------------------------------------------------
39 */
40 
41 /** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
42 
43 #ifndef INCLUDED_IFC_READER_GEN_H
44 #define INCLUDED_IFC_READER_GEN_H
45 
46 #include "code/Step/STEPFile.h"
47 
48 namespace Assimp {
49 namespace IFC {
50     namespace Schema_2x3 {
51 
52     using namespace STEP;
53     using namespace STEP::EXPRESS;
54 
55 
56     struct NotImplemented : public ObjectHelper<NotImplemented,0> {
57 
58     };
59 
60 
61     // ******************************************************************************
62     // IFC Custom data types
63     // ******************************************************************************
64 
65 
66     // C++ wrapper type for IfcAbsorbedDoseMeasure
67     typedef REAL IfcAbsorbedDoseMeasure;
68     // C++ wrapper type for IfcAccelerationMeasure
69     typedef REAL IfcAccelerationMeasure;
70     // C++ wrapper type for IfcAmountOfSubstanceMeasure
71     typedef REAL IfcAmountOfSubstanceMeasure;
72     // C++ wrapper type for IfcAngularVelocityMeasure
73     typedef REAL IfcAngularVelocityMeasure;
74     // C++ wrapper type for IfcAreaMeasure
75     typedef REAL IfcAreaMeasure;
76     // C++ wrapper type for IfcBoolean
77     typedef BOOLEAN IfcBoolean;
78     // C++ wrapper type for IfcBoxAlignment
79     typedef STRING IfcBoxAlignment;
80     // C++ wrapper type for IfcCompoundPlaneAngleMeasure
81     typedef ListOf< INTEGER, 3, 3 > IfcCompoundPlaneAngleMeasure;
82     // C++ wrapper type for IfcContextDependentMeasure
83     typedef REAL IfcContextDependentMeasure;
84     // C++ wrapper type for IfcCountMeasure
85     typedef NUMBER IfcCountMeasure;
86     // C++ wrapper type for IfcCurvatureMeasure
87     typedef REAL IfcCurvatureMeasure;
88     // C++ wrapper type for IfcDayInMonthNumber
89     typedef INTEGER IfcDayInMonthNumber;
90     // C++ wrapper type for IfcDaylightSavingHour
91     typedef INTEGER IfcDaylightSavingHour;
92     // C++ wrapper type for IfcDescriptiveMeasure
93     typedef STRING IfcDescriptiveMeasure;
94     // C++ wrapper type for IfcDimensionCount
95     typedef INTEGER IfcDimensionCount;
96     // C++ wrapper type for IfcDoseEquivalentMeasure
97     typedef REAL IfcDoseEquivalentMeasure;
98     // C++ wrapper type for IfcDynamicViscosityMeasure
99     typedef REAL IfcDynamicViscosityMeasure;
100     // C++ wrapper type for IfcElectricCapacitanceMeasure
101     typedef REAL IfcElectricCapacitanceMeasure;
102     // C++ wrapper type for IfcElectricChargeMeasure
103     typedef REAL IfcElectricChargeMeasure;
104     // C++ wrapper type for IfcElectricConductanceMeasure
105     typedef REAL IfcElectricConductanceMeasure;
106     // C++ wrapper type for IfcElectricCurrentMeasure
107     typedef REAL IfcElectricCurrentMeasure;
108     // C++ wrapper type for IfcElectricResistanceMeasure
109     typedef REAL IfcElectricResistanceMeasure;
110     // C++ wrapper type for IfcElectricVoltageMeasure
111     typedef REAL IfcElectricVoltageMeasure;
112     // C++ wrapper type for IfcEnergyMeasure
113     typedef REAL IfcEnergyMeasure;
114     // C++ wrapper type for IfcFontStyle
115     typedef STRING IfcFontStyle;
116     // C++ wrapper type for IfcFontVariant
117     typedef STRING IfcFontVariant;
118     // C++ wrapper type for IfcFontWeight
119     typedef STRING IfcFontWeight;
120     // C++ wrapper type for IfcForceMeasure
121     typedef REAL IfcForceMeasure;
122     // C++ wrapper type for IfcFrequencyMeasure
123     typedef REAL IfcFrequencyMeasure;
124     // C++ wrapper type for IfcGloballyUniqueId
125     typedef STRING IfcGloballyUniqueId;
126     // C++ wrapper type for IfcHeatFluxDensityMeasure
127     typedef REAL IfcHeatFluxDensityMeasure;
128     // C++ wrapper type for IfcHeatingValueMeasure
129     typedef REAL IfcHeatingValueMeasure;
130     // C++ wrapper type for IfcHourInDay
131     typedef INTEGER IfcHourInDay;
132     // C++ wrapper type for IfcIdentifier
133     typedef STRING IfcIdentifier;
134     // C++ wrapper type for IfcIlluminanceMeasure
135     typedef REAL IfcIlluminanceMeasure;
136     // C++ wrapper type for IfcInductanceMeasure
137     typedef REAL IfcInductanceMeasure;
138     // C++ wrapper type for IfcInteger
139     typedef INTEGER IfcInteger;
140     // C++ wrapper type for IfcIntegerCountRateMeasure
141     typedef INTEGER IfcIntegerCountRateMeasure;
142     // C++ wrapper type for IfcIonConcentrationMeasure
143     typedef REAL IfcIonConcentrationMeasure;
144     // C++ wrapper type for IfcIsothermalMoistureCapacityMeasure
145     typedef REAL IfcIsothermalMoistureCapacityMeasure;
146     // C++ wrapper type for IfcKinematicViscosityMeasure
147     typedef REAL IfcKinematicViscosityMeasure;
148     // C++ wrapper type for IfcLabel
149     typedef STRING IfcLabel;
150     // C++ wrapper type for IfcLengthMeasure
151     typedef REAL IfcLengthMeasure;
152     // C++ wrapper type for IfcLinearForceMeasure
153     typedef REAL IfcLinearForceMeasure;
154     // C++ wrapper type for IfcLinearMomentMeasure
155     typedef REAL IfcLinearMomentMeasure;
156     // C++ wrapper type for IfcLinearStiffnessMeasure
157     typedef REAL IfcLinearStiffnessMeasure;
158     // C++ wrapper type for IfcLinearVelocityMeasure
159     typedef REAL IfcLinearVelocityMeasure;
160     // C++ wrapper type for IfcLogical
161     typedef LOGICAL IfcLogical;
162     // C++ wrapper type for IfcLuminousFluxMeasure
163     typedef REAL IfcLuminousFluxMeasure;
164     // C++ wrapper type for IfcLuminousIntensityDistributionMeasure
165     typedef REAL IfcLuminousIntensityDistributionMeasure;
166     // C++ wrapper type for IfcLuminousIntensityMeasure
167     typedef REAL IfcLuminousIntensityMeasure;
168     // C++ wrapper type for IfcMagneticFluxDensityMeasure
169     typedef REAL IfcMagneticFluxDensityMeasure;
170     // C++ wrapper type for IfcMagneticFluxMeasure
171     typedef REAL IfcMagneticFluxMeasure;
172     // C++ wrapper type for IfcMassDensityMeasure
173     typedef REAL IfcMassDensityMeasure;
174     // C++ wrapper type for IfcMassFlowRateMeasure
175     typedef REAL IfcMassFlowRateMeasure;
176     // C++ wrapper type for IfcMassMeasure
177     typedef REAL IfcMassMeasure;
178     // C++ wrapper type for IfcMassPerLengthMeasure
179     typedef REAL IfcMassPerLengthMeasure;
180     // C++ wrapper type for IfcMinuteInHour
181     typedef INTEGER IfcMinuteInHour;
182     // C++ wrapper type for IfcModulusOfElasticityMeasure
183     typedef REAL IfcModulusOfElasticityMeasure;
184     // C++ wrapper type for IfcModulusOfLinearSubgradeReactionMeasure
185     typedef REAL IfcModulusOfLinearSubgradeReactionMeasure;
186     // C++ wrapper type for IfcModulusOfRotationalSubgradeReactionMeasure
187     typedef REAL IfcModulusOfRotationalSubgradeReactionMeasure;
188     // C++ wrapper type for IfcModulusOfSubgradeReactionMeasure
189     typedef REAL IfcModulusOfSubgradeReactionMeasure;
190     // C++ wrapper type for IfcMoistureDiffusivityMeasure
191     typedef REAL IfcMoistureDiffusivityMeasure;
192     // C++ wrapper type for IfcMolecularWeightMeasure
193     typedef REAL IfcMolecularWeightMeasure;
194     // C++ wrapper type for IfcMomentOfInertiaMeasure
195     typedef REAL IfcMomentOfInertiaMeasure;
196     // C++ wrapper type for IfcMonetaryMeasure
197     typedef REAL IfcMonetaryMeasure;
198     // C++ wrapper type for IfcMonthInYearNumber
199     typedef INTEGER IfcMonthInYearNumber;
200     // C++ wrapper type for IfcNormalisedRatioMeasure
201     typedef REAL IfcNormalisedRatioMeasure;
202     // C++ wrapper type for IfcNumericMeasure
203     typedef NUMBER IfcNumericMeasure;
204     // C++ wrapper type for IfcPHMeasure
205     typedef REAL IfcPHMeasure;
206     // C++ wrapper type for IfcParameterValue
207     typedef REAL IfcParameterValue;
208     // C++ wrapper type for IfcPlanarForceMeasure
209     typedef REAL IfcPlanarForceMeasure;
210     // C++ wrapper type for IfcPlaneAngleMeasure
211     typedef REAL IfcPlaneAngleMeasure;
212     // C++ wrapper type for IfcPositiveLengthMeasure
213     typedef REAL IfcPositiveLengthMeasure;
214     // C++ wrapper type for IfcPositivePlaneAngleMeasure
215     typedef REAL IfcPositivePlaneAngleMeasure;
216     // C++ wrapper type for IfcPositiveRatioMeasure
217     typedef REAL IfcPositiveRatioMeasure;
218     // C++ wrapper type for IfcPowerMeasure
219     typedef REAL IfcPowerMeasure;
220     // C++ wrapper type for IfcPresentableText
221     typedef STRING IfcPresentableText;
222     // C++ wrapper type for IfcPressureMeasure
223     typedef REAL IfcPressureMeasure;
224     // C++ wrapper type for IfcRadioActivityMeasure
225     typedef REAL IfcRadioActivityMeasure;
226     // C++ wrapper type for IfcRatioMeasure
227     typedef REAL IfcRatioMeasure;
228     // C++ wrapper type for IfcReal
229     typedef REAL IfcReal;
230     // C++ wrapper type for IfcRotationalFrequencyMeasure
231     typedef REAL IfcRotationalFrequencyMeasure;
232     // C++ wrapper type for IfcRotationalMassMeasure
233     typedef REAL IfcRotationalMassMeasure;
234     // C++ wrapper type for IfcRotationalStiffnessMeasure
235     typedef REAL IfcRotationalStiffnessMeasure;
236     // C++ wrapper type for IfcSecondInMinute
237     typedef REAL IfcSecondInMinute;
238     // C++ wrapper type for IfcSectionModulusMeasure
239     typedef REAL IfcSectionModulusMeasure;
240     // C++ wrapper type for IfcSectionalAreaIntegralMeasure
241     typedef REAL IfcSectionalAreaIntegralMeasure;
242     // C++ wrapper type for IfcShearModulusMeasure
243     typedef REAL IfcShearModulusMeasure;
244     // C++ wrapper type for IfcSolidAngleMeasure
245     typedef REAL IfcSolidAngleMeasure;
246     // C++ wrapper type for IfcSoundPowerMeasure
247     typedef REAL IfcSoundPowerMeasure;
248     // C++ wrapper type for IfcSoundPressureMeasure
249     typedef REAL IfcSoundPressureMeasure;
250     // C++ wrapper type for IfcSpecificHeatCapacityMeasure
251     typedef REAL IfcSpecificHeatCapacityMeasure;
252     // C++ wrapper type for IfcSpecularExponent
253     typedef REAL IfcSpecularExponent;
254     // C++ wrapper type for IfcSpecularRoughness
255     typedef REAL IfcSpecularRoughness;
256     // C++ wrapper type for IfcTemperatureGradientMeasure
257     typedef REAL IfcTemperatureGradientMeasure;
258     // C++ wrapper type for IfcText
259     typedef STRING IfcText;
260     // C++ wrapper type for IfcTextAlignment
261     typedef STRING IfcTextAlignment;
262     // C++ wrapper type for IfcTextDecoration
263     typedef STRING IfcTextDecoration;
264     // C++ wrapper type for IfcTextFontName
265     typedef STRING IfcTextFontName;
266     // C++ wrapper type for IfcTextTransformation
267     typedef STRING IfcTextTransformation;
268     // C++ wrapper type for IfcThermalAdmittanceMeasure
269     typedef REAL IfcThermalAdmittanceMeasure;
270     // C++ wrapper type for IfcThermalConductivityMeasure
271     typedef REAL IfcThermalConductivityMeasure;
272     // C++ wrapper type for IfcThermalExpansionCoefficientMeasure
273     typedef REAL IfcThermalExpansionCoefficientMeasure;
274     // C++ wrapper type for IfcThermalResistanceMeasure
275     typedef REAL IfcThermalResistanceMeasure;
276     // C++ wrapper type for IfcThermalTransmittanceMeasure
277     typedef REAL IfcThermalTransmittanceMeasure;
278     // C++ wrapper type for IfcThermodynamicTemperatureMeasure
279     typedef REAL IfcThermodynamicTemperatureMeasure;
280     // C++ wrapper type for IfcTimeMeasure
281     typedef REAL IfcTimeMeasure;
282     // C++ wrapper type for IfcTimeStamp
283     typedef INTEGER IfcTimeStamp;
284     // C++ wrapper type for IfcTorqueMeasure
285     typedef REAL IfcTorqueMeasure;
286     // C++ wrapper type for IfcVaporPermeabilityMeasure
287     typedef REAL IfcVaporPermeabilityMeasure;
288     // C++ wrapper type for IfcVolumeMeasure
289     typedef REAL IfcVolumeMeasure;
290     // C++ wrapper type for IfcVolumetricFlowRateMeasure
291     typedef REAL IfcVolumetricFlowRateMeasure;
292     // C++ wrapper type for IfcWarpingConstantMeasure
293     typedef REAL IfcWarpingConstantMeasure;
294     // C++ wrapper type for IfcWarpingMomentMeasure
295     typedef REAL IfcWarpingMomentMeasure;
296     // C++ wrapper type for IfcYearNumber
297     typedef INTEGER IfcYearNumber;
298     // C++ wrapper type for IfcActionSourceTypeEnum
299     typedef ENUMERATION IfcActionSourceTypeEnum;
300     // C++ wrapper type for IfcActionTypeEnum
301     typedef ENUMERATION IfcActionTypeEnum;
302     // C++ wrapper type for IfcActuatorTypeEnum
303     typedef ENUMERATION IfcActuatorTypeEnum;
304     // C++ wrapper type for IfcAddressTypeEnum
305     typedef ENUMERATION IfcAddressTypeEnum;
306     // C++ wrapper type for IfcAheadOrBehind
307     typedef ENUMERATION IfcAheadOrBehind;
308     // C++ wrapper type for IfcAirTerminalBoxTypeEnum
309     typedef ENUMERATION IfcAirTerminalBoxTypeEnum;
310     // C++ wrapper type for IfcAirTerminalTypeEnum
311     typedef ENUMERATION IfcAirTerminalTypeEnum;
312     // C++ wrapper type for IfcAirToAirHeatRecoveryTypeEnum
313     typedef ENUMERATION IfcAirToAirHeatRecoveryTypeEnum;
314     // C++ wrapper type for IfcAlarmTypeEnum
315     typedef ENUMERATION IfcAlarmTypeEnum;
316     // C++ wrapper type for IfcAnalysisModelTypeEnum
317     typedef ENUMERATION IfcAnalysisModelTypeEnum;
318     // C++ wrapper type for IfcAnalysisTheoryTypeEnum
319     typedef ENUMERATION IfcAnalysisTheoryTypeEnum;
320     // C++ wrapper type for IfcArithmeticOperatorEnum
321     typedef ENUMERATION IfcArithmeticOperatorEnum;
322     // C++ wrapper type for IfcAssemblyPlaceEnum
323     typedef ENUMERATION IfcAssemblyPlaceEnum;
324     // C++ wrapper type for IfcBSplineCurveForm
325     typedef ENUMERATION IfcBSplineCurveForm;
326     // C++ wrapper type for IfcBeamTypeEnum
327     typedef ENUMERATION IfcBeamTypeEnum;
328     // C++ wrapper type for IfcBenchmarkEnum
329     typedef ENUMERATION IfcBenchmarkEnum;
330     // C++ wrapper type for IfcBoilerTypeEnum
331     typedef ENUMERATION IfcBoilerTypeEnum;
332     // C++ wrapper type for IfcBooleanOperator
333     typedef ENUMERATION IfcBooleanOperator;
334     // C++ wrapper type for IfcBuildingElementProxyTypeEnum
335     typedef ENUMERATION IfcBuildingElementProxyTypeEnum;
336     // C++ wrapper type for IfcCableCarrierFittingTypeEnum
337     typedef ENUMERATION IfcCableCarrierFittingTypeEnum;
338     // C++ wrapper type for IfcCableCarrierSegmentTypeEnum
339     typedef ENUMERATION IfcCableCarrierSegmentTypeEnum;
340     // C++ wrapper type for IfcCableSegmentTypeEnum
341     typedef ENUMERATION IfcCableSegmentTypeEnum;
342     // C++ wrapper type for IfcChangeActionEnum
343     typedef ENUMERATION IfcChangeActionEnum;
344     // C++ wrapper type for IfcChillerTypeEnum
345     typedef ENUMERATION IfcChillerTypeEnum;
346     // C++ wrapper type for IfcCoilTypeEnum
347     typedef ENUMERATION IfcCoilTypeEnum;
348     // C++ wrapper type for IfcColumnTypeEnum
349     typedef ENUMERATION IfcColumnTypeEnum;
350     // C++ wrapper type for IfcCompressorTypeEnum
351     typedef ENUMERATION IfcCompressorTypeEnum;
352     // C++ wrapper type for IfcCondenserTypeEnum
353     typedef ENUMERATION IfcCondenserTypeEnum;
354     // C++ wrapper type for IfcConnectionTypeEnum
355     typedef ENUMERATION IfcConnectionTypeEnum;
356     // C++ wrapper type for IfcConstraintEnum
357     typedef ENUMERATION IfcConstraintEnum;
358     // C++ wrapper type for IfcControllerTypeEnum
359     typedef ENUMERATION IfcControllerTypeEnum;
360     // C++ wrapper type for IfcCooledBeamTypeEnum
361     typedef ENUMERATION IfcCooledBeamTypeEnum;
362     // C++ wrapper type for IfcCoolingTowerTypeEnum
363     typedef ENUMERATION IfcCoolingTowerTypeEnum;
364     // C++ wrapper type for IfcCostScheduleTypeEnum
365     typedef ENUMERATION IfcCostScheduleTypeEnum;
366     // C++ wrapper type for IfcCoveringTypeEnum
367     typedef ENUMERATION IfcCoveringTypeEnum;
368     // C++ wrapper type for IfcCurrencyEnum
369     typedef ENUMERATION IfcCurrencyEnum;
370     // C++ wrapper type for IfcCurtainWallTypeEnum
371     typedef ENUMERATION IfcCurtainWallTypeEnum;
372     // C++ wrapper type for IfcDamperTypeEnum
373     typedef ENUMERATION IfcDamperTypeEnum;
374     // C++ wrapper type for IfcDataOriginEnum
375     typedef ENUMERATION IfcDataOriginEnum;
376     // C++ wrapper type for IfcDerivedUnitEnum
377     typedef ENUMERATION IfcDerivedUnitEnum;
378     // C++ wrapper type for IfcDimensionExtentUsage
379     typedef ENUMERATION IfcDimensionExtentUsage;
380     // C++ wrapper type for IfcDirectionSenseEnum
381     typedef ENUMERATION IfcDirectionSenseEnum;
382     // C++ wrapper type for IfcDistributionChamberElementTypeEnum
383     typedef ENUMERATION IfcDistributionChamberElementTypeEnum;
384     // C++ wrapper type for IfcDocumentConfidentialityEnum
385     typedef ENUMERATION IfcDocumentConfidentialityEnum;
386     // C++ wrapper type for IfcDocumentStatusEnum
387     typedef ENUMERATION IfcDocumentStatusEnum;
388     // C++ wrapper type for IfcDoorPanelOperationEnum
389     typedef ENUMERATION IfcDoorPanelOperationEnum;
390     // C++ wrapper type for IfcDoorPanelPositionEnum
391     typedef ENUMERATION IfcDoorPanelPositionEnum;
392     // C++ wrapper type for IfcDoorStyleConstructionEnum
393     typedef ENUMERATION IfcDoorStyleConstructionEnum;
394     // C++ wrapper type for IfcDoorStyleOperationEnum
395     typedef ENUMERATION IfcDoorStyleOperationEnum;
396     // C++ wrapper type for IfcDuctFittingTypeEnum
397     typedef ENUMERATION IfcDuctFittingTypeEnum;
398     // C++ wrapper type for IfcDuctSegmentTypeEnum
399     typedef ENUMERATION IfcDuctSegmentTypeEnum;
400     // C++ wrapper type for IfcDuctSilencerTypeEnum
401     typedef ENUMERATION IfcDuctSilencerTypeEnum;
402     // C++ wrapper type for IfcElectricApplianceTypeEnum
403     typedef ENUMERATION IfcElectricApplianceTypeEnum;
404     // C++ wrapper type for IfcElectricCurrentEnum
405     typedef ENUMERATION IfcElectricCurrentEnum;
406     // C++ wrapper type for IfcElectricDistributionPointFunctionEnum
407     typedef ENUMERATION IfcElectricDistributionPointFunctionEnum;
408     // C++ wrapper type for IfcElectricFlowStorageDeviceTypeEnum
409     typedef ENUMERATION IfcElectricFlowStorageDeviceTypeEnum;
410     // C++ wrapper type for IfcElectricGeneratorTypeEnum
411     typedef ENUMERATION IfcElectricGeneratorTypeEnum;
412     // C++ wrapper type for IfcElectricHeaterTypeEnum
413     typedef ENUMERATION IfcElectricHeaterTypeEnum;
414     // C++ wrapper type for IfcElectricMotorTypeEnum
415     typedef ENUMERATION IfcElectricMotorTypeEnum;
416     // C++ wrapper type for IfcElectricTimeControlTypeEnum
417     typedef ENUMERATION IfcElectricTimeControlTypeEnum;
418     // C++ wrapper type for IfcElementAssemblyTypeEnum
419     typedef ENUMERATION IfcElementAssemblyTypeEnum;
420     // C++ wrapper type for IfcElementCompositionEnum
421     typedef ENUMERATION IfcElementCompositionEnum;
422     // C++ wrapper type for IfcEnergySequenceEnum
423     typedef ENUMERATION IfcEnergySequenceEnum;
424     // C++ wrapper type for IfcEnvironmentalImpactCategoryEnum
425     typedef ENUMERATION IfcEnvironmentalImpactCategoryEnum;
426     // C++ wrapper type for IfcEvaporativeCoolerTypeEnum
427     typedef ENUMERATION IfcEvaporativeCoolerTypeEnum;
428     // C++ wrapper type for IfcEvaporatorTypeEnum
429     typedef ENUMERATION IfcEvaporatorTypeEnum;
430     // C++ wrapper type for IfcFanTypeEnum
431     typedef ENUMERATION IfcFanTypeEnum;
432     // C++ wrapper type for IfcFilterTypeEnum
433     typedef ENUMERATION IfcFilterTypeEnum;
434     // C++ wrapper type for IfcFireSuppressionTerminalTypeEnum
435     typedef ENUMERATION IfcFireSuppressionTerminalTypeEnum;
436     // C++ wrapper type for IfcFlowDirectionEnum
437     typedef ENUMERATION IfcFlowDirectionEnum;
438     // C++ wrapper type for IfcFlowInstrumentTypeEnum
439     typedef ENUMERATION IfcFlowInstrumentTypeEnum;
440     // C++ wrapper type for IfcFlowMeterTypeEnum
441     typedef ENUMERATION IfcFlowMeterTypeEnum;
442     // C++ wrapper type for IfcFootingTypeEnum
443     typedef ENUMERATION IfcFootingTypeEnum;
444     // C++ wrapper type for IfcGasTerminalTypeEnum
445     typedef ENUMERATION IfcGasTerminalTypeEnum;
446     // C++ wrapper type for IfcGeometricProjectionEnum
447     typedef ENUMERATION IfcGeometricProjectionEnum;
448     // C++ wrapper type for IfcGlobalOrLocalEnum
449     typedef ENUMERATION IfcGlobalOrLocalEnum;
450     // C++ wrapper type for IfcHeatExchangerTypeEnum
451     typedef ENUMERATION IfcHeatExchangerTypeEnum;
452     // C++ wrapper type for IfcHumidifierTypeEnum
453     typedef ENUMERATION IfcHumidifierTypeEnum;
454     // C++ wrapper type for IfcInternalOrExternalEnum
455     typedef ENUMERATION IfcInternalOrExternalEnum;
456     // C++ wrapper type for IfcInventoryTypeEnum
457     typedef ENUMERATION IfcInventoryTypeEnum;
458     // C++ wrapper type for IfcJunctionBoxTypeEnum
459     typedef ENUMERATION IfcJunctionBoxTypeEnum;
460     // C++ wrapper type for IfcLampTypeEnum
461     typedef ENUMERATION IfcLampTypeEnum;
462     // C++ wrapper type for IfcLayerSetDirectionEnum
463     typedef ENUMERATION IfcLayerSetDirectionEnum;
464     // C++ wrapper type for IfcLightDistributionCurveEnum
465     typedef ENUMERATION IfcLightDistributionCurveEnum;
466     // C++ wrapper type for IfcLightEmissionSourceEnum
467     typedef ENUMERATION IfcLightEmissionSourceEnum;
468     // C++ wrapper type for IfcLightFixtureTypeEnum
469     typedef ENUMERATION IfcLightFixtureTypeEnum;
470     // C++ wrapper type for IfcLoadGroupTypeEnum
471     typedef ENUMERATION IfcLoadGroupTypeEnum;
472     // C++ wrapper type for IfcLogicalOperatorEnum
473     typedef ENUMERATION IfcLogicalOperatorEnum;
474     // C++ wrapper type for IfcMemberTypeEnum
475     typedef ENUMERATION IfcMemberTypeEnum;
476     // C++ wrapper type for IfcMotorConnectionTypeEnum
477     typedef ENUMERATION IfcMotorConnectionTypeEnum;
478     // C++ wrapper type for IfcNullStyle
479     typedef ENUMERATION IfcNullStyle;
480     // C++ wrapper type for IfcObjectTypeEnum
481     typedef ENUMERATION IfcObjectTypeEnum;
482     // C++ wrapper type for IfcObjectiveEnum
483     typedef ENUMERATION IfcObjectiveEnum;
484     // C++ wrapper type for IfcOccupantTypeEnum
485     typedef ENUMERATION IfcOccupantTypeEnum;
486     // C++ wrapper type for IfcOutletTypeEnum
487     typedef ENUMERATION IfcOutletTypeEnum;
488     // C++ wrapper type for IfcPermeableCoveringOperationEnum
489     typedef ENUMERATION IfcPermeableCoveringOperationEnum;
490     // C++ wrapper type for IfcPhysicalOrVirtualEnum
491     typedef ENUMERATION IfcPhysicalOrVirtualEnum;
492     // C++ wrapper type for IfcPileConstructionEnum
493     typedef ENUMERATION IfcPileConstructionEnum;
494     // C++ wrapper type for IfcPileTypeEnum
495     typedef ENUMERATION IfcPileTypeEnum;
496     // C++ wrapper type for IfcPipeFittingTypeEnum
497     typedef ENUMERATION IfcPipeFittingTypeEnum;
498     // C++ wrapper type for IfcPipeSegmentTypeEnum
499     typedef ENUMERATION IfcPipeSegmentTypeEnum;
500     // C++ wrapper type for IfcPlateTypeEnum
501     typedef ENUMERATION IfcPlateTypeEnum;
502     // C++ wrapper type for IfcProcedureTypeEnum
503     typedef ENUMERATION IfcProcedureTypeEnum;
504     // C++ wrapper type for IfcProfileTypeEnum
505     typedef ENUMERATION IfcProfileTypeEnum;
506     // C++ wrapper type for IfcProjectOrderRecordTypeEnum
507     typedef ENUMERATION IfcProjectOrderRecordTypeEnum;
508     // C++ wrapper type for IfcProjectOrderTypeEnum
509     typedef ENUMERATION IfcProjectOrderTypeEnum;
510     // C++ wrapper type for IfcProjectedOrTrueLengthEnum
511     typedef ENUMERATION IfcProjectedOrTrueLengthEnum;
512     // C++ wrapper type for IfcPropertySourceEnum
513     typedef ENUMERATION IfcPropertySourceEnum;
514     // C++ wrapper type for IfcProtectiveDeviceTypeEnum
515     typedef ENUMERATION IfcProtectiveDeviceTypeEnum;
516     // C++ wrapper type for IfcPumpTypeEnum
517     typedef ENUMERATION IfcPumpTypeEnum;
518     // C++ wrapper type for IfcRailingTypeEnum
519     typedef ENUMERATION IfcRailingTypeEnum;
520     // C++ wrapper type for IfcRampFlightTypeEnum
521     typedef ENUMERATION IfcRampFlightTypeEnum;
522     // C++ wrapper type for IfcRampTypeEnum
523     typedef ENUMERATION IfcRampTypeEnum;
524     // C++ wrapper type for IfcReflectanceMethodEnum
525     typedef ENUMERATION IfcReflectanceMethodEnum;
526     // C++ wrapper type for IfcReinforcingBarRoleEnum
527     typedef ENUMERATION IfcReinforcingBarRoleEnum;
528     // C++ wrapper type for IfcReinforcingBarSurfaceEnum
529     typedef ENUMERATION IfcReinforcingBarSurfaceEnum;
530     // C++ wrapper type for IfcResourceConsumptionEnum
531     typedef ENUMERATION IfcResourceConsumptionEnum;
532     // C++ wrapper type for IfcRibPlateDirectionEnum
533     typedef ENUMERATION IfcRibPlateDirectionEnum;
534     // C++ wrapper type for IfcRoleEnum
535     typedef ENUMERATION IfcRoleEnum;
536     // C++ wrapper type for IfcRoofTypeEnum
537     typedef ENUMERATION IfcRoofTypeEnum;
538     // C++ wrapper type for IfcSIPrefix
539     typedef ENUMERATION IfcSIPrefix;
540     // C++ wrapper type for IfcSIUnitName
541     typedef ENUMERATION IfcSIUnitName;
542     // C++ wrapper type for IfcSanitaryTerminalTypeEnum
543     typedef ENUMERATION IfcSanitaryTerminalTypeEnum;
544     // C++ wrapper type for IfcSectionTypeEnum
545     typedef ENUMERATION IfcSectionTypeEnum;
546     // C++ wrapper type for IfcSensorTypeEnum
547     typedef ENUMERATION IfcSensorTypeEnum;
548     // C++ wrapper type for IfcSequenceEnum
549     typedef ENUMERATION IfcSequenceEnum;
550     // C++ wrapper type for IfcServiceLifeFactorTypeEnum
551     typedef ENUMERATION IfcServiceLifeFactorTypeEnum;
552     // C++ wrapper type for IfcServiceLifeTypeEnum
553     typedef ENUMERATION IfcServiceLifeTypeEnum;
554     // C++ wrapper type for IfcSlabTypeEnum
555     typedef ENUMERATION IfcSlabTypeEnum;
556     // C++ wrapper type for IfcSoundScaleEnum
557     typedef ENUMERATION IfcSoundScaleEnum;
558     // C++ wrapper type for IfcSpaceHeaterTypeEnum
559     typedef ENUMERATION IfcSpaceHeaterTypeEnum;
560     // C++ wrapper type for IfcSpaceTypeEnum
561     typedef ENUMERATION IfcSpaceTypeEnum;
562     // C++ wrapper type for IfcStackTerminalTypeEnum
563     typedef ENUMERATION IfcStackTerminalTypeEnum;
564     // C++ wrapper type for IfcStairFlightTypeEnum
565     typedef ENUMERATION IfcStairFlightTypeEnum;
566     // C++ wrapper type for IfcStairTypeEnum
567     typedef ENUMERATION IfcStairTypeEnum;
568     // C++ wrapper type for IfcStateEnum
569     typedef ENUMERATION IfcStateEnum;
570     // C++ wrapper type for IfcStructuralCurveTypeEnum
571     typedef ENUMERATION IfcStructuralCurveTypeEnum;
572     // C++ wrapper type for IfcStructuralSurfaceTypeEnum
573     typedef ENUMERATION IfcStructuralSurfaceTypeEnum;
574     // C++ wrapper type for IfcSurfaceSide
575     typedef ENUMERATION IfcSurfaceSide;
576     // C++ wrapper type for IfcSurfaceTextureEnum
577     typedef ENUMERATION IfcSurfaceTextureEnum;
578     // C++ wrapper type for IfcSwitchingDeviceTypeEnum
579     typedef ENUMERATION IfcSwitchingDeviceTypeEnum;
580     // C++ wrapper type for IfcTankTypeEnum
581     typedef ENUMERATION IfcTankTypeEnum;
582     // C++ wrapper type for IfcTendonTypeEnum
583     typedef ENUMERATION IfcTendonTypeEnum;
584     // C++ wrapper type for IfcTextPath
585     typedef ENUMERATION IfcTextPath;
586     // C++ wrapper type for IfcThermalLoadSourceEnum
587     typedef ENUMERATION IfcThermalLoadSourceEnum;
588     // C++ wrapper type for IfcThermalLoadTypeEnum
589     typedef ENUMERATION IfcThermalLoadTypeEnum;
590     // C++ wrapper type for IfcTimeSeriesDataTypeEnum
591     typedef ENUMERATION IfcTimeSeriesDataTypeEnum;
592     // C++ wrapper type for IfcTimeSeriesScheduleTypeEnum
593     typedef ENUMERATION IfcTimeSeriesScheduleTypeEnum;
594     // C++ wrapper type for IfcTransformerTypeEnum
595     typedef ENUMERATION IfcTransformerTypeEnum;
596     // C++ wrapper type for IfcTransitionCode
597     typedef ENUMERATION IfcTransitionCode;
598     // C++ wrapper type for IfcTransportElementTypeEnum
599     typedef ENUMERATION IfcTransportElementTypeEnum;
600     // C++ wrapper type for IfcTrimmingPreference
601     typedef ENUMERATION IfcTrimmingPreference;
602     // C++ wrapper type for IfcTubeBundleTypeEnum
603     typedef ENUMERATION IfcTubeBundleTypeEnum;
604     // C++ wrapper type for IfcUnitEnum
605     typedef ENUMERATION IfcUnitEnum;
606     // C++ wrapper type for IfcUnitaryEquipmentTypeEnum
607     typedef ENUMERATION IfcUnitaryEquipmentTypeEnum;
608     // C++ wrapper type for IfcValveTypeEnum
609     typedef ENUMERATION IfcValveTypeEnum;
610     // C++ wrapper type for IfcVibrationIsolatorTypeEnum
611     typedef ENUMERATION IfcVibrationIsolatorTypeEnum;
612     // C++ wrapper type for IfcWallTypeEnum
613     typedef ENUMERATION IfcWallTypeEnum;
614     // C++ wrapper type for IfcWasteTerminalTypeEnum
615     typedef ENUMERATION IfcWasteTerminalTypeEnum;
616     // C++ wrapper type for IfcWindowPanelOperationEnum
617     typedef ENUMERATION IfcWindowPanelOperationEnum;
618     // C++ wrapper type for IfcWindowPanelPositionEnum
619     typedef ENUMERATION IfcWindowPanelPositionEnum;
620     // C++ wrapper type for IfcWindowStyleConstructionEnum
621     typedef ENUMERATION IfcWindowStyleConstructionEnum;
622     // C++ wrapper type for IfcWindowStyleOperationEnum
623     typedef ENUMERATION IfcWindowStyleOperationEnum;
624     // C++ wrapper type for IfcWorkControlTypeEnum
625     typedef ENUMERATION IfcWorkControlTypeEnum;
626     // C++ wrapper type for IfcActorSelect
627     typedef SELECT IfcActorSelect;
628     // C++ wrapper type for IfcAppliedValueSelect
629     typedef SELECT IfcAppliedValueSelect;
630     // C++ wrapper type for IfcAxis2Placement
631     typedef SELECT IfcAxis2Placement;
632     // C++ wrapper type for IfcBooleanOperand
633     typedef SELECT IfcBooleanOperand;
634     // C++ wrapper type for IfcCharacterStyleSelect
635     typedef SELECT IfcCharacterStyleSelect;
636     // C++ wrapper type for IfcClassificationNotationSelect
637     typedef SELECT IfcClassificationNotationSelect;
638     // C++ wrapper type for IfcColour
639     typedef SELECT IfcColour;
640     // C++ wrapper type for IfcColourOrFactor
641     typedef SELECT IfcColourOrFactor;
642     // C++ wrapper type for IfcConditionCriterionSelect
643     typedef SELECT IfcConditionCriterionSelect;
644     // C++ wrapper type for IfcCsgSelect
645     typedef SELECT IfcCsgSelect;
646     // C++ wrapper type for IfcCurveFontOrScaledCurveFontSelect
647     typedef SELECT IfcCurveFontOrScaledCurveFontSelect;
648     // C++ wrapper type for IfcCurveOrEdgeCurve
649     typedef SELECT IfcCurveOrEdgeCurve;
650     // C++ wrapper type for IfcCurveStyleFontSelect
651     typedef SELECT IfcCurveStyleFontSelect;
652     // C++ wrapper type for IfcDateTimeSelect
653     typedef SELECT IfcDateTimeSelect;
654     // C++ wrapper type for IfcDefinedSymbolSelect
655     typedef SELECT IfcDefinedSymbolSelect;
656     // C++ wrapper type for IfcDerivedMeasureValue
657     typedef SELECT IfcDerivedMeasureValue;
658     // C++ wrapper type for IfcDocumentSelect
659     typedef SELECT IfcDocumentSelect;
660     // C++ wrapper type for IfcDraughtingCalloutElement
661     typedef SELECT IfcDraughtingCalloutElement;
662     // C++ wrapper type for IfcFillAreaStyleTileShapeSelect
663     typedef SELECT IfcFillAreaStyleTileShapeSelect;
664     // C++ wrapper type for IfcFillStyleSelect
665     typedef SELECT IfcFillStyleSelect;
666     // C++ wrapper type for IfcGeometricSetSelect
667     typedef SELECT IfcGeometricSetSelect;
668     // C++ wrapper type for IfcHatchLineDistanceSelect
669     typedef SELECT IfcHatchLineDistanceSelect;
670     // C++ wrapper type for IfcLayeredItem
671     typedef SELECT IfcLayeredItem;
672     // C++ wrapper type for IfcLibrarySelect
673     typedef SELECT IfcLibrarySelect;
674     // C++ wrapper type for IfcLightDistributionDataSourceSelect
675     typedef SELECT IfcLightDistributionDataSourceSelect;
676     // C++ wrapper type for IfcMaterialSelect
677     typedef SELECT IfcMaterialSelect;
678     // C++ wrapper type for IfcMeasureValue
679     typedef SELECT IfcMeasureValue;
680     // C++ wrapper type for IfcMetricValueSelect
681     typedef SELECT IfcMetricValueSelect;
682     // C++ wrapper type for IfcObjectReferenceSelect
683     typedef SELECT IfcObjectReferenceSelect;
684     // C++ wrapper type for IfcOrientationSelect
685     typedef SELECT IfcOrientationSelect;
686     // C++ wrapper type for IfcPointOrVertexPoint
687     typedef SELECT IfcPointOrVertexPoint;
688     // C++ wrapper type for IfcPresentationStyleSelect
689     typedef SELECT IfcPresentationStyleSelect;
690     // C++ wrapper type for IfcShell
691     typedef SELECT IfcShell;
692     // C++ wrapper type for IfcSimpleValue
693     typedef SELECT IfcSimpleValue;
694     // C++ wrapper type for IfcSizeSelect
695     typedef SELECT IfcSizeSelect;
696     // C++ wrapper type for IfcSpecularHighlightSelect
697     typedef SELECT IfcSpecularHighlightSelect;
698     // C++ wrapper type for IfcStructuralActivityAssignmentSelect
699     typedef SELECT IfcStructuralActivityAssignmentSelect;
700     // C++ wrapper type for IfcSurfaceOrFaceSurface
701     typedef SELECT IfcSurfaceOrFaceSurface;
702     // C++ wrapper type for IfcSurfaceStyleElementSelect
703     typedef SELECT IfcSurfaceStyleElementSelect;
704     // C++ wrapper type for IfcSymbolStyleSelect
705     typedef SELECT IfcSymbolStyleSelect;
706     // C++ wrapper type for IfcTextFontSelect
707     typedef SELECT IfcTextFontSelect;
708     // C++ wrapper type for IfcTextStyleSelect
709     typedef SELECT IfcTextStyleSelect;
710     // C++ wrapper type for IfcTrimmingSelect
711     typedef SELECT IfcTrimmingSelect;
712     // C++ wrapper type for IfcUnit
713     typedef SELECT IfcUnit;
714     // C++ wrapper type for IfcValue
715     typedef SELECT IfcValue;
716     // C++ wrapper type for IfcVectorOrDirection
717     typedef SELECT IfcVectorOrDirection;
718 
719 
720     // ******************************************************************************
721     // IFC Entities
722     // ******************************************************************************
723 
724     struct IfcRepresentationItem;
725     struct IfcGeometricRepresentationItem;
726     struct IfcCurve;
727     struct IfcBoundedCurve;
728     struct IfcCompositeCurve;
729     struct Ifc2DCompositeCurve;
730     struct IfcRoot;
731     struct IfcObjectDefinition;
732     struct IfcObject;
733     struct IfcControl;
734     struct IfcActionRequest;
735     struct IfcActor;
736     typedef NotImplemented IfcActorRole; // (not currently used by Assimp)
737     struct IfcTypeObject;
738     struct IfcTypeProduct;
739     struct IfcElementType;
740     struct IfcDistributionElementType;
741     struct IfcDistributionControlElementType;
742     struct IfcActuatorType;
743     typedef NotImplemented IfcAddress; // (not currently used by Assimp)
744     struct IfcDistributionFlowElementType;
745     struct IfcFlowControllerType;
746     struct IfcAirTerminalBoxType;
747     struct IfcFlowTerminalType;
748     struct IfcAirTerminalType;
749     struct IfcEnergyConversionDeviceType;
750     struct IfcAirToAirHeatRecoveryType;
751     struct IfcAlarmType;
752     struct IfcDraughtingCallout;
753     struct IfcDimensionCurveDirectedCallout;
754     struct IfcAngularDimension;
755     struct IfcProduct;
756     struct IfcAnnotation;
757     struct IfcStyledItem;
758     struct IfcAnnotationOccurrence;
759     struct IfcAnnotationCurveOccurrence;
760     struct IfcAnnotationFillArea;
761     struct IfcAnnotationFillAreaOccurrence;
762     struct IfcAnnotationSurface;
763     struct IfcAnnotationSurfaceOccurrence;
764     struct IfcAnnotationSymbolOccurrence;
765     struct IfcAnnotationTextOccurrence;
766     typedef NotImplemented IfcApplication; // (not currently used by Assimp)
767     typedef NotImplemented IfcAppliedValue; // (not currently used by Assimp)
768     typedef NotImplemented IfcAppliedValueRelationship; // (not currently used by Assimp)
769     typedef NotImplemented IfcApproval; // (not currently used by Assimp)
770     typedef NotImplemented IfcApprovalActorRelationship; // (not currently used by Assimp)
771     typedef NotImplemented IfcApprovalPropertyRelationship; // (not currently used by Assimp)
772     typedef NotImplemented IfcApprovalRelationship; // (not currently used by Assimp)
773     struct IfcProfileDef;
774     struct IfcArbitraryClosedProfileDef;
775     struct IfcArbitraryOpenProfileDef;
776     struct IfcArbitraryProfileDefWithVoids;
777     struct IfcGroup;
778     struct IfcAsset;
779     struct IfcParameterizedProfileDef;
780     struct IfcIShapeProfileDef;
781     struct IfcAsymmetricIShapeProfileDef;
782     struct IfcPlacement;
783     struct IfcAxis1Placement;
784     struct IfcAxis2Placement2D;
785     struct IfcAxis2Placement3D;
786     struct IfcBSplineCurve;
787     struct IfcElement;
788     struct IfcBuildingElement;
789     struct IfcBeam;
790     struct IfcBuildingElementType;
791     struct IfcBeamType;
792     struct IfcBezierCurve;
793     typedef NotImplemented IfcSurfaceTexture; // (not currently used by Assimp)
794     typedef NotImplemented IfcBlobTexture; // (not currently used by Assimp)
795     struct IfcCsgPrimitive3D;
796     struct IfcBlock;
797     struct IfcBoilerType;
798     struct IfcBooleanResult;
799     struct IfcBooleanClippingResult;
800     typedef NotImplemented IfcBoundaryCondition; // (not currently used by Assimp)
801     typedef NotImplemented IfcBoundaryEdgeCondition; // (not currently used by Assimp)
802     typedef NotImplemented IfcBoundaryFaceCondition; // (not currently used by Assimp)
803     typedef NotImplemented IfcBoundaryNodeCondition; // (not currently used by Assimp)
804     typedef NotImplemented IfcBoundaryNodeConditionWarping; // (not currently used by Assimp)
805     struct IfcSurface;
806     struct IfcBoundedSurface;
807     struct IfcBoundingBox;
808     struct IfcHalfSpaceSolid;
809     struct IfcBoxedHalfSpace;
810     struct IfcSpatialStructureElement;
811     struct IfcBuilding;
812     struct IfcBuildingElementComponent;
813     struct IfcBuildingElementPart;
814     struct IfcBuildingElementProxy;
815     struct IfcBuildingElementProxyType;
816     struct IfcBuildingStorey;
817     struct IfcCShapeProfileDef;
818     struct IfcFlowFittingType;
819     struct IfcCableCarrierFittingType;
820     struct IfcFlowSegmentType;
821     struct IfcCableCarrierSegmentType;
822     struct IfcCableSegmentType;
823     typedef NotImplemented IfcCalendarDate; // (not currently used by Assimp)
824     struct IfcPoint;
825     struct IfcCartesianPoint;
826     struct IfcCartesianTransformationOperator;
827     struct IfcCartesianTransformationOperator2D;
828     struct IfcCartesianTransformationOperator2DnonUniform;
829     struct IfcCartesianTransformationOperator3D;
830     struct IfcCartesianTransformationOperator3DnonUniform;
831     struct IfcCenterLineProfileDef;
832     struct IfcFeatureElement;
833     struct IfcFeatureElementSubtraction;
834     struct IfcEdgeFeature;
835     struct IfcChamferEdgeFeature;
836     struct IfcChillerType;
837     struct IfcConic;
838     struct IfcCircle;
839     struct IfcCircleProfileDef;
840     struct IfcCircleHollowProfileDef;
841     typedef NotImplemented IfcClassification; // (not currently used by Assimp)
842     typedef NotImplemented IfcClassificationItem; // (not currently used by Assimp)
843     typedef NotImplemented IfcClassificationItemRelationship; // (not currently used by Assimp)
844     typedef NotImplemented IfcClassificationNotation; // (not currently used by Assimp)
845     typedef NotImplemented IfcClassificationNotationFacet; // (not currently used by Assimp)
846     typedef NotImplemented IfcExternalReference; // (not currently used by Assimp)
847     typedef NotImplemented IfcClassificationReference; // (not currently used by Assimp)
848     struct IfcTopologicalRepresentationItem;
849     struct IfcConnectedFaceSet;
850     struct IfcClosedShell;
851     struct IfcCoilType;
852     struct IfcColourSpecification;
853     struct IfcColourRgb;
854     struct IfcColumn;
855     struct IfcColumnType;
856     struct IfcProperty;
857     struct IfcComplexProperty;
858     struct IfcCompositeCurveSegment;
859     struct IfcCompositeProfileDef;
860     struct IfcFlowMovingDeviceType;
861     struct IfcCompressorType;
862     struct IfcCondenserType;
863     struct IfcCondition;
864     struct IfcConditionCriterion;
865     typedef NotImplemented IfcConnectionGeometry; // (not currently used by Assimp)
866     typedef NotImplemented IfcConnectionCurveGeometry; // (not currently used by Assimp)
867     typedef NotImplemented IfcConnectionPointGeometry; // (not currently used by Assimp)
868     typedef NotImplemented IfcConnectionPointEccentricity; // (not currently used by Assimp)
869     typedef NotImplemented IfcConnectionPortGeometry; // (not currently used by Assimp)
870     typedef NotImplemented IfcConnectionSurfaceGeometry; // (not currently used by Assimp)
871     typedef NotImplemented IfcConstraint; // (not currently used by Assimp)
872     typedef NotImplemented IfcConstraintAggregationRelationship; // (not currently used by Assimp)
873     typedef NotImplemented IfcConstraintClassificationRelationship; // (not currently used by Assimp)
874     typedef NotImplemented IfcConstraintRelationship; // (not currently used by Assimp)
875     struct IfcResource;
876     struct IfcConstructionResource;
877     struct IfcConstructionEquipmentResource;
878     struct IfcConstructionMaterialResource;
879     struct IfcConstructionProductResource;
880     struct IfcNamedUnit;
881     struct IfcContextDependentUnit;
882     struct IfcControllerType;
883     struct IfcConversionBasedUnit;
884     struct IfcCooledBeamType;
885     struct IfcCoolingTowerType;
886     typedef NotImplemented IfcCoordinatedUniversalTimeOffset; // (not currently used by Assimp)
887     struct IfcCostItem;
888     struct IfcCostSchedule;
889     typedef NotImplemented IfcCostValue; // (not currently used by Assimp)
890     struct IfcCovering;
891     struct IfcCoveringType;
892     struct IfcCraneRailAShapeProfileDef;
893     struct IfcCraneRailFShapeProfileDef;
894     struct IfcCrewResource;
895     struct IfcSolidModel;
896     struct IfcCsgSolid;
897     typedef NotImplemented IfcCurrencyRelationship; // (not currently used by Assimp)
898     struct IfcCurtainWall;
899     struct IfcCurtainWallType;
900     struct IfcCurveBoundedPlane;
901     struct IfcPresentationStyle;
902     typedef NotImplemented IfcCurveStyle; // (not currently used by Assimp)
903     typedef NotImplemented IfcCurveStyleFont; // (not currently used by Assimp)
904     typedef NotImplemented IfcCurveStyleFontAndScaling; // (not currently used by Assimp)
905     typedef NotImplemented IfcCurveStyleFontPattern; // (not currently used by Assimp)
906     struct IfcDamperType;
907     typedef NotImplemented IfcDateAndTime; // (not currently used by Assimp)
908     struct IfcDefinedSymbol;
909     struct IfcDerivedProfileDef;
910     typedef NotImplemented IfcDerivedUnit; // (not currently used by Assimp)
911     typedef NotImplemented IfcDerivedUnitElement; // (not currently used by Assimp)
912     struct IfcDiameterDimension;
913     typedef NotImplemented IfcDraughtingCalloutRelationship; // (not currently used by Assimp)
914     typedef NotImplemented IfcDimensionCalloutRelationship; // (not currently used by Assimp)
915     struct IfcDimensionCurve;
916     struct IfcTerminatorSymbol;
917     struct IfcDimensionCurveTerminator;
918     typedef NotImplemented IfcDimensionPair; // (not currently used by Assimp)
919     typedef NotImplemented IfcDimensionalExponents; // (not currently used by Assimp)
920     struct IfcDirection;
921     struct IfcElementComponent;
922     struct IfcDiscreteAccessory;
923     struct IfcElementComponentType;
924     struct IfcDiscreteAccessoryType;
925     struct IfcDistributionElement;
926     struct IfcDistributionFlowElement;
927     struct IfcDistributionChamberElement;
928     struct IfcDistributionChamberElementType;
929     struct IfcDistributionControlElement;
930     struct IfcPort;
931     struct IfcDistributionPort;
932     typedef NotImplemented IfcDocumentElectronicFormat; // (not currently used by Assimp)
933     typedef NotImplemented IfcDocumentInformation; // (not currently used by Assimp)
934     typedef NotImplemented IfcDocumentInformationRelationship; // (not currently used by Assimp)
935     typedef NotImplemented IfcDocumentReference; // (not currently used by Assimp)
936     struct IfcDoor;
937     struct IfcPropertyDefinition;
938     struct IfcPropertySetDefinition;
939     typedef NotImplemented IfcDoorLiningProperties; // (not currently used by Assimp)
940     typedef NotImplemented IfcDoorPanelProperties; // (not currently used by Assimp)
941     struct IfcDoorStyle;
942     typedef NotImplemented IfcPreDefinedItem; // (not currently used by Assimp)
943     typedef NotImplemented IfcPreDefinedColour; // (not currently used by Assimp)
944     typedef NotImplemented IfcDraughtingPreDefinedColour; // (not currently used by Assimp)
945     typedef NotImplemented IfcPreDefinedCurveFont; // (not currently used by Assimp)
946     typedef NotImplemented IfcDraughtingPreDefinedCurveFont; // (not currently used by Assimp)
947     typedef NotImplemented IfcPreDefinedTextFont; // (not currently used by Assimp)
948     typedef NotImplemented IfcDraughtingPreDefinedTextFont; // (not currently used by Assimp)
949     struct IfcDuctFittingType;
950     struct IfcDuctSegmentType;
951     struct IfcFlowTreatmentDeviceType;
952     struct IfcDuctSilencerType;
953     struct IfcEdge;
954     struct IfcEdgeCurve;
955     struct IfcLoop;
956     struct IfcEdgeLoop;
957     struct IfcElectricApplianceType;
958     struct IfcFlowController;
959     struct IfcElectricDistributionPoint;
960     struct IfcFlowStorageDeviceType;
961     struct IfcElectricFlowStorageDeviceType;
962     struct IfcElectricGeneratorType;
963     struct IfcElectricHeaterType;
964     struct IfcElectricMotorType;
965     struct IfcElectricTimeControlType;
966     typedef NotImplemented IfcEnergyProperties; // (not currently used by Assimp)
967     typedef NotImplemented IfcElectricalBaseProperties; // (not currently used by Assimp)
968     struct IfcSystem;
969     struct IfcElectricalCircuit;
970     struct IfcElectricalElement;
971     struct IfcElementAssembly;
972     struct IfcElementQuantity;
973     struct IfcElementarySurface;
974     struct IfcEllipse;
975     struct IfcEllipseProfileDef;
976     struct IfcEnergyConversionDevice;
977     typedef NotImplemented IfcEnvironmentalImpactValue; // (not currently used by Assimp)
978     struct IfcEquipmentElement;
979     struct IfcEquipmentStandard;
980     struct IfcEvaporativeCoolerType;
981     struct IfcEvaporatorType;
982     typedef NotImplemented IfcMaterialProperties; // (not currently used by Assimp)
983     typedef NotImplemented IfcExtendedMaterialProperties; // (not currently used by Assimp)
984     typedef NotImplemented IfcExternallyDefinedHatchStyle; // (not currently used by Assimp)
985     typedef NotImplemented IfcExternallyDefinedSurfaceStyle; // (not currently used by Assimp)
986     typedef NotImplemented IfcExternallyDefinedSymbol; // (not currently used by Assimp)
987     typedef NotImplemented IfcExternallyDefinedTextFont; // (not currently used by Assimp)
988     struct IfcSweptAreaSolid;
989     struct IfcExtrudedAreaSolid;
990     struct IfcFace;
991     struct IfcFaceBasedSurfaceModel;
992     struct IfcFaceBound;
993     struct IfcFaceOuterBound;
994     struct IfcFaceSurface;
995     struct IfcManifoldSolidBrep;
996     struct IfcFacetedBrep;
997     struct IfcFacetedBrepWithVoids;
998     typedef NotImplemented IfcStructuralConnectionCondition; // (not currently used by Assimp)
999     typedef NotImplemented IfcFailureConnectionCondition; // (not currently used by Assimp)
1000     struct IfcFanType;
1001     struct IfcFastener;
1002     struct IfcFastenerType;
1003     struct IfcFeatureElementAddition;
1004     typedef NotImplemented IfcFillAreaStyle; // (not currently used by Assimp)
1005     struct IfcFillAreaStyleHatching;
1006     struct IfcFillAreaStyleTileSymbolWithStyle;
1007     struct IfcFillAreaStyleTiles;
1008     struct IfcFilterType;
1009     struct IfcFireSuppressionTerminalType;
1010     struct IfcFlowFitting;
1011     struct IfcFlowInstrumentType;
1012     struct IfcFlowMeterType;
1013     struct IfcFlowMovingDevice;
1014     struct IfcFlowSegment;
1015     struct IfcFlowStorageDevice;
1016     struct IfcFlowTerminal;
1017     struct IfcFlowTreatmentDevice;
1018     typedef NotImplemented IfcFluidFlowProperties; // (not currently used by Assimp)
1019     struct IfcFooting;
1020     typedef NotImplemented IfcFuelProperties; // (not currently used by Assimp)
1021     struct IfcFurnishingElement;
1022     struct IfcFurnishingElementType;
1023     struct IfcFurnitureStandard;
1024     struct IfcFurnitureType;
1025     struct IfcGasTerminalType;
1026     typedef NotImplemented IfcGeneralMaterialProperties; // (not currently used by Assimp)
1027     typedef NotImplemented IfcProfileProperties; // (not currently used by Assimp)
1028     typedef NotImplemented IfcGeneralProfileProperties; // (not currently used by Assimp)
1029     struct IfcGeometricSet;
1030     struct IfcGeometricCurveSet;
1031     struct IfcRepresentationContext;
1032     struct IfcGeometricRepresentationContext;
1033     struct IfcGeometricRepresentationSubContext;
1034     struct IfcGrid;
1035     typedef NotImplemented IfcGridAxis; // (not currently used by Assimp)
1036     struct IfcObjectPlacement;
1037     struct IfcGridPlacement;
1038     struct IfcHeatExchangerType;
1039     struct IfcHumidifierType;
1040     typedef NotImplemented IfcHygroscopicMaterialProperties; // (not currently used by Assimp)
1041     typedef NotImplemented IfcImageTexture; // (not currently used by Assimp)
1042     struct IfcInventory;
1043     typedef NotImplemented IfcTimeSeries; // (not currently used by Assimp)
1044     typedef NotImplemented IfcIrregularTimeSeries; // (not currently used by Assimp)
1045     typedef NotImplemented IfcIrregularTimeSeriesValue; // (not currently used by Assimp)
1046     struct IfcJunctionBoxType;
1047     struct IfcLShapeProfileDef;
1048     struct IfcLaborResource;
1049     struct IfcLampType;
1050     typedef NotImplemented IfcLibraryInformation; // (not currently used by Assimp)
1051     typedef NotImplemented IfcLibraryReference; // (not currently used by Assimp)
1052     typedef NotImplemented IfcLightDistributionData; // (not currently used by Assimp)
1053     struct IfcLightFixtureType;
1054     typedef NotImplemented IfcLightIntensityDistribution; // (not currently used by Assimp)
1055     struct IfcLightSource;
1056     struct IfcLightSourceAmbient;
1057     struct IfcLightSourceDirectional;
1058     struct IfcLightSourceGoniometric;
1059     struct IfcLightSourcePositional;
1060     struct IfcLightSourceSpot;
1061     struct IfcLine;
1062     struct IfcLinearDimension;
1063     struct IfcLocalPlacement;
1064     typedef NotImplemented IfcLocalTime; // (not currently used by Assimp)
1065     struct IfcMappedItem;
1066     typedef NotImplemented IfcMaterial; // (not currently used by Assimp)
1067     typedef NotImplemented IfcMaterialClassificationRelationship; // (not currently used by Assimp)
1068     struct IfcProductRepresentation;
1069     struct IfcMaterialDefinitionRepresentation;
1070     typedef NotImplemented IfcMaterialLayer; // (not currently used by Assimp)
1071     typedef NotImplemented IfcMaterialLayerSet; // (not currently used by Assimp)
1072     typedef NotImplemented IfcMaterialLayerSetUsage; // (not currently used by Assimp)
1073     typedef NotImplemented IfcMaterialList; // (not currently used by Assimp)
1074     struct IfcMeasureWithUnit;
1075     typedef NotImplemented IfcMechanicalMaterialProperties; // (not currently used by Assimp)
1076     typedef NotImplemented IfcMechanicalConcreteMaterialProperties; // (not currently used by Assimp)
1077     struct IfcMechanicalFastener;
1078     struct IfcMechanicalFastenerType;
1079     typedef NotImplemented IfcMechanicalSteelMaterialProperties; // (not currently used by Assimp)
1080     struct IfcMember;
1081     struct IfcMemberType;
1082     typedef NotImplemented IfcMetric; // (not currently used by Assimp)
1083     typedef NotImplemented IfcMonetaryUnit; // (not currently used by Assimp)
1084     struct IfcMotorConnectionType;
1085     struct IfcProcess;
1086     struct IfcTask;
1087     struct IfcMove;
1088     typedef NotImplemented IfcObjective; // (not currently used by Assimp)
1089     struct IfcOccupant;
1090     struct IfcOffsetCurve2D;
1091     struct IfcOffsetCurve3D;
1092     struct IfcOneDirectionRepeatFactor;
1093     struct IfcOpenShell;
1094     struct IfcOpeningElement;
1095     typedef NotImplemented IfcOpticalMaterialProperties; // (not currently used by Assimp)
1096     struct IfcOrderAction;
1097     typedef NotImplemented IfcOrganization; // (not currently used by Assimp)
1098     typedef NotImplemented IfcOrganizationRelationship; // (not currently used by Assimp)
1099     struct IfcOrientedEdge;
1100     struct IfcOutletType;
1101     typedef NotImplemented IfcOwnerHistory; // (not currently used by Assimp)
1102     struct IfcPath;
1103     struct IfcPerformanceHistory;
1104     typedef NotImplemented IfcPermeableCoveringProperties; // (not currently used by Assimp)
1105     struct IfcPermit;
1106     typedef NotImplemented IfcPerson; // (not currently used by Assimp)
1107     typedef NotImplemented IfcPersonAndOrganization; // (not currently used by Assimp)
1108     typedef NotImplemented IfcPhysicalQuantity; // (not currently used by Assimp)
1109     typedef NotImplemented IfcPhysicalComplexQuantity; // (not currently used by Assimp)
1110     typedef NotImplemented IfcPhysicalSimpleQuantity; // (not currently used by Assimp)
1111     struct IfcPile;
1112     struct IfcPipeFittingType;
1113     struct IfcPipeSegmentType;
1114     typedef NotImplemented IfcPixelTexture; // (not currently used by Assimp)
1115     struct IfcPlanarExtent;
1116     struct IfcPlanarBox;
1117     struct IfcPlane;
1118     struct IfcPlate;
1119     struct IfcPlateType;
1120     struct IfcPointOnCurve;
1121     struct IfcPointOnSurface;
1122     struct IfcPolyLoop;
1123     struct IfcPolygonalBoundedHalfSpace;
1124     struct IfcPolyline;
1125     typedef NotImplemented IfcPostalAddress; // (not currently used by Assimp)
1126     typedef NotImplemented IfcPreDefinedSymbol; // (not currently used by Assimp)
1127     typedef NotImplemented IfcPreDefinedDimensionSymbol; // (not currently used by Assimp)
1128     typedef NotImplemented IfcPreDefinedPointMarkerSymbol; // (not currently used by Assimp)
1129     typedef NotImplemented IfcPreDefinedTerminatorSymbol; // (not currently used by Assimp)
1130     typedef NotImplemented IfcPresentationLayerAssignment; // (not currently used by Assimp)
1131     typedef NotImplemented IfcPresentationLayerWithStyle; // (not currently used by Assimp)
1132     struct IfcPresentationStyleAssignment;
1133     struct IfcProcedure;
1134     struct IfcProductDefinitionShape;
1135     typedef NotImplemented IfcProductsOfCombustionProperties; // (not currently used by Assimp)
1136     struct IfcProject;
1137     struct IfcProjectOrder;
1138     struct IfcProjectOrderRecord;
1139     struct IfcProjectionCurve;
1140     struct IfcProjectionElement;
1141     struct IfcSimpleProperty;
1142     struct IfcPropertyBoundedValue;
1143     typedef NotImplemented IfcPropertyConstraintRelationship; // (not currently used by Assimp)
1144     typedef NotImplemented IfcPropertyDependencyRelationship; // (not currently used by Assimp)
1145     struct IfcPropertyEnumeratedValue;
1146     typedef NotImplemented IfcPropertyEnumeration; // (not currently used by Assimp)
1147     struct IfcPropertyListValue;
1148     struct IfcPropertyReferenceValue;
1149     struct IfcPropertySet;
1150     struct IfcPropertySingleValue;
1151     struct IfcPropertyTableValue;
1152     struct IfcProtectiveDeviceType;
1153     struct IfcProxy;
1154     struct IfcPumpType;
1155     typedef NotImplemented IfcQuantityArea; // (not currently used by Assimp)
1156     typedef NotImplemented IfcQuantityCount; // (not currently used by Assimp)
1157     typedef NotImplemented IfcQuantityLength; // (not currently used by Assimp)
1158     typedef NotImplemented IfcQuantityTime; // (not currently used by Assimp)
1159     typedef NotImplemented IfcQuantityVolume; // (not currently used by Assimp)
1160     typedef NotImplemented IfcQuantityWeight; // (not currently used by Assimp)
1161     struct IfcRadiusDimension;
1162     struct IfcRailing;
1163     struct IfcRailingType;
1164     struct IfcRamp;
1165     struct IfcRampFlight;
1166     struct IfcRampFlightType;
1167     struct IfcRationalBezierCurve;
1168     struct IfcRectangleProfileDef;
1169     struct IfcRectangleHollowProfileDef;
1170     struct IfcRectangularPyramid;
1171     struct IfcRectangularTrimmedSurface;
1172     typedef NotImplemented IfcReferencesValueDocument; // (not currently used by Assimp)
1173     typedef NotImplemented IfcRegularTimeSeries; // (not currently used by Assimp)
1174     typedef NotImplemented IfcReinforcementBarProperties; // (not currently used by Assimp)
1175     typedef NotImplemented IfcReinforcementDefinitionProperties; // (not currently used by Assimp)
1176     struct IfcReinforcingElement;
1177     struct IfcReinforcingBar;
1178     struct IfcReinforcingMesh;
1179     struct IfcRelationship;
1180     struct IfcRelDecomposes;
1181     struct IfcRelAggregates;
1182     typedef NotImplemented IfcRelAssigns; // (not currently used by Assimp)
1183     typedef NotImplemented IfcRelAssignsToControl; // (not currently used by Assimp)
1184     typedef NotImplemented IfcRelAssignsTasks; // (not currently used by Assimp)
1185     typedef NotImplemented IfcRelAssignsToActor; // (not currently used by Assimp)
1186     typedef NotImplemented IfcRelAssignsToGroup; // (not currently used by Assimp)
1187     typedef NotImplemented IfcRelAssignsToProcess; // (not currently used by Assimp)
1188     typedef NotImplemented IfcRelAssignsToProduct; // (not currently used by Assimp)
1189     typedef NotImplemented IfcRelAssignsToProjectOrder; // (not currently used by Assimp)
1190     typedef NotImplemented IfcRelAssignsToResource; // (not currently used by Assimp)
1191     typedef NotImplemented IfcRelAssociates; // (not currently used by Assimp)
1192     typedef NotImplemented IfcRelAssociatesAppliedValue; // (not currently used by Assimp)
1193     typedef NotImplemented IfcRelAssociatesApproval; // (not currently used by Assimp)
1194     typedef NotImplemented IfcRelAssociatesClassification; // (not currently used by Assimp)
1195     typedef NotImplemented IfcRelAssociatesConstraint; // (not currently used by Assimp)
1196     typedef NotImplemented IfcRelAssociatesDocument; // (not currently used by Assimp)
1197     typedef NotImplemented IfcRelAssociatesLibrary; // (not currently used by Assimp)
1198     typedef NotImplemented IfcRelAssociatesMaterial; // (not currently used by Assimp)
1199     typedef NotImplemented IfcRelAssociatesProfileProperties; // (not currently used by Assimp)
1200     struct IfcRelConnects;
1201     typedef NotImplemented IfcRelConnectsElements; // (not currently used by Assimp)
1202     typedef NotImplemented IfcRelConnectsPathElements; // (not currently used by Assimp)
1203     typedef NotImplemented IfcRelConnectsPortToElement; // (not currently used by Assimp)
1204     typedef NotImplemented IfcRelConnectsPorts; // (not currently used by Assimp)
1205     typedef NotImplemented IfcRelConnectsStructuralActivity; // (not currently used by Assimp)
1206     typedef NotImplemented IfcRelConnectsStructuralElement; // (not currently used by Assimp)
1207     typedef NotImplemented IfcRelConnectsStructuralMember; // (not currently used by Assimp)
1208     typedef NotImplemented IfcRelConnectsWithEccentricity; // (not currently used by Assimp)
1209     typedef NotImplemented IfcRelConnectsWithRealizingElements; // (not currently used by Assimp)
1210     struct IfcRelContainedInSpatialStructure;
1211     typedef NotImplemented IfcRelCoversBldgElements; // (not currently used by Assimp)
1212     typedef NotImplemented IfcRelCoversSpaces; // (not currently used by Assimp)
1213     struct IfcRelDefines;
1214     struct IfcRelDefinesByProperties;
1215     typedef NotImplemented IfcRelDefinesByType; // (not currently used by Assimp)
1216     struct IfcRelFillsElement;
1217     typedef NotImplemented IfcRelFlowControlElements; // (not currently used by Assimp)
1218     typedef NotImplemented IfcRelInteractionRequirements; // (not currently used by Assimp)
1219     typedef NotImplemented IfcRelNests; // (not currently used by Assimp)
1220     typedef NotImplemented IfcRelOccupiesSpaces; // (not currently used by Assimp)
1221     struct IfcRelOverridesProperties;
1222     typedef NotImplemented IfcRelProjectsElement; // (not currently used by Assimp)
1223     typedef NotImplemented IfcRelReferencedInSpatialStructure; // (not currently used by Assimp)
1224     typedef NotImplemented IfcRelSchedulesCostItems; // (not currently used by Assimp)
1225     typedef NotImplemented IfcRelSequence; // (not currently used by Assimp)
1226     typedef NotImplemented IfcRelServicesBuildings; // (not currently used by Assimp)
1227     typedef NotImplemented IfcRelSpaceBoundary; // (not currently used by Assimp)
1228     struct IfcRelVoidsElement;
1229     typedef NotImplemented IfcRelaxation; // (not currently used by Assimp)
1230     struct IfcRepresentation;
1231     struct IfcRepresentationMap;
1232     struct IfcRevolvedAreaSolid;
1233     typedef NotImplemented IfcRibPlateProfileProperties; // (not currently used by Assimp)
1234     struct IfcRightCircularCone;
1235     struct IfcRightCircularCylinder;
1236     struct IfcRoof;
1237     struct IfcRoundedEdgeFeature;
1238     struct IfcRoundedRectangleProfileDef;
1239     struct IfcSIUnit;
1240     struct IfcSanitaryTerminalType;
1241     struct IfcScheduleTimeControl;
1242     typedef NotImplemented IfcSectionProperties; // (not currently used by Assimp)
1243     typedef NotImplemented IfcSectionReinforcementProperties; // (not currently used by Assimp)
1244     struct IfcSectionedSpine;
1245     struct IfcSensorType;
1246     struct IfcServiceLife;
1247     typedef NotImplemented IfcServiceLifeFactor; // (not currently used by Assimp)
1248     typedef NotImplemented IfcShapeAspect; // (not currently used by Assimp)
1249     struct IfcShapeModel;
1250     struct IfcShapeRepresentation;
1251     struct IfcShellBasedSurfaceModel;
1252     struct IfcSite;
1253     struct IfcSlab;
1254     struct IfcSlabType;
1255     typedef NotImplemented IfcSlippageConnectionCondition; // (not currently used by Assimp)
1256     typedef NotImplemented IfcSoundProperties; // (not currently used by Assimp)
1257     typedef NotImplemented IfcSoundValue; // (not currently used by Assimp)
1258     struct IfcSpace;
1259     struct IfcSpaceHeaterType;
1260     struct IfcSpaceProgram;
1261     typedef NotImplemented IfcSpaceThermalLoadProperties; // (not currently used by Assimp)
1262     struct IfcSpatialStructureElementType;
1263     struct IfcSpaceType;
1264     struct IfcSphere;
1265     struct IfcStackTerminalType;
1266     struct IfcStair;
1267     struct IfcStairFlight;
1268     struct IfcStairFlightType;
1269     struct IfcStructuralActivity;
1270     struct IfcStructuralAction;
1271     struct IfcStructuralAnalysisModel;
1272     struct IfcStructuralItem;
1273     struct IfcStructuralConnection;
1274     struct IfcStructuralCurveConnection;
1275     struct IfcStructuralMember;
1276     struct IfcStructuralCurveMember;
1277     struct IfcStructuralCurveMemberVarying;
1278     struct IfcStructuralLinearAction;
1279     struct IfcStructuralLinearActionVarying;
1280     typedef NotImplemented IfcStructuralLoad; // (not currently used by Assimp)
1281     struct IfcStructuralLoadGroup;
1282     typedef NotImplemented IfcStructuralLoadStatic; // (not currently used by Assimp)
1283     typedef NotImplemented IfcStructuralLoadLinearForce; // (not currently used by Assimp)
1284     typedef NotImplemented IfcStructuralLoadPlanarForce; // (not currently used by Assimp)
1285     typedef NotImplemented IfcStructuralLoadSingleDisplacement; // (not currently used by Assimp)
1286     typedef NotImplemented IfcStructuralLoadSingleDisplacementDistortion; // (not currently used by Assimp)
1287     typedef NotImplemented IfcStructuralLoadSingleForce; // (not currently used by Assimp)
1288     typedef NotImplemented IfcStructuralLoadSingleForceWarping; // (not currently used by Assimp)
1289     typedef NotImplemented IfcStructuralLoadTemperature; // (not currently used by Assimp)
1290     struct IfcStructuralPlanarAction;
1291     struct IfcStructuralPlanarActionVarying;
1292     struct IfcStructuralPointAction;
1293     struct IfcStructuralPointConnection;
1294     struct IfcStructuralReaction;
1295     struct IfcStructuralPointReaction;
1296     typedef NotImplemented IfcStructuralProfileProperties; // (not currently used by Assimp)
1297     struct IfcStructuralResultGroup;
1298     typedef NotImplemented IfcStructuralSteelProfileProperties; // (not currently used by Assimp)
1299     struct IfcStructuralSurfaceConnection;
1300     struct IfcStructuralSurfaceMember;
1301     struct IfcStructuralSurfaceMemberVarying;
1302     struct IfcStructuredDimensionCallout;
1303     struct IfcStyleModel;
1304     struct IfcStyledRepresentation;
1305     struct IfcSubContractResource;
1306     struct IfcSubedge;
1307     struct IfcSurfaceCurveSweptAreaSolid;
1308     struct IfcSweptSurface;
1309     struct IfcSurfaceOfLinearExtrusion;
1310     struct IfcSurfaceOfRevolution;
1311     struct IfcSurfaceStyle;
1312     typedef NotImplemented IfcSurfaceStyleLighting; // (not currently used by Assimp)
1313     typedef NotImplemented IfcSurfaceStyleRefraction; // (not currently used by Assimp)
1314     struct IfcSurfaceStyleShading;
1315     struct IfcSurfaceStyleRendering;
1316     struct IfcSurfaceStyleWithTextures;
1317     struct IfcSweptDiskSolid;
1318     struct IfcSwitchingDeviceType;
1319     typedef NotImplemented IfcSymbolStyle; // (not currently used by Assimp)
1320     struct IfcSystemFurnitureElementType;
1321     struct IfcTShapeProfileDef;
1322     typedef NotImplemented IfcTable; // (not currently used by Assimp)
1323     typedef NotImplemented IfcTableRow; // (not currently used by Assimp)
1324     struct IfcTankType;
1325     typedef NotImplemented IfcTelecomAddress; // (not currently used by Assimp)
1326     struct IfcTendon;
1327     struct IfcTendonAnchor;
1328     struct IfcTextLiteral;
1329     struct IfcTextLiteralWithExtent;
1330     typedef NotImplemented IfcTextStyle; // (not currently used by Assimp)
1331     typedef NotImplemented IfcTextStyleFontModel; // (not currently used by Assimp)
1332     typedef NotImplemented IfcTextStyleForDefinedFont; // (not currently used by Assimp)
1333     typedef NotImplemented IfcTextStyleTextModel; // (not currently used by Assimp)
1334     typedef NotImplemented IfcTextStyleWithBoxCharacteristics; // (not currently used by Assimp)
1335     typedef NotImplemented IfcTextureCoordinate; // (not currently used by Assimp)
1336     typedef NotImplemented IfcTextureCoordinateGenerator; // (not currently used by Assimp)
1337     typedef NotImplemented IfcTextureMap; // (not currently used by Assimp)
1338     typedef NotImplemented IfcTextureVertex; // (not currently used by Assimp)
1339     typedef NotImplemented IfcThermalMaterialProperties; // (not currently used by Assimp)
1340     typedef NotImplemented IfcTimeSeriesReferenceRelationship; // (not currently used by Assimp)
1341     struct IfcTimeSeriesSchedule;
1342     typedef NotImplemented IfcTimeSeriesValue; // (not currently used by Assimp)
1343     struct IfcTopologyRepresentation;
1344     struct IfcTransformerType;
1345     struct IfcTransportElement;
1346     struct IfcTransportElementType;
1347     struct IfcTrapeziumProfileDef;
1348     struct IfcTrimmedCurve;
1349     struct IfcTubeBundleType;
1350     struct IfcTwoDirectionRepeatFactor;
1351     struct IfcUShapeProfileDef;
1352     struct IfcUnitAssignment;
1353     struct IfcUnitaryEquipmentType;
1354     struct IfcValveType;
1355     struct IfcVector;
1356     struct IfcVertex;
1357     typedef NotImplemented IfcVertexBasedTextureMap; // (not currently used by Assimp)
1358     struct IfcVertexLoop;
1359     struct IfcVertexPoint;
1360     struct IfcVibrationIsolatorType;
1361     struct IfcVirtualElement;
1362     typedef NotImplemented IfcVirtualGridIntersection; // (not currently used by Assimp)
1363     struct IfcWall;
1364     struct IfcWallStandardCase;
1365     struct IfcWallType;
1366     struct IfcWasteTerminalType;
1367     typedef NotImplemented IfcWaterProperties; // (not currently used by Assimp)
1368     struct IfcWindow;
1369     typedef NotImplemented IfcWindowLiningProperties; // (not currently used by Assimp)
1370     typedef NotImplemented IfcWindowPanelProperties; // (not currently used by Assimp)
1371     struct IfcWindowStyle;
1372     struct IfcWorkControl;
1373     struct IfcWorkPlan;
1374     struct IfcWorkSchedule;
1375     struct IfcZShapeProfileDef;
1376     struct IfcZone;
1377 
1378 
1379 
1380     // C++ wrapper for IfcRepresentationItem
IfcRepresentationItemIfcRepresentationItem1381     struct IfcRepresentationItem :  ObjectHelper<IfcRepresentationItem,0> { IfcRepresentationItem() : Object("IfcRepresentationItem") {}
1382 
1383     };
1384 
1385     // C++ wrapper for IfcGeometricRepresentationItem
IfcGeometricRepresentationItemIfcGeometricRepresentationItem1386     struct IfcGeometricRepresentationItem : IfcRepresentationItem, ObjectHelper<IfcGeometricRepresentationItem,0> { IfcGeometricRepresentationItem() : Object("IfcGeometricRepresentationItem") {}
1387 
1388     };
1389 
1390     // C++ wrapper for IfcCurve
IfcCurveIfcCurve1391     struct IfcCurve : IfcGeometricRepresentationItem, ObjectHelper<IfcCurve,0> { IfcCurve() : Object("IfcCurve") {}
1392 
1393     };
1394 
1395     // C++ wrapper for IfcBoundedCurve
IfcBoundedCurveIfcBoundedCurve1396     struct IfcBoundedCurve : IfcCurve, ObjectHelper<IfcBoundedCurve,0> { IfcBoundedCurve() : Object("IfcBoundedCurve") {}
1397 
1398     };
1399 
1400     // C++ wrapper for IfcCompositeCurve
IfcCompositeCurveIfcCompositeCurve1401     struct IfcCompositeCurve : IfcBoundedCurve, ObjectHelper<IfcCompositeCurve,2> { IfcCompositeCurve() : Object("IfcCompositeCurve") {}
1402         ListOf< Lazy< IfcCompositeCurveSegment >, 1, 0 > Segments;
1403         LOGICAL::Out SelfIntersect;
1404     };
1405 
1406     // C++ wrapper for Ifc2DCompositeCurve
Ifc2DCompositeCurveIfc2DCompositeCurve1407     struct Ifc2DCompositeCurve : IfcCompositeCurve, ObjectHelper<Ifc2DCompositeCurve,0> { Ifc2DCompositeCurve() : Object("Ifc2DCompositeCurve") {}
1408 
1409     };
1410 
1411     // C++ wrapper for IfcRoot
IfcRootIfcRoot1412     struct IfcRoot :  ObjectHelper<IfcRoot,4> { IfcRoot() : Object("IfcRoot") {}
1413         IfcGloballyUniqueId::Out GlobalId;
1414         Lazy< NotImplemented > OwnerHistory;
1415         Maybe< IfcLabel::Out > Name;
1416         Maybe< IfcText::Out > Description;
1417     };
1418 
1419     // C++ wrapper for IfcObjectDefinition
IfcObjectDefinitionIfcObjectDefinition1420     struct IfcObjectDefinition : IfcRoot, ObjectHelper<IfcObjectDefinition,0> { IfcObjectDefinition() : Object("IfcObjectDefinition") {}
1421 
1422     };
1423 
1424     // C++ wrapper for IfcObject
IfcObjectIfcObject1425     struct IfcObject : IfcObjectDefinition, ObjectHelper<IfcObject,1> { IfcObject() : Object("IfcObject") {}
1426         Maybe< IfcLabel::Out > ObjectType;
1427     };
1428 
1429     // C++ wrapper for IfcControl
IfcControlIfcControl1430     struct IfcControl : IfcObject, ObjectHelper<IfcControl,0> { IfcControl() : Object("IfcControl") {}
1431 
1432     };
1433 
1434     // C++ wrapper for IfcActionRequest
IfcActionRequestIfcActionRequest1435     struct IfcActionRequest : IfcControl, ObjectHelper<IfcActionRequest,1> { IfcActionRequest() : Object("IfcActionRequest") {}
1436         IfcIdentifier::Out RequestID;
1437     };
1438 
1439     // C++ wrapper for IfcActor
IfcActorIfcActor1440     struct IfcActor : IfcObject, ObjectHelper<IfcActor,1> { IfcActor() : Object("IfcActor") {}
1441         IfcActorSelect::Out TheActor;
1442     };
1443 
1444     // C++ wrapper for IfcTypeObject
IfcTypeObjectIfcTypeObject1445     struct IfcTypeObject : IfcObjectDefinition, ObjectHelper<IfcTypeObject,2> { IfcTypeObject() : Object("IfcTypeObject") {}
1446         Maybe< IfcLabel::Out > ApplicableOccurrence;
1447         Maybe< ListOf< Lazy< IfcPropertySetDefinition >, 1, 0 > > HasPropertySets;
1448     };
1449 
1450     // C++ wrapper for IfcTypeProduct
IfcTypeProductIfcTypeProduct1451     struct IfcTypeProduct : IfcTypeObject, ObjectHelper<IfcTypeProduct,2> { IfcTypeProduct() : Object("IfcTypeProduct") {}
1452         Maybe< ListOf< Lazy< IfcRepresentationMap >, 1, 0 > > RepresentationMaps;
1453         Maybe< IfcLabel::Out > Tag;
1454     };
1455 
1456     // C++ wrapper for IfcElementType
IfcElementTypeIfcElementType1457     struct IfcElementType : IfcTypeProduct, ObjectHelper<IfcElementType,1> { IfcElementType() : Object("IfcElementType") {}
1458         Maybe< IfcLabel::Out > ElementType;
1459     };
1460 
1461     // C++ wrapper for IfcDistributionElementType
IfcDistributionElementTypeIfcDistributionElementType1462     struct IfcDistributionElementType : IfcElementType, ObjectHelper<IfcDistributionElementType,0> { IfcDistributionElementType() : Object("IfcDistributionElementType") {}
1463 
1464     };
1465 
1466     // C++ wrapper for IfcDistributionControlElementType
IfcDistributionControlElementTypeIfcDistributionControlElementType1467     struct IfcDistributionControlElementType : IfcDistributionElementType, ObjectHelper<IfcDistributionControlElementType,0> { IfcDistributionControlElementType() : Object("IfcDistributionControlElementType") {}
1468 
1469     };
1470 
1471     // C++ wrapper for IfcActuatorType
IfcActuatorTypeIfcActuatorType1472     struct IfcActuatorType : IfcDistributionControlElementType, ObjectHelper<IfcActuatorType,1> { IfcActuatorType() : Object("IfcActuatorType") {}
1473         IfcActuatorTypeEnum::Out PredefinedType;
1474     };
1475 
1476     // C++ wrapper for IfcDistributionFlowElementType
IfcDistributionFlowElementTypeIfcDistributionFlowElementType1477     struct IfcDistributionFlowElementType : IfcDistributionElementType, ObjectHelper<IfcDistributionFlowElementType,0> { IfcDistributionFlowElementType() : Object("IfcDistributionFlowElementType") {}
1478 
1479     };
1480 
1481     // C++ wrapper for IfcFlowControllerType
IfcFlowControllerTypeIfcFlowControllerType1482     struct IfcFlowControllerType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowControllerType,0> { IfcFlowControllerType() : Object("IfcFlowControllerType") {}
1483 
1484     };
1485 
1486     // C++ wrapper for IfcAirTerminalBoxType
IfcAirTerminalBoxTypeIfcAirTerminalBoxType1487     struct IfcAirTerminalBoxType : IfcFlowControllerType, ObjectHelper<IfcAirTerminalBoxType,1> { IfcAirTerminalBoxType() : Object("IfcAirTerminalBoxType") {}
1488         IfcAirTerminalBoxTypeEnum::Out PredefinedType;
1489     };
1490 
1491     // C++ wrapper for IfcFlowTerminalType
IfcFlowTerminalTypeIfcFlowTerminalType1492     struct IfcFlowTerminalType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowTerminalType,0> { IfcFlowTerminalType() : Object("IfcFlowTerminalType") {}
1493 
1494     };
1495 
1496     // C++ wrapper for IfcAirTerminalType
IfcAirTerminalTypeIfcAirTerminalType1497     struct IfcAirTerminalType : IfcFlowTerminalType, ObjectHelper<IfcAirTerminalType,1> { IfcAirTerminalType() : Object("IfcAirTerminalType") {}
1498         IfcAirTerminalTypeEnum::Out PredefinedType;
1499     };
1500 
1501     // C++ wrapper for IfcEnergyConversionDeviceType
IfcEnergyConversionDeviceTypeIfcEnergyConversionDeviceType1502     struct IfcEnergyConversionDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcEnergyConversionDeviceType,0> { IfcEnergyConversionDeviceType() : Object("IfcEnergyConversionDeviceType") {}
1503 
1504     };
1505 
1506     // C++ wrapper for IfcAirToAirHeatRecoveryType
IfcAirToAirHeatRecoveryTypeIfcAirToAirHeatRecoveryType1507     struct IfcAirToAirHeatRecoveryType : IfcEnergyConversionDeviceType, ObjectHelper<IfcAirToAirHeatRecoveryType,1> { IfcAirToAirHeatRecoveryType() : Object("IfcAirToAirHeatRecoveryType") {}
1508         IfcAirToAirHeatRecoveryTypeEnum::Out PredefinedType;
1509     };
1510 
1511     // C++ wrapper for IfcAlarmType
IfcAlarmTypeIfcAlarmType1512     struct IfcAlarmType : IfcDistributionControlElementType, ObjectHelper<IfcAlarmType,1> { IfcAlarmType() : Object("IfcAlarmType") {}
1513         IfcAlarmTypeEnum::Out PredefinedType;
1514     };
1515 
1516     // C++ wrapper for IfcDraughtingCallout
IfcDraughtingCalloutIfcDraughtingCallout1517     struct IfcDraughtingCallout : IfcGeometricRepresentationItem, ObjectHelper<IfcDraughtingCallout,1> { IfcDraughtingCallout() : Object("IfcDraughtingCallout") {}
1518         ListOf< IfcDraughtingCalloutElement, 1, 0 >::Out Contents;
1519     };
1520 
1521     // C++ wrapper for IfcDimensionCurveDirectedCallout
IfcDimensionCurveDirectedCalloutIfcDimensionCurveDirectedCallout1522     struct IfcDimensionCurveDirectedCallout : IfcDraughtingCallout, ObjectHelper<IfcDimensionCurveDirectedCallout,0> { IfcDimensionCurveDirectedCallout() : Object("IfcDimensionCurveDirectedCallout") {}
1523 
1524     };
1525 
1526     // C++ wrapper for IfcAngularDimension
IfcAngularDimensionIfcAngularDimension1527     struct IfcAngularDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcAngularDimension,0> { IfcAngularDimension() : Object("IfcAngularDimension") {}
1528 
1529     };
1530 
1531     // C++ wrapper for IfcProduct
IfcProductIfcProduct1532     struct IfcProduct : IfcObject, ObjectHelper<IfcProduct,2> { IfcProduct() : Object("IfcProduct") {}
1533         Maybe< Lazy< IfcObjectPlacement > > ObjectPlacement;
1534         Maybe< Lazy< IfcProductRepresentation > > Representation;
1535     };
1536 
1537     // C++ wrapper for IfcAnnotation
IfcAnnotationIfcAnnotation1538     struct IfcAnnotation : IfcProduct, ObjectHelper<IfcAnnotation,0> { IfcAnnotation() : Object("IfcAnnotation") {}
1539 
1540     };
1541 
1542     // C++ wrapper for IfcStyledItem
IfcStyledItemIfcStyledItem1543     struct IfcStyledItem : IfcRepresentationItem, ObjectHelper<IfcStyledItem,3> { IfcStyledItem() : Object("IfcStyledItem") {}
1544         Maybe< Lazy< IfcRepresentationItem > > Item;
1545         ListOf< Lazy< IfcPresentationStyleAssignment >, 1, 0 > Styles;
1546         Maybe< IfcLabel::Out > Name;
1547     };
1548 
1549     // C++ wrapper for IfcAnnotationOccurrence
IfcAnnotationOccurrenceIfcAnnotationOccurrence1550     struct IfcAnnotationOccurrence : IfcStyledItem, ObjectHelper<IfcAnnotationOccurrence,0> { IfcAnnotationOccurrence() : Object("IfcAnnotationOccurrence") {}
1551 
1552     };
1553 
1554     // C++ wrapper for IfcAnnotationCurveOccurrence
IfcAnnotationCurveOccurrenceIfcAnnotationCurveOccurrence1555     struct IfcAnnotationCurveOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationCurveOccurrence,0> { IfcAnnotationCurveOccurrence() : Object("IfcAnnotationCurveOccurrence") {}
1556 
1557     };
1558 
1559     // C++ wrapper for IfcAnnotationFillArea
IfcAnnotationFillAreaIfcAnnotationFillArea1560     struct IfcAnnotationFillArea : IfcGeometricRepresentationItem, ObjectHelper<IfcAnnotationFillArea,2> { IfcAnnotationFillArea() : Object("IfcAnnotationFillArea") {}
1561         Lazy< IfcCurve > OuterBoundary;
1562         Maybe< ListOf< Lazy< IfcCurve >, 1, 0 > > InnerBoundaries;
1563     };
1564 
1565     // C++ wrapper for IfcAnnotationFillAreaOccurrence
IfcAnnotationFillAreaOccurrenceIfcAnnotationFillAreaOccurrence1566     struct IfcAnnotationFillAreaOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationFillAreaOccurrence,2> { IfcAnnotationFillAreaOccurrence() : Object("IfcAnnotationFillAreaOccurrence") {}
1567         Maybe< Lazy< IfcPoint > > FillStyleTarget;
1568         Maybe< IfcGlobalOrLocalEnum::Out > GlobalOrLocal;
1569     };
1570 
1571     // C++ wrapper for IfcAnnotationSurface
IfcAnnotationSurfaceIfcAnnotationSurface1572     struct IfcAnnotationSurface : IfcGeometricRepresentationItem, ObjectHelper<IfcAnnotationSurface,2> { IfcAnnotationSurface() : Object("IfcAnnotationSurface") {}
1573         Lazy< IfcGeometricRepresentationItem > Item;
1574         Maybe< Lazy< NotImplemented > > TextureCoordinates;
1575     };
1576 
1577     // C++ wrapper for IfcAnnotationSurfaceOccurrence
IfcAnnotationSurfaceOccurrenceIfcAnnotationSurfaceOccurrence1578     struct IfcAnnotationSurfaceOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationSurfaceOccurrence,0> { IfcAnnotationSurfaceOccurrence() : Object("IfcAnnotationSurfaceOccurrence") {}
1579 
1580     };
1581 
1582     // C++ wrapper for IfcAnnotationSymbolOccurrence
IfcAnnotationSymbolOccurrenceIfcAnnotationSymbolOccurrence1583     struct IfcAnnotationSymbolOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationSymbolOccurrence,0> { IfcAnnotationSymbolOccurrence() : Object("IfcAnnotationSymbolOccurrence") {}
1584 
1585     };
1586 
1587     // C++ wrapper for IfcAnnotationTextOccurrence
IfcAnnotationTextOccurrenceIfcAnnotationTextOccurrence1588     struct IfcAnnotationTextOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationTextOccurrence,0> { IfcAnnotationTextOccurrence() : Object("IfcAnnotationTextOccurrence") {}
1589 
1590     };
1591 
1592     // C++ wrapper for IfcProfileDef
IfcProfileDefIfcProfileDef1593     struct IfcProfileDef :  ObjectHelper<IfcProfileDef,2> { IfcProfileDef() : Object("IfcProfileDef") {}
1594         IfcProfileTypeEnum::Out ProfileType;
1595         Maybe< IfcLabel::Out > ProfileName;
1596     };
1597 
1598     // C++ wrapper for IfcArbitraryClosedProfileDef
IfcArbitraryClosedProfileDefIfcArbitraryClosedProfileDef1599     struct IfcArbitraryClosedProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryClosedProfileDef,1> { IfcArbitraryClosedProfileDef() : Object("IfcArbitraryClosedProfileDef") {}
1600         Lazy< IfcCurve > OuterCurve;
1601     };
1602 
1603     // C++ wrapper for IfcArbitraryOpenProfileDef
IfcArbitraryOpenProfileDefIfcArbitraryOpenProfileDef1604     struct IfcArbitraryOpenProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryOpenProfileDef,1> { IfcArbitraryOpenProfileDef() : Object("IfcArbitraryOpenProfileDef") {}
1605         Lazy< IfcBoundedCurve > Curve;
1606     };
1607 
1608     // C++ wrapper for IfcArbitraryProfileDefWithVoids
IfcArbitraryProfileDefWithVoidsIfcArbitraryProfileDefWithVoids1609     struct IfcArbitraryProfileDefWithVoids : IfcArbitraryClosedProfileDef, ObjectHelper<IfcArbitraryProfileDefWithVoids,1> { IfcArbitraryProfileDefWithVoids() : Object("IfcArbitraryProfileDefWithVoids") {}
1610         ListOf< Lazy< IfcCurve >, 1, 0 > InnerCurves;
1611     };
1612 
1613     // C++ wrapper for IfcGroup
IfcGroupIfcGroup1614     struct IfcGroup : IfcObject, ObjectHelper<IfcGroup,0> { IfcGroup() : Object("IfcGroup") {}
1615 
1616     };
1617 
1618     // C++ wrapper for IfcAsset
IfcAssetIfcAsset1619     struct IfcAsset : IfcGroup, ObjectHelper<IfcAsset,9> { IfcAsset() : Object("IfcAsset") {}
1620         IfcIdentifier::Out AssetID;
1621         Lazy< NotImplemented > OriginalValue;
1622         Lazy< NotImplemented > CurrentValue;
1623         Lazy< NotImplemented > TotalReplacementCost;
1624         IfcActorSelect::Out Owner;
1625         IfcActorSelect::Out User;
1626         Lazy< NotImplemented > ResponsiblePerson;
1627         Lazy< NotImplemented > IncorporationDate;
1628         Lazy< NotImplemented > DepreciatedValue;
1629     };
1630 
1631     // C++ wrapper for IfcParameterizedProfileDef
IfcParameterizedProfileDefIfcParameterizedProfileDef1632     struct IfcParameterizedProfileDef : IfcProfileDef, ObjectHelper<IfcParameterizedProfileDef,1> { IfcParameterizedProfileDef() : Object("IfcParameterizedProfileDef") {}
1633         Lazy< IfcAxis2Placement2D > Position;
1634     };
1635 
1636     // C++ wrapper for IfcIShapeProfileDef
IfcIShapeProfileDefIfcIShapeProfileDef1637     struct IfcIShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcIShapeProfileDef,5> { IfcIShapeProfileDef() : Object("IfcIShapeProfileDef") {}
1638         IfcPositiveLengthMeasure::Out OverallWidth;
1639         IfcPositiveLengthMeasure::Out OverallDepth;
1640         IfcPositiveLengthMeasure::Out WebThickness;
1641         IfcPositiveLengthMeasure::Out FlangeThickness;
1642         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
1643     };
1644 
1645     // C++ wrapper for IfcAsymmetricIShapeProfileDef
IfcAsymmetricIShapeProfileDefIfcAsymmetricIShapeProfileDef1646     struct IfcAsymmetricIShapeProfileDef : IfcIShapeProfileDef, ObjectHelper<IfcAsymmetricIShapeProfileDef,4> { IfcAsymmetricIShapeProfileDef() : Object("IfcAsymmetricIShapeProfileDef") {}
1647         IfcPositiveLengthMeasure::Out TopFlangeWidth;
1648         Maybe< IfcPositiveLengthMeasure::Out > TopFlangeThickness;
1649         Maybe< IfcPositiveLengthMeasure::Out > TopFlangeFilletRadius;
1650         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
1651     };
1652 
1653     // C++ wrapper for IfcPlacement
IfcPlacementIfcPlacement1654     struct IfcPlacement : IfcGeometricRepresentationItem, ObjectHelper<IfcPlacement,1> { IfcPlacement() : Object("IfcPlacement") {}
1655         Lazy< IfcCartesianPoint > Location;
1656     };
1657 
1658     // C++ wrapper for IfcAxis1Placement
IfcAxis1PlacementIfcAxis1Placement1659     struct IfcAxis1Placement : IfcPlacement, ObjectHelper<IfcAxis1Placement,1> { IfcAxis1Placement() : Object("IfcAxis1Placement") {}
1660         Maybe< Lazy< IfcDirection > > Axis;
1661     };
1662 
1663     // C++ wrapper for IfcAxis2Placement2D
IfcAxis2Placement2DIfcAxis2Placement2D1664     struct IfcAxis2Placement2D : IfcPlacement, ObjectHelper<IfcAxis2Placement2D,1> { IfcAxis2Placement2D() : Object("IfcAxis2Placement2D") {}
1665         Maybe< Lazy< IfcDirection > > RefDirection;
1666     };
1667 
1668     // C++ wrapper for IfcAxis2Placement3D
IfcAxis2Placement3DIfcAxis2Placement3D1669     struct IfcAxis2Placement3D : IfcPlacement, ObjectHelper<IfcAxis2Placement3D,2> { IfcAxis2Placement3D() : Object("IfcAxis2Placement3D") {}
1670         Maybe< Lazy< IfcDirection > > Axis;
1671         Maybe< Lazy< IfcDirection > > RefDirection;
1672     };
1673 
1674     // C++ wrapper for IfcBSplineCurve
IfcBSplineCurveIfcBSplineCurve1675     struct IfcBSplineCurve : IfcBoundedCurve, ObjectHelper<IfcBSplineCurve,5> { IfcBSplineCurve() : Object("IfcBSplineCurve") {}
1676         INTEGER::Out Degree;
1677         ListOf< Lazy< IfcCartesianPoint >, 2, 0 > ControlPointsList;
1678         IfcBSplineCurveForm::Out CurveForm;
1679         LOGICAL::Out ClosedCurve;
1680         LOGICAL::Out SelfIntersect;
1681     };
1682 
1683     // C++ wrapper for IfcElement
IfcElementIfcElement1684     struct IfcElement : IfcProduct, ObjectHelper<IfcElement,1> { IfcElement() : Object("IfcElement") {}
1685         Maybe< IfcIdentifier::Out > Tag;
1686     };
1687 
1688     // C++ wrapper for IfcBuildingElement
IfcBuildingElementIfcBuildingElement1689     struct IfcBuildingElement : IfcElement, ObjectHelper<IfcBuildingElement,0> { IfcBuildingElement() : Object("IfcBuildingElement") {}
1690 
1691     };
1692 
1693     // C++ wrapper for IfcBeam
IfcBeamIfcBeam1694     struct IfcBeam : IfcBuildingElement, ObjectHelper<IfcBeam,0> { IfcBeam() : Object("IfcBeam") {}
1695 
1696     };
1697 
1698     // C++ wrapper for IfcBuildingElementType
IfcBuildingElementTypeIfcBuildingElementType1699     struct IfcBuildingElementType : IfcElementType, ObjectHelper<IfcBuildingElementType,0> { IfcBuildingElementType() : Object("IfcBuildingElementType") {}
1700 
1701     };
1702 
1703     // C++ wrapper for IfcBeamType
IfcBeamTypeIfcBeamType1704     struct IfcBeamType : IfcBuildingElementType, ObjectHelper<IfcBeamType,1> { IfcBeamType() : Object("IfcBeamType") {}
1705         IfcBeamTypeEnum::Out PredefinedType;
1706     };
1707 
1708     // C++ wrapper for IfcBezierCurve
IfcBezierCurveIfcBezierCurve1709     struct IfcBezierCurve : IfcBSplineCurve, ObjectHelper<IfcBezierCurve,0> { IfcBezierCurve() : Object("IfcBezierCurve") {}
1710 
1711     };
1712 
1713     // C++ wrapper for IfcCsgPrimitive3D
IfcCsgPrimitive3DIfcCsgPrimitive3D1714     struct IfcCsgPrimitive3D : IfcGeometricRepresentationItem, ObjectHelper<IfcCsgPrimitive3D,1> { IfcCsgPrimitive3D() : Object("IfcCsgPrimitive3D") {}
1715         Lazy< IfcAxis2Placement3D > Position;
1716     };
1717 
1718     // C++ wrapper for IfcBlock
IfcBlockIfcBlock1719     struct IfcBlock : IfcCsgPrimitive3D, ObjectHelper<IfcBlock,3> { IfcBlock() : Object("IfcBlock") {}
1720         IfcPositiveLengthMeasure::Out XLength;
1721         IfcPositiveLengthMeasure::Out YLength;
1722         IfcPositiveLengthMeasure::Out ZLength;
1723     };
1724 
1725     // C++ wrapper for IfcBoilerType
IfcBoilerTypeIfcBoilerType1726     struct IfcBoilerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcBoilerType,1> { IfcBoilerType() : Object("IfcBoilerType") {}
1727         IfcBoilerTypeEnum::Out PredefinedType;
1728     };
1729 
1730     // C++ wrapper for IfcBooleanResult
IfcBooleanResultIfcBooleanResult1731     struct IfcBooleanResult : IfcGeometricRepresentationItem, ObjectHelper<IfcBooleanResult,3> { IfcBooleanResult() : Object("IfcBooleanResult") {}
1732         IfcBooleanOperator::Out Operator;
1733         IfcBooleanOperand::Out FirstOperand;
1734         IfcBooleanOperand::Out SecondOperand;
1735     };
1736 
1737     // C++ wrapper for IfcBooleanClippingResult
IfcBooleanClippingResultIfcBooleanClippingResult1738     struct IfcBooleanClippingResult : IfcBooleanResult, ObjectHelper<IfcBooleanClippingResult,0> { IfcBooleanClippingResult() : Object("IfcBooleanClippingResult") {}
1739 
1740     };
1741 
1742     // C++ wrapper for IfcSurface
IfcSurfaceIfcSurface1743     struct IfcSurface : IfcGeometricRepresentationItem, ObjectHelper<IfcSurface,0> { IfcSurface() : Object("IfcSurface") {}
1744 
1745     };
1746 
1747     // C++ wrapper for IfcBoundedSurface
IfcBoundedSurfaceIfcBoundedSurface1748     struct IfcBoundedSurface : IfcSurface, ObjectHelper<IfcBoundedSurface,0> { IfcBoundedSurface() : Object("IfcBoundedSurface") {}
1749 
1750     };
1751 
1752     // C++ wrapper for IfcBoundingBox
IfcBoundingBoxIfcBoundingBox1753     struct IfcBoundingBox : IfcGeometricRepresentationItem, ObjectHelper<IfcBoundingBox,4> { IfcBoundingBox() : Object("IfcBoundingBox") {}
1754         Lazy< IfcCartesianPoint > Corner;
1755         IfcPositiveLengthMeasure::Out XDim;
1756         IfcPositiveLengthMeasure::Out YDim;
1757         IfcPositiveLengthMeasure::Out ZDim;
1758     };
1759 
1760     // C++ wrapper for IfcHalfSpaceSolid
IfcHalfSpaceSolidIfcHalfSpaceSolid1761     struct IfcHalfSpaceSolid : IfcGeometricRepresentationItem, ObjectHelper<IfcHalfSpaceSolid,2> { IfcHalfSpaceSolid() : Object("IfcHalfSpaceSolid") {}
1762         Lazy< IfcSurface > BaseSurface;
1763         BOOLEAN::Out AgreementFlag;
1764     };
1765 
1766     // C++ wrapper for IfcBoxedHalfSpace
IfcBoxedHalfSpaceIfcBoxedHalfSpace1767     struct IfcBoxedHalfSpace : IfcHalfSpaceSolid, ObjectHelper<IfcBoxedHalfSpace,1> { IfcBoxedHalfSpace() : Object("IfcBoxedHalfSpace") {}
1768         Lazy< IfcBoundingBox > Enclosure;
1769     };
1770 
1771     // C++ wrapper for IfcSpatialStructureElement
IfcSpatialStructureElementIfcSpatialStructureElement1772     struct IfcSpatialStructureElement : IfcProduct, ObjectHelper<IfcSpatialStructureElement,2> { IfcSpatialStructureElement() : Object("IfcSpatialStructureElement") {}
1773         Maybe< IfcLabel::Out > LongName;
1774         IfcElementCompositionEnum::Out CompositionType;
1775     };
1776 
1777     // C++ wrapper for IfcBuilding
IfcBuildingIfcBuilding1778     struct IfcBuilding : IfcSpatialStructureElement, ObjectHelper<IfcBuilding,3> { IfcBuilding() : Object("IfcBuilding") {}
1779         Maybe< IfcLengthMeasure::Out > ElevationOfRefHeight;
1780         Maybe< IfcLengthMeasure::Out > ElevationOfTerrain;
1781         Maybe< Lazy< NotImplemented > > BuildingAddress;
1782     };
1783 
1784     // C++ wrapper for IfcBuildingElementComponent
IfcBuildingElementComponentIfcBuildingElementComponent1785     struct IfcBuildingElementComponent : IfcBuildingElement, ObjectHelper<IfcBuildingElementComponent,0> { IfcBuildingElementComponent() : Object("IfcBuildingElementComponent") {}
1786 
1787     };
1788 
1789     // C++ wrapper for IfcBuildingElementPart
IfcBuildingElementPartIfcBuildingElementPart1790     struct IfcBuildingElementPart : IfcBuildingElementComponent, ObjectHelper<IfcBuildingElementPart,0> { IfcBuildingElementPart() : Object("IfcBuildingElementPart") {}
1791 
1792     };
1793 
1794     // C++ wrapper for IfcBuildingElementProxy
IfcBuildingElementProxyIfcBuildingElementProxy1795     struct IfcBuildingElementProxy : IfcBuildingElement, ObjectHelper<IfcBuildingElementProxy,1> { IfcBuildingElementProxy() : Object("IfcBuildingElementProxy") {}
1796         Maybe< IfcElementCompositionEnum::Out > CompositionType;
1797     };
1798 
1799     // C++ wrapper for IfcBuildingElementProxyType
IfcBuildingElementProxyTypeIfcBuildingElementProxyType1800     struct IfcBuildingElementProxyType : IfcBuildingElementType, ObjectHelper<IfcBuildingElementProxyType,1> { IfcBuildingElementProxyType() : Object("IfcBuildingElementProxyType") {}
1801         IfcBuildingElementProxyTypeEnum::Out PredefinedType;
1802     };
1803 
1804     // C++ wrapper for IfcBuildingStorey
IfcBuildingStoreyIfcBuildingStorey1805     struct IfcBuildingStorey : IfcSpatialStructureElement, ObjectHelper<IfcBuildingStorey,1> { IfcBuildingStorey() : Object("IfcBuildingStorey") {}
1806         Maybe< IfcLengthMeasure::Out > Elevation;
1807     };
1808 
1809     // C++ wrapper for IfcCShapeProfileDef
IfcCShapeProfileDefIfcCShapeProfileDef1810     struct IfcCShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCShapeProfileDef,6> { IfcCShapeProfileDef() : Object("IfcCShapeProfileDef") {}
1811         IfcPositiveLengthMeasure::Out Depth;
1812         IfcPositiveLengthMeasure::Out Width;
1813         IfcPositiveLengthMeasure::Out WallThickness;
1814         IfcPositiveLengthMeasure::Out Girth;
1815         Maybe< IfcPositiveLengthMeasure::Out > InternalFilletRadius;
1816         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
1817     };
1818 
1819     // C++ wrapper for IfcFlowFittingType
IfcFlowFittingTypeIfcFlowFittingType1820     struct IfcFlowFittingType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowFittingType,0> { IfcFlowFittingType() : Object("IfcFlowFittingType") {}
1821 
1822     };
1823 
1824     // C++ wrapper for IfcCableCarrierFittingType
IfcCableCarrierFittingTypeIfcCableCarrierFittingType1825     struct IfcCableCarrierFittingType : IfcFlowFittingType, ObjectHelper<IfcCableCarrierFittingType,1> { IfcCableCarrierFittingType() : Object("IfcCableCarrierFittingType") {}
1826         IfcCableCarrierFittingTypeEnum::Out PredefinedType;
1827     };
1828 
1829     // C++ wrapper for IfcFlowSegmentType
IfcFlowSegmentTypeIfcFlowSegmentType1830     struct IfcFlowSegmentType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowSegmentType,0> { IfcFlowSegmentType() : Object("IfcFlowSegmentType") {}
1831 
1832     };
1833 
1834     // C++ wrapper for IfcCableCarrierSegmentType
IfcCableCarrierSegmentTypeIfcCableCarrierSegmentType1835     struct IfcCableCarrierSegmentType : IfcFlowSegmentType, ObjectHelper<IfcCableCarrierSegmentType,1> { IfcCableCarrierSegmentType() : Object("IfcCableCarrierSegmentType") {}
1836         IfcCableCarrierSegmentTypeEnum::Out PredefinedType;
1837     };
1838 
1839     // C++ wrapper for IfcCableSegmentType
IfcCableSegmentTypeIfcCableSegmentType1840     struct IfcCableSegmentType : IfcFlowSegmentType, ObjectHelper<IfcCableSegmentType,1> { IfcCableSegmentType() : Object("IfcCableSegmentType") {}
1841         IfcCableSegmentTypeEnum::Out PredefinedType;
1842     };
1843 
1844     // C++ wrapper for IfcPoint
IfcPointIfcPoint1845     struct IfcPoint : IfcGeometricRepresentationItem, ObjectHelper<IfcPoint,0> { IfcPoint() : Object("IfcPoint") {}
1846 
1847     };
1848 
1849     // C++ wrapper for IfcCartesianPoint
IfcCartesianPointIfcCartesianPoint1850     struct IfcCartesianPoint : IfcPoint, ObjectHelper<IfcCartesianPoint,1> { IfcCartesianPoint() : Object("IfcCartesianPoint") {}
1851         ListOf< IfcLengthMeasure, 1, 3 >::Out Coordinates;
1852     };
1853 
1854     // C++ wrapper for IfcCartesianTransformationOperator
IfcCartesianTransformationOperatorIfcCartesianTransformationOperator1855     struct IfcCartesianTransformationOperator : IfcGeometricRepresentationItem, ObjectHelper<IfcCartesianTransformationOperator,4> { IfcCartesianTransformationOperator() : Object("IfcCartesianTransformationOperator") {}
1856         Maybe< Lazy< IfcDirection > > Axis1;
1857         Maybe< Lazy< IfcDirection > > Axis2;
1858         Lazy< IfcCartesianPoint > LocalOrigin;
1859         Maybe< REAL::Out > Scale;
1860     };
1861 
1862     // C++ wrapper for IfcCartesianTransformationOperator2D
IfcCartesianTransformationOperator2DIfcCartesianTransformationOperator2D1863     struct IfcCartesianTransformationOperator2D : IfcCartesianTransformationOperator, ObjectHelper<IfcCartesianTransformationOperator2D,0> { IfcCartesianTransformationOperator2D() : Object("IfcCartesianTransformationOperator2D") {}
1864 
1865     };
1866 
1867     // C++ wrapper for IfcCartesianTransformationOperator2DnonUniform
IfcCartesianTransformationOperator2DnonUniformIfcCartesianTransformationOperator2DnonUniform1868     struct IfcCartesianTransformationOperator2DnonUniform : IfcCartesianTransformationOperator2D, ObjectHelper<IfcCartesianTransformationOperator2DnonUniform,1> { IfcCartesianTransformationOperator2DnonUniform() : Object("IfcCartesianTransformationOperator2DnonUniform") {}
1869         Maybe< REAL::Out > Scale2;
1870     };
1871 
1872     // C++ wrapper for IfcCartesianTransformationOperator3D
IfcCartesianTransformationOperator3DIfcCartesianTransformationOperator3D1873     struct IfcCartesianTransformationOperator3D : IfcCartesianTransformationOperator, ObjectHelper<IfcCartesianTransformationOperator3D,1> { IfcCartesianTransformationOperator3D() : Object("IfcCartesianTransformationOperator3D") {}
1874         Maybe< Lazy< IfcDirection > > Axis3;
1875     };
1876 
1877     // C++ wrapper for IfcCartesianTransformationOperator3DnonUniform
IfcCartesianTransformationOperator3DnonUniformIfcCartesianTransformationOperator3DnonUniform1878     struct IfcCartesianTransformationOperator3DnonUniform : IfcCartesianTransformationOperator3D, ObjectHelper<IfcCartesianTransformationOperator3DnonUniform,2> { IfcCartesianTransformationOperator3DnonUniform() : Object("IfcCartesianTransformationOperator3DnonUniform") {}
1879         Maybe< REAL::Out > Scale2;
1880         Maybe< REAL::Out > Scale3;
1881     };
1882 
1883     // C++ wrapper for IfcCenterLineProfileDef
IfcCenterLineProfileDefIfcCenterLineProfileDef1884     struct IfcCenterLineProfileDef : IfcArbitraryOpenProfileDef, ObjectHelper<IfcCenterLineProfileDef,1> { IfcCenterLineProfileDef() : Object("IfcCenterLineProfileDef") {}
1885         IfcPositiveLengthMeasure::Out Thickness;
1886     };
1887 
1888     // C++ wrapper for IfcFeatureElement
IfcFeatureElementIfcFeatureElement1889     struct IfcFeatureElement : IfcElement, ObjectHelper<IfcFeatureElement,0> { IfcFeatureElement() : Object("IfcFeatureElement") {}
1890 
1891     };
1892 
1893     // C++ wrapper for IfcFeatureElementSubtraction
IfcFeatureElementSubtractionIfcFeatureElementSubtraction1894     struct IfcFeatureElementSubtraction : IfcFeatureElement, ObjectHelper<IfcFeatureElementSubtraction,0> { IfcFeatureElementSubtraction() : Object("IfcFeatureElementSubtraction") {}
1895 
1896     };
1897 
1898     // C++ wrapper for IfcEdgeFeature
IfcEdgeFeatureIfcEdgeFeature1899     struct IfcEdgeFeature : IfcFeatureElementSubtraction, ObjectHelper<IfcEdgeFeature,1> { IfcEdgeFeature() : Object("IfcEdgeFeature") {}
1900         Maybe< IfcPositiveLengthMeasure::Out > FeatureLength;
1901     };
1902 
1903     // C++ wrapper for IfcChamferEdgeFeature
IfcChamferEdgeFeatureIfcChamferEdgeFeature1904     struct IfcChamferEdgeFeature : IfcEdgeFeature, ObjectHelper<IfcChamferEdgeFeature,2> { IfcChamferEdgeFeature() : Object("IfcChamferEdgeFeature") {}
1905         Maybe< IfcPositiveLengthMeasure::Out > Width;
1906         Maybe< IfcPositiveLengthMeasure::Out > Height;
1907     };
1908 
1909     // C++ wrapper for IfcChillerType
IfcChillerTypeIfcChillerType1910     struct IfcChillerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcChillerType,1> { IfcChillerType() : Object("IfcChillerType") {}
1911         IfcChillerTypeEnum::Out PredefinedType;
1912     };
1913 
1914     // C++ wrapper for IfcConic
IfcConicIfcConic1915     struct IfcConic : IfcCurve, ObjectHelper<IfcConic,1> { IfcConic() : Object("IfcConic") {}
1916         IfcAxis2Placement::Out Position;
1917     };
1918 
1919     // C++ wrapper for IfcCircle
IfcCircleIfcCircle1920     struct IfcCircle : IfcConic, ObjectHelper<IfcCircle,1> { IfcCircle() : Object("IfcCircle") {}
1921         IfcPositiveLengthMeasure::Out Radius;
1922     };
1923 
1924     // C++ wrapper for IfcCircleProfileDef
IfcCircleProfileDefIfcCircleProfileDef1925     struct IfcCircleProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCircleProfileDef,1> { IfcCircleProfileDef() : Object("IfcCircleProfileDef") {}
1926         IfcPositiveLengthMeasure::Out Radius;
1927     };
1928 
1929     // C++ wrapper for IfcCircleHollowProfileDef
IfcCircleHollowProfileDefIfcCircleHollowProfileDef1930     struct IfcCircleHollowProfileDef : IfcCircleProfileDef, ObjectHelper<IfcCircleHollowProfileDef,1> { IfcCircleHollowProfileDef() : Object("IfcCircleHollowProfileDef") {}
1931         IfcPositiveLengthMeasure::Out WallThickness;
1932     };
1933 
1934     // C++ wrapper for IfcTopologicalRepresentationItem
IfcTopologicalRepresentationItemIfcTopologicalRepresentationItem1935     struct IfcTopologicalRepresentationItem : IfcRepresentationItem, ObjectHelper<IfcTopologicalRepresentationItem,0> { IfcTopologicalRepresentationItem() : Object("IfcTopologicalRepresentationItem") {}
1936 
1937     };
1938 
1939     // C++ wrapper for IfcConnectedFaceSet
IfcConnectedFaceSetIfcConnectedFaceSet1940     struct IfcConnectedFaceSet : IfcTopologicalRepresentationItem, ObjectHelper<IfcConnectedFaceSet,1> { IfcConnectedFaceSet() : Object("IfcConnectedFaceSet") {}
1941         ListOf< Lazy< IfcFace >, 1, 0 > CfsFaces;
1942     };
1943 
1944     // C++ wrapper for IfcClosedShell
IfcClosedShellIfcClosedShell1945     struct IfcClosedShell : IfcConnectedFaceSet, ObjectHelper<IfcClosedShell,0> { IfcClosedShell() : Object("IfcClosedShell") {}
1946 
1947     };
1948 
1949     // C++ wrapper for IfcCoilType
IfcCoilTypeIfcCoilType1950     struct IfcCoilType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCoilType,1> { IfcCoilType() : Object("IfcCoilType") {}
1951         IfcCoilTypeEnum::Out PredefinedType;
1952     };
1953 
1954     // C++ wrapper for IfcColourSpecification
IfcColourSpecificationIfcColourSpecification1955     struct IfcColourSpecification :  ObjectHelper<IfcColourSpecification,1> { IfcColourSpecification() : Object("IfcColourSpecification") {}
1956         Maybe< IfcLabel::Out > Name;
1957     };
1958 
1959     // C++ wrapper for IfcColourRgb
IfcColourRgbIfcColourRgb1960     struct IfcColourRgb : IfcColourSpecification, ObjectHelper<IfcColourRgb,3> { IfcColourRgb() : Object("IfcColourRgb") {}
1961         IfcNormalisedRatioMeasure::Out Red;
1962         IfcNormalisedRatioMeasure::Out Green;
1963         IfcNormalisedRatioMeasure::Out Blue;
1964     };
1965 
1966     // C++ wrapper for IfcColumn
IfcColumnIfcColumn1967     struct IfcColumn : IfcBuildingElement, ObjectHelper<IfcColumn,0> { IfcColumn() : Object("IfcColumn") {}
1968 
1969     };
1970 
1971     // C++ wrapper for IfcColumnType
IfcColumnTypeIfcColumnType1972     struct IfcColumnType : IfcBuildingElementType, ObjectHelper<IfcColumnType,1> { IfcColumnType() : Object("IfcColumnType") {}
1973         IfcColumnTypeEnum::Out PredefinedType;
1974     };
1975 
1976     // C++ wrapper for IfcProperty
IfcPropertyIfcProperty1977     struct IfcProperty :  ObjectHelper<IfcProperty,2> { IfcProperty() : Object("IfcProperty") {}
1978         IfcIdentifier::Out Name;
1979         Maybe< IfcText::Out > Description;
1980     };
1981 
1982     // C++ wrapper for IfcComplexProperty
IfcComplexPropertyIfcComplexProperty1983     struct IfcComplexProperty : IfcProperty, ObjectHelper<IfcComplexProperty,2> { IfcComplexProperty() : Object("IfcComplexProperty") {}
1984         IfcIdentifier::Out UsageName;
1985         ListOf< Lazy< IfcProperty >, 1, 0 > HasProperties;
1986     };
1987 
1988     // C++ wrapper for IfcCompositeCurveSegment
IfcCompositeCurveSegmentIfcCompositeCurveSegment1989     struct IfcCompositeCurveSegment : IfcGeometricRepresentationItem, ObjectHelper<IfcCompositeCurveSegment,3> { IfcCompositeCurveSegment() : Object("IfcCompositeCurveSegment") {}
1990         IfcTransitionCode::Out Transition;
1991         BOOLEAN::Out SameSense;
1992         Lazy< IfcCurve > ParentCurve;
1993     };
1994 
1995     // C++ wrapper for IfcCompositeProfileDef
IfcCompositeProfileDefIfcCompositeProfileDef1996     struct IfcCompositeProfileDef : IfcProfileDef, ObjectHelper<IfcCompositeProfileDef,2> { IfcCompositeProfileDef() : Object("IfcCompositeProfileDef") {}
1997         ListOf< Lazy< IfcProfileDef >, 2, 0 > Profiles;
1998         Maybe< IfcLabel::Out > Label;
1999     };
2000 
2001     // C++ wrapper for IfcFlowMovingDeviceType
IfcFlowMovingDeviceTypeIfcFlowMovingDeviceType2002     struct IfcFlowMovingDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowMovingDeviceType,0> { IfcFlowMovingDeviceType() : Object("IfcFlowMovingDeviceType") {}
2003 
2004     };
2005 
2006     // C++ wrapper for IfcCompressorType
IfcCompressorTypeIfcCompressorType2007     struct IfcCompressorType : IfcFlowMovingDeviceType, ObjectHelper<IfcCompressorType,1> { IfcCompressorType() : Object("IfcCompressorType") {}
2008         IfcCompressorTypeEnum::Out PredefinedType;
2009     };
2010 
2011     // C++ wrapper for IfcCondenserType
IfcCondenserTypeIfcCondenserType2012     struct IfcCondenserType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCondenserType,1> { IfcCondenserType() : Object("IfcCondenserType") {}
2013         IfcCondenserTypeEnum::Out PredefinedType;
2014     };
2015 
2016     // C++ wrapper for IfcCondition
IfcConditionIfcCondition2017     struct IfcCondition : IfcGroup, ObjectHelper<IfcCondition,0> { IfcCondition() : Object("IfcCondition") {}
2018 
2019     };
2020 
2021     // C++ wrapper for IfcConditionCriterion
IfcConditionCriterionIfcConditionCriterion2022     struct IfcConditionCriterion : IfcControl, ObjectHelper<IfcConditionCriterion,2> { IfcConditionCriterion() : Object("IfcConditionCriterion") {}
2023         IfcConditionCriterionSelect::Out Criterion;
2024         IfcDateTimeSelect::Out CriterionDateTime;
2025     };
2026 
2027     // C++ wrapper for IfcResource
IfcResourceIfcResource2028     struct IfcResource : IfcObject, ObjectHelper<IfcResource,0> { IfcResource() : Object("IfcResource") {}
2029 
2030     };
2031 
2032     // C++ wrapper for IfcConstructionResource
IfcConstructionResourceIfcConstructionResource2033     struct IfcConstructionResource : IfcResource, ObjectHelper<IfcConstructionResource,4> { IfcConstructionResource() : Object("IfcConstructionResource") {}
2034         Maybe< IfcIdentifier::Out > ResourceIdentifier;
2035         Maybe< IfcLabel::Out > ResourceGroup;
2036         Maybe< IfcResourceConsumptionEnum::Out > ResourceConsumption;
2037         Maybe< Lazy< IfcMeasureWithUnit > > BaseQuantity;
2038     };
2039 
2040     // C++ wrapper for IfcConstructionEquipmentResource
IfcConstructionEquipmentResourceIfcConstructionEquipmentResource2041     struct IfcConstructionEquipmentResource : IfcConstructionResource, ObjectHelper<IfcConstructionEquipmentResource,0> { IfcConstructionEquipmentResource() : Object("IfcConstructionEquipmentResource") {}
2042 
2043     };
2044 
2045     // C++ wrapper for IfcConstructionMaterialResource
IfcConstructionMaterialResourceIfcConstructionMaterialResource2046     struct IfcConstructionMaterialResource : IfcConstructionResource, ObjectHelper<IfcConstructionMaterialResource,2> { IfcConstructionMaterialResource() : Object("IfcConstructionMaterialResource") {}
2047         Maybe< ListOf< IfcActorSelect, 1, 0 >::Out > Suppliers;
2048         Maybe< IfcRatioMeasure::Out > UsageRatio;
2049     };
2050 
2051     // C++ wrapper for IfcConstructionProductResource
IfcConstructionProductResourceIfcConstructionProductResource2052     struct IfcConstructionProductResource : IfcConstructionResource, ObjectHelper<IfcConstructionProductResource,0> { IfcConstructionProductResource() : Object("IfcConstructionProductResource") {}
2053 
2054     };
2055 
2056     // C++ wrapper for IfcNamedUnit
IfcNamedUnitIfcNamedUnit2057     struct IfcNamedUnit :  ObjectHelper<IfcNamedUnit,2> { IfcNamedUnit() : Object("IfcNamedUnit") {}
2058         Lazy< NotImplemented > Dimensions;
2059         IfcUnitEnum::Out UnitType;
2060     };
2061 
2062     // C++ wrapper for IfcContextDependentUnit
IfcContextDependentUnitIfcContextDependentUnit2063     struct IfcContextDependentUnit : IfcNamedUnit, ObjectHelper<IfcContextDependentUnit,1> { IfcContextDependentUnit() : Object("IfcContextDependentUnit") {}
2064         IfcLabel::Out Name;
2065     };
2066 
2067     // C++ wrapper for IfcControllerType
IfcControllerTypeIfcControllerType2068     struct IfcControllerType : IfcDistributionControlElementType, ObjectHelper<IfcControllerType,1> { IfcControllerType() : Object("IfcControllerType") {}
2069         IfcControllerTypeEnum::Out PredefinedType;
2070     };
2071 
2072     // C++ wrapper for IfcConversionBasedUnit
IfcConversionBasedUnitIfcConversionBasedUnit2073     struct IfcConversionBasedUnit : IfcNamedUnit, ObjectHelper<IfcConversionBasedUnit,2> { IfcConversionBasedUnit() : Object("IfcConversionBasedUnit") {}
2074         IfcLabel::Out Name;
2075         Lazy< IfcMeasureWithUnit > ConversionFactor;
2076     };
2077 
2078     // C++ wrapper for IfcCooledBeamType
IfcCooledBeamTypeIfcCooledBeamType2079     struct IfcCooledBeamType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCooledBeamType,1> { IfcCooledBeamType() : Object("IfcCooledBeamType") {}
2080         IfcCooledBeamTypeEnum::Out PredefinedType;
2081     };
2082 
2083     // C++ wrapper for IfcCoolingTowerType
IfcCoolingTowerTypeIfcCoolingTowerType2084     struct IfcCoolingTowerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCoolingTowerType,1> { IfcCoolingTowerType() : Object("IfcCoolingTowerType") {}
2085         IfcCoolingTowerTypeEnum::Out PredefinedType;
2086     };
2087 
2088     // C++ wrapper for IfcCostItem
IfcCostItemIfcCostItem2089     struct IfcCostItem : IfcControl, ObjectHelper<IfcCostItem,0> { IfcCostItem() : Object("IfcCostItem") {}
2090 
2091     };
2092 
2093     // C++ wrapper for IfcCostSchedule
IfcCostScheduleIfcCostSchedule2094     struct IfcCostSchedule : IfcControl, ObjectHelper<IfcCostSchedule,8> { IfcCostSchedule() : Object("IfcCostSchedule") {}
2095         Maybe< IfcActorSelect::Out > SubmittedBy;
2096         Maybe< IfcActorSelect::Out > PreparedBy;
2097         Maybe< IfcDateTimeSelect::Out > SubmittedOn;
2098         Maybe< IfcLabel::Out > Status;
2099         Maybe< ListOf< IfcActorSelect, 1, 0 >::Out > TargetUsers;
2100         Maybe< IfcDateTimeSelect::Out > UpdateDate;
2101         IfcIdentifier::Out ID;
2102         IfcCostScheduleTypeEnum::Out PredefinedType;
2103     };
2104 
2105     // C++ wrapper for IfcCovering
IfcCoveringIfcCovering2106     struct IfcCovering : IfcBuildingElement, ObjectHelper<IfcCovering,1> { IfcCovering() : Object("IfcCovering") {}
2107         Maybe< IfcCoveringTypeEnum::Out > PredefinedType;
2108     };
2109 
2110     // C++ wrapper for IfcCoveringType
IfcCoveringTypeIfcCoveringType2111     struct IfcCoveringType : IfcBuildingElementType, ObjectHelper<IfcCoveringType,1> { IfcCoveringType() : Object("IfcCoveringType") {}
2112         IfcCoveringTypeEnum::Out PredefinedType;
2113     };
2114 
2115     // C++ wrapper for IfcCraneRailAShapeProfileDef
IfcCraneRailAShapeProfileDefIfcCraneRailAShapeProfileDef2116     struct IfcCraneRailAShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCraneRailAShapeProfileDef,12> { IfcCraneRailAShapeProfileDef() : Object("IfcCraneRailAShapeProfileDef") {}
2117         IfcPositiveLengthMeasure::Out OverallHeight;
2118         IfcPositiveLengthMeasure::Out BaseWidth2;
2119         Maybe< IfcPositiveLengthMeasure::Out > Radius;
2120         IfcPositiveLengthMeasure::Out HeadWidth;
2121         IfcPositiveLengthMeasure::Out HeadDepth2;
2122         IfcPositiveLengthMeasure::Out HeadDepth3;
2123         IfcPositiveLengthMeasure::Out WebThickness;
2124         IfcPositiveLengthMeasure::Out BaseWidth4;
2125         IfcPositiveLengthMeasure::Out BaseDepth1;
2126         IfcPositiveLengthMeasure::Out BaseDepth2;
2127         IfcPositiveLengthMeasure::Out BaseDepth3;
2128         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2129     };
2130 
2131     // C++ wrapper for IfcCraneRailFShapeProfileDef
IfcCraneRailFShapeProfileDefIfcCraneRailFShapeProfileDef2132     struct IfcCraneRailFShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCraneRailFShapeProfileDef,9> { IfcCraneRailFShapeProfileDef() : Object("IfcCraneRailFShapeProfileDef") {}
2133         IfcPositiveLengthMeasure::Out OverallHeight;
2134         IfcPositiveLengthMeasure::Out HeadWidth;
2135         Maybe< IfcPositiveLengthMeasure::Out > Radius;
2136         IfcPositiveLengthMeasure::Out HeadDepth2;
2137         IfcPositiveLengthMeasure::Out HeadDepth3;
2138         IfcPositiveLengthMeasure::Out WebThickness;
2139         IfcPositiveLengthMeasure::Out BaseDepth1;
2140         IfcPositiveLengthMeasure::Out BaseDepth2;
2141         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2142     };
2143 
2144     // C++ wrapper for IfcCrewResource
IfcCrewResourceIfcCrewResource2145     struct IfcCrewResource : IfcConstructionResource, ObjectHelper<IfcCrewResource,0> { IfcCrewResource() : Object("IfcCrewResource") {}
2146 
2147     };
2148 
2149     // C++ wrapper for IfcSolidModel
IfcSolidModelIfcSolidModel2150     struct IfcSolidModel : IfcGeometricRepresentationItem, ObjectHelper<IfcSolidModel,0> { IfcSolidModel() : Object("IfcSolidModel") {}
2151 
2152     };
2153 
2154     // C++ wrapper for IfcCsgSolid
IfcCsgSolidIfcCsgSolid2155     struct IfcCsgSolid : IfcSolidModel, ObjectHelper<IfcCsgSolid,1> { IfcCsgSolid() : Object("IfcCsgSolid") {}
2156         IfcCsgSelect::Out TreeRootExpression;
2157     };
2158 
2159     // C++ wrapper for IfcCurtainWall
IfcCurtainWallIfcCurtainWall2160     struct IfcCurtainWall : IfcBuildingElement, ObjectHelper<IfcCurtainWall,0> { IfcCurtainWall() : Object("IfcCurtainWall") {}
2161 
2162     };
2163 
2164     // C++ wrapper for IfcCurtainWallType
IfcCurtainWallTypeIfcCurtainWallType2165     struct IfcCurtainWallType : IfcBuildingElementType, ObjectHelper<IfcCurtainWallType,1> { IfcCurtainWallType() : Object("IfcCurtainWallType") {}
2166         IfcCurtainWallTypeEnum::Out PredefinedType;
2167     };
2168 
2169     // C++ wrapper for IfcCurveBoundedPlane
IfcCurveBoundedPlaneIfcCurveBoundedPlane2170     struct IfcCurveBoundedPlane : IfcBoundedSurface, ObjectHelper<IfcCurveBoundedPlane,3> { IfcCurveBoundedPlane() : Object("IfcCurveBoundedPlane") {}
2171         Lazy< IfcPlane > BasisSurface;
2172         Lazy< IfcCurve > OuterBoundary;
2173         ListOf< Lazy< IfcCurve >, 0, 0 > InnerBoundaries;
2174     };
2175 
2176     // C++ wrapper for IfcPresentationStyle
IfcPresentationStyleIfcPresentationStyle2177     struct IfcPresentationStyle :  ObjectHelper<IfcPresentationStyle,1> { IfcPresentationStyle() : Object("IfcPresentationStyle") {}
2178         Maybe< IfcLabel::Out > Name;
2179     };
2180 
2181     // C++ wrapper for IfcDamperType
IfcDamperTypeIfcDamperType2182     struct IfcDamperType : IfcFlowControllerType, ObjectHelper<IfcDamperType,1> { IfcDamperType() : Object("IfcDamperType") {}
2183         IfcDamperTypeEnum::Out PredefinedType;
2184     };
2185 
2186     // C++ wrapper for IfcDefinedSymbol
IfcDefinedSymbolIfcDefinedSymbol2187     struct IfcDefinedSymbol : IfcGeometricRepresentationItem, ObjectHelper<IfcDefinedSymbol,2> { IfcDefinedSymbol() : Object("IfcDefinedSymbol") {}
2188         IfcDefinedSymbolSelect::Out Definition;
2189         Lazy< IfcCartesianTransformationOperator2D > Target;
2190     };
2191 
2192     // C++ wrapper for IfcDerivedProfileDef
IfcDerivedProfileDefIfcDerivedProfileDef2193     struct IfcDerivedProfileDef : IfcProfileDef, ObjectHelper<IfcDerivedProfileDef,3> { IfcDerivedProfileDef() : Object("IfcDerivedProfileDef") {}
2194         Lazy< IfcProfileDef > ParentProfile;
2195         Lazy< IfcCartesianTransformationOperator2D > Operator;
2196         Maybe< IfcLabel::Out > Label;
2197     };
2198 
2199     // C++ wrapper for IfcDiameterDimension
IfcDiameterDimensionIfcDiameterDimension2200     struct IfcDiameterDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcDiameterDimension,0> { IfcDiameterDimension() : Object("IfcDiameterDimension") {}
2201 
2202     };
2203 
2204     // C++ wrapper for IfcDimensionCurve
IfcDimensionCurveIfcDimensionCurve2205     struct IfcDimensionCurve : IfcAnnotationCurveOccurrence, ObjectHelper<IfcDimensionCurve,0> { IfcDimensionCurve() : Object("IfcDimensionCurve") {}
2206 
2207     };
2208 
2209     // C++ wrapper for IfcTerminatorSymbol
IfcTerminatorSymbolIfcTerminatorSymbol2210     struct IfcTerminatorSymbol : IfcAnnotationSymbolOccurrence, ObjectHelper<IfcTerminatorSymbol,1> { IfcTerminatorSymbol() : Object("IfcTerminatorSymbol") {}
2211         Lazy< IfcAnnotationCurveOccurrence > AnnotatedCurve;
2212     };
2213 
2214     // C++ wrapper for IfcDimensionCurveTerminator
IfcDimensionCurveTerminatorIfcDimensionCurveTerminator2215     struct IfcDimensionCurveTerminator : IfcTerminatorSymbol, ObjectHelper<IfcDimensionCurveTerminator,1> { IfcDimensionCurveTerminator() : Object("IfcDimensionCurveTerminator") {}
2216         IfcDimensionExtentUsage::Out Role;
2217     };
2218 
2219     // C++ wrapper for IfcDirection
IfcDirectionIfcDirection2220     struct IfcDirection : IfcGeometricRepresentationItem, ObjectHelper<IfcDirection,1> { IfcDirection() : Object("IfcDirection") {}
2221         ListOf< REAL, 2, 3 >::Out DirectionRatios;
2222     };
2223 
2224     // C++ wrapper for IfcElementComponent
IfcElementComponentIfcElementComponent2225     struct IfcElementComponent : IfcElement, ObjectHelper<IfcElementComponent,0> { IfcElementComponent() : Object("IfcElementComponent") {}
2226 
2227     };
2228 
2229     // C++ wrapper for IfcDiscreteAccessory
IfcDiscreteAccessoryIfcDiscreteAccessory2230     struct IfcDiscreteAccessory : IfcElementComponent, ObjectHelper<IfcDiscreteAccessory,0> { IfcDiscreteAccessory() : Object("IfcDiscreteAccessory") {}
2231 
2232     };
2233 
2234     // C++ wrapper for IfcElementComponentType
IfcElementComponentTypeIfcElementComponentType2235     struct IfcElementComponentType : IfcElementType, ObjectHelper<IfcElementComponentType,0> { IfcElementComponentType() : Object("IfcElementComponentType") {}
2236 
2237     };
2238 
2239     // C++ wrapper for IfcDiscreteAccessoryType
IfcDiscreteAccessoryTypeIfcDiscreteAccessoryType2240     struct IfcDiscreteAccessoryType : IfcElementComponentType, ObjectHelper<IfcDiscreteAccessoryType,0> { IfcDiscreteAccessoryType() : Object("IfcDiscreteAccessoryType") {}
2241 
2242     };
2243 
2244     // C++ wrapper for IfcDistributionElement
IfcDistributionElementIfcDistributionElement2245     struct IfcDistributionElement : IfcElement, ObjectHelper<IfcDistributionElement,0> { IfcDistributionElement() : Object("IfcDistributionElement") {}
2246 
2247     };
2248 
2249     // C++ wrapper for IfcDistributionFlowElement
IfcDistributionFlowElementIfcDistributionFlowElement2250     struct IfcDistributionFlowElement : IfcDistributionElement, ObjectHelper<IfcDistributionFlowElement,0> { IfcDistributionFlowElement() : Object("IfcDistributionFlowElement") {}
2251 
2252     };
2253 
2254     // C++ wrapper for IfcDistributionChamberElement
IfcDistributionChamberElementIfcDistributionChamberElement2255     struct IfcDistributionChamberElement : IfcDistributionFlowElement, ObjectHelper<IfcDistributionChamberElement,0> { IfcDistributionChamberElement() : Object("IfcDistributionChamberElement") {}
2256 
2257     };
2258 
2259     // C++ wrapper for IfcDistributionChamberElementType
IfcDistributionChamberElementTypeIfcDistributionChamberElementType2260     struct IfcDistributionChamberElementType : IfcDistributionFlowElementType, ObjectHelper<IfcDistributionChamberElementType,1> { IfcDistributionChamberElementType() : Object("IfcDistributionChamberElementType") {}
2261         IfcDistributionChamberElementTypeEnum::Out PredefinedType;
2262     };
2263 
2264     // C++ wrapper for IfcDistributionControlElement
IfcDistributionControlElementIfcDistributionControlElement2265     struct IfcDistributionControlElement : IfcDistributionElement, ObjectHelper<IfcDistributionControlElement,1> { IfcDistributionControlElement() : Object("IfcDistributionControlElement") {}
2266         Maybe< IfcIdentifier::Out > ControlElementId;
2267     };
2268 
2269     // C++ wrapper for IfcPort
IfcPortIfcPort2270     struct IfcPort : IfcProduct, ObjectHelper<IfcPort,0> { IfcPort() : Object("IfcPort") {}
2271 
2272     };
2273 
2274     // C++ wrapper for IfcDistributionPort
IfcDistributionPortIfcDistributionPort2275     struct IfcDistributionPort : IfcPort, ObjectHelper<IfcDistributionPort,1> { IfcDistributionPort() : Object("IfcDistributionPort") {}
2276         Maybe< IfcFlowDirectionEnum::Out > FlowDirection;
2277     };
2278 
2279     // C++ wrapper for IfcDoor
IfcDoorIfcDoor2280     struct IfcDoor : IfcBuildingElement, ObjectHelper<IfcDoor,2> { IfcDoor() : Object("IfcDoor") {}
2281         Maybe< IfcPositiveLengthMeasure::Out > OverallHeight;
2282         Maybe< IfcPositiveLengthMeasure::Out > OverallWidth;
2283     };
2284 
2285     // C++ wrapper for IfcPropertyDefinition
IfcPropertyDefinitionIfcPropertyDefinition2286     struct IfcPropertyDefinition : IfcRoot, ObjectHelper<IfcPropertyDefinition,0> { IfcPropertyDefinition() : Object("IfcPropertyDefinition") {}
2287 
2288     };
2289 
2290     // C++ wrapper for IfcPropertySetDefinition
IfcPropertySetDefinitionIfcPropertySetDefinition2291     struct IfcPropertySetDefinition : IfcPropertyDefinition, ObjectHelper<IfcPropertySetDefinition,0> { IfcPropertySetDefinition() : Object("IfcPropertySetDefinition") {}
2292 
2293     };
2294 
2295     // C++ wrapper for IfcDoorStyle
IfcDoorStyleIfcDoorStyle2296     struct IfcDoorStyle : IfcTypeProduct, ObjectHelper<IfcDoorStyle,4> { IfcDoorStyle() : Object("IfcDoorStyle") {}
2297         IfcDoorStyleOperationEnum::Out OperationType;
2298         IfcDoorStyleConstructionEnum::Out ConstructionType;
2299         BOOLEAN::Out ParameterTakesPrecedence;
2300         BOOLEAN::Out Sizeable;
2301     };
2302 
2303     // C++ wrapper for IfcDuctFittingType
IfcDuctFittingTypeIfcDuctFittingType2304     struct IfcDuctFittingType : IfcFlowFittingType, ObjectHelper<IfcDuctFittingType,1> { IfcDuctFittingType() : Object("IfcDuctFittingType") {}
2305         IfcDuctFittingTypeEnum::Out PredefinedType;
2306     };
2307 
2308     // C++ wrapper for IfcDuctSegmentType
IfcDuctSegmentTypeIfcDuctSegmentType2309     struct IfcDuctSegmentType : IfcFlowSegmentType, ObjectHelper<IfcDuctSegmentType,1> { IfcDuctSegmentType() : Object("IfcDuctSegmentType") {}
2310         IfcDuctSegmentTypeEnum::Out PredefinedType;
2311     };
2312 
2313     // C++ wrapper for IfcFlowTreatmentDeviceType
IfcFlowTreatmentDeviceTypeIfcFlowTreatmentDeviceType2314     struct IfcFlowTreatmentDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowTreatmentDeviceType,0> { IfcFlowTreatmentDeviceType() : Object("IfcFlowTreatmentDeviceType") {}
2315 
2316     };
2317 
2318     // C++ wrapper for IfcDuctSilencerType
IfcDuctSilencerTypeIfcDuctSilencerType2319     struct IfcDuctSilencerType : IfcFlowTreatmentDeviceType, ObjectHelper<IfcDuctSilencerType,1> { IfcDuctSilencerType() : Object("IfcDuctSilencerType") {}
2320         IfcDuctSilencerTypeEnum::Out PredefinedType;
2321     };
2322 
2323     // C++ wrapper for IfcEdge
IfcEdgeIfcEdge2324     struct IfcEdge : IfcTopologicalRepresentationItem, ObjectHelper<IfcEdge,2> { IfcEdge() : Object("IfcEdge") {}
2325         Lazy< IfcVertex > EdgeStart;
2326         Lazy< IfcVertex > EdgeEnd;
2327     };
2328 
2329     // C++ wrapper for IfcEdgeCurve
IfcEdgeCurveIfcEdgeCurve2330     struct IfcEdgeCurve : IfcEdge, ObjectHelper<IfcEdgeCurve,2> { IfcEdgeCurve() : Object("IfcEdgeCurve") {}
2331         Lazy< IfcCurve > EdgeGeometry;
2332         BOOLEAN::Out SameSense;
2333     };
2334 
2335     // C++ wrapper for IfcLoop
IfcLoopIfcLoop2336     struct IfcLoop : IfcTopologicalRepresentationItem, ObjectHelper<IfcLoop,0> { IfcLoop() : Object("IfcLoop") {}
2337 
2338     };
2339 
2340     // C++ wrapper for IfcEdgeLoop
IfcEdgeLoopIfcEdgeLoop2341     struct IfcEdgeLoop : IfcLoop, ObjectHelper<IfcEdgeLoop,1> { IfcEdgeLoop() : Object("IfcEdgeLoop") {}
2342         ListOf< Lazy< IfcOrientedEdge >, 1, 0 > EdgeList;
2343     };
2344 
2345     // C++ wrapper for IfcElectricApplianceType
IfcElectricApplianceTypeIfcElectricApplianceType2346     struct IfcElectricApplianceType : IfcFlowTerminalType, ObjectHelper<IfcElectricApplianceType,1> { IfcElectricApplianceType() : Object("IfcElectricApplianceType") {}
2347         IfcElectricApplianceTypeEnum::Out PredefinedType;
2348     };
2349 
2350     // C++ wrapper for IfcFlowController
IfcFlowControllerIfcFlowController2351     struct IfcFlowController : IfcDistributionFlowElement, ObjectHelper<IfcFlowController,0> { IfcFlowController() : Object("IfcFlowController") {}
2352 
2353     };
2354 
2355     // C++ wrapper for IfcElectricDistributionPoint
IfcElectricDistributionPointIfcElectricDistributionPoint2356     struct IfcElectricDistributionPoint : IfcFlowController, ObjectHelper<IfcElectricDistributionPoint,2> { IfcElectricDistributionPoint() : Object("IfcElectricDistributionPoint") {}
2357         IfcElectricDistributionPointFunctionEnum::Out DistributionPointFunction;
2358         Maybe< IfcLabel::Out > UserDefinedFunction;
2359     };
2360 
2361     // C++ wrapper for IfcFlowStorageDeviceType
IfcFlowStorageDeviceTypeIfcFlowStorageDeviceType2362     struct IfcFlowStorageDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowStorageDeviceType,0> { IfcFlowStorageDeviceType() : Object("IfcFlowStorageDeviceType") {}
2363 
2364     };
2365 
2366     // C++ wrapper for IfcElectricFlowStorageDeviceType
IfcElectricFlowStorageDeviceTypeIfcElectricFlowStorageDeviceType2367     struct IfcElectricFlowStorageDeviceType : IfcFlowStorageDeviceType, ObjectHelper<IfcElectricFlowStorageDeviceType,1> { IfcElectricFlowStorageDeviceType() : Object("IfcElectricFlowStorageDeviceType") {}
2368         IfcElectricFlowStorageDeviceTypeEnum::Out PredefinedType;
2369     };
2370 
2371     // C++ wrapper for IfcElectricGeneratorType
IfcElectricGeneratorTypeIfcElectricGeneratorType2372     struct IfcElectricGeneratorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcElectricGeneratorType,1> { IfcElectricGeneratorType() : Object("IfcElectricGeneratorType") {}
2373         IfcElectricGeneratorTypeEnum::Out PredefinedType;
2374     };
2375 
2376     // C++ wrapper for IfcElectricHeaterType
IfcElectricHeaterTypeIfcElectricHeaterType2377     struct IfcElectricHeaterType : IfcFlowTerminalType, ObjectHelper<IfcElectricHeaterType,1> { IfcElectricHeaterType() : Object("IfcElectricHeaterType") {}
2378         IfcElectricHeaterTypeEnum::Out PredefinedType;
2379     };
2380 
2381     // C++ wrapper for IfcElectricMotorType
IfcElectricMotorTypeIfcElectricMotorType2382     struct IfcElectricMotorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcElectricMotorType,1> { IfcElectricMotorType() : Object("IfcElectricMotorType") {}
2383         IfcElectricMotorTypeEnum::Out PredefinedType;
2384     };
2385 
2386     // C++ wrapper for IfcElectricTimeControlType
IfcElectricTimeControlTypeIfcElectricTimeControlType2387     struct IfcElectricTimeControlType : IfcFlowControllerType, ObjectHelper<IfcElectricTimeControlType,1> { IfcElectricTimeControlType() : Object("IfcElectricTimeControlType") {}
2388         IfcElectricTimeControlTypeEnum::Out PredefinedType;
2389     };
2390 
2391     // C++ wrapper for IfcSystem
IfcSystemIfcSystem2392     struct IfcSystem : IfcGroup, ObjectHelper<IfcSystem,0> { IfcSystem() : Object("IfcSystem") {}
2393 
2394     };
2395 
2396     // C++ wrapper for IfcElectricalCircuit
IfcElectricalCircuitIfcElectricalCircuit2397     struct IfcElectricalCircuit : IfcSystem, ObjectHelper<IfcElectricalCircuit,0> { IfcElectricalCircuit() : Object("IfcElectricalCircuit") {}
2398 
2399     };
2400 
2401     // C++ wrapper for IfcElectricalElement
IfcElectricalElementIfcElectricalElement2402     struct IfcElectricalElement : IfcElement, ObjectHelper<IfcElectricalElement,0> { IfcElectricalElement() : Object("IfcElectricalElement") {}
2403 
2404     };
2405 
2406     // C++ wrapper for IfcElementAssembly
IfcElementAssemblyIfcElementAssembly2407     struct IfcElementAssembly : IfcElement, ObjectHelper<IfcElementAssembly,2> { IfcElementAssembly() : Object("IfcElementAssembly") {}
2408         Maybe< IfcAssemblyPlaceEnum::Out > AssemblyPlace;
2409         IfcElementAssemblyTypeEnum::Out PredefinedType;
2410     };
2411 
2412     // C++ wrapper for IfcElementQuantity
IfcElementQuantityIfcElementQuantity2413     struct IfcElementQuantity : IfcPropertySetDefinition, ObjectHelper<IfcElementQuantity,2> { IfcElementQuantity() : Object("IfcElementQuantity") {}
2414         Maybe< IfcLabel::Out > MethodOfMeasurement;
2415         ListOf< Lazy< NotImplemented >, 1, 0 > Quantities;
2416     };
2417 
2418     // C++ wrapper for IfcElementarySurface
IfcElementarySurfaceIfcElementarySurface2419     struct IfcElementarySurface : IfcSurface, ObjectHelper<IfcElementarySurface,1> { IfcElementarySurface() : Object("IfcElementarySurface") {}
2420         Lazy< IfcAxis2Placement3D > Position;
2421     };
2422 
2423     // C++ wrapper for IfcEllipse
IfcEllipseIfcEllipse2424     struct IfcEllipse : IfcConic, ObjectHelper<IfcEllipse,2> { IfcEllipse() : Object("IfcEllipse") {}
2425         IfcPositiveLengthMeasure::Out SemiAxis1;
2426         IfcPositiveLengthMeasure::Out SemiAxis2;
2427     };
2428 
2429     // C++ wrapper for IfcEllipseProfileDef
IfcEllipseProfileDefIfcEllipseProfileDef2430     struct IfcEllipseProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcEllipseProfileDef,2> { IfcEllipseProfileDef() : Object("IfcEllipseProfileDef") {}
2431         IfcPositiveLengthMeasure::Out SemiAxis1;
2432         IfcPositiveLengthMeasure::Out SemiAxis2;
2433     };
2434 
2435     // C++ wrapper for IfcEnergyConversionDevice
IfcEnergyConversionDeviceIfcEnergyConversionDevice2436     struct IfcEnergyConversionDevice : IfcDistributionFlowElement, ObjectHelper<IfcEnergyConversionDevice,0> { IfcEnergyConversionDevice() : Object("IfcEnergyConversionDevice") {}
2437 
2438     };
2439 
2440     // C++ wrapper for IfcEquipmentElement
IfcEquipmentElementIfcEquipmentElement2441     struct IfcEquipmentElement : IfcElement, ObjectHelper<IfcEquipmentElement,0> { IfcEquipmentElement() : Object("IfcEquipmentElement") {}
2442 
2443     };
2444 
2445     // C++ wrapper for IfcEquipmentStandard
IfcEquipmentStandardIfcEquipmentStandard2446     struct IfcEquipmentStandard : IfcControl, ObjectHelper<IfcEquipmentStandard,0> { IfcEquipmentStandard() : Object("IfcEquipmentStandard") {}
2447 
2448     };
2449 
2450     // C++ wrapper for IfcEvaporativeCoolerType
IfcEvaporativeCoolerTypeIfcEvaporativeCoolerType2451     struct IfcEvaporativeCoolerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcEvaporativeCoolerType,1> { IfcEvaporativeCoolerType() : Object("IfcEvaporativeCoolerType") {}
2452         IfcEvaporativeCoolerTypeEnum::Out PredefinedType;
2453     };
2454 
2455     // C++ wrapper for IfcEvaporatorType
IfcEvaporatorTypeIfcEvaporatorType2456     struct IfcEvaporatorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcEvaporatorType,1> { IfcEvaporatorType() : Object("IfcEvaporatorType") {}
2457         IfcEvaporatorTypeEnum::Out PredefinedType;
2458     };
2459 
2460     // C++ wrapper for IfcSweptAreaSolid
IfcSweptAreaSolidIfcSweptAreaSolid2461     struct IfcSweptAreaSolid : IfcSolidModel, ObjectHelper<IfcSweptAreaSolid,2> { IfcSweptAreaSolid() : Object("IfcSweptAreaSolid") {}
2462         Lazy< IfcProfileDef > SweptArea;
2463         Lazy< IfcAxis2Placement3D > Position;
2464     };
2465 
2466     // C++ wrapper for IfcExtrudedAreaSolid
IfcExtrudedAreaSolidIfcExtrudedAreaSolid2467     struct IfcExtrudedAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcExtrudedAreaSolid,2> { IfcExtrudedAreaSolid() : Object("IfcExtrudedAreaSolid") {}
2468         Lazy< IfcDirection > ExtrudedDirection;
2469         IfcPositiveLengthMeasure::Out Depth;
2470     };
2471 
2472     // C++ wrapper for IfcFace
IfcFaceIfcFace2473     struct IfcFace : IfcTopologicalRepresentationItem, ObjectHelper<IfcFace,1> { IfcFace() : Object("IfcFace") {}
2474         ListOf< Lazy< IfcFaceBound >, 1, 0 > Bounds;
2475     };
2476 
2477     // C++ wrapper for IfcFaceBasedSurfaceModel
IfcFaceBasedSurfaceModelIfcFaceBasedSurfaceModel2478     struct IfcFaceBasedSurfaceModel : IfcGeometricRepresentationItem, ObjectHelper<IfcFaceBasedSurfaceModel,1> { IfcFaceBasedSurfaceModel() : Object("IfcFaceBasedSurfaceModel") {}
2479         ListOf< Lazy< IfcConnectedFaceSet >, 1, 0 > FbsmFaces;
2480     };
2481 
2482     // C++ wrapper for IfcFaceBound
IfcFaceBoundIfcFaceBound2483     struct IfcFaceBound : IfcTopologicalRepresentationItem, ObjectHelper<IfcFaceBound,2> { IfcFaceBound() : Object("IfcFaceBound") {}
2484         Lazy< IfcLoop > Bound;
2485         BOOLEAN::Out Orientation;
2486     };
2487 
2488     // C++ wrapper for IfcFaceOuterBound
IfcFaceOuterBoundIfcFaceOuterBound2489     struct IfcFaceOuterBound : IfcFaceBound, ObjectHelper<IfcFaceOuterBound,0> { IfcFaceOuterBound() : Object("IfcFaceOuterBound") {}
2490 
2491     };
2492 
2493     // C++ wrapper for IfcFaceSurface
IfcFaceSurfaceIfcFaceSurface2494     struct IfcFaceSurface : IfcFace, ObjectHelper<IfcFaceSurface,2> { IfcFaceSurface() : Object("IfcFaceSurface") {}
2495         Lazy< IfcSurface > FaceSurface;
2496         BOOLEAN::Out SameSense;
2497     };
2498 
2499     // C++ wrapper for IfcManifoldSolidBrep
IfcManifoldSolidBrepIfcManifoldSolidBrep2500     struct IfcManifoldSolidBrep : IfcSolidModel, ObjectHelper<IfcManifoldSolidBrep,1> { IfcManifoldSolidBrep() : Object("IfcManifoldSolidBrep") {}
2501         Lazy< IfcClosedShell > Outer;
2502     };
2503 
2504     // C++ wrapper for IfcFacetedBrep
IfcFacetedBrepIfcFacetedBrep2505     struct IfcFacetedBrep : IfcManifoldSolidBrep, ObjectHelper<IfcFacetedBrep,0> { IfcFacetedBrep() : Object("IfcFacetedBrep") {}
2506 
2507     };
2508 
2509     // C++ wrapper for IfcFacetedBrepWithVoids
IfcFacetedBrepWithVoidsIfcFacetedBrepWithVoids2510     struct IfcFacetedBrepWithVoids : IfcManifoldSolidBrep, ObjectHelper<IfcFacetedBrepWithVoids,1> { IfcFacetedBrepWithVoids() : Object("IfcFacetedBrepWithVoids") {}
2511         ListOf< Lazy< IfcClosedShell >, 1, 0 > Voids;
2512     };
2513 
2514     // C++ wrapper for IfcFanType
IfcFanTypeIfcFanType2515     struct IfcFanType : IfcFlowMovingDeviceType, ObjectHelper<IfcFanType,1> { IfcFanType() : Object("IfcFanType") {}
2516         IfcFanTypeEnum::Out PredefinedType;
2517     };
2518 
2519     // C++ wrapper for IfcFastener
IfcFastenerIfcFastener2520     struct IfcFastener : IfcElementComponent, ObjectHelper<IfcFastener,0> { IfcFastener() : Object("IfcFastener") {}
2521 
2522     };
2523 
2524     // C++ wrapper for IfcFastenerType
IfcFastenerTypeIfcFastenerType2525     struct IfcFastenerType : IfcElementComponentType, ObjectHelper<IfcFastenerType,0> { IfcFastenerType() : Object("IfcFastenerType") {}
2526 
2527     };
2528 
2529     // C++ wrapper for IfcFeatureElementAddition
IfcFeatureElementAdditionIfcFeatureElementAddition2530     struct IfcFeatureElementAddition : IfcFeatureElement, ObjectHelper<IfcFeatureElementAddition,0> { IfcFeatureElementAddition() : Object("IfcFeatureElementAddition") {}
2531 
2532     };
2533 
2534     // C++ wrapper for IfcFillAreaStyleHatching
IfcFillAreaStyleHatchingIfcFillAreaStyleHatching2535     struct IfcFillAreaStyleHatching : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleHatching,5> { IfcFillAreaStyleHatching() : Object("IfcFillAreaStyleHatching") {}
2536         Lazy< NotImplemented > HatchLineAppearance;
2537         IfcHatchLineDistanceSelect::Out StartOfNextHatchLine;
2538         Maybe< Lazy< IfcCartesianPoint > > PointOfReferenceHatchLine;
2539         Maybe< Lazy< IfcCartesianPoint > > PatternStart;
2540         IfcPlaneAngleMeasure::Out HatchLineAngle;
2541     };
2542 
2543     // C++ wrapper for IfcFillAreaStyleTileSymbolWithStyle
IfcFillAreaStyleTileSymbolWithStyleIfcFillAreaStyleTileSymbolWithStyle2544     struct IfcFillAreaStyleTileSymbolWithStyle : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleTileSymbolWithStyle,1> { IfcFillAreaStyleTileSymbolWithStyle() : Object("IfcFillAreaStyleTileSymbolWithStyle") {}
2545         Lazy< IfcAnnotationSymbolOccurrence > Symbol;
2546     };
2547 
2548     // C++ wrapper for IfcFillAreaStyleTiles
IfcFillAreaStyleTilesIfcFillAreaStyleTiles2549     struct IfcFillAreaStyleTiles : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleTiles,3> { IfcFillAreaStyleTiles() : Object("IfcFillAreaStyleTiles") {}
2550         Lazy< IfcOneDirectionRepeatFactor > TilingPattern;
2551         ListOf< IfcFillAreaStyleTileShapeSelect, 1, 0 >::Out Tiles;
2552         IfcPositiveRatioMeasure::Out TilingScale;
2553     };
2554 
2555     // C++ wrapper for IfcFilterType
IfcFilterTypeIfcFilterType2556     struct IfcFilterType : IfcFlowTreatmentDeviceType, ObjectHelper<IfcFilterType,1> { IfcFilterType() : Object("IfcFilterType") {}
2557         IfcFilterTypeEnum::Out PredefinedType;
2558     };
2559 
2560     // C++ wrapper for IfcFireSuppressionTerminalType
IfcFireSuppressionTerminalTypeIfcFireSuppressionTerminalType2561     struct IfcFireSuppressionTerminalType : IfcFlowTerminalType, ObjectHelper<IfcFireSuppressionTerminalType,1> { IfcFireSuppressionTerminalType() : Object("IfcFireSuppressionTerminalType") {}
2562         IfcFireSuppressionTerminalTypeEnum::Out PredefinedType;
2563     };
2564 
2565     // C++ wrapper for IfcFlowFitting
IfcFlowFittingIfcFlowFitting2566     struct IfcFlowFitting : IfcDistributionFlowElement, ObjectHelper<IfcFlowFitting,0> { IfcFlowFitting() : Object("IfcFlowFitting") {}
2567 
2568     };
2569 
2570     // C++ wrapper for IfcFlowInstrumentType
IfcFlowInstrumentTypeIfcFlowInstrumentType2571     struct IfcFlowInstrumentType : IfcDistributionControlElementType, ObjectHelper<IfcFlowInstrumentType,1> { IfcFlowInstrumentType() : Object("IfcFlowInstrumentType") {}
2572         IfcFlowInstrumentTypeEnum::Out PredefinedType;
2573     };
2574 
2575     // C++ wrapper for IfcFlowMeterType
IfcFlowMeterTypeIfcFlowMeterType2576     struct IfcFlowMeterType : IfcFlowControllerType, ObjectHelper<IfcFlowMeterType,1> { IfcFlowMeterType() : Object("IfcFlowMeterType") {}
2577         IfcFlowMeterTypeEnum::Out PredefinedType;
2578     };
2579 
2580     // C++ wrapper for IfcFlowMovingDevice
IfcFlowMovingDeviceIfcFlowMovingDevice2581     struct IfcFlowMovingDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowMovingDevice,0> { IfcFlowMovingDevice() : Object("IfcFlowMovingDevice") {}
2582 
2583     };
2584 
2585     // C++ wrapper for IfcFlowSegment
IfcFlowSegmentIfcFlowSegment2586     struct IfcFlowSegment : IfcDistributionFlowElement, ObjectHelper<IfcFlowSegment,0> { IfcFlowSegment() : Object("IfcFlowSegment") {}
2587 
2588     };
2589 
2590     // C++ wrapper for IfcFlowStorageDevice
IfcFlowStorageDeviceIfcFlowStorageDevice2591     struct IfcFlowStorageDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowStorageDevice,0> { IfcFlowStorageDevice() : Object("IfcFlowStorageDevice") {}
2592 
2593     };
2594 
2595     // C++ wrapper for IfcFlowTerminal
IfcFlowTerminalIfcFlowTerminal2596     struct IfcFlowTerminal : IfcDistributionFlowElement, ObjectHelper<IfcFlowTerminal,0> { IfcFlowTerminal() : Object("IfcFlowTerminal") {}
2597 
2598     };
2599 
2600     // C++ wrapper for IfcFlowTreatmentDevice
IfcFlowTreatmentDeviceIfcFlowTreatmentDevice2601     struct IfcFlowTreatmentDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowTreatmentDevice,0> { IfcFlowTreatmentDevice() : Object("IfcFlowTreatmentDevice") {}
2602 
2603     };
2604 
2605     // C++ wrapper for IfcFooting
IfcFootingIfcFooting2606     struct IfcFooting : IfcBuildingElement, ObjectHelper<IfcFooting,1> { IfcFooting() : Object("IfcFooting") {}
2607         IfcFootingTypeEnum::Out PredefinedType;
2608     };
2609 
2610     // C++ wrapper for IfcFurnishingElement
IfcFurnishingElementIfcFurnishingElement2611     struct IfcFurnishingElement : IfcElement, ObjectHelper<IfcFurnishingElement,0> { IfcFurnishingElement() : Object("IfcFurnishingElement") {}
2612 
2613     };
2614 
2615     // C++ wrapper for IfcFurnishingElementType
IfcFurnishingElementTypeIfcFurnishingElementType2616     struct IfcFurnishingElementType : IfcElementType, ObjectHelper<IfcFurnishingElementType,0> { IfcFurnishingElementType() : Object("IfcFurnishingElementType") {}
2617 
2618     };
2619 
2620     // C++ wrapper for IfcFurnitureStandard
IfcFurnitureStandardIfcFurnitureStandard2621     struct IfcFurnitureStandard : IfcControl, ObjectHelper<IfcFurnitureStandard,0> { IfcFurnitureStandard() : Object("IfcFurnitureStandard") {}
2622 
2623     };
2624 
2625     // C++ wrapper for IfcFurnitureType
IfcFurnitureTypeIfcFurnitureType2626     struct IfcFurnitureType : IfcFurnishingElementType, ObjectHelper<IfcFurnitureType,1> { IfcFurnitureType() : Object("IfcFurnitureType") {}
2627         IfcAssemblyPlaceEnum::Out AssemblyPlace;
2628     };
2629 
2630     // C++ wrapper for IfcGasTerminalType
IfcGasTerminalTypeIfcGasTerminalType2631     struct IfcGasTerminalType : IfcFlowTerminalType, ObjectHelper<IfcGasTerminalType,1> { IfcGasTerminalType() : Object("IfcGasTerminalType") {}
2632         IfcGasTerminalTypeEnum::Out PredefinedType;
2633     };
2634 
2635     // C++ wrapper for IfcGeometricSet
IfcGeometricSetIfcGeometricSet2636     struct IfcGeometricSet : IfcGeometricRepresentationItem, ObjectHelper<IfcGeometricSet,1> { IfcGeometricSet() : Object("IfcGeometricSet") {}
2637         ListOf< IfcGeometricSetSelect, 1, 0 >::Out Elements;
2638     };
2639 
2640     // C++ wrapper for IfcGeometricCurveSet
IfcGeometricCurveSetIfcGeometricCurveSet2641     struct IfcGeometricCurveSet : IfcGeometricSet, ObjectHelper<IfcGeometricCurveSet,0> { IfcGeometricCurveSet() : Object("IfcGeometricCurveSet") {}
2642 
2643     };
2644 
2645     // C++ wrapper for IfcRepresentationContext
IfcRepresentationContextIfcRepresentationContext2646     struct IfcRepresentationContext :  ObjectHelper<IfcRepresentationContext,2> { IfcRepresentationContext() : Object("IfcRepresentationContext") {}
2647         Maybe< IfcLabel::Out > ContextIdentifier;
2648         Maybe< IfcLabel::Out > ContextType;
2649     };
2650 
2651     // C++ wrapper for IfcGeometricRepresentationContext
IfcGeometricRepresentationContextIfcGeometricRepresentationContext2652     struct IfcGeometricRepresentationContext : IfcRepresentationContext, ObjectHelper<IfcGeometricRepresentationContext,4> { IfcGeometricRepresentationContext() : Object("IfcGeometricRepresentationContext") {}
2653         IfcDimensionCount::Out CoordinateSpaceDimension;
2654         Maybe< REAL::Out > Precision;
2655         IfcAxis2Placement::Out WorldCoordinateSystem;
2656         Maybe< Lazy< IfcDirection > > TrueNorth;
2657     };
2658 
2659     // C++ wrapper for IfcGeometricRepresentationSubContext
IfcGeometricRepresentationSubContextIfcGeometricRepresentationSubContext2660     struct IfcGeometricRepresentationSubContext : IfcGeometricRepresentationContext, ObjectHelper<IfcGeometricRepresentationSubContext,4> { IfcGeometricRepresentationSubContext() : Object("IfcGeometricRepresentationSubContext") {}
2661         Lazy< IfcGeometricRepresentationContext > ParentContext;
2662         Maybe< IfcPositiveRatioMeasure::Out > TargetScale;
2663         IfcGeometricProjectionEnum::Out TargetView;
2664         Maybe< IfcLabel::Out > UserDefinedTargetView;
2665     };
2666 
2667     // C++ wrapper for IfcGrid
IfcGridIfcGrid2668     struct IfcGrid : IfcProduct, ObjectHelper<IfcGrid,3> { IfcGrid() : Object("IfcGrid") {}
2669         ListOf< Lazy< NotImplemented >, 1, 0 > UAxes;
2670         ListOf< Lazy< NotImplemented >, 1, 0 > VAxes;
2671         Maybe< ListOf< Lazy< NotImplemented >, 1, 0 > > WAxes;
2672     };
2673 
2674     // C++ wrapper for IfcObjectPlacement
IfcObjectPlacementIfcObjectPlacement2675     struct IfcObjectPlacement :  ObjectHelper<IfcObjectPlacement,0> { IfcObjectPlacement() : Object("IfcObjectPlacement") {}
2676 
2677     };
2678 
2679     // C++ wrapper for IfcGridPlacement
IfcGridPlacementIfcGridPlacement2680     struct IfcGridPlacement : IfcObjectPlacement, ObjectHelper<IfcGridPlacement,2> { IfcGridPlacement() : Object("IfcGridPlacement") {}
2681         Lazy< NotImplemented > PlacementLocation;
2682         Maybe< Lazy< NotImplemented > > PlacementRefDirection;
2683     };
2684 
2685     // C++ wrapper for IfcHeatExchangerType
IfcHeatExchangerTypeIfcHeatExchangerType2686     struct IfcHeatExchangerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcHeatExchangerType,1> { IfcHeatExchangerType() : Object("IfcHeatExchangerType") {}
2687         IfcHeatExchangerTypeEnum::Out PredefinedType;
2688     };
2689 
2690     // C++ wrapper for IfcHumidifierType
IfcHumidifierTypeIfcHumidifierType2691     struct IfcHumidifierType : IfcEnergyConversionDeviceType, ObjectHelper<IfcHumidifierType,1> { IfcHumidifierType() : Object("IfcHumidifierType") {}
2692         IfcHumidifierTypeEnum::Out PredefinedType;
2693     };
2694 
2695     // C++ wrapper for IfcInventory
IfcInventoryIfcInventory2696     struct IfcInventory : IfcGroup, ObjectHelper<IfcInventory,6> { IfcInventory() : Object("IfcInventory") {}
2697         IfcInventoryTypeEnum::Out InventoryType;
2698         IfcActorSelect::Out Jurisdiction;
2699         ListOf< Lazy< NotImplemented >, 1, 0 > ResponsiblePersons;
2700         Lazy< NotImplemented > LastUpdateDate;
2701         Maybe< Lazy< NotImplemented > > CurrentValue;
2702         Maybe< Lazy< NotImplemented > > OriginalValue;
2703     };
2704 
2705     // C++ wrapper for IfcJunctionBoxType
IfcJunctionBoxTypeIfcJunctionBoxType2706     struct IfcJunctionBoxType : IfcFlowFittingType, ObjectHelper<IfcJunctionBoxType,1> { IfcJunctionBoxType() : Object("IfcJunctionBoxType") {}
2707         IfcJunctionBoxTypeEnum::Out PredefinedType;
2708     };
2709 
2710     // C++ wrapper for IfcLShapeProfileDef
IfcLShapeProfileDefIfcLShapeProfileDef2711     struct IfcLShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcLShapeProfileDef,8> { IfcLShapeProfileDef() : Object("IfcLShapeProfileDef") {}
2712         IfcPositiveLengthMeasure::Out Depth;
2713         Maybe< IfcPositiveLengthMeasure::Out > Width;
2714         IfcPositiveLengthMeasure::Out Thickness;
2715         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
2716         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
2717         Maybe< IfcPlaneAngleMeasure::Out > LegSlope;
2718         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
2719         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
2720     };
2721 
2722     // C++ wrapper for IfcLaborResource
IfcLaborResourceIfcLaborResource2723     struct IfcLaborResource : IfcConstructionResource, ObjectHelper<IfcLaborResource,1> { IfcLaborResource() : Object("IfcLaborResource") {}
2724         Maybe< IfcText::Out > SkillSet;
2725     };
2726 
2727     // C++ wrapper for IfcLampType
IfcLampTypeIfcLampType2728     struct IfcLampType : IfcFlowTerminalType, ObjectHelper<IfcLampType,1> { IfcLampType() : Object("IfcLampType") {}
2729         IfcLampTypeEnum::Out PredefinedType;
2730     };
2731 
2732     // C++ wrapper for IfcLightFixtureType
IfcLightFixtureTypeIfcLightFixtureType2733     struct IfcLightFixtureType : IfcFlowTerminalType, ObjectHelper<IfcLightFixtureType,1> { IfcLightFixtureType() : Object("IfcLightFixtureType") {}
2734         IfcLightFixtureTypeEnum::Out PredefinedType;
2735     };
2736 
2737     // C++ wrapper for IfcLightSource
IfcLightSourceIfcLightSource2738     struct IfcLightSource : IfcGeometricRepresentationItem, ObjectHelper<IfcLightSource,4> { IfcLightSource() : Object("IfcLightSource") {}
2739         Maybe< IfcLabel::Out > Name;
2740         Lazy< IfcColourRgb > LightColour;
2741         Maybe< IfcNormalisedRatioMeasure::Out > AmbientIntensity;
2742         Maybe< IfcNormalisedRatioMeasure::Out > Intensity;
2743     };
2744 
2745     // C++ wrapper for IfcLightSourceAmbient
IfcLightSourceAmbientIfcLightSourceAmbient2746     struct IfcLightSourceAmbient : IfcLightSource, ObjectHelper<IfcLightSourceAmbient,0> { IfcLightSourceAmbient() : Object("IfcLightSourceAmbient") {}
2747 
2748     };
2749 
2750     // C++ wrapper for IfcLightSourceDirectional
IfcLightSourceDirectionalIfcLightSourceDirectional2751     struct IfcLightSourceDirectional : IfcLightSource, ObjectHelper<IfcLightSourceDirectional,1> { IfcLightSourceDirectional() : Object("IfcLightSourceDirectional") {}
2752         Lazy< IfcDirection > Orientation;
2753     };
2754 
2755     // C++ wrapper for IfcLightSourceGoniometric
IfcLightSourceGoniometricIfcLightSourceGoniometric2756     struct IfcLightSourceGoniometric : IfcLightSource, ObjectHelper<IfcLightSourceGoniometric,6> { IfcLightSourceGoniometric() : Object("IfcLightSourceGoniometric") {}
2757         Lazy< IfcAxis2Placement3D > Position;
2758         Maybe< Lazy< IfcColourRgb > > ColourAppearance;
2759         IfcThermodynamicTemperatureMeasure::Out ColourTemperature;
2760         IfcLuminousFluxMeasure::Out LuminousFlux;
2761         IfcLightEmissionSourceEnum::Out LightEmissionSource;
2762         IfcLightDistributionDataSourceSelect::Out LightDistributionDataSource;
2763     };
2764 
2765     // C++ wrapper for IfcLightSourcePositional
IfcLightSourcePositionalIfcLightSourcePositional2766     struct IfcLightSourcePositional : IfcLightSource, ObjectHelper<IfcLightSourcePositional,5> { IfcLightSourcePositional() : Object("IfcLightSourcePositional") {}
2767         Lazy< IfcCartesianPoint > Position;
2768         IfcPositiveLengthMeasure::Out Radius;
2769         IfcReal::Out ConstantAttenuation;
2770         IfcReal::Out DistanceAttenuation;
2771         IfcReal::Out QuadricAttenuation;
2772     };
2773 
2774     // C++ wrapper for IfcLightSourceSpot
IfcLightSourceSpotIfcLightSourceSpot2775     struct IfcLightSourceSpot : IfcLightSourcePositional, ObjectHelper<IfcLightSourceSpot,4> { IfcLightSourceSpot() : Object("IfcLightSourceSpot") {}
2776         Lazy< IfcDirection > Orientation;
2777         Maybe< IfcReal::Out > ConcentrationExponent;
2778         IfcPositivePlaneAngleMeasure::Out SpreadAngle;
2779         IfcPositivePlaneAngleMeasure::Out BeamWidthAngle;
2780     };
2781 
2782     // C++ wrapper for IfcLine
IfcLineIfcLine2783     struct IfcLine : IfcCurve, ObjectHelper<IfcLine,2> { IfcLine() : Object("IfcLine") {}
2784         Lazy< IfcCartesianPoint > Pnt;
2785         Lazy< IfcVector > Dir;
2786     };
2787 
2788     // C++ wrapper for IfcLinearDimension
IfcLinearDimensionIfcLinearDimension2789     struct IfcLinearDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcLinearDimension,0> { IfcLinearDimension() : Object("IfcLinearDimension") {}
2790 
2791     };
2792 
2793     // C++ wrapper for IfcLocalPlacement
IfcLocalPlacementIfcLocalPlacement2794     struct IfcLocalPlacement : IfcObjectPlacement, ObjectHelper<IfcLocalPlacement,2> { IfcLocalPlacement() : Object("IfcLocalPlacement") {}
2795         Maybe< Lazy< IfcObjectPlacement > > PlacementRelTo;
2796         IfcAxis2Placement::Out RelativePlacement;
2797     };
2798 
2799     // C++ wrapper for IfcMappedItem
IfcMappedItemIfcMappedItem2800     struct IfcMappedItem : IfcRepresentationItem, ObjectHelper<IfcMappedItem,2> { IfcMappedItem() : Object("IfcMappedItem") {}
2801         Lazy< IfcRepresentationMap > MappingSource;
2802         Lazy< IfcCartesianTransformationOperator > MappingTarget;
2803     };
2804 
2805     // C++ wrapper for IfcProductRepresentation
IfcProductRepresentationIfcProductRepresentation2806     struct IfcProductRepresentation :  ObjectHelper<IfcProductRepresentation,3> { IfcProductRepresentation() : Object("IfcProductRepresentation") {}
2807         Maybe< IfcLabel::Out > Name;
2808         Maybe< IfcText::Out > Description;
2809         ListOf< Lazy< IfcRepresentation >, 1, 0 > Representations;
2810     };
2811 
2812     // C++ wrapper for IfcMaterialDefinitionRepresentation
IfcMaterialDefinitionRepresentationIfcMaterialDefinitionRepresentation2813     struct IfcMaterialDefinitionRepresentation : IfcProductRepresentation, ObjectHelper<IfcMaterialDefinitionRepresentation,1> { IfcMaterialDefinitionRepresentation() : Object("IfcMaterialDefinitionRepresentation") {}
2814         Lazy< NotImplemented > RepresentedMaterial;
2815     };
2816 
2817     // C++ wrapper for IfcMeasureWithUnit
IfcMeasureWithUnitIfcMeasureWithUnit2818     struct IfcMeasureWithUnit :  ObjectHelper<IfcMeasureWithUnit,2> { IfcMeasureWithUnit() : Object("IfcMeasureWithUnit") {}
2819         IfcValue::Out ValueComponent;
2820         IfcUnit::Out UnitComponent;
2821     };
2822 
2823     // C++ wrapper for IfcMechanicalFastener
IfcMechanicalFastenerIfcMechanicalFastener2824     struct IfcMechanicalFastener : IfcFastener, ObjectHelper<IfcMechanicalFastener,2> { IfcMechanicalFastener() : Object("IfcMechanicalFastener") {}
2825         Maybe< IfcPositiveLengthMeasure::Out > NominalDiameter;
2826         Maybe< IfcPositiveLengthMeasure::Out > NominalLength;
2827     };
2828 
2829     // C++ wrapper for IfcMechanicalFastenerType
IfcMechanicalFastenerTypeIfcMechanicalFastenerType2830     struct IfcMechanicalFastenerType : IfcFastenerType, ObjectHelper<IfcMechanicalFastenerType,0> { IfcMechanicalFastenerType() : Object("IfcMechanicalFastenerType") {}
2831 
2832     };
2833 
2834     // C++ wrapper for IfcMember
IfcMemberIfcMember2835     struct IfcMember : IfcBuildingElement, ObjectHelper<IfcMember,0> { IfcMember() : Object("IfcMember") {}
2836 
2837     };
2838 
2839     // C++ wrapper for IfcMemberType
IfcMemberTypeIfcMemberType2840     struct IfcMemberType : IfcBuildingElementType, ObjectHelper<IfcMemberType,1> { IfcMemberType() : Object("IfcMemberType") {}
2841         IfcMemberTypeEnum::Out PredefinedType;
2842     };
2843 
2844     // C++ wrapper for IfcMotorConnectionType
IfcMotorConnectionTypeIfcMotorConnectionType2845     struct IfcMotorConnectionType : IfcEnergyConversionDeviceType, ObjectHelper<IfcMotorConnectionType,1> { IfcMotorConnectionType() : Object("IfcMotorConnectionType") {}
2846         IfcMotorConnectionTypeEnum::Out PredefinedType;
2847     };
2848 
2849     // C++ wrapper for IfcProcess
IfcProcessIfcProcess2850     struct IfcProcess : IfcObject, ObjectHelper<IfcProcess,0> { IfcProcess() : Object("IfcProcess") {}
2851 
2852     };
2853 
2854     // C++ wrapper for IfcTask
IfcTaskIfcTask2855     struct IfcTask : IfcProcess, ObjectHelper<IfcTask,5> { IfcTask() : Object("IfcTask") {}
2856         IfcIdentifier::Out TaskId;
2857         Maybe< IfcLabel::Out > Status;
2858         Maybe< IfcLabel::Out > WorkMethod;
2859         BOOLEAN::Out IsMilestone;
2860         Maybe< INTEGER::Out > Priority;
2861     };
2862 
2863     // C++ wrapper for IfcMove
IfcMoveIfcMove2864     struct IfcMove : IfcTask, ObjectHelper<IfcMove,3> { IfcMove() : Object("IfcMove") {}
2865         Lazy< IfcSpatialStructureElement > MoveFrom;
2866         Lazy< IfcSpatialStructureElement > MoveTo;
2867         Maybe< ListOf< IfcText, 1, 0 >::Out > PunchList;
2868     };
2869 
2870     // C++ wrapper for IfcOccupant
IfcOccupantIfcOccupant2871     struct IfcOccupant : IfcActor, ObjectHelper<IfcOccupant,1> { IfcOccupant() : Object("IfcOccupant") {}
2872         IfcOccupantTypeEnum::Out PredefinedType;
2873     };
2874 
2875     // C++ wrapper for IfcOffsetCurve2D
IfcOffsetCurve2DIfcOffsetCurve2D2876     struct IfcOffsetCurve2D : IfcCurve, ObjectHelper<IfcOffsetCurve2D,3> { IfcOffsetCurve2D() : Object("IfcOffsetCurve2D") {}
2877         Lazy< IfcCurve > BasisCurve;
2878         IfcLengthMeasure::Out Distance;
2879         LOGICAL::Out SelfIntersect;
2880     };
2881 
2882     // C++ wrapper for IfcOffsetCurve3D
IfcOffsetCurve3DIfcOffsetCurve3D2883     struct IfcOffsetCurve3D : IfcCurve, ObjectHelper<IfcOffsetCurve3D,4> { IfcOffsetCurve3D() : Object("IfcOffsetCurve3D") {}
2884         Lazy< IfcCurve > BasisCurve;
2885         IfcLengthMeasure::Out Distance;
2886         LOGICAL::Out SelfIntersect;
2887         Lazy< IfcDirection > RefDirection;
2888     };
2889 
2890     // C++ wrapper for IfcOneDirectionRepeatFactor
IfcOneDirectionRepeatFactorIfcOneDirectionRepeatFactor2891     struct IfcOneDirectionRepeatFactor : IfcGeometricRepresentationItem, ObjectHelper<IfcOneDirectionRepeatFactor,1> { IfcOneDirectionRepeatFactor() : Object("IfcOneDirectionRepeatFactor") {}
2892         Lazy< IfcVector > RepeatFactor;
2893     };
2894 
2895     // C++ wrapper for IfcOpenShell
IfcOpenShellIfcOpenShell2896     struct IfcOpenShell : IfcConnectedFaceSet, ObjectHelper<IfcOpenShell,0> { IfcOpenShell() : Object("IfcOpenShell") {}
2897 
2898     };
2899 
2900     // C++ wrapper for IfcOpeningElement
IfcOpeningElementIfcOpeningElement2901     struct IfcOpeningElement : IfcFeatureElementSubtraction, ObjectHelper<IfcOpeningElement,0> { IfcOpeningElement() : Object("IfcOpeningElement") {}
2902 
2903     };
2904 
2905     // C++ wrapper for IfcOrderAction
IfcOrderActionIfcOrderAction2906     struct IfcOrderAction : IfcTask, ObjectHelper<IfcOrderAction,1> { IfcOrderAction() : Object("IfcOrderAction") {}
2907         IfcIdentifier::Out ActionID;
2908     };
2909 
2910     // C++ wrapper for IfcOrientedEdge
IfcOrientedEdgeIfcOrientedEdge2911     struct IfcOrientedEdge : IfcEdge, ObjectHelper<IfcOrientedEdge,2> { IfcOrientedEdge() : Object("IfcOrientedEdge") {}
2912         Lazy< IfcEdge > EdgeElement;
2913         BOOLEAN::Out Orientation;
2914     };
2915 
2916     // C++ wrapper for IfcOutletType
IfcOutletTypeIfcOutletType2917     struct IfcOutletType : IfcFlowTerminalType, ObjectHelper<IfcOutletType,1> { IfcOutletType() : Object("IfcOutletType") {}
2918         IfcOutletTypeEnum::Out PredefinedType;
2919     };
2920 
2921     // C++ wrapper for IfcPath
IfcPathIfcPath2922     struct IfcPath : IfcTopologicalRepresentationItem, ObjectHelper<IfcPath,1> { IfcPath() : Object("IfcPath") {}
2923         ListOf< Lazy< IfcOrientedEdge >, 1, 0 > EdgeList;
2924     };
2925 
2926     // C++ wrapper for IfcPerformanceHistory
IfcPerformanceHistoryIfcPerformanceHistory2927     struct IfcPerformanceHistory : IfcControl, ObjectHelper<IfcPerformanceHistory,1> { IfcPerformanceHistory() : Object("IfcPerformanceHistory") {}
2928         IfcLabel::Out LifeCyclePhase;
2929     };
2930 
2931     // C++ wrapper for IfcPermit
IfcPermitIfcPermit2932     struct IfcPermit : IfcControl, ObjectHelper<IfcPermit,1> { IfcPermit() : Object("IfcPermit") {}
2933         IfcIdentifier::Out PermitID;
2934     };
2935 
2936     // C++ wrapper for IfcPile
IfcPileIfcPile2937     struct IfcPile : IfcBuildingElement, ObjectHelper<IfcPile,2> { IfcPile() : Object("IfcPile") {}
2938         IfcPileTypeEnum::Out PredefinedType;
2939         Maybe< IfcPileConstructionEnum::Out > ConstructionType;
2940     };
2941 
2942     // C++ wrapper for IfcPipeFittingType
IfcPipeFittingTypeIfcPipeFittingType2943     struct IfcPipeFittingType : IfcFlowFittingType, ObjectHelper<IfcPipeFittingType,1> { IfcPipeFittingType() : Object("IfcPipeFittingType") {}
2944         IfcPipeFittingTypeEnum::Out PredefinedType;
2945     };
2946 
2947     // C++ wrapper for IfcPipeSegmentType
IfcPipeSegmentTypeIfcPipeSegmentType2948     struct IfcPipeSegmentType : IfcFlowSegmentType, ObjectHelper<IfcPipeSegmentType,1> { IfcPipeSegmentType() : Object("IfcPipeSegmentType") {}
2949         IfcPipeSegmentTypeEnum::Out PredefinedType;
2950     };
2951 
2952     // C++ wrapper for IfcPlanarExtent
IfcPlanarExtentIfcPlanarExtent2953     struct IfcPlanarExtent : IfcGeometricRepresentationItem, ObjectHelper<IfcPlanarExtent,2> { IfcPlanarExtent() : Object("IfcPlanarExtent") {}
2954         IfcLengthMeasure::Out SizeInX;
2955         IfcLengthMeasure::Out SizeInY;
2956     };
2957 
2958     // C++ wrapper for IfcPlanarBox
IfcPlanarBoxIfcPlanarBox2959     struct IfcPlanarBox : IfcPlanarExtent, ObjectHelper<IfcPlanarBox,1> { IfcPlanarBox() : Object("IfcPlanarBox") {}
2960         IfcAxis2Placement::Out Placement;
2961     };
2962 
2963     // C++ wrapper for IfcPlane
IfcPlaneIfcPlane2964     struct IfcPlane : IfcElementarySurface, ObjectHelper<IfcPlane,0> { IfcPlane() : Object("IfcPlane") {}
2965 
2966     };
2967 
2968     // C++ wrapper for IfcPlate
IfcPlateIfcPlate2969     struct IfcPlate : IfcBuildingElement, ObjectHelper<IfcPlate,0> { IfcPlate() : Object("IfcPlate") {}
2970 
2971     };
2972 
2973     // C++ wrapper for IfcPlateType
IfcPlateTypeIfcPlateType2974     struct IfcPlateType : IfcBuildingElementType, ObjectHelper<IfcPlateType,1> { IfcPlateType() : Object("IfcPlateType") {}
2975         IfcPlateTypeEnum::Out PredefinedType;
2976     };
2977 
2978     // C++ wrapper for IfcPointOnCurve
IfcPointOnCurveIfcPointOnCurve2979     struct IfcPointOnCurve : IfcPoint, ObjectHelper<IfcPointOnCurve,2> { IfcPointOnCurve() : Object("IfcPointOnCurve") {}
2980         Lazy< IfcCurve > BasisCurve;
2981         IfcParameterValue::Out PointParameter;
2982     };
2983 
2984     // C++ wrapper for IfcPointOnSurface
IfcPointOnSurfaceIfcPointOnSurface2985     struct IfcPointOnSurface : IfcPoint, ObjectHelper<IfcPointOnSurface,3> { IfcPointOnSurface() : Object("IfcPointOnSurface") {}
2986         Lazy< IfcSurface > BasisSurface;
2987         IfcParameterValue::Out PointParameterU;
2988         IfcParameterValue::Out PointParameterV;
2989     };
2990 
2991     // C++ wrapper for IfcPolyLoop
IfcPolyLoopIfcPolyLoop2992     struct IfcPolyLoop : IfcLoop, ObjectHelper<IfcPolyLoop,1> { IfcPolyLoop() : Object("IfcPolyLoop") {}
2993         ListOf< Lazy< IfcCartesianPoint >, 3, 0 > Polygon;
2994     };
2995 
2996     // C++ wrapper for IfcPolygonalBoundedHalfSpace
IfcPolygonalBoundedHalfSpaceIfcPolygonalBoundedHalfSpace2997     struct IfcPolygonalBoundedHalfSpace : IfcHalfSpaceSolid, ObjectHelper<IfcPolygonalBoundedHalfSpace,2> { IfcPolygonalBoundedHalfSpace() : Object("IfcPolygonalBoundedHalfSpace") {}
2998         Lazy< IfcAxis2Placement3D > Position;
2999         Lazy< IfcBoundedCurve > PolygonalBoundary;
3000     };
3001 
3002     // C++ wrapper for IfcPolyline
IfcPolylineIfcPolyline3003     struct IfcPolyline : IfcBoundedCurve, ObjectHelper<IfcPolyline,1> { IfcPolyline() : Object("IfcPolyline") {}
3004         ListOf< Lazy< IfcCartesianPoint >, 2, 0 > Points;
3005     };
3006 
3007     // C++ wrapper for IfcPresentationStyleAssignment
IfcPresentationStyleAssignmentIfcPresentationStyleAssignment3008     struct IfcPresentationStyleAssignment :  ObjectHelper<IfcPresentationStyleAssignment,1> { IfcPresentationStyleAssignment() : Object("IfcPresentationStyleAssignment") {}
3009         ListOf< IfcPresentationStyleSelect, 1, 0 >::Out Styles;
3010     };
3011 
3012     // C++ wrapper for IfcProcedure
IfcProcedureIfcProcedure3013     struct IfcProcedure : IfcProcess, ObjectHelper<IfcProcedure,3> { IfcProcedure() : Object("IfcProcedure") {}
3014         IfcIdentifier::Out ProcedureID;
3015         IfcProcedureTypeEnum::Out ProcedureType;
3016         Maybe< IfcLabel::Out > UserDefinedProcedureType;
3017     };
3018 
3019     // C++ wrapper for IfcProductDefinitionShape
IfcProductDefinitionShapeIfcProductDefinitionShape3020     struct IfcProductDefinitionShape : IfcProductRepresentation, ObjectHelper<IfcProductDefinitionShape,0> { IfcProductDefinitionShape() : Object("IfcProductDefinitionShape") {}
3021 
3022     };
3023 
3024     // C++ wrapper for IfcProject
IfcProjectIfcProject3025     struct IfcProject : IfcObject, ObjectHelper<IfcProject,4> { IfcProject() : Object("IfcProject") {}
3026         Maybe< IfcLabel::Out > LongName;
3027         Maybe< IfcLabel::Out > Phase;
3028         ListOf< Lazy< IfcRepresentationContext >, 1, 0 > RepresentationContexts;
3029         Lazy< IfcUnitAssignment > UnitsInContext;
3030     };
3031 
3032     // C++ wrapper for IfcProjectOrder
IfcProjectOrderIfcProjectOrder3033     struct IfcProjectOrder : IfcControl, ObjectHelper<IfcProjectOrder,3> { IfcProjectOrder() : Object("IfcProjectOrder") {}
3034         IfcIdentifier::Out ID;
3035         IfcProjectOrderTypeEnum::Out PredefinedType;
3036         Maybe< IfcLabel::Out > Status;
3037     };
3038 
3039     // C++ wrapper for IfcProjectOrderRecord
IfcProjectOrderRecordIfcProjectOrderRecord3040     struct IfcProjectOrderRecord : IfcControl, ObjectHelper<IfcProjectOrderRecord,2> { IfcProjectOrderRecord() : Object("IfcProjectOrderRecord") {}
3041         ListOf< Lazy< NotImplemented >, 1, 0 > Records;
3042         IfcProjectOrderRecordTypeEnum::Out PredefinedType;
3043     };
3044 
3045     // C++ wrapper for IfcProjectionCurve
IfcProjectionCurveIfcProjectionCurve3046     struct IfcProjectionCurve : IfcAnnotationCurveOccurrence, ObjectHelper<IfcProjectionCurve,0> { IfcProjectionCurve() : Object("IfcProjectionCurve") {}
3047 
3048     };
3049 
3050     // C++ wrapper for IfcProjectionElement
IfcProjectionElementIfcProjectionElement3051     struct IfcProjectionElement : IfcFeatureElementAddition, ObjectHelper<IfcProjectionElement,0> { IfcProjectionElement() : Object("IfcProjectionElement") {}
3052 
3053     };
3054 
3055     // C++ wrapper for IfcSimpleProperty
IfcSimplePropertyIfcSimpleProperty3056     struct IfcSimpleProperty : IfcProperty, ObjectHelper<IfcSimpleProperty,0> { IfcSimpleProperty() : Object("IfcSimpleProperty") {}
3057 
3058     };
3059 
3060     // C++ wrapper for IfcPropertyBoundedValue
IfcPropertyBoundedValueIfcPropertyBoundedValue3061     struct IfcPropertyBoundedValue : IfcSimpleProperty, ObjectHelper<IfcPropertyBoundedValue,3> { IfcPropertyBoundedValue() : Object("IfcPropertyBoundedValue") {}
3062         Maybe< IfcValue::Out > UpperBoundValue;
3063         Maybe< IfcValue::Out > LowerBoundValue;
3064         Maybe< IfcUnit::Out > Unit;
3065     };
3066 
3067     // C++ wrapper for IfcPropertyEnumeratedValue
IfcPropertyEnumeratedValueIfcPropertyEnumeratedValue3068     struct IfcPropertyEnumeratedValue : IfcSimpleProperty, ObjectHelper<IfcPropertyEnumeratedValue,2> { IfcPropertyEnumeratedValue() : Object("IfcPropertyEnumeratedValue") {}
3069         ListOf< IfcValue, 1, 0 >::Out EnumerationValues;
3070         Maybe< Lazy< NotImplemented > > EnumerationReference;
3071     };
3072 
3073     // C++ wrapper for IfcPropertyListValue
IfcPropertyListValueIfcPropertyListValue3074     struct IfcPropertyListValue : IfcSimpleProperty, ObjectHelper<IfcPropertyListValue,2> { IfcPropertyListValue() : Object("IfcPropertyListValue") {}
3075         ListOf< IfcValue, 1, 0 >::Out ListValues;
3076         Maybe< IfcUnit::Out > Unit;
3077     };
3078 
3079     // C++ wrapper for IfcPropertyReferenceValue
IfcPropertyReferenceValueIfcPropertyReferenceValue3080     struct IfcPropertyReferenceValue : IfcSimpleProperty, ObjectHelper<IfcPropertyReferenceValue,2> { IfcPropertyReferenceValue() : Object("IfcPropertyReferenceValue") {}
3081         Maybe< IfcLabel::Out > UsageName;
3082         IfcObjectReferenceSelect::Out PropertyReference;
3083     };
3084 
3085     // C++ wrapper for IfcPropertySet
IfcPropertySetIfcPropertySet3086     struct IfcPropertySet : IfcPropertySetDefinition, ObjectHelper<IfcPropertySet,1> { IfcPropertySet() : Object("IfcPropertySet") {}
3087         ListOf< Lazy< IfcProperty >, 1, 0 > HasProperties;
3088     };
3089 
3090     // C++ wrapper for IfcPropertySingleValue
IfcPropertySingleValueIfcPropertySingleValue3091     struct IfcPropertySingleValue : IfcSimpleProperty, ObjectHelper<IfcPropertySingleValue,2> { IfcPropertySingleValue() : Object("IfcPropertySingleValue") {}
3092         Maybe< IfcValue::Out > NominalValue;
3093         Maybe< IfcUnit::Out > Unit;
3094     };
3095 
3096     // C++ wrapper for IfcPropertyTableValue
IfcPropertyTableValueIfcPropertyTableValue3097     struct IfcPropertyTableValue : IfcSimpleProperty, ObjectHelper<IfcPropertyTableValue,5> { IfcPropertyTableValue() : Object("IfcPropertyTableValue") {}
3098         ListOf< IfcValue, 1, 0 >::Out DefiningValues;
3099         ListOf< IfcValue, 1, 0 >::Out DefinedValues;
3100         Maybe< IfcText::Out > Expression;
3101         Maybe< IfcUnit::Out > DefiningUnit;
3102         Maybe< IfcUnit::Out > DefinedUnit;
3103     };
3104 
3105     // C++ wrapper for IfcProtectiveDeviceType
IfcProtectiveDeviceTypeIfcProtectiveDeviceType3106     struct IfcProtectiveDeviceType : IfcFlowControllerType, ObjectHelper<IfcProtectiveDeviceType,1> { IfcProtectiveDeviceType() : Object("IfcProtectiveDeviceType") {}
3107         IfcProtectiveDeviceTypeEnum::Out PredefinedType;
3108     };
3109 
3110     // C++ wrapper for IfcProxy
IfcProxyIfcProxy3111     struct IfcProxy : IfcProduct, ObjectHelper<IfcProxy,2> { IfcProxy() : Object("IfcProxy") {}
3112         IfcObjectTypeEnum::Out ProxyType;
3113         Maybe< IfcLabel::Out > Tag;
3114     };
3115 
3116     // C++ wrapper for IfcPumpType
IfcPumpTypeIfcPumpType3117     struct IfcPumpType : IfcFlowMovingDeviceType, ObjectHelper<IfcPumpType,1> { IfcPumpType() : Object("IfcPumpType") {}
3118         IfcPumpTypeEnum::Out PredefinedType;
3119     };
3120 
3121     // C++ wrapper for IfcRadiusDimension
IfcRadiusDimensionIfcRadiusDimension3122     struct IfcRadiusDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcRadiusDimension,0> { IfcRadiusDimension() : Object("IfcRadiusDimension") {}
3123 
3124     };
3125 
3126     // C++ wrapper for IfcRailing
IfcRailingIfcRailing3127     struct IfcRailing : IfcBuildingElement, ObjectHelper<IfcRailing,1> { IfcRailing() : Object("IfcRailing") {}
3128         Maybe< IfcRailingTypeEnum::Out > PredefinedType;
3129     };
3130 
3131     // C++ wrapper for IfcRailingType
IfcRailingTypeIfcRailingType3132     struct IfcRailingType : IfcBuildingElementType, ObjectHelper<IfcRailingType,1> { IfcRailingType() : Object("IfcRailingType") {}
3133         IfcRailingTypeEnum::Out PredefinedType;
3134     };
3135 
3136     // C++ wrapper for IfcRamp
IfcRampIfcRamp3137     struct IfcRamp : IfcBuildingElement, ObjectHelper<IfcRamp,1> { IfcRamp() : Object("IfcRamp") {}
3138         IfcRampTypeEnum::Out ShapeType;
3139     };
3140 
3141     // C++ wrapper for IfcRampFlight
IfcRampFlightIfcRampFlight3142     struct IfcRampFlight : IfcBuildingElement, ObjectHelper<IfcRampFlight,0> { IfcRampFlight() : Object("IfcRampFlight") {}
3143 
3144     };
3145 
3146     // C++ wrapper for IfcRampFlightType
IfcRampFlightTypeIfcRampFlightType3147     struct IfcRampFlightType : IfcBuildingElementType, ObjectHelper<IfcRampFlightType,1> { IfcRampFlightType() : Object("IfcRampFlightType") {}
3148         IfcRampFlightTypeEnum::Out PredefinedType;
3149     };
3150 
3151     // C++ wrapper for IfcRationalBezierCurve
IfcRationalBezierCurveIfcRationalBezierCurve3152     struct IfcRationalBezierCurve : IfcBezierCurve, ObjectHelper<IfcRationalBezierCurve,1> { IfcRationalBezierCurve() : Object("IfcRationalBezierCurve") {}
3153         ListOf< REAL, 2, 0 >::Out WeightsData;
3154     };
3155 
3156     // C++ wrapper for IfcRectangleProfileDef
IfcRectangleProfileDefIfcRectangleProfileDef3157     struct IfcRectangleProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcRectangleProfileDef,2> { IfcRectangleProfileDef() : Object("IfcRectangleProfileDef") {}
3158         IfcPositiveLengthMeasure::Out XDim;
3159         IfcPositiveLengthMeasure::Out YDim;
3160     };
3161 
3162     // C++ wrapper for IfcRectangleHollowProfileDef
IfcRectangleHollowProfileDefIfcRectangleHollowProfileDef3163     struct IfcRectangleHollowProfileDef : IfcRectangleProfileDef, ObjectHelper<IfcRectangleHollowProfileDef,3> { IfcRectangleHollowProfileDef() : Object("IfcRectangleHollowProfileDef") {}
3164         IfcPositiveLengthMeasure::Out WallThickness;
3165         Maybe< IfcPositiveLengthMeasure::Out > InnerFilletRadius;
3166         Maybe< IfcPositiveLengthMeasure::Out > OuterFilletRadius;
3167     };
3168 
3169     // C++ wrapper for IfcRectangularPyramid
IfcRectangularPyramidIfcRectangularPyramid3170     struct IfcRectangularPyramid : IfcCsgPrimitive3D, ObjectHelper<IfcRectangularPyramid,3> { IfcRectangularPyramid() : Object("IfcRectangularPyramid") {}
3171         IfcPositiveLengthMeasure::Out XLength;
3172         IfcPositiveLengthMeasure::Out YLength;
3173         IfcPositiveLengthMeasure::Out Height;
3174     };
3175 
3176     // C++ wrapper for IfcRectangularTrimmedSurface
IfcRectangularTrimmedSurfaceIfcRectangularTrimmedSurface3177     struct IfcRectangularTrimmedSurface : IfcBoundedSurface, ObjectHelper<IfcRectangularTrimmedSurface,7> { IfcRectangularTrimmedSurface() : Object("IfcRectangularTrimmedSurface") {}
3178         Lazy< IfcSurface > BasisSurface;
3179         IfcParameterValue::Out U1;
3180         IfcParameterValue::Out V1;
3181         IfcParameterValue::Out U2;
3182         IfcParameterValue::Out V2;
3183         BOOLEAN::Out Usense;
3184         BOOLEAN::Out Vsense;
3185     };
3186 
3187     // C++ wrapper for IfcReinforcingElement
IfcReinforcingElementIfcReinforcingElement3188     struct IfcReinforcingElement : IfcBuildingElementComponent, ObjectHelper<IfcReinforcingElement,1> { IfcReinforcingElement() : Object("IfcReinforcingElement") {}
3189         Maybe< IfcLabel::Out > SteelGrade;
3190     };
3191 
3192     // C++ wrapper for IfcReinforcingBar
IfcReinforcingBarIfcReinforcingBar3193     struct IfcReinforcingBar : IfcReinforcingElement, ObjectHelper<IfcReinforcingBar,5> { IfcReinforcingBar() : Object("IfcReinforcingBar") {}
3194         IfcPositiveLengthMeasure::Out NominalDiameter;
3195         IfcAreaMeasure::Out CrossSectionArea;
3196         Maybe< IfcPositiveLengthMeasure::Out > BarLength;
3197         IfcReinforcingBarRoleEnum::Out BarRole;
3198         Maybe< IfcReinforcingBarSurfaceEnum::Out > BarSurface;
3199     };
3200 
3201     // C++ wrapper for IfcReinforcingMesh
IfcReinforcingMeshIfcReinforcingMesh3202     struct IfcReinforcingMesh : IfcReinforcingElement, ObjectHelper<IfcReinforcingMesh,8> { IfcReinforcingMesh() : Object("IfcReinforcingMesh") {}
3203         Maybe< IfcPositiveLengthMeasure::Out > MeshLength;
3204         Maybe< IfcPositiveLengthMeasure::Out > MeshWidth;
3205         IfcPositiveLengthMeasure::Out LongitudinalBarNominalDiameter;
3206         IfcPositiveLengthMeasure::Out TransverseBarNominalDiameter;
3207         IfcAreaMeasure::Out LongitudinalBarCrossSectionArea;
3208         IfcAreaMeasure::Out TransverseBarCrossSectionArea;
3209         IfcPositiveLengthMeasure::Out LongitudinalBarSpacing;
3210         IfcPositiveLengthMeasure::Out TransverseBarSpacing;
3211     };
3212 
3213     // C++ wrapper for IfcRelationship
IfcRelationshipIfcRelationship3214     struct IfcRelationship : IfcRoot, ObjectHelper<IfcRelationship,0> { IfcRelationship() : Object("IfcRelationship") {}
3215 
3216     };
3217 
3218     // C++ wrapper for IfcRelDecomposes
IfcRelDecomposesIfcRelDecomposes3219     struct IfcRelDecomposes : IfcRelationship, ObjectHelper<IfcRelDecomposes,2> { IfcRelDecomposes() : Object("IfcRelDecomposes") {}
3220         Lazy< IfcObjectDefinition > RelatingObject;
3221         ListOf< Lazy< IfcObjectDefinition >, 1, 0 > RelatedObjects;
3222     };
3223 
3224     // C++ wrapper for IfcRelAggregates
IfcRelAggregatesIfcRelAggregates3225     struct IfcRelAggregates : IfcRelDecomposes, ObjectHelper<IfcRelAggregates,0> { IfcRelAggregates() : Object("IfcRelAggregates") {}
3226 
3227     };
3228 
3229     // C++ wrapper for IfcRelConnects
IfcRelConnectsIfcRelConnects3230     struct IfcRelConnects : IfcRelationship, ObjectHelper<IfcRelConnects,0> { IfcRelConnects() : Object("IfcRelConnects") {}
3231 
3232     };
3233 
3234     // C++ wrapper for IfcRelContainedInSpatialStructure
IfcRelContainedInSpatialStructureIfcRelContainedInSpatialStructure3235     struct IfcRelContainedInSpatialStructure : IfcRelConnects, ObjectHelper<IfcRelContainedInSpatialStructure,2> { IfcRelContainedInSpatialStructure() : Object("IfcRelContainedInSpatialStructure") {}
3236         ListOf< Lazy< IfcProduct >, 1, 0 > RelatedElements;
3237         Lazy< IfcSpatialStructureElement > RelatingStructure;
3238     };
3239 
3240     // C++ wrapper for IfcRelDefines
IfcRelDefinesIfcRelDefines3241     struct IfcRelDefines : IfcRelationship, ObjectHelper<IfcRelDefines,1> { IfcRelDefines() : Object("IfcRelDefines") {}
3242         ListOf< Lazy< IfcObject >, 1, 0 > RelatedObjects;
3243     };
3244 
3245     // C++ wrapper for IfcRelDefinesByProperties
IfcRelDefinesByPropertiesIfcRelDefinesByProperties3246     struct IfcRelDefinesByProperties : IfcRelDefines, ObjectHelper<IfcRelDefinesByProperties,1> { IfcRelDefinesByProperties() : Object("IfcRelDefinesByProperties") {}
3247         Lazy< IfcPropertySetDefinition > RelatingPropertyDefinition;
3248     };
3249 
3250     // C++ wrapper for IfcRelFillsElement
IfcRelFillsElementIfcRelFillsElement3251     struct IfcRelFillsElement : IfcRelConnects, ObjectHelper<IfcRelFillsElement,2> { IfcRelFillsElement() : Object("IfcRelFillsElement") {}
3252         Lazy< IfcOpeningElement > RelatingOpeningElement;
3253         Lazy< IfcElement > RelatedBuildingElement;
3254     };
3255 
3256     // C++ wrapper for IfcRelOverridesProperties
IfcRelOverridesPropertiesIfcRelOverridesProperties3257     struct IfcRelOverridesProperties : IfcRelDefinesByProperties, ObjectHelper<IfcRelOverridesProperties,1> { IfcRelOverridesProperties() : Object("IfcRelOverridesProperties") {}
3258         ListOf< Lazy< IfcProperty >, 1, 0 > OverridingProperties;
3259     };
3260 
3261     // C++ wrapper for IfcRelVoidsElement
IfcRelVoidsElementIfcRelVoidsElement3262     struct IfcRelVoidsElement : IfcRelConnects, ObjectHelper<IfcRelVoidsElement,2> { IfcRelVoidsElement() : Object("IfcRelVoidsElement") {}
3263         Lazy< IfcElement > RelatingBuildingElement;
3264         Lazy< IfcFeatureElementSubtraction > RelatedOpeningElement;
3265     };
3266 
3267     // C++ wrapper for IfcRepresentation
IfcRepresentationIfcRepresentation3268     struct IfcRepresentation :  ObjectHelper<IfcRepresentation,4> { IfcRepresentation() : Object("IfcRepresentation") {}
3269         Lazy< IfcRepresentationContext > ContextOfItems;
3270         Maybe< IfcLabel::Out > RepresentationIdentifier;
3271         Maybe< IfcLabel::Out > RepresentationType;
3272         ListOf< Lazy< IfcRepresentationItem >, 1, 0 > Items;
3273     };
3274 
3275     // C++ wrapper for IfcRepresentationMap
IfcRepresentationMapIfcRepresentationMap3276     struct IfcRepresentationMap :  ObjectHelper<IfcRepresentationMap,2> { IfcRepresentationMap() : Object("IfcRepresentationMap") {}
3277         IfcAxis2Placement::Out MappingOrigin;
3278         Lazy< IfcRepresentation > MappedRepresentation;
3279     };
3280 
3281     // C++ wrapper for IfcRevolvedAreaSolid
IfcRevolvedAreaSolidIfcRevolvedAreaSolid3282     struct IfcRevolvedAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcRevolvedAreaSolid,2> { IfcRevolvedAreaSolid() : Object("IfcRevolvedAreaSolid") {}
3283         Lazy< IfcAxis1Placement > Axis;
3284         IfcPlaneAngleMeasure::Out Angle;
3285     };
3286 
3287     // C++ wrapper for IfcRightCircularCone
IfcRightCircularConeIfcRightCircularCone3288     struct IfcRightCircularCone : IfcCsgPrimitive3D, ObjectHelper<IfcRightCircularCone,2> { IfcRightCircularCone() : Object("IfcRightCircularCone") {}
3289         IfcPositiveLengthMeasure::Out Height;
3290         IfcPositiveLengthMeasure::Out BottomRadius;
3291     };
3292 
3293     // C++ wrapper for IfcRightCircularCylinder
IfcRightCircularCylinderIfcRightCircularCylinder3294     struct IfcRightCircularCylinder : IfcCsgPrimitive3D, ObjectHelper<IfcRightCircularCylinder,2> { IfcRightCircularCylinder() : Object("IfcRightCircularCylinder") {}
3295         IfcPositiveLengthMeasure::Out Height;
3296         IfcPositiveLengthMeasure::Out Radius;
3297     };
3298 
3299     // C++ wrapper for IfcRoof
IfcRoofIfcRoof3300     struct IfcRoof : IfcBuildingElement, ObjectHelper<IfcRoof,1> { IfcRoof() : Object("IfcRoof") {}
3301         IfcRoofTypeEnum::Out ShapeType;
3302     };
3303 
3304     // C++ wrapper for IfcRoundedEdgeFeature
IfcRoundedEdgeFeatureIfcRoundedEdgeFeature3305     struct IfcRoundedEdgeFeature : IfcEdgeFeature, ObjectHelper<IfcRoundedEdgeFeature,1> { IfcRoundedEdgeFeature() : Object("IfcRoundedEdgeFeature") {}
3306         Maybe< IfcPositiveLengthMeasure::Out > Radius;
3307     };
3308 
3309     // C++ wrapper for IfcRoundedRectangleProfileDef
IfcRoundedRectangleProfileDefIfcRoundedRectangleProfileDef3310     struct IfcRoundedRectangleProfileDef : IfcRectangleProfileDef, ObjectHelper<IfcRoundedRectangleProfileDef,1> { IfcRoundedRectangleProfileDef() : Object("IfcRoundedRectangleProfileDef") {}
3311         IfcPositiveLengthMeasure::Out RoundingRadius;
3312     };
3313 
3314     // C++ wrapper for IfcSIUnit
IfcSIUnitIfcSIUnit3315     struct IfcSIUnit : IfcNamedUnit, ObjectHelper<IfcSIUnit,2> { IfcSIUnit() : Object("IfcSIUnit") {}
3316         Maybe< IfcSIPrefix::Out > Prefix;
3317         IfcSIUnitName::Out Name;
3318     };
3319 
3320     // C++ wrapper for IfcSanitaryTerminalType
IfcSanitaryTerminalTypeIfcSanitaryTerminalType3321     struct IfcSanitaryTerminalType : IfcFlowTerminalType, ObjectHelper<IfcSanitaryTerminalType,1> { IfcSanitaryTerminalType() : Object("IfcSanitaryTerminalType") {}
3322         IfcSanitaryTerminalTypeEnum::Out PredefinedType;
3323     };
3324 
3325     // C++ wrapper for IfcScheduleTimeControl
IfcScheduleTimeControlIfcScheduleTimeControl3326     struct IfcScheduleTimeControl : IfcControl, ObjectHelper<IfcScheduleTimeControl,18> { IfcScheduleTimeControl() : Object("IfcScheduleTimeControl") {}
3327         Maybe< IfcDateTimeSelect::Out > ActualStart;
3328         Maybe< IfcDateTimeSelect::Out > EarlyStart;
3329         Maybe< IfcDateTimeSelect::Out > LateStart;
3330         Maybe< IfcDateTimeSelect::Out > ScheduleStart;
3331         Maybe< IfcDateTimeSelect::Out > ActualFinish;
3332         Maybe< IfcDateTimeSelect::Out > EarlyFinish;
3333         Maybe< IfcDateTimeSelect::Out > LateFinish;
3334         Maybe< IfcDateTimeSelect::Out > ScheduleFinish;
3335         Maybe< IfcTimeMeasure::Out > ScheduleDuration;
3336         Maybe< IfcTimeMeasure::Out > ActualDuration;
3337         Maybe< IfcTimeMeasure::Out > RemainingTime;
3338         Maybe< IfcTimeMeasure::Out > FreeFloat;
3339         Maybe< IfcTimeMeasure::Out > TotalFloat;
3340         Maybe< BOOLEAN::Out > IsCritical;
3341         Maybe< IfcDateTimeSelect::Out > StatusTime;
3342         Maybe< IfcTimeMeasure::Out > StartFloat;
3343         Maybe< IfcTimeMeasure::Out > FinishFloat;
3344         Maybe< IfcPositiveRatioMeasure::Out > Completion;
3345     };
3346 
3347     // C++ wrapper for IfcSectionedSpine
IfcSectionedSpineIfcSectionedSpine3348     struct IfcSectionedSpine : IfcGeometricRepresentationItem, ObjectHelper<IfcSectionedSpine,3> { IfcSectionedSpine() : Object("IfcSectionedSpine") {}
3349         Lazy< IfcCompositeCurve > SpineCurve;
3350         ListOf< Lazy< IfcProfileDef >, 2, 0 > CrossSections;
3351         ListOf< Lazy< IfcAxis2Placement3D >, 2, 0 > CrossSectionPositions;
3352     };
3353 
3354     // C++ wrapper for IfcSensorType
IfcSensorTypeIfcSensorType3355     struct IfcSensorType : IfcDistributionControlElementType, ObjectHelper<IfcSensorType,1> { IfcSensorType() : Object("IfcSensorType") {}
3356         IfcSensorTypeEnum::Out PredefinedType;
3357     };
3358 
3359     // C++ wrapper for IfcServiceLife
IfcServiceLifeIfcServiceLife3360     struct IfcServiceLife : IfcControl, ObjectHelper<IfcServiceLife,2> { IfcServiceLife() : Object("IfcServiceLife") {}
3361         IfcServiceLifeTypeEnum::Out ServiceLifeType;
3362         IfcTimeMeasure::Out ServiceLifeDuration;
3363     };
3364 
3365     // C++ wrapper for IfcShapeModel
IfcShapeModelIfcShapeModel3366     struct IfcShapeModel : IfcRepresentation, ObjectHelper<IfcShapeModel,0> { IfcShapeModel() : Object("IfcShapeModel") {}
3367 
3368     };
3369 
3370     // C++ wrapper for IfcShapeRepresentation
IfcShapeRepresentationIfcShapeRepresentation3371     struct IfcShapeRepresentation : IfcShapeModel, ObjectHelper<IfcShapeRepresentation,0> { IfcShapeRepresentation() : Object("IfcShapeRepresentation") {}
3372 
3373     };
3374 
3375     // C++ wrapper for IfcShellBasedSurfaceModel
IfcShellBasedSurfaceModelIfcShellBasedSurfaceModel3376     struct IfcShellBasedSurfaceModel : IfcGeometricRepresentationItem, ObjectHelper<IfcShellBasedSurfaceModel,1> { IfcShellBasedSurfaceModel() : Object("IfcShellBasedSurfaceModel") {}
3377         ListOf< IfcShell, 1, 0 >::Out SbsmBoundary;
3378     };
3379 
3380     // C++ wrapper for IfcSite
IfcSiteIfcSite3381     struct IfcSite : IfcSpatialStructureElement, ObjectHelper<IfcSite,5> { IfcSite() : Object("IfcSite") {}
3382         Maybe< IfcCompoundPlaneAngleMeasure::Out > RefLatitude;
3383         Maybe< IfcCompoundPlaneAngleMeasure::Out > RefLongitude;
3384         Maybe< IfcLengthMeasure::Out > RefElevation;
3385         Maybe< IfcLabel::Out > LandTitleNumber;
3386         Maybe< Lazy< NotImplemented > > SiteAddress;
3387     };
3388 
3389     // C++ wrapper for IfcSlab
IfcSlabIfcSlab3390     struct IfcSlab : IfcBuildingElement, ObjectHelper<IfcSlab,1> { IfcSlab() : Object("IfcSlab") {}
3391         Maybe< IfcSlabTypeEnum::Out > PredefinedType;
3392     };
3393 
3394     // C++ wrapper for IfcSlabType
IfcSlabTypeIfcSlabType3395     struct IfcSlabType : IfcBuildingElementType, ObjectHelper<IfcSlabType,1> { IfcSlabType() : Object("IfcSlabType") {}
3396         IfcSlabTypeEnum::Out PredefinedType;
3397     };
3398 
3399     // C++ wrapper for IfcSpace
IfcSpaceIfcSpace3400     struct IfcSpace : IfcSpatialStructureElement, ObjectHelper<IfcSpace,2> { IfcSpace() : Object("IfcSpace") {}
3401         IfcInternalOrExternalEnum::Out InteriorOrExteriorSpace;
3402         Maybe< IfcLengthMeasure::Out > ElevationWithFlooring;
3403     };
3404 
3405     // C++ wrapper for IfcSpaceHeaterType
IfcSpaceHeaterTypeIfcSpaceHeaterType3406     struct IfcSpaceHeaterType : IfcEnergyConversionDeviceType, ObjectHelper<IfcSpaceHeaterType,1> { IfcSpaceHeaterType() : Object("IfcSpaceHeaterType") {}
3407         IfcSpaceHeaterTypeEnum::Out PredefinedType;
3408     };
3409 
3410     // C++ wrapper for IfcSpaceProgram
IfcSpaceProgramIfcSpaceProgram3411     struct IfcSpaceProgram : IfcControl, ObjectHelper<IfcSpaceProgram,5> { IfcSpaceProgram() : Object("IfcSpaceProgram") {}
3412         IfcIdentifier::Out SpaceProgramIdentifier;
3413         Maybe< IfcAreaMeasure::Out > MaxRequiredArea;
3414         Maybe< IfcAreaMeasure::Out > MinRequiredArea;
3415         Maybe< Lazy< IfcSpatialStructureElement > > RequestedLocation;
3416         IfcAreaMeasure::Out StandardRequiredArea;
3417     };
3418 
3419     // C++ wrapper for IfcSpatialStructureElementType
IfcSpatialStructureElementTypeIfcSpatialStructureElementType3420     struct IfcSpatialStructureElementType : IfcElementType, ObjectHelper<IfcSpatialStructureElementType,0> { IfcSpatialStructureElementType() : Object("IfcSpatialStructureElementType") {}
3421 
3422     };
3423 
3424     // C++ wrapper for IfcSpaceType
IfcSpaceTypeIfcSpaceType3425     struct IfcSpaceType : IfcSpatialStructureElementType, ObjectHelper<IfcSpaceType,1> { IfcSpaceType() : Object("IfcSpaceType") {}
3426         IfcSpaceTypeEnum::Out PredefinedType;
3427     };
3428 
3429     // C++ wrapper for IfcSphere
IfcSphereIfcSphere3430     struct IfcSphere : IfcCsgPrimitive3D, ObjectHelper<IfcSphere,1> { IfcSphere() : Object("IfcSphere") {}
3431         IfcPositiveLengthMeasure::Out Radius;
3432     };
3433 
3434     // C++ wrapper for IfcStackTerminalType
IfcStackTerminalTypeIfcStackTerminalType3435     struct IfcStackTerminalType : IfcFlowTerminalType, ObjectHelper<IfcStackTerminalType,1> { IfcStackTerminalType() : Object("IfcStackTerminalType") {}
3436         IfcStackTerminalTypeEnum::Out PredefinedType;
3437     };
3438 
3439     // C++ wrapper for IfcStair
IfcStairIfcStair3440     struct IfcStair : IfcBuildingElement, ObjectHelper<IfcStair,1> { IfcStair() : Object("IfcStair") {}
3441         IfcStairTypeEnum::Out ShapeType;
3442     };
3443 
3444     // C++ wrapper for IfcStairFlight
IfcStairFlightIfcStairFlight3445     struct IfcStairFlight : IfcBuildingElement, ObjectHelper<IfcStairFlight,4> { IfcStairFlight() : Object("IfcStairFlight") {}
3446         Maybe< INTEGER::Out > NumberOfRiser;
3447         Maybe< INTEGER::Out > NumberOfTreads;
3448         Maybe< IfcPositiveLengthMeasure::Out > RiserHeight;
3449         Maybe< IfcPositiveLengthMeasure::Out > TreadLength;
3450     };
3451 
3452     // C++ wrapper for IfcStairFlightType
IfcStairFlightTypeIfcStairFlightType3453     struct IfcStairFlightType : IfcBuildingElementType, ObjectHelper<IfcStairFlightType,1> { IfcStairFlightType() : Object("IfcStairFlightType") {}
3454         IfcStairFlightTypeEnum::Out PredefinedType;
3455     };
3456 
3457     // C++ wrapper for IfcStructuralActivity
IfcStructuralActivityIfcStructuralActivity3458     struct IfcStructuralActivity : IfcProduct, ObjectHelper<IfcStructuralActivity,2> { IfcStructuralActivity() : Object("IfcStructuralActivity") {}
3459         Lazy< NotImplemented > AppliedLoad;
3460         IfcGlobalOrLocalEnum::Out GlobalOrLocal;
3461     };
3462 
3463     // C++ wrapper for IfcStructuralAction
IfcStructuralActionIfcStructuralAction3464     struct IfcStructuralAction : IfcStructuralActivity, ObjectHelper<IfcStructuralAction,2> { IfcStructuralAction() : Object("IfcStructuralAction") {}
3465         BOOLEAN::Out DestabilizingLoad;
3466         Maybe< Lazy< IfcStructuralReaction > > CausedBy;
3467     };
3468 
3469     // C++ wrapper for IfcStructuralAnalysisModel
IfcStructuralAnalysisModelIfcStructuralAnalysisModel3470     struct IfcStructuralAnalysisModel : IfcSystem, ObjectHelper<IfcStructuralAnalysisModel,4> { IfcStructuralAnalysisModel() : Object("IfcStructuralAnalysisModel") {}
3471         IfcAnalysisModelTypeEnum::Out PredefinedType;
3472         Maybe< Lazy< IfcAxis2Placement3D > > OrientationOf2DPlane;
3473         Maybe< ListOf< Lazy< IfcStructuralLoadGroup >, 1, 0 > > LoadedBy;
3474         Maybe< ListOf< Lazy< IfcStructuralResultGroup >, 1, 0 > > HasResults;
3475     };
3476 
3477     // C++ wrapper for IfcStructuralItem
IfcStructuralItemIfcStructuralItem3478     struct IfcStructuralItem : IfcProduct, ObjectHelper<IfcStructuralItem,0> { IfcStructuralItem() : Object("IfcStructuralItem") {}
3479 
3480     };
3481 
3482     // C++ wrapper for IfcStructuralConnection
IfcStructuralConnectionIfcStructuralConnection3483     struct IfcStructuralConnection : IfcStructuralItem, ObjectHelper<IfcStructuralConnection,1> { IfcStructuralConnection() : Object("IfcStructuralConnection") {}
3484         Maybe< Lazy< NotImplemented > > AppliedCondition;
3485     };
3486 
3487     // C++ wrapper for IfcStructuralCurveConnection
IfcStructuralCurveConnectionIfcStructuralCurveConnection3488     struct IfcStructuralCurveConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralCurveConnection,0> { IfcStructuralCurveConnection() : Object("IfcStructuralCurveConnection") {}
3489 
3490     };
3491 
3492     // C++ wrapper for IfcStructuralMember
IfcStructuralMemberIfcStructuralMember3493     struct IfcStructuralMember : IfcStructuralItem, ObjectHelper<IfcStructuralMember,0> { IfcStructuralMember() : Object("IfcStructuralMember") {}
3494 
3495     };
3496 
3497     // C++ wrapper for IfcStructuralCurveMember
IfcStructuralCurveMemberIfcStructuralCurveMember3498     struct IfcStructuralCurveMember : IfcStructuralMember, ObjectHelper<IfcStructuralCurveMember,1> { IfcStructuralCurveMember() : Object("IfcStructuralCurveMember") {}
3499         IfcStructuralCurveTypeEnum::Out PredefinedType;
3500     };
3501 
3502     // C++ wrapper for IfcStructuralCurveMemberVarying
IfcStructuralCurveMemberVaryingIfcStructuralCurveMemberVarying3503     struct IfcStructuralCurveMemberVarying : IfcStructuralCurveMember, ObjectHelper<IfcStructuralCurveMemberVarying,0> { IfcStructuralCurveMemberVarying() : Object("IfcStructuralCurveMemberVarying") {}
3504 
3505     };
3506 
3507     // C++ wrapper for IfcStructuralLinearAction
IfcStructuralLinearActionIfcStructuralLinearAction3508     struct IfcStructuralLinearAction : IfcStructuralAction, ObjectHelper<IfcStructuralLinearAction,1> { IfcStructuralLinearAction() : Object("IfcStructuralLinearAction") {}
3509         IfcProjectedOrTrueLengthEnum::Out ProjectedOrTrue;
3510     };
3511 
3512     // C++ wrapper for IfcStructuralLinearActionVarying
IfcStructuralLinearActionVaryingIfcStructuralLinearActionVarying3513     struct IfcStructuralLinearActionVarying : IfcStructuralLinearAction, ObjectHelper<IfcStructuralLinearActionVarying,2> { IfcStructuralLinearActionVarying() : Object("IfcStructuralLinearActionVarying") {}
3514         Lazy< NotImplemented > VaryingAppliedLoadLocation;
3515         ListOf< Lazy< NotImplemented >, 1, 0 > SubsequentAppliedLoads;
3516     };
3517 
3518     // C++ wrapper for IfcStructuralLoadGroup
IfcStructuralLoadGroupIfcStructuralLoadGroup3519     struct IfcStructuralLoadGroup : IfcGroup, ObjectHelper<IfcStructuralLoadGroup,5> { IfcStructuralLoadGroup() : Object("IfcStructuralLoadGroup") {}
3520         IfcLoadGroupTypeEnum::Out PredefinedType;
3521         IfcActionTypeEnum::Out ActionType;
3522         IfcActionSourceTypeEnum::Out ActionSource;
3523         Maybe< IfcPositiveRatioMeasure::Out > Coefficient;
3524         Maybe< IfcLabel::Out > Purpose;
3525     };
3526 
3527     // C++ wrapper for IfcStructuralPlanarAction
IfcStructuralPlanarActionIfcStructuralPlanarAction3528     struct IfcStructuralPlanarAction : IfcStructuralAction, ObjectHelper<IfcStructuralPlanarAction,1> { IfcStructuralPlanarAction() : Object("IfcStructuralPlanarAction") {}
3529         IfcProjectedOrTrueLengthEnum::Out ProjectedOrTrue;
3530     };
3531 
3532     // C++ wrapper for IfcStructuralPlanarActionVarying
IfcStructuralPlanarActionVaryingIfcStructuralPlanarActionVarying3533     struct IfcStructuralPlanarActionVarying : IfcStructuralPlanarAction, ObjectHelper<IfcStructuralPlanarActionVarying,2> { IfcStructuralPlanarActionVarying() : Object("IfcStructuralPlanarActionVarying") {}
3534         Lazy< NotImplemented > VaryingAppliedLoadLocation;
3535         ListOf< Lazy< NotImplemented >, 2, 0 > SubsequentAppliedLoads;
3536     };
3537 
3538     // C++ wrapper for IfcStructuralPointAction
IfcStructuralPointActionIfcStructuralPointAction3539     struct IfcStructuralPointAction : IfcStructuralAction, ObjectHelper<IfcStructuralPointAction,0> { IfcStructuralPointAction() : Object("IfcStructuralPointAction") {}
3540 
3541     };
3542 
3543     // C++ wrapper for IfcStructuralPointConnection
IfcStructuralPointConnectionIfcStructuralPointConnection3544     struct IfcStructuralPointConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralPointConnection,0> { IfcStructuralPointConnection() : Object("IfcStructuralPointConnection") {}
3545 
3546     };
3547 
3548     // C++ wrapper for IfcStructuralReaction
IfcStructuralReactionIfcStructuralReaction3549     struct IfcStructuralReaction : IfcStructuralActivity, ObjectHelper<IfcStructuralReaction,0> { IfcStructuralReaction() : Object("IfcStructuralReaction") {}
3550 
3551     };
3552 
3553     // C++ wrapper for IfcStructuralPointReaction
IfcStructuralPointReactionIfcStructuralPointReaction3554     struct IfcStructuralPointReaction : IfcStructuralReaction, ObjectHelper<IfcStructuralPointReaction,0> { IfcStructuralPointReaction() : Object("IfcStructuralPointReaction") {}
3555 
3556     };
3557 
3558     // C++ wrapper for IfcStructuralResultGroup
IfcStructuralResultGroupIfcStructuralResultGroup3559     struct IfcStructuralResultGroup : IfcGroup, ObjectHelper<IfcStructuralResultGroup,3> { IfcStructuralResultGroup() : Object("IfcStructuralResultGroup") {}
3560         IfcAnalysisTheoryTypeEnum::Out TheoryType;
3561         Maybe< Lazy< IfcStructuralLoadGroup > > ResultForLoadGroup;
3562         BOOLEAN::Out IsLinear;
3563     };
3564 
3565     // C++ wrapper for IfcStructuralSurfaceConnection
IfcStructuralSurfaceConnectionIfcStructuralSurfaceConnection3566     struct IfcStructuralSurfaceConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralSurfaceConnection,0> { IfcStructuralSurfaceConnection() : Object("IfcStructuralSurfaceConnection") {}
3567 
3568     };
3569 
3570     // C++ wrapper for IfcStructuralSurfaceMember
IfcStructuralSurfaceMemberIfcStructuralSurfaceMember3571     struct IfcStructuralSurfaceMember : IfcStructuralMember, ObjectHelper<IfcStructuralSurfaceMember,2> { IfcStructuralSurfaceMember() : Object("IfcStructuralSurfaceMember") {}
3572         IfcStructuralSurfaceTypeEnum::Out PredefinedType;
3573         Maybe< IfcPositiveLengthMeasure::Out > Thickness;
3574     };
3575 
3576     // C++ wrapper for IfcStructuralSurfaceMemberVarying
IfcStructuralSurfaceMemberVaryingIfcStructuralSurfaceMemberVarying3577     struct IfcStructuralSurfaceMemberVarying : IfcStructuralSurfaceMember, ObjectHelper<IfcStructuralSurfaceMemberVarying,2> { IfcStructuralSurfaceMemberVarying() : Object("IfcStructuralSurfaceMemberVarying") {}
3578         ListOf< IfcPositiveLengthMeasure, 2, 0 >::Out SubsequentThickness;
3579         Lazy< NotImplemented > VaryingThicknessLocation;
3580     };
3581 
3582     // C++ wrapper for IfcStructuredDimensionCallout
IfcStructuredDimensionCalloutIfcStructuredDimensionCallout3583     struct IfcStructuredDimensionCallout : IfcDraughtingCallout, ObjectHelper<IfcStructuredDimensionCallout,0> { IfcStructuredDimensionCallout() : Object("IfcStructuredDimensionCallout") {}
3584 
3585     };
3586 
3587     // C++ wrapper for IfcStyleModel
IfcStyleModelIfcStyleModel3588     struct IfcStyleModel : IfcRepresentation, ObjectHelper<IfcStyleModel,0> { IfcStyleModel() : Object("IfcStyleModel") {}
3589 
3590     };
3591 
3592     // C++ wrapper for IfcStyledRepresentation
IfcStyledRepresentationIfcStyledRepresentation3593     struct IfcStyledRepresentation : IfcStyleModel, ObjectHelper<IfcStyledRepresentation,0> { IfcStyledRepresentation() : Object("IfcStyledRepresentation") {}
3594 
3595     };
3596 
3597     // C++ wrapper for IfcSubContractResource
IfcSubContractResourceIfcSubContractResource3598     struct IfcSubContractResource : IfcConstructionResource, ObjectHelper<IfcSubContractResource,2> { IfcSubContractResource() : Object("IfcSubContractResource") {}
3599         Maybe< IfcActorSelect::Out > SubContractor;
3600         Maybe< IfcText::Out > JobDescription;
3601     };
3602 
3603     // C++ wrapper for IfcSubedge
IfcSubedgeIfcSubedge3604     struct IfcSubedge : IfcEdge, ObjectHelper<IfcSubedge,1> { IfcSubedge() : Object("IfcSubedge") {}
3605         Lazy< IfcEdge > ParentEdge;
3606     };
3607 
3608     // C++ wrapper for IfcSurfaceCurveSweptAreaSolid
IfcSurfaceCurveSweptAreaSolidIfcSurfaceCurveSweptAreaSolid3609     struct IfcSurfaceCurveSweptAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcSurfaceCurveSweptAreaSolid,4> { IfcSurfaceCurveSweptAreaSolid() : Object("IfcSurfaceCurveSweptAreaSolid") {}
3610         Lazy< IfcCurve > Directrix;
3611         IfcParameterValue::Out StartParam;
3612         IfcParameterValue::Out EndParam;
3613         Lazy< IfcSurface > ReferenceSurface;
3614     };
3615 
3616     // C++ wrapper for IfcSweptSurface
IfcSweptSurfaceIfcSweptSurface3617     struct IfcSweptSurface : IfcSurface, ObjectHelper<IfcSweptSurface,2> { IfcSweptSurface() : Object("IfcSweptSurface") {}
3618         Lazy< IfcProfileDef > SweptCurve;
3619         Lazy< IfcAxis2Placement3D > Position;
3620     };
3621 
3622     // C++ wrapper for IfcSurfaceOfLinearExtrusion
IfcSurfaceOfLinearExtrusionIfcSurfaceOfLinearExtrusion3623     struct IfcSurfaceOfLinearExtrusion : IfcSweptSurface, ObjectHelper<IfcSurfaceOfLinearExtrusion,2> { IfcSurfaceOfLinearExtrusion() : Object("IfcSurfaceOfLinearExtrusion") {}
3624         Lazy< IfcDirection > ExtrudedDirection;
3625         IfcLengthMeasure::Out Depth;
3626     };
3627 
3628     // C++ wrapper for IfcSurfaceOfRevolution
IfcSurfaceOfRevolutionIfcSurfaceOfRevolution3629     struct IfcSurfaceOfRevolution : IfcSweptSurface, ObjectHelper<IfcSurfaceOfRevolution,1> { IfcSurfaceOfRevolution() : Object("IfcSurfaceOfRevolution") {}
3630         Lazy< IfcAxis1Placement > AxisPosition;
3631     };
3632 
3633     // C++ wrapper for IfcSurfaceStyle
IfcSurfaceStyleIfcSurfaceStyle3634     struct IfcSurfaceStyle : IfcPresentationStyle, ObjectHelper<IfcSurfaceStyle,2> { IfcSurfaceStyle() : Object("IfcSurfaceStyle") {}
3635         IfcSurfaceSide::Out Side;
3636         ListOf< IfcSurfaceStyleElementSelect, 1, 5 >::Out Styles;
3637     };
3638 
3639     // C++ wrapper for IfcSurfaceStyleShading
IfcSurfaceStyleShadingIfcSurfaceStyleShading3640     struct IfcSurfaceStyleShading :  ObjectHelper<IfcSurfaceStyleShading,1> { IfcSurfaceStyleShading() : Object("IfcSurfaceStyleShading") {}
3641         Lazy< IfcColourRgb > SurfaceColour;
3642     };
3643 
3644     // C++ wrapper for IfcSurfaceStyleRendering
IfcSurfaceStyleRenderingIfcSurfaceStyleRendering3645     struct IfcSurfaceStyleRendering : IfcSurfaceStyleShading, ObjectHelper<IfcSurfaceStyleRendering,8> { IfcSurfaceStyleRendering() : Object("IfcSurfaceStyleRendering") {}
3646         Maybe< IfcNormalisedRatioMeasure::Out > Transparency;
3647         Maybe< IfcColourOrFactor::Out > DiffuseColour;
3648         Maybe< IfcColourOrFactor::Out > TransmissionColour;
3649         Maybe< IfcColourOrFactor::Out > DiffuseTransmissionColour;
3650         Maybe< IfcColourOrFactor::Out > ReflectionColour;
3651         Maybe< IfcColourOrFactor::Out > SpecularColour;
3652         Maybe< IfcSpecularHighlightSelect::Out > SpecularHighlight;
3653         IfcReflectanceMethodEnum::Out ReflectanceMethod;
3654     };
3655 
3656     // C++ wrapper for IfcSurfaceStyleWithTextures
IfcSurfaceStyleWithTexturesIfcSurfaceStyleWithTextures3657     struct IfcSurfaceStyleWithTextures :  ObjectHelper<IfcSurfaceStyleWithTextures,1> { IfcSurfaceStyleWithTextures() : Object("IfcSurfaceStyleWithTextures") {}
3658         ListOf< Lazy< NotImplemented >, 1, 0 > Textures;
3659     };
3660 
3661     // C++ wrapper for IfcSweptDiskSolid
IfcSweptDiskSolidIfcSweptDiskSolid3662     struct IfcSweptDiskSolid : IfcSolidModel, ObjectHelper<IfcSweptDiskSolid,5> { IfcSweptDiskSolid() : Object("IfcSweptDiskSolid") {}
3663         Lazy< IfcCurve > Directrix;
3664         IfcPositiveLengthMeasure::Out Radius;
3665         Maybe< IfcPositiveLengthMeasure::Out > InnerRadius;
3666         IfcParameterValue::Out StartParam;
3667         IfcParameterValue::Out EndParam;
3668     };
3669 
3670     // C++ wrapper for IfcSwitchingDeviceType
IfcSwitchingDeviceTypeIfcSwitchingDeviceType3671     struct IfcSwitchingDeviceType : IfcFlowControllerType, ObjectHelper<IfcSwitchingDeviceType,1> { IfcSwitchingDeviceType() : Object("IfcSwitchingDeviceType") {}
3672         IfcSwitchingDeviceTypeEnum::Out PredefinedType;
3673     };
3674 
3675     // C++ wrapper for IfcSystemFurnitureElementType
IfcSystemFurnitureElementTypeIfcSystemFurnitureElementType3676     struct IfcSystemFurnitureElementType : IfcFurnishingElementType, ObjectHelper<IfcSystemFurnitureElementType,0> { IfcSystemFurnitureElementType() : Object("IfcSystemFurnitureElementType") {}
3677 
3678     };
3679 
3680     // C++ wrapper for IfcTShapeProfileDef
IfcTShapeProfileDefIfcTShapeProfileDef3681     struct IfcTShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcTShapeProfileDef,10> { IfcTShapeProfileDef() : Object("IfcTShapeProfileDef") {}
3682         IfcPositiveLengthMeasure::Out Depth;
3683         IfcPositiveLengthMeasure::Out FlangeWidth;
3684         IfcPositiveLengthMeasure::Out WebThickness;
3685         IfcPositiveLengthMeasure::Out FlangeThickness;
3686         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3687         Maybe< IfcPositiveLengthMeasure::Out > FlangeEdgeRadius;
3688         Maybe< IfcPositiveLengthMeasure::Out > WebEdgeRadius;
3689         Maybe< IfcPlaneAngleMeasure::Out > WebSlope;
3690         Maybe< IfcPlaneAngleMeasure::Out > FlangeSlope;
3691         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
3692     };
3693 
3694     // C++ wrapper for IfcTankType
IfcTankTypeIfcTankType3695     struct IfcTankType : IfcFlowStorageDeviceType, ObjectHelper<IfcTankType,1> { IfcTankType() : Object("IfcTankType") {}
3696         IfcTankTypeEnum::Out PredefinedType;
3697     };
3698 
3699     // C++ wrapper for IfcTendon
IfcTendonIfcTendon3700     struct IfcTendon : IfcReinforcingElement, ObjectHelper<IfcTendon,8> { IfcTendon() : Object("IfcTendon") {}
3701         IfcTendonTypeEnum::Out PredefinedType;
3702         IfcPositiveLengthMeasure::Out NominalDiameter;
3703         IfcAreaMeasure::Out CrossSectionArea;
3704         Maybe< IfcForceMeasure::Out > TensionForce;
3705         Maybe< IfcPressureMeasure::Out > PreStress;
3706         Maybe< IfcNormalisedRatioMeasure::Out > FrictionCoefficient;
3707         Maybe< IfcPositiveLengthMeasure::Out > AnchorageSlip;
3708         Maybe< IfcPositiveLengthMeasure::Out > MinCurvatureRadius;
3709     };
3710 
3711     // C++ wrapper for IfcTendonAnchor
IfcTendonAnchorIfcTendonAnchor3712     struct IfcTendonAnchor : IfcReinforcingElement, ObjectHelper<IfcTendonAnchor,0> { IfcTendonAnchor() : Object("IfcTendonAnchor") {}
3713 
3714     };
3715 
3716     // C++ wrapper for IfcTextLiteral
IfcTextLiteralIfcTextLiteral3717     struct IfcTextLiteral : IfcGeometricRepresentationItem, ObjectHelper<IfcTextLiteral,3> { IfcTextLiteral() : Object("IfcTextLiteral") {}
3718         IfcPresentableText::Out Literal;
3719         IfcAxis2Placement::Out Placement;
3720         IfcTextPath::Out Path;
3721     };
3722 
3723     // C++ wrapper for IfcTextLiteralWithExtent
IfcTextLiteralWithExtentIfcTextLiteralWithExtent3724     struct IfcTextLiteralWithExtent : IfcTextLiteral, ObjectHelper<IfcTextLiteralWithExtent,2> { IfcTextLiteralWithExtent() : Object("IfcTextLiteralWithExtent") {}
3725         Lazy< IfcPlanarExtent > Extent;
3726         IfcBoxAlignment::Out BoxAlignment;
3727     };
3728 
3729     // C++ wrapper for IfcTimeSeriesSchedule
IfcTimeSeriesScheduleIfcTimeSeriesSchedule3730     struct IfcTimeSeriesSchedule : IfcControl, ObjectHelper<IfcTimeSeriesSchedule,3> { IfcTimeSeriesSchedule() : Object("IfcTimeSeriesSchedule") {}
3731         Maybe< ListOf< IfcDateTimeSelect, 1, 0 >::Out > ApplicableDates;
3732         IfcTimeSeriesScheduleTypeEnum::Out TimeSeriesScheduleType;
3733         Lazy< NotImplemented > TimeSeries;
3734     };
3735 
3736     // C++ wrapper for IfcTopologyRepresentation
IfcTopologyRepresentationIfcTopologyRepresentation3737     struct IfcTopologyRepresentation : IfcShapeModel, ObjectHelper<IfcTopologyRepresentation,0> { IfcTopologyRepresentation() : Object("IfcTopologyRepresentation") {}
3738 
3739     };
3740 
3741     // C++ wrapper for IfcTransformerType
IfcTransformerTypeIfcTransformerType3742     struct IfcTransformerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcTransformerType,1> { IfcTransformerType() : Object("IfcTransformerType") {}
3743         IfcTransformerTypeEnum::Out PredefinedType;
3744     };
3745 
3746     // C++ wrapper for IfcTransportElement
IfcTransportElementIfcTransportElement3747     struct IfcTransportElement : IfcElement, ObjectHelper<IfcTransportElement,3> { IfcTransportElement() : Object("IfcTransportElement") {}
3748         Maybe< IfcTransportElementTypeEnum::Out > OperationType;
3749         Maybe< IfcMassMeasure::Out > CapacityByWeight;
3750         Maybe< IfcCountMeasure::Out > CapacityByNumber;
3751     };
3752 
3753     // C++ wrapper for IfcTransportElementType
IfcTransportElementTypeIfcTransportElementType3754     struct IfcTransportElementType : IfcElementType, ObjectHelper<IfcTransportElementType,1> { IfcTransportElementType() : Object("IfcTransportElementType") {}
3755         IfcTransportElementTypeEnum::Out PredefinedType;
3756     };
3757 
3758     // C++ wrapper for IfcTrapeziumProfileDef
IfcTrapeziumProfileDefIfcTrapeziumProfileDef3759     struct IfcTrapeziumProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcTrapeziumProfileDef,4> { IfcTrapeziumProfileDef() : Object("IfcTrapeziumProfileDef") {}
3760         IfcPositiveLengthMeasure::Out BottomXDim;
3761         IfcPositiveLengthMeasure::Out TopXDim;
3762         IfcPositiveLengthMeasure::Out YDim;
3763         IfcLengthMeasure::Out TopXOffset;
3764     };
3765 
3766     // C++ wrapper for IfcTrimmedCurve
IfcTrimmedCurveIfcTrimmedCurve3767     struct IfcTrimmedCurve : IfcBoundedCurve, ObjectHelper<IfcTrimmedCurve,5> { IfcTrimmedCurve() : Object("IfcTrimmedCurve") {}
3768         Lazy< IfcCurve > BasisCurve;
3769         ListOf< IfcTrimmingSelect, 1, 2 >::Out Trim1;
3770         ListOf< IfcTrimmingSelect, 1, 2 >::Out Trim2;
3771         BOOLEAN::Out SenseAgreement;
3772         IfcTrimmingPreference::Out MasterRepresentation;
3773     };
3774 
3775     // C++ wrapper for IfcTubeBundleType
IfcTubeBundleTypeIfcTubeBundleType3776     struct IfcTubeBundleType : IfcEnergyConversionDeviceType, ObjectHelper<IfcTubeBundleType,1> { IfcTubeBundleType() : Object("IfcTubeBundleType") {}
3777         IfcTubeBundleTypeEnum::Out PredefinedType;
3778     };
3779 
3780     // C++ wrapper for IfcTwoDirectionRepeatFactor
IfcTwoDirectionRepeatFactorIfcTwoDirectionRepeatFactor3781     struct IfcTwoDirectionRepeatFactor : IfcOneDirectionRepeatFactor, ObjectHelper<IfcTwoDirectionRepeatFactor,1> { IfcTwoDirectionRepeatFactor() : Object("IfcTwoDirectionRepeatFactor") {}
3782         Lazy< IfcVector > SecondRepeatFactor;
3783     };
3784 
3785     // C++ wrapper for IfcUShapeProfileDef
IfcUShapeProfileDefIfcUShapeProfileDef3786     struct IfcUShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcUShapeProfileDef,8> { IfcUShapeProfileDef() : Object("IfcUShapeProfileDef") {}
3787         IfcPositiveLengthMeasure::Out Depth;
3788         IfcPositiveLengthMeasure::Out FlangeWidth;
3789         IfcPositiveLengthMeasure::Out WebThickness;
3790         IfcPositiveLengthMeasure::Out FlangeThickness;
3791         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3792         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
3793         Maybe< IfcPlaneAngleMeasure::Out > FlangeSlope;
3794         Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
3795     };
3796 
3797     // C++ wrapper for IfcUnitAssignment
IfcUnitAssignmentIfcUnitAssignment3798     struct IfcUnitAssignment :  ObjectHelper<IfcUnitAssignment,1> { IfcUnitAssignment() : Object("IfcUnitAssignment") {}
3799         ListOf< IfcUnit, 1, 0 >::Out Units;
3800     };
3801 
3802     // C++ wrapper for IfcUnitaryEquipmentType
IfcUnitaryEquipmentTypeIfcUnitaryEquipmentType3803     struct IfcUnitaryEquipmentType : IfcEnergyConversionDeviceType, ObjectHelper<IfcUnitaryEquipmentType,1> { IfcUnitaryEquipmentType() : Object("IfcUnitaryEquipmentType") {}
3804         IfcUnitaryEquipmentTypeEnum::Out PredefinedType;
3805     };
3806 
3807     // C++ wrapper for IfcValveType
IfcValveTypeIfcValveType3808     struct IfcValveType : IfcFlowControllerType, ObjectHelper<IfcValveType,1> { IfcValveType() : Object("IfcValveType") {}
3809         IfcValveTypeEnum::Out PredefinedType;
3810     };
3811 
3812     // C++ wrapper for IfcVector
IfcVectorIfcVector3813     struct IfcVector : IfcGeometricRepresentationItem, ObjectHelper<IfcVector,2> { IfcVector() : Object("IfcVector") {}
3814         Lazy< IfcDirection > Orientation;
3815         IfcLengthMeasure::Out Magnitude;
3816     };
3817 
3818     // C++ wrapper for IfcVertex
IfcVertexIfcVertex3819     struct IfcVertex : IfcTopologicalRepresentationItem, ObjectHelper<IfcVertex,0> { IfcVertex() : Object("IfcVertex") {}
3820 
3821     };
3822 
3823     // C++ wrapper for IfcVertexLoop
IfcVertexLoopIfcVertexLoop3824     struct IfcVertexLoop : IfcLoop, ObjectHelper<IfcVertexLoop,1> { IfcVertexLoop() : Object("IfcVertexLoop") {}
3825         Lazy< IfcVertex > LoopVertex;
3826     };
3827 
3828     // C++ wrapper for IfcVertexPoint
IfcVertexPointIfcVertexPoint3829     struct IfcVertexPoint : IfcVertex, ObjectHelper<IfcVertexPoint,1> { IfcVertexPoint() : Object("IfcVertexPoint") {}
3830         Lazy< IfcPoint > VertexGeometry;
3831     };
3832 
3833     // C++ wrapper for IfcVibrationIsolatorType
IfcVibrationIsolatorTypeIfcVibrationIsolatorType3834     struct IfcVibrationIsolatorType : IfcDiscreteAccessoryType, ObjectHelper<IfcVibrationIsolatorType,1> { IfcVibrationIsolatorType() : Object("IfcVibrationIsolatorType") {}
3835         IfcVibrationIsolatorTypeEnum::Out PredefinedType;
3836     };
3837 
3838     // C++ wrapper for IfcVirtualElement
IfcVirtualElementIfcVirtualElement3839     struct IfcVirtualElement : IfcElement, ObjectHelper<IfcVirtualElement,0> { IfcVirtualElement() : Object("IfcVirtualElement") {}
3840 
3841     };
3842 
3843     // C++ wrapper for IfcWall
IfcWallIfcWall3844     struct IfcWall : IfcBuildingElement, ObjectHelper<IfcWall,0> { IfcWall() : Object("IfcWall") {}
3845 
3846     };
3847 
3848     // C++ wrapper for IfcWallStandardCase
IfcWallStandardCaseIfcWallStandardCase3849     struct IfcWallStandardCase : IfcWall, ObjectHelper<IfcWallStandardCase,0> { IfcWallStandardCase() : Object("IfcWallStandardCase") {}
3850 
3851     };
3852 
3853     // C++ wrapper for IfcWallType
IfcWallTypeIfcWallType3854     struct IfcWallType : IfcBuildingElementType, ObjectHelper<IfcWallType,1> { IfcWallType() : Object("IfcWallType") {}
3855         IfcWallTypeEnum::Out PredefinedType;
3856     };
3857 
3858     // C++ wrapper for IfcWasteTerminalType
IfcWasteTerminalTypeIfcWasteTerminalType3859     struct IfcWasteTerminalType : IfcFlowTerminalType, ObjectHelper<IfcWasteTerminalType,1> { IfcWasteTerminalType() : Object("IfcWasteTerminalType") {}
3860         IfcWasteTerminalTypeEnum::Out PredefinedType;
3861     };
3862 
3863     // C++ wrapper for IfcWindow
IfcWindowIfcWindow3864     struct IfcWindow : IfcBuildingElement, ObjectHelper<IfcWindow,2> { IfcWindow() : Object("IfcWindow") {}
3865         Maybe< IfcPositiveLengthMeasure::Out > OverallHeight;
3866         Maybe< IfcPositiveLengthMeasure::Out > OverallWidth;
3867     };
3868 
3869     // C++ wrapper for IfcWindowStyle
IfcWindowStyleIfcWindowStyle3870     struct IfcWindowStyle : IfcTypeProduct, ObjectHelper<IfcWindowStyle,4> { IfcWindowStyle() : Object("IfcWindowStyle") {}
3871         IfcWindowStyleConstructionEnum::Out ConstructionType;
3872         IfcWindowStyleOperationEnum::Out OperationType;
3873         BOOLEAN::Out ParameterTakesPrecedence;
3874         BOOLEAN::Out Sizeable;
3875     };
3876 
3877     // C++ wrapper for IfcWorkControl
IfcWorkControlIfcWorkControl3878     struct IfcWorkControl : IfcControl, ObjectHelper<IfcWorkControl,10> { IfcWorkControl() : Object("IfcWorkControl") {}
3879         IfcIdentifier::Out Identifier;
3880         IfcDateTimeSelect::Out CreationDate;
3881         Maybe< ListOf< Lazy< NotImplemented >, 1, 0 > > Creators;
3882         Maybe< IfcLabel::Out > Purpose;
3883         Maybe< IfcTimeMeasure::Out > Duration;
3884         Maybe< IfcTimeMeasure::Out > TotalFloat;
3885         IfcDateTimeSelect::Out StartTime;
3886         Maybe< IfcDateTimeSelect::Out > FinishTime;
3887         Maybe< IfcWorkControlTypeEnum::Out > WorkControlType;
3888         Maybe< IfcLabel::Out > UserDefinedControlType;
3889     };
3890 
3891     // C++ wrapper for IfcWorkPlan
IfcWorkPlanIfcWorkPlan3892     struct IfcWorkPlan : IfcWorkControl, ObjectHelper<IfcWorkPlan,0> { IfcWorkPlan() : Object("IfcWorkPlan") {}
3893 
3894     };
3895 
3896     // C++ wrapper for IfcWorkSchedule
IfcWorkScheduleIfcWorkSchedule3897     struct IfcWorkSchedule : IfcWorkControl, ObjectHelper<IfcWorkSchedule,0> { IfcWorkSchedule() : Object("IfcWorkSchedule") {}
3898 
3899     };
3900 
3901     // C++ wrapper for IfcZShapeProfileDef
IfcZShapeProfileDefIfcZShapeProfileDef3902     struct IfcZShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcZShapeProfileDef,6> { IfcZShapeProfileDef() : Object("IfcZShapeProfileDef") {}
3903         IfcPositiveLengthMeasure::Out Depth;
3904         IfcPositiveLengthMeasure::Out FlangeWidth;
3905         IfcPositiveLengthMeasure::Out WebThickness;
3906         IfcPositiveLengthMeasure::Out FlangeThickness;
3907         Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
3908         Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
3909     };
3910 
3911     // C++ wrapper for IfcZone
IfcZoneIfcZone3912     struct IfcZone : IfcGroup, ObjectHelper<IfcZone,0> { IfcZone() : Object("IfcZone") {}
3913 
3914     };
3915 
3916     void GetSchema(EXPRESS::ConversionSchema& out);
3917     } //! Schema_2x3
3918 } //! IFC
3919 
3920 namespace STEP {
3921 
3922     // ******************************************************************************
3923     // Converter stubs
3924     // ******************************************************************************
3925 
3926 #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)
3927 
3928     DECL_CONV_STUB(IfcRepresentationItem);
3929     DECL_CONV_STUB(IfcGeometricRepresentationItem);
3930     DECL_CONV_STUB(IfcCurve);
3931     DECL_CONV_STUB(IfcBoundedCurve);
3932     DECL_CONV_STUB(IfcCompositeCurve);
3933     DECL_CONV_STUB(Ifc2DCompositeCurve);
3934     DECL_CONV_STUB(IfcRoot);
3935     DECL_CONV_STUB(IfcObjectDefinition);
3936     DECL_CONV_STUB(IfcObject);
3937     DECL_CONV_STUB(IfcControl);
3938     DECL_CONV_STUB(IfcActionRequest);
3939     DECL_CONV_STUB(IfcActor);
3940     DECL_CONV_STUB(IfcTypeObject);
3941     DECL_CONV_STUB(IfcTypeProduct);
3942     DECL_CONV_STUB(IfcElementType);
3943     DECL_CONV_STUB(IfcDistributionElementType);
3944     DECL_CONV_STUB(IfcDistributionControlElementType);
3945     DECL_CONV_STUB(IfcActuatorType);
3946     DECL_CONV_STUB(IfcDistributionFlowElementType);
3947     DECL_CONV_STUB(IfcFlowControllerType);
3948     DECL_CONV_STUB(IfcAirTerminalBoxType);
3949     DECL_CONV_STUB(IfcFlowTerminalType);
3950     DECL_CONV_STUB(IfcAirTerminalType);
3951     DECL_CONV_STUB(IfcEnergyConversionDeviceType);
3952     DECL_CONV_STUB(IfcAirToAirHeatRecoveryType);
3953     DECL_CONV_STUB(IfcAlarmType);
3954     DECL_CONV_STUB(IfcDraughtingCallout);
3955     DECL_CONV_STUB(IfcDimensionCurveDirectedCallout);
3956     DECL_CONV_STUB(IfcAngularDimension);
3957     DECL_CONV_STUB(IfcProduct);
3958     DECL_CONV_STUB(IfcAnnotation);
3959     DECL_CONV_STUB(IfcStyledItem);
3960     DECL_CONV_STUB(IfcAnnotationOccurrence);
3961     DECL_CONV_STUB(IfcAnnotationCurveOccurrence);
3962     DECL_CONV_STUB(IfcAnnotationFillArea);
3963     DECL_CONV_STUB(IfcAnnotationFillAreaOccurrence);
3964     DECL_CONV_STUB(IfcAnnotationSurface);
3965     DECL_CONV_STUB(IfcAnnotationSurfaceOccurrence);
3966     DECL_CONV_STUB(IfcAnnotationSymbolOccurrence);
3967     DECL_CONV_STUB(IfcAnnotationTextOccurrence);
3968     DECL_CONV_STUB(IfcProfileDef);
3969     DECL_CONV_STUB(IfcArbitraryClosedProfileDef);
3970     DECL_CONV_STUB(IfcArbitraryOpenProfileDef);
3971     DECL_CONV_STUB(IfcArbitraryProfileDefWithVoids);
3972     DECL_CONV_STUB(IfcGroup);
3973     DECL_CONV_STUB(IfcAsset);
3974     DECL_CONV_STUB(IfcParameterizedProfileDef);
3975     DECL_CONV_STUB(IfcIShapeProfileDef);
3976     DECL_CONV_STUB(IfcAsymmetricIShapeProfileDef);
3977     DECL_CONV_STUB(IfcPlacement);
3978     DECL_CONV_STUB(IfcAxis1Placement);
3979     DECL_CONV_STUB(IfcAxis2Placement2D);
3980     DECL_CONV_STUB(IfcAxis2Placement3D);
3981     DECL_CONV_STUB(IfcBSplineCurve);
3982     DECL_CONV_STUB(IfcElement);
3983     DECL_CONV_STUB(IfcBuildingElement);
3984     DECL_CONV_STUB(IfcBeam);
3985     DECL_CONV_STUB(IfcBuildingElementType);
3986     DECL_CONV_STUB(IfcBeamType);
3987     DECL_CONV_STUB(IfcBezierCurve);
3988     DECL_CONV_STUB(IfcCsgPrimitive3D);
3989     DECL_CONV_STUB(IfcBlock);
3990     DECL_CONV_STUB(IfcBoilerType);
3991     DECL_CONV_STUB(IfcBooleanResult);
3992     DECL_CONV_STUB(IfcBooleanClippingResult);
3993     DECL_CONV_STUB(IfcSurface);
3994     DECL_CONV_STUB(IfcBoundedSurface);
3995     DECL_CONV_STUB(IfcBoundingBox);
3996     DECL_CONV_STUB(IfcHalfSpaceSolid);
3997     DECL_CONV_STUB(IfcBoxedHalfSpace);
3998     DECL_CONV_STUB(IfcSpatialStructureElement);
3999     DECL_CONV_STUB(IfcBuilding);
4000     DECL_CONV_STUB(IfcBuildingElementComponent);
4001     DECL_CONV_STUB(IfcBuildingElementPart);
4002     DECL_CONV_STUB(IfcBuildingElementProxy);
4003     DECL_CONV_STUB(IfcBuildingElementProxyType);
4004     DECL_CONV_STUB(IfcBuildingStorey);
4005     DECL_CONV_STUB(IfcCShapeProfileDef);
4006     DECL_CONV_STUB(IfcFlowFittingType);
4007     DECL_CONV_STUB(IfcCableCarrierFittingType);
4008     DECL_CONV_STUB(IfcFlowSegmentType);
4009     DECL_CONV_STUB(IfcCableCarrierSegmentType);
4010     DECL_CONV_STUB(IfcCableSegmentType);
4011     DECL_CONV_STUB(IfcPoint);
4012     DECL_CONV_STUB(IfcCartesianPoint);
4013     DECL_CONV_STUB(IfcCartesianTransformationOperator);
4014     DECL_CONV_STUB(IfcCartesianTransformationOperator2D);
4015     DECL_CONV_STUB(IfcCartesianTransformationOperator2DnonUniform);
4016     DECL_CONV_STUB(IfcCartesianTransformationOperator3D);
4017     DECL_CONV_STUB(IfcCartesianTransformationOperator3DnonUniform);
4018     DECL_CONV_STUB(IfcCenterLineProfileDef);
4019     DECL_CONV_STUB(IfcFeatureElement);
4020     DECL_CONV_STUB(IfcFeatureElementSubtraction);
4021     DECL_CONV_STUB(IfcEdgeFeature);
4022     DECL_CONV_STUB(IfcChamferEdgeFeature);
4023     DECL_CONV_STUB(IfcChillerType);
4024     DECL_CONV_STUB(IfcConic);
4025     DECL_CONV_STUB(IfcCircle);
4026     DECL_CONV_STUB(IfcCircleProfileDef);
4027     DECL_CONV_STUB(IfcCircleHollowProfileDef);
4028     DECL_CONV_STUB(IfcTopologicalRepresentationItem);
4029     DECL_CONV_STUB(IfcConnectedFaceSet);
4030     DECL_CONV_STUB(IfcClosedShell);
4031     DECL_CONV_STUB(IfcCoilType);
4032     DECL_CONV_STUB(IfcColourSpecification);
4033     DECL_CONV_STUB(IfcColourRgb);
4034     DECL_CONV_STUB(IfcColumn);
4035     DECL_CONV_STUB(IfcColumnType);
4036     DECL_CONV_STUB(IfcProperty);
4037     DECL_CONV_STUB(IfcComplexProperty);
4038     DECL_CONV_STUB(IfcCompositeCurveSegment);
4039     DECL_CONV_STUB(IfcCompositeProfileDef);
4040     DECL_CONV_STUB(IfcFlowMovingDeviceType);
4041     DECL_CONV_STUB(IfcCompressorType);
4042     DECL_CONV_STUB(IfcCondenserType);
4043     DECL_CONV_STUB(IfcCondition);
4044     DECL_CONV_STUB(IfcConditionCriterion);
4045     DECL_CONV_STUB(IfcResource);
4046     DECL_CONV_STUB(IfcConstructionResource);
4047     DECL_CONV_STUB(IfcConstructionEquipmentResource);
4048     DECL_CONV_STUB(IfcConstructionMaterialResource);
4049     DECL_CONV_STUB(IfcConstructionProductResource);
4050     DECL_CONV_STUB(IfcNamedUnit);
4051     DECL_CONV_STUB(IfcContextDependentUnit);
4052     DECL_CONV_STUB(IfcControllerType);
4053     DECL_CONV_STUB(IfcConversionBasedUnit);
4054     DECL_CONV_STUB(IfcCooledBeamType);
4055     DECL_CONV_STUB(IfcCoolingTowerType);
4056     DECL_CONV_STUB(IfcCostItem);
4057     DECL_CONV_STUB(IfcCostSchedule);
4058     DECL_CONV_STUB(IfcCovering);
4059     DECL_CONV_STUB(IfcCoveringType);
4060     DECL_CONV_STUB(IfcCraneRailAShapeProfileDef);
4061     DECL_CONV_STUB(IfcCraneRailFShapeProfileDef);
4062     DECL_CONV_STUB(IfcCrewResource);
4063     DECL_CONV_STUB(IfcSolidModel);
4064     DECL_CONV_STUB(IfcCsgSolid);
4065     DECL_CONV_STUB(IfcCurtainWall);
4066     DECL_CONV_STUB(IfcCurtainWallType);
4067     DECL_CONV_STUB(IfcCurveBoundedPlane);
4068     DECL_CONV_STUB(IfcPresentationStyle);
4069     DECL_CONV_STUB(IfcDamperType);
4070     DECL_CONV_STUB(IfcDefinedSymbol);
4071     DECL_CONV_STUB(IfcDerivedProfileDef);
4072     DECL_CONV_STUB(IfcDiameterDimension);
4073     DECL_CONV_STUB(IfcDimensionCurve);
4074     DECL_CONV_STUB(IfcTerminatorSymbol);
4075     DECL_CONV_STUB(IfcDimensionCurveTerminator);
4076     DECL_CONV_STUB(IfcDirection);
4077     DECL_CONV_STUB(IfcElementComponent);
4078     DECL_CONV_STUB(IfcDiscreteAccessory);
4079     DECL_CONV_STUB(IfcElementComponentType);
4080     DECL_CONV_STUB(IfcDiscreteAccessoryType);
4081     DECL_CONV_STUB(IfcDistributionElement);
4082     DECL_CONV_STUB(IfcDistributionFlowElement);
4083     DECL_CONV_STUB(IfcDistributionChamberElement);
4084     DECL_CONV_STUB(IfcDistributionChamberElementType);
4085     DECL_CONV_STUB(IfcDistributionControlElement);
4086     DECL_CONV_STUB(IfcPort);
4087     DECL_CONV_STUB(IfcDistributionPort);
4088     DECL_CONV_STUB(IfcDoor);
4089     DECL_CONV_STUB(IfcPropertyDefinition);
4090     DECL_CONV_STUB(IfcPropertySetDefinition);
4091     DECL_CONV_STUB(IfcDoorStyle);
4092     DECL_CONV_STUB(IfcDuctFittingType);
4093     DECL_CONV_STUB(IfcDuctSegmentType);
4094     DECL_CONV_STUB(IfcFlowTreatmentDeviceType);
4095     DECL_CONV_STUB(IfcDuctSilencerType);
4096     DECL_CONV_STUB(IfcEdge);
4097     DECL_CONV_STUB(IfcEdgeCurve);
4098     DECL_CONV_STUB(IfcLoop);
4099     DECL_CONV_STUB(IfcEdgeLoop);
4100     DECL_CONV_STUB(IfcElectricApplianceType);
4101     DECL_CONV_STUB(IfcFlowController);
4102     DECL_CONV_STUB(IfcElectricDistributionPoint);
4103     DECL_CONV_STUB(IfcFlowStorageDeviceType);
4104     DECL_CONV_STUB(IfcElectricFlowStorageDeviceType);
4105     DECL_CONV_STUB(IfcElectricGeneratorType);
4106     DECL_CONV_STUB(IfcElectricHeaterType);
4107     DECL_CONV_STUB(IfcElectricMotorType);
4108     DECL_CONV_STUB(IfcElectricTimeControlType);
4109     DECL_CONV_STUB(IfcSystem);
4110     DECL_CONV_STUB(IfcElectricalCircuit);
4111     DECL_CONV_STUB(IfcElectricalElement);
4112     DECL_CONV_STUB(IfcElementAssembly);
4113     DECL_CONV_STUB(IfcElementQuantity);
4114     DECL_CONV_STUB(IfcElementarySurface);
4115     DECL_CONV_STUB(IfcEllipse);
4116     DECL_CONV_STUB(IfcEllipseProfileDef);
4117     DECL_CONV_STUB(IfcEnergyConversionDevice);
4118     DECL_CONV_STUB(IfcEquipmentElement);
4119     DECL_CONV_STUB(IfcEquipmentStandard);
4120     DECL_CONV_STUB(IfcEvaporativeCoolerType);
4121     DECL_CONV_STUB(IfcEvaporatorType);
4122     DECL_CONV_STUB(IfcSweptAreaSolid);
4123     DECL_CONV_STUB(IfcExtrudedAreaSolid);
4124     DECL_CONV_STUB(IfcFace);
4125     DECL_CONV_STUB(IfcFaceBasedSurfaceModel);
4126     DECL_CONV_STUB(IfcFaceBound);
4127     DECL_CONV_STUB(IfcFaceOuterBound);
4128     DECL_CONV_STUB(IfcFaceSurface);
4129     DECL_CONV_STUB(IfcManifoldSolidBrep);
4130     DECL_CONV_STUB(IfcFacetedBrep);
4131     DECL_CONV_STUB(IfcFacetedBrepWithVoids);
4132     DECL_CONV_STUB(IfcFanType);
4133     DECL_CONV_STUB(IfcFastener);
4134     DECL_CONV_STUB(IfcFastenerType);
4135     DECL_CONV_STUB(IfcFeatureElementAddition);
4136     DECL_CONV_STUB(IfcFillAreaStyleHatching);
4137     DECL_CONV_STUB(IfcFillAreaStyleTileSymbolWithStyle);
4138     DECL_CONV_STUB(IfcFillAreaStyleTiles);
4139     DECL_CONV_STUB(IfcFilterType);
4140     DECL_CONV_STUB(IfcFireSuppressionTerminalType);
4141     DECL_CONV_STUB(IfcFlowFitting);
4142     DECL_CONV_STUB(IfcFlowInstrumentType);
4143     DECL_CONV_STUB(IfcFlowMeterType);
4144     DECL_CONV_STUB(IfcFlowMovingDevice);
4145     DECL_CONV_STUB(IfcFlowSegment);
4146     DECL_CONV_STUB(IfcFlowStorageDevice);
4147     DECL_CONV_STUB(IfcFlowTerminal);
4148     DECL_CONV_STUB(IfcFlowTreatmentDevice);
4149     DECL_CONV_STUB(IfcFooting);
4150     DECL_CONV_STUB(IfcFurnishingElement);
4151     DECL_CONV_STUB(IfcFurnishingElementType);
4152     DECL_CONV_STUB(IfcFurnitureStandard);
4153     DECL_CONV_STUB(IfcFurnitureType);
4154     DECL_CONV_STUB(IfcGasTerminalType);
4155     DECL_CONV_STUB(IfcGeometricSet);
4156     DECL_CONV_STUB(IfcGeometricCurveSet);
4157     DECL_CONV_STUB(IfcRepresentationContext);
4158     DECL_CONV_STUB(IfcGeometricRepresentationContext);
4159     DECL_CONV_STUB(IfcGeometricRepresentationSubContext);
4160     DECL_CONV_STUB(IfcGrid);
4161     DECL_CONV_STUB(IfcObjectPlacement);
4162     DECL_CONV_STUB(IfcGridPlacement);
4163     DECL_CONV_STUB(IfcHeatExchangerType);
4164     DECL_CONV_STUB(IfcHumidifierType);
4165     DECL_CONV_STUB(IfcInventory);
4166     DECL_CONV_STUB(IfcJunctionBoxType);
4167     DECL_CONV_STUB(IfcLShapeProfileDef);
4168     DECL_CONV_STUB(IfcLaborResource);
4169     DECL_CONV_STUB(IfcLampType);
4170     DECL_CONV_STUB(IfcLightFixtureType);
4171     DECL_CONV_STUB(IfcLightSource);
4172     DECL_CONV_STUB(IfcLightSourceAmbient);
4173     DECL_CONV_STUB(IfcLightSourceDirectional);
4174     DECL_CONV_STUB(IfcLightSourceGoniometric);
4175     DECL_CONV_STUB(IfcLightSourcePositional);
4176     DECL_CONV_STUB(IfcLightSourceSpot);
4177     DECL_CONV_STUB(IfcLine);
4178     DECL_CONV_STUB(IfcLinearDimension);
4179     DECL_CONV_STUB(IfcLocalPlacement);
4180     DECL_CONV_STUB(IfcMappedItem);
4181     DECL_CONV_STUB(IfcProductRepresentation);
4182     DECL_CONV_STUB(IfcMaterialDefinitionRepresentation);
4183     DECL_CONV_STUB(IfcMeasureWithUnit);
4184     DECL_CONV_STUB(IfcMechanicalFastener);
4185     DECL_CONV_STUB(IfcMechanicalFastenerType);
4186     DECL_CONV_STUB(IfcMember);
4187     DECL_CONV_STUB(IfcMemberType);
4188     DECL_CONV_STUB(IfcMotorConnectionType);
4189     DECL_CONV_STUB(IfcProcess);
4190     DECL_CONV_STUB(IfcTask);
4191     DECL_CONV_STUB(IfcMove);
4192     DECL_CONV_STUB(IfcOccupant);
4193     DECL_CONV_STUB(IfcOffsetCurve2D);
4194     DECL_CONV_STUB(IfcOffsetCurve3D);
4195     DECL_CONV_STUB(IfcOneDirectionRepeatFactor);
4196     DECL_CONV_STUB(IfcOpenShell);
4197     DECL_CONV_STUB(IfcOpeningElement);
4198     DECL_CONV_STUB(IfcOrderAction);
4199     DECL_CONV_STUB(IfcOrientedEdge);
4200     DECL_CONV_STUB(IfcOutletType);
4201     DECL_CONV_STUB(IfcPath);
4202     DECL_CONV_STUB(IfcPerformanceHistory);
4203     DECL_CONV_STUB(IfcPermit);
4204     DECL_CONV_STUB(IfcPile);
4205     DECL_CONV_STUB(IfcPipeFittingType);
4206     DECL_CONV_STUB(IfcPipeSegmentType);
4207     DECL_CONV_STUB(IfcPlanarExtent);
4208     DECL_CONV_STUB(IfcPlanarBox);
4209     DECL_CONV_STUB(IfcPlane);
4210     DECL_CONV_STUB(IfcPlate);
4211     DECL_CONV_STUB(IfcPlateType);
4212     DECL_CONV_STUB(IfcPointOnCurve);
4213     DECL_CONV_STUB(IfcPointOnSurface);
4214     DECL_CONV_STUB(IfcPolyLoop);
4215     DECL_CONV_STUB(IfcPolygonalBoundedHalfSpace);
4216     DECL_CONV_STUB(IfcPolyline);
4217     DECL_CONV_STUB(IfcPresentationStyleAssignment);
4218     DECL_CONV_STUB(IfcProcedure);
4219     DECL_CONV_STUB(IfcProductDefinitionShape);
4220     DECL_CONV_STUB(IfcProject);
4221     DECL_CONV_STUB(IfcProjectOrder);
4222     DECL_CONV_STUB(IfcProjectOrderRecord);
4223     DECL_CONV_STUB(IfcProjectionCurve);
4224     DECL_CONV_STUB(IfcProjectionElement);
4225     DECL_CONV_STUB(IfcSimpleProperty);
4226     DECL_CONV_STUB(IfcPropertyBoundedValue);
4227     DECL_CONV_STUB(IfcPropertyEnumeratedValue);
4228     DECL_CONV_STUB(IfcPropertyListValue);
4229     DECL_CONV_STUB(IfcPropertyReferenceValue);
4230     DECL_CONV_STUB(IfcPropertySet);
4231     DECL_CONV_STUB(IfcPropertySingleValue);
4232     DECL_CONV_STUB(IfcPropertyTableValue);
4233     DECL_CONV_STUB(IfcProtectiveDeviceType);
4234     DECL_CONV_STUB(IfcProxy);
4235     DECL_CONV_STUB(IfcPumpType);
4236     DECL_CONV_STUB(IfcRadiusDimension);
4237     DECL_CONV_STUB(IfcRailing);
4238     DECL_CONV_STUB(IfcRailingType);
4239     DECL_CONV_STUB(IfcRamp);
4240     DECL_CONV_STUB(IfcRampFlight);
4241     DECL_CONV_STUB(IfcRampFlightType);
4242     DECL_CONV_STUB(IfcRationalBezierCurve);
4243     DECL_CONV_STUB(IfcRectangleProfileDef);
4244     DECL_CONV_STUB(IfcRectangleHollowProfileDef);
4245     DECL_CONV_STUB(IfcRectangularPyramid);
4246     DECL_CONV_STUB(IfcRectangularTrimmedSurface);
4247     DECL_CONV_STUB(IfcReinforcingElement);
4248     DECL_CONV_STUB(IfcReinforcingBar);
4249     DECL_CONV_STUB(IfcReinforcingMesh);
4250     DECL_CONV_STUB(IfcRelationship);
4251     DECL_CONV_STUB(IfcRelDecomposes);
4252     DECL_CONV_STUB(IfcRelAggregates);
4253     DECL_CONV_STUB(IfcRelConnects);
4254     DECL_CONV_STUB(IfcRelContainedInSpatialStructure);
4255     DECL_CONV_STUB(IfcRelDefines);
4256     DECL_CONV_STUB(IfcRelDefinesByProperties);
4257     DECL_CONV_STUB(IfcRelFillsElement);
4258     DECL_CONV_STUB(IfcRelOverridesProperties);
4259     DECL_CONV_STUB(IfcRelVoidsElement);
4260     DECL_CONV_STUB(IfcRepresentation);
4261     DECL_CONV_STUB(IfcRepresentationMap);
4262     DECL_CONV_STUB(IfcRevolvedAreaSolid);
4263     DECL_CONV_STUB(IfcRightCircularCone);
4264     DECL_CONV_STUB(IfcRightCircularCylinder);
4265     DECL_CONV_STUB(IfcRoof);
4266     DECL_CONV_STUB(IfcRoundedEdgeFeature);
4267     DECL_CONV_STUB(IfcRoundedRectangleProfileDef);
4268     DECL_CONV_STUB(IfcSIUnit);
4269     DECL_CONV_STUB(IfcSanitaryTerminalType);
4270     DECL_CONV_STUB(IfcScheduleTimeControl);
4271     DECL_CONV_STUB(IfcSectionedSpine);
4272     DECL_CONV_STUB(IfcSensorType);
4273     DECL_CONV_STUB(IfcServiceLife);
4274     DECL_CONV_STUB(IfcShapeModel);
4275     DECL_CONV_STUB(IfcShapeRepresentation);
4276     DECL_CONV_STUB(IfcShellBasedSurfaceModel);
4277     DECL_CONV_STUB(IfcSite);
4278     DECL_CONV_STUB(IfcSlab);
4279     DECL_CONV_STUB(IfcSlabType);
4280     DECL_CONV_STUB(IfcSpace);
4281     DECL_CONV_STUB(IfcSpaceHeaterType);
4282     DECL_CONV_STUB(IfcSpaceProgram);
4283     DECL_CONV_STUB(IfcSpatialStructureElementType);
4284     DECL_CONV_STUB(IfcSpaceType);
4285     DECL_CONV_STUB(IfcSphere);
4286     DECL_CONV_STUB(IfcStackTerminalType);
4287     DECL_CONV_STUB(IfcStair);
4288     DECL_CONV_STUB(IfcStairFlight);
4289     DECL_CONV_STUB(IfcStairFlightType);
4290     DECL_CONV_STUB(IfcStructuralActivity);
4291     DECL_CONV_STUB(IfcStructuralAction);
4292     DECL_CONV_STUB(IfcStructuralAnalysisModel);
4293     DECL_CONV_STUB(IfcStructuralItem);
4294     DECL_CONV_STUB(IfcStructuralConnection);
4295     DECL_CONV_STUB(IfcStructuralCurveConnection);
4296     DECL_CONV_STUB(IfcStructuralMember);
4297     DECL_CONV_STUB(IfcStructuralCurveMember);
4298     DECL_CONV_STUB(IfcStructuralCurveMemberVarying);
4299     DECL_CONV_STUB(IfcStructuralLinearAction);
4300     DECL_CONV_STUB(IfcStructuralLinearActionVarying);
4301     DECL_CONV_STUB(IfcStructuralLoadGroup);
4302     DECL_CONV_STUB(IfcStructuralPlanarAction);
4303     DECL_CONV_STUB(IfcStructuralPlanarActionVarying);
4304     DECL_CONV_STUB(IfcStructuralPointAction);
4305     DECL_CONV_STUB(IfcStructuralPointConnection);
4306     DECL_CONV_STUB(IfcStructuralReaction);
4307     DECL_CONV_STUB(IfcStructuralPointReaction);
4308     DECL_CONV_STUB(IfcStructuralResultGroup);
4309     DECL_CONV_STUB(IfcStructuralSurfaceConnection);
4310     DECL_CONV_STUB(IfcStructuralSurfaceMember);
4311     DECL_CONV_STUB(IfcStructuralSurfaceMemberVarying);
4312     DECL_CONV_STUB(IfcStructuredDimensionCallout);
4313     DECL_CONV_STUB(IfcStyleModel);
4314     DECL_CONV_STUB(IfcStyledRepresentation);
4315     DECL_CONV_STUB(IfcSubContractResource);
4316     DECL_CONV_STUB(IfcSubedge);
4317     DECL_CONV_STUB(IfcSurfaceCurveSweptAreaSolid);
4318     DECL_CONV_STUB(IfcSweptSurface);
4319     DECL_CONV_STUB(IfcSurfaceOfLinearExtrusion);
4320     DECL_CONV_STUB(IfcSurfaceOfRevolution);
4321     DECL_CONV_STUB(IfcSurfaceStyle);
4322     DECL_CONV_STUB(IfcSurfaceStyleShading);
4323     DECL_CONV_STUB(IfcSurfaceStyleRendering);
4324     DECL_CONV_STUB(IfcSurfaceStyleWithTextures);
4325     DECL_CONV_STUB(IfcSweptDiskSolid);
4326     DECL_CONV_STUB(IfcSwitchingDeviceType);
4327     DECL_CONV_STUB(IfcSystemFurnitureElementType);
4328     DECL_CONV_STUB(IfcTShapeProfileDef);
4329     DECL_CONV_STUB(IfcTankType);
4330     DECL_CONV_STUB(IfcTendon);
4331     DECL_CONV_STUB(IfcTendonAnchor);
4332     DECL_CONV_STUB(IfcTextLiteral);
4333     DECL_CONV_STUB(IfcTextLiteralWithExtent);
4334     DECL_CONV_STUB(IfcTimeSeriesSchedule);
4335     DECL_CONV_STUB(IfcTopologyRepresentation);
4336     DECL_CONV_STUB(IfcTransformerType);
4337     DECL_CONV_STUB(IfcTransportElement);
4338     DECL_CONV_STUB(IfcTransportElementType);
4339     DECL_CONV_STUB(IfcTrapeziumProfileDef);
4340     DECL_CONV_STUB(IfcTrimmedCurve);
4341     DECL_CONV_STUB(IfcTubeBundleType);
4342     DECL_CONV_STUB(IfcTwoDirectionRepeatFactor);
4343     DECL_CONV_STUB(IfcUShapeProfileDef);
4344     DECL_CONV_STUB(IfcUnitAssignment);
4345     DECL_CONV_STUB(IfcUnitaryEquipmentType);
4346     DECL_CONV_STUB(IfcValveType);
4347     DECL_CONV_STUB(IfcVector);
4348     DECL_CONV_STUB(IfcVertex);
4349     DECL_CONV_STUB(IfcVertexLoop);
4350     DECL_CONV_STUB(IfcVertexPoint);
4351     DECL_CONV_STUB(IfcVibrationIsolatorType);
4352     DECL_CONV_STUB(IfcVirtualElement);
4353     DECL_CONV_STUB(IfcWall);
4354     DECL_CONV_STUB(IfcWallStandardCase);
4355     DECL_CONV_STUB(IfcWallType);
4356     DECL_CONV_STUB(IfcWasteTerminalType);
4357     DECL_CONV_STUB(IfcWindow);
4358     DECL_CONV_STUB(IfcWindowStyle);
4359     DECL_CONV_STUB(IfcWorkControl);
4360     DECL_CONV_STUB(IfcWorkPlan);
4361     DECL_CONV_STUB(IfcWorkSchedule);
4362     DECL_CONV_STUB(IfcZShapeProfileDef);
4363     DECL_CONV_STUB(IfcZone);
4364 
4365 
4366 #undef DECL_CONV_STUB
4367 
4368 } //! STEP
4369 } //! Assimp
4370 
4371 #endif // INCLUDED_IFC_READER_GEN_H
4372