vrshoot

diff libs/assimp/IFCReaderGen.h @ 0:b2f14e535253

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Sat, 01 Feb 2014 19:58:19 +0200
parents
children
line diff
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/libs/assimp/IFCReaderGen.h	Sat Feb 01 19:58:19 2014 +0200
     1.3 @@ -0,0 +1,4368 @@
     1.4 +/*
     1.5 +Open Asset Import Library (ASSIMP)
     1.6 +----------------------------------------------------------------------
     1.7 +
     1.8 +Copyright (c) 2006-2010, ASSIMP Development Team
     1.9 +All rights reserved.
    1.10 +
    1.11 +Redistribution and use of this software in source and binary forms, 
    1.12 +with or without modification, are permitted provided that the 
    1.13 +following conditions are met:
    1.14 +
    1.15 +* Redistributions of source code must retain the above
    1.16 +  copyright notice, this list of conditions and the
    1.17 +  following disclaimer.
    1.18 +
    1.19 +* Redistributions in binary form must reproduce the above
    1.20 +  copyright notice, this list of conditions and the
    1.21 +  following disclaimer in the documentation and/or other
    1.22 +  materials provided with the distribution.
    1.23 +
    1.24 +* Neither the name of the ASSIMP team, nor the names of its
    1.25 +  contributors may be used to endorse or promote products
    1.26 +  derived from this software without specific prior
    1.27 +  written permission of the ASSIMP Development Team.
    1.28 +
    1.29 +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 
    1.30 +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 
    1.31 +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    1.32 +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 
    1.33 +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    1.34 +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 
    1.35 +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    1.36 +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 
    1.37 +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 
    1.38 +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 
    1.39 +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    1.40 +
    1.41 +----------------------------------------------------------------------
    1.42 +*/
    1.43 +
    1.44 +/** MACHINE-GENERATED by scripts/ICFImporter/CppGenerator.py */
    1.45 +
    1.46 +#ifndef INCLUDED_IFC_READER_GEN_H
    1.47 +#define INCLUDED_IFC_READER_GEN_H
    1.48 +
    1.49 +#include "STEPFile.h"
    1.50 +
    1.51 +namespace Assimp {
    1.52 +namespace IFC {
    1.53 +	using namespace STEP;
    1.54 +	using namespace STEP::EXPRESS;
    1.55 +	
    1.56 +	
    1.57 +	struct NotImplemented : public ObjectHelper<NotImplemented,0> {
    1.58 +		
    1.59 +	};
    1.60 +	
    1.61 +
    1.62 +	// ******************************************************************************
    1.63 +	// IFC Custom data types
    1.64 +	// ******************************************************************************
    1.65 +
    1.66 +
    1.67 +    // C++ wrapper type for IfcStairTypeEnum
    1.68 +    typedef ENUMERATION IfcStairTypeEnum;
    1.69 +    // C++ wrapper type for IfcSpaceTypeEnum
    1.70 +    typedef ENUMERATION IfcSpaceTypeEnum;
    1.71 +    // C++ wrapper type for IfcWallTypeEnum
    1.72 +    typedef ENUMERATION IfcWallTypeEnum;
    1.73 +    // C++ wrapper type for IfcMonthInYearNumber
    1.74 +    typedef INTEGER IfcMonthInYearNumber;
    1.75 +    // C++ wrapper type for IfcHeatFluxDensityMeasure
    1.76 +    typedef REAL IfcHeatFluxDensityMeasure;
    1.77 +    // C++ wrapper type for IfcKinematicViscosityMeasure
    1.78 +    typedef REAL IfcKinematicViscosityMeasure;
    1.79 +    // C++ wrapper type for IfcSequenceEnum
    1.80 +    typedef ENUMERATION IfcSequenceEnum;
    1.81 +    // C++ wrapper type for IfcAirToAirHeatRecoveryTypeEnum
    1.82 +    typedef ENUMERATION IfcAirToAirHeatRecoveryTypeEnum;
    1.83 +    // C++ wrapper type for IfcActorSelect
    1.84 +    typedef SELECT IfcActorSelect;
    1.85 +    // C++ wrapper type for IfcTransformerTypeEnum
    1.86 +    typedef ENUMERATION IfcTransformerTypeEnum;
    1.87 +    // C++ wrapper type for IfcUnitaryEquipmentTypeEnum
    1.88 +    typedef ENUMERATION IfcUnitaryEquipmentTypeEnum;
    1.89 +    // C++ wrapper type for IfcElectricFlowStorageDeviceTypeEnum
    1.90 +    typedef ENUMERATION IfcElectricFlowStorageDeviceTypeEnum;
    1.91 +    // C++ wrapper type for IfcEnergySequenceEnum
    1.92 +    typedef ENUMERATION IfcEnergySequenceEnum;
    1.93 +    // C++ wrapper type for IfcWorkControlTypeEnum
    1.94 +    typedef ENUMERATION IfcWorkControlTypeEnum;
    1.95 +    // C++ wrapper type for IfcCurvatureMeasure
    1.96 +    typedef REAL IfcCurvatureMeasure;
    1.97 +    // C++ wrapper type for IfcParameterValue
    1.98 +    typedef REAL IfcParameterValue;
    1.99 +    // C++ wrapper type for IfcAppliedValueSelect
   1.100 +    typedef SELECT IfcAppliedValueSelect;
   1.101 +    // C++ wrapper type for IfcWarpingConstantMeasure
   1.102 +    typedef REAL IfcWarpingConstantMeasure;
   1.103 +    // C++ wrapper type for IfcArithmeticOperatorEnum
   1.104 +    typedef ENUMERATION IfcArithmeticOperatorEnum;
   1.105 +    // C++ wrapper type for IfcLinearForceMeasure
   1.106 +    typedef REAL IfcLinearForceMeasure;
   1.107 +    // C++ wrapper type for IfcWindowPanelPositionEnum
   1.108 +    typedef ENUMERATION IfcWindowPanelPositionEnum;
   1.109 +    // C++ wrapper type for IfcFlowMeterTypeEnum
   1.110 +    typedef ENUMERATION IfcFlowMeterTypeEnum;
   1.111 +    // C++ wrapper type for IfcRampFlightTypeEnum
   1.112 +    typedef ENUMERATION IfcRampFlightTypeEnum;
   1.113 +    // C++ wrapper type for IfcSpecularHighlightSelect
   1.114 +    typedef SELECT IfcSpecularHighlightSelect;
   1.115 +    // C++ wrapper type for IfcActionTypeEnum
   1.116 +    typedef ENUMERATION IfcActionTypeEnum;
   1.117 +    // C++ wrapper type for IfcGeometricProjectionEnum
   1.118 +    typedef ENUMERATION IfcGeometricProjectionEnum;
   1.119 +    // C++ wrapper type for IfcTimeSeriesDataTypeEnum
   1.120 +    typedef ENUMERATION IfcTimeSeriesDataTypeEnum;
   1.121 +    // C++ wrapper type for IfcMagneticFluxMeasure
   1.122 +    typedef REAL IfcMagneticFluxMeasure;
   1.123 +    // C++ wrapper type for IfcObjectTypeEnum
   1.124 +    typedef ENUMERATION IfcObjectTypeEnum;
   1.125 +    // C++ wrapper type for IfcDataOriginEnum
   1.126 +    typedef ENUMERATION IfcDataOriginEnum;
   1.127 +    // C++ wrapper type for IfcMassDensityMeasure
   1.128 +    typedef REAL IfcMassDensityMeasure;
   1.129 +    // C++ wrapper type for IfcLightFixtureTypeEnum
   1.130 +    typedef ENUMERATION IfcLightFixtureTypeEnum;
   1.131 +    // C++ wrapper type for IfcServiceLifeTypeEnum
   1.132 +    typedef ENUMERATION IfcServiceLifeTypeEnum;
   1.133 +    // C++ wrapper type for IfcElectricVoltageMeasure
   1.134 +    typedef REAL IfcElectricVoltageMeasure;
   1.135 +    // C++ wrapper type for IfcHeatingValueMeasure
   1.136 +    typedef REAL IfcHeatingValueMeasure;
   1.137 +    // C++ wrapper type for IfcPresentableText
   1.138 +    typedef STRING IfcPresentableText;
   1.139 +    // C++ wrapper type for IfcAheadOrBehind
   1.140 +    typedef ENUMERATION IfcAheadOrBehind;
   1.141 +    // C++ wrapper type for IfcSimpleValue
   1.142 +    typedef SELECT IfcSimpleValue;
   1.143 +    // C++ wrapper type for IfcSensorTypeEnum
   1.144 +    typedef ENUMERATION IfcSensorTypeEnum;
   1.145 +    // C++ wrapper type for IfcDerivedUnitEnum
   1.146 +    typedef ENUMERATION IfcDerivedUnitEnum;
   1.147 +    // C++ wrapper type for IfcSizeSelect
   1.148 +    typedef SELECT IfcSizeSelect;
   1.149 +    // C++ wrapper type for IfcTransportElementTypeEnum
   1.150 +    typedef ENUMERATION IfcTransportElementTypeEnum;
   1.151 +    // C++ wrapper type for IfcInventoryTypeEnum
   1.152 +    typedef ENUMERATION IfcInventoryTypeEnum;
   1.153 +    // C++ wrapper type for IfcTextDecoration
   1.154 +    typedef STRING IfcTextDecoration;
   1.155 +    // C++ wrapper type for IfcDirectionSenseEnum
   1.156 +    typedef ENUMERATION IfcDirectionSenseEnum;
   1.157 +    // C++ wrapper type for IfcDuctFittingTypeEnum
   1.158 +    typedef ENUMERATION IfcDuctFittingTypeEnum;
   1.159 +    // C++ wrapper type for IfcDocumentStatusEnum
   1.160 +    typedef ENUMERATION IfcDocumentStatusEnum;
   1.161 +    // C++ wrapper type for IfcSlabTypeEnum
   1.162 +    typedef ENUMERATION IfcSlabTypeEnum;
   1.163 +    // C++ wrapper type for IfcDoorStyleConstructionEnum
   1.164 +    typedef ENUMERATION IfcDoorStyleConstructionEnum;
   1.165 +    // C++ wrapper type for IfcVolumeMeasure
   1.166 +    typedef REAL IfcVolumeMeasure;
   1.167 +    // C++ wrapper type for IfcInductanceMeasure
   1.168 +    typedef REAL IfcInductanceMeasure;
   1.169 +    // C++ wrapper type for IfcCurtainWallTypeEnum
   1.170 +    typedef ENUMERATION IfcCurtainWallTypeEnum;
   1.171 +    // C++ wrapper type for IfcSIUnitName
   1.172 +    typedef ENUMERATION IfcSIUnitName;
   1.173 +    // C++ wrapper type for IfcSpecularExponent
   1.174 +    typedef REAL IfcSpecularExponent;
   1.175 +    // C++ wrapper type for IfcSoundPressureMeasure
   1.176 +    typedef REAL IfcSoundPressureMeasure;
   1.177 +    // C++ wrapper type for IfcAnalysisTheoryTypeEnum
   1.178 +    typedef ENUMERATION IfcAnalysisTheoryTypeEnum;
   1.179 +    // C++ wrapper type for IfcGasTerminalTypeEnum
   1.180 +    typedef ENUMERATION IfcGasTerminalTypeEnum;
   1.181 +    // C++ wrapper type for IfcYearNumber
   1.182 +    typedef INTEGER IfcYearNumber;
   1.183 +    // C++ wrapper type for IfcModulusOfElasticityMeasure
   1.184 +    typedef REAL IfcModulusOfElasticityMeasure;
   1.185 +    // C++ wrapper type for IfcChangeActionEnum
   1.186 +    typedef ENUMERATION IfcChangeActionEnum;
   1.187 +    // C++ wrapper type for IfcDamperTypeEnum
   1.188 +    typedef ENUMERATION IfcDamperTypeEnum;
   1.189 +    // C++ wrapper type for IfcEvaporatorTypeEnum
   1.190 +    typedef ENUMERATION IfcEvaporatorTypeEnum;
   1.191 +    // C++ wrapper type for IfcIonConcentrationMeasure
   1.192 +    typedef REAL IfcIonConcentrationMeasure;
   1.193 +    // C++ wrapper type for IfcDuctSegmentTypeEnum
   1.194 +    typedef ENUMERATION IfcDuctSegmentTypeEnum;
   1.195 +    // C++ wrapper type for IfcProtectiveDeviceTypeEnum
   1.196 +    typedef ENUMERATION IfcProtectiveDeviceTypeEnum;
   1.197 +    // C++ wrapper type for IfcAbsorbedDoseMeasure
   1.198 +    typedef REAL IfcAbsorbedDoseMeasure;
   1.199 +    // C++ wrapper type for IfcMassPerLengthMeasure
   1.200 +    typedef REAL IfcMassPerLengthMeasure;
   1.201 +    // C++ wrapper type for IfcTextFontName
   1.202 +    typedef STRING IfcTextFontName;
   1.203 +    // C++ wrapper type for IfcOrientationSelect
   1.204 +    typedef SELECT IfcOrientationSelect;
   1.205 +    // C++ wrapper type for IfcIlluminanceMeasure
   1.206 +    typedef REAL IfcIlluminanceMeasure;
   1.207 +    // C++ wrapper type for IfcFireSuppressionTerminalTypeEnum
   1.208 +    typedef ENUMERATION IfcFireSuppressionTerminalTypeEnum;
   1.209 +    // C++ wrapper type for IfcFontStyle
   1.210 +    typedef STRING IfcFontStyle;
   1.211 +    // C++ wrapper type for IfcMomentOfInertiaMeasure
   1.212 +    typedef REAL IfcMomentOfInertiaMeasure;
   1.213 +    // C++ wrapper type for IfcModulusOfSubgradeReactionMeasure
   1.214 +    typedef REAL IfcModulusOfSubgradeReactionMeasure;
   1.215 +    // C++ wrapper type for IfcHumidifierTypeEnum
   1.216 +    typedef ENUMERATION IfcHumidifierTypeEnum;
   1.217 +    // C++ wrapper type for IfcPresentationStyleSelect
   1.218 +    typedef SELECT IfcPresentationStyleSelect;
   1.219 +    // C++ wrapper type for IfcThermalTransmittanceMeasure
   1.220 +    typedef REAL IfcThermalTransmittanceMeasure;
   1.221 +    // C++ wrapper type for IfcRibPlateDirectionEnum
   1.222 +    typedef ENUMERATION IfcRibPlateDirectionEnum;
   1.223 +    // C++ wrapper type for IfcClassificationNotationSelect
   1.224 +    typedef SELECT IfcClassificationNotationSelect;
   1.225 +    // C++ wrapper type for IfcMinuteInHour
   1.226 +    typedef INTEGER IfcMinuteInHour;
   1.227 +    // C++ wrapper type for IfcInternalOrExternalEnum
   1.228 +    typedef ENUMERATION IfcInternalOrExternalEnum;
   1.229 +    // C++ wrapper type for IfcRotationalFrequencyMeasure
   1.230 +    typedef REAL IfcRotationalFrequencyMeasure;
   1.231 +    // C++ wrapper type for IfcSanitaryTerminalTypeEnum
   1.232 +    typedef ENUMERATION IfcSanitaryTerminalTypeEnum;
   1.233 +    // C++ wrapper type for IfcSymbolStyleSelect
   1.234 +    typedef SELECT IfcSymbolStyleSelect;
   1.235 +    // C++ wrapper type for IfcElementCompositionEnum
   1.236 +    typedef ENUMERATION IfcElementCompositionEnum;
   1.237 +    // C++ wrapper type for IfcTextPath
   1.238 +    typedef ENUMERATION IfcTextPath;
   1.239 +    // C++ wrapper type for IfcPowerMeasure
   1.240 +    typedef REAL IfcPowerMeasure;
   1.241 +    // C++ wrapper type for IfcSurfaceStyleElementSelect
   1.242 +    typedef SELECT IfcSurfaceStyleElementSelect;
   1.243 +    // C++ wrapper type for IfcResourceConsumptionEnum
   1.244 +    typedef ENUMERATION IfcResourceConsumptionEnum;
   1.245 +    // C++ wrapper type for IfcElectricCapacitanceMeasure
   1.246 +    typedef REAL IfcElectricCapacitanceMeasure;
   1.247 +    // C++ wrapper type for IfcLayerSetDirectionEnum
   1.248 +    typedef ENUMERATION IfcLayerSetDirectionEnum;
   1.249 +    // C++ wrapper type for IfcRailingTypeEnum
   1.250 +    typedef ENUMERATION IfcRailingTypeEnum;
   1.251 +    // C++ wrapper type for IfcObjectiveEnum
   1.252 +    typedef ENUMERATION IfcObjectiveEnum;
   1.253 +    // C++ wrapper type for IfcDocumentSelect
   1.254 +    typedef SELECT IfcDocumentSelect;
   1.255 +    // C++ wrapper type for IfcModulusOfLinearSubgradeReactionMeasure
   1.256 +    typedef REAL IfcModulusOfLinearSubgradeReactionMeasure;
   1.257 +    // C++ wrapper type for IfcThermalAdmittanceMeasure
   1.258 +    typedef REAL IfcThermalAdmittanceMeasure;
   1.259 +    // C++ wrapper type for IfcTransitionCode
   1.260 +    typedef ENUMERATION IfcTransitionCode;
   1.261 +    // C++ wrapper type for IfcConnectionTypeEnum
   1.262 +    typedef ENUMERATION IfcConnectionTypeEnum;
   1.263 +    // C++ wrapper type for IfcMonetaryMeasure
   1.264 +    typedef REAL IfcMonetaryMeasure;
   1.265 +    // C++ wrapper type for IfcStackTerminalTypeEnum
   1.266 +    typedef ENUMERATION IfcStackTerminalTypeEnum;
   1.267 +    // C++ wrapper type for IfcColour
   1.268 +    typedef SELECT IfcColour;
   1.269 +    // C++ wrapper type for IfcText
   1.270 +    typedef STRING IfcText;
   1.271 +    // C++ wrapper type for IfcContextDependentMeasure
   1.272 +    typedef REAL IfcContextDependentMeasure;
   1.273 +    // C++ wrapper type for IfcThermalConductivityMeasure
   1.274 +    typedef REAL IfcThermalConductivityMeasure;
   1.275 +    // C++ wrapper type for IfcProjectedOrTrueLengthEnum
   1.276 +    typedef ENUMERATION IfcProjectedOrTrueLengthEnum;
   1.277 +    // C++ wrapper type for IfcPressureMeasure
   1.278 +    typedef REAL IfcPressureMeasure;
   1.279 +    // C++ wrapper type for IfcMoistureDiffusivityMeasure
   1.280 +    typedef REAL IfcMoistureDiffusivityMeasure;
   1.281 +    // C++ wrapper type for IfcBooleanOperator
   1.282 +    typedef ENUMERATION IfcBooleanOperator;
   1.283 +    // C++ wrapper type for IfcPropertySourceEnum
   1.284 +    typedef ENUMERATION IfcPropertySourceEnum;
   1.285 +    // C++ wrapper type for IfcTimeStamp
   1.286 +    typedef INTEGER IfcTimeStamp;
   1.287 +    // C++ wrapper type for IfcMaterialSelect
   1.288 +    typedef SELECT IfcMaterialSelect;
   1.289 +    // C++ wrapper type for IfcGloballyUniqueId
   1.290 +    typedef STRING IfcGloballyUniqueId;
   1.291 +    // C++ wrapper type for IfcReflectanceMethodEnum
   1.292 +    typedef ENUMERATION IfcReflectanceMethodEnum;
   1.293 +    // C++ wrapper type for IfcVaporPermeabilityMeasure
   1.294 +    typedef REAL IfcVaporPermeabilityMeasure;
   1.295 +    // C++ wrapper type for IfcTimeSeriesScheduleTypeEnum
   1.296 +    typedef ENUMERATION IfcTimeSeriesScheduleTypeEnum;
   1.297 +    // C++ wrapper type for IfcLinearMomentMeasure
   1.298 +    typedef REAL IfcLinearMomentMeasure;
   1.299 +    // C++ wrapper type for IfcGeometricSetSelect
   1.300 +    typedef SELECT IfcGeometricSetSelect;
   1.301 +    // C++ wrapper type for IfcSectionModulusMeasure
   1.302 +    typedef REAL IfcSectionModulusMeasure;
   1.303 +    // C++ wrapper type for IfcBSplineCurveForm
   1.304 +    typedef ENUMERATION IfcBSplineCurveForm;
   1.305 +    // C++ wrapper type for IfcDimensionExtentUsage
   1.306 +    typedef ENUMERATION IfcDimensionExtentUsage;
   1.307 +    // C++ wrapper type for IfcThermalExpansionCoefficientMeasure
   1.308 +    typedef REAL IfcThermalExpansionCoefficientMeasure;
   1.309 +    // C++ wrapper type for IfcHourInDay
   1.310 +    typedef INTEGER IfcHourInDay;
   1.311 +    // C++ wrapper type for IfcLinearVelocityMeasure
   1.312 +    typedef REAL IfcLinearVelocityMeasure;
   1.313 +    // C++ wrapper type for IfcTorqueMeasure
   1.314 +    typedef REAL IfcTorqueMeasure;
   1.315 +    // C++ wrapper type for IfcTemperatureGradientMeasure
   1.316 +    typedef REAL IfcTemperatureGradientMeasure;
   1.317 +    // C++ wrapper type for IfcFillStyleSelect
   1.318 +    typedef SELECT IfcFillStyleSelect;
   1.319 +    // C++ wrapper type for IfcElectricChargeMeasure
   1.320 +    typedef REAL IfcElectricChargeMeasure;
   1.321 +    // C++ wrapper type for IfcHeatExchangerTypeEnum
   1.322 +    typedef ENUMERATION IfcHeatExchangerTypeEnum;
   1.323 +    // C++ wrapper type for IfcElectricCurrentEnum
   1.324 +    typedef ENUMERATION IfcElectricCurrentEnum;
   1.325 +    // C++ wrapper type for IfcDaylightSavingHour
   1.326 +    typedef INTEGER IfcDaylightSavingHour;
   1.327 +    // C++ wrapper type for IfcShell
   1.328 +    typedef SELECT IfcShell;
   1.329 +    // C++ wrapper type for IfcDoseEquivalentMeasure
   1.330 +    typedef REAL IfcDoseEquivalentMeasure;
   1.331 +    // C++ wrapper type for IfcProjectOrderTypeEnum
   1.332 +    typedef ENUMERATION IfcProjectOrderTypeEnum;
   1.333 +    // C++ wrapper type for IfcDerivedMeasureValue
   1.334 +    typedef SELECT IfcDerivedMeasureValue;
   1.335 +    // C++ wrapper type for IfcLightDistributionCurveEnum
   1.336 +    typedef ENUMERATION IfcLightDistributionCurveEnum;
   1.337 +    // C++ wrapper type for IfcWarpingMomentMeasure
   1.338 +    typedef REAL IfcWarpingMomentMeasure;
   1.339 +    // C++ wrapper type for IfcMemberTypeEnum
   1.340 +    typedef ENUMERATION IfcMemberTypeEnum;
   1.341 +    // C++ wrapper type for IfcSoundPowerMeasure
   1.342 +    typedef REAL IfcSoundPowerMeasure;
   1.343 +    // C++ wrapper type for IfcTextAlignment
   1.344 +    typedef STRING IfcTextAlignment;
   1.345 +    // C++ wrapper type for IfcCurveOrEdgeCurve
   1.346 +    typedef SELECT IfcCurveOrEdgeCurve;
   1.347 +    // C++ wrapper type for IfcMassFlowRateMeasure
   1.348 +    typedef REAL IfcMassFlowRateMeasure;
   1.349 +    // C++ wrapper type for IfcIsothermalMoistureCapacityMeasure
   1.350 +    typedef REAL IfcIsothermalMoistureCapacityMeasure;
   1.351 +    // C++ wrapper type for IfcCsgSelect
   1.352 +    typedef SELECT IfcCsgSelect;
   1.353 +    // C++ wrapper type for IfcCoolingTowerTypeEnum
   1.354 +    typedef ENUMERATION IfcCoolingTowerTypeEnum;
   1.355 +    // C++ wrapper type for IfcMassMeasure
   1.356 +    typedef REAL IfcMassMeasure;
   1.357 +    // C++ wrapper type for IfcPileConstructionEnum
   1.358 +    typedef ENUMERATION IfcPileConstructionEnum;
   1.359 +    // C++ wrapper type for IfcDoorStyleOperationEnum
   1.360 +    typedef ENUMERATION IfcDoorStyleOperationEnum;
   1.361 +    // C++ wrapper type for IfcFlowDirectionEnum
   1.362 +    typedef ENUMERATION IfcFlowDirectionEnum;
   1.363 +    // C++ wrapper type for IfcThermalLoadSourceEnum
   1.364 +    typedef ENUMERATION IfcThermalLoadSourceEnum;
   1.365 +    // C++ wrapper type for IfcLengthMeasure
   1.366 +    typedef REAL IfcLengthMeasure;
   1.367 +    // C++ wrapper type for IfcConstraintEnum
   1.368 +    typedef ENUMERATION IfcConstraintEnum;
   1.369 +    // C++ wrapper type for IfcAxis2Placement
   1.370 +    typedef SELECT IfcAxis2Placement;
   1.371 +    // C++ wrapper type for IfcLoadGroupTypeEnum
   1.372 +    typedef ENUMERATION IfcLoadGroupTypeEnum;
   1.373 +    // C++ wrapper type for IfcValue
   1.374 +    typedef SELECT IfcValue;
   1.375 +    // C++ wrapper type for IfcReinforcingBarSurfaceEnum
   1.376 +    typedef ENUMERATION IfcReinforcingBarSurfaceEnum;
   1.377 +    // C++ wrapper type for IfcProjectOrderRecordTypeEnum
   1.378 +    typedef ENUMERATION IfcProjectOrderRecordTypeEnum;
   1.379 +    // C++ wrapper type for IfcDateTimeSelect
   1.380 +    typedef SELECT IfcDateTimeSelect;
   1.381 +    // C++ wrapper type for IfcStructuralSurfaceTypeEnum
   1.382 +    typedef ENUMERATION IfcStructuralSurfaceTypeEnum;
   1.383 +    // C++ wrapper type for IfcPermeableCoveringOperationEnum
   1.384 +    typedef ENUMERATION IfcPermeableCoveringOperationEnum;
   1.385 +    // C++ wrapper type for IfcFontWeight
   1.386 +    typedef STRING IfcFontWeight;
   1.387 +    // C++ wrapper type for IfcPHMeasure
   1.388 +    typedef REAL IfcPHMeasure;
   1.389 +    // C++ wrapper type for IfcDescriptiveMeasure
   1.390 +    typedef STRING IfcDescriptiveMeasure;
   1.391 +    // C++ wrapper type for IfcCurveStyleFontSelect
   1.392 +    typedef SELECT IfcCurveStyleFontSelect;
   1.393 +    // C++ wrapper type for IfcUnit
   1.394 +    typedef SELECT IfcUnit;
   1.395 +    // C++ wrapper type for IfcHatchLineDistanceSelect
   1.396 +    typedef SELECT IfcHatchLineDistanceSelect;
   1.397 +    // C++ wrapper type for IfcTextStyleSelect
   1.398 +    typedef SELECT IfcTextStyleSelect;
   1.399 +    // C++ wrapper type for IfcMetricValueSelect
   1.400 +    typedef SELECT IfcMetricValueSelect;
   1.401 +    // C++ wrapper type for IfcVectorOrDirection
   1.402 +    typedef SELECT IfcVectorOrDirection;
   1.403 +    // C++ wrapper type for IfcAssemblyPlaceEnum
   1.404 +    typedef ENUMERATION IfcAssemblyPlaceEnum;
   1.405 +    // C++ wrapper type for IfcAirTerminalTypeEnum
   1.406 +    typedef ENUMERATION IfcAirTerminalTypeEnum;
   1.407 +    // C++ wrapper type for IfcCoveringTypeEnum
   1.408 +    typedef ENUMERATION IfcCoveringTypeEnum;
   1.409 +    // C++ wrapper type for IfcPlanarForceMeasure
   1.410 +    typedef REAL IfcPlanarForceMeasure;
   1.411 +    // C++ wrapper type for IfcValveTypeEnum
   1.412 +    typedef ENUMERATION IfcValveTypeEnum;
   1.413 +    // C++ wrapper type for IfcAlarmTypeEnum
   1.414 +    typedef ENUMERATION IfcAlarmTypeEnum;
   1.415 +    // C++ wrapper type for IfcDynamicViscosityMeasure
   1.416 +    typedef REAL IfcDynamicViscosityMeasure;
   1.417 +    // C++ wrapper type for IfcCurrencyEnum
   1.418 +    typedef ENUMERATION IfcCurrencyEnum;
   1.419 +    // C++ wrapper type for IfcModulusOfRotationalSubgradeReactionMeasure
   1.420 +    typedef REAL IfcModulusOfRotationalSubgradeReactionMeasure;
   1.421 +    // C++ wrapper type for IfcCableCarrierFittingTypeEnum
   1.422 +    typedef ENUMERATION IfcCableCarrierFittingTypeEnum;
   1.423 +    // C++ wrapper type for IfcBoolean
   1.424 +    typedef BOOLEAN IfcBoolean;
   1.425 +    // C++ wrapper type for IfcActionSourceTypeEnum
   1.426 +    typedef ENUMERATION IfcActionSourceTypeEnum;
   1.427 +    // C++ wrapper type for IfcStructuralActivityAssignmentSelect
   1.428 +    typedef SELECT IfcStructuralActivityAssignmentSelect;
   1.429 +    // C++ wrapper type for IfcDistributionChamberElementTypeEnum
   1.430 +    typedef ENUMERATION IfcDistributionChamberElementTypeEnum;
   1.431 +    // C++ wrapper type for IfcEvaporativeCoolerTypeEnum
   1.432 +    typedef ENUMERATION IfcEvaporativeCoolerTypeEnum;
   1.433 +    // C++ wrapper type for IfcMagneticFluxDensityMeasure
   1.434 +    typedef REAL IfcMagneticFluxDensityMeasure;
   1.435 +    // C++ wrapper type for IfcLightDistributionDataSourceSelect
   1.436 +    typedef SELECT IfcLightDistributionDataSourceSelect;
   1.437 +    // C++ wrapper type for IfcTubeBundleTypeEnum
   1.438 +    typedef ENUMERATION IfcTubeBundleTypeEnum;
   1.439 +    // C++ wrapper type for IfcAccelerationMeasure
   1.440 +    typedef REAL IfcAccelerationMeasure;
   1.441 +    // C++ wrapper type for IfcBoilerTypeEnum
   1.442 +    typedef ENUMERATION IfcBoilerTypeEnum;
   1.443 +    // C++ wrapper type for IfcRampTypeEnum
   1.444 +    typedef ENUMERATION IfcRampTypeEnum;
   1.445 +    // C++ wrapper type for IfcLuminousIntensityDistributionMeasure
   1.446 +    typedef REAL IfcLuminousIntensityDistributionMeasure;
   1.447 +    // C++ wrapper type for IfcTrimmingPreference
   1.448 +    typedef ENUMERATION IfcTrimmingPreference;
   1.449 +    // C++ wrapper type for IfcSpecificHeatCapacityMeasure
   1.450 +    typedef REAL IfcSpecificHeatCapacityMeasure;
   1.451 +    // C++ wrapper type for IfcAmountOfSubstanceMeasure
   1.452 +    typedef REAL IfcAmountOfSubstanceMeasure;
   1.453 +    // C++ wrapper type for IfcRoleEnum
   1.454 +    typedef ENUMERATION IfcRoleEnum;
   1.455 +    // C++ wrapper type for IfcDocumentConfidentialityEnum
   1.456 +    typedef ENUMERATION IfcDocumentConfidentialityEnum;
   1.457 +    // C++ wrapper type for IfcFrequencyMeasure
   1.458 +    typedef REAL IfcFrequencyMeasure;
   1.459 +    // C++ wrapper type for IfcSectionTypeEnum
   1.460 +    typedef ENUMERATION IfcSectionTypeEnum;
   1.461 +    // C++ wrapper type for IfcElementAssemblyTypeEnum
   1.462 +    typedef ENUMERATION IfcElementAssemblyTypeEnum;
   1.463 +    // C++ wrapper type for IfcFootingTypeEnum
   1.464 +    typedef ENUMERATION IfcFootingTypeEnum;
   1.465 +    // C++ wrapper type for IfcLayeredItem
   1.466 +    typedef SELECT IfcLayeredItem;
   1.467 +    // C++ wrapper type for IfcCableSegmentTypeEnum
   1.468 +    typedef ENUMERATION IfcCableSegmentTypeEnum;
   1.469 +    // C++ wrapper type for IfcDefinedSymbolSelect
   1.470 +    typedef SELECT IfcDefinedSymbolSelect;
   1.471 +    // C++ wrapper type for IfcBuildingElementProxyTypeEnum
   1.472 +    typedef ENUMERATION IfcBuildingElementProxyTypeEnum;
   1.473 +    // C++ wrapper type for IfcElectricGeneratorTypeEnum
   1.474 +    typedef ENUMERATION IfcElectricGeneratorTypeEnum;
   1.475 +    // C++ wrapper type for IfcRotationalStiffnessMeasure
   1.476 +    typedef REAL IfcRotationalStiffnessMeasure;
   1.477 +    // C++ wrapper type for IfcSpaceHeaterTypeEnum
   1.478 +    typedef ENUMERATION IfcSpaceHeaterTypeEnum;
   1.479 +    // C++ wrapper type for IfcAreaMeasure
   1.480 +    typedef REAL IfcAreaMeasure;
   1.481 +    // C++ wrapper type for IfcLabel
   1.482 +    typedef STRING IfcLabel;
   1.483 +    // C++ wrapper type for IfcCostScheduleTypeEnum
   1.484 +    typedef ENUMERATION IfcCostScheduleTypeEnum;
   1.485 +    // C++ wrapper type for IfcSwitchingDeviceTypeEnum
   1.486 +    typedef ENUMERATION IfcSwitchingDeviceTypeEnum;
   1.487 +    // C++ wrapper type for IfcElectricTimeControlTypeEnum
   1.488 +    typedef ENUMERATION IfcElectricTimeControlTypeEnum;
   1.489 +    // C++ wrapper type for IfcFilterTypeEnum
   1.490 +    typedef ENUMERATION IfcFilterTypeEnum;
   1.491 +    // C++ wrapper type for IfcPositiveLengthMeasure
   1.492 +    typedef REAL IfcPositiveLengthMeasure;
   1.493 +    // C++ wrapper type for IfcNullStyle
   1.494 +    typedef ENUMERATION IfcNullStyle;
   1.495 +    // C++ wrapper type for IfcConditionCriterionSelect
   1.496 +    typedef SELECT IfcConditionCriterionSelect;
   1.497 +    // C++ wrapper type for IfcShearModulusMeasure
   1.498 +    typedef REAL IfcShearModulusMeasure;
   1.499 +    // C++ wrapper type for IfcNormalisedRatioMeasure
   1.500 +    typedef REAL IfcNormalisedRatioMeasure;
   1.501 +    // C++ wrapper type for IfcDoorPanelOperationEnum
   1.502 +    typedef ENUMERATION IfcDoorPanelOperationEnum;
   1.503 +    // C++ wrapper type for IfcPointOrVertexPoint
   1.504 +    typedef SELECT IfcPointOrVertexPoint;
   1.505 +    // C++ wrapper type for IfcRoofTypeEnum
   1.506 +    typedef ENUMERATION IfcRoofTypeEnum;
   1.507 +    // C++ wrapper type for IfcCountMeasure
   1.508 +    typedef NUMBER IfcCountMeasure;
   1.509 +    // C++ wrapper type for IfcElectricConductanceMeasure
   1.510 +    typedef REAL IfcElectricConductanceMeasure;
   1.511 +    // C++ wrapper type for IfcProcedureTypeEnum
   1.512 +    typedef ENUMERATION IfcProcedureTypeEnum;
   1.513 +    // C++ wrapper type for IfcFlowInstrumentTypeEnum
   1.514 +    typedef ENUMERATION IfcFlowInstrumentTypeEnum;
   1.515 +    // C++ wrapper type for IfcElectricMotorTypeEnum
   1.516 +    typedef ENUMERATION IfcElectricMotorTypeEnum;
   1.517 +    // C++ wrapper type for IfcSurfaceSide
   1.518 +    typedef ENUMERATION IfcSurfaceSide;
   1.519 +    // C++ wrapper type for IfcStructuralCurveTypeEnum
   1.520 +    typedef ENUMERATION IfcStructuralCurveTypeEnum;
   1.521 +    // C++ wrapper type for IfcCondenserTypeEnum
   1.522 +    typedef ENUMERATION IfcCondenserTypeEnum;
   1.523 +    // C++ wrapper type for IfcLinearStiffnessMeasure
   1.524 +    typedef REAL IfcLinearStiffnessMeasure;
   1.525 +    // C++ wrapper type for IfcUnitEnum
   1.526 +    typedef ENUMERATION IfcUnitEnum;
   1.527 +    // C++ wrapper type for IfcOccupantTypeEnum
   1.528 +    typedef ENUMERATION IfcOccupantTypeEnum;
   1.529 +    // C++ wrapper type for IfcThermalLoadTypeEnum
   1.530 +    typedef ENUMERATION IfcThermalLoadTypeEnum;
   1.531 +    // C++ wrapper type for IfcReinforcingBarRoleEnum
   1.532 +    typedef ENUMERATION IfcReinforcingBarRoleEnum;
   1.533 +    // C++ wrapper type for IfcBenchmarkEnum
   1.534 +    typedef ENUMERATION IfcBenchmarkEnum;
   1.535 +    // C++ wrapper type for IfcPositivePlaneAngleMeasure
   1.536 +    typedef REAL IfcPositivePlaneAngleMeasure;
   1.537 +    // C++ wrapper type for IfcTextTransformation
   1.538 +    typedef STRING IfcTextTransformation;
   1.539 +    // C++ wrapper type for IfcDraughtingCalloutElement
   1.540 +    typedef SELECT IfcDraughtingCalloutElement;
   1.541 +    // C++ wrapper type for IfcRatioMeasure
   1.542 +    typedef REAL IfcRatioMeasure;
   1.543 +    // C++ wrapper type for IfcSolidAngleMeasure
   1.544 +    typedef REAL IfcSolidAngleMeasure;
   1.545 +    // C++ wrapper type for IfcPipeSegmentTypeEnum
   1.546 +    typedef ENUMERATION IfcPipeSegmentTypeEnum;
   1.547 +    // C++ wrapper type for IfcCableCarrierSegmentTypeEnum
   1.548 +    typedef ENUMERATION IfcCableCarrierSegmentTypeEnum;
   1.549 +    // C++ wrapper type for IfcColourOrFactor
   1.550 +    typedef SELECT IfcColourOrFactor;
   1.551 +    // C++ wrapper type for IfcIdentifier
   1.552 +    typedef STRING IfcIdentifier;
   1.553 +    // C++ wrapper type for IfcTendonTypeEnum
   1.554 +    typedef ENUMERATION IfcTendonTypeEnum;
   1.555 +    // C++ wrapper type for IfcControllerTypeEnum
   1.556 +    typedef ENUMERATION IfcControllerTypeEnum;
   1.557 +    // C++ wrapper type for IfcRadioActivityMeasure
   1.558 +    typedef REAL IfcRadioActivityMeasure;
   1.559 +    // C++ wrapper type for IfcTimeMeasure
   1.560 +    typedef REAL IfcTimeMeasure;
   1.561 +    // C++ wrapper type for IfcPumpTypeEnum
   1.562 +    typedef ENUMERATION IfcPumpTypeEnum;
   1.563 +    // C++ wrapper type for IfcElectricHeaterTypeEnum
   1.564 +    typedef ENUMERATION IfcElectricHeaterTypeEnum;
   1.565 +    // C++ wrapper type for IfcBeamTypeEnum
   1.566 +    typedef ENUMERATION IfcBeamTypeEnum;
   1.567 +    // C++ wrapper type for IfcStateEnum
   1.568 +    typedef ENUMERATION IfcStateEnum;
   1.569 +    // C++ wrapper type for IfcSIPrefix
   1.570 +    typedef ENUMERATION IfcSIPrefix;
   1.571 +    // C++ wrapper type for IfcNumericMeasure
   1.572 +    typedef NUMBER IfcNumericMeasure;
   1.573 +    // C++ wrapper type for IfcOutletTypeEnum
   1.574 +    typedef ENUMERATION IfcOutletTypeEnum;
   1.575 +    // C++ wrapper type for IfcCompoundPlaneAngleMeasure
   1.576 +    typedef ListOf< INTEGER, 3, 3 > IfcCompoundPlaneAngleMeasure;
   1.577 +    // C++ wrapper type for IfcServiceLifeFactorTypeEnum
   1.578 +    typedef ENUMERATION IfcServiceLifeFactorTypeEnum;
   1.579 +    // C++ wrapper type for IfcLogicalOperatorEnum
   1.580 +    typedef ENUMERATION IfcLogicalOperatorEnum;
   1.581 +    // C++ wrapper type for IfcBooleanOperand
   1.582 +    typedef SELECT IfcBooleanOperand;
   1.583 +    // C++ wrapper type for IfcObjectReferenceSelect
   1.584 +    typedef SELECT IfcObjectReferenceSelect;
   1.585 +    // C++ wrapper type for IfcCooledBeamTypeEnum
   1.586 +    typedef ENUMERATION IfcCooledBeamTypeEnum;
   1.587 +    // C++ wrapper type for IfcDuctSilencerTypeEnum
   1.588 +    typedef ENUMERATION IfcDuctSilencerTypeEnum;
   1.589 +    // C++ wrapper type for IfcSectionalAreaIntegralMeasure
   1.590 +    typedef REAL IfcSectionalAreaIntegralMeasure;
   1.591 +    // C++ wrapper type for IfcFontVariant
   1.592 +    typedef STRING IfcFontVariant;
   1.593 +    // C++ wrapper type for IfcVolumetricFlowRateMeasure
   1.594 +    typedef REAL IfcVolumetricFlowRateMeasure;
   1.595 +    // C++ wrapper type for IfcPlateTypeEnum
   1.596 +    typedef ENUMERATION IfcPlateTypeEnum;
   1.597 +    // C++ wrapper type for IfcEnvironmentalImpactCategoryEnum
   1.598 +    typedef ENUMERATION IfcEnvironmentalImpactCategoryEnum;
   1.599 +    // C++ wrapper type for IfcVibrationIsolatorTypeEnum
   1.600 +    typedef ENUMERATION IfcVibrationIsolatorTypeEnum;
   1.601 +    // C++ wrapper type for IfcThermodynamicTemperatureMeasure
   1.602 +    typedef REAL IfcThermodynamicTemperatureMeasure;
   1.603 +    // C++ wrapper type for IfcRotationalMassMeasure
   1.604 +    typedef REAL IfcRotationalMassMeasure;
   1.605 +    // C++ wrapper type for IfcSecondInMinute
   1.606 +    typedef REAL IfcSecondInMinute;
   1.607 +    // C++ wrapper type for IfcDayInMonthNumber
   1.608 +    typedef INTEGER IfcDayInMonthNumber;
   1.609 +    // C++ wrapper type for IfcDimensionCount
   1.610 +    typedef INTEGER IfcDimensionCount;
   1.611 +    // C++ wrapper type for IfcWindowStyleOperationEnum
   1.612 +    typedef ENUMERATION IfcWindowStyleOperationEnum;
   1.613 +    // C++ wrapper type for IfcThermalResistanceMeasure
   1.614 +    typedef REAL IfcThermalResistanceMeasure;
   1.615 +    // C++ wrapper type for IfcMeasureValue
   1.616 +    typedef SELECT IfcMeasureValue;
   1.617 +    // C++ wrapper type for IfcWindowPanelOperationEnum
   1.618 +    typedef ENUMERATION IfcWindowPanelOperationEnum;
   1.619 +    // C++ wrapper type for IfcChillerTypeEnum
   1.620 +    typedef ENUMERATION IfcChillerTypeEnum;
   1.621 +    // C++ wrapper type for IfcPositiveRatioMeasure
   1.622 +    typedef REAL IfcPositiveRatioMeasure;
   1.623 +    // C++ wrapper type for IfcInteger
   1.624 +    typedef INTEGER IfcInteger;
   1.625 +    // C++ wrapper type for IfcLogical
   1.626 +    typedef LOGICAL IfcLogical;
   1.627 +    // C++ wrapper type for IfcJunctionBoxTypeEnum
   1.628 +    typedef ENUMERATION IfcJunctionBoxTypeEnum;
   1.629 +    // C++ wrapper type for IfcAddressTypeEnum
   1.630 +    typedef ENUMERATION IfcAddressTypeEnum;
   1.631 +    // C++ wrapper type for IfcWasteTerminalTypeEnum
   1.632 +    typedef ENUMERATION IfcWasteTerminalTypeEnum;
   1.633 +    // C++ wrapper type for IfcTrimmingSelect
   1.634 +    typedef SELECT IfcTrimmingSelect;
   1.635 +    // C++ wrapper type for IfcLightEmissionSourceEnum
   1.636 +    typedef ENUMERATION IfcLightEmissionSourceEnum;
   1.637 +    // C++ wrapper type for IfcSoundScaleEnum
   1.638 +    typedef ENUMERATION IfcSoundScaleEnum;
   1.639 +    // C++ wrapper type for IfcLuminousFluxMeasure
   1.640 +    typedef REAL IfcLuminousFluxMeasure;
   1.641 +    // C++ wrapper type for IfcElectricResistanceMeasure
   1.642 +    typedef REAL IfcElectricResistanceMeasure;
   1.643 +    // C++ wrapper type for IfcIntegerCountRateMeasure
   1.644 +    typedef INTEGER IfcIntegerCountRateMeasure;
   1.645 +    // C++ wrapper type for IfcPhysicalOrVirtualEnum
   1.646 +    typedef ENUMERATION IfcPhysicalOrVirtualEnum;
   1.647 +    // C++ wrapper type for IfcMolecularWeightMeasure
   1.648 +    typedef REAL IfcMolecularWeightMeasure;
   1.649 +    // C++ wrapper type for IfcProfileTypeEnum
   1.650 +    typedef ENUMERATION IfcProfileTypeEnum;
   1.651 +    // C++ wrapper type for IfcBoxAlignment
   1.652 +    typedef STRING IfcBoxAlignment;
   1.653 +    // C++ wrapper type for IfcGlobalOrLocalEnum
   1.654 +    typedef ENUMERATION IfcGlobalOrLocalEnum;
   1.655 +    // C++ wrapper type for IfcSpecularRoughness
   1.656 +    typedef REAL IfcSpecularRoughness;
   1.657 +    // C++ wrapper type for IfcLampTypeEnum
   1.658 +    typedef ENUMERATION IfcLampTypeEnum;
   1.659 +    // C++ wrapper type for IfcPileTypeEnum
   1.660 +    typedef ENUMERATION IfcPileTypeEnum;
   1.661 +    // C++ wrapper type for IfcElectricCurrentMeasure
   1.662 +    typedef REAL IfcElectricCurrentMeasure;
   1.663 +    // C++ wrapper type for IfcFanTypeEnum
   1.664 +    typedef ENUMERATION IfcFanTypeEnum;
   1.665 +    // C++ wrapper type for IfcSurfaceOrFaceSurface
   1.666 +    typedef SELECT IfcSurfaceOrFaceSurface;
   1.667 +    // C++ wrapper type for IfcPipeFittingTypeEnum
   1.668 +    typedef ENUMERATION IfcPipeFittingTypeEnum;
   1.669 +    // C++ wrapper type for IfcTankTypeEnum
   1.670 +    typedef ENUMERATION IfcTankTypeEnum;
   1.671 +    // C++ wrapper type for IfcCurveFontOrScaledCurveFontSelect
   1.672 +    typedef SELECT IfcCurveFontOrScaledCurveFontSelect;
   1.673 +    // C++ wrapper type for IfcWindowStyleConstructionEnum
   1.674 +    typedef ENUMERATION IfcWindowStyleConstructionEnum;
   1.675 +    // C++ wrapper type for IfcAirTerminalBoxTypeEnum
   1.676 +    typedef ENUMERATION IfcAirTerminalBoxTypeEnum;
   1.677 +    // C++ wrapper type for IfcStairFlightTypeEnum
   1.678 +    typedef ENUMERATION IfcStairFlightTypeEnum;
   1.679 +    // C++ wrapper type for IfcLuminousIntensityMeasure
   1.680 +    typedef REAL IfcLuminousIntensityMeasure;
   1.681 +    // C++ wrapper type for IfcMotorConnectionTypeEnum
   1.682 +    typedef ENUMERATION IfcMotorConnectionTypeEnum;
   1.683 +    // C++ wrapper type for IfcPlaneAngleMeasure
   1.684 +    typedef REAL IfcPlaneAngleMeasure;
   1.685 +    // C++ wrapper type for IfcActuatorTypeEnum
   1.686 +    typedef ENUMERATION IfcActuatorTypeEnum;
   1.687 +    // C++ wrapper type for IfcColumnTypeEnum
   1.688 +    typedef ENUMERATION IfcColumnTypeEnum;
   1.689 +    // C++ wrapper type for IfcTextFontSelect
   1.690 +    typedef SELECT IfcTextFontSelect;
   1.691 +    // C++ wrapper type for IfcDoorPanelPositionEnum
   1.692 +    typedef ENUMERATION IfcDoorPanelPositionEnum;
   1.693 +    // C++ wrapper type for IfcCoilTypeEnum
   1.694 +    typedef ENUMERATION IfcCoilTypeEnum;
   1.695 +    // C++ wrapper type for IfcAngularVelocityMeasure
   1.696 +    typedef REAL IfcAngularVelocityMeasure;
   1.697 +    // C++ wrapper type for IfcAnalysisModelTypeEnum
   1.698 +    typedef ENUMERATION IfcAnalysisModelTypeEnum;
   1.699 +    // C++ wrapper type for IfcLibrarySelect
   1.700 +    typedef SELECT IfcLibrarySelect;
   1.701 +    // C++ wrapper type for IfcForceMeasure
   1.702 +    typedef REAL IfcForceMeasure;
   1.703 +    // C++ wrapper type for IfcFillAreaStyleTileShapeSelect
   1.704 +    typedef SELECT IfcFillAreaStyleTileShapeSelect;
   1.705 +    // C++ wrapper type for IfcElectricApplianceTypeEnum
   1.706 +    typedef ENUMERATION IfcElectricApplianceTypeEnum;
   1.707 +    // C++ wrapper type for IfcSurfaceTextureEnum
   1.708 +    typedef ENUMERATION IfcSurfaceTextureEnum;
   1.709 +    // C++ wrapper type for IfcCharacterStyleSelect
   1.710 +    typedef SELECT IfcCharacterStyleSelect;
   1.711 +    // C++ wrapper type for IfcEnergyMeasure
   1.712 +    typedef REAL IfcEnergyMeasure;
   1.713 +    // C++ wrapper type for IfcReal
   1.714 +    typedef REAL IfcReal;
   1.715 +    // C++ wrapper type for IfcCompressorTypeEnum
   1.716 +    typedef ENUMERATION IfcCompressorTypeEnum;
   1.717 +    // C++ wrapper type for IfcElectricDistributionPointFunctionEnum
   1.718 +    typedef ENUMERATION IfcElectricDistributionPointFunctionEnum;
   1.719 +
   1.720 +
   1.721 +	// ******************************************************************************
   1.722 +	// IFC Entities
   1.723 +	// ******************************************************************************
   1.724 +
   1.725 +	struct IfcRoot;
   1.726 +	struct IfcObjectDefinition;
   1.727 +	struct IfcTypeObject;
   1.728 +	struct IfcTypeProduct;
   1.729 +	struct IfcElementType;
   1.730 +	struct IfcDistributionElementType;
   1.731 +	struct IfcDistributionFlowElementType;
   1.732 +	struct IfcFlowControllerType;
   1.733 +	struct IfcElectricTimeControlType;
   1.734 +	struct IfcRepresentation;
   1.735 +	struct IfcShapeModel;
   1.736 +	struct IfcTopologyRepresentation;
   1.737 +	struct IfcRelationship;
   1.738 +	struct IfcRelConnects;
   1.739 +	typedef NotImplemented IfcRelCoversSpaces; // (not currently used by Assimp)
   1.740 +	struct IfcFlowFittingType;
   1.741 +	struct IfcCableCarrierFittingType;
   1.742 +	typedef NotImplemented IfcStructuralConnectionCondition; // (not currently used by Assimp)
   1.743 +	typedef NotImplemented IfcSlippageConnectionCondition; // (not currently used by Assimp)
   1.744 +	struct IfcEnergyConversionDeviceType;
   1.745 +	struct IfcCoilType;
   1.746 +	struct IfcObject;
   1.747 +	struct IfcControl;
   1.748 +	struct IfcPerformanceHistory;
   1.749 +	struct IfcRepresentationItem;
   1.750 +	struct IfcGeometricRepresentationItem;
   1.751 +	struct IfcTextLiteral;
   1.752 +	struct IfcTextLiteralWithExtent;
   1.753 +	struct IfcProductRepresentation;
   1.754 +	struct IfcProduct;
   1.755 +	struct IfcElement;
   1.756 +	struct IfcDistributionElement;
   1.757 +	struct IfcDistributionFlowElement;
   1.758 +	struct IfcCurve;
   1.759 +	struct IfcBoundedCurve;
   1.760 +	struct IfcCompositeCurve;
   1.761 +	struct Ifc2DCompositeCurve;
   1.762 +	typedef NotImplemented IfcBoundaryCondition; // (not currently used by Assimp)
   1.763 +	typedef NotImplemented IfcBoundaryFaceCondition; // (not currently used by Assimp)
   1.764 +	struct IfcCartesianTransformationOperator;
   1.765 +	struct IfcCartesianTransformationOperator3D;
   1.766 +	struct IfcProperty;
   1.767 +	struct IfcSimpleProperty;
   1.768 +	struct IfcPropertyEnumeratedValue;
   1.769 +	typedef NotImplemented IfcPresentationLayerAssignment; // (not currently used by Assimp)
   1.770 +	typedef NotImplemented IfcPresentationLayerWithStyle; // (not currently used by Assimp)
   1.771 +	struct IfcBuildingElementType;
   1.772 +	struct IfcStairFlightType;
   1.773 +	struct IfcSurface;
   1.774 +	struct IfcElementarySurface;
   1.775 +	struct IfcPlane;
   1.776 +	struct IfcBooleanResult;
   1.777 +	struct IfcBooleanClippingResult;
   1.778 +	struct IfcSolidModel;
   1.779 +	struct IfcManifoldSolidBrep;
   1.780 +	typedef NotImplemented IfcProfileProperties; // (not currently used by Assimp)
   1.781 +	typedef NotImplemented IfcGeneralProfileProperties; // (not currently used by Assimp)
   1.782 +	typedef NotImplemented IfcStructuralProfileProperties; // (not currently used by Assimp)
   1.783 +	struct IfcFlowTerminalType;
   1.784 +	struct IfcStackTerminalType;
   1.785 +	struct IfcStructuralItem;
   1.786 +	struct IfcStructuralConnection;
   1.787 +	struct IfcStructuralCurveConnection;
   1.788 +	struct IfcJunctionBoxType;
   1.789 +	typedef NotImplemented IfcRelAssociates; // (not currently used by Assimp)
   1.790 +	typedef NotImplemented IfcRelAssociatesConstraint; // (not currently used by Assimp)
   1.791 +	struct IfcPropertyDefinition;
   1.792 +	struct IfcPropertySetDefinition;
   1.793 +	typedef NotImplemented IfcDoorPanelProperties; // (not currently used by Assimp)
   1.794 +	typedef NotImplemented IfcConstraintRelationship; // (not currently used by Assimp)
   1.795 +	typedef NotImplemented IfcSpaceThermalLoadProperties; // (not currently used by Assimp)
   1.796 +	typedef NotImplemented IfcLibraryInformation; // (not currently used by Assimp)
   1.797 +	struct IfcProcess;
   1.798 +	struct IfcTask;
   1.799 +	typedef NotImplemented IfcAppliedValue; // (not currently used by Assimp)
   1.800 +	typedef NotImplemented IfcEnvironmentalImpactValue; // (not currently used by Assimp)
   1.801 +	struct IfcRelFillsElement;
   1.802 +	struct IfcProcedure;
   1.803 +	typedef NotImplemented IfcStructuralLoad; // (not currently used by Assimp)
   1.804 +	typedef NotImplemented IfcStructuralLoadStatic; // (not currently used by Assimp)
   1.805 +	typedef NotImplemented IfcStructuralLoadSingleDisplacement; // (not currently used by Assimp)
   1.806 +	struct IfcProxy;
   1.807 +	typedef NotImplemented IfcCurveStyleFont; // (not currently used by Assimp)
   1.808 +	struct IfcResource;
   1.809 +	struct IfcConstructionResource;
   1.810 +	struct IfcSubContractResource;
   1.811 +	typedef NotImplemented IfcCalendarDate; // (not currently used by Assimp)
   1.812 +	typedef NotImplemented IfcDocumentElectronicFormat; // (not currently used by Assimp)
   1.813 +	struct IfcRelContainedInSpatialStructure;
   1.814 +	typedef NotImplemented IfcMaterialProperties; // (not currently used by Assimp)
   1.815 +	typedef NotImplemented IfcProductsOfCombustionProperties; // (not currently used by Assimp)
   1.816 +	struct IfcTopologicalRepresentationItem;
   1.817 +	struct IfcEdge;
   1.818 +	struct IfcEdgeCurve;
   1.819 +	struct IfcPlateType;
   1.820 +	struct IfcObjectPlacement;
   1.821 +	struct IfcGridPlacement;
   1.822 +	struct IfcFireSuppressionTerminalType;
   1.823 +	typedef NotImplemented IfcMechanicalMaterialProperties; // (not currently used by Assimp)
   1.824 +	struct IfcFlowStorageDevice;
   1.825 +	typedef NotImplemented IfcPerson; // (not currently used by Assimp)
   1.826 +	struct IfcSweptSurface;
   1.827 +	struct IfcSurfaceOfRevolution;
   1.828 +	struct IfcOrientedEdge;
   1.829 +	typedef NotImplemented IfcOwnerHistory; // (not currently used by Assimp)
   1.830 +	typedef NotImplemented IfcRelAssigns; // (not currently used by Assimp)
   1.831 +	typedef NotImplemented IfcRelAssignsToActor; // (not currently used by Assimp)
   1.832 +	struct IfcDirection;
   1.833 +	typedef NotImplemented IfcReinforcementBarProperties; // (not currently used by Assimp)
   1.834 +	struct IfcProfileDef;
   1.835 +	struct IfcParameterizedProfileDef;
   1.836 +	struct IfcCShapeProfileDef;
   1.837 +	struct IfcFeatureElement;
   1.838 +	struct IfcFeatureElementSubtraction;
   1.839 +	struct IfcEdgeFeature;
   1.840 +	struct IfcChamferEdgeFeature;
   1.841 +	struct IfcBuildingElement;
   1.842 +	struct IfcColumn;
   1.843 +	struct IfcPropertyReferenceValue;
   1.844 +	typedef NotImplemented IfcMaterialClassificationRelationship; // (not currently used by Assimp)
   1.845 +	struct IfcElectricMotorType;
   1.846 +	struct IfcSpatialStructureElementType;
   1.847 +	struct IfcSpaceType;
   1.848 +	typedef NotImplemented IfcExternalReference; // (not currently used by Assimp)
   1.849 +	typedef NotImplemented IfcExternallyDefinedHatchStyle; // (not currently used by Assimp)
   1.850 +	struct IfcColumnType;
   1.851 +	struct IfcCraneRailAShapeProfileDef;
   1.852 +	struct IfcCondenserType;
   1.853 +	typedef NotImplemented IfcRelConnectsElements; // (not currently used by Assimp)
   1.854 +	typedef NotImplemented IfcRelConnectsWithRealizingElements; // (not currently used by Assimp)
   1.855 +	struct IfcCircleProfileDef;
   1.856 +	struct IfcCircleHollowProfileDef;
   1.857 +	typedef NotImplemented IfcOrganizationRelationship; // (not currently used by Assimp)
   1.858 +	struct IfcPlacement;
   1.859 +	struct IfcAxis2Placement3D;
   1.860 +	struct IfcPresentationStyle;
   1.861 +	typedef NotImplemented IfcCurveStyle; // (not currently used by Assimp)
   1.862 +	struct IfcEquipmentElement;
   1.863 +	struct IfcCompositeCurveSegment;
   1.864 +	struct IfcRectangleProfileDef;
   1.865 +	typedef NotImplemented IfcPhysicalQuantity; // (not currently used by Assimp)
   1.866 +	typedef NotImplemented IfcPhysicalComplexQuantity; // (not currently used by Assimp)
   1.867 +	typedef NotImplemented IfcRelAssociatesLibrary; // (not currently used by Assimp)
   1.868 +	typedef NotImplemented IfcRelSequence; // (not currently used by Assimp)
   1.869 +	struct IfcBuildingElementProxy;
   1.870 +	struct IfcDistributionControlElementType;
   1.871 +	struct IfcFlowInstrumentType;
   1.872 +	struct IfcDraughtingCallout;
   1.873 +	struct IfcDimensionCurveDirectedCallout;
   1.874 +	struct IfcLinearDimension;
   1.875 +	struct IfcElementAssembly;
   1.876 +	typedef NotImplemented IfcDraughtingCalloutRelationship; // (not currently used by Assimp)
   1.877 +	struct IfcCsgPrimitive3D;
   1.878 +	struct IfcRightCircularCone;
   1.879 +	typedef NotImplemented IfcExternallyDefinedSurfaceStyle; // (not currently used by Assimp)
   1.880 +	struct IfcProjectOrder;
   1.881 +	typedef NotImplemented IfcPropertyConstraintRelationship; // (not currently used by Assimp)
   1.882 +	struct IfcLShapeProfileDef;
   1.883 +	struct IfcAngularDimension;
   1.884 +	typedef NotImplemented IfcTextStyleForDefinedFont; // (not currently used by Assimp)
   1.885 +	struct IfcLocalPlacement;
   1.886 +	struct IfcSweptAreaSolid;
   1.887 +	struct IfcRevolvedAreaSolid;
   1.888 +	struct IfcStructuralSurfaceConnection;
   1.889 +	struct IfcRadiusDimension;
   1.890 +	struct IfcSweptDiskSolid;
   1.891 +	struct IfcHalfSpaceSolid;
   1.892 +	struct IfcPolygonalBoundedHalfSpace;
   1.893 +	struct IfcTimeSeriesSchedule;
   1.894 +	typedef NotImplemented IfcDimensionCalloutRelationship; // (not currently used by Assimp)
   1.895 +	struct IfcCooledBeamType;
   1.896 +	struct IfcProject;
   1.897 +	typedef NotImplemented IfcApprovalRelationship; // (not currently used by Assimp)
   1.898 +	struct IfcEvaporatorType;
   1.899 +	struct IfcLaborResource;
   1.900 +	typedef NotImplemented IfcStructuralLoadSingleDisplacementDistortion; // (not currently used by Assimp)
   1.901 +	struct IfcPropertyBoundedValue;
   1.902 +	struct IfcRampFlightType;
   1.903 +	struct IfcMember;
   1.904 +	typedef NotImplemented IfcStructuralLoadPlanarForce; // (not currently used by Assimp)
   1.905 +	struct IfcTubeBundleType;
   1.906 +	struct IfcValveType;
   1.907 +	typedef NotImplemented IfcExternallyDefinedTextFont; // (not currently used by Assimp)
   1.908 +	struct IfcTrimmedCurve;
   1.909 +	struct IfcRelDefines;
   1.910 +	struct IfcRelDefinesByProperties;
   1.911 +	typedef NotImplemented IfcRelAssignsToControl; // (not currently used by Assimp)
   1.912 +	struct IfcActor;
   1.913 +	struct IfcOccupant;
   1.914 +	struct IfcHumidifierType;
   1.915 +	struct IfcArbitraryOpenProfileDef;
   1.916 +	typedef NotImplemented IfcRelAssignsToProjectOrder; // (not currently used by Assimp)
   1.917 +	struct IfcPermit;
   1.918 +	struct IfcOffsetCurve3D;
   1.919 +	struct IfcLightSource;
   1.920 +	struct IfcLightSourcePositional;
   1.921 +	typedef NotImplemented IfcSurfaceTexture; // (not currently used by Assimp)
   1.922 +	typedef NotImplemented IfcBlobTexture; // (not currently used by Assimp)
   1.923 +	struct IfcCompositeProfileDef;
   1.924 +	typedef NotImplemented IfcDocumentInformation; // (not currently used by Assimp)
   1.925 +	typedef NotImplemented IfcSurfaceStyleLighting; // (not currently used by Assimp)
   1.926 +	typedef NotImplemented IfcPhysicalSimpleQuantity; // (not currently used by Assimp)
   1.927 +	typedef NotImplemented IfcQuantityArea; // (not currently used by Assimp)
   1.928 +	typedef NotImplemented IfcTimeSeries; // (not currently used by Assimp)
   1.929 +	typedef NotImplemented IfcClassificationNotation; // (not currently used by Assimp)
   1.930 +	struct IfcRamp;
   1.931 +	typedef NotImplemented IfcPreDefinedItem; // (not currently used by Assimp)
   1.932 +	typedef NotImplemented IfcPreDefinedCurveFont; // (not currently used by Assimp)
   1.933 +	typedef NotImplemented IfcPreDefinedColour; // (not currently used by Assimp)
   1.934 +	typedef NotImplemented IfcCurrencyRelationship; // (not currently used by Assimp)
   1.935 +	struct IfcFlowMovingDevice;
   1.936 +	struct IfcSpaceHeaterType;
   1.937 +	struct IfcLampType;
   1.938 +	struct IfcBuildingElementComponent;
   1.939 +	struct IfcReinforcingElement;
   1.940 +	struct IfcReinforcingBar;
   1.941 +	struct IfcElectricHeaterType;
   1.942 +	struct IfcTShapeProfileDef;
   1.943 +	typedef NotImplemented IfcConstraint; // (not currently used by Assimp)
   1.944 +	typedef NotImplemented IfcObjective; // (not currently used by Assimp)
   1.945 +	struct IfcStructuralActivity;
   1.946 +	struct IfcStructuralAction;
   1.947 +	typedef NotImplemented IfcTextureCoordinate; // (not currently used by Assimp)
   1.948 +	typedef NotImplemented IfcTextureMap; // (not currently used by Assimp)
   1.949 +	typedef NotImplemented IfcMonetaryUnit; // (not currently used by Assimp)
   1.950 +	typedef NotImplemented IfcQuantityTime; // (not currently used by Assimp)
   1.951 +	typedef NotImplemented IfcTableRow; // (not currently used by Assimp)
   1.952 +	typedef NotImplemented IfcLightDistributionData; // (not currently used by Assimp)
   1.953 +	struct IfcDuctFittingType;
   1.954 +	struct IfcCartesianTransformationOperator2D;
   1.955 +	struct IfcCartesianTransformationOperator2DnonUniform;
   1.956 +	typedef NotImplemented IfcClassificationNotationFacet; // (not currently used by Assimp)
   1.957 +	typedef NotImplemented IfcRelAssociatesApproval; // (not currently used by Assimp)
   1.958 +	typedef NotImplemented IfcDraughtingPreDefinedCurveFont; // (not currently used by Assimp)
   1.959 +	typedef NotImplemented IfcStructuralLoadSingleForce; // (not currently used by Assimp)
   1.960 +	typedef NotImplemented IfcStructuralLoadSingleForceWarping; // (not currently used by Assimp)
   1.961 +	typedef NotImplemented IfcCurveStyleFontAndScaling; // (not currently used by Assimp)
   1.962 +	struct IfcVirtualElement;
   1.963 +	struct IfcRightCircularCylinder;
   1.964 +	struct IfcOutletType;
   1.965 +	struct IfcRelDecomposes;
   1.966 +	typedef NotImplemented IfcRelNests; // (not currently used by Assimp)
   1.967 +	struct IfcCovering;
   1.968 +	typedef NotImplemented IfcExternallyDefinedSymbol; // (not currently used by Assimp)
   1.969 +	typedef NotImplemented IfcIrregularTimeSeries; // (not currently used by Assimp)
   1.970 +	struct IfcPolyline;
   1.971 +	struct IfcPath;
   1.972 +	struct IfcElementComponent;
   1.973 +	struct IfcFastener;
   1.974 +	struct IfcMappedItem;
   1.975 +	typedef NotImplemented IfcMetric; // (not currently used by Assimp)
   1.976 +	typedef NotImplemented IfcDocumentReference; // (not currently used by Assimp)
   1.977 +	typedef NotImplemented IfcSectionProperties; // (not currently used by Assimp)
   1.978 +	struct IfcRectangularPyramid;
   1.979 +	typedef NotImplemented IfcRelReferencedInSpatialStructure; // (not currently used by Assimp)
   1.980 +	struct IfcCrewResource;
   1.981 +	struct IfcNamedUnit;
   1.982 +	struct IfcContextDependentUnit;
   1.983 +	struct IfcUnitaryEquipmentType;
   1.984 +	struct IfcRoof;
   1.985 +	typedef NotImplemented IfcRelAssignsTasks; // (not currently used by Assimp)
   1.986 +	struct IfcStructuralMember;
   1.987 +	typedef NotImplemented IfcRelConnectsPorts; // (not currently used by Assimp)
   1.988 +	struct IfcStyleModel;
   1.989 +	struct IfcStyledRepresentation;
   1.990 +	struct IfcSpatialStructureElement;
   1.991 +	struct IfcBuilding;
   1.992 +	struct IfcConnectedFaceSet;
   1.993 +	struct IfcOpenShell;
   1.994 +	struct IfcFacetedBrep;
   1.995 +	typedef NotImplemented IfcLocalTime; // (not currently used by Assimp)
   1.996 +	typedef NotImplemented IfcMechanicalConcreteMaterialProperties; // (not currently used by Assimp)
   1.997 +	struct IfcConic;
   1.998 +	struct IfcCoveringType;
   1.999 +	struct IfcRoundedRectangleProfileDef;
  1.1000 +	struct IfcAirTerminalType;
  1.1001 +	struct IfcFlowMovingDeviceType;
  1.1002 +	struct IfcCompressorType;
  1.1003 +	typedef NotImplemented IfcWindowPanelProperties; // (not currently used by Assimp)
  1.1004 +	typedef NotImplemented IfcPreDefinedSymbol; // (not currently used by Assimp)
  1.1005 +	typedef NotImplemented IfcPreDefinedTerminatorSymbol; // (not currently used by Assimp)
  1.1006 +	struct IfcIShapeProfileDef;
  1.1007 +	struct IfcAsymmetricIShapeProfileDef;
  1.1008 +	struct IfcControllerType;
  1.1009 +	struct IfcRailing;
  1.1010 +	struct IfcGroup;
  1.1011 +	struct IfcAsset;
  1.1012 +	struct IfcMaterialDefinitionRepresentation;
  1.1013 +	typedef NotImplemented IfcCurveStyleFontPattern; // (not currently used by Assimp)
  1.1014 +	typedef NotImplemented IfcApprovalPropertyRelationship; // (not currently used by Assimp)
  1.1015 +	struct IfcRailingType;
  1.1016 +	struct IfcWall;
  1.1017 +	typedef NotImplemented IfcClassificationItem; // (not currently used by Assimp)
  1.1018 +	struct IfcStructuralPointConnection;
  1.1019 +	typedef NotImplemented IfcConnectionGeometry; // (not currently used by Assimp)
  1.1020 +	typedef NotImplemented IfcConnectionPointGeometry; // (not currently used by Assimp)
  1.1021 +	typedef NotImplemented IfcTimeSeriesValue; // (not currently used by Assimp)
  1.1022 +	struct IfcPropertyListValue;
  1.1023 +	struct IfcFurnitureStandard;
  1.1024 +	typedef NotImplemented IfcRelSchedulesCostItems; // (not currently used by Assimp)
  1.1025 +	struct IfcElectricGeneratorType;
  1.1026 +	struct IfcDoor;
  1.1027 +	struct IfcStyledItem;
  1.1028 +	struct IfcAnnotationOccurrence;
  1.1029 +	struct IfcAnnotationSymbolOccurrence;
  1.1030 +	struct IfcArbitraryClosedProfileDef;
  1.1031 +	struct IfcArbitraryProfileDefWithVoids;
  1.1032 +	struct IfcLine;
  1.1033 +	typedef NotImplemented IfcMaterialLayerSet; // (not currently used by Assimp)
  1.1034 +	struct IfcFlowSegmentType;
  1.1035 +	struct IfcAirTerminalBoxType;
  1.1036 +	typedef NotImplemented IfcRelConnectsStructuralMember; // (not currently used by Assimp)
  1.1037 +	struct IfcPropertySingleValue;
  1.1038 +	struct IfcAlarmType;
  1.1039 +	struct IfcEllipseProfileDef;
  1.1040 +	struct IfcStair;
  1.1041 +	typedef NotImplemented IfcPreDefinedTextFont; // (not currently used by Assimp)
  1.1042 +	typedef NotImplemented IfcTextStyleFontModel; // (not currently used by Assimp)
  1.1043 +	struct IfcSurfaceStyleShading;
  1.1044 +	struct IfcPumpType;
  1.1045 +	struct IfcDefinedSymbol;
  1.1046 +	typedef NotImplemented IfcClassificationItemRelationship; // (not currently used by Assimp)
  1.1047 +	typedef NotImplemented IfcGeneralMaterialProperties; // (not currently used by Assimp)
  1.1048 +	struct IfcElementComponentType;
  1.1049 +	struct IfcFastenerType;
  1.1050 +	struct IfcMechanicalFastenerType;
  1.1051 +	typedef NotImplemented IfcPermeableCoveringProperties; // (not currently used by Assimp)
  1.1052 +	struct IfcFlowFitting;
  1.1053 +	typedef NotImplemented IfcApproval; // (not currently used by Assimp)
  1.1054 +	typedef NotImplemented IfcShapeAspect; // (not currently used by Assimp)
  1.1055 +	typedef NotImplemented IfcConstraintClassificationRelationship; // (not currently used by Assimp)
  1.1056 +	struct IfcLightSourceDirectional;
  1.1057 +	struct IfcSurfaceStyle;
  1.1058 +	typedef NotImplemented IfcRelConnectsStructuralActivity; // (not currently used by Assimp)
  1.1059 +	typedef NotImplemented IfcRelAssociatesProfileProperties; // (not currently used by Assimp)
  1.1060 +	struct IfcAnnotationSurface;
  1.1061 +	typedef NotImplemented IfcFuelProperties; // (not currently used by Assimp)
  1.1062 +	struct IfcFlowController;
  1.1063 +	typedef NotImplemented IfcFailureConnectionCondition; // (not currently used by Assimp)
  1.1064 +	struct IfcBuildingStorey;
  1.1065 +	struct IfcWorkControl;
  1.1066 +	struct IfcWorkSchedule;
  1.1067 +	typedef NotImplemented IfcTable; // (not currently used by Assimp)
  1.1068 +	struct IfcDuctSegmentType;
  1.1069 +	typedef NotImplemented IfcStructuralSteelProfileProperties; // (not currently used by Assimp)
  1.1070 +	typedef NotImplemented IfcDraughtingPreDefinedTextFont; // (not currently used by Assimp)
  1.1071 +	struct IfcFace;
  1.1072 +	struct IfcStructuralSurfaceMember;
  1.1073 +	struct IfcStructuralSurfaceMemberVarying;
  1.1074 +	struct IfcFaceSurface;
  1.1075 +	typedef NotImplemented IfcClassification; // (not currently used by Assimp)
  1.1076 +	typedef NotImplemented IfcMaterialList; // (not currently used by Assimp)
  1.1077 +	struct IfcCostSchedule;
  1.1078 +	typedef NotImplemented IfcCoordinatedUniversalTimeOffset; // (not currently used by Assimp)
  1.1079 +	struct IfcPlanarExtent;
  1.1080 +	struct IfcPlanarBox;
  1.1081 +	typedef NotImplemented IfcFillAreaStyle; // (not currently used by Assimp)
  1.1082 +	typedef NotImplemented IfcSectionReinforcementProperties; // (not currently used by Assimp)
  1.1083 +	struct IfcColourSpecification;
  1.1084 +	struct IfcVector;
  1.1085 +	struct IfcBeam;
  1.1086 +	struct IfcColourRgb;
  1.1087 +	struct IfcStructuralPlanarAction;
  1.1088 +	struct IfcStructuralPlanarActionVarying;
  1.1089 +	struct IfcSite;
  1.1090 +	struct IfcDiscreteAccessoryType;
  1.1091 +	struct IfcVibrationIsolatorType;
  1.1092 +	struct IfcEvaporativeCoolerType;
  1.1093 +	struct IfcDistributionChamberElementType;
  1.1094 +	struct IfcFeatureElementAddition;
  1.1095 +	typedef NotImplemented IfcRelAssignsToResource; // (not currently used by Assimp)
  1.1096 +	struct IfcStructuredDimensionCallout;
  1.1097 +	struct IfcCoolingTowerType;
  1.1098 +	struct IfcCenterLineProfileDef;
  1.1099 +	typedef NotImplemented IfcTextureVertex; // (not currently used by Assimp)
  1.1100 +	typedef NotImplemented IfcOrganization; // (not currently used by Assimp)
  1.1101 +	struct IfcWindowStyle;
  1.1102 +	struct IfcLightSourceGoniometric;
  1.1103 +	typedef NotImplemented IfcRibPlateProfileProperties; // (not currently used by Assimp)
  1.1104 +	struct IfcTransformerType;
  1.1105 +	struct IfcMemberType;
  1.1106 +	struct IfcSurfaceOfLinearExtrusion;
  1.1107 +	struct IfcMotorConnectionType;
  1.1108 +	struct IfcFlowTreatmentDeviceType;
  1.1109 +	struct IfcDuctSilencerType;
  1.1110 +	typedef NotImplemented IfcWindowLiningProperties; // (not currently used by Assimp)
  1.1111 +	struct IfcFurnishingElementType;
  1.1112 +	struct IfcSystemFurnitureElementType;
  1.1113 +	typedef NotImplemented IfcConnectionPointEccentricity; // (not currently used by Assimp)
  1.1114 +	struct IfcWasteTerminalType;
  1.1115 +	struct IfcBSplineCurve;
  1.1116 +	struct IfcBezierCurve;
  1.1117 +	typedef NotImplemented IfcDocumentInformationRelationship; // (not currently used by Assimp)
  1.1118 +	struct IfcActuatorType;
  1.1119 +	struct IfcDistributionControlElement;
  1.1120 +	struct IfcAnnotation;
  1.1121 +	typedef NotImplemented IfcRelAssociatesDocument; // (not currently used by Assimp)
  1.1122 +	typedef NotImplemented IfcDoorLiningProperties; // (not currently used by Assimp)
  1.1123 +	struct IfcShellBasedSurfaceModel;
  1.1124 +	struct IfcActionRequest;
  1.1125 +	struct IfcExtrudedAreaSolid;
  1.1126 +	struct IfcSystem;
  1.1127 +	struct IfcFillAreaStyleHatching;
  1.1128 +	struct IfcRelVoidsElement;
  1.1129 +	typedef NotImplemented IfcRelConnectsPathElements; // (not currently used by Assimp)
  1.1130 +	typedef NotImplemented IfcRelSpaceBoundary; // (not currently used by Assimp)
  1.1131 +	struct IfcSurfaceCurveSweptAreaSolid;
  1.1132 +	struct IfcCartesianTransformationOperator3DnonUniform;
  1.1133 +	typedef NotImplemented IfcRelInteractionRequirements; // (not currently used by Assimp)
  1.1134 +	struct IfcCurtainWallType;
  1.1135 +	typedef NotImplemented IfcQuantityLength; // (not currently used by Assimp)
  1.1136 +	struct IfcEquipmentStandard;
  1.1137 +	struct IfcFlowStorageDeviceType;
  1.1138 +	typedef NotImplemented IfcVirtualGridIntersection; // (not currently used by Assimp)
  1.1139 +	struct IfcDiameterDimension;
  1.1140 +	struct IfcSwitchingDeviceType;
  1.1141 +	typedef NotImplemented IfcAddress; // (not currently used by Assimp)
  1.1142 +	typedef NotImplemented IfcTelecomAddress; // (not currently used by Assimp)
  1.1143 +	struct IfcWindow;
  1.1144 +	typedef NotImplemented IfcMechanicalSteelMaterialProperties; // (not currently used by Assimp)
  1.1145 +	struct IfcFlowTreatmentDevice;
  1.1146 +	typedef NotImplemented IfcRelServicesBuildings; // (not currently used by Assimp)
  1.1147 +	struct IfcChillerType;
  1.1148 +	typedef NotImplemented IfcRelAssignsToProduct; // (not currently used by Assimp)
  1.1149 +	struct IfcRectangleHollowProfileDef;
  1.1150 +	typedef NotImplemented IfcEnergyProperties; // (not currently used by Assimp)
  1.1151 +	struct IfcBoxedHalfSpace;
  1.1152 +	struct IfcAxis2Placement2D;
  1.1153 +	struct IfcSpaceProgram;
  1.1154 +	struct IfcPoint;
  1.1155 +	struct IfcCartesianPoint;
  1.1156 +	struct IfcBoundedSurface;
  1.1157 +	struct IfcLoop;
  1.1158 +	struct IfcPolyLoop;
  1.1159 +	typedef NotImplemented IfcPreDefinedPointMarkerSymbol; // (not currently used by Assimp)
  1.1160 +	struct IfcTerminatorSymbol;
  1.1161 +	struct IfcDimensionCurveTerminator;
  1.1162 +	typedef NotImplemented IfcRelProjectsElement; // (not currently used by Assimp)
  1.1163 +	struct IfcTrapeziumProfileDef;
  1.1164 +	struct IfcRepresentationContext;
  1.1165 +	struct IfcGeometricRepresentationContext;
  1.1166 +	typedef NotImplemented IfcTextStyleWithBoxCharacteristics; // (not currently used by Assimp)
  1.1167 +	struct IfcCurveBoundedPlane;
  1.1168 +	typedef NotImplemented IfcQuantityCount; // (not currently used by Assimp)
  1.1169 +	typedef NotImplemented IfcTimeSeriesReferenceRelationship; // (not currently used by Assimp)
  1.1170 +	typedef NotImplemented IfcStructuralLoadTemperature; // (not currently used by Assimp)
  1.1171 +	struct IfcSIUnit;
  1.1172 +	struct IfcStructuralReaction;
  1.1173 +	struct IfcStructuralPointReaction;
  1.1174 +	struct IfcAxis1Placement;
  1.1175 +	typedef NotImplemented IfcReinforcementDefinitionProperties; // (not currently used by Assimp)
  1.1176 +	struct IfcElectricApplianceType;
  1.1177 +	struct IfcSensorType;
  1.1178 +	struct IfcFurnishingElement;
  1.1179 +	struct IfcProtectiveDeviceType;
  1.1180 +	struct IfcZShapeProfileDef;
  1.1181 +	struct IfcScheduleTimeControl;
  1.1182 +	struct IfcRepresentationMap;
  1.1183 +	struct IfcClosedShell;
  1.1184 +	struct IfcBuildingElementPart;
  1.1185 +	typedef NotImplemented IfcDraughtingPreDefinedColour; // (not currently used by Assimp)
  1.1186 +	typedef NotImplemented IfcPostalAddress; // (not currently used by Assimp)
  1.1187 +	struct IfcBlock;
  1.1188 +	struct IfcLightFixtureType;
  1.1189 +	struct IfcOpeningElement;
  1.1190 +	struct IfcLightSourceSpot;
  1.1191 +	struct IfcTendonAnchor;
  1.1192 +	typedef NotImplemented IfcSurfaceStyleRefraction; // (not currently used by Assimp)
  1.1193 +	struct IfcElectricFlowStorageDeviceType;
  1.1194 +	typedef NotImplemented IfcFluidFlowProperties; // (not currently used by Assimp)
  1.1195 +	struct IfcSphere;
  1.1196 +	typedef NotImplemented IfcRelAssociatesAppliedValue; // (not currently used by Assimp)
  1.1197 +	struct IfcDamperType;
  1.1198 +	struct IfcProjectOrderRecord;
  1.1199 +	typedef NotImplemented IfcDimensionalExponents; // (not currently used by Assimp)
  1.1200 +	typedef NotImplemented IfcRelDefinesByType; // (not currently used by Assimp)
  1.1201 +	struct IfcDistributionChamberElement;
  1.1202 +	struct IfcMechanicalFastener;
  1.1203 +	typedef NotImplemented IfcQuantityVolume; // (not currently used by Assimp)
  1.1204 +	struct IfcRectangularTrimmedSurface;
  1.1205 +	typedef NotImplemented IfcDateAndTime; // (not currently used by Assimp)
  1.1206 +	struct IfcZone;
  1.1207 +	struct IfcFanType;
  1.1208 +	struct IfcGeometricSet;
  1.1209 +	struct IfcFillAreaStyleTiles;
  1.1210 +	typedef NotImplemented IfcPixelTexture; // (not currently used by Assimp)
  1.1211 +	struct IfcCableSegmentType;
  1.1212 +	struct IfcRelOverridesProperties;
  1.1213 +	struct IfcMeasureWithUnit;
  1.1214 +	struct IfcSlabType;
  1.1215 +	struct IfcServiceLife;
  1.1216 +	struct IfcFurnitureType;
  1.1217 +	struct IfcCostItem;
  1.1218 +	struct IfcReinforcingMesh;
  1.1219 +	typedef NotImplemented IfcExtendedMaterialProperties; // (not currently used by Assimp)
  1.1220 +	typedef NotImplemented IfcActorRole; // (not currently used by Assimp)
  1.1221 +	struct IfcFacetedBrepWithVoids;
  1.1222 +	typedef NotImplemented IfcConstraintAggregationRelationship; // (not currently used by Assimp)
  1.1223 +	struct IfcGasTerminalType;
  1.1224 +	typedef NotImplemented IfcRelConnectsWithEccentricity; // (not currently used by Assimp)
  1.1225 +	struct IfcPile;
  1.1226 +	struct IfcFillAreaStyleTileSymbolWithStyle;
  1.1227 +	typedef NotImplemented IfcElectricalBaseProperties; // (not currently used by Assimp)
  1.1228 +	struct IfcConstructionMaterialResource;
  1.1229 +	struct IfcAnnotationCurveOccurrence;
  1.1230 +	struct IfcDimensionCurve;
  1.1231 +	struct IfcGeometricCurveSet;
  1.1232 +	struct IfcRelAggregates;
  1.1233 +	struct IfcFaceBasedSurfaceModel;
  1.1234 +	struct IfcEnergyConversionDevice;
  1.1235 +	struct IfcRampFlight;
  1.1236 +	typedef NotImplemented IfcPropertyEnumeration; // (not currently used by Assimp)
  1.1237 +	struct IfcVertexLoop;
  1.1238 +	struct IfcPlate;
  1.1239 +	struct IfcUShapeProfileDef;
  1.1240 +	typedef NotImplemented IfcHygroscopicMaterialProperties; // (not currently used by Assimp)
  1.1241 +	struct IfcFaceBound;
  1.1242 +	struct IfcFaceOuterBound;
  1.1243 +	struct IfcOneDirectionRepeatFactor;
  1.1244 +	struct IfcBoilerType;
  1.1245 +	struct IfcConstructionEquipmentResource;
  1.1246 +	struct IfcComplexProperty;
  1.1247 +	struct IfcFooting;
  1.1248 +	typedef NotImplemented IfcOpticalMaterialProperties; // (not currently used by Assimp)
  1.1249 +	struct IfcConstructionProductResource;
  1.1250 +	typedef NotImplemented IfcBoundaryEdgeCondition; // (not currently used by Assimp)
  1.1251 +	struct IfcDerivedProfileDef;
  1.1252 +	struct IfcPropertyTableValue;
  1.1253 +	typedef NotImplemented IfcRelAssignsToGroup; // (not currently used by Assimp)
  1.1254 +	struct IfcFlowMeterType;
  1.1255 +	struct IfcDoorStyle;
  1.1256 +	typedef NotImplemented IfcRelConnectsPortToElement; // (not currently used by Assimp)
  1.1257 +	typedef NotImplemented IfcRelAssociatesClassification; // (not currently used by Assimp)
  1.1258 +	struct IfcUnitAssignment;
  1.1259 +	struct IfcFlowTerminal;
  1.1260 +	struct IfcCraneRailFShapeProfileDef;
  1.1261 +	struct IfcFlowSegment;
  1.1262 +	struct IfcElementQuantity;
  1.1263 +	typedef NotImplemented IfcBoundaryNodeCondition; // (not currently used by Assimp)
  1.1264 +	typedef NotImplemented IfcBoundaryNodeConditionWarping; // (not currently used by Assimp)
  1.1265 +	struct IfcCurtainWall;
  1.1266 +	struct IfcDiscreteAccessory;
  1.1267 +	struct IfcGrid;
  1.1268 +	struct IfcSanitaryTerminalType;
  1.1269 +	typedef NotImplemented IfcSoundProperties; // (not currently used by Assimp)
  1.1270 +	struct IfcSubedge;
  1.1271 +	typedef NotImplemented IfcTextStyleTextModel; // (not currently used by Assimp)
  1.1272 +	struct IfcFilterType;
  1.1273 +	typedef NotImplemented IfcSymbolStyle; // (not currently used by Assimp)
  1.1274 +	struct IfcTendon;
  1.1275 +	typedef NotImplemented IfcDimensionPair; // (not currently used by Assimp)
  1.1276 +	struct IfcStructuralLoadGroup;
  1.1277 +	struct IfcPresentationStyleAssignment;
  1.1278 +	typedef NotImplemented IfcRegularTimeSeries; // (not currently used by Assimp)
  1.1279 +	struct IfcStructuralCurveMember;
  1.1280 +	struct IfcLightSourceAmbient;
  1.1281 +	struct IfcCondition;
  1.1282 +	struct IfcPort;
  1.1283 +	struct IfcSpace;
  1.1284 +	struct IfcHeatExchangerType;
  1.1285 +	struct IfcTankType;
  1.1286 +	struct IfcInventory;
  1.1287 +	typedef NotImplemented IfcTextStyle; // (not currently used by Assimp)
  1.1288 +	typedef NotImplemented IfcAppliedValueRelationship; // (not currently used by Assimp)
  1.1289 +	typedef NotImplemented IfcSoundValue; // (not currently used by Assimp)
  1.1290 +	struct IfcTransportElementType;
  1.1291 +	struct IfcAirToAirHeatRecoveryType;
  1.1292 +	struct IfcStairFlight;
  1.1293 +	struct IfcElectricalElement;
  1.1294 +	typedef NotImplemented IfcLightIntensityDistribution; // (not currently used by Assimp)
  1.1295 +	typedef NotImplemented IfcClassificationReference; // (not currently used by Assimp)
  1.1296 +	struct IfcSurfaceStyleWithTextures;
  1.1297 +	struct IfcBoundingBox;
  1.1298 +	typedef NotImplemented IfcApplication; // (not currently used by Assimp)
  1.1299 +	struct IfcWallType;
  1.1300 +	struct IfcMove;
  1.1301 +	struct IfcCircle;
  1.1302 +	struct IfcOffsetCurve2D;
  1.1303 +	typedef NotImplemented IfcMaterialLayerSetUsage; // (not currently used by Assimp)
  1.1304 +	struct IfcPointOnCurve;
  1.1305 +	struct IfcStructuralResultGroup;
  1.1306 +	struct IfcSectionedSpine;
  1.1307 +	struct IfcSlab;
  1.1308 +	typedef NotImplemented IfcConnectionPortGeometry; // (not currently used by Assimp)
  1.1309 +	typedef NotImplemented IfcQuantityWeight; // (not currently used by Assimp)
  1.1310 +	typedef NotImplemented IfcRelAssociatesMaterial; // (not currently used by Assimp)
  1.1311 +	struct IfcVertex;
  1.1312 +	struct IfcVertexPoint;
  1.1313 +	typedef NotImplemented IfcReferencesValueDocument; // (not currently used by Assimp)
  1.1314 +	typedef NotImplemented IfcPersonAndOrganization; // (not currently used by Assimp)
  1.1315 +	typedef NotImplemented IfcRelFlowControlElements; // (not currently used by Assimp)
  1.1316 +	typedef NotImplemented IfcRelAssignsToProcess; // (not currently used by Assimp)
  1.1317 +	struct IfcStructuralLinearAction;
  1.1318 +	struct IfcStructuralLinearActionVarying;
  1.1319 +	struct IfcBuildingElementProxyType;
  1.1320 +	struct IfcProjectionElement;
  1.1321 +	typedef NotImplemented IfcDerivedUnit; // (not currently used by Assimp)
  1.1322 +	typedef NotImplemented IfcApprovalActorRelationship; // (not currently used by Assimp)
  1.1323 +	struct IfcConversionBasedUnit;
  1.1324 +	typedef NotImplemented IfcMaterial; // (not currently used by Assimp)
  1.1325 +	struct IfcGeometricRepresentationSubContext;
  1.1326 +	struct IfcAnnotationSurfaceOccurrence;
  1.1327 +	typedef NotImplemented IfcPreDefinedDimensionSymbol; // (not currently used by Assimp)
  1.1328 +	struct IfcRoundedEdgeFeature;
  1.1329 +	typedef NotImplemented IfcRelCoversBldgElements; // (not currently used by Assimp)
  1.1330 +	struct IfcElectricDistributionPoint;
  1.1331 +	struct IfcCableCarrierSegmentType;
  1.1332 +	typedef NotImplemented IfcStructuralLoadLinearForce; // (not currently used by Assimp)
  1.1333 +	typedef NotImplemented IfcGridAxis; // (not currently used by Assimp)
  1.1334 +	typedef NotImplemented IfcIrregularTimeSeriesValue; // (not currently used by Assimp)
  1.1335 +	struct IfcWallStandardCase;
  1.1336 +	typedef NotImplemented IfcRelOccupiesSpaces; // (not currently used by Assimp)
  1.1337 +	typedef NotImplemented IfcDerivedUnitElement; // (not currently used by Assimp)
  1.1338 +	struct IfcCsgSolid;
  1.1339 +	struct IfcBeamType;
  1.1340 +	struct IfcAnnotationFillArea;
  1.1341 +	typedef NotImplemented IfcRelaxation; // (not currently used by Assimp)
  1.1342 +	struct IfcStructuralCurveMemberVarying;
  1.1343 +	struct IfcPointOnSurface;
  1.1344 +	typedef NotImplemented IfcPropertyDependencyRelationship; // (not currently used by Assimp)
  1.1345 +	typedef NotImplemented IfcVertexBasedTextureMap; // (not currently used by Assimp)
  1.1346 +	struct IfcOrderAction;
  1.1347 +	typedef NotImplemented IfcLibraryReference; // (not currently used by Assimp)
  1.1348 +	struct IfcEdgeLoop;
  1.1349 +	struct IfcAnnotationFillAreaOccurrence;
  1.1350 +	typedef NotImplemented IfcRelConnectsStructuralElement; // (not currently used by Assimp)
  1.1351 +	struct IfcWorkPlan;
  1.1352 +	struct IfcEllipse;
  1.1353 +	struct IfcProductDefinitionShape;
  1.1354 +	struct IfcProjectionCurve;
  1.1355 +	struct IfcElectricalCircuit;
  1.1356 +	struct IfcRationalBezierCurve;
  1.1357 +	struct IfcStructuralPointAction;
  1.1358 +	typedef NotImplemented IfcServiceLifeFactor; // (not currently used by Assimp)
  1.1359 +	typedef NotImplemented IfcThermalMaterialProperties; // (not currently used by Assimp)
  1.1360 +	typedef NotImplemented IfcTextureCoordinateGenerator; // (not currently used by Assimp)
  1.1361 +	struct IfcPipeSegmentType;
  1.1362 +	struct IfcTwoDirectionRepeatFactor;
  1.1363 +	struct IfcShapeRepresentation;
  1.1364 +	struct IfcPropertySet;
  1.1365 +	struct IfcSurfaceStyleRendering;
  1.1366 +	struct IfcDistributionPort;
  1.1367 +	typedef NotImplemented IfcImageTexture; // (not currently used by Assimp)
  1.1368 +	struct IfcPipeFittingType;
  1.1369 +	struct IfcTransportElement;
  1.1370 +	struct IfcAnnotationTextOccurrence;
  1.1371 +	typedef NotImplemented IfcConnectionSurfaceGeometry; // (not currently used by Assimp)
  1.1372 +	struct IfcStructuralAnalysisModel;
  1.1373 +	typedef NotImplemented IfcConnectionCurveGeometry; // (not currently used by Assimp)
  1.1374 +	struct IfcConditionCriterion;
  1.1375 +	typedef NotImplemented IfcWaterProperties; // (not currently used by Assimp)
  1.1376 +	typedef NotImplemented IfcMaterialLayer; // (not currently used by Assimp)
  1.1377 +	typedef NotImplemented IfcCostValue; // (not currently used by Assimp)
  1.1378 +
  1.1379 +
  1.1380 +
  1.1381 +    // C++ wrapper for IfcRoot
  1.1382 +    struct IfcRoot :  ObjectHelper<IfcRoot,4> { IfcRoot() : Object("IfcRoot") {}
  1.1383 +		IfcGloballyUniqueId::Out GlobalId;
  1.1384 +		Lazy< NotImplemented > OwnerHistory;
  1.1385 +		Maybe< IfcLabel::Out > Name;
  1.1386 +		Maybe< IfcText::Out > Description;
  1.1387 +    };
  1.1388 +
  1.1389 +    // C++ wrapper for IfcObjectDefinition
  1.1390 +    struct IfcObjectDefinition : IfcRoot, ObjectHelper<IfcObjectDefinition,0> { IfcObjectDefinition() : Object("IfcObjectDefinition") {}
  1.1391 +
  1.1392 +    };
  1.1393 +
  1.1394 +    // C++ wrapper for IfcTypeObject
  1.1395 +    struct IfcTypeObject : IfcObjectDefinition, ObjectHelper<IfcTypeObject,2> { IfcTypeObject() : Object("IfcTypeObject") {}
  1.1396 +		Maybe< IfcLabel::Out > ApplicableOccurrence;
  1.1397 +		Maybe< ListOf< Lazy< IfcPropertySetDefinition >, 1, 0 > > HasPropertySets;
  1.1398 +    };
  1.1399 +
  1.1400 +    // C++ wrapper for IfcTypeProduct
  1.1401 +    struct IfcTypeProduct : IfcTypeObject, ObjectHelper<IfcTypeProduct,2> { IfcTypeProduct() : Object("IfcTypeProduct") {}
  1.1402 +		Maybe< ListOf< Lazy< IfcRepresentationMap >, 1, 0 > > RepresentationMaps;
  1.1403 +		Maybe< IfcLabel::Out > Tag;
  1.1404 +    };
  1.1405 +
  1.1406 +    // C++ wrapper for IfcElementType
  1.1407 +    struct IfcElementType : IfcTypeProduct, ObjectHelper<IfcElementType,1> { IfcElementType() : Object("IfcElementType") {}
  1.1408 +		Maybe< IfcLabel::Out > ElementType;
  1.1409 +    };
  1.1410 +
  1.1411 +    // C++ wrapper for IfcDistributionElementType
  1.1412 +    struct IfcDistributionElementType : IfcElementType, ObjectHelper<IfcDistributionElementType,0> { IfcDistributionElementType() : Object("IfcDistributionElementType") {}
  1.1413 +
  1.1414 +    };
  1.1415 +
  1.1416 +    // C++ wrapper for IfcDistributionFlowElementType
  1.1417 +    struct IfcDistributionFlowElementType : IfcDistributionElementType, ObjectHelper<IfcDistributionFlowElementType,0> { IfcDistributionFlowElementType() : Object("IfcDistributionFlowElementType") {}
  1.1418 +
  1.1419 +    };
  1.1420 +
  1.1421 +    // C++ wrapper for IfcFlowControllerType
  1.1422 +    struct IfcFlowControllerType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowControllerType,0> { IfcFlowControllerType() : Object("IfcFlowControllerType") {}
  1.1423 +
  1.1424 +    };
  1.1425 +
  1.1426 +    // C++ wrapper for IfcElectricTimeControlType
  1.1427 +    struct IfcElectricTimeControlType : IfcFlowControllerType, ObjectHelper<IfcElectricTimeControlType,1> { IfcElectricTimeControlType() : Object("IfcElectricTimeControlType") {}
  1.1428 +		IfcElectricTimeControlTypeEnum::Out PredefinedType;
  1.1429 +    };
  1.1430 +
  1.1431 +    // C++ wrapper for IfcRepresentation
  1.1432 +    struct IfcRepresentation :  ObjectHelper<IfcRepresentation,4> { IfcRepresentation() : Object("IfcRepresentation") {}
  1.1433 +		Lazy< IfcRepresentationContext > ContextOfItems;
  1.1434 +		Maybe< IfcLabel::Out > RepresentationIdentifier;
  1.1435 +		Maybe< IfcLabel::Out > RepresentationType;
  1.1436 +		ListOf< Lazy< IfcRepresentationItem >, 1, 0 > Items;
  1.1437 +    };
  1.1438 +
  1.1439 +    // C++ wrapper for IfcShapeModel
  1.1440 +    struct IfcShapeModel : IfcRepresentation, ObjectHelper<IfcShapeModel,0> { IfcShapeModel() : Object("IfcShapeModel") {}
  1.1441 +
  1.1442 +    };
  1.1443 +
  1.1444 +    // C++ wrapper for IfcTopologyRepresentation
  1.1445 +    struct IfcTopologyRepresentation : IfcShapeModel, ObjectHelper<IfcTopologyRepresentation,0> { IfcTopologyRepresentation() : Object("IfcTopologyRepresentation") {}
  1.1446 +
  1.1447 +    };
  1.1448 +
  1.1449 +    // C++ wrapper for IfcRelationship
  1.1450 +    struct IfcRelationship : IfcRoot, ObjectHelper<IfcRelationship,0> { IfcRelationship() : Object("IfcRelationship") {}
  1.1451 +
  1.1452 +    };
  1.1453 +
  1.1454 +    // C++ wrapper for IfcRelConnects
  1.1455 +    struct IfcRelConnects : IfcRelationship, ObjectHelper<IfcRelConnects,0> { IfcRelConnects() : Object("IfcRelConnects") {}
  1.1456 +
  1.1457 +    };
  1.1458 +
  1.1459 +    // C++ wrapper for IfcFlowFittingType
  1.1460 +    struct IfcFlowFittingType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowFittingType,0> { IfcFlowFittingType() : Object("IfcFlowFittingType") {}
  1.1461 +
  1.1462 +    };
  1.1463 +
  1.1464 +    // C++ wrapper for IfcCableCarrierFittingType
  1.1465 +    struct IfcCableCarrierFittingType : IfcFlowFittingType, ObjectHelper<IfcCableCarrierFittingType,1> { IfcCableCarrierFittingType() : Object("IfcCableCarrierFittingType") {}
  1.1466 +		IfcCableCarrierFittingTypeEnum::Out PredefinedType;
  1.1467 +    };
  1.1468 +
  1.1469 +    // C++ wrapper for IfcEnergyConversionDeviceType
  1.1470 +    struct IfcEnergyConversionDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcEnergyConversionDeviceType,0> { IfcEnergyConversionDeviceType() : Object("IfcEnergyConversionDeviceType") {}
  1.1471 +
  1.1472 +    };
  1.1473 +
  1.1474 +    // C++ wrapper for IfcCoilType
  1.1475 +    struct IfcCoilType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCoilType,1> { IfcCoilType() : Object("IfcCoilType") {}
  1.1476 +		IfcCoilTypeEnum::Out PredefinedType;
  1.1477 +    };
  1.1478 +
  1.1479 +    // C++ wrapper for IfcObject
  1.1480 +    struct IfcObject : IfcObjectDefinition, ObjectHelper<IfcObject,1> { IfcObject() : Object("IfcObject") {}
  1.1481 +		Maybe< IfcLabel::Out > ObjectType;
  1.1482 +    };
  1.1483 +
  1.1484 +    // C++ wrapper for IfcControl
  1.1485 +    struct IfcControl : IfcObject, ObjectHelper<IfcControl,0> { IfcControl() : Object("IfcControl") {}
  1.1486 +
  1.1487 +    };
  1.1488 +
  1.1489 +    // C++ wrapper for IfcPerformanceHistory
  1.1490 +    struct IfcPerformanceHistory : IfcControl, ObjectHelper<IfcPerformanceHistory,1> { IfcPerformanceHistory() : Object("IfcPerformanceHistory") {}
  1.1491 +		IfcLabel::Out LifeCyclePhase;
  1.1492 +    };
  1.1493 +
  1.1494 +    // C++ wrapper for IfcRepresentationItem
  1.1495 +    struct IfcRepresentationItem :  ObjectHelper<IfcRepresentationItem,0> { IfcRepresentationItem() : Object("IfcRepresentationItem") {}
  1.1496 +
  1.1497 +    };
  1.1498 +
  1.1499 +    // C++ wrapper for IfcGeometricRepresentationItem
  1.1500 +    struct IfcGeometricRepresentationItem : IfcRepresentationItem, ObjectHelper<IfcGeometricRepresentationItem,0> { IfcGeometricRepresentationItem() : Object("IfcGeometricRepresentationItem") {}
  1.1501 +
  1.1502 +    };
  1.1503 +
  1.1504 +    // C++ wrapper for IfcTextLiteral
  1.1505 +    struct IfcTextLiteral : IfcGeometricRepresentationItem, ObjectHelper<IfcTextLiteral,3> { IfcTextLiteral() : Object("IfcTextLiteral") {}
  1.1506 +		IfcPresentableText::Out Literal;
  1.1507 +		IfcAxis2Placement::Out Placement;
  1.1508 +		IfcTextPath::Out Path;
  1.1509 +    };
  1.1510 +
  1.1511 +    // C++ wrapper for IfcTextLiteralWithExtent
  1.1512 +    struct IfcTextLiteralWithExtent : IfcTextLiteral, ObjectHelper<IfcTextLiteralWithExtent,2> { IfcTextLiteralWithExtent() : Object("IfcTextLiteralWithExtent") {}
  1.1513 +		Lazy< IfcPlanarExtent > Extent;
  1.1514 +		IfcBoxAlignment::Out BoxAlignment;
  1.1515 +    };
  1.1516 +
  1.1517 +    // C++ wrapper for IfcProductRepresentation
  1.1518 +    struct IfcProductRepresentation :  ObjectHelper<IfcProductRepresentation,3> { IfcProductRepresentation() : Object("IfcProductRepresentation") {}
  1.1519 +		Maybe< IfcLabel::Out > Name;
  1.1520 +		Maybe< IfcText::Out > Description;
  1.1521 +		ListOf< Lazy< IfcRepresentation >, 1, 0 > Representations;
  1.1522 +    };
  1.1523 +
  1.1524 +    // C++ wrapper for IfcProduct
  1.1525 +    struct IfcProduct : IfcObject, ObjectHelper<IfcProduct,2> { IfcProduct() : Object("IfcProduct") {}
  1.1526 +		Maybe< Lazy< IfcObjectPlacement > > ObjectPlacement;
  1.1527 +		Maybe< Lazy< IfcProductRepresentation > > Representation;
  1.1528 +    };
  1.1529 +
  1.1530 +    // C++ wrapper for IfcElement
  1.1531 +    struct IfcElement : IfcProduct, ObjectHelper<IfcElement,1> { IfcElement() : Object("IfcElement") {}
  1.1532 +		Maybe< IfcIdentifier::Out > Tag;
  1.1533 +    };
  1.1534 +
  1.1535 +    // C++ wrapper for IfcDistributionElement
  1.1536 +    struct IfcDistributionElement : IfcElement, ObjectHelper<IfcDistributionElement,0> { IfcDistributionElement() : Object("IfcDistributionElement") {}
  1.1537 +
  1.1538 +    };
  1.1539 +
  1.1540 +    // C++ wrapper for IfcDistributionFlowElement
  1.1541 +    struct IfcDistributionFlowElement : IfcDistributionElement, ObjectHelper<IfcDistributionFlowElement,0> { IfcDistributionFlowElement() : Object("IfcDistributionFlowElement") {}
  1.1542 +
  1.1543 +    };
  1.1544 +
  1.1545 +    // C++ wrapper for IfcCurve
  1.1546 +    struct IfcCurve : IfcGeometricRepresentationItem, ObjectHelper<IfcCurve,0> { IfcCurve() : Object("IfcCurve") {}
  1.1547 +
  1.1548 +    };
  1.1549 +
  1.1550 +    // C++ wrapper for IfcBoundedCurve
  1.1551 +    struct IfcBoundedCurve : IfcCurve, ObjectHelper<IfcBoundedCurve,0> { IfcBoundedCurve() : Object("IfcBoundedCurve") {}
  1.1552 +
  1.1553 +    };
  1.1554 +
  1.1555 +    // C++ wrapper for IfcCompositeCurve
  1.1556 +    struct IfcCompositeCurve : IfcBoundedCurve, ObjectHelper<IfcCompositeCurve,2> { IfcCompositeCurve() : Object("IfcCompositeCurve") {}
  1.1557 +		ListOf< Lazy< IfcCompositeCurveSegment >, 1, 0 > Segments;
  1.1558 +		LOGICAL::Out SelfIntersect;
  1.1559 +    };
  1.1560 +
  1.1561 +    // C++ wrapper for Ifc2DCompositeCurve
  1.1562 +    struct Ifc2DCompositeCurve : IfcCompositeCurve, ObjectHelper<Ifc2DCompositeCurve,0> { Ifc2DCompositeCurve() : Object("Ifc2DCompositeCurve") {}
  1.1563 +
  1.1564 +    };
  1.1565 +
  1.1566 +    // C++ wrapper for IfcCartesianTransformationOperator
  1.1567 +    struct IfcCartesianTransformationOperator : IfcGeometricRepresentationItem, ObjectHelper<IfcCartesianTransformationOperator,4> { IfcCartesianTransformationOperator() : Object("IfcCartesianTransformationOperator") {}
  1.1568 +		Maybe< Lazy< IfcDirection > > Axis1;
  1.1569 +		Maybe< Lazy< IfcDirection > > Axis2;
  1.1570 +		Lazy< IfcCartesianPoint > LocalOrigin;
  1.1571 +		Maybe< REAL::Out > Scale;
  1.1572 +    };
  1.1573 +
  1.1574 +    // C++ wrapper for IfcCartesianTransformationOperator3D
  1.1575 +    struct IfcCartesianTransformationOperator3D : IfcCartesianTransformationOperator, ObjectHelper<IfcCartesianTransformationOperator3D,1> { IfcCartesianTransformationOperator3D() : Object("IfcCartesianTransformationOperator3D") {}
  1.1576 +		Maybe< Lazy< IfcDirection > > Axis3;
  1.1577 +    };
  1.1578 +
  1.1579 +    // C++ wrapper for IfcProperty
  1.1580 +    struct IfcProperty :  ObjectHelper<IfcProperty,2> { IfcProperty() : Object("IfcProperty") {}
  1.1581 +		IfcIdentifier::Out Name;
  1.1582 +		Maybe< IfcText::Out > Description;
  1.1583 +    };
  1.1584 +
  1.1585 +    // C++ wrapper for IfcSimpleProperty
  1.1586 +    struct IfcSimpleProperty : IfcProperty, ObjectHelper<IfcSimpleProperty,0> { IfcSimpleProperty() : Object("IfcSimpleProperty") {}
  1.1587 +
  1.1588 +    };
  1.1589 +
  1.1590 +    // C++ wrapper for IfcPropertyEnumeratedValue
  1.1591 +    struct IfcPropertyEnumeratedValue : IfcSimpleProperty, ObjectHelper<IfcPropertyEnumeratedValue,2> { IfcPropertyEnumeratedValue() : Object("IfcPropertyEnumeratedValue") {}
  1.1592 +		ListOf< IfcValue, 1, 0 >::Out EnumerationValues;
  1.1593 +		Maybe< Lazy< NotImplemented > > EnumerationReference;
  1.1594 +    };
  1.1595 +
  1.1596 +    // C++ wrapper for IfcBuildingElementType
  1.1597 +    struct IfcBuildingElementType : IfcElementType, ObjectHelper<IfcBuildingElementType,0> { IfcBuildingElementType() : Object("IfcBuildingElementType") {}
  1.1598 +
  1.1599 +    };
  1.1600 +
  1.1601 +    // C++ wrapper for IfcStairFlightType
  1.1602 +    struct IfcStairFlightType : IfcBuildingElementType, ObjectHelper<IfcStairFlightType,1> { IfcStairFlightType() : Object("IfcStairFlightType") {}
  1.1603 +		IfcStairFlightTypeEnum::Out PredefinedType;
  1.1604 +    };
  1.1605 +
  1.1606 +    // C++ wrapper for IfcSurface
  1.1607 +    struct IfcSurface : IfcGeometricRepresentationItem, ObjectHelper<IfcSurface,0> { IfcSurface() : Object("IfcSurface") {}
  1.1608 +
  1.1609 +    };
  1.1610 +
  1.1611 +    // C++ wrapper for IfcElementarySurface
  1.1612 +    struct IfcElementarySurface : IfcSurface, ObjectHelper<IfcElementarySurface,1> { IfcElementarySurface() : Object("IfcElementarySurface") {}
  1.1613 +		Lazy< IfcAxis2Placement3D > Position;
  1.1614 +    };
  1.1615 +
  1.1616 +    // C++ wrapper for IfcPlane
  1.1617 +    struct IfcPlane : IfcElementarySurface, ObjectHelper<IfcPlane,0> { IfcPlane() : Object("IfcPlane") {}
  1.1618 +
  1.1619 +    };
  1.1620 +
  1.1621 +    // C++ wrapper for IfcBooleanResult
  1.1622 +    struct IfcBooleanResult : IfcGeometricRepresentationItem, ObjectHelper<IfcBooleanResult,3> { IfcBooleanResult() : Object("IfcBooleanResult") {}
  1.1623 +		IfcBooleanOperator::Out Operator;
  1.1624 +		IfcBooleanOperand::Out FirstOperand;
  1.1625 +		IfcBooleanOperand::Out SecondOperand;
  1.1626 +    };
  1.1627 +
  1.1628 +    // C++ wrapper for IfcBooleanClippingResult
  1.1629 +    struct IfcBooleanClippingResult : IfcBooleanResult, ObjectHelper<IfcBooleanClippingResult,0> { IfcBooleanClippingResult() : Object("IfcBooleanClippingResult") {}
  1.1630 +
  1.1631 +    };
  1.1632 +
  1.1633 +    // C++ wrapper for IfcSolidModel
  1.1634 +    struct IfcSolidModel : IfcGeometricRepresentationItem, ObjectHelper<IfcSolidModel,0> { IfcSolidModel() : Object("IfcSolidModel") {}
  1.1635 +
  1.1636 +    };
  1.1637 +
  1.1638 +    // C++ wrapper for IfcManifoldSolidBrep
  1.1639 +    struct IfcManifoldSolidBrep : IfcSolidModel, ObjectHelper<IfcManifoldSolidBrep,1> { IfcManifoldSolidBrep() : Object("IfcManifoldSolidBrep") {}
  1.1640 +		Lazy< IfcClosedShell > Outer;
  1.1641 +    };
  1.1642 +
  1.1643 +    // C++ wrapper for IfcFlowTerminalType
  1.1644 +    struct IfcFlowTerminalType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowTerminalType,0> { IfcFlowTerminalType() : Object("IfcFlowTerminalType") {}
  1.1645 +
  1.1646 +    };
  1.1647 +
  1.1648 +    // C++ wrapper for IfcStackTerminalType
  1.1649 +    struct IfcStackTerminalType : IfcFlowTerminalType, ObjectHelper<IfcStackTerminalType,1> { IfcStackTerminalType() : Object("IfcStackTerminalType") {}
  1.1650 +		IfcStackTerminalTypeEnum::Out PredefinedType;
  1.1651 +    };
  1.1652 +
  1.1653 +    // C++ wrapper for IfcStructuralItem
  1.1654 +    struct IfcStructuralItem : IfcProduct, ObjectHelper<IfcStructuralItem,0> { IfcStructuralItem() : Object("IfcStructuralItem") {}
  1.1655 +
  1.1656 +    };
  1.1657 +
  1.1658 +    // C++ wrapper for IfcStructuralConnection
  1.1659 +    struct IfcStructuralConnection : IfcStructuralItem, ObjectHelper<IfcStructuralConnection,1> { IfcStructuralConnection() : Object("IfcStructuralConnection") {}
  1.1660 +		Maybe< Lazy< NotImplemented > > AppliedCondition;
  1.1661 +    };
  1.1662 +
  1.1663 +    // C++ wrapper for IfcStructuralCurveConnection
  1.1664 +    struct IfcStructuralCurveConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralCurveConnection,0> { IfcStructuralCurveConnection() : Object("IfcStructuralCurveConnection") {}
  1.1665 +
  1.1666 +    };
  1.1667 +
  1.1668 +    // C++ wrapper for IfcJunctionBoxType
  1.1669 +    struct IfcJunctionBoxType : IfcFlowFittingType, ObjectHelper<IfcJunctionBoxType,1> { IfcJunctionBoxType() : Object("IfcJunctionBoxType") {}
  1.1670 +		IfcJunctionBoxTypeEnum::Out PredefinedType;
  1.1671 +    };
  1.1672 +
  1.1673 +    // C++ wrapper for IfcPropertyDefinition
  1.1674 +    struct IfcPropertyDefinition : IfcRoot, ObjectHelper<IfcPropertyDefinition,0> { IfcPropertyDefinition() : Object("IfcPropertyDefinition") {}
  1.1675 +
  1.1676 +    };
  1.1677 +
  1.1678 +    // C++ wrapper for IfcPropertySetDefinition
  1.1679 +    struct IfcPropertySetDefinition : IfcPropertyDefinition, ObjectHelper<IfcPropertySetDefinition,0> { IfcPropertySetDefinition() : Object("IfcPropertySetDefinition") {}
  1.1680 +
  1.1681 +    };
  1.1682 +
  1.1683 +    // C++ wrapper for IfcProcess
  1.1684 +    struct IfcProcess : IfcObject, ObjectHelper<IfcProcess,0> { IfcProcess() : Object("IfcProcess") {}
  1.1685 +
  1.1686 +    };
  1.1687 +
  1.1688 +    // C++ wrapper for IfcTask
  1.1689 +    struct IfcTask : IfcProcess, ObjectHelper<IfcTask,5> { IfcTask() : Object("IfcTask") {}
  1.1690 +		IfcIdentifier::Out TaskId;
  1.1691 +		Maybe< IfcLabel::Out > Status;
  1.1692 +		Maybe< IfcLabel::Out > WorkMethod;
  1.1693 +		BOOLEAN::Out IsMilestone;
  1.1694 +		Maybe< INTEGER::Out > Priority;
  1.1695 +    };
  1.1696 +
  1.1697 +    // C++ wrapper for IfcRelFillsElement
  1.1698 +    struct IfcRelFillsElement : IfcRelConnects, ObjectHelper<IfcRelFillsElement,2> { IfcRelFillsElement() : Object("IfcRelFillsElement") {}
  1.1699 +		Lazy< IfcOpeningElement > RelatingOpeningElement;
  1.1700 +		Lazy< IfcElement > RelatedBuildingElement;
  1.1701 +    };
  1.1702 +
  1.1703 +    // C++ wrapper for IfcProcedure
  1.1704 +    struct IfcProcedure : IfcProcess, ObjectHelper<IfcProcedure,3> { IfcProcedure() : Object("IfcProcedure") {}
  1.1705 +		IfcIdentifier::Out ProcedureID;
  1.1706 +		IfcProcedureTypeEnum::Out ProcedureType;
  1.1707 +		Maybe< IfcLabel::Out > UserDefinedProcedureType;
  1.1708 +    };
  1.1709 +
  1.1710 +    // C++ wrapper for IfcProxy
  1.1711 +    struct IfcProxy : IfcProduct, ObjectHelper<IfcProxy,2> { IfcProxy() : Object("IfcProxy") {}
  1.1712 +		IfcObjectTypeEnum::Out ProxyType;
  1.1713 +		Maybe< IfcLabel::Out > Tag;
  1.1714 +    };
  1.1715 +
  1.1716 +    // C++ wrapper for IfcResource
  1.1717 +    struct IfcResource : IfcObject, ObjectHelper<IfcResource,0> { IfcResource() : Object("IfcResource") {}
  1.1718 +
  1.1719 +    };
  1.1720 +
  1.1721 +    // C++ wrapper for IfcConstructionResource
  1.1722 +    struct IfcConstructionResource : IfcResource, ObjectHelper<IfcConstructionResource,4> { IfcConstructionResource() : Object("IfcConstructionResource") {}
  1.1723 +		Maybe< IfcIdentifier::Out > ResourceIdentifier;
  1.1724 +		Maybe< IfcLabel::Out > ResourceGroup;
  1.1725 +		Maybe< IfcResourceConsumptionEnum::Out > ResourceConsumption;
  1.1726 +		Maybe< Lazy< IfcMeasureWithUnit > > BaseQuantity;
  1.1727 +    };
  1.1728 +
  1.1729 +    // C++ wrapper for IfcSubContractResource
  1.1730 +    struct IfcSubContractResource : IfcConstructionResource, ObjectHelper<IfcSubContractResource,2> { IfcSubContractResource() : Object("IfcSubContractResource") {}
  1.1731 +		Maybe< IfcActorSelect::Out > SubContractor;
  1.1732 +		Maybe< IfcText::Out > JobDescription;
  1.1733 +    };
  1.1734 +
  1.1735 +    // C++ wrapper for IfcRelContainedInSpatialStructure
  1.1736 +    struct IfcRelContainedInSpatialStructure : IfcRelConnects, ObjectHelper<IfcRelContainedInSpatialStructure,2> { IfcRelContainedInSpatialStructure() : Object("IfcRelContainedInSpatialStructure") {}
  1.1737 +		ListOf< Lazy< IfcProduct >, 1, 0 > RelatedElements;
  1.1738 +		Lazy< IfcSpatialStructureElement > RelatingStructure;
  1.1739 +    };
  1.1740 +
  1.1741 +    // C++ wrapper for IfcTopologicalRepresentationItem
  1.1742 +    struct IfcTopologicalRepresentationItem : IfcRepresentationItem, ObjectHelper<IfcTopologicalRepresentationItem,0> { IfcTopologicalRepresentationItem() : Object("IfcTopologicalRepresentationItem") {}
  1.1743 +
  1.1744 +    };
  1.1745 +
  1.1746 +    // C++ wrapper for IfcEdge
  1.1747 +    struct IfcEdge : IfcTopologicalRepresentationItem, ObjectHelper<IfcEdge,2> { IfcEdge() : Object("IfcEdge") {}
  1.1748 +		Lazy< IfcVertex > EdgeStart;
  1.1749 +		Lazy< IfcVertex > EdgeEnd;
  1.1750 +    };
  1.1751 +
  1.1752 +    // C++ wrapper for IfcEdgeCurve
  1.1753 +    struct IfcEdgeCurve : IfcEdge, ObjectHelper<IfcEdgeCurve,2> { IfcEdgeCurve() : Object("IfcEdgeCurve") {}
  1.1754 +		Lazy< IfcCurve > EdgeGeometry;
  1.1755 +		BOOLEAN::Out SameSense;
  1.1756 +    };
  1.1757 +
  1.1758 +    // C++ wrapper for IfcPlateType
  1.1759 +    struct IfcPlateType : IfcBuildingElementType, ObjectHelper<IfcPlateType,1> { IfcPlateType() : Object("IfcPlateType") {}
  1.1760 +		IfcPlateTypeEnum::Out PredefinedType;
  1.1761 +    };
  1.1762 +
  1.1763 +    // C++ wrapper for IfcObjectPlacement
  1.1764 +    struct IfcObjectPlacement :  ObjectHelper<IfcObjectPlacement,0> { IfcObjectPlacement() : Object("IfcObjectPlacement") {}
  1.1765 +
  1.1766 +    };
  1.1767 +
  1.1768 +    // C++ wrapper for IfcGridPlacement
  1.1769 +    struct IfcGridPlacement : IfcObjectPlacement, ObjectHelper<IfcGridPlacement,2> { IfcGridPlacement() : Object("IfcGridPlacement") {}
  1.1770 +		Lazy< NotImplemented > PlacementLocation;
  1.1771 +		Maybe< Lazy< NotImplemented > > PlacementRefDirection;
  1.1772 +    };
  1.1773 +
  1.1774 +    // C++ wrapper for IfcFireSuppressionTerminalType
  1.1775 +    struct IfcFireSuppressionTerminalType : IfcFlowTerminalType, ObjectHelper<IfcFireSuppressionTerminalType,1> { IfcFireSuppressionTerminalType() : Object("IfcFireSuppressionTerminalType") {}
  1.1776 +		IfcFireSuppressionTerminalTypeEnum::Out PredefinedType;
  1.1777 +    };
  1.1778 +
  1.1779 +    // C++ wrapper for IfcFlowStorageDevice
  1.1780 +    struct IfcFlowStorageDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowStorageDevice,0> { IfcFlowStorageDevice() : Object("IfcFlowStorageDevice") {}
  1.1781 +
  1.1782 +    };
  1.1783 +
  1.1784 +    // C++ wrapper for IfcSweptSurface
  1.1785 +    struct IfcSweptSurface : IfcSurface, ObjectHelper<IfcSweptSurface,2> { IfcSweptSurface() : Object("IfcSweptSurface") {}
  1.1786 +		Lazy< IfcProfileDef > SweptCurve;
  1.1787 +		Lazy< IfcAxis2Placement3D > Position;
  1.1788 +    };
  1.1789 +
  1.1790 +    // C++ wrapper for IfcSurfaceOfRevolution
  1.1791 +    struct IfcSurfaceOfRevolution : IfcSweptSurface, ObjectHelper<IfcSurfaceOfRevolution,1> { IfcSurfaceOfRevolution() : Object("IfcSurfaceOfRevolution") {}
  1.1792 +		Lazy< IfcAxis1Placement > AxisPosition;
  1.1793 +    };
  1.1794 +
  1.1795 +    // C++ wrapper for IfcOrientedEdge
  1.1796 +    struct IfcOrientedEdge : IfcEdge, ObjectHelper<IfcOrientedEdge,2> { IfcOrientedEdge() : Object("IfcOrientedEdge") {}
  1.1797 +		Lazy< IfcEdge > EdgeElement;
  1.1798 +		BOOLEAN::Out Orientation;
  1.1799 +    };
  1.1800 +
  1.1801 +    // C++ wrapper for IfcDirection
  1.1802 +    struct IfcDirection : IfcGeometricRepresentationItem, ObjectHelper<IfcDirection,1> { IfcDirection() : Object("IfcDirection") {}
  1.1803 +		ListOf< REAL, 2, 3 >::Out DirectionRatios;
  1.1804 +    };
  1.1805 +
  1.1806 +    // C++ wrapper for IfcProfileDef
  1.1807 +    struct IfcProfileDef :  ObjectHelper<IfcProfileDef,2> { IfcProfileDef() : Object("IfcProfileDef") {}
  1.1808 +		IfcProfileTypeEnum::Out ProfileType;
  1.1809 +		Maybe< IfcLabel::Out > ProfileName;
  1.1810 +    };
  1.1811 +
  1.1812 +    // C++ wrapper for IfcParameterizedProfileDef
  1.1813 +    struct IfcParameterizedProfileDef : IfcProfileDef, ObjectHelper<IfcParameterizedProfileDef,1> { IfcParameterizedProfileDef() : Object("IfcParameterizedProfileDef") {}
  1.1814 +		Lazy< IfcAxis2Placement2D > Position;
  1.1815 +    };
  1.1816 +
  1.1817 +    // C++ wrapper for IfcCShapeProfileDef
  1.1818 +    struct IfcCShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCShapeProfileDef,6> { IfcCShapeProfileDef() : Object("IfcCShapeProfileDef") {}
  1.1819 +		IfcPositiveLengthMeasure::Out Depth;
  1.1820 +		IfcPositiveLengthMeasure::Out Width;
  1.1821 +		IfcPositiveLengthMeasure::Out WallThickness;
  1.1822 +		IfcPositiveLengthMeasure::Out Girth;
  1.1823 +		Maybe< IfcPositiveLengthMeasure::Out > InternalFilletRadius;
  1.1824 +		Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
  1.1825 +    };
  1.1826 +
  1.1827 +    // C++ wrapper for IfcFeatureElement
  1.1828 +    struct IfcFeatureElement : IfcElement, ObjectHelper<IfcFeatureElement,0> { IfcFeatureElement() : Object("IfcFeatureElement") {}
  1.1829 +
  1.1830 +    };
  1.1831 +
  1.1832 +    // C++ wrapper for IfcFeatureElementSubtraction
  1.1833 +    struct IfcFeatureElementSubtraction : IfcFeatureElement, ObjectHelper<IfcFeatureElementSubtraction,0> { IfcFeatureElementSubtraction() : Object("IfcFeatureElementSubtraction") {}
  1.1834 +
  1.1835 +    };
  1.1836 +
  1.1837 +    // C++ wrapper for IfcEdgeFeature
  1.1838 +    struct IfcEdgeFeature : IfcFeatureElementSubtraction, ObjectHelper<IfcEdgeFeature,1> { IfcEdgeFeature() : Object("IfcEdgeFeature") {}
  1.1839 +		Maybe< IfcPositiveLengthMeasure::Out > FeatureLength;
  1.1840 +    };
  1.1841 +
  1.1842 +    // C++ wrapper for IfcChamferEdgeFeature
  1.1843 +    struct IfcChamferEdgeFeature : IfcEdgeFeature, ObjectHelper<IfcChamferEdgeFeature,2> { IfcChamferEdgeFeature() : Object("IfcChamferEdgeFeature") {}
  1.1844 +		Maybe< IfcPositiveLengthMeasure::Out > Width;
  1.1845 +		Maybe< IfcPositiveLengthMeasure::Out > Height;
  1.1846 +    };
  1.1847 +
  1.1848 +    // C++ wrapper for IfcBuildingElement
  1.1849 +    struct IfcBuildingElement : IfcElement, ObjectHelper<IfcBuildingElement,0> { IfcBuildingElement() : Object("IfcBuildingElement") {}
  1.1850 +
  1.1851 +    };
  1.1852 +
  1.1853 +    // C++ wrapper for IfcColumn
  1.1854 +    struct IfcColumn : IfcBuildingElement, ObjectHelper<IfcColumn,0> { IfcColumn() : Object("IfcColumn") {}
  1.1855 +
  1.1856 +    };
  1.1857 +
  1.1858 +    // C++ wrapper for IfcPropertyReferenceValue
  1.1859 +    struct IfcPropertyReferenceValue : IfcSimpleProperty, ObjectHelper<IfcPropertyReferenceValue,2> { IfcPropertyReferenceValue() : Object("IfcPropertyReferenceValue") {}
  1.1860 +		Maybe< IfcLabel::Out > UsageName;
  1.1861 +		IfcObjectReferenceSelect::Out PropertyReference;
  1.1862 +    };
  1.1863 +
  1.1864 +    // C++ wrapper for IfcElectricMotorType
  1.1865 +    struct IfcElectricMotorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcElectricMotorType,1> { IfcElectricMotorType() : Object("IfcElectricMotorType") {}
  1.1866 +		IfcElectricMotorTypeEnum::Out PredefinedType;
  1.1867 +    };
  1.1868 +
  1.1869 +    // C++ wrapper for IfcSpatialStructureElementType
  1.1870 +    struct IfcSpatialStructureElementType : IfcElementType, ObjectHelper<IfcSpatialStructureElementType,0> { IfcSpatialStructureElementType() : Object("IfcSpatialStructureElementType") {}
  1.1871 +
  1.1872 +    };
  1.1873 +
  1.1874 +    // C++ wrapper for IfcSpaceType
  1.1875 +    struct IfcSpaceType : IfcSpatialStructureElementType, ObjectHelper<IfcSpaceType,1> { IfcSpaceType() : Object("IfcSpaceType") {}
  1.1876 +		IfcSpaceTypeEnum::Out PredefinedType;
  1.1877 +    };
  1.1878 +
  1.1879 +    // C++ wrapper for IfcColumnType
  1.1880 +    struct IfcColumnType : IfcBuildingElementType, ObjectHelper<IfcColumnType,1> { IfcColumnType() : Object("IfcColumnType") {}
  1.1881 +		IfcColumnTypeEnum::Out PredefinedType;
  1.1882 +    };
  1.1883 +
  1.1884 +    // C++ wrapper for IfcCraneRailAShapeProfileDef
  1.1885 +    struct IfcCraneRailAShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCraneRailAShapeProfileDef,12> { IfcCraneRailAShapeProfileDef() : Object("IfcCraneRailAShapeProfileDef") {}
  1.1886 +		IfcPositiveLengthMeasure::Out OverallHeight;
  1.1887 +		IfcPositiveLengthMeasure::Out BaseWidth2;
  1.1888 +		Maybe< IfcPositiveLengthMeasure::Out > Radius;
  1.1889 +		IfcPositiveLengthMeasure::Out HeadWidth;
  1.1890 +		IfcPositiveLengthMeasure::Out HeadDepth2;
  1.1891 +		IfcPositiveLengthMeasure::Out HeadDepth3;
  1.1892 +		IfcPositiveLengthMeasure::Out WebThickness;
  1.1893 +		IfcPositiveLengthMeasure::Out BaseWidth4;
  1.1894 +		IfcPositiveLengthMeasure::Out BaseDepth1;
  1.1895 +		IfcPositiveLengthMeasure::Out BaseDepth2;
  1.1896 +		IfcPositiveLengthMeasure::Out BaseDepth3;
  1.1897 +		Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
  1.1898 +    };
  1.1899 +
  1.1900 +    // C++ wrapper for IfcCondenserType
  1.1901 +    struct IfcCondenserType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCondenserType,1> { IfcCondenserType() : Object("IfcCondenserType") {}
  1.1902 +		IfcCondenserTypeEnum::Out PredefinedType;
  1.1903 +    };
  1.1904 +
  1.1905 +    // C++ wrapper for IfcCircleProfileDef
  1.1906 +    struct IfcCircleProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCircleProfileDef,1> { IfcCircleProfileDef() : Object("IfcCircleProfileDef") {}
  1.1907 +		IfcPositiveLengthMeasure::Out Radius;
  1.1908 +    };
  1.1909 +
  1.1910 +    // C++ wrapper for IfcCircleHollowProfileDef
  1.1911 +    struct IfcCircleHollowProfileDef : IfcCircleProfileDef, ObjectHelper<IfcCircleHollowProfileDef,1> { IfcCircleHollowProfileDef() : Object("IfcCircleHollowProfileDef") {}
  1.1912 +		IfcPositiveLengthMeasure::Out WallThickness;
  1.1913 +    };
  1.1914 +
  1.1915 +    // C++ wrapper for IfcPlacement
  1.1916 +    struct IfcPlacement : IfcGeometricRepresentationItem, ObjectHelper<IfcPlacement,1> { IfcPlacement() : Object("IfcPlacement") {}
  1.1917 +		Lazy< IfcCartesianPoint > Location;
  1.1918 +    };
  1.1919 +
  1.1920 +    // C++ wrapper for IfcAxis2Placement3D
  1.1921 +    struct IfcAxis2Placement3D : IfcPlacement, ObjectHelper<IfcAxis2Placement3D,2> { IfcAxis2Placement3D() : Object("IfcAxis2Placement3D") {}
  1.1922 +		Maybe< Lazy< IfcDirection > > Axis;
  1.1923 +		Maybe< Lazy< IfcDirection > > RefDirection;
  1.1924 +    };
  1.1925 +
  1.1926 +    // C++ wrapper for IfcPresentationStyle
  1.1927 +    struct IfcPresentationStyle :  ObjectHelper<IfcPresentationStyle,1> { IfcPresentationStyle() : Object("IfcPresentationStyle") {}
  1.1928 +		Maybe< IfcLabel::Out > Name;
  1.1929 +    };
  1.1930 +
  1.1931 +    // C++ wrapper for IfcEquipmentElement
  1.1932 +    struct IfcEquipmentElement : IfcElement, ObjectHelper<IfcEquipmentElement,0> { IfcEquipmentElement() : Object("IfcEquipmentElement") {}
  1.1933 +
  1.1934 +    };
  1.1935 +
  1.1936 +    // C++ wrapper for IfcCompositeCurveSegment
  1.1937 +    struct IfcCompositeCurveSegment : IfcGeometricRepresentationItem, ObjectHelper<IfcCompositeCurveSegment,3> { IfcCompositeCurveSegment() : Object("IfcCompositeCurveSegment") {}
  1.1938 +		IfcTransitionCode::Out Transition;
  1.1939 +		BOOLEAN::Out SameSense;
  1.1940 +		Lazy< IfcCurve > ParentCurve;
  1.1941 +    };
  1.1942 +
  1.1943 +    // C++ wrapper for IfcRectangleProfileDef
  1.1944 +    struct IfcRectangleProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcRectangleProfileDef,2> { IfcRectangleProfileDef() : Object("IfcRectangleProfileDef") {}
  1.1945 +		IfcPositiveLengthMeasure::Out XDim;
  1.1946 +		IfcPositiveLengthMeasure::Out YDim;
  1.1947 +    };
  1.1948 +
  1.1949 +    // C++ wrapper for IfcBuildingElementProxy
  1.1950 +    struct IfcBuildingElementProxy : IfcBuildingElement, ObjectHelper<IfcBuildingElementProxy,1> { IfcBuildingElementProxy() : Object("IfcBuildingElementProxy") {}
  1.1951 +		Maybe< IfcElementCompositionEnum::Out > CompositionType;
  1.1952 +    };
  1.1953 +
  1.1954 +    // C++ wrapper for IfcDistributionControlElementType
  1.1955 +    struct IfcDistributionControlElementType : IfcDistributionElementType, ObjectHelper<IfcDistributionControlElementType,0> { IfcDistributionControlElementType() : Object("IfcDistributionControlElementType") {}
  1.1956 +
  1.1957 +    };
  1.1958 +
  1.1959 +    // C++ wrapper for IfcFlowInstrumentType
  1.1960 +    struct IfcFlowInstrumentType : IfcDistributionControlElementType, ObjectHelper<IfcFlowInstrumentType,1> { IfcFlowInstrumentType() : Object("IfcFlowInstrumentType") {}
  1.1961 +		IfcFlowInstrumentTypeEnum::Out PredefinedType;
  1.1962 +    };
  1.1963 +
  1.1964 +    // C++ wrapper for IfcDraughtingCallout
  1.1965 +    struct IfcDraughtingCallout : IfcGeometricRepresentationItem, ObjectHelper<IfcDraughtingCallout,1> { IfcDraughtingCallout() : Object("IfcDraughtingCallout") {}
  1.1966 +		ListOf< IfcDraughtingCalloutElement, 1, 0 >::Out Contents;
  1.1967 +    };
  1.1968 +
  1.1969 +    // C++ wrapper for IfcDimensionCurveDirectedCallout
  1.1970 +    struct IfcDimensionCurveDirectedCallout : IfcDraughtingCallout, ObjectHelper<IfcDimensionCurveDirectedCallout,0> { IfcDimensionCurveDirectedCallout() : Object("IfcDimensionCurveDirectedCallout") {}
  1.1971 +
  1.1972 +    };
  1.1973 +
  1.1974 +    // C++ wrapper for IfcLinearDimension
  1.1975 +    struct IfcLinearDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcLinearDimension,0> { IfcLinearDimension() : Object("IfcLinearDimension") {}
  1.1976 +
  1.1977 +    };
  1.1978 +
  1.1979 +    // C++ wrapper for IfcElementAssembly
  1.1980 +    struct IfcElementAssembly : IfcElement, ObjectHelper<IfcElementAssembly,2> { IfcElementAssembly() : Object("IfcElementAssembly") {}
  1.1981 +		Maybe< IfcAssemblyPlaceEnum::Out > AssemblyPlace;
  1.1982 +		IfcElementAssemblyTypeEnum::Out PredefinedType;
  1.1983 +    };
  1.1984 +
  1.1985 +    // C++ wrapper for IfcCsgPrimitive3D
  1.1986 +    struct IfcCsgPrimitive3D : IfcGeometricRepresentationItem, ObjectHelper<IfcCsgPrimitive3D,1> { IfcCsgPrimitive3D() : Object("IfcCsgPrimitive3D") {}
  1.1987 +		Lazy< IfcAxis2Placement3D > Position;
  1.1988 +    };
  1.1989 +
  1.1990 +    // C++ wrapper for IfcRightCircularCone
  1.1991 +    struct IfcRightCircularCone : IfcCsgPrimitive3D, ObjectHelper<IfcRightCircularCone,2> { IfcRightCircularCone() : Object("IfcRightCircularCone") {}
  1.1992 +		IfcPositiveLengthMeasure::Out Height;
  1.1993 +		IfcPositiveLengthMeasure::Out BottomRadius;
  1.1994 +    };
  1.1995 +
  1.1996 +    // C++ wrapper for IfcProjectOrder
  1.1997 +    struct IfcProjectOrder : IfcControl, ObjectHelper<IfcProjectOrder,3> { IfcProjectOrder() : Object("IfcProjectOrder") {}
  1.1998 +		IfcIdentifier::Out ID;
  1.1999 +		IfcProjectOrderTypeEnum::Out PredefinedType;
  1.2000 +		Maybe< IfcLabel::Out > Status;
  1.2001 +    };
  1.2002 +
  1.2003 +    // C++ wrapper for IfcLShapeProfileDef
  1.2004 +    struct IfcLShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcLShapeProfileDef,8> { IfcLShapeProfileDef() : Object("IfcLShapeProfileDef") {}
  1.2005 +		IfcPositiveLengthMeasure::Out Depth;
  1.2006 +		Maybe< IfcPositiveLengthMeasure::Out > Width;
  1.2007 +		IfcPositiveLengthMeasure::Out Thickness;
  1.2008 +		Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
  1.2009 +		Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
  1.2010 +		Maybe< IfcPlaneAngleMeasure::Out > LegSlope;
  1.2011 +		Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
  1.2012 +		Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
  1.2013 +    };
  1.2014 +
  1.2015 +    // C++ wrapper for IfcAngularDimension
  1.2016 +    struct IfcAngularDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcAngularDimension,0> { IfcAngularDimension() : Object("IfcAngularDimension") {}
  1.2017 +
  1.2018 +    };
  1.2019 +
  1.2020 +    // C++ wrapper for IfcLocalPlacement
  1.2021 +    struct IfcLocalPlacement : IfcObjectPlacement, ObjectHelper<IfcLocalPlacement,2> { IfcLocalPlacement() : Object("IfcLocalPlacement") {}
  1.2022 +		Maybe< Lazy< IfcObjectPlacement > > PlacementRelTo;
  1.2023 +		IfcAxis2Placement::Out RelativePlacement;
  1.2024 +    };
  1.2025 +
  1.2026 +    // C++ wrapper for IfcSweptAreaSolid
  1.2027 +    struct IfcSweptAreaSolid : IfcSolidModel, ObjectHelper<IfcSweptAreaSolid,2> { IfcSweptAreaSolid() : Object("IfcSweptAreaSolid") {}
  1.2028 +		Lazy< IfcProfileDef > SweptArea;
  1.2029 +		Lazy< IfcAxis2Placement3D > Position;
  1.2030 +    };
  1.2031 +
  1.2032 +    // C++ wrapper for IfcRevolvedAreaSolid
  1.2033 +    struct IfcRevolvedAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcRevolvedAreaSolid,2> { IfcRevolvedAreaSolid() : Object("IfcRevolvedAreaSolid") {}
  1.2034 +		Lazy< IfcAxis1Placement > Axis;
  1.2035 +		IfcPlaneAngleMeasure::Out Angle;
  1.2036 +    };
  1.2037 +
  1.2038 +    // C++ wrapper for IfcStructuralSurfaceConnection
  1.2039 +    struct IfcStructuralSurfaceConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralSurfaceConnection,0> { IfcStructuralSurfaceConnection() : Object("IfcStructuralSurfaceConnection") {}
  1.2040 +
  1.2041 +    };
  1.2042 +
  1.2043 +    // C++ wrapper for IfcRadiusDimension
  1.2044 +    struct IfcRadiusDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcRadiusDimension,0> { IfcRadiusDimension() : Object("IfcRadiusDimension") {}
  1.2045 +
  1.2046 +    };
  1.2047 +
  1.2048 +    // C++ wrapper for IfcSweptDiskSolid
  1.2049 +    struct IfcSweptDiskSolid : IfcSolidModel, ObjectHelper<IfcSweptDiskSolid,5> { IfcSweptDiskSolid() : Object("IfcSweptDiskSolid") {}
  1.2050 +		Lazy< IfcCurve > Directrix;
  1.2051 +		IfcPositiveLengthMeasure::Out Radius;
  1.2052 +		Maybe< IfcPositiveLengthMeasure::Out > InnerRadius;
  1.2053 +		IfcParameterValue::Out StartParam;
  1.2054 +		IfcParameterValue::Out EndParam;
  1.2055 +    };
  1.2056 +
  1.2057 +    // C++ wrapper for IfcHalfSpaceSolid
  1.2058 +    struct IfcHalfSpaceSolid : IfcGeometricRepresentationItem, ObjectHelper<IfcHalfSpaceSolid,2> { IfcHalfSpaceSolid() : Object("IfcHalfSpaceSolid") {}
  1.2059 +		Lazy< IfcSurface > BaseSurface;
  1.2060 +		BOOLEAN::Out AgreementFlag;
  1.2061 +    };
  1.2062 +
  1.2063 +    // C++ wrapper for IfcPolygonalBoundedHalfSpace
  1.2064 +    struct IfcPolygonalBoundedHalfSpace : IfcHalfSpaceSolid, ObjectHelper<IfcPolygonalBoundedHalfSpace,2> { IfcPolygonalBoundedHalfSpace() : Object("IfcPolygonalBoundedHalfSpace") {}
  1.2065 +		Lazy< IfcAxis2Placement3D > Position;
  1.2066 +		Lazy< IfcBoundedCurve > PolygonalBoundary;
  1.2067 +    };
  1.2068 +
  1.2069 +    // C++ wrapper for IfcTimeSeriesSchedule
  1.2070 +    struct IfcTimeSeriesSchedule : IfcControl, ObjectHelper<IfcTimeSeriesSchedule,3> { IfcTimeSeriesSchedule() : Object("IfcTimeSeriesSchedule") {}
  1.2071 +		Maybe< ListOf< IfcDateTimeSelect, 1, 0 >::Out > ApplicableDates;
  1.2072 +		IfcTimeSeriesScheduleTypeEnum::Out TimeSeriesScheduleType;
  1.2073 +		Lazy< NotImplemented > TimeSeries;
  1.2074 +    };
  1.2075 +
  1.2076 +    // C++ wrapper for IfcCooledBeamType
  1.2077 +    struct IfcCooledBeamType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCooledBeamType,1> { IfcCooledBeamType() : Object("IfcCooledBeamType") {}
  1.2078 +		IfcCooledBeamTypeEnum::Out PredefinedType;
  1.2079 +    };
  1.2080 +
  1.2081 +    // C++ wrapper for IfcProject
  1.2082 +    struct IfcProject : IfcObject, ObjectHelper<IfcProject,4> { IfcProject() : Object("IfcProject") {}
  1.2083 +		Maybe< IfcLabel::Out > LongName;
  1.2084 +		Maybe< IfcLabel::Out > Phase;
  1.2085 +		ListOf< Lazy< IfcRepresentationContext >, 1, 0 > RepresentationContexts;
  1.2086 +		Lazy< IfcUnitAssignment > UnitsInContext;
  1.2087 +    };
  1.2088 +
  1.2089 +    // C++ wrapper for IfcEvaporatorType
  1.2090 +    struct IfcEvaporatorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcEvaporatorType,1> { IfcEvaporatorType() : Object("IfcEvaporatorType") {}
  1.2091 +		IfcEvaporatorTypeEnum::Out PredefinedType;
  1.2092 +    };
  1.2093 +
  1.2094 +    // C++ wrapper for IfcLaborResource
  1.2095 +    struct IfcLaborResource : IfcConstructionResource, ObjectHelper<IfcLaborResource,1> { IfcLaborResource() : Object("IfcLaborResource") {}
  1.2096 +		Maybe< IfcText::Out > SkillSet;
  1.2097 +    };
  1.2098 +
  1.2099 +    // C++ wrapper for IfcPropertyBoundedValue
  1.2100 +    struct IfcPropertyBoundedValue : IfcSimpleProperty, ObjectHelper<IfcPropertyBoundedValue,3> { IfcPropertyBoundedValue() : Object("IfcPropertyBoundedValue") {}
  1.2101 +		Maybe< IfcValue::Out > UpperBoundValue;
  1.2102 +		Maybe< IfcValue::Out > LowerBoundValue;
  1.2103 +		Maybe< IfcUnit::Out > Unit;
  1.2104 +    };
  1.2105 +
  1.2106 +    // C++ wrapper for IfcRampFlightType
  1.2107 +    struct IfcRampFlightType : IfcBuildingElementType, ObjectHelper<IfcRampFlightType,1> { IfcRampFlightType() : Object("IfcRampFlightType") {}
  1.2108 +		IfcRampFlightTypeEnum::Out PredefinedType;
  1.2109 +    };
  1.2110 +
  1.2111 +    // C++ wrapper for IfcMember
  1.2112 +    struct IfcMember : IfcBuildingElement, ObjectHelper<IfcMember,0> { IfcMember() : Object("IfcMember") {}
  1.2113 +
  1.2114 +    };
  1.2115 +
  1.2116 +    // C++ wrapper for IfcTubeBundleType
  1.2117 +    struct IfcTubeBundleType : IfcEnergyConversionDeviceType, ObjectHelper<IfcTubeBundleType,1> { IfcTubeBundleType() : Object("IfcTubeBundleType") {}
  1.2118 +		IfcTubeBundleTypeEnum::Out PredefinedType;
  1.2119 +    };
  1.2120 +
  1.2121 +    // C++ wrapper for IfcValveType
  1.2122 +    struct IfcValveType : IfcFlowControllerType, ObjectHelper<IfcValveType,1> { IfcValveType() : Object("IfcValveType") {}
  1.2123 +		IfcValveTypeEnum::Out PredefinedType;
  1.2124 +    };
  1.2125 +
  1.2126 +    // C++ wrapper for IfcTrimmedCurve
  1.2127 +    struct IfcTrimmedCurve : IfcBoundedCurve, ObjectHelper<IfcTrimmedCurve,5> { IfcTrimmedCurve() : Object("IfcTrimmedCurve") {}
  1.2128 +		Lazy< IfcCurve > BasisCurve;
  1.2129 +		ListOf< IfcTrimmingSelect, 1, 2 >::Out Trim1;
  1.2130 +		ListOf< IfcTrimmingSelect, 1, 2 >::Out Trim2;
  1.2131 +		BOOLEAN::Out SenseAgreement;
  1.2132 +		IfcTrimmingPreference::Out MasterRepresentation;
  1.2133 +    };
  1.2134 +
  1.2135 +    // C++ wrapper for IfcRelDefines
  1.2136 +    struct IfcRelDefines : IfcRelationship, ObjectHelper<IfcRelDefines,1> { IfcRelDefines() : Object("IfcRelDefines") {}
  1.2137 +		ListOf< Lazy< IfcObject >, 1, 0 > RelatedObjects;
  1.2138 +    };
  1.2139 +
  1.2140 +    // C++ wrapper for IfcRelDefinesByProperties
  1.2141 +    struct IfcRelDefinesByProperties : IfcRelDefines, ObjectHelper<IfcRelDefinesByProperties,1> { IfcRelDefinesByProperties() : Object("IfcRelDefinesByProperties") {}
  1.2142 +		Lazy< IfcPropertySetDefinition > RelatingPropertyDefinition;
  1.2143 +    };
  1.2144 +
  1.2145 +    // C++ wrapper for IfcActor
  1.2146 +    struct IfcActor : IfcObject, ObjectHelper<IfcActor,1> { IfcActor() : Object("IfcActor") {}
  1.2147 +		IfcActorSelect::Out TheActor;
  1.2148 +    };
  1.2149 +
  1.2150 +    // C++ wrapper for IfcOccupant
  1.2151 +    struct IfcOccupant : IfcActor, ObjectHelper<IfcOccupant,1> { IfcOccupant() : Object("IfcOccupant") {}
  1.2152 +		IfcOccupantTypeEnum::Out PredefinedType;
  1.2153 +    };
  1.2154 +
  1.2155 +    // C++ wrapper for IfcHumidifierType
  1.2156 +    struct IfcHumidifierType : IfcEnergyConversionDeviceType, ObjectHelper<IfcHumidifierType,1> { IfcHumidifierType() : Object("IfcHumidifierType") {}
  1.2157 +		IfcHumidifierTypeEnum::Out PredefinedType;
  1.2158 +    };
  1.2159 +
  1.2160 +    // C++ wrapper for IfcArbitraryOpenProfileDef
  1.2161 +    struct IfcArbitraryOpenProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryOpenProfileDef,1> { IfcArbitraryOpenProfileDef() : Object("IfcArbitraryOpenProfileDef") {}
  1.2162 +		Lazy< IfcBoundedCurve > Curve;
  1.2163 +    };
  1.2164 +
  1.2165 +    // C++ wrapper for IfcPermit
  1.2166 +    struct IfcPermit : IfcControl, ObjectHelper<IfcPermit,1> { IfcPermit() : Object("IfcPermit") {}
  1.2167 +		IfcIdentifier::Out PermitID;
  1.2168 +    };
  1.2169 +
  1.2170 +    // C++ wrapper for IfcOffsetCurve3D
  1.2171 +    struct IfcOffsetCurve3D : IfcCurve, ObjectHelper<IfcOffsetCurve3D,4> { IfcOffsetCurve3D() : Object("IfcOffsetCurve3D") {}
  1.2172 +		Lazy< IfcCurve > BasisCurve;
  1.2173 +		IfcLengthMeasure::Out Distance;
  1.2174 +		LOGICAL::Out SelfIntersect;
  1.2175 +		Lazy< IfcDirection > RefDirection;
  1.2176 +    };
  1.2177 +
  1.2178 +    // C++ wrapper for IfcLightSource
  1.2179 +    struct IfcLightSource : IfcGeometricRepresentationItem, ObjectHelper<IfcLightSource,4> { IfcLightSource() : Object("IfcLightSource") {}
  1.2180 +		Maybe< IfcLabel::Out > Name;
  1.2181 +		Lazy< IfcColourRgb > LightColour;
  1.2182 +		Maybe< IfcNormalisedRatioMeasure::Out > AmbientIntensity;
  1.2183 +		Maybe< IfcNormalisedRatioMeasure::Out > Intensity;
  1.2184 +    };
  1.2185 +
  1.2186 +    // C++ wrapper for IfcLightSourcePositional
  1.2187 +    struct IfcLightSourcePositional : IfcLightSource, ObjectHelper<IfcLightSourcePositional,5> { IfcLightSourcePositional() : Object("IfcLightSourcePositional") {}
  1.2188 +		Lazy< IfcCartesianPoint > Position;
  1.2189 +		IfcPositiveLengthMeasure::Out Radius;
  1.2190 +		IfcReal::Out ConstantAttenuation;
  1.2191 +		IfcReal::Out DistanceAttenuation;
  1.2192 +		IfcReal::Out QuadricAttenuation;
  1.2193 +    };
  1.2194 +
  1.2195 +    // C++ wrapper for IfcCompositeProfileDef
  1.2196 +    struct IfcCompositeProfileDef : IfcProfileDef, ObjectHelper<IfcCompositeProfileDef,2> { IfcCompositeProfileDef() : Object("IfcCompositeProfileDef") {}
  1.2197 +		ListOf< Lazy< IfcProfileDef >, 2, 0 > Profiles;
  1.2198 +		Maybe< IfcLabel::Out > Label;
  1.2199 +    };
  1.2200 +
  1.2201 +    // C++ wrapper for IfcRamp
  1.2202 +    struct IfcRamp : IfcBuildingElement, ObjectHelper<IfcRamp,1> { IfcRamp() : Object("IfcRamp") {}
  1.2203 +		IfcRampTypeEnum::Out ShapeType;
  1.2204 +    };
  1.2205 +
  1.2206 +    // C++ wrapper for IfcFlowMovingDevice
  1.2207 +    struct IfcFlowMovingDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowMovingDevice,0> { IfcFlowMovingDevice() : Object("IfcFlowMovingDevice") {}
  1.2208 +
  1.2209 +    };
  1.2210 +
  1.2211 +    // C++ wrapper for IfcSpaceHeaterType
  1.2212 +    struct IfcSpaceHeaterType : IfcEnergyConversionDeviceType, ObjectHelper<IfcSpaceHeaterType,1> { IfcSpaceHeaterType() : Object("IfcSpaceHeaterType") {}
  1.2213 +		IfcSpaceHeaterTypeEnum::Out PredefinedType;
  1.2214 +    };
  1.2215 +
  1.2216 +    // C++ wrapper for IfcLampType
  1.2217 +    struct IfcLampType : IfcFlowTerminalType, ObjectHelper<IfcLampType,1> { IfcLampType() : Object("IfcLampType") {}
  1.2218 +		IfcLampTypeEnum::Out PredefinedType;
  1.2219 +    };
  1.2220 +
  1.2221 +    // C++ wrapper for IfcBuildingElementComponent
  1.2222 +    struct IfcBuildingElementComponent : IfcBuildingElement, ObjectHelper<IfcBuildingElementComponent,0> { IfcBuildingElementComponent() : Object("IfcBuildingElementComponent") {}
  1.2223 +
  1.2224 +    };
  1.2225 +
  1.2226 +    // C++ wrapper for IfcReinforcingElement
  1.2227 +    struct IfcReinforcingElement : IfcBuildingElementComponent, ObjectHelper<IfcReinforcingElement,1> { IfcReinforcingElement() : Object("IfcReinforcingElement") {}
  1.2228 +		Maybe< IfcLabel::Out > SteelGrade;
  1.2229 +    };
  1.2230 +
  1.2231 +    // C++ wrapper for IfcReinforcingBar
  1.2232 +    struct IfcReinforcingBar : IfcReinforcingElement, ObjectHelper<IfcReinforcingBar,5> { IfcReinforcingBar() : Object("IfcReinforcingBar") {}
  1.2233 +		IfcPositiveLengthMeasure::Out NominalDiameter;
  1.2234 +		IfcAreaMeasure::Out CrossSectionArea;
  1.2235 +		Maybe< IfcPositiveLengthMeasure::Out > BarLength;
  1.2236 +		IfcReinforcingBarRoleEnum::Out BarRole;
  1.2237 +		Maybe< IfcReinforcingBarSurfaceEnum::Out > BarSurface;
  1.2238 +    };
  1.2239 +
  1.2240 +    // C++ wrapper for IfcElectricHeaterType
  1.2241 +    struct IfcElectricHeaterType : IfcFlowTerminalType, ObjectHelper<IfcElectricHeaterType,1> { IfcElectricHeaterType() : Object("IfcElectricHeaterType") {}
  1.2242 +		IfcElectricHeaterTypeEnum::Out PredefinedType;
  1.2243 +    };
  1.2244 +
  1.2245 +    // C++ wrapper for IfcTShapeProfileDef
  1.2246 +    struct IfcTShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcTShapeProfileDef,10> { IfcTShapeProfileDef() : Object("IfcTShapeProfileDef") {}
  1.2247 +		IfcPositiveLengthMeasure::Out Depth;
  1.2248 +		IfcPositiveLengthMeasure::Out FlangeWidth;
  1.2249 +		IfcPositiveLengthMeasure::Out WebThickness;
  1.2250 +		IfcPositiveLengthMeasure::Out FlangeThickness;
  1.2251 +		Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
  1.2252 +		Maybe< IfcPositiveLengthMeasure::Out > FlangeEdgeRadius;
  1.2253 +		Maybe< IfcPositiveLengthMeasure::Out > WebEdgeRadius;
  1.2254 +		Maybe< IfcPlaneAngleMeasure::Out > WebSlope;
  1.2255 +		Maybe< IfcPlaneAngleMeasure::Out > FlangeSlope;
  1.2256 +		Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
  1.2257 +    };
  1.2258 +
  1.2259 +    // C++ wrapper for IfcStructuralActivity
  1.2260 +    struct IfcStructuralActivity : IfcProduct, ObjectHelper<IfcStructuralActivity,2> { IfcStructuralActivity() : Object("IfcStructuralActivity") {}
  1.2261 +		Lazy< NotImplemented > AppliedLoad;
  1.2262 +		IfcGlobalOrLocalEnum::Out GlobalOrLocal;
  1.2263 +    };
  1.2264 +
  1.2265 +    // C++ wrapper for IfcStructuralAction
  1.2266 +    struct IfcStructuralAction : IfcStructuralActivity, ObjectHelper<IfcStructuralAction,2> { IfcStructuralAction() : Object("IfcStructuralAction") {}
  1.2267 +		BOOLEAN::Out DestabilizingLoad;
  1.2268 +		Maybe< Lazy< IfcStructuralReaction > > CausedBy;
  1.2269 +    };
  1.2270 +
  1.2271 +    // C++ wrapper for IfcDuctFittingType
  1.2272 +    struct IfcDuctFittingType : IfcFlowFittingType, ObjectHelper<IfcDuctFittingType,1> { IfcDuctFittingType() : Object("IfcDuctFittingType") {}
  1.2273 +		IfcDuctFittingTypeEnum::Out PredefinedType;
  1.2274 +    };
  1.2275 +
  1.2276 +    // C++ wrapper for IfcCartesianTransformationOperator2D
  1.2277 +    struct IfcCartesianTransformationOperator2D : IfcCartesianTransformationOperator, ObjectHelper<IfcCartesianTransformationOperator2D,0> { IfcCartesianTransformationOperator2D() : Object("IfcCartesianTransformationOperator2D") {}
  1.2278 +
  1.2279 +    };
  1.2280 +
  1.2281 +    // C++ wrapper for IfcCartesianTransformationOperator2DnonUniform
  1.2282 +    struct IfcCartesianTransformationOperator2DnonUniform : IfcCartesianTransformationOperator2D, ObjectHelper<IfcCartesianTransformationOperator2DnonUniform,1> { IfcCartesianTransformationOperator2DnonUniform() : Object("IfcCartesianTransformationOperator2DnonUniform") {}
  1.2283 +		Maybe< REAL::Out > Scale2;
  1.2284 +    };
  1.2285 +
  1.2286 +    // C++ wrapper for IfcVirtualElement
  1.2287 +    struct IfcVirtualElement : IfcElement, ObjectHelper<IfcVirtualElement,0> { IfcVirtualElement() : Object("IfcVirtualElement") {}
  1.2288 +
  1.2289 +    };
  1.2290 +
  1.2291 +    // C++ wrapper for IfcRightCircularCylinder
  1.2292 +    struct IfcRightCircularCylinder : IfcCsgPrimitive3D, ObjectHelper<IfcRightCircularCylinder,2> { IfcRightCircularCylinder() : Object("IfcRightCircularCylinder") {}
  1.2293 +		IfcPositiveLengthMeasure::Out Height;
  1.2294 +		IfcPositiveLengthMeasure::Out Radius;
  1.2295 +    };
  1.2296 +
  1.2297 +    // C++ wrapper for IfcOutletType
  1.2298 +    struct IfcOutletType : IfcFlowTerminalType, ObjectHelper<IfcOutletType,1> { IfcOutletType() : Object("IfcOutletType") {}
  1.2299 +		IfcOutletTypeEnum::Out PredefinedType;
  1.2300 +    };
  1.2301 +
  1.2302 +    // C++ wrapper for IfcRelDecomposes
  1.2303 +    struct IfcRelDecomposes : IfcRelationship, ObjectHelper<IfcRelDecomposes,2> { IfcRelDecomposes() : Object("IfcRelDecomposes") {}
  1.2304 +		Lazy< IfcObjectDefinition > RelatingObject;
  1.2305 +		ListOf< Lazy< IfcObjectDefinition >, 1, 0 > RelatedObjects;
  1.2306 +    };
  1.2307 +
  1.2308 +    // C++ wrapper for IfcCovering
  1.2309 +    struct IfcCovering : IfcBuildingElement, ObjectHelper<IfcCovering,1> { IfcCovering() : Object("IfcCovering") {}
  1.2310 +		Maybe< IfcCoveringTypeEnum::Out > PredefinedType;
  1.2311 +    };
  1.2312 +
  1.2313 +    // C++ wrapper for IfcPolyline
  1.2314 +    struct IfcPolyline : IfcBoundedCurve, ObjectHelper<IfcPolyline,1> { IfcPolyline() : Object("IfcPolyline") {}
  1.2315 +		ListOf< Lazy< IfcCartesianPoint >, 2, 0 > Points;
  1.2316 +    };
  1.2317 +
  1.2318 +    // C++ wrapper for IfcPath
  1.2319 +    struct IfcPath : IfcTopologicalRepresentationItem, ObjectHelper<IfcPath,1> { IfcPath() : Object("IfcPath") {}
  1.2320 +		ListOf< Lazy< IfcOrientedEdge >, 1, 0 > EdgeList;
  1.2321 +    };
  1.2322 +
  1.2323 +    // C++ wrapper for IfcElementComponent
  1.2324 +    struct IfcElementComponent : IfcElement, ObjectHelper<IfcElementComponent,0> { IfcElementComponent() : Object("IfcElementComponent") {}
  1.2325 +
  1.2326 +    };
  1.2327 +
  1.2328 +    // C++ wrapper for IfcFastener
  1.2329 +    struct IfcFastener : IfcElementComponent, ObjectHelper<IfcFastener,0> { IfcFastener() : Object("IfcFastener") {}
  1.2330 +
  1.2331 +    };
  1.2332 +
  1.2333 +    // C++ wrapper for IfcMappedItem
  1.2334 +    struct IfcMappedItem : IfcRepresentationItem, ObjectHelper<IfcMappedItem,2> { IfcMappedItem() : Object("IfcMappedItem") {}
  1.2335 +		Lazy< IfcRepresentationMap > MappingSource;
  1.2336 +		Lazy< IfcCartesianTransformationOperator > MappingTarget;
  1.2337 +    };
  1.2338 +
  1.2339 +    // C++ wrapper for IfcRectangularPyramid
  1.2340 +    struct IfcRectangularPyramid : IfcCsgPrimitive3D, ObjectHelper<IfcRectangularPyramid,3> { IfcRectangularPyramid() : Object("IfcRectangularPyramid") {}
  1.2341 +		IfcPositiveLengthMeasure::Out XLength;
  1.2342 +		IfcPositiveLengthMeasure::Out YLength;
  1.2343 +		IfcPositiveLengthMeasure::Out Height;
  1.2344 +    };
  1.2345 +
  1.2346 +    // C++ wrapper for IfcCrewResource
  1.2347 +    struct IfcCrewResource : IfcConstructionResource, ObjectHelper<IfcCrewResource,0> { IfcCrewResource() : Object("IfcCrewResource") {}
  1.2348 +
  1.2349 +    };
  1.2350 +
  1.2351 +    // C++ wrapper for IfcNamedUnit
  1.2352 +    struct IfcNamedUnit :  ObjectHelper<IfcNamedUnit,2> { IfcNamedUnit() : Object("IfcNamedUnit") {}
  1.2353 +		Lazy< NotImplemented > Dimensions;
  1.2354 +		IfcUnitEnum::Out UnitType;
  1.2355 +    };
  1.2356 +
  1.2357 +    // C++ wrapper for IfcContextDependentUnit
  1.2358 +    struct IfcContextDependentUnit : IfcNamedUnit, ObjectHelper<IfcContextDependentUnit,1> { IfcContextDependentUnit() : Object("IfcContextDependentUnit") {}
  1.2359 +		IfcLabel::Out Name;
  1.2360 +    };
  1.2361 +
  1.2362 +    // C++ wrapper for IfcUnitaryEquipmentType
  1.2363 +    struct IfcUnitaryEquipmentType : IfcEnergyConversionDeviceType, ObjectHelper<IfcUnitaryEquipmentType,1> { IfcUnitaryEquipmentType() : Object("IfcUnitaryEquipmentType") {}
  1.2364 +		IfcUnitaryEquipmentTypeEnum::Out PredefinedType;
  1.2365 +    };
  1.2366 +
  1.2367 +    // C++ wrapper for IfcRoof
  1.2368 +    struct IfcRoof : IfcBuildingElement, ObjectHelper<IfcRoof,1> { IfcRoof() : Object("IfcRoof") {}
  1.2369 +		IfcRoofTypeEnum::Out ShapeType;
  1.2370 +    };
  1.2371 +
  1.2372 +    // C++ wrapper for IfcStructuralMember
  1.2373 +    struct IfcStructuralMember : IfcStructuralItem, ObjectHelper<IfcStructuralMember,0> { IfcStructuralMember() : Object("IfcStructuralMember") {}
  1.2374 +
  1.2375 +    };
  1.2376 +
  1.2377 +    // C++ wrapper for IfcStyleModel
  1.2378 +    struct IfcStyleModel : IfcRepresentation, ObjectHelper<IfcStyleModel,0> { IfcStyleModel() : Object("IfcStyleModel") {}
  1.2379 +
  1.2380 +    };
  1.2381 +
  1.2382 +    // C++ wrapper for IfcStyledRepresentation
  1.2383 +    struct IfcStyledRepresentation : IfcStyleModel, ObjectHelper<IfcStyledRepresentation,0> { IfcStyledRepresentation() : Object("IfcStyledRepresentation") {}
  1.2384 +
  1.2385 +    };
  1.2386 +
  1.2387 +    // C++ wrapper for IfcSpatialStructureElement
  1.2388 +    struct IfcSpatialStructureElement : IfcProduct, ObjectHelper<IfcSpatialStructureElement,2> { IfcSpatialStructureElement() : Object("IfcSpatialStructureElement") {}
  1.2389 +		Maybe< IfcLabel::Out > LongName;
  1.2390 +		IfcElementCompositionEnum::Out CompositionType;
  1.2391 +    };
  1.2392 +
  1.2393 +    // C++ wrapper for IfcBuilding
  1.2394 +    struct IfcBuilding : IfcSpatialStructureElement, ObjectHelper<IfcBuilding,3> { IfcBuilding() : Object("IfcBuilding") {}
  1.2395 +		Maybe< IfcLengthMeasure::Out > ElevationOfRefHeight;
  1.2396 +		Maybe< IfcLengthMeasure::Out > ElevationOfTerrain;
  1.2397 +		Maybe< Lazy< NotImplemented > > BuildingAddress;
  1.2398 +    };
  1.2399 +
  1.2400 +    // C++ wrapper for IfcConnectedFaceSet
  1.2401 +    struct IfcConnectedFaceSet : IfcTopologicalRepresentationItem, ObjectHelper<IfcConnectedFaceSet,1> { IfcConnectedFaceSet() : Object("IfcConnectedFaceSet") {}
  1.2402 +		ListOf< Lazy< IfcFace >, 1, 0 > CfsFaces;
  1.2403 +    };
  1.2404 +
  1.2405 +    // C++ wrapper for IfcOpenShell
  1.2406 +    struct IfcOpenShell : IfcConnectedFaceSet, ObjectHelper<IfcOpenShell,0> { IfcOpenShell() : Object("IfcOpenShell") {}
  1.2407 +
  1.2408 +    };
  1.2409 +
  1.2410 +    // C++ wrapper for IfcFacetedBrep
  1.2411 +    struct IfcFacetedBrep : IfcManifoldSolidBrep, ObjectHelper<IfcFacetedBrep,0> { IfcFacetedBrep() : Object("IfcFacetedBrep") {}
  1.2412 +
  1.2413 +    };
  1.2414 +
  1.2415 +    // C++ wrapper for IfcConic
  1.2416 +    struct IfcConic : IfcCurve, ObjectHelper<IfcConic,1> { IfcConic() : Object("IfcConic") {}
  1.2417 +		IfcAxis2Placement::Out Position;
  1.2418 +    };
  1.2419 +
  1.2420 +    // C++ wrapper for IfcCoveringType
  1.2421 +    struct IfcCoveringType : IfcBuildingElementType, ObjectHelper<IfcCoveringType,1> { IfcCoveringType() : Object("IfcCoveringType") {}
  1.2422 +		IfcCoveringTypeEnum::Out PredefinedType;
  1.2423 +    };
  1.2424 +
  1.2425 +    // C++ wrapper for IfcRoundedRectangleProfileDef
  1.2426 +    struct IfcRoundedRectangleProfileDef : IfcRectangleProfileDef, ObjectHelper<IfcRoundedRectangleProfileDef,1> { IfcRoundedRectangleProfileDef() : Object("IfcRoundedRectangleProfileDef") {}
  1.2427 +		IfcPositiveLengthMeasure::Out RoundingRadius;
  1.2428 +    };
  1.2429 +
  1.2430 +    // C++ wrapper for IfcAirTerminalType
  1.2431 +    struct IfcAirTerminalType : IfcFlowTerminalType, ObjectHelper<IfcAirTerminalType,1> { IfcAirTerminalType() : Object("IfcAirTerminalType") {}
  1.2432 +		IfcAirTerminalTypeEnum::Out PredefinedType;
  1.2433 +    };
  1.2434 +
  1.2435 +    // C++ wrapper for IfcFlowMovingDeviceType
  1.2436 +    struct IfcFlowMovingDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowMovingDeviceType,0> { IfcFlowMovingDeviceType() : Object("IfcFlowMovingDeviceType") {}
  1.2437 +
  1.2438 +    };
  1.2439 +
  1.2440 +    // C++ wrapper for IfcCompressorType
  1.2441 +    struct IfcCompressorType : IfcFlowMovingDeviceType, ObjectHelper<IfcCompressorType,1> { IfcCompressorType() : Object("IfcCompressorType") {}
  1.2442 +		IfcCompressorTypeEnum::Out PredefinedType;
  1.2443 +    };
  1.2444 +
  1.2445 +    // C++ wrapper for IfcIShapeProfileDef
  1.2446 +    struct IfcIShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcIShapeProfileDef,5> { IfcIShapeProfileDef() : Object("IfcIShapeProfileDef") {}
  1.2447 +		IfcPositiveLengthMeasure::Out OverallWidth;
  1.2448 +		IfcPositiveLengthMeasure::Out OverallDepth;
  1.2449 +		IfcPositiveLengthMeasure::Out WebThickness;
  1.2450 +		IfcPositiveLengthMeasure::Out FlangeThickness;
  1.2451 +		Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
  1.2452 +    };
  1.2453 +
  1.2454 +    // C++ wrapper for IfcAsymmetricIShapeProfileDef
  1.2455 +    struct IfcAsymmetricIShapeProfileDef : IfcIShapeProfileDef, ObjectHelper<IfcAsymmetricIShapeProfileDef,4> { IfcAsymmetricIShapeProfileDef() : Object("IfcAsymmetricIShapeProfileDef") {}
  1.2456 +		IfcPositiveLengthMeasure::Out TopFlangeWidth;
  1.2457 +		Maybe< IfcPositiveLengthMeasure::Out > TopFlangeThickness;
  1.2458 +		Maybe< IfcPositiveLengthMeasure::Out > TopFlangeFilletRadius;
  1.2459 +		Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
  1.2460 +    };
  1.2461 +
  1.2462 +    // C++ wrapper for IfcControllerType
  1.2463 +    struct IfcControllerType : IfcDistributionControlElementType, ObjectHelper<IfcControllerType,1> { IfcControllerType() : Object("IfcControllerType") {}
  1.2464 +		IfcControllerTypeEnum::Out PredefinedType;
  1.2465 +    };
  1.2466 +
  1.2467 +    // C++ wrapper for IfcRailing
  1.2468 +    struct IfcRailing : IfcBuildingElement, ObjectHelper<IfcRailing,1> { IfcRailing() : Object("IfcRailing") {}
  1.2469 +		Maybe< IfcRailingTypeEnum::Out > PredefinedType;
  1.2470 +    };
  1.2471 +
  1.2472 +    // C++ wrapper for IfcGroup
  1.2473 +    struct IfcGroup : IfcObject, ObjectHelper<IfcGroup,0> { IfcGroup() : Object("IfcGroup") {}
  1.2474 +
  1.2475 +    };
  1.2476 +
  1.2477 +    // C++ wrapper for IfcAsset
  1.2478 +    struct IfcAsset : IfcGroup, ObjectHelper<IfcAsset,9> { IfcAsset() : Object("IfcAsset") {}
  1.2479 +		IfcIdentifier::Out AssetID;
  1.2480 +		Lazy< NotImplemented > OriginalValue;
  1.2481 +		Lazy< NotImplemented > CurrentValue;
  1.2482 +		Lazy< NotImplemented > TotalReplacementCost;
  1.2483 +		IfcActorSelect::Out Owner;
  1.2484 +		IfcActorSelect::Out User;
  1.2485 +		Lazy< NotImplemented > ResponsiblePerson;
  1.2486 +		Lazy< NotImplemented > IncorporationDate;
  1.2487 +		Lazy< NotImplemented > DepreciatedValue;
  1.2488 +    };
  1.2489 +
  1.2490 +    // C++ wrapper for IfcMaterialDefinitionRepresentation
  1.2491 +    struct IfcMaterialDefinitionRepresentation : IfcProductRepresentation, ObjectHelper<IfcMaterialDefinitionRepresentation,1> { IfcMaterialDefinitionRepresentation() : Object("IfcMaterialDefinitionRepresentation") {}
  1.2492 +		Lazy< NotImplemented > RepresentedMaterial;
  1.2493 +    };
  1.2494 +
  1.2495 +    // C++ wrapper for IfcRailingType
  1.2496 +    struct IfcRailingType : IfcBuildingElementType, ObjectHelper<IfcRailingType,1> { IfcRailingType() : Object("IfcRailingType") {}
  1.2497 +		IfcRailingTypeEnum::Out PredefinedType;
  1.2498 +    };
  1.2499 +
  1.2500 +    // C++ wrapper for IfcWall
  1.2501 +    struct IfcWall : IfcBuildingElement, ObjectHelper<IfcWall,0> { IfcWall() : Object("IfcWall") {}
  1.2502 +
  1.2503 +    };
  1.2504 +
  1.2505 +    // C++ wrapper for IfcStructuralPointConnection
  1.2506 +    struct IfcStructuralPointConnection : IfcStructuralConnection, ObjectHelper<IfcStructuralPointConnection,0> { IfcStructuralPointConnection() : Object("IfcStructuralPointConnection") {}
  1.2507 +
  1.2508 +    };
  1.2509 +
  1.2510 +    // C++ wrapper for IfcPropertyListValue
  1.2511 +    struct IfcPropertyListValue : IfcSimpleProperty, ObjectHelper<IfcPropertyListValue,2> { IfcPropertyListValue() : Object("IfcPropertyListValue") {}
  1.2512 +		ListOf< IfcValue, 1, 0 >::Out ListValues;
  1.2513 +		Maybe< IfcUnit::Out > Unit;
  1.2514 +    };
  1.2515 +
  1.2516 +    // C++ wrapper for IfcFurnitureStandard
  1.2517 +    struct IfcFurnitureStandard : IfcControl, ObjectHelper<IfcFurnitureStandard,0> { IfcFurnitureStandard() : Object("IfcFurnitureStandard") {}
  1.2518 +
  1.2519 +    };
  1.2520 +
  1.2521 +    // C++ wrapper for IfcElectricGeneratorType
  1.2522 +    struct IfcElectricGeneratorType : IfcEnergyConversionDeviceType, ObjectHelper<IfcElectricGeneratorType,1> { IfcElectricGeneratorType() : Object("IfcElectricGeneratorType") {}
  1.2523 +		IfcElectricGeneratorTypeEnum::Out PredefinedType;
  1.2524 +    };
  1.2525 +
  1.2526 +    // C++ wrapper for IfcDoor
  1.2527 +    struct IfcDoor : IfcBuildingElement, ObjectHelper<IfcDoor,2> { IfcDoor() : Object("IfcDoor") {}
  1.2528 +		Maybe< IfcPositiveLengthMeasure::Out > OverallHeight;
  1.2529 +		Maybe< IfcPositiveLengthMeasure::Out > OverallWidth;
  1.2530 +    };
  1.2531 +
  1.2532 +    // C++ wrapper for IfcStyledItem
  1.2533 +    struct IfcStyledItem : IfcRepresentationItem, ObjectHelper<IfcStyledItem,3> { IfcStyledItem() : Object("IfcStyledItem") {}
  1.2534 +		Maybe< Lazy< IfcRepresentationItem > > Item;
  1.2535 +		ListOf< Lazy< IfcPresentationStyleAssignment >, 1, 0 > Styles;
  1.2536 +		Maybe< IfcLabel::Out > Name;
  1.2537 +    };
  1.2538 +
  1.2539 +    // C++ wrapper for IfcAnnotationOccurrence
  1.2540 +    struct IfcAnnotationOccurrence : IfcStyledItem, ObjectHelper<IfcAnnotationOccurrence,0> { IfcAnnotationOccurrence() : Object("IfcAnnotationOccurrence") {}
  1.2541 +
  1.2542 +    };
  1.2543 +
  1.2544 +    // C++ wrapper for IfcAnnotationSymbolOccurrence
  1.2545 +    struct IfcAnnotationSymbolOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationSymbolOccurrence,0> { IfcAnnotationSymbolOccurrence() : Object("IfcAnnotationSymbolOccurrence") {}
  1.2546 +
  1.2547 +    };
  1.2548 +
  1.2549 +    // C++ wrapper for IfcArbitraryClosedProfileDef
  1.2550 +    struct IfcArbitraryClosedProfileDef : IfcProfileDef, ObjectHelper<IfcArbitraryClosedProfileDef,1> { IfcArbitraryClosedProfileDef() : Object("IfcArbitraryClosedProfileDef") {}
  1.2551 +		Lazy< IfcCurve > OuterCurve;
  1.2552 +    };
  1.2553 +
  1.2554 +    // C++ wrapper for IfcArbitraryProfileDefWithVoids
  1.2555 +    struct IfcArbitraryProfileDefWithVoids : IfcArbitraryClosedProfileDef, ObjectHelper<IfcArbitraryProfileDefWithVoids,1> { IfcArbitraryProfileDefWithVoids() : Object("IfcArbitraryProfileDefWithVoids") {}
  1.2556 +		ListOf< Lazy< IfcCurve >, 1, 0 > InnerCurves;
  1.2557 +    };
  1.2558 +
  1.2559 +    // C++ wrapper for IfcLine
  1.2560 +    struct IfcLine : IfcCurve, ObjectHelper<IfcLine,2> { IfcLine() : Object("IfcLine") {}
  1.2561 +		Lazy< IfcCartesianPoint > Pnt;
  1.2562 +		Lazy< IfcVector > Dir;
  1.2563 +    };
  1.2564 +
  1.2565 +    // C++ wrapper for IfcFlowSegmentType
  1.2566 +    struct IfcFlowSegmentType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowSegmentType,0> { IfcFlowSegmentType() : Object("IfcFlowSegmentType") {}
  1.2567 +
  1.2568 +    };
  1.2569 +
  1.2570 +    // C++ wrapper for IfcAirTerminalBoxType
  1.2571 +    struct IfcAirTerminalBoxType : IfcFlowControllerType, ObjectHelper<IfcAirTerminalBoxType,1> { IfcAirTerminalBoxType() : Object("IfcAirTerminalBoxType") {}
  1.2572 +		IfcAirTerminalBoxTypeEnum::Out PredefinedType;
  1.2573 +    };
  1.2574 +
  1.2575 +    // C++ wrapper for IfcPropertySingleValue
  1.2576 +    struct IfcPropertySingleValue : IfcSimpleProperty, ObjectHelper<IfcPropertySingleValue,2> { IfcPropertySingleValue() : Object("IfcPropertySingleValue") {}
  1.2577 +		Maybe< IfcValue::Out > NominalValue;
  1.2578 +		Maybe< IfcUnit::Out > Unit;
  1.2579 +    };
  1.2580 +
  1.2581 +    // C++ wrapper for IfcAlarmType
  1.2582 +    struct IfcAlarmType : IfcDistributionControlElementType, ObjectHelper<IfcAlarmType,1> { IfcAlarmType() : Object("IfcAlarmType") {}
  1.2583 +		IfcAlarmTypeEnum::Out PredefinedType;
  1.2584 +    };
  1.2585 +
  1.2586 +    // C++ wrapper for IfcEllipseProfileDef
  1.2587 +    struct IfcEllipseProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcEllipseProfileDef,2> { IfcEllipseProfileDef() : Object("IfcEllipseProfileDef") {}
  1.2588 +		IfcPositiveLengthMeasure::Out SemiAxis1;
  1.2589 +		IfcPositiveLengthMeasure::Out SemiAxis2;
  1.2590 +    };
  1.2591 +
  1.2592 +    // C++ wrapper for IfcStair
  1.2593 +    struct IfcStair : IfcBuildingElement, ObjectHelper<IfcStair,1> { IfcStair() : Object("IfcStair") {}
  1.2594 +		IfcStairTypeEnum::Out ShapeType;
  1.2595 +    };
  1.2596 +
  1.2597 +    // C++ wrapper for IfcSurfaceStyleShading
  1.2598 +    struct IfcSurfaceStyleShading :  ObjectHelper<IfcSurfaceStyleShading,1> { IfcSurfaceStyleShading() : Object("IfcSurfaceStyleShading") {}
  1.2599 +		Lazy< IfcColourRgb > SurfaceColour;
  1.2600 +    };
  1.2601 +
  1.2602 +    // C++ wrapper for IfcPumpType
  1.2603 +    struct IfcPumpType : IfcFlowMovingDeviceType, ObjectHelper<IfcPumpType,1> { IfcPumpType() : Object("IfcPumpType") {}
  1.2604 +		IfcPumpTypeEnum::Out PredefinedType;
  1.2605 +    };
  1.2606 +
  1.2607 +    // C++ wrapper for IfcDefinedSymbol
  1.2608 +    struct IfcDefinedSymbol : IfcGeometricRepresentationItem, ObjectHelper<IfcDefinedSymbol,2> { IfcDefinedSymbol() : Object("IfcDefinedSymbol") {}
  1.2609 +		IfcDefinedSymbolSelect::Out Definition;
  1.2610 +		Lazy< IfcCartesianTransformationOperator2D > Target;
  1.2611 +    };
  1.2612 +
  1.2613 +    // C++ wrapper for IfcElementComponentType
  1.2614 +    struct IfcElementComponentType : IfcElementType, ObjectHelper<IfcElementComponentType,0> { IfcElementComponentType() : Object("IfcElementComponentType") {}
  1.2615 +
  1.2616 +    };
  1.2617 +
  1.2618 +    // C++ wrapper for IfcFastenerType
  1.2619 +    struct IfcFastenerType : IfcElementComponentType, ObjectHelper<IfcFastenerType,0> { IfcFastenerType() : Object("IfcFastenerType") {}
  1.2620 +
  1.2621 +    };
  1.2622 +
  1.2623 +    // C++ wrapper for IfcMechanicalFastenerType
  1.2624 +    struct IfcMechanicalFastenerType : IfcFastenerType, ObjectHelper<IfcMechanicalFastenerType,0> { IfcMechanicalFastenerType() : Object("IfcMechanicalFastenerType") {}
  1.2625 +
  1.2626 +    };
  1.2627 +
  1.2628 +    // C++ wrapper for IfcFlowFitting
  1.2629 +    struct IfcFlowFitting : IfcDistributionFlowElement, ObjectHelper<IfcFlowFitting,0> { IfcFlowFitting() : Object("IfcFlowFitting") {}
  1.2630 +
  1.2631 +    };
  1.2632 +
  1.2633 +    // C++ wrapper for IfcLightSourceDirectional
  1.2634 +    struct IfcLightSourceDirectional : IfcLightSource, ObjectHelper<IfcLightSourceDirectional,1> { IfcLightSourceDirectional() : Object("IfcLightSourceDirectional") {}
  1.2635 +		Lazy< IfcDirection > Orientation;
  1.2636 +    };
  1.2637 +
  1.2638 +    // C++ wrapper for IfcSurfaceStyle
  1.2639 +    struct IfcSurfaceStyle : IfcPresentationStyle, ObjectHelper<IfcSurfaceStyle,2> { IfcSurfaceStyle() : Object("IfcSurfaceStyle") {}
  1.2640 +		IfcSurfaceSide::Out Side;
  1.2641 +		ListOf< IfcSurfaceStyleElementSelect, 1, 5 >::Out Styles;
  1.2642 +    };
  1.2643 +
  1.2644 +    // C++ wrapper for IfcAnnotationSurface
  1.2645 +    struct IfcAnnotationSurface : IfcGeometricRepresentationItem, ObjectHelper<IfcAnnotationSurface,2> { IfcAnnotationSurface() : Object("IfcAnnotationSurface") {}
  1.2646 +		Lazy< IfcGeometricRepresentationItem > Item;
  1.2647 +		Maybe< Lazy< NotImplemented > > TextureCoordinates;
  1.2648 +    };
  1.2649 +
  1.2650 +    // C++ wrapper for IfcFlowController
  1.2651 +    struct IfcFlowController : IfcDistributionFlowElement, ObjectHelper<IfcFlowController,0> { IfcFlowController() : Object("IfcFlowController") {}
  1.2652 +
  1.2653 +    };
  1.2654 +
  1.2655 +    // C++ wrapper for IfcBuildingStorey
  1.2656 +    struct IfcBuildingStorey : IfcSpatialStructureElement, ObjectHelper<IfcBuildingStorey,1> { IfcBuildingStorey() : Object("IfcBuildingStorey") {}
  1.2657 +		Maybe< IfcLengthMeasure::Out > Elevation;
  1.2658 +    };
  1.2659 +
  1.2660 +    // C++ wrapper for IfcWorkControl
  1.2661 +    struct IfcWorkControl : IfcControl, ObjectHelper<IfcWorkControl,10> { IfcWorkControl() : Object("IfcWorkControl") {}
  1.2662 +		IfcIdentifier::Out Identifier;
  1.2663 +		IfcDateTimeSelect::Out CreationDate;
  1.2664 +		Maybe< ListOf< Lazy< NotImplemented >, 1, 0 > > Creators;
  1.2665 +		Maybe< IfcLabel::Out > Purpose;
  1.2666 +		Maybe< IfcTimeMeasure::Out > Duration;
  1.2667 +		Maybe< IfcTimeMeasure::Out > TotalFloat;
  1.2668 +		IfcDateTimeSelect::Out StartTime;
  1.2669 +		Maybe< IfcDateTimeSelect::Out > FinishTime;
  1.2670 +		Maybe< IfcWorkControlTypeEnum::Out > WorkControlType;
  1.2671 +		Maybe< IfcLabel::Out > UserDefinedControlType;
  1.2672 +    };
  1.2673 +
  1.2674 +    // C++ wrapper for IfcWorkSchedule
  1.2675 +    struct IfcWorkSchedule : IfcWorkControl, ObjectHelper<IfcWorkSchedule,0> { IfcWorkSchedule() : Object("IfcWorkSchedule") {}
  1.2676 +
  1.2677 +    };
  1.2678 +
  1.2679 +    // C++ wrapper for IfcDuctSegmentType
  1.2680 +    struct IfcDuctSegmentType : IfcFlowSegmentType, ObjectHelper<IfcDuctSegmentType,1> { IfcDuctSegmentType() : Object("IfcDuctSegmentType") {}
  1.2681 +		IfcDuctSegmentTypeEnum::Out PredefinedType;
  1.2682 +    };
  1.2683 +
  1.2684 +    // C++ wrapper for IfcFace
  1.2685 +    struct IfcFace : IfcTopologicalRepresentationItem, ObjectHelper<IfcFace,1> { IfcFace() : Object("IfcFace") {}
  1.2686 +		ListOf< Lazy< IfcFaceBound >, 1, 0 > Bounds;
  1.2687 +    };
  1.2688 +
  1.2689 +    // C++ wrapper for IfcStructuralSurfaceMember
  1.2690 +    struct IfcStructuralSurfaceMember : IfcStructuralMember, ObjectHelper<IfcStructuralSurfaceMember,2> { IfcStructuralSurfaceMember() : Object("IfcStructuralSurfaceMember") {}
  1.2691 +		IfcStructuralSurfaceTypeEnum::Out PredefinedType;
  1.2692 +		Maybe< IfcPositiveLengthMeasure::Out > Thickness;
  1.2693 +    };
  1.2694 +
  1.2695 +    // C++ wrapper for IfcStructuralSurfaceMemberVarying
  1.2696 +    struct IfcStructuralSurfaceMemberVarying : IfcStructuralSurfaceMember, ObjectHelper<IfcStructuralSurfaceMemberVarying,2> { IfcStructuralSurfaceMemberVarying() : Object("IfcStructuralSurfaceMemberVarying") {}
  1.2697 +		ListOf< IfcPositiveLengthMeasure, 2, 0 >::Out SubsequentThickness;
  1.2698 +		Lazy< NotImplemented > VaryingThicknessLocation;
  1.2699 +    };
  1.2700 +
  1.2701 +    // C++ wrapper for IfcFaceSurface
  1.2702 +    struct IfcFaceSurface : IfcFace, ObjectHelper<IfcFaceSurface,2> { IfcFaceSurface() : Object("IfcFaceSurface") {}
  1.2703 +		Lazy< IfcSurface > FaceSurface;
  1.2704 +		BOOLEAN::Out SameSense;
  1.2705 +    };
  1.2706 +
  1.2707 +    // C++ wrapper for IfcCostSchedule
  1.2708 +    struct IfcCostSchedule : IfcControl, ObjectHelper<IfcCostSchedule,8> { IfcCostSchedule() : Object("IfcCostSchedule") {}
  1.2709 +		Maybe< IfcActorSelect::Out > SubmittedBy;
  1.2710 +		Maybe< IfcActorSelect::Out > PreparedBy;
  1.2711 +		Maybe< IfcDateTimeSelect::Out > SubmittedOn;
  1.2712 +		Maybe< IfcLabel::Out > Status;
  1.2713 +		Maybe< ListOf< IfcActorSelect, 1, 0 >::Out > TargetUsers;
  1.2714 +		Maybe< IfcDateTimeSelect::Out > UpdateDate;
  1.2715 +		IfcIdentifier::Out ID;
  1.2716 +		IfcCostScheduleTypeEnum::Out PredefinedType;
  1.2717 +    };
  1.2718 +
  1.2719 +    // C++ wrapper for IfcPlanarExtent
  1.2720 +    struct IfcPlanarExtent : IfcGeometricRepresentationItem, ObjectHelper<IfcPlanarExtent,2> { IfcPlanarExtent() : Object("IfcPlanarExtent") {}
  1.2721 +		IfcLengthMeasure::Out SizeInX;
  1.2722 +		IfcLengthMeasure::Out SizeInY;
  1.2723 +    };
  1.2724 +
  1.2725 +    // C++ wrapper for IfcPlanarBox
  1.2726 +    struct IfcPlanarBox : IfcPlanarExtent, ObjectHelper<IfcPlanarBox,1> { IfcPlanarBox() : Object("IfcPlanarBox") {}
  1.2727 +		IfcAxis2Placement::Out Placement;
  1.2728 +    };
  1.2729 +
  1.2730 +    // C++ wrapper for IfcColourSpecification
  1.2731 +    struct IfcColourSpecification :  ObjectHelper<IfcColourSpecification,1> { IfcColourSpecification() : Object("IfcColourSpecification") {}
  1.2732 +		Maybe< IfcLabel::Out > Name;
  1.2733 +    };
  1.2734 +
  1.2735 +    // C++ wrapper for IfcVector
  1.2736 +    struct IfcVector : IfcGeometricRepresentationItem, ObjectHelper<IfcVector,2> { IfcVector() : Object("IfcVector") {}
  1.2737 +		Lazy< IfcDirection > Orientation;
  1.2738 +		IfcLengthMeasure::Out Magnitude;
  1.2739 +    };
  1.2740 +
  1.2741 +    // C++ wrapper for IfcBeam
  1.2742 +    struct IfcBeam : IfcBuildingElement, ObjectHelper<IfcBeam,0> { IfcBeam() : Object("IfcBeam") {}
  1.2743 +
  1.2744 +    };
  1.2745 +
  1.2746 +    // C++ wrapper for IfcColourRgb
  1.2747 +    struct IfcColourRgb : IfcColourSpecification, ObjectHelper<IfcColourRgb,3> { IfcColourRgb() : Object("IfcColourRgb") {}
  1.2748 +		IfcNormalisedRatioMeasure::Out Red;
  1.2749 +		IfcNormalisedRatioMeasure::Out Green;
  1.2750 +		IfcNormalisedRatioMeasure::Out Blue;
  1.2751 +    };
  1.2752 +
  1.2753 +    // C++ wrapper for IfcStructuralPlanarAction
  1.2754 +    struct IfcStructuralPlanarAction : IfcStructuralAction, ObjectHelper<IfcStructuralPlanarAction,1> { IfcStructuralPlanarAction() : Object("IfcStructuralPlanarAction") {}
  1.2755 +		IfcProjectedOrTrueLengthEnum::Out ProjectedOrTrue;
  1.2756 +    };
  1.2757 +
  1.2758 +    // C++ wrapper for IfcStructuralPlanarActionVarying
  1.2759 +    struct IfcStructuralPlanarActionVarying : IfcStructuralPlanarAction, ObjectHelper<IfcStructuralPlanarActionVarying,2> { IfcStructuralPlanarActionVarying() : Object("IfcStructuralPlanarActionVarying") {}
  1.2760 +		Lazy< NotImplemented > VaryingAppliedLoadLocation;
  1.2761 +		ListOf< Lazy< NotImplemented >, 2, 0 > SubsequentAppliedLoads;
  1.2762 +    };
  1.2763 +
  1.2764 +    // C++ wrapper for IfcSite
  1.2765 +    struct IfcSite : IfcSpatialStructureElement, ObjectHelper<IfcSite,5> { IfcSite() : Object("IfcSite") {}
  1.2766 +		Maybe< IfcCompoundPlaneAngleMeasure::Out > RefLatitude;
  1.2767 +		Maybe< IfcCompoundPlaneAngleMeasure::Out > RefLongitude;
  1.2768 +		Maybe< IfcLengthMeasure::Out > RefElevation;
  1.2769 +		Maybe< IfcLabel::Out > LandTitleNumber;
  1.2770 +		Maybe< Lazy< NotImplemented > > SiteAddress;
  1.2771 +    };
  1.2772 +
  1.2773 +    // C++ wrapper for IfcDiscreteAccessoryType
  1.2774 +    struct IfcDiscreteAccessoryType : IfcElementComponentType, ObjectHelper<IfcDiscreteAccessoryType,0> { IfcDiscreteAccessoryType() : Object("IfcDiscreteAccessoryType") {}
  1.2775 +
  1.2776 +    };
  1.2777 +
  1.2778 +    // C++ wrapper for IfcVibrationIsolatorType
  1.2779 +    struct IfcVibrationIsolatorType : IfcDiscreteAccessoryType, ObjectHelper<IfcVibrationIsolatorType,1> { IfcVibrationIsolatorType() : Object("IfcVibrationIsolatorType") {}
  1.2780 +		IfcVibrationIsolatorTypeEnum::Out PredefinedType;
  1.2781 +    };
  1.2782 +
  1.2783 +    // C++ wrapper for IfcEvaporativeCoolerType
  1.2784 +    struct IfcEvaporativeCoolerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcEvaporativeCoolerType,1> { IfcEvaporativeCoolerType() : Object("IfcEvaporativeCoolerType") {}
  1.2785 +		IfcEvaporativeCoolerTypeEnum::Out PredefinedType;
  1.2786 +    };
  1.2787 +
  1.2788 +    // C++ wrapper for IfcDistributionChamberElementType
  1.2789 +    struct IfcDistributionChamberElementType : IfcDistributionFlowElementType, ObjectHelper<IfcDistributionChamberElementType,1> { IfcDistributionChamberElementType() : Object("IfcDistributionChamberElementType") {}
  1.2790 +		IfcDistributionChamberElementTypeEnum::Out PredefinedType;
  1.2791 +    };
  1.2792 +
  1.2793 +    // C++ wrapper for IfcFeatureElementAddition
  1.2794 +    struct IfcFeatureElementAddition : IfcFeatureElement, ObjectHelper<IfcFeatureElementAddition,0> { IfcFeatureElementAddition() : Object("IfcFeatureElementAddition") {}
  1.2795 +
  1.2796 +    };
  1.2797 +
  1.2798 +    // C++ wrapper for IfcStructuredDimensionCallout
  1.2799 +    struct IfcStructuredDimensionCallout : IfcDraughtingCallout, ObjectHelper<IfcStructuredDimensionCallout,0> { IfcStructuredDimensionCallout() : Object("IfcStructuredDimensionCallout") {}
  1.2800 +
  1.2801 +    };
  1.2802 +
  1.2803 +    // C++ wrapper for IfcCoolingTowerType
  1.2804 +    struct IfcCoolingTowerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcCoolingTowerType,1> { IfcCoolingTowerType() : Object("IfcCoolingTowerType") {}
  1.2805 +		IfcCoolingTowerTypeEnum::Out PredefinedType;
  1.2806 +    };
  1.2807 +
  1.2808 +    // C++ wrapper for IfcCenterLineProfileDef
  1.2809 +    struct IfcCenterLineProfileDef : IfcArbitraryOpenProfileDef, ObjectHelper<IfcCenterLineProfileDef,1> { IfcCenterLineProfileDef() : Object("IfcCenterLineProfileDef") {}
  1.2810 +		IfcPositiveLengthMeasure::Out Thickness;
  1.2811 +    };
  1.2812 +
  1.2813 +    // C++ wrapper for IfcWindowStyle
  1.2814 +    struct IfcWindowStyle : IfcTypeProduct, ObjectHelper<IfcWindowStyle,4> { IfcWindowStyle() : Object("IfcWindowStyle") {}
  1.2815 +		IfcWindowStyleConstructionEnum::Out ConstructionType;
  1.2816 +		IfcWindowStyleOperationEnum::Out OperationType;
  1.2817 +		BOOLEAN::Out ParameterTakesPrecedence;
  1.2818 +		BOOLEAN::Out Sizeable;
  1.2819 +    };
  1.2820 +
  1.2821 +    // C++ wrapper for IfcLightSourceGoniometric
  1.2822 +    struct IfcLightSourceGoniometric : IfcLightSource, ObjectHelper<IfcLightSourceGoniometric,6> { IfcLightSourceGoniometric() : Object("IfcLightSourceGoniometric") {}
  1.2823 +		Lazy< IfcAxis2Placement3D > Position;
  1.2824 +		Maybe< Lazy< IfcColourRgb > > ColourAppearance;
  1.2825 +		IfcThermodynamicTemperatureMeasure::Out ColourTemperature;
  1.2826 +		IfcLuminousFluxMeasure::Out LuminousFlux;
  1.2827 +		IfcLightEmissionSourceEnum::Out LightEmissionSource;
  1.2828 +		IfcLightDistributionDataSourceSelect::Out LightDistributionDataSource;
  1.2829 +    };
  1.2830 +
  1.2831 +    // C++ wrapper for IfcTransformerType
  1.2832 +    struct IfcTransformerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcTransformerType,1> { IfcTransformerType() : Object("IfcTransformerType") {}
  1.2833 +		IfcTransformerTypeEnum::Out PredefinedType;
  1.2834 +    };
  1.2835 +
  1.2836 +    // C++ wrapper for IfcMemberType
  1.2837 +    struct IfcMemberType : IfcBuildingElementType, ObjectHelper<IfcMemberType,1> { IfcMemberType() : Object("IfcMemberType") {}
  1.2838 +		IfcMemberTypeEnum::Out PredefinedType;
  1.2839 +    };
  1.2840 +
  1.2841 +    // C++ wrapper for IfcSurfaceOfLinearExtrusion
  1.2842 +    struct IfcSurfaceOfLinearExtrusion : IfcSweptSurface, ObjectHelper<IfcSurfaceOfLinearExtrusion,2> { IfcSurfaceOfLinearExtrusion() : Object("IfcSurfaceOfLinearExtrusion") {}
  1.2843 +		Lazy< IfcDirection > ExtrudedDirection;
  1.2844 +		IfcLengthMeasure::Out Depth;
  1.2845 +    };
  1.2846 +
  1.2847 +    // C++ wrapper for IfcMotorConnectionType
  1.2848 +    struct IfcMotorConnectionType : IfcEnergyConversionDeviceType, ObjectHelper<IfcMotorConnectionType,1> { IfcMotorConnectionType() : Object("IfcMotorConnectionType") {}
  1.2849 +		IfcMotorConnectionTypeEnum::Out PredefinedType;
  1.2850 +    };
  1.2851 +
  1.2852 +    // C++ wrapper for IfcFlowTreatmentDeviceType
  1.2853 +    struct IfcFlowTreatmentDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowTreatmentDeviceType,0> { IfcFlowTreatmentDeviceType() : Object("IfcFlowTreatmentDeviceType") {}
  1.2854 +
  1.2855 +    };
  1.2856 +
  1.2857 +    // C++ wrapper for IfcDuctSilencerType
  1.2858 +    struct IfcDuctSilencerType : IfcFlowTreatmentDeviceType, ObjectHelper<IfcDuctSilencerType,1> { IfcDuctSilencerType() : Object("IfcDuctSilencerType") {}
  1.2859 +		IfcDuctSilencerTypeEnum::Out PredefinedType;
  1.2860 +    };
  1.2861 +
  1.2862 +    // C++ wrapper for IfcFurnishingElementType
  1.2863 +    struct IfcFurnishingElementType : IfcElementType, ObjectHelper<IfcFurnishingElementType,0> { IfcFurnishingElementType() : Object("IfcFurnishingElementType") {}
  1.2864 +
  1.2865 +    };
  1.2866 +
  1.2867 +    // C++ wrapper for IfcSystemFurnitureElementType
  1.2868 +    struct IfcSystemFurnitureElementType : IfcFurnishingElementType, ObjectHelper<IfcSystemFurnitureElementType,0> { IfcSystemFurnitureElementType() : Object("IfcSystemFurnitureElementType") {}
  1.2869 +
  1.2870 +    };
  1.2871 +
  1.2872 +    // C++ wrapper for IfcWasteTerminalType
  1.2873 +    struct IfcWasteTerminalType : IfcFlowTerminalType, ObjectHelper<IfcWasteTerminalType,1> { IfcWasteTerminalType() : Object("IfcWasteTerminalType") {}
  1.2874 +		IfcWasteTerminalTypeEnum::Out PredefinedType;
  1.2875 +    };
  1.2876 +
  1.2877 +    // C++ wrapper for IfcBSplineCurve
  1.2878 +    struct IfcBSplineCurve : IfcBoundedCurve, ObjectHelper<IfcBSplineCurve,5> { IfcBSplineCurve() : Object("IfcBSplineCurve") {}
  1.2879 +		INTEGER::Out Degree;
  1.2880 +		ListOf< Lazy< IfcCartesianPoint >, 2, 0 > ControlPointsList;
  1.2881 +		IfcBSplineCurveForm::Out CurveForm;
  1.2882 +		LOGICAL::Out ClosedCurve;
  1.2883 +		LOGICAL::Out SelfIntersect;
  1.2884 +    };
  1.2885 +
  1.2886 +    // C++ wrapper for IfcBezierCurve
  1.2887 +    struct IfcBezierCurve : IfcBSplineCurve, ObjectHelper<IfcBezierCurve,0> { IfcBezierCurve() : Object("IfcBezierCurve") {}
  1.2888 +
  1.2889 +    };
  1.2890 +
  1.2891 +    // C++ wrapper for IfcActuatorType
  1.2892 +    struct IfcActuatorType : IfcDistributionControlElementType, ObjectHelper<IfcActuatorType,1> { IfcActuatorType() : Object("IfcActuatorType") {}
  1.2893 +		IfcActuatorTypeEnum::Out PredefinedType;
  1.2894 +    };
  1.2895 +
  1.2896 +    // C++ wrapper for IfcDistributionControlElement
  1.2897 +    struct IfcDistributionControlElement : IfcDistributionElement, ObjectHelper<IfcDistributionControlElement,1> { IfcDistributionControlElement() : Object("IfcDistributionControlElement") {}
  1.2898 +		Maybe< IfcIdentifier::Out > ControlElementId;
  1.2899 +    };
  1.2900 +
  1.2901 +    // C++ wrapper for IfcAnnotation
  1.2902 +    struct IfcAnnotation : IfcProduct, ObjectHelper<IfcAnnotation,0> { IfcAnnotation() : Object("IfcAnnotation") {}
  1.2903 +
  1.2904 +    };
  1.2905 +
  1.2906 +    // C++ wrapper for IfcShellBasedSurfaceModel
  1.2907 +    struct IfcShellBasedSurfaceModel : IfcGeometricRepresentationItem, ObjectHelper<IfcShellBasedSurfaceModel,1> { IfcShellBasedSurfaceModel() : Object("IfcShellBasedSurfaceModel") {}
  1.2908 +		ListOf< IfcShell, 1, 0 >::Out SbsmBoundary;
  1.2909 +    };
  1.2910 +
  1.2911 +    // C++ wrapper for IfcActionRequest
  1.2912 +    struct IfcActionRequest : IfcControl, ObjectHelper<IfcActionRequest,1> { IfcActionRequest() : Object("IfcActionRequest") {}
  1.2913 +		IfcIdentifier::Out RequestID;
  1.2914 +    };
  1.2915 +
  1.2916 +    // C++ wrapper for IfcExtrudedAreaSolid
  1.2917 +    struct IfcExtrudedAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcExtrudedAreaSolid,2> { IfcExtrudedAreaSolid() : Object("IfcExtrudedAreaSolid") {}
  1.2918 +		Lazy< IfcDirection > ExtrudedDirection;
  1.2919 +		IfcPositiveLengthMeasure::Out Depth;
  1.2920 +    };
  1.2921 +
  1.2922 +    // C++ wrapper for IfcSystem
  1.2923 +    struct IfcSystem : IfcGroup, ObjectHelper<IfcSystem,0> { IfcSystem() : Object("IfcSystem") {}
  1.2924 +
  1.2925 +    };
  1.2926 +
  1.2927 +    // C++ wrapper for IfcFillAreaStyleHatching
  1.2928 +    struct IfcFillAreaStyleHatching : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleHatching,5> { IfcFillAreaStyleHatching() : Object("IfcFillAreaStyleHatching") {}
  1.2929 +		Lazy< NotImplemented > HatchLineAppearance;
  1.2930 +		IfcHatchLineDistanceSelect::Out StartOfNextHatchLine;
  1.2931 +		Maybe< Lazy< IfcCartesianPoint > > PointOfReferenceHatchLine;
  1.2932 +		Maybe< Lazy< IfcCartesianPoint > > PatternStart;
  1.2933 +		IfcPlaneAngleMeasure::Out HatchLineAngle;
  1.2934 +    };
  1.2935 +
  1.2936 +    // C++ wrapper for IfcRelVoidsElement
  1.2937 +    struct IfcRelVoidsElement : IfcRelConnects, ObjectHelper<IfcRelVoidsElement,2> { IfcRelVoidsElement() : Object("IfcRelVoidsElement") {}
  1.2938 +		Lazy< IfcElement > RelatingBuildingElement;
  1.2939 +		Lazy< IfcFeatureElementSubtraction > RelatedOpeningElement;
  1.2940 +    };
  1.2941 +
  1.2942 +    // C++ wrapper for IfcSurfaceCurveSweptAreaSolid
  1.2943 +    struct IfcSurfaceCurveSweptAreaSolid : IfcSweptAreaSolid, ObjectHelper<IfcSurfaceCurveSweptAreaSolid,4> { IfcSurfaceCurveSweptAreaSolid() : Object("IfcSurfaceCurveSweptAreaSolid") {}
  1.2944 +		Lazy< IfcCurve > Directrix;
  1.2945 +		IfcParameterValue::Out StartParam;
  1.2946 +		IfcParameterValue::Out EndParam;
  1.2947 +		Lazy< IfcSurface > ReferenceSurface;
  1.2948 +    };
  1.2949 +
  1.2950 +    // C++ wrapper for IfcCartesianTransformationOperator3DnonUniform
  1.2951 +    struct IfcCartesianTransformationOperator3DnonUniform : IfcCartesianTransformationOperator3D, ObjectHelper<IfcCartesianTransformationOperator3DnonUniform,2> { IfcCartesianTransformationOperator3DnonUniform() : Object("IfcCartesianTransformationOperator3DnonUniform") {}
  1.2952 +		Maybe< REAL::Out > Scale2;
  1.2953 +		Maybe< REAL::Out > Scale3;
  1.2954 +    };
  1.2955 +
  1.2956 +    // C++ wrapper for IfcCurtainWallType
  1.2957 +    struct IfcCurtainWallType : IfcBuildingElementType, ObjectHelper<IfcCurtainWallType,1> { IfcCurtainWallType() : Object("IfcCurtainWallType") {}
  1.2958 +		IfcCurtainWallTypeEnum::Out PredefinedType;
  1.2959 +    };
  1.2960 +
  1.2961 +    // C++ wrapper for IfcEquipmentStandard
  1.2962 +    struct IfcEquipmentStandard : IfcControl, ObjectHelper<IfcEquipmentStandard,0> { IfcEquipmentStandard() : Object("IfcEquipmentStandard") {}
  1.2963 +
  1.2964 +    };
  1.2965 +
  1.2966 +    // C++ wrapper for IfcFlowStorageDeviceType
  1.2967 +    struct IfcFlowStorageDeviceType : IfcDistributionFlowElementType, ObjectHelper<IfcFlowStorageDeviceType,0> { IfcFlowStorageDeviceType() : Object("IfcFlowStorageDeviceType") {}
  1.2968 +
  1.2969 +    };
  1.2970 +
  1.2971 +    // C++ wrapper for IfcDiameterDimension
  1.2972 +    struct IfcDiameterDimension : IfcDimensionCurveDirectedCallout, ObjectHelper<IfcDiameterDimension,0> { IfcDiameterDimension() : Object("IfcDiameterDimension") {}
  1.2973 +
  1.2974 +    };
  1.2975 +
  1.2976 +    // C++ wrapper for IfcSwitchingDeviceType
  1.2977 +    struct IfcSwitchingDeviceType : IfcFlowControllerType, ObjectHelper<IfcSwitchingDeviceType,1> { IfcSwitchingDeviceType() : Object("IfcSwitchingDeviceType") {}
  1.2978 +		IfcSwitchingDeviceTypeEnum::Out PredefinedType;
  1.2979 +    };
  1.2980 +
  1.2981 +    // C++ wrapper for IfcWindow
  1.2982 +    struct IfcWindow : IfcBuildingElement, ObjectHelper<IfcWindow,2> { IfcWindow() : Object("IfcWindow") {}
  1.2983 +		Maybe< IfcPositiveLengthMeasure::Out > OverallHeight;
  1.2984 +		Maybe< IfcPositiveLengthMeasure::Out > OverallWidth;
  1.2985 +    };
  1.2986 +
  1.2987 +    // C++ wrapper for IfcFlowTreatmentDevice
  1.2988 +    struct IfcFlowTreatmentDevice : IfcDistributionFlowElement, ObjectHelper<IfcFlowTreatmentDevice,0> { IfcFlowTreatmentDevice() : Object("IfcFlowTreatmentDevice") {}
  1.2989 +
  1.2990 +    };
  1.2991 +
  1.2992 +    // C++ wrapper for IfcChillerType
  1.2993 +    struct IfcChillerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcChillerType,1> { IfcChillerType() : Object("IfcChillerType") {}
  1.2994 +		IfcChillerTypeEnum::Out PredefinedType;
  1.2995 +    };
  1.2996 +
  1.2997 +    // C++ wrapper for IfcRectangleHollowProfileDef
  1.2998 +    struct IfcRectangleHollowProfileDef : IfcRectangleProfileDef, ObjectHelper<IfcRectangleHollowProfileDef,3> { IfcRectangleHollowProfileDef() : Object("IfcRectangleHollowProfileDef") {}
  1.2999 +		IfcPositiveLengthMeasure::Out WallThickness;
  1.3000 +		Maybe< IfcPositiveLengthMeasure::Out > InnerFilletRadius;
  1.3001 +		Maybe< IfcPositiveLengthMeasure::Out > OuterFilletRadius;
  1.3002 +    };
  1.3003 +
  1.3004 +    // C++ wrapper for IfcBoxedHalfSpace
  1.3005 +    struct IfcBoxedHalfSpace : IfcHalfSpaceSolid, ObjectHelper<IfcBoxedHalfSpace,1> { IfcBoxedHalfSpace() : Object("IfcBoxedHalfSpace") {}
  1.3006 +		Lazy< IfcBoundingBox > Enclosure;
  1.3007 +    };
  1.3008 +
  1.3009 +    // C++ wrapper for IfcAxis2Placement2D
  1.3010 +    struct IfcAxis2Placement2D : IfcPlacement, ObjectHelper<IfcAxis2Placement2D,1> { IfcAxis2Placement2D() : Object("IfcAxis2Placement2D") {}
  1.3011 +		Maybe< Lazy< IfcDirection > > RefDirection;
  1.3012 +    };
  1.3013 +
  1.3014 +    // C++ wrapper for IfcSpaceProgram
  1.3015 +    struct IfcSpaceProgram : IfcControl, ObjectHelper<IfcSpaceProgram,5> { IfcSpaceProgram() : Object("IfcSpaceProgram") {}
  1.3016 +		IfcIdentifier::Out SpaceProgramIdentifier;
  1.3017 +		Maybe< IfcAreaMeasure::Out > MaxRequiredArea;
  1.3018 +		Maybe< IfcAreaMeasure::Out > MinRequiredArea;
  1.3019 +		Maybe< Lazy< IfcSpatialStructureElement > > RequestedLocation;
  1.3020 +		IfcAreaMeasure::Out StandardRequiredArea;
  1.3021 +    };
  1.3022 +
  1.3023 +    // C++ wrapper for IfcPoint
  1.3024 +    struct IfcPoint : IfcGeometricRepresentationItem, ObjectHelper<IfcPoint,0> { IfcPoint() : Object("IfcPoint") {}
  1.3025 +
  1.3026 +    };
  1.3027 +
  1.3028 +    // C++ wrapper for IfcCartesianPoint
  1.3029 +    struct IfcCartesianPoint : IfcPoint, ObjectHelper<IfcCartesianPoint,1> { IfcCartesianPoint() : Object("IfcCartesianPoint") {}
  1.3030 +		ListOf< IfcLengthMeasure, 1, 3 >::Out Coordinates;
  1.3031 +    };
  1.3032 +
  1.3033 +    // C++ wrapper for IfcBoundedSurface
  1.3034 +    struct IfcBoundedSurface : IfcSurface, ObjectHelper<IfcBoundedSurface,0> { IfcBoundedSurface() : Object("IfcBoundedSurface") {}
  1.3035 +
  1.3036 +    };
  1.3037 +
  1.3038 +    // C++ wrapper for IfcLoop
  1.3039 +    struct IfcLoop : IfcTopologicalRepresentationItem, ObjectHelper<IfcLoop,0> { IfcLoop() : Object("IfcLoop") {}
  1.3040 +
  1.3041 +    };
  1.3042 +
  1.3043 +    // C++ wrapper for IfcPolyLoop
  1.3044 +    struct IfcPolyLoop : IfcLoop, ObjectHelper<IfcPolyLoop,1> { IfcPolyLoop() : Object("IfcPolyLoop") {}
  1.3045 +		ListOf< Lazy< IfcCartesianPoint >, 3, 0 > Polygon;
  1.3046 +    };
  1.3047 +
  1.3048 +    // C++ wrapper for IfcTerminatorSymbol
  1.3049 +    struct IfcTerminatorSymbol : IfcAnnotationSymbolOccurrence, ObjectHelper<IfcTerminatorSymbol,1> { IfcTerminatorSymbol() : Object("IfcTerminatorSymbol") {}
  1.3050 +		Lazy< IfcAnnotationCurveOccurrence > AnnotatedCurve;
  1.3051 +    };
  1.3052 +
  1.3053 +    // C++ wrapper for IfcDimensionCurveTerminator
  1.3054 +    struct IfcDimensionCurveTerminator : IfcTerminatorSymbol, ObjectHelper<IfcDimensionCurveTerminator,1> { IfcDimensionCurveTerminator() : Object("IfcDimensionCurveTerminator") {}
  1.3055 +		IfcDimensionExtentUsage::Out Role;
  1.3056 +    };
  1.3057 +
  1.3058 +    // C++ wrapper for IfcTrapeziumProfileDef
  1.3059 +    struct IfcTrapeziumProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcTrapeziumProfileDef,4> { IfcTrapeziumProfileDef() : Object("IfcTrapeziumProfileDef") {}
  1.3060 +		IfcPositiveLengthMeasure::Out BottomXDim;
  1.3061 +		IfcPositiveLengthMeasure::Out TopXDim;
  1.3062 +		IfcPositiveLengthMeasure::Out YDim;
  1.3063 +		IfcLengthMeasure::Out TopXOffset;
  1.3064 +    };
  1.3065 +
  1.3066 +    // C++ wrapper for IfcRepresentationContext
  1.3067 +    struct IfcRepresentationContext :  ObjectHelper<IfcRepresentationContext,2> { IfcRepresentationContext() : Object("IfcRepresentationContext") {}
  1.3068 +		Maybe< IfcLabel::Out > ContextIdentifier;
  1.3069 +		Maybe< IfcLabel::Out > ContextType;
  1.3070 +    };
  1.3071 +
  1.3072 +    // C++ wrapper for IfcGeometricRepresentationContext
  1.3073 +    struct IfcGeometricRepresentationContext : IfcRepresentationContext, ObjectHelper<IfcGeometricRepresentationContext,4> { IfcGeometricRepresentationContext() : Object("IfcGeometricRepresentationContext") {}
  1.3074 +		IfcDimensionCount::Out CoordinateSpaceDimension;
  1.3075 +		Maybe< REAL::Out > Precision;
  1.3076 +		IfcAxis2Placement::Out WorldCoordinateSystem;
  1.3077 +		Maybe< Lazy< IfcDirection > > TrueNorth;
  1.3078 +    };
  1.3079 +
  1.3080 +    // C++ wrapper for IfcCurveBoundedPlane
  1.3081 +    struct IfcCurveBoundedPlane : IfcBoundedSurface, ObjectHelper<IfcCurveBoundedPlane,3> { IfcCurveBoundedPlane() : Object("IfcCurveBoundedPlane") {}
  1.3082 +		Lazy< IfcPlane > BasisSurface;
  1.3083 +		Lazy< IfcCurve > OuterBoundary;
  1.3084 +		ListOf< Lazy< IfcCurve >, 0, 0 > InnerBoundaries;
  1.3085 +    };
  1.3086 +
  1.3087 +    // C++ wrapper for IfcSIUnit
  1.3088 +    struct IfcSIUnit : IfcNamedUnit, ObjectHelper<IfcSIUnit,2> { IfcSIUnit() : Object("IfcSIUnit") {}
  1.3089 +		Maybe< IfcSIPrefix::Out > Prefix;
  1.3090 +		IfcSIUnitName::Out Name;
  1.3091 +    };
  1.3092 +
  1.3093 +    // C++ wrapper for IfcStructuralReaction
  1.3094 +    struct IfcStructuralReaction : IfcStructuralActivity, ObjectHelper<IfcStructuralReaction,0> { IfcStructuralReaction() : Object("IfcStructuralReaction") {}
  1.3095 +
  1.3096 +    };
  1.3097 +
  1.3098 +    // C++ wrapper for IfcStructuralPointReaction
  1.3099 +    struct IfcStructuralPointReaction : IfcStructuralReaction, ObjectHelper<IfcStructuralPointReaction,0> { IfcStructuralPointReaction() : Object("IfcStructuralPointReaction") {}
  1.3100 +
  1.3101 +    };
  1.3102 +
  1.3103 +    // C++ wrapper for IfcAxis1Placement
  1.3104 +    struct IfcAxis1Placement : IfcPlacement, ObjectHelper<IfcAxis1Placement,1> { IfcAxis1Placement() : Object("IfcAxis1Placement") {}
  1.3105 +		Maybe< Lazy< IfcDirection > > Axis;
  1.3106 +    };
  1.3107 +
  1.3108 +    // C++ wrapper for IfcElectricApplianceType
  1.3109 +    struct IfcElectricApplianceType : IfcFlowTerminalType, ObjectHelper<IfcElectricApplianceType,1> { IfcElectricApplianceType() : Object("IfcElectricApplianceType") {}
  1.3110 +		IfcElectricApplianceTypeEnum::Out PredefinedType;
  1.3111 +    };
  1.3112 +
  1.3113 +    // C++ wrapper for IfcSensorType
  1.3114 +    struct IfcSensorType : IfcDistributionControlElementType, ObjectHelper<IfcSensorType,1> { IfcSensorType() : Object("IfcSensorType") {}
  1.3115 +		IfcSensorTypeEnum::Out PredefinedType;
  1.3116 +    };
  1.3117 +
  1.3118 +    // C++ wrapper for IfcFurnishingElement
  1.3119 +    struct IfcFurnishingElement : IfcElement, ObjectHelper<IfcFurnishingElement,0> { IfcFurnishingElement() : Object("IfcFurnishingElement") {}
  1.3120 +
  1.3121 +    };
  1.3122 +
  1.3123 +    // C++ wrapper for IfcProtectiveDeviceType
  1.3124 +    struct IfcProtectiveDeviceType : IfcFlowControllerType, ObjectHelper<IfcProtectiveDeviceType,1> { IfcProtectiveDeviceType() : Object("IfcProtectiveDeviceType") {}
  1.3125 +		IfcProtectiveDeviceTypeEnum::Out PredefinedType;
  1.3126 +    };
  1.3127 +
  1.3128 +    // C++ wrapper for IfcZShapeProfileDef
  1.3129 +    struct IfcZShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcZShapeProfileDef,6> { IfcZShapeProfileDef() : Object("IfcZShapeProfileDef") {}
  1.3130 +		IfcPositiveLengthMeasure::Out Depth;
  1.3131 +		IfcPositiveLengthMeasure::Out FlangeWidth;
  1.3132 +		IfcPositiveLengthMeasure::Out WebThickness;
  1.3133 +		IfcPositiveLengthMeasure::Out FlangeThickness;
  1.3134 +		Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
  1.3135 +		Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
  1.3136 +    };
  1.3137 +
  1.3138 +    // C++ wrapper for IfcScheduleTimeControl
  1.3139 +    struct IfcScheduleTimeControl : IfcControl, ObjectHelper<IfcScheduleTimeControl,18> { IfcScheduleTimeControl() : Object("IfcScheduleTimeControl") {}
  1.3140 +		Maybe< IfcDateTimeSelect::Out > ActualStart;
  1.3141 +		Maybe< IfcDateTimeSelect::Out > EarlyStart;
  1.3142 +		Maybe< IfcDateTimeSelect::Out > LateStart;
  1.3143 +		Maybe< IfcDateTimeSelect::Out > ScheduleStart;
  1.3144 +		Maybe< IfcDateTimeSelect::Out > ActualFinish;
  1.3145 +		Maybe< IfcDateTimeSelect::Out > EarlyFinish;
  1.3146 +		Maybe< IfcDateTimeSelect::Out > LateFinish;
  1.3147 +		Maybe< IfcDateTimeSelect::Out > ScheduleFinish;
  1.3148 +		Maybe< IfcTimeMeasure::Out > ScheduleDuration;
  1.3149 +		Maybe< IfcTimeMeasure::Out > ActualDuration;
  1.3150 +		Maybe< IfcTimeMeasure::Out > RemainingTime;
  1.3151 +		Maybe< IfcTimeMeasure::Out > FreeFloat;
  1.3152 +		Maybe< IfcTimeMeasure::Out > TotalFloat;
  1.3153 +		Maybe< BOOLEAN::Out > IsCritical;
  1.3154 +		Maybe< IfcDateTimeSelect::Out > StatusTime;
  1.3155 +		Maybe< IfcTimeMeasure::Out > StartFloat;
  1.3156 +		Maybe< IfcTimeMeasure::Out > FinishFloat;
  1.3157 +		Maybe< IfcPositiveRatioMeasure::Out > Completion;
  1.3158 +    };
  1.3159 +
  1.3160 +    // C++ wrapper for IfcRepresentationMap
  1.3161 +    struct IfcRepresentationMap :  ObjectHelper<IfcRepresentationMap,2> { IfcRepresentationMap() : Object("IfcRepresentationMap") {}
  1.3162 +		IfcAxis2Placement::Out MappingOrigin;
  1.3163 +		Lazy< IfcRepresentation > MappedRepresentation;
  1.3164 +    };
  1.3165 +
  1.3166 +    // C++ wrapper for IfcClosedShell
  1.3167 +    struct IfcClosedShell : IfcConnectedFaceSet, ObjectHelper<IfcClosedShell,0> { IfcClosedShell() : Object("IfcClosedShell") {}
  1.3168 +
  1.3169 +    };
  1.3170 +
  1.3171 +    // C++ wrapper for IfcBuildingElementPart
  1.3172 +    struct IfcBuildingElementPart : IfcBuildingElementComponent, ObjectHelper<IfcBuildingElementPart,0> { IfcBuildingElementPart() : Object("IfcBuildingElementPart") {}
  1.3173 +
  1.3174 +    };
  1.3175 +
  1.3176 +    // C++ wrapper for IfcBlock
  1.3177 +    struct IfcBlock : IfcCsgPrimitive3D, ObjectHelper<IfcBlock,3> { IfcBlock() : Object("IfcBlock") {}
  1.3178 +		IfcPositiveLengthMeasure::Out XLength;
  1.3179 +		IfcPositiveLengthMeasure::Out YLength;
  1.3180 +		IfcPositiveLengthMeasure::Out ZLength;
  1.3181 +    };
  1.3182 +
  1.3183 +    // C++ wrapper for IfcLightFixtureType
  1.3184 +    struct IfcLightFixtureType : IfcFlowTerminalType, ObjectHelper<IfcLightFixtureType,1> { IfcLightFixtureType() : Object("IfcLightFixtureType") {}
  1.3185 +		IfcLightFixtureTypeEnum::Out PredefinedType;
  1.3186 +    };
  1.3187 +
  1.3188 +    // C++ wrapper for IfcOpeningElement
  1.3189 +    struct IfcOpeningElement : IfcFeatureElementSubtraction, ObjectHelper<IfcOpeningElement,0> { IfcOpeningElement() : Object("IfcOpeningElement") {}
  1.3190 +
  1.3191 +    };
  1.3192 +
  1.3193 +    // C++ wrapper for IfcLightSourceSpot
  1.3194 +    struct IfcLightSourceSpot : IfcLightSourcePositional, ObjectHelper<IfcLightSourceSpot,4> { IfcLightSourceSpot() : Object("IfcLightSourceSpot") {}
  1.3195 +		Lazy< IfcDirection > Orientation;
  1.3196 +		Maybe< IfcReal::Out > ConcentrationExponent;
  1.3197 +		IfcPositivePlaneAngleMeasure::Out SpreadAngle;
  1.3198 +		IfcPositivePlaneAngleMeasure::Out BeamWidthAngle;
  1.3199 +    };
  1.3200 +
  1.3201 +    // C++ wrapper for IfcTendonAnchor
  1.3202 +    struct IfcTendonAnchor : IfcReinforcingElement, ObjectHelper<IfcTendonAnchor,0> { IfcTendonAnchor() : Object("IfcTendonAnchor") {}
  1.3203 +
  1.3204 +    };
  1.3205 +
  1.3206 +    // C++ wrapper for IfcElectricFlowStorageDeviceType
  1.3207 +    struct IfcElectricFlowStorageDeviceType : IfcFlowStorageDeviceType, ObjectHelper<IfcElectricFlowStorageDeviceType,1> { IfcElectricFlowStorageDeviceType() : Object("IfcElectricFlowStorageDeviceType") {}
  1.3208 +		IfcElectricFlowStorageDeviceTypeEnum::Out PredefinedType;
  1.3209 +    };
  1.3210 +
  1.3211 +    // C++ wrapper for IfcSphere
  1.3212 +    struct IfcSphere : IfcCsgPrimitive3D, ObjectHelper<IfcSphere,1> { IfcSphere() : Object("IfcSphere") {}
  1.3213 +		IfcPositiveLengthMeasure::Out Radius;
  1.3214 +    };
  1.3215 +
  1.3216 +    // C++ wrapper for IfcDamperType
  1.3217 +    struct IfcDamperType : IfcFlowControllerType, ObjectHelper<IfcDamperType,1> { IfcDamperType() : Object("IfcDamperType") {}
  1.3218 +		IfcDamperTypeEnum::Out PredefinedType;
  1.3219 +    };
  1.3220 +
  1.3221 +    // C++ wrapper for IfcProjectOrderRecord
  1.3222 +    struct IfcProjectOrderRecord : IfcControl, ObjectHelper<IfcProjectOrderRecord,2> { IfcProjectOrderRecord() : Object("IfcProjectOrderRecord") {}
  1.3223 +		ListOf< Lazy< NotImplemented >, 1, 0 > Records;
  1.3224 +		IfcProjectOrderRecordTypeEnum::Out PredefinedType;
  1.3225 +    };
  1.3226 +
  1.3227 +    // C++ wrapper for IfcDistributionChamberElement
  1.3228 +    struct IfcDistributionChamberElement : IfcDistributionFlowElement, ObjectHelper<IfcDistributionChamberElement,0> { IfcDistributionChamberElement() : Object("IfcDistributionChamberElement") {}
  1.3229 +
  1.3230 +    };
  1.3231 +
  1.3232 +    // C++ wrapper for IfcMechanicalFastener
  1.3233 +    struct IfcMechanicalFastener : IfcFastener, ObjectHelper<IfcMechanicalFastener,2> { IfcMechanicalFastener() : Object("IfcMechanicalFastener") {}
  1.3234 +		Maybe< IfcPositiveLengthMeasure::Out > NominalDiameter;
  1.3235 +		Maybe< IfcPositiveLengthMeasure::Out > NominalLength;
  1.3236 +    };
  1.3237 +
  1.3238 +    // C++ wrapper for IfcRectangularTrimmedSurface
  1.3239 +    struct IfcRectangularTrimmedSurface : IfcBoundedSurface, ObjectHelper<IfcRectangularTrimmedSurface,7> { IfcRectangularTrimmedSurface() : Object("IfcRectangularTrimmedSurface") {}
  1.3240 +		Lazy< IfcSurface > BasisSurface;
  1.3241 +		IfcParameterValue::Out U1;
  1.3242 +		IfcParameterValue::Out V1;
  1.3243 +		IfcParameterValue::Out U2;
  1.3244 +		IfcParameterValue::Out V2;
  1.3245 +		BOOLEAN::Out Usense;
  1.3246 +		BOOLEAN::Out Vsense;
  1.3247 +    };
  1.3248 +
  1.3249 +    // C++ wrapper for IfcZone
  1.3250 +    struct IfcZone : IfcGroup, ObjectHelper<IfcZone,0> { IfcZone() : Object("IfcZone") {}
  1.3251 +
  1.3252 +    };
  1.3253 +
  1.3254 +    // C++ wrapper for IfcFanType
  1.3255 +    struct IfcFanType : IfcFlowMovingDeviceType, ObjectHelper<IfcFanType,1> { IfcFanType() : Object("IfcFanType") {}
  1.3256 +		IfcFanTypeEnum::Out PredefinedType;
  1.3257 +    };
  1.3258 +
  1.3259 +    // C++ wrapper for IfcGeometricSet
  1.3260 +    struct IfcGeometricSet : IfcGeometricRepresentationItem, ObjectHelper<IfcGeometricSet,1> { IfcGeometricSet() : Object("IfcGeometricSet") {}
  1.3261 +		ListOf< IfcGeometricSetSelect, 1, 0 >::Out Elements;
  1.3262 +    };
  1.3263 +
  1.3264 +    // C++ wrapper for IfcFillAreaStyleTiles
  1.3265 +    struct IfcFillAreaStyleTiles : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleTiles,3> { IfcFillAreaStyleTiles() : Object("IfcFillAreaStyleTiles") {}
  1.3266 +		Lazy< IfcOneDirectionRepeatFactor > TilingPattern;
  1.3267 +		ListOf< IfcFillAreaStyleTileShapeSelect, 1, 0 >::Out Tiles;
  1.3268 +		IfcPositiveRatioMeasure::Out TilingScale;
  1.3269 +    };
  1.3270 +
  1.3271 +    // C++ wrapper for IfcCableSegmentType
  1.3272 +    struct IfcCableSegmentType : IfcFlowSegmentType, ObjectHelper<IfcCableSegmentType,1> { IfcCableSegmentType() : Object("IfcCableSegmentType") {}
  1.3273 +		IfcCableSegmentTypeEnum::Out PredefinedType;
  1.3274 +    };
  1.3275 +
  1.3276 +    // C++ wrapper for IfcRelOverridesProperties
  1.3277 +    struct IfcRelOverridesProperties : IfcRelDefinesByProperties, ObjectHelper<IfcRelOverridesProperties,1> { IfcRelOverridesProperties() : Object("IfcRelOverridesProperties") {}
  1.3278 +		ListOf< Lazy< IfcProperty >, 1, 0 > OverridingProperties;
  1.3279 +    };
  1.3280 +
  1.3281 +    // C++ wrapper for IfcMeasureWithUnit
  1.3282 +    struct IfcMeasureWithUnit :  ObjectHelper<IfcMeasureWithUnit,2> { IfcMeasureWithUnit() : Object("IfcMeasureWithUnit") {}
  1.3283 +		IfcValue::Out ValueComponent;
  1.3284 +		IfcUnit::Out UnitComponent;
  1.3285 +    };
  1.3286 +
  1.3287 +    // C++ wrapper for IfcSlabType
  1.3288 +    struct IfcSlabType : IfcBuildingElementType, ObjectHelper<IfcSlabType,1> { IfcSlabType() : Object("IfcSlabType") {}
  1.3289 +		IfcSlabTypeEnum::Out PredefinedType;
  1.3290 +    };
  1.3291 +
  1.3292 +    // C++ wrapper for IfcServiceLife
  1.3293 +    struct IfcServiceLife : IfcControl, ObjectHelper<IfcServiceLife,2> { IfcServiceLife() : Object("IfcServiceLife") {}
  1.3294 +		IfcServiceLifeTypeEnum::Out ServiceLifeType;
  1.3295 +		IfcTimeMeasure::Out ServiceLifeDuration;
  1.3296 +    };
  1.3297 +
  1.3298 +    // C++ wrapper for IfcFurnitureType
  1.3299 +    struct IfcFurnitureType : IfcFurnishingElementType, ObjectHelper<IfcFurnitureType,1> { IfcFurnitureType() : Object("IfcFurnitureType") {}
  1.3300 +		IfcAssemblyPlaceEnum::Out AssemblyPlace;
  1.3301 +    };
  1.3302 +
  1.3303 +    // C++ wrapper for IfcCostItem
  1.3304 +    struct IfcCostItem : IfcControl, ObjectHelper<IfcCostItem,0> { IfcCostItem() : Object("IfcCostItem") {}
  1.3305 +
  1.3306 +    };
  1.3307 +
  1.3308 +    // C++ wrapper for IfcReinforcingMesh
  1.3309 +    struct IfcReinforcingMesh : IfcReinforcingElement, ObjectHelper<IfcReinforcingMesh,8> { IfcReinforcingMesh() : Object("IfcReinforcingMesh") {}
  1.3310 +		Maybe< IfcPositiveLengthMeasure::Out > MeshLength;
  1.3311 +		Maybe< IfcPositiveLengthMeasure::Out > MeshWidth;
  1.3312 +		IfcPositiveLengthMeasure::Out LongitudinalBarNominalDiameter;
  1.3313 +		IfcPositiveLengthMeasure::Out TransverseBarNominalDiameter;
  1.3314 +		IfcAreaMeasure::Out LongitudinalBarCrossSectionArea;
  1.3315 +		IfcAreaMeasure::Out TransverseBarCrossSectionArea;
  1.3316 +		IfcPositiveLengthMeasure::Out LongitudinalBarSpacing;
  1.3317 +		IfcPositiveLengthMeasure::Out TransverseBarSpacing;
  1.3318 +    };
  1.3319 +
  1.3320 +    // C++ wrapper for IfcFacetedBrepWithVoids
  1.3321 +    struct IfcFacetedBrepWithVoids : IfcManifoldSolidBrep, ObjectHelper<IfcFacetedBrepWithVoids,1> { IfcFacetedBrepWithVoids() : Object("IfcFacetedBrepWithVoids") {}
  1.3322 +		ListOf< Lazy< IfcClosedShell >, 1, 0 > Voids;
  1.3323 +    };
  1.3324 +
  1.3325 +    // C++ wrapper for IfcGasTerminalType
  1.3326 +    struct IfcGasTerminalType : IfcFlowTerminalType, ObjectHelper<IfcGasTerminalType,1> { IfcGasTerminalType() : Object("IfcGasTerminalType") {}
  1.3327 +		IfcGasTerminalTypeEnum::Out PredefinedType;
  1.3328 +    };
  1.3329 +
  1.3330 +    // C++ wrapper for IfcPile
  1.3331 +    struct IfcPile : IfcBuildingElement, ObjectHelper<IfcPile,2> { IfcPile() : Object("IfcPile") {}
  1.3332 +		IfcPileTypeEnum::Out PredefinedType;
  1.3333 +		Maybe< IfcPileConstructionEnum::Out > ConstructionType;
  1.3334 +    };
  1.3335 +
  1.3336 +    // C++ wrapper for IfcFillAreaStyleTileSymbolWithStyle
  1.3337 +    struct IfcFillAreaStyleTileSymbolWithStyle : IfcGeometricRepresentationItem, ObjectHelper<IfcFillAreaStyleTileSymbolWithStyle,1> { IfcFillAreaStyleTileSymbolWithStyle() : Object("IfcFillAreaStyleTileSymbolWithStyle") {}
  1.3338 +		Lazy< IfcAnnotationSymbolOccurrence > Symbol;
  1.3339 +    };
  1.3340 +
  1.3341 +    // C++ wrapper for IfcConstructionMaterialResource
  1.3342 +    struct IfcConstructionMaterialResource : IfcConstructionResource, ObjectHelper<IfcConstructionMaterialResource,2> { IfcConstructionMaterialResource() : Object("IfcConstructionMaterialResource") {}
  1.3343 +		Maybe< ListOf< IfcActorSelect, 1, 0 >::Out > Suppliers;
  1.3344 +		Maybe< IfcRatioMeasure::Out > UsageRatio;
  1.3345 +    };
  1.3346 +
  1.3347 +    // C++ wrapper for IfcAnnotationCurveOccurrence
  1.3348 +    struct IfcAnnotationCurveOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationCurveOccurrence,0> { IfcAnnotationCurveOccurrence() : Object("IfcAnnotationCurveOccurrence") {}
  1.3349 +
  1.3350 +    };
  1.3351 +
  1.3352 +    // C++ wrapper for IfcDimensionCurve
  1.3353 +    struct IfcDimensionCurve : IfcAnnotationCurveOccurrence, ObjectHelper<IfcDimensionCurve,0> { IfcDimensionCurve() : Object("IfcDimensionCurve") {}
  1.3354 +
  1.3355 +    };
  1.3356 +
  1.3357 +    // C++ wrapper for IfcGeometricCurveSet
  1.3358 +    struct IfcGeometricCurveSet : IfcGeometricSet, ObjectHelper<IfcGeometricCurveSet,0> { IfcGeometricCurveSet() : Object("IfcGeometricCurveSet") {}
  1.3359 +
  1.3360 +    };
  1.3361 +
  1.3362 +    // C++ wrapper for IfcRelAggregates
  1.3363 +    struct IfcRelAggregates : IfcRelDecomposes, ObjectHelper<IfcRelAggregates,0> { IfcRelAggregates() : Object("IfcRelAggregates") {}
  1.3364 +
  1.3365 +    };
  1.3366 +
  1.3367 +    // C++ wrapper for IfcFaceBasedSurfaceModel
  1.3368 +    struct IfcFaceBasedSurfaceModel : IfcGeometricRepresentationItem, ObjectHelper<IfcFaceBasedSurfaceModel,1> { IfcFaceBasedSurfaceModel() : Object("IfcFaceBasedSurfaceModel") {}
  1.3369 +		ListOf< Lazy< IfcConnectedFaceSet >, 1, 0 > FbsmFaces;
  1.3370 +    };
  1.3371 +
  1.3372 +    // C++ wrapper for IfcEnergyConversionDevice
  1.3373 +    struct IfcEnergyConversionDevice : IfcDistributionFlowElement, ObjectHelper<IfcEnergyConversionDevice,0> { IfcEnergyConversionDevice() : Object("IfcEnergyConversionDevice") {}
  1.3374 +
  1.3375 +    };
  1.3376 +
  1.3377 +    // C++ wrapper for IfcRampFlight
  1.3378 +    struct IfcRampFlight : IfcBuildingElement, ObjectHelper<IfcRampFlight,0> { IfcRampFlight() : Object("IfcRampFlight") {}
  1.3379 +
  1.3380 +    };
  1.3381 +
  1.3382 +    // C++ wrapper for IfcVertexLoop
  1.3383 +    struct IfcVertexLoop : IfcLoop, ObjectHelper<IfcVertexLoop,1> { IfcVertexLoop() : Object("IfcVertexLoop") {}
  1.3384 +		Lazy< IfcVertex > LoopVertex;
  1.3385 +    };
  1.3386 +
  1.3387 +    // C++ wrapper for IfcPlate
  1.3388 +    struct IfcPlate : IfcBuildingElement, ObjectHelper<IfcPlate,0> { IfcPlate() : Object("IfcPlate") {}
  1.3389 +
  1.3390 +    };
  1.3391 +
  1.3392 +    // C++ wrapper for IfcUShapeProfileDef
  1.3393 +    struct IfcUShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcUShapeProfileDef,8> { IfcUShapeProfileDef() : Object("IfcUShapeProfileDef") {}
  1.3394 +		IfcPositiveLengthMeasure::Out Depth;
  1.3395 +		IfcPositiveLengthMeasure::Out FlangeWidth;
  1.3396 +		IfcPositiveLengthMeasure::Out WebThickness;
  1.3397 +		IfcPositiveLengthMeasure::Out FlangeThickness;
  1.3398 +		Maybe< IfcPositiveLengthMeasure::Out > FilletRadius;
  1.3399 +		Maybe< IfcPositiveLengthMeasure::Out > EdgeRadius;
  1.3400 +		Maybe< IfcPlaneAngleMeasure::Out > FlangeSlope;
  1.3401 +		Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInX;
  1.3402 +    };
  1.3403 +
  1.3404 +    // C++ wrapper for IfcFaceBound
  1.3405 +    struct IfcFaceBound : IfcTopologicalRepresentationItem, ObjectHelper<IfcFaceBound,2> { IfcFaceBound() : Object("IfcFaceBound") {}
  1.3406 +		Lazy< IfcLoop > Bound;
  1.3407 +		BOOLEAN::Out Orientation;
  1.3408 +    };
  1.3409 +
  1.3410 +    // C++ wrapper for IfcFaceOuterBound
  1.3411 +    struct IfcFaceOuterBound : IfcFaceBound, ObjectHelper<IfcFaceOuterBound,0> { IfcFaceOuterBound() : Object("IfcFaceOuterBound") {}
  1.3412 +
  1.3413 +    };
  1.3414 +
  1.3415 +    // C++ wrapper for IfcOneDirectionRepeatFactor
  1.3416 +    struct IfcOneDirectionRepeatFactor : IfcGeometricRepresentationItem, ObjectHelper<IfcOneDirectionRepeatFactor,1> { IfcOneDirectionRepeatFactor() : Object("IfcOneDirectionRepeatFactor") {}
  1.3417 +		Lazy< IfcVector > RepeatFactor;
  1.3418 +    };
  1.3419 +
  1.3420 +    // C++ wrapper for IfcBoilerType
  1.3421 +    struct IfcBoilerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcBoilerType,1> { IfcBoilerType() : Object("IfcBoilerType") {}
  1.3422 +		IfcBoilerTypeEnum::Out PredefinedType;
  1.3423 +    };
  1.3424 +
  1.3425 +    // C++ wrapper for IfcConstructionEquipmentResource
  1.3426 +    struct IfcConstructionEquipmentResource : IfcConstructionResource, ObjectHelper<IfcConstructionEquipmentResource,0> { IfcConstructionEquipmentResource() : Object("IfcConstructionEquipmentResource") {}
  1.3427 +
  1.3428 +    };
  1.3429 +
  1.3430 +    // C++ wrapper for IfcComplexProperty
  1.3431 +    struct IfcComplexProperty : IfcProperty, ObjectHelper<IfcComplexProperty,2> { IfcComplexProperty() : Object("IfcComplexProperty") {}
  1.3432 +		IfcIdentifier::Out UsageName;
  1.3433 +		ListOf< Lazy< IfcProperty >, 1, 0 > HasProperties;
  1.3434 +    };
  1.3435 +
  1.3436 +    // C++ wrapper for IfcFooting
  1.3437 +    struct IfcFooting : IfcBuildingElement, ObjectHelper<IfcFooting,1> { IfcFooting() : Object("IfcFooting") {}
  1.3438 +		IfcFootingTypeEnum::Out PredefinedType;
  1.3439 +    };
  1.3440 +
  1.3441 +    // C++ wrapper for IfcConstructionProductResource
  1.3442 +    struct IfcConstructionProductResource : IfcConstructionResource, ObjectHelper<IfcConstructionProductResource,0> { IfcConstructionProductResource() : Object("IfcConstructionProductResource") {}
  1.3443 +
  1.3444 +    };
  1.3445 +
  1.3446 +    // C++ wrapper for IfcDerivedProfileDef
  1.3447 +    struct IfcDerivedProfileDef : IfcProfileDef, ObjectHelper<IfcDerivedProfileDef,3> { IfcDerivedProfileDef() : Object("IfcDerivedProfileDef") {}
  1.3448 +		Lazy< IfcProfileDef > ParentProfile;
  1.3449 +		Lazy< IfcCartesianTransformationOperator2D > Operator;
  1.3450 +		Maybe< IfcLabel::Out > Label;
  1.3451 +    };
  1.3452 +
  1.3453 +    // C++ wrapper for IfcPropertyTableValue
  1.3454 +    struct IfcPropertyTableValue : IfcSimpleProperty, ObjectHelper<IfcPropertyTableValue,5> { IfcPropertyTableValue() : Object("IfcPropertyTableValue") {}
  1.3455 +		ListOf< IfcValue, 1, 0 >::Out DefiningValues;
  1.3456 +		ListOf< IfcValue, 1, 0 >::Out DefinedValues;
  1.3457 +		Maybe< IfcText::Out > Expression;
  1.3458 +		Maybe< IfcUnit::Out > DefiningUnit;
  1.3459 +		Maybe< IfcUnit::Out > DefinedUnit;
  1.3460 +    };
  1.3461 +
  1.3462 +    // C++ wrapper for IfcFlowMeterType
  1.3463 +    struct IfcFlowMeterType : IfcFlowControllerType, ObjectHelper<IfcFlowMeterType,1> { IfcFlowMeterType() : Object("IfcFlowMeterType") {}
  1.3464 +		IfcFlowMeterTypeEnum::Out PredefinedType;
  1.3465 +    };
  1.3466 +
  1.3467 +    // C++ wrapper for IfcDoorStyle
  1.3468 +    struct IfcDoorStyle : IfcTypeProduct, ObjectHelper<IfcDoorStyle,4> { IfcDoorStyle() : Object("IfcDoorStyle") {}
  1.3469 +		IfcDoorStyleOperationEnum::Out OperationType;
  1.3470 +		IfcDoorStyleConstructionEnum::Out ConstructionType;
  1.3471 +		BOOLEAN::Out ParameterTakesPrecedence;
  1.3472 +		BOOLEAN::Out Sizeable;
  1.3473 +    };
  1.3474 +
  1.3475 +    // C++ wrapper for IfcUnitAssignment
  1.3476 +    struct IfcUnitAssignment :  ObjectHelper<IfcUnitAssignment,1> { IfcUnitAssignment() : Object("IfcUnitAssignment") {}
  1.3477 +		ListOf< IfcUnit, 1, 0 >::Out Units;
  1.3478 +    };
  1.3479 +
  1.3480 +    // C++ wrapper for IfcFlowTerminal
  1.3481 +    struct IfcFlowTerminal : IfcDistributionFlowElement, ObjectHelper<IfcFlowTerminal,0> { IfcFlowTerminal() : Object("IfcFlowTerminal") {}
  1.3482 +
  1.3483 +    };
  1.3484 +
  1.3485 +    // C++ wrapper for IfcCraneRailFShapeProfileDef
  1.3486 +    struct IfcCraneRailFShapeProfileDef : IfcParameterizedProfileDef, ObjectHelper<IfcCraneRailFShapeProfileDef,9> { IfcCraneRailFShapeProfileDef() : Object("IfcCraneRailFShapeProfileDef") {}
  1.3487 +		IfcPositiveLengthMeasure::Out OverallHeight;
  1.3488 +		IfcPositiveLengthMeasure::Out HeadWidth;
  1.3489 +		Maybe< IfcPositiveLengthMeasure::Out > Radius;
  1.3490 +		IfcPositiveLengthMeasure::Out HeadDepth2;
  1.3491 +		IfcPositiveLengthMeasure::Out HeadDepth3;
  1.3492 +		IfcPositiveLengthMeasure::Out WebThickness;
  1.3493 +		IfcPositiveLengthMeasure::Out BaseDepth1;
  1.3494 +		IfcPositiveLengthMeasure::Out BaseDepth2;
  1.3495 +		Maybe< IfcPositiveLengthMeasure::Out > CentreOfGravityInY;
  1.3496 +    };
  1.3497 +
  1.3498 +    // C++ wrapper for IfcFlowSegment
  1.3499 +    struct IfcFlowSegment : IfcDistributionFlowElement, ObjectHelper<IfcFlowSegment,0> { IfcFlowSegment() : Object("IfcFlowSegment") {}
  1.3500 +
  1.3501 +    };
  1.3502 +
  1.3503 +    // C++ wrapper for IfcElementQuantity
  1.3504 +    struct IfcElementQuantity : IfcPropertySetDefinition, ObjectHelper<IfcElementQuantity,2> { IfcElementQuantity() : Object("IfcElementQuantity") {}
  1.3505 +		Maybe< IfcLabel::Out > MethodOfMeasurement;
  1.3506 +		ListOf< Lazy< NotImplemented >, 1, 0 > Quantities;
  1.3507 +    };
  1.3508 +
  1.3509 +    // C++ wrapper for IfcCurtainWall
  1.3510 +    struct IfcCurtainWall : IfcBuildingElement, ObjectHelper<IfcCurtainWall,0> { IfcCurtainWall() : Object("IfcCurtainWall") {}
  1.3511 +
  1.3512 +    };
  1.3513 +
  1.3514 +    // C++ wrapper for IfcDiscreteAccessory
  1.3515 +    struct IfcDiscreteAccessory : IfcElementComponent, ObjectHelper<IfcDiscreteAccessory,0> { IfcDiscreteAccessory() : Object("IfcDiscreteAccessory") {}
  1.3516 +
  1.3517 +    };
  1.3518 +
  1.3519 +    // C++ wrapper for IfcGrid
  1.3520 +    struct IfcGrid : IfcProduct, ObjectHelper<IfcGrid,3> { IfcGrid() : Object("IfcGrid") {}
  1.3521 +		ListOf< Lazy< NotImplemented >, 1, 0 > UAxes;
  1.3522 +		ListOf< Lazy< NotImplemented >, 1, 0 > VAxes;
  1.3523 +		Maybe< ListOf< Lazy< NotImplemented >, 1, 0 > > WAxes;
  1.3524 +    };
  1.3525 +
  1.3526 +    // C++ wrapper for IfcSanitaryTerminalType
  1.3527 +    struct IfcSanitaryTerminalType : IfcFlowTerminalType, ObjectHelper<IfcSanitaryTerminalType,1> { IfcSanitaryTerminalType() : Object("IfcSanitaryTerminalType") {}
  1.3528 +		IfcSanitaryTerminalTypeEnum::Out PredefinedType;
  1.3529 +    };
  1.3530 +
  1.3531 +    // C++ wrapper for IfcSubedge
  1.3532 +    struct IfcSubedge : IfcEdge, ObjectHelper<IfcSubedge,1> { IfcSubedge() : Object("IfcSubedge") {}
  1.3533 +		Lazy< IfcEdge > ParentEdge;
  1.3534 +    };
  1.3535 +
  1.3536 +    // C++ wrapper for IfcFilterType
  1.3537 +    struct IfcFilterType : IfcFlowTreatmentDeviceType, ObjectHelper<IfcFilterType,1> { IfcFilterType() : Object("IfcFilterType") {}
  1.3538 +		IfcFilterTypeEnum::Out PredefinedType;
  1.3539 +    };
  1.3540 +
  1.3541 +    // C++ wrapper for IfcTendon
  1.3542 +    struct IfcTendon : IfcReinforcingElement, ObjectHelper<IfcTendon,8> { IfcTendon() : Object("IfcTendon") {}
  1.3543 +		IfcTendonTypeEnum::Out PredefinedType;
  1.3544 +		IfcPositiveLengthMeasure::Out NominalDiameter;
  1.3545 +		IfcAreaMeasure::Out CrossSectionArea;
  1.3546 +		Maybe< IfcForceMeasure::Out > TensionForce;
  1.3547 +		Maybe< IfcPressureMeasure::Out > PreStress;
  1.3548 +		Maybe< IfcNormalisedRatioMeasure::Out > FrictionCoefficient;
  1.3549 +		Maybe< IfcPositiveLengthMeasure::Out > AnchorageSlip;
  1.3550 +		Maybe< IfcPositiveLengthMeasure::Out > MinCurvatureRadius;
  1.3551 +    };
  1.3552 +
  1.3553 +    // C++ wrapper for IfcStructuralLoadGroup
  1.3554 +    struct IfcStructuralLoadGroup : IfcGroup, ObjectHelper<IfcStructuralLoadGroup,5> { IfcStructuralLoadGroup() : Object("IfcStructuralLoadGroup") {}
  1.3555 +		IfcLoadGroupTypeEnum::Out PredefinedType;
  1.3556 +		IfcActionTypeEnum::Out ActionType;
  1.3557 +		IfcActionSourceTypeEnum::Out ActionSource;
  1.3558 +		Maybe< IfcPositiveRatioMeasure::Out > Coefficient;
  1.3559 +		Maybe< IfcLabel::Out > Purpose;
  1.3560 +    };
  1.3561 +
  1.3562 +    // C++ wrapper for IfcPresentationStyleAssignment
  1.3563 +    struct IfcPresentationStyleAssignment :  ObjectHelper<IfcPresentationStyleAssignment,1> { IfcPresentationStyleAssignment() : Object("IfcPresentationStyleAssignment") {}
  1.3564 +		ListOf< IfcPresentationStyleSelect, 1, 0 >::Out Styles;
  1.3565 +    };
  1.3566 +
  1.3567 +    // C++ wrapper for IfcStructuralCurveMember
  1.3568 +    struct IfcStructuralCurveMember : IfcStructuralMember, ObjectHelper<IfcStructuralCurveMember,1> { IfcStructuralCurveMember() : Object("IfcStructuralCurveMember") {}
  1.3569 +		IfcStructuralCurveTypeEnum::Out PredefinedType;
  1.3570 +    };
  1.3571 +
  1.3572 +    // C++ wrapper for IfcLightSourceAmbient
  1.3573 +    struct IfcLightSourceAmbient : IfcLightSource, ObjectHelper<IfcLightSourceAmbient,0> { IfcLightSourceAmbient() : Object("IfcLightSourceAmbient") {}
  1.3574 +
  1.3575 +    };
  1.3576 +
  1.3577 +    // C++ wrapper for IfcCondition
  1.3578 +    struct IfcCondition : IfcGroup, ObjectHelper<IfcCondition,0> { IfcCondition() : Object("IfcCondition") {}
  1.3579 +
  1.3580 +    };
  1.3581 +
  1.3582 +    // C++ wrapper for IfcPort
  1.3583 +    struct IfcPort : IfcProduct, ObjectHelper<IfcPort,0> { IfcPort() : Object("IfcPort") {}
  1.3584 +
  1.3585 +    };
  1.3586 +
  1.3587 +    // C++ wrapper for IfcSpace
  1.3588 +    struct IfcSpace : IfcSpatialStructureElement, ObjectHelper<IfcSpace,2> { IfcSpace() : Object("IfcSpace") {}
  1.3589 +		IfcInternalOrExternalEnum::Out InteriorOrExteriorSpace;
  1.3590 +		Maybe< IfcLengthMeasure::Out > ElevationWithFlooring;
  1.3591 +    };
  1.3592 +
  1.3593 +    // C++ wrapper for IfcHeatExchangerType
  1.3594 +    struct IfcHeatExchangerType : IfcEnergyConversionDeviceType, ObjectHelper<IfcHeatExchangerType,1> { IfcHeatExchangerType() : Object("IfcHeatExchangerType") {}
  1.3595 +		IfcHeatExchangerTypeEnum::Out PredefinedType;
  1.3596 +    };
  1.3597 +
  1.3598 +    // C++ wrapper for IfcTankType
  1.3599 +    struct IfcTankType : IfcFlowStorageDeviceType, ObjectHelper<IfcTankType,1> { IfcTankType() : Object("IfcTankType") {}
  1.3600 +		IfcTankTypeEnum::Out PredefinedType;
  1.3601 +    };
  1.3602 +
  1.3603 +    // C++ wrapper for IfcInventory
  1.3604 +    struct IfcInventory : IfcGroup, ObjectHelper<IfcInventory,6> { IfcInventory() : Object("IfcInventory") {}
  1.3605 +		IfcInventoryTypeEnum::Out InventoryType;
  1.3606 +		IfcActorSelect::Out Jurisdiction;
  1.3607 +		ListOf< Lazy< NotImplemented >, 1, 0 > ResponsiblePersons;
  1.3608 +		Lazy< NotImplemented > LastUpdateDate;
  1.3609 +		Maybe< Lazy< NotImplemented > > CurrentValue;
  1.3610 +		Maybe< Lazy< NotImplemented > > OriginalValue;
  1.3611 +    };
  1.3612 +
  1.3613 +    // C++ wrapper for IfcTransportElementType
  1.3614 +    struct IfcTransportElementType : IfcElementType, ObjectHelper<IfcTransportElementType,1> { IfcTransportElementType() : Object("IfcTransportElementType") {}
  1.3615 +		IfcTransportElementTypeEnum::Out PredefinedType;
  1.3616 +    };
  1.3617 +
  1.3618 +    // C++ wrapper for IfcAirToAirHeatRecoveryType
  1.3619 +    struct IfcAirToAirHeatRecoveryType : IfcEnergyConversionDeviceType, ObjectHelper<IfcAirToAirHeatRecoveryType,1> { IfcAirToAirHeatRecoveryType() : Object("IfcAirToAirHeatRecoveryType") {}
  1.3620 +		IfcAirToAirHeatRecoveryTypeEnum::Out PredefinedType;
  1.3621 +    };
  1.3622 +
  1.3623 +    // C++ wrapper for IfcStairFlight
  1.3624 +    struct IfcStairFlight : IfcBuildingElement, ObjectHelper<IfcStairFlight,4> { IfcStairFlight() : Object("IfcStairFlight") {}
  1.3625 +		Maybe< INTEGER::Out > NumberOfRiser;
  1.3626 +		Maybe< INTEGER::Out > NumberOfTreads;
  1.3627 +		Maybe< IfcPositiveLengthMeasure::Out > RiserHeight;
  1.3628 +		Maybe< IfcPositiveLengthMeasure::Out > TreadLength;
  1.3629 +    };
  1.3630 +
  1.3631 +    // C++ wrapper for IfcElectricalElement
  1.3632 +    struct IfcElectricalElement : IfcElement, ObjectHelper<IfcElectricalElement,0> { IfcElectricalElement() : Object("IfcElectricalElement") {}
  1.3633 +
  1.3634 +    };
  1.3635 +
  1.3636 +    // C++ wrapper for IfcSurfaceStyleWithTextures
  1.3637 +    struct IfcSurfaceStyleWithTextures :  ObjectHelper<IfcSurfaceStyleWithTextures,1> { IfcSurfaceStyleWithTextures() : Object("IfcSurfaceStyleWithTextures") {}
  1.3638 +		ListOf< Lazy< NotImplemented >, 1, 0 > Textures;
  1.3639 +    };
  1.3640 +
  1.3641 +    // C++ wrapper for IfcBoundingBox
  1.3642 +    struct IfcBoundingBox : IfcGeometricRepresentationItem, ObjectHelper<IfcBoundingBox,4> { IfcBoundingBox() : Object("IfcBoundingBox") {}
  1.3643 +		Lazy< IfcCartesianPoint > Corner;
  1.3644 +		IfcPositiveLengthMeasure::Out XDim;
  1.3645 +		IfcPositiveLengthMeasure::Out YDim;
  1.3646 +		IfcPositiveLengthMeasure::Out ZDim;
  1.3647 +    };
  1.3648 +
  1.3649 +    // C++ wrapper for IfcWallType
  1.3650 +    struct IfcWallType : IfcBuildingElementType, ObjectHelper<IfcWallType,1> { IfcWallType() : Object("IfcWallType") {}
  1.3651 +		IfcWallTypeEnum::Out PredefinedType;
  1.3652 +    };
  1.3653 +
  1.3654 +    // C++ wrapper for IfcMove
  1.3655 +    struct IfcMove : IfcTask, ObjectHelper<IfcMove,3> { IfcMove() : Object("IfcMove") {}
  1.3656 +		Lazy< IfcSpatialStructureElement > MoveFrom;
  1.3657 +		Lazy< IfcSpatialStructureElement > MoveTo;
  1.3658 +		Maybe< ListOf< IfcText, 1, 0 >::Out > PunchList;
  1.3659 +    };
  1.3660 +
  1.3661 +    // C++ wrapper for IfcCircle
  1.3662 +    struct IfcCircle : IfcConic, ObjectHelper<IfcCircle,1> { IfcCircle() : Object("IfcCircle") {}
  1.3663 +		IfcPositiveLengthMeasure::Out Radius;
  1.3664 +    };
  1.3665 +
  1.3666 +    // C++ wrapper for IfcOffsetCurve2D
  1.3667 +    struct IfcOffsetCurve2D : IfcCurve, ObjectHelper<IfcOffsetCurve2D,3> { IfcOffsetCurve2D() : Object("IfcOffsetCurve2D") {}
  1.3668 +		Lazy< IfcCurve > BasisCurve;
  1.3669 +		IfcLengthMeasure::Out Distance;
  1.3670 +		LOGICAL::Out SelfIntersect;
  1.3671 +    };
  1.3672 +
  1.3673 +    // C++ wrapper for IfcPointOnCurve
  1.3674 +    struct IfcPointOnCurve : IfcPoint, ObjectHelper<IfcPointOnCurve,2> { IfcPointOnCurve() : Object("IfcPointOnCurve") {}
  1.3675 +		Lazy< IfcCurve > BasisCurve;
  1.3676 +		IfcParameterValue::Out PointParameter;
  1.3677 +    };
  1.3678 +
  1.3679 +    // C++ wrapper for IfcStructuralResultGroup
  1.3680 +    struct IfcStructuralResultGroup : IfcGroup, ObjectHelper<IfcStructuralResultGroup,3> { IfcStructuralResultGroup() : Object("IfcStructuralResultGroup") {}
  1.3681 +		IfcAnalysisTheoryTypeEnum::Out TheoryType;
  1.3682 +		Maybe< Lazy< IfcStructuralLoadGroup > > ResultForLoadGroup;
  1.3683 +		BOOLEAN::Out IsLinear;
  1.3684 +    };
  1.3685 +
  1.3686 +    // C++ wrapper for IfcSectionedSpine
  1.3687 +    struct IfcSectionedSpine : IfcGeometricRepresentationItem, ObjectHelper<IfcSectionedSpine,3> { IfcSectionedSpine() : Object("IfcSectionedSpine") {}
  1.3688 +		Lazy< IfcCompositeCurve > SpineCurve;
  1.3689 +		ListOf< Lazy< IfcProfileDef >, 2, 0 > CrossSections;
  1.3690 +		ListOf< Lazy< IfcAxis2Placement3D >, 2, 0 > CrossSectionPositions;
  1.3691 +    };
  1.3692 +
  1.3693 +    // C++ wrapper for IfcSlab
  1.3694 +    struct IfcSlab : IfcBuildingElement, ObjectHelper<IfcSlab,1> { IfcSlab() : Object("IfcSlab") {}
  1.3695 +		Maybe< IfcSlabTypeEnum::Out > PredefinedType;
  1.3696 +    };
  1.3697 +
  1.3698 +    // C++ wrapper for IfcVertex
  1.3699 +    struct IfcVertex : IfcTopologicalRepresentationItem, ObjectHelper<IfcVertex,0> { IfcVertex() : Object("IfcVertex") {}
  1.3700 +
  1.3701 +    };
  1.3702 +
  1.3703 +    // C++ wrapper for IfcVertexPoint
  1.3704 +    struct IfcVertexPoint : IfcVertex, ObjectHelper<IfcVertexPoint,1> { IfcVertexPoint() : Object("IfcVertexPoint") {}
  1.3705 +		Lazy< IfcPoint > VertexGeometry;
  1.3706 +    };
  1.3707 +
  1.3708 +    // C++ wrapper for IfcStructuralLinearAction
  1.3709 +    struct IfcStructuralLinearAction : IfcStructuralAction, ObjectHelper<IfcStructuralLinearAction,1> { IfcStructuralLinearAction() : Object("IfcStructuralLinearAction") {}
  1.3710 +		IfcProjectedOrTrueLengthEnum::Out ProjectedOrTrue;
  1.3711 +    };
  1.3712 +
  1.3713 +    // C++ wrapper for IfcStructuralLinearActionVarying
  1.3714 +    struct IfcStructuralLinearActionVarying : IfcStructuralLinearAction, ObjectHelper<IfcStructuralLinearActionVarying,2> { IfcStructuralLinearActionVarying() : Object("IfcStructuralLinearActionVarying") {}
  1.3715 +		Lazy< NotImplemented > VaryingAppliedLoadLocation;
  1.3716 +		ListOf< Lazy< NotImplemented >, 1, 0 > SubsequentAppliedLoads;
  1.3717 +    };
  1.3718 +
  1.3719 +    // C++ wrapper for IfcBuildingElementProxyType
  1.3720 +    struct IfcBuildingElementProxyType : IfcBuildingElementType, ObjectHelper<IfcBuildingElementProxyType,1> { IfcBuildingElementProxyType() : Object("IfcBuildingElementProxyType") {}
  1.3721 +		IfcBuildingElementProxyTypeEnum::Out PredefinedType;
  1.3722 +    };
  1.3723 +
  1.3724 +    // C++ wrapper for IfcProjectionElement
  1.3725 +    struct IfcProjectionElement : IfcFeatureElementAddition, ObjectHelper<IfcProjectionElement,0> { IfcProjectionElement() : Object("IfcProjectionElement") {}
  1.3726 +
  1.3727 +    };
  1.3728 +
  1.3729 +    // C++ wrapper for IfcConversionBasedUnit
  1.3730 +    struct IfcConversionBasedUnit : IfcNamedUnit, ObjectHelper<IfcConversionBasedUnit,2> { IfcConversionBasedUnit() : Object("IfcConversionBasedUnit") {}
  1.3731 +		IfcLabel::Out Name;
  1.3732 +		Lazy< IfcMeasureWithUnit > ConversionFactor;
  1.3733 +    };
  1.3734 +
  1.3735 +    // C++ wrapper for IfcGeometricRepresentationSubContext
  1.3736 +    struct IfcGeometricRepresentationSubContext : IfcGeometricRepresentationContext, ObjectHelper<IfcGeometricRepresentationSubContext,4> { IfcGeometricRepresentationSubContext() : Object("IfcGeometricRepresentationSubContext") {}
  1.3737 +		Lazy< IfcGeometricRepresentationContext > ParentContext;
  1.3738 +		Maybe< IfcPositiveRatioMeasure::Out > TargetScale;
  1.3739 +		IfcGeometricProjectionEnum::Out TargetView;
  1.3740 +		Maybe< IfcLabel::Out > UserDefinedTargetView;
  1.3741 +    };
  1.3742 +
  1.3743 +    // C++ wrapper for IfcAnnotationSurfaceOccurrence
  1.3744 +    struct IfcAnnotationSurfaceOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationSurfaceOccurrence,0> { IfcAnnotationSurfaceOccurrence() : Object("IfcAnnotationSurfaceOccurrence") {}
  1.3745 +
  1.3746 +    };
  1.3747 +
  1.3748 +    // C++ wrapper for IfcRoundedEdgeFeature
  1.3749 +    struct IfcRoundedEdgeFeature : IfcEdgeFeature, ObjectHelper<IfcRoundedEdgeFeature,1> { IfcRoundedEdgeFeature() : Object("IfcRoundedEdgeFeature") {}
  1.3750 +		Maybe< IfcPositiveLengthMeasure::Out > Radius;
  1.3751 +    };
  1.3752 +
  1.3753 +    // C++ wrapper for IfcElectricDistributionPoint
  1.3754 +    struct IfcElectricDistributionPoint : IfcFlowController, ObjectHelper<IfcElectricDistributionPoint,2> { IfcElectricDistributionPoint() : Object("IfcElectricDistributionPoint") {}
  1.3755 +		IfcElectricDistributionPointFunctionEnum::Out DistributionPointFunction;
  1.3756 +		Maybe< IfcLabel::Out > UserDefinedFunction;
  1.3757 +    };
  1.3758 +
  1.3759 +    // C++ wrapper for IfcCableCarrierSegmentType
  1.3760 +    struct IfcCableCarrierSegmentType : IfcFlowSegmentType, ObjectHelper<IfcCableCarrierSegmentType,1> { IfcCableCarrierSegmentType() : Object("IfcCableCarrierSegmentType") {}
  1.3761 +		IfcCableCarrierSegmentTypeEnum::Out PredefinedType;
  1.3762 +    };
  1.3763 +
  1.3764 +    // C++ wrapper for IfcWallStandardCase
  1.3765 +    struct IfcWallStandardCase : IfcWall, ObjectHelper<IfcWallStandardCase,0> { IfcWallStandardCase() : Object("IfcWallStandardCase") {}
  1.3766 +
  1.3767 +    };
  1.3768 +
  1.3769 +    // C++ wrapper for IfcCsgSolid
  1.3770 +    struct IfcCsgSolid : IfcSolidModel, ObjectHelper<IfcCsgSolid,1> { IfcCsgSolid() : Object("IfcCsgSolid") {}
  1.3771 +		IfcCsgSelect::Out TreeRootExpression;
  1.3772 +    };
  1.3773 +
  1.3774 +    // C++ wrapper for IfcBeamType
  1.3775 +    struct IfcBeamType : IfcBuildingElementType, ObjectHelper<IfcBeamType,1> { IfcBeamType() : Object("IfcBeamType") {}
  1.3776 +		IfcBeamTypeEnum::Out PredefinedType;
  1.3777 +    };
  1.3778 +
  1.3779 +    // C++ wrapper for IfcAnnotationFillArea
  1.3780 +    struct IfcAnnotationFillArea : IfcGeometricRepresentationItem, ObjectHelper<IfcAnnotationFillArea,2> { IfcAnnotationFillArea() : Object("IfcAnnotationFillArea") {}
  1.3781 +		Lazy< IfcCurve > OuterBoundary;
  1.3782 +		Maybe< ListOf< Lazy< IfcCurve >, 1, 0 > > InnerBoundaries;
  1.3783 +    };
  1.3784 +
  1.3785 +    // C++ wrapper for IfcStructuralCurveMemberVarying
  1.3786 +    struct IfcStructuralCurveMemberVarying : IfcStructuralCurveMember, ObjectHelper<IfcStructuralCurveMemberVarying,0> { IfcStructuralCurveMemberVarying() : Object("IfcStructuralCurveMemberVarying") {}
  1.3787 +
  1.3788 +    };
  1.3789 +
  1.3790 +    // C++ wrapper for IfcPointOnSurface
  1.3791 +    struct IfcPointOnSurface : IfcPoint, ObjectHelper<IfcPointOnSurface,3> { IfcPointOnSurface() : Object("IfcPointOnSurface") {}
  1.3792 +		Lazy< IfcSurface > BasisSurface;
  1.3793 +		IfcParameterValue::Out PointParameterU;
  1.3794 +		IfcParameterValue::Out PointParameterV;
  1.3795 +    };
  1.3796 +
  1.3797 +    // C++ wrapper for IfcOrderAction
  1.3798 +    struct IfcOrderAction : IfcTask, ObjectHelper<IfcOrderAction,1> { IfcOrderAction() : Object("IfcOrderAction") {}
  1.3799 +		IfcIdentifier::Out ActionID;
  1.3800 +    };
  1.3801 +
  1.3802 +    // C++ wrapper for IfcEdgeLoop
  1.3803 +    struct IfcEdgeLoop : IfcLoop, ObjectHelper<IfcEdgeLoop,1> { IfcEdgeLoop() : Object("IfcEdgeLoop") {}
  1.3804 +		ListOf< Lazy< IfcOrientedEdge >, 1, 0 > EdgeList;
  1.3805 +    };
  1.3806 +
  1.3807 +    // C++ wrapper for IfcAnnotationFillAreaOccurrence
  1.3808 +    struct IfcAnnotationFillAreaOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationFillAreaOccurrence,2> { IfcAnnotationFillAreaOccurrence() : Object("IfcAnnotationFillAreaOccurrence") {}
  1.3809 +		Maybe< Lazy< IfcPoint > > FillStyleTarget;
  1.3810 +		Maybe< IfcGlobalOrLocalEnum::Out > GlobalOrLocal;
  1.3811 +    };
  1.3812 +
  1.3813 +    // C++ wrapper for IfcWorkPlan
  1.3814 +    struct IfcWorkPlan : IfcWorkControl, ObjectHelper<IfcWorkPlan,0> { IfcWorkPlan() : Object("IfcWorkPlan") {}
  1.3815 +
  1.3816 +    };
  1.3817 +
  1.3818 +    // C++ wrapper for IfcEllipse
  1.3819 +    struct IfcEllipse : IfcConic, ObjectHelper<IfcEllipse,2> { IfcEllipse() : Object("IfcEllipse") {}
  1.3820 +		IfcPositiveLengthMeasure::Out SemiAxis1;
  1.3821 +		IfcPositiveLengthMeasure::Out SemiAxis2;
  1.3822 +    };
  1.3823 +
  1.3824 +    // C++ wrapper for IfcProductDefinitionShape
  1.3825 +    struct IfcProductDefinitionShape : IfcProductRepresentation, ObjectHelper<IfcProductDefinitionShape,0> { IfcProductDefinitionShape() : Object("IfcProductDefinitionShape") {}
  1.3826 +
  1.3827 +    };
  1.3828 +
  1.3829 +    // C++ wrapper for IfcProjectionCurve
  1.3830 +    struct IfcProjectionCurve : IfcAnnotationCurveOccurrence, ObjectHelper<IfcProjectionCurve,0> { IfcProjectionCurve() : Object("IfcProjectionCurve") {}
  1.3831 +
  1.3832 +    };
  1.3833 +
  1.3834 +    // C++ wrapper for IfcElectricalCircuit
  1.3835 +    struct IfcElectricalCircuit : IfcSystem, ObjectHelper<IfcElectricalCircuit,0> { IfcElectricalCircuit() : Object("IfcElectricalCircuit") {}
  1.3836 +
  1.3837 +    };
  1.3838 +
  1.3839 +    // C++ wrapper for IfcRationalBezierCurve
  1.3840 +    struct IfcRationalBezierCurve : IfcBezierCurve, ObjectHelper<IfcRationalBezierCurve,1> { IfcRationalBezierCurve() : Object("IfcRationalBezierCurve") {}
  1.3841 +		ListOf< REAL, 2, 0 >::Out WeightsData;
  1.3842 +    };
  1.3843 +
  1.3844 +    // C++ wrapper for IfcStructuralPointAction
  1.3845 +    struct IfcStructuralPointAction : IfcStructuralAction, ObjectHelper<IfcStructuralPointAction,0> { IfcStructuralPointAction() : Object("IfcStructuralPointAction") {}
  1.3846 +
  1.3847 +    };
  1.3848 +
  1.3849 +    // C++ wrapper for IfcPipeSegmentType
  1.3850 +    struct IfcPipeSegmentType : IfcFlowSegmentType, ObjectHelper<IfcPipeSegmentType,1> { IfcPipeSegmentType() : Object("IfcPipeSegmentType") {}
  1.3851 +		IfcPipeSegmentTypeEnum::Out PredefinedType;
  1.3852 +    };
  1.3853 +
  1.3854 +    // C++ wrapper for IfcTwoDirectionRepeatFactor
  1.3855 +    struct IfcTwoDirectionRepeatFactor : IfcOneDirectionRepeatFactor, ObjectHelper<IfcTwoDirectionRepeatFactor,1> { IfcTwoDirectionRepeatFactor() : Object("IfcTwoDirectionRepeatFactor") {}
  1.3856 +		Lazy< IfcVector > SecondRepeatFactor;
  1.3857 +    };
  1.3858 +
  1.3859 +    // C++ wrapper for IfcShapeRepresentation
  1.3860 +    struct IfcShapeRepresentation : IfcShapeModel, ObjectHelper<IfcShapeRepresentation,0> { IfcShapeRepresentation() : Object("IfcShapeRepresentation") {}
  1.3861 +
  1.3862 +    };
  1.3863 +
  1.3864 +    // C++ wrapper for IfcPropertySet
  1.3865 +    struct IfcPropertySet : IfcPropertySetDefinition, ObjectHelper<IfcPropertySet,1> { IfcPropertySet() : Object("IfcPropertySet") {}
  1.3866 +		ListOf< Lazy< IfcProperty >, 1, 0 > HasProperties;
  1.3867 +    };
  1.3868 +
  1.3869 +    // C++ wrapper for IfcSurfaceStyleRendering
  1.3870 +    struct IfcSurfaceStyleRendering : IfcSurfaceStyleShading, ObjectHelper<IfcSurfaceStyleRendering,8> { IfcSurfaceStyleRendering() : Object("IfcSurfaceStyleRendering") {}
  1.3871 +		Maybe< IfcNormalisedRatioMeasure::Out > Transparency;
  1.3872 +		Maybe< IfcColourOrFactor::Out > DiffuseColour;
  1.3873 +		Maybe< IfcColourOrFactor::Out > TransmissionColour;
  1.3874 +		Maybe< IfcColourOrFactor::Out > DiffuseTransmissionColour;
  1.3875 +		Maybe< IfcColourOrFactor::Out > ReflectionColour;
  1.3876 +		Maybe< IfcColourOrFactor::Out > SpecularColour;
  1.3877 +		Maybe< IfcSpecularHighlightSelect::Out > SpecularHighlight;
  1.3878 +		IfcReflectanceMethodEnum::Out ReflectanceMethod;
  1.3879 +    };
  1.3880 +
  1.3881 +    // C++ wrapper for IfcDistributionPort
  1.3882 +    struct IfcDistributionPort : IfcPort, ObjectHelper<IfcDistributionPort,1> { IfcDistributionPort() : Object("IfcDistributionPort") {}
  1.3883 +		Maybe< IfcFlowDirectionEnum::Out > FlowDirection;
  1.3884 +    };
  1.3885 +
  1.3886 +    // C++ wrapper for IfcPipeFittingType
  1.3887 +    struct IfcPipeFittingType : IfcFlowFittingType, ObjectHelper<IfcPipeFittingType,1> { IfcPipeFittingType() : Object("IfcPipeFittingType") {}
  1.3888 +		IfcPipeFittingTypeEnum::Out PredefinedType;
  1.3889 +    };
  1.3890 +
  1.3891 +    // C++ wrapper for IfcTransportElement
  1.3892 +    struct IfcTransportElement : IfcElement, ObjectHelper<IfcTransportElement,3> { IfcTransportElement() : Object("IfcTransportElement") {}
  1.3893 +		Maybe< IfcTransportElementTypeEnum::Out > OperationType;
  1.3894 +		Maybe< IfcMassMeasure::Out > CapacityByWeight;
  1.3895 +		Maybe< IfcCountMeasure::Out > CapacityByNumber;
  1.3896 +    };
  1.3897 +
  1.3898 +    // C++ wrapper for IfcAnnotationTextOccurrence
  1.3899 +    struct IfcAnnotationTextOccurrence : IfcAnnotationOccurrence, ObjectHelper<IfcAnnotationTextOccurrence,0> { IfcAnnotationTextOccurrence() : Object("IfcAnnotationTextOccurrence") {}
  1.3900 +
  1.3901 +    };
  1.3902 +
  1.3903 +    // C++ wrapper for IfcStructuralAnalysisModel
  1.3904 +    struct IfcStructuralAnalysisModel : IfcSystem, ObjectHelper<IfcStructuralAnalysisModel,4> { IfcStructuralAnalysisModel() : Object("IfcStructuralAnalysisModel") {}
  1.3905 +		IfcAnalysisModelTypeEnum::Out PredefinedType;
  1.3906 +		Maybe< Lazy< IfcAxis2Placement3D > > OrientationOf2DPlane;
  1.3907 +		Maybe< ListOf< Lazy< IfcStructuralLoadGroup >, 1, 0 > > LoadedBy;
  1.3908 +		Maybe< ListOf< Lazy< IfcStructuralResultGroup >, 1, 0 > > HasResults;
  1.3909 +    };
  1.3910 +
  1.3911 +    // C++ wrapper for IfcConditionCriterion
  1.3912 +    struct IfcConditionCriterion : IfcControl, ObjectHelper<IfcConditionCriterion,2> { IfcConditionCriterion() : Object("IfcConditionCriterion") {}
  1.3913 +		IfcConditionCriterionSelect::Out Criterion;
  1.3914 +		IfcDateTimeSelect::Out CriterionDateTime;
  1.3915 +    };
  1.3916 +
  1.3917 +	void GetSchema(EXPRESS::ConversionSchema& out);
  1.3918 +
  1.3919 +} //! IFC
  1.3920 +namespace STEP {
  1.3921 +
  1.3922 +	// ******************************************************************************
  1.3923 +	// Converter stubs
  1.3924 +	// ******************************************************************************
  1.3925 +	
  1.3926 +#define DECL_CONV_STUB(type) template <> size_t GenericFill<IFC::type>(const STEP::DB& db, const EXPRESS::LIST& params, IFC::type* in)
  1.3927 +	
  1.3928 +	DECL_CONV_STUB(IfcRoot);
  1.3929 +	DECL_CONV_STUB(IfcObjectDefinition);
  1.3930 +	DECL_CONV_STUB(IfcTypeObject);
  1.3931 +	DECL_CONV_STUB(IfcTypeProduct);
  1.3932 +	DECL_CONV_STUB(IfcElementType);
  1.3933 +	DECL_CONV_STUB(IfcDistributionElementType);
  1.3934 +	DECL_CONV_STUB(IfcDistributionFlowElementType);
  1.3935 +	DECL_CONV_STUB(IfcFlowControllerType);
  1.3936 +	DECL_CONV_STUB(IfcElectricTimeControlType);
  1.3937 +	DECL_CONV_STUB(IfcRepresentation);
  1.3938 +	DECL_CONV_STUB(IfcShapeModel);
  1.3939 +	DECL_CONV_STUB(IfcTopologyRepresentation);
  1.3940 +	DECL_CONV_STUB(IfcRelationship);
  1.3941 +	DECL_CONV_STUB(IfcRelConnects);
  1.3942 +	DECL_CONV_STUB(IfcFlowFittingType);
  1.3943 +	DECL_CONV_STUB(IfcCableCarrierFittingType);
  1.3944 +	DECL_CONV_STUB(IfcEnergyConversionDeviceType);
  1.3945 +	DECL_CONV_STUB(IfcCoilType);
  1.3946 +	DECL_CONV_STUB(IfcObject);
  1.3947 +	DECL_CONV_STUB(IfcControl);
  1.3948 +	DECL_CONV_STUB(IfcPerformanceHistory);
  1.3949 +	DECL_CONV_STUB(IfcRepresentationItem);
  1.3950 +	DECL_CONV_STUB(IfcGeometricRepresentationItem);
  1.3951 +	DECL_CONV_STUB(IfcTextLiteral);
  1.3952 +	DECL_CONV_STUB(IfcTextLiteralWithExtent);
  1.3953 +	DECL_CONV_STUB(IfcProductRepresentation);
  1.3954 +	DECL_CONV_STUB(IfcProduct);
  1.3955 +	DECL_CONV_STUB(IfcElement);
  1.3956 +	DECL_CONV_STUB(IfcDistributionElement);
  1.3957 +	DECL_CONV_STUB(IfcDistributionFlowElement);
  1.3958 +	DECL_CONV_STUB(IfcCurve);
  1.3959 +	DECL_CONV_STUB(IfcBoundedCurve);
  1.3960 +	DECL_CONV_STUB(IfcCompositeCurve);
  1.3961 +	DECL_CONV_STUB(Ifc2DCompositeCurve);
  1.3962 +	DECL_CONV_STUB(IfcCartesianTransformationOperator);
  1.3963 +	DECL_CONV_STUB(IfcCartesianTransformationOperator3D);
  1.3964 +	DECL_CONV_STUB(IfcProperty);
  1.3965 +	DECL_CONV_STUB(IfcSimpleProperty);
  1.3966 +	DECL_CONV_STUB(IfcPropertyEnumeratedValue);
  1.3967 +	DECL_CONV_STUB(IfcBuildingElementType);
  1.3968 +	DECL_CONV_STUB(IfcStairFlightType);
  1.3969 +	DECL_CONV_STUB(IfcSurface);
  1.3970 +	DECL_CONV_STUB(IfcElementarySurface);
  1.3971 +	DECL_CONV_STUB(IfcPlane);
  1.3972 +	DECL_CONV_STUB(IfcBooleanResult);
  1.3973 +	DECL_CONV_STUB(IfcBooleanClippingResult);
  1.3974 +	DECL_CONV_STUB(IfcSolidModel);
  1.3975 +	DECL_CONV_STUB(IfcManifoldSolidBrep);
  1.3976 +	DECL_CONV_STUB(IfcFlowTerminalType);
  1.3977 +	DECL_CONV_STUB(IfcStackTerminalType);
  1.3978 +	DECL_CONV_STUB(IfcStructuralItem);
  1.3979 +	DECL_CONV_STUB(IfcStructuralConnection);
  1.3980 +	DECL_CONV_STUB(IfcStructuralCurveConnection);
  1.3981 +	DECL_CONV_STUB(IfcJunctionBoxType);
  1.3982 +	DECL_CONV_STUB(IfcPropertyDefinition);
  1.3983 +	DECL_CONV_STUB(IfcPropertySetDefinition);
  1.3984 +	DECL_CONV_STUB(IfcProcess);
  1.3985 +	DECL_CONV_STUB(IfcTask);
  1.3986 +	DECL_CONV_STUB(IfcRelFillsElement);
  1.3987 +	DECL_CONV_STUB(IfcProcedure);
  1.3988 +	DECL_CONV_STUB(IfcProxy);
  1.3989 +	DECL_CONV_STUB(IfcResource);
  1.3990 +	DECL_CONV_STUB(IfcConstructionResource);
  1.3991 +	DECL_CONV_STUB(IfcSubContractResource);
  1.3992 +	DECL_CONV_STUB(IfcRelContainedInSpatialStructure);
  1.3993 +	DECL_CONV_STUB(IfcTopologicalRepresentationItem);
  1.3994 +	DECL_CONV_STUB(IfcEdge);
  1.3995 +	DECL_CONV_STUB(IfcEdgeCurve);
  1.3996 +	DECL_CONV_STUB(IfcPlateType);
  1.3997 +	DECL_CONV_STUB(IfcObjectPlacement);
  1.3998 +	DECL_CONV_STUB(IfcGridPlacement);
  1.3999 +	DECL_CONV_STUB(IfcFireSuppressionTerminalType);
  1.4000 +	DECL_CONV_STUB(IfcFlowStorageDevice);
  1.4001 +	DECL_CONV_STUB(IfcSweptSurface);
  1.4002 +	DECL_CONV_STUB(IfcSurfaceOfRevolution);
  1.4003 +	DECL_CONV_STUB(IfcOrientedEdge);
  1.4004 +	DECL_CONV_STUB(IfcDirection);
  1.4005 +	DECL_CONV_STUB(IfcProfileDef);
  1.4006 +	DECL_CONV_STUB(IfcParameterizedProfileDef);
  1.4007 +	DECL_CONV_STUB(IfcCShapeProfileDef);
  1.4008 +	DECL_CONV_STUB(IfcFeatureElement);
  1.4009 +	DECL_CONV_STUB(IfcFeatureElementSubtraction);
  1.4010 +	DECL_CONV_STUB(IfcEdgeFeature);
  1.4011 +	DECL_CONV_STUB(IfcChamferEdgeFeature);
  1.4012 +	DECL_CONV_STUB(IfcBuildingElement);
  1.4013 +	DECL_CONV_STUB(IfcColumn);
  1.4014 +	DECL_CONV_STUB(IfcPropertyReferenceValue);
  1.4015 +	DECL_CONV_STUB(IfcElectricMotorType);
  1.4016 +	DECL_CONV_STUB(IfcSpatialStructureElementType);
  1.4017 +	DECL_CONV_STUB(IfcSpaceType);
  1.4018 +	DECL_CONV_STUB(IfcColumnType);
  1.4019 +	DECL_CONV_STUB(IfcCraneRailAShapeProfileDef);
  1.4020 +	DECL_CONV_STUB(IfcCondenserType);
  1.4021 +	DECL_CONV_STUB(IfcCircleProfileDef);
  1.4022 +	DECL_CONV_STUB(IfcCircleHollowProfileDef);
  1.4023 +	DECL_CONV_STUB(IfcPlacement);
  1.4024 +	DECL_CONV_STUB(IfcAxis2Placement3D);
  1.4025 +	DECL_CONV_STUB(IfcPresentationStyle);
  1.4026 +	DECL_CONV_STUB(IfcEquipmentElement);
  1.4027 +	DECL_CONV_STUB(IfcCompositeCurveSegment);
  1.4028 +	DECL_CONV_STUB(IfcRectangleProfileDef);
  1.4029 +	DECL_CONV_STUB(IfcBuildingElementProxy);
  1.4030 +	DECL_CONV_STUB(IfcDistributionControlElementType);
  1.4031 +	DECL_CONV_STUB(IfcFlowInstrumentType);
  1.4032 +	DECL_CONV_STUB(IfcDraughtingCallout);
  1.4033 +	DECL_CONV_STUB(IfcDimensionCurveDirectedCallout);
  1.4034 +	DECL_CONV_STUB(IfcLinearDimension);
  1.4035 +	DECL_CONV_STUB(IfcElementAssembly);
  1.4036 +	DECL_CONV_STUB(IfcCsgPrimitive3D);
  1.4037 +	DECL_CONV_STUB(IfcRightCircularCone);
  1.4038 +	DECL_CONV_STUB(IfcProjectOrder);
  1.4039 +	DECL_CONV_STUB(IfcLShapeProfileDef);
  1.4040 +	DECL_CONV_STUB(IfcAngularDimension);
  1.4041 +	DECL_CONV_STUB(IfcLocalPlacement);
  1.4042 +	DECL_CONV_STUB(IfcSweptAreaSolid);
  1.4043 +	DECL_CONV_STUB(IfcRevolvedAreaSolid);
  1.4044 +	DECL_CONV_STUB(IfcStructuralSurfaceConnection);
  1.4045 +	DECL_CONV_STUB(IfcRadiusDimension);
  1.4046 +	DECL_CONV_STUB(IfcSweptDiskSolid);
  1.4047 +	DECL_CONV_STUB(IfcHalfSpaceSolid);
  1.4048 +	DECL_CONV_STUB(IfcPolygonalBoundedHalfSpace);
  1.4049 +	DECL_CONV_STUB(IfcTimeSeriesSchedule);
  1.4050 +	DECL_CONV_STUB(IfcCooledBeamType);
  1.4051 +	DECL_CONV_STUB(IfcProject);
  1.4052 +	DECL_CONV_STUB(IfcEvaporatorType);
  1.4053 +	DECL_CONV_STUB(IfcLaborResource);
  1.4054 +	DECL_CONV_STUB(IfcPropertyBoundedValue);
  1.4055 +	DECL_CONV_STUB(IfcRampFlightType);
  1.4056 +	DECL_CONV_STUB(IfcMember);
  1.4057 +	DECL_CONV_STUB(IfcTubeBundleType);
  1.4058 +	DECL_CONV_STUB(IfcValveType);
  1.4059 +	DECL_CONV_STUB(IfcTrimmedCurve);
  1.4060 +	DECL_CONV_STUB(IfcRelDefines);
  1.4061 +	DECL_CONV_STUB(IfcRelDefinesByProperties);
  1.4062 +	DECL_CONV_STUB(IfcActor);
  1.4063 +	DECL_CONV_STUB(IfcOccupant);
  1.4064 +	DECL_CONV_STUB(IfcHumidifierType);
  1.4065 +	DECL_CONV_STUB(IfcArbitraryOpenProfileDef);
  1.4066 +	DECL_CONV_STUB(IfcPermit);
  1.4067 +	DECL_CONV_STUB(IfcOffsetCurve3D);
  1.4068 +	DECL_CONV_STUB(IfcLightSource);
  1.4069 +	DECL_CONV_STUB(IfcLightSourcePositional);
  1.4070 +	DECL_CONV_STUB(IfcCompositeProfileDef);
  1.4071 +	DECL_CONV_STUB(IfcRamp);
  1.4072 +	DECL_CONV_STUB(IfcFlowMovingDevice);
  1.4073 +	DECL_CONV_STUB(IfcSpaceHeaterType);
  1.4074 +	DECL_CONV_STUB(IfcLampType);
  1.4075 +	DECL_CONV_STUB(IfcBuildingElementComponent);
  1.4076 +	DECL_CONV_STUB(IfcReinforcingElement);
  1.4077 +	DECL_CONV_STUB(IfcReinforcingBar);
  1.4078 +	DECL_CONV_STUB(IfcElectricHeaterType);
  1.4079 +	DECL_CONV_STUB(IfcTShapeProfileDef);
  1.4080 +	DECL_CONV_STUB(IfcStructuralActivity);
  1.4081 +	DECL_CONV_STUB(IfcStructuralAction);
  1.4082 +	DECL_CONV_STUB(IfcDuctFittingType);
  1.4083 +	DECL_CONV_STUB(IfcCartesianTransformationOperator2D);
  1.4084 +	DECL_CONV_STUB(IfcCartesianTransformationOperator2DnonUniform);
  1.4085 +	DECL_CONV_STUB(IfcVirtualElement);
  1.4086 +	DECL_CONV_STUB(IfcRightCircularCylinder);
  1.4087 +	DECL_CONV_STUB(IfcOutletType);
  1.4088 +	DECL_CONV_STUB(IfcRelDecomposes);
  1.4089 +	DECL_CONV_STUB(IfcCovering);
  1.4090 +	DECL_CONV_STUB(IfcPolyline);
  1.4091 +	DECL_CONV_STUB(IfcPath);
  1.4092 +	DECL_CONV_STUB(IfcElementComponent);
  1.4093 +	DECL_CONV_STUB(IfcFastener);
  1.4094 +	DECL_CONV_STUB(IfcMappedItem);
  1.4095 +	DECL_CONV_STUB(IfcRectangularPyramid);
  1.4096 +	DECL_CONV_STUB(IfcCrewResource);
  1.4097 +	DECL_CONV_STUB(IfcNamedUnit);
  1.4098 +	DECL_CONV_STUB(IfcContextDependentUnit);
  1.4099 +	DECL_CONV_STUB(IfcUnitaryEquipmentType);
  1.4100 +	DECL_CONV_STUB(IfcRoof);
  1.4101 +	DECL_CONV_STUB(IfcStructuralMember);
  1.4102 +	DECL_CONV_STUB(IfcStyleModel);
  1.4103 +	DECL_CONV_STUB(IfcStyledRepresentation);
  1.4104 +	DECL_CONV_STUB(IfcSpatialStructureElement);
  1.4105 +	DECL_CONV_STUB(IfcBuilding);
  1.4106 +	DECL_CONV_STUB(IfcConnectedFaceSet);
  1.4107 +	DECL_CONV_STUB(IfcOpenShell);
  1.4108 +	DECL_CONV_STUB(IfcFacetedBrep);
  1.4109 +	DECL_CONV_STUB(IfcConic);
  1.4110 +	DECL_CONV_STUB(IfcCoveringType);
  1.4111 +	DECL_CONV_STUB(IfcRoundedRectangleProfileDef);
  1.4112 +	DECL_CONV_STUB(IfcAirTerminalType);
  1.4113 +	DECL_CONV_STUB(IfcFlowMovingDeviceType);
  1.4114 +	DECL_CONV_STUB(IfcCompressorType);
  1.4115 +	DECL_CONV_STUB(IfcIShapeProfileDef);
  1.4116 +	DECL_CONV_STUB(IfcAsymmetricIShapeProfileDef);
  1.4117 +	DECL_CONV_STUB(IfcControllerType);
  1.4118 +	DECL_CONV_STUB(IfcRailing);
  1.4119 +	DECL_CONV_STUB(IfcGroup);
  1.4120 +	DECL_CONV_STUB(IfcAsset);
  1.4121 +	DECL_CONV_STUB(IfcMaterialDefinitionRepresentation);
  1.4122 +	DECL_CONV_STUB(IfcRailingType);
  1.4123 +	DECL_CONV_STUB(IfcWall);
  1.4124 +	DECL_CONV_STUB(IfcStructuralPointConnection);
  1.4125 +	DECL_CONV_STUB(IfcPropertyListValue);
  1.4126 +	DECL_CONV_STUB(IfcFurnitureStandard);
  1.4127 +	DECL_CONV_STUB(IfcElectricGeneratorType);
  1.4128 +	DECL_CONV_STUB(IfcDoor);
  1.4129 +	DECL_CONV_STUB(IfcStyledItem);
  1.4130 +	DECL_CONV_STUB(IfcAnnotationOccurrence);
  1.4131 +	DECL_CONV_STUB(IfcAnnotationSymbolOccurrence);
  1.4132 +	DECL_CONV_STUB(IfcArbitraryClosedProfileDef);
  1.4133 +	DECL_CONV_STUB(IfcArbitraryProfileDefWithVoids);
  1.4134 +	DECL_CONV_STUB(IfcLine);
  1.4135 +	DECL_CONV_STUB(IfcFlowSegmentType);
  1.4136 +	DECL_CONV_STUB(IfcAirTerminalBoxType);
  1.4137 +	DECL_CONV_STUB(IfcPropertySingleValue);
  1.4138 +	DECL_CONV_STUB(IfcAlarmType);
  1.4139 +	DECL_CONV_STUB(IfcEllipseProfileDef);
  1.4140 +	DECL_CONV_STUB(IfcStair);
  1.4141 +	DECL_CONV_STUB(IfcSurfaceStyleShading);
  1.4142 +	DECL_CONV_STUB(IfcPumpType);
  1.4143 +	DECL_CONV_STUB(IfcDefinedSymbol);
  1.4144 +	DECL_CONV_STUB(IfcElementComponentType);
  1.4145 +	DECL_CONV_STUB(IfcFastenerType);
  1.4146 +	DECL_CONV_STUB(IfcMechanicalFastenerType);
  1.4147 +	DECL_CONV_STUB(IfcFlowFitting);
  1.4148 +	DECL_CONV_STUB(IfcLightSourceDirectional);
  1.4149 +	DECL_CONV_STUB(IfcSurfaceStyle);
  1.4150 +	DECL_CONV_STUB(IfcAnnotationSurface);
  1.4151 +	DECL_CONV_STUB(IfcFlowController);
  1.4152 +	DECL_CONV_STUB(IfcBuildingStorey);
  1.4153 +	DECL_CONV_STUB(IfcWorkControl);
  1.4154 +	DECL_CONV_STUB(IfcWorkSchedule);
  1.4155 +	DECL_CONV_STUB(IfcDuctSegmentType);
  1.4156 +	DECL_CONV_STUB(IfcFace);
  1.4157 +	DECL_CONV_STUB(IfcStructuralSurfaceMember);
  1.4158 +	DECL_CONV_STUB(IfcStructuralSurfaceMemberVarying);
  1.4159 +	DECL_CONV_STUB(IfcFaceSurface);
  1.4160 +	DECL_CONV_STUB(IfcCostSchedule);
  1.4161 +	DECL_CONV_STUB(IfcPlanarExtent);
  1.4162 +	DECL_CONV_STUB(IfcPlanarBox);
  1.4163 +	DECL_CONV_STUB(IfcColourSpecification);
  1.4164 +	DECL_CONV_STUB(IfcVector);
  1.4165 +	DECL_CONV_STUB(IfcBeam);
  1.4166 +	DECL_CONV_STUB(IfcColourRgb);
  1.4167 +	DECL_CONV_STUB(IfcStructuralPlanarAction);
  1.4168 +	DECL_CONV_STUB(IfcStructuralPlanarActionVarying);
  1.4169 +	DECL_CONV_STUB(IfcSite);
  1.4170 +	DECL_CONV_STUB(IfcDiscreteAccessoryType);
  1.4171 +	DECL_CONV_STUB(IfcVibrationIsolatorType);
  1.4172 +	DECL_CONV_STUB(IfcEvaporativeCoolerType);
  1.4173 +	DECL_CONV_STUB(IfcDistributionChamberElementType);
  1.4174 +	DECL_CONV_STUB(IfcFeatureElementAddition);
  1.4175 +	DECL_CONV_STUB(IfcStructuredDimensionCallout);
  1.4176 +	DECL_CONV_STUB(IfcCoolingTowerType);
  1.4177 +	DECL_CONV_STUB(IfcCenterLineProfileDef);
  1.4178 +	DECL_CONV_STUB(IfcWindowStyle);
  1.4179 +	DECL_CONV_STUB(IfcLightSourceGoniometric);
  1.4180 +	DECL_CONV_STUB(IfcTransformerType);
  1.4181 +	DECL_CONV_STUB(IfcMemberType);
  1.4182 +	DECL_CONV_STUB(IfcSurfaceOfLinearExtrusion);
  1.4183 +	DECL_CONV_STUB(IfcMotorConnectionType);
  1.4184 +	DECL_CONV_STUB(IfcFlowTreatmentDeviceType);
  1.4185 +	DECL_CONV_STUB(IfcDuctSilencerType);
  1.4186 +	DECL_CONV_STUB(IfcFurnishingElementType);
  1.4187 +	DECL_CONV_STUB(IfcSystemFurnitureElementType);
  1.4188 +	DECL_CONV_STUB(IfcWasteTerminalType);
  1.4189 +	DECL_CONV_STUB(IfcBSplineCurve);
  1.4190 +	DECL_CONV_STUB(IfcBezierCurve);
  1.4191 +	DECL_CONV_STUB(IfcActuatorType);
  1.4192 +	DECL_CONV_STUB(IfcDistributionControlElement);
  1.4193 +	DECL_CONV_STUB(IfcAnnotation);
  1.4194 +	DECL_CONV_STUB(IfcShellBasedSurfaceModel);
  1.4195 +	DECL_CONV_STUB(IfcActionRequest);
  1.4196 +	DECL_CONV_STUB(IfcExtrudedAreaSolid);
  1.4197 +	DECL_CONV_STUB(IfcSystem);
  1.4198 +	DECL_CONV_STUB(IfcFillAreaStyleHatching);
  1.4199 +	DECL_CONV_STUB(IfcRelVoidsElement);
  1.4200 +	DECL_CONV_STUB(IfcSurfaceCurveSweptAreaSolid);
  1.4201 +	DECL_CONV_STUB(IfcCartesianTransformationOperator3DnonUniform);
  1.4202 +	DECL_CONV_STUB(IfcCurtainWallType);
  1.4203 +	DECL_CONV_STUB(IfcEquipmentStandard);
  1.4204 +	DECL_CONV_STUB(IfcFlowStorageDeviceType);
  1.4205 +	DECL_CONV_STUB(IfcDiameterDimension);
  1.4206 +	DECL_CONV_STUB(IfcSwitchingDeviceType);
  1.4207 +	DECL_CONV_STUB(IfcWindow);
  1.4208 +	DECL_CONV_STUB(IfcFlowTreatmentDevice);
  1.4209 +	DECL_CONV_STUB(IfcChillerType);
  1.4210 +	DECL_CONV_STUB(IfcRectangleHollowProfileDef);
  1.4211 +	DECL_CONV_STUB(IfcBoxedHalfSpace);
  1.4212 +	DECL_CONV_STUB(IfcAxis2Placement2D);
  1.4213 +	DECL_CONV_STUB(IfcSpaceProgram);
  1.4214 +	DECL_CONV_STUB(IfcPoint);
  1.4215 +	DECL_CONV_STUB(IfcCartesianPoint);
  1.4216 +	DECL_CONV_STUB(IfcBoundedSurface);
  1.4217 +	DECL_CONV_STUB(IfcLoop);
  1.4218 +	DECL_CONV_STUB(IfcPolyLoop);
  1.4219 +	DECL_CONV_STUB(IfcTerminatorSymbol);
  1.4220 +	DECL_CONV_STUB(IfcDimensionCurveTerminator);
  1.4221 +	DECL_CONV_STUB(IfcTrapeziumProfileDef);
  1.4222 +	DECL_CONV_STUB(IfcRepresentationContext);
  1.4223 +	DECL_CONV_STUB(IfcGeometricRepresentationContext);
  1.4224 +	DECL_CONV_STUB(IfcCurveBoundedPlane);
  1.4225 +	DECL_CONV_STUB(IfcSIUnit);
  1.4226 +	DECL_CONV_STUB(IfcStructuralReaction);
  1.4227 +	DECL_CONV_STUB(IfcStructuralPointReaction);
  1.4228 +	DECL_CONV_STUB(IfcAxis1Placement);
  1.4229 +	DECL_CONV_STUB(IfcElectricApplianceType);
  1.4230 +	DECL_CONV_STUB(IfcSensorType);
  1.4231 +	DECL_CONV_STUB(IfcFurnishingElement);
  1.4232 +	DECL_CONV_STUB(IfcProtectiveDeviceType);
  1.4233 +	DECL_CONV_STUB(IfcZShapeProfileDef);
  1.4234 +	DECL_CONV_STUB(IfcScheduleTimeControl);
  1.4235 +	DECL_CONV_STUB(IfcRepresentationMap);
  1.4236 +	DECL_CONV_STUB(IfcClosedShell);
  1.4237 +	DECL_CONV_STUB(IfcBuildingElementPart);
  1.4238 +	DECL_CONV_STUB(IfcBlock);
  1.4239 +	DECL_CONV_STUB(IfcLightFixtureType);
  1.4240 +	DECL_CONV_STUB(IfcOpeningElement);
  1.4241 +	DECL_CONV_STUB(IfcLightSourceSpot);
  1.4242 +	DECL_CONV_STUB(IfcTendonAnchor);
  1.4243 +	DECL_CONV_STUB(IfcElectricFlowStorageDeviceType);
  1.4244 +	DECL_CONV_STUB(IfcSphere);
  1.4245 +	DECL_CONV_STUB(IfcDamperType);
  1.4246 +	DECL_CONV_STUB(IfcProjectOrderRecord);
  1.4247 +	DECL_CONV_STUB(IfcDistributionChamberElement);
  1.4248 +	DECL_CONV_STUB(IfcMechanicalFastener);
  1.4249 +	DECL_CONV_STUB(IfcRectangularTrimmedSurface);
  1.4250 +	DECL_CONV_STUB(IfcZone);
  1.4251 +	DECL_CONV_STUB(IfcFanType);
  1.4252 +	DECL_CONV_STUB(IfcGeometricSet);
  1.4253 +	DECL_CONV_STUB(IfcFillAreaStyleTiles);
  1.4254 +	DECL_CONV_STUB(IfcCableSegmentType);
  1.4255 +	DECL_CONV_STUB(IfcRelOverridesProperties);
  1.4256 +	DECL_CONV_STUB(IfcMeasureWithUnit);
  1.4257 +	DECL_CONV_STUB(IfcSlabType);
  1.4258 +	DECL_CONV_STUB(IfcServiceLife);
  1.4259 +	DECL_CONV_STUB(IfcFurnitureType);
  1.4260 +	DECL_CONV_STUB(IfcCostItem);
  1.4261 +	DECL_CONV_STUB(IfcReinforcingMesh);
  1.4262 +	DECL_CONV_STUB(IfcFacetedBrepWithVoids);
  1.4263 +	DECL_CONV_STUB(IfcGasTerminalType);
  1.4264 +	DECL_CONV_STUB(IfcPile);
  1.4265 +	DECL_CONV_STUB(IfcFillAreaStyleTileSymbolWithStyle);
  1.4266 +	DECL_CONV_STUB(IfcConstructionMaterialResource);
  1.4267 +	DECL_CONV_STUB(IfcAnnotationCurveOccurrence);
  1.4268 +	DECL_CONV_STUB(IfcDimensionCurve);
  1.4269 +	DECL_CONV_STUB(IfcGeometricCurveSet);
  1.4270 +	DECL_CONV_STUB(IfcRelAggregates);
  1.4271 +	DECL_CONV_STUB(IfcFaceBasedSurfaceModel);
  1.4272 +	DECL_CONV_STUB(IfcEnergyConversionDevice);
  1.4273 +	DECL_CONV_STUB(IfcRampFlight);
  1.4274 +	DECL_CONV_STUB(IfcVertexLoop);
  1.4275 +	DECL_CONV_STUB(IfcPlate);
  1.4276 +	DECL_CONV_STUB(IfcUShapeProfileDef);
  1.4277 +	DECL_CONV_STUB(IfcFaceBound);
  1.4278 +	DECL_CONV_STUB(IfcFaceOuterBound);
  1.4279 +	DECL_CONV_STUB(IfcOneDirectionRepeatFactor);
  1.4280 +	DECL_CONV_STUB(IfcBoilerType);
  1.4281 +	DECL_CONV_STUB(IfcConstructionEquipmentResource);
  1.4282 +	DECL_CONV_STUB(IfcComplexProperty);
  1.4283 +	DECL_CONV_STUB(IfcFooting);
  1.4284 +	DECL_CONV_STUB(IfcConstructionProductResource);
  1.4285 +	DECL_CONV_STUB(IfcDerivedProfileDef);
  1.4286 +	DECL_CONV_STUB(IfcPropertyTableValue);
  1.4287 +	DECL_CONV_STUB(IfcFlowMeterType);
  1.4288 +	DECL_CONV_STUB(IfcDoorStyle);
  1.4289 +	DECL_CONV_STUB(IfcUnitAssignment);
  1.4290 +	DECL_CONV_STUB(IfcFlowTerminal);
  1.4291 +	DECL_CONV_STUB(IfcCraneRailFShapeProfileDef);
  1.4292 +	DECL_CONV_STUB(IfcFlowSegment);
  1.4293 +	DECL_CONV_STUB(IfcElementQuantity);
  1.4294 +	DECL_CONV_STUB(IfcCurtainWall);
  1.4295 +	DECL_CONV_STUB(IfcDiscreteAccessory);
  1.4296 +	DECL_CONV_STUB(IfcGrid);
  1.4297 +	DECL_CONV_STUB(IfcSanitaryTerminalType);
  1.4298 +	DECL_CONV_STUB(IfcSubedge);
  1.4299 +	DECL_CONV_STUB(IfcFilterType);
  1.4300 +	DECL_CONV_STUB(IfcTendon);
  1.4301 +	DECL_CONV_STUB(IfcStructuralLoadGroup);
  1.4302 +	DECL_CONV_STUB(IfcPresentationStyleAssignment);
  1.4303 +	DECL_CONV_STUB(IfcStructuralCurveMember);
  1.4304 +	DECL_CONV_STUB(IfcLightSourceAmbient);
  1.4305 +	DECL_CONV_STUB(IfcCondition);
  1.4306 +	DECL_CONV_STUB(IfcPort);
  1.4307 +	DECL_CONV_STUB(IfcSpace);
  1.4308 +	DECL_CONV_STUB(IfcHeatExchangerType);
  1.4309 +	DECL_CONV_STUB(IfcTankType);
  1.4310 +	DECL_CONV_STUB(IfcInventory);
  1.4311 +	DECL_CONV_STUB(IfcTransportElementType);
  1.4312 +	DECL_CONV_STUB(IfcAirToAirHeatRecoveryType);
  1.4313 +	DECL_CONV_STUB(IfcStairFlight);
  1.4314 +	DECL_CONV_STUB(IfcElectricalElement);
  1.4315 +	DECL_CONV_STUB(IfcSurfaceStyleWithTextures);
  1.4316 +	DECL_CONV_STUB(IfcBoundingBox);
  1.4317 +	DECL_CONV_STUB(IfcWallType);
  1.4318 +	DECL_CONV_STUB(IfcMove);
  1.4319 +	DECL_CONV_STUB(IfcCircle);
  1.4320 +	DECL_CONV_STUB(IfcOffsetCurve2D);
  1.4321 +	DECL_CONV_STUB(IfcPointOnCurve);
  1.4322 +	DECL_CONV_STUB(IfcStructuralResultGroup);
  1.4323 +	DECL_CONV_STUB(IfcSectionedSpine);
  1.4324 +	DECL_CONV_STUB(IfcSlab);
  1.4325 +	DECL_CONV_STUB(IfcVertex);
  1.4326 +	DECL_CONV_STUB(IfcVertexPoint);
  1.4327 +	DECL_CONV_STUB(IfcStructuralLinearAction);
  1.4328 +	DECL_CONV_STUB(IfcStructuralLinearActionVarying);
  1.4329 +	DECL_CONV_STUB(IfcBuildingElementProxyType);
  1.4330 +	DECL_CONV_STUB(IfcProjectionElement);
  1.4331 +	DECL_CONV_STUB(IfcConversionBasedUnit);
  1.4332 +	DECL_CONV_STUB(IfcGeometricRepresentationSubContext);
  1.4333 +	DECL_CONV_STUB(IfcAnnotationSurfaceOccurrence);
  1.4334 +	DECL_CONV_STUB(IfcRoundedEdgeFeature);
  1.4335 +	DECL_CONV_STUB(IfcElectricDistributionPoint);
  1.4336 +	DECL_CONV_STUB(IfcCableCarrierSegmentType);
  1.4337 +	DECL_CONV_STUB(IfcWallStandardCase);
  1.4338 +	DECL_CONV_STUB(IfcCsgSolid);
  1.4339 +	DECL_CONV_STUB(IfcBeamType);
  1.4340 +	DECL_CONV_STUB(IfcAnnotationFillArea);
  1.4341 +	DECL_CONV_STUB(IfcStructuralCurveMemberVarying);
  1.4342 +	DECL_CONV_STUB(IfcPointOnSurface);
  1.4343 +	DECL_CONV_STUB(IfcOrderAction);
  1.4344 +	DECL_CONV_STUB(IfcEdgeLoop);
  1.4345 +	DECL_CONV_STUB(IfcAnnotationFillAreaOccurrence);
  1.4346 +	DECL_CONV_STUB(IfcWorkPlan);
  1.4347 +	DECL_CONV_STUB(IfcEllipse);
  1.4348 +	DECL_CONV_STUB(IfcProductDefinitionShape);
  1.4349 +	DECL_CONV_STUB(IfcProjectionCurve);
  1.4350 +	DECL_CONV_STUB(IfcElectricalCircuit);
  1.4351 +	DECL_CONV_STUB(IfcRationalBezierCurve);
  1.4352 +	DECL_CONV_STUB(IfcStructuralPointAction);
  1.4353 +	DECL_CONV_STUB(IfcPipeSegmentType);
  1.4354 +	DECL_CONV_STUB(IfcTwoDirectionRepeatFactor);
  1.4355 +	DECL_CONV_STUB(IfcShapeRepresentation);
  1.4356 +	DECL_CONV_STUB(IfcPropertySet);
  1.4357 +	DECL_CONV_STUB(IfcSurfaceStyleRendering);
  1.4358 +	DECL_CONV_STUB(IfcDistributionPort);
  1.4359 +	DECL_CONV_STUB(IfcPipeFittingType);
  1.4360 +	DECL_CONV_STUB(IfcTransportElement);
  1.4361 +	DECL_CONV_STUB(IfcAnnotationTextOccurrence);
  1.4362 +	DECL_CONV_STUB(IfcStructuralAnalysisModel);
  1.4363 +	DECL_CONV_STUB(IfcConditionCriterion);
  1.4364 +
  1.4365 +
  1.4366 +#undef DECL_CONV_STUB
  1.4367 +
  1.4368 +} //! STEP
  1.4369 +} //! Assimp
  1.4370 +
  1.4371 +#endif // INCLUDED_IFC_READER_GEN_H