/********************************************************************************
* *
* This file is part of IfcOpenShell. *
* *
* IfcOpenShell is free software: you can redistribute it and/or modify *
* it under the terms of the Lesser GNU General Public License as published by *
* the Free Software Foundation, either version 3.0 of the License, or *
* (at your option) any later version. *
* *
* IfcOpenShell is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* Lesser GNU General Public License for more details. *
* *
* You should have received a copy of the Lesser GNU General Public License *
* along with this program. If not, see . *
* *
********************************************************************************/
/********************************************************************************
* *
* This file has been generated from IFC4.exp. Do not make modifications *
* but instead modify the python script that has been used to generate this. *
* *
********************************************************************************/
#include "../ifcparse/IfcSchema.h"
#include "../ifcparse/Ifc4.h"
using namespace IfcParse;
entity* IFC4_IfcActionRequest_type = 0;
entity* IFC4_IfcActor_type = 0;
entity* IFC4_IfcActorRole_type = 0;
entity* IFC4_IfcActuator_type = 0;
entity* IFC4_IfcActuatorType_type = 0;
entity* IFC4_IfcAddress_type = 0;
entity* IFC4_IfcAdvancedBrep_type = 0;
entity* IFC4_IfcAdvancedBrepWithVoids_type = 0;
entity* IFC4_IfcAdvancedFace_type = 0;
entity* IFC4_IfcAirTerminal_type = 0;
entity* IFC4_IfcAirTerminalBox_type = 0;
entity* IFC4_IfcAirTerminalBoxType_type = 0;
entity* IFC4_IfcAirTerminalType_type = 0;
entity* IFC4_IfcAirToAirHeatRecovery_type = 0;
entity* IFC4_IfcAirToAirHeatRecoveryType_type = 0;
entity* IFC4_IfcAlarm_type = 0;
entity* IFC4_IfcAlarmType_type = 0;
entity* IFC4_IfcAnnotation_type = 0;
entity* IFC4_IfcAnnotationFillArea_type = 0;
entity* IFC4_IfcApplication_type = 0;
entity* IFC4_IfcAppliedValue_type = 0;
entity* IFC4_IfcApproval_type = 0;
entity* IFC4_IfcApprovalRelationship_type = 0;
entity* IFC4_IfcArbitraryClosedProfileDef_type = 0;
entity* IFC4_IfcArbitraryOpenProfileDef_type = 0;
entity* IFC4_IfcArbitraryProfileDefWithVoids_type = 0;
entity* IFC4_IfcAsset_type = 0;
entity* IFC4_IfcAsymmetricIShapeProfileDef_type = 0;
entity* IFC4_IfcAudioVisualAppliance_type = 0;
entity* IFC4_IfcAudioVisualApplianceType_type = 0;
entity* IFC4_IfcAxis1Placement_type = 0;
entity* IFC4_IfcAxis2Placement2D_type = 0;
entity* IFC4_IfcAxis2Placement3D_type = 0;
entity* IFC4_IfcBSplineCurve_type = 0;
entity* IFC4_IfcBSplineCurveWithKnots_type = 0;
entity* IFC4_IfcBSplineSurface_type = 0;
entity* IFC4_IfcBSplineSurfaceWithKnots_type = 0;
entity* IFC4_IfcBeam_type = 0;
entity* IFC4_IfcBeamStandardCase_type = 0;
entity* IFC4_IfcBeamType_type = 0;
entity* IFC4_IfcBlobTexture_type = 0;
entity* IFC4_IfcBlock_type = 0;
entity* IFC4_IfcBoiler_type = 0;
entity* IFC4_IfcBoilerType_type = 0;
entity* IFC4_IfcBooleanClippingResult_type = 0;
entity* IFC4_IfcBooleanResult_type = 0;
entity* IFC4_IfcBoundaryCondition_type = 0;
entity* IFC4_IfcBoundaryCurve_type = 0;
entity* IFC4_IfcBoundaryEdgeCondition_type = 0;
entity* IFC4_IfcBoundaryFaceCondition_type = 0;
entity* IFC4_IfcBoundaryNodeCondition_type = 0;
entity* IFC4_IfcBoundaryNodeConditionWarping_type = 0;
entity* IFC4_IfcBoundedCurve_type = 0;
entity* IFC4_IfcBoundedSurface_type = 0;
entity* IFC4_IfcBoundingBox_type = 0;
entity* IFC4_IfcBoxedHalfSpace_type = 0;
entity* IFC4_IfcBuilding_type = 0;
entity* IFC4_IfcBuildingElement_type = 0;
entity* IFC4_IfcBuildingElementPart_type = 0;
entity* IFC4_IfcBuildingElementPartType_type = 0;
entity* IFC4_IfcBuildingElementProxy_type = 0;
entity* IFC4_IfcBuildingElementProxyType_type = 0;
entity* IFC4_IfcBuildingElementType_type = 0;
entity* IFC4_IfcBuildingStorey_type = 0;
entity* IFC4_IfcBuildingSystem_type = 0;
entity* IFC4_IfcBurner_type = 0;
entity* IFC4_IfcBurnerType_type = 0;
entity* IFC4_IfcCShapeProfileDef_type = 0;
entity* IFC4_IfcCableCarrierFitting_type = 0;
entity* IFC4_IfcCableCarrierFittingType_type = 0;
entity* IFC4_IfcCableCarrierSegment_type = 0;
entity* IFC4_IfcCableCarrierSegmentType_type = 0;
entity* IFC4_IfcCableFitting_type = 0;
entity* IFC4_IfcCableFittingType_type = 0;
entity* IFC4_IfcCableSegment_type = 0;
entity* IFC4_IfcCableSegmentType_type = 0;
entity* IFC4_IfcCartesianPoint_type = 0;
entity* IFC4_IfcCartesianPointList_type = 0;
entity* IFC4_IfcCartesianPointList2D_type = 0;
entity* IFC4_IfcCartesianPointList3D_type = 0;
entity* IFC4_IfcCartesianTransformationOperator_type = 0;
entity* IFC4_IfcCartesianTransformationOperator2D_type = 0;
entity* IFC4_IfcCartesianTransformationOperator2DnonUniform_type = 0;
entity* IFC4_IfcCartesianTransformationOperator3D_type = 0;
entity* IFC4_IfcCartesianTransformationOperator3DnonUniform_type = 0;
entity* IFC4_IfcCenterLineProfileDef_type = 0;
entity* IFC4_IfcChiller_type = 0;
entity* IFC4_IfcChillerType_type = 0;
entity* IFC4_IfcChimney_type = 0;
entity* IFC4_IfcChimneyType_type = 0;
entity* IFC4_IfcCircle_type = 0;
entity* IFC4_IfcCircleHollowProfileDef_type = 0;
entity* IFC4_IfcCircleProfileDef_type = 0;
entity* IFC4_IfcCivilElement_type = 0;
entity* IFC4_IfcCivilElementType_type = 0;
entity* IFC4_IfcClassification_type = 0;
entity* IFC4_IfcClassificationReference_type = 0;
entity* IFC4_IfcClosedShell_type = 0;
entity* IFC4_IfcCoil_type = 0;
entity* IFC4_IfcCoilType_type = 0;
entity* IFC4_IfcColourRgb_type = 0;
entity* IFC4_IfcColourRgbList_type = 0;
entity* IFC4_IfcColourSpecification_type = 0;
entity* IFC4_IfcColumn_type = 0;
entity* IFC4_IfcColumnStandardCase_type = 0;
entity* IFC4_IfcColumnType_type = 0;
entity* IFC4_IfcCommunicationsAppliance_type = 0;
entity* IFC4_IfcCommunicationsApplianceType_type = 0;
entity* IFC4_IfcComplexProperty_type = 0;
entity* IFC4_IfcComplexPropertyTemplate_type = 0;
entity* IFC4_IfcCompositeCurve_type = 0;
entity* IFC4_IfcCompositeCurveOnSurface_type = 0;
entity* IFC4_IfcCompositeCurveSegment_type = 0;
entity* IFC4_IfcCompositeProfileDef_type = 0;
entity* IFC4_IfcCompressor_type = 0;
entity* IFC4_IfcCompressorType_type = 0;
entity* IFC4_IfcCondenser_type = 0;
entity* IFC4_IfcCondenserType_type = 0;
entity* IFC4_IfcConic_type = 0;
entity* IFC4_IfcConnectedFaceSet_type = 0;
entity* IFC4_IfcConnectionCurveGeometry_type = 0;
entity* IFC4_IfcConnectionGeometry_type = 0;
entity* IFC4_IfcConnectionPointEccentricity_type = 0;
entity* IFC4_IfcConnectionPointGeometry_type = 0;
entity* IFC4_IfcConnectionSurfaceGeometry_type = 0;
entity* IFC4_IfcConnectionVolumeGeometry_type = 0;
entity* IFC4_IfcConstraint_type = 0;
entity* IFC4_IfcConstructionEquipmentResource_type = 0;
entity* IFC4_IfcConstructionEquipmentResourceType_type = 0;
entity* IFC4_IfcConstructionMaterialResource_type = 0;
entity* IFC4_IfcConstructionMaterialResourceType_type = 0;
entity* IFC4_IfcConstructionProductResource_type = 0;
entity* IFC4_IfcConstructionProductResourceType_type = 0;
entity* IFC4_IfcConstructionResource_type = 0;
entity* IFC4_IfcConstructionResourceType_type = 0;
entity* IFC4_IfcContext_type = 0;
entity* IFC4_IfcContextDependentUnit_type = 0;
entity* IFC4_IfcControl_type = 0;
entity* IFC4_IfcController_type = 0;
entity* IFC4_IfcControllerType_type = 0;
entity* IFC4_IfcConversionBasedUnit_type = 0;
entity* IFC4_IfcConversionBasedUnitWithOffset_type = 0;
entity* IFC4_IfcCooledBeam_type = 0;
entity* IFC4_IfcCooledBeamType_type = 0;
entity* IFC4_IfcCoolingTower_type = 0;
entity* IFC4_IfcCoolingTowerType_type = 0;
entity* IFC4_IfcCoordinateOperation_type = 0;
entity* IFC4_IfcCoordinateReferenceSystem_type = 0;
entity* IFC4_IfcCostItem_type = 0;
entity* IFC4_IfcCostSchedule_type = 0;
entity* IFC4_IfcCostValue_type = 0;
entity* IFC4_IfcCovering_type = 0;
entity* IFC4_IfcCoveringType_type = 0;
entity* IFC4_IfcCrewResource_type = 0;
entity* IFC4_IfcCrewResourceType_type = 0;
entity* IFC4_IfcCsgPrimitive3D_type = 0;
entity* IFC4_IfcCsgSolid_type = 0;
entity* IFC4_IfcCurrencyRelationship_type = 0;
entity* IFC4_IfcCurtainWall_type = 0;
entity* IFC4_IfcCurtainWallType_type = 0;
entity* IFC4_IfcCurve_type = 0;
entity* IFC4_IfcCurveBoundedPlane_type = 0;
entity* IFC4_IfcCurveBoundedSurface_type = 0;
entity* IFC4_IfcCurveStyle_type = 0;
entity* IFC4_IfcCurveStyleFont_type = 0;
entity* IFC4_IfcCurveStyleFontAndScaling_type = 0;
entity* IFC4_IfcCurveStyleFontPattern_type = 0;
entity* IFC4_IfcCylindricalSurface_type = 0;
entity* IFC4_IfcDamper_type = 0;
entity* IFC4_IfcDamperType_type = 0;
entity* IFC4_IfcDerivedProfileDef_type = 0;
entity* IFC4_IfcDerivedUnit_type = 0;
entity* IFC4_IfcDerivedUnitElement_type = 0;
entity* IFC4_IfcDimensionalExponents_type = 0;
entity* IFC4_IfcDirection_type = 0;
entity* IFC4_IfcDiscreteAccessory_type = 0;
entity* IFC4_IfcDiscreteAccessoryType_type = 0;
entity* IFC4_IfcDistributionChamberElement_type = 0;
entity* IFC4_IfcDistributionChamberElementType_type = 0;
entity* IFC4_IfcDistributionCircuit_type = 0;
entity* IFC4_IfcDistributionControlElement_type = 0;
entity* IFC4_IfcDistributionControlElementType_type = 0;
entity* IFC4_IfcDistributionElement_type = 0;
entity* IFC4_IfcDistributionElementType_type = 0;
entity* IFC4_IfcDistributionFlowElement_type = 0;
entity* IFC4_IfcDistributionFlowElementType_type = 0;
entity* IFC4_IfcDistributionPort_type = 0;
entity* IFC4_IfcDistributionSystem_type = 0;
entity* IFC4_IfcDocumentInformation_type = 0;
entity* IFC4_IfcDocumentInformationRelationship_type = 0;
entity* IFC4_IfcDocumentReference_type = 0;
entity* IFC4_IfcDoor_type = 0;
entity* IFC4_IfcDoorLiningProperties_type = 0;
entity* IFC4_IfcDoorPanelProperties_type = 0;
entity* IFC4_IfcDoorStandardCase_type = 0;
entity* IFC4_IfcDoorStyle_type = 0;
entity* IFC4_IfcDoorType_type = 0;
entity* IFC4_IfcDraughtingPreDefinedColour_type = 0;
entity* IFC4_IfcDraughtingPreDefinedCurveFont_type = 0;
entity* IFC4_IfcDuctFitting_type = 0;
entity* IFC4_IfcDuctFittingType_type = 0;
entity* IFC4_IfcDuctSegment_type = 0;
entity* IFC4_IfcDuctSegmentType_type = 0;
entity* IFC4_IfcDuctSilencer_type = 0;
entity* IFC4_IfcDuctSilencerType_type = 0;
entity* IFC4_IfcEdge_type = 0;
entity* IFC4_IfcEdgeCurve_type = 0;
entity* IFC4_IfcEdgeLoop_type = 0;
entity* IFC4_IfcElectricAppliance_type = 0;
entity* IFC4_IfcElectricApplianceType_type = 0;
entity* IFC4_IfcElectricDistributionBoard_type = 0;
entity* IFC4_IfcElectricDistributionBoardType_type = 0;
entity* IFC4_IfcElectricFlowStorageDevice_type = 0;
entity* IFC4_IfcElectricFlowStorageDeviceType_type = 0;
entity* IFC4_IfcElectricGenerator_type = 0;
entity* IFC4_IfcElectricGeneratorType_type = 0;
entity* IFC4_IfcElectricMotor_type = 0;
entity* IFC4_IfcElectricMotorType_type = 0;
entity* IFC4_IfcElectricTimeControl_type = 0;
entity* IFC4_IfcElectricTimeControlType_type = 0;
entity* IFC4_IfcElement_type = 0;
entity* IFC4_IfcElementAssembly_type = 0;
entity* IFC4_IfcElementAssemblyType_type = 0;
entity* IFC4_IfcElementComponent_type = 0;
entity* IFC4_IfcElementComponentType_type = 0;
entity* IFC4_IfcElementQuantity_type = 0;
entity* IFC4_IfcElementType_type = 0;
entity* IFC4_IfcElementarySurface_type = 0;
entity* IFC4_IfcEllipse_type = 0;
entity* IFC4_IfcEllipseProfileDef_type = 0;
entity* IFC4_IfcEnergyConversionDevice_type = 0;
entity* IFC4_IfcEnergyConversionDeviceType_type = 0;
entity* IFC4_IfcEngine_type = 0;
entity* IFC4_IfcEngineType_type = 0;
entity* IFC4_IfcEvaporativeCooler_type = 0;
entity* IFC4_IfcEvaporativeCoolerType_type = 0;
entity* IFC4_IfcEvaporator_type = 0;
entity* IFC4_IfcEvaporatorType_type = 0;
entity* IFC4_IfcEvent_type = 0;
entity* IFC4_IfcEventTime_type = 0;
entity* IFC4_IfcEventType_type = 0;
entity* IFC4_IfcExtendedProperties_type = 0;
entity* IFC4_IfcExternalInformation_type = 0;
entity* IFC4_IfcExternalReference_type = 0;
entity* IFC4_IfcExternalReferenceRelationship_type = 0;
entity* IFC4_IfcExternalSpatialElement_type = 0;
entity* IFC4_IfcExternalSpatialStructureElement_type = 0;
entity* IFC4_IfcExternallyDefinedHatchStyle_type = 0;
entity* IFC4_IfcExternallyDefinedSurfaceStyle_type = 0;
entity* IFC4_IfcExternallyDefinedTextFont_type = 0;
entity* IFC4_IfcExtrudedAreaSolid_type = 0;
entity* IFC4_IfcExtrudedAreaSolidTapered_type = 0;
entity* IFC4_IfcFace_type = 0;
entity* IFC4_IfcFaceBasedSurfaceModel_type = 0;
entity* IFC4_IfcFaceBound_type = 0;
entity* IFC4_IfcFaceOuterBound_type = 0;
entity* IFC4_IfcFaceSurface_type = 0;
entity* IFC4_IfcFacetedBrep_type = 0;
entity* IFC4_IfcFacetedBrepWithVoids_type = 0;
entity* IFC4_IfcFailureConnectionCondition_type = 0;
entity* IFC4_IfcFan_type = 0;
entity* IFC4_IfcFanType_type = 0;
entity* IFC4_IfcFastener_type = 0;
entity* IFC4_IfcFastenerType_type = 0;
entity* IFC4_IfcFeatureElement_type = 0;
entity* IFC4_IfcFeatureElementAddition_type = 0;
entity* IFC4_IfcFeatureElementSubtraction_type = 0;
entity* IFC4_IfcFillAreaStyle_type = 0;
entity* IFC4_IfcFillAreaStyleHatching_type = 0;
entity* IFC4_IfcFillAreaStyleTiles_type = 0;
entity* IFC4_IfcFilter_type = 0;
entity* IFC4_IfcFilterType_type = 0;
entity* IFC4_IfcFireSuppressionTerminal_type = 0;
entity* IFC4_IfcFireSuppressionTerminalType_type = 0;
entity* IFC4_IfcFixedReferenceSweptAreaSolid_type = 0;
entity* IFC4_IfcFlowController_type = 0;
entity* IFC4_IfcFlowControllerType_type = 0;
entity* IFC4_IfcFlowFitting_type = 0;
entity* IFC4_IfcFlowFittingType_type = 0;
entity* IFC4_IfcFlowInstrument_type = 0;
entity* IFC4_IfcFlowInstrumentType_type = 0;
entity* IFC4_IfcFlowMeter_type = 0;
entity* IFC4_IfcFlowMeterType_type = 0;
entity* IFC4_IfcFlowMovingDevice_type = 0;
entity* IFC4_IfcFlowMovingDeviceType_type = 0;
entity* IFC4_IfcFlowSegment_type = 0;
entity* IFC4_IfcFlowSegmentType_type = 0;
entity* IFC4_IfcFlowStorageDevice_type = 0;
entity* IFC4_IfcFlowStorageDeviceType_type = 0;
entity* IFC4_IfcFlowTerminal_type = 0;
entity* IFC4_IfcFlowTerminalType_type = 0;
entity* IFC4_IfcFlowTreatmentDevice_type = 0;
entity* IFC4_IfcFlowTreatmentDeviceType_type = 0;
entity* IFC4_IfcFooting_type = 0;
entity* IFC4_IfcFootingType_type = 0;
entity* IFC4_IfcFurnishingElement_type = 0;
entity* IFC4_IfcFurnishingElementType_type = 0;
entity* IFC4_IfcFurniture_type = 0;
entity* IFC4_IfcFurnitureType_type = 0;
entity* IFC4_IfcGeographicElement_type = 0;
entity* IFC4_IfcGeographicElementType_type = 0;
entity* IFC4_IfcGeometricCurveSet_type = 0;
entity* IFC4_IfcGeometricRepresentationContext_type = 0;
entity* IFC4_IfcGeometricRepresentationItem_type = 0;
entity* IFC4_IfcGeometricRepresentationSubContext_type = 0;
entity* IFC4_IfcGeometricSet_type = 0;
entity* IFC4_IfcGrid_type = 0;
entity* IFC4_IfcGridAxis_type = 0;
entity* IFC4_IfcGridPlacement_type = 0;
entity* IFC4_IfcGroup_type = 0;
entity* IFC4_IfcHalfSpaceSolid_type = 0;
entity* IFC4_IfcHeatExchanger_type = 0;
entity* IFC4_IfcHeatExchangerType_type = 0;
entity* IFC4_IfcHumidifier_type = 0;
entity* IFC4_IfcHumidifierType_type = 0;
entity* IFC4_IfcIShapeProfileDef_type = 0;
entity* IFC4_IfcImageTexture_type = 0;
entity* IFC4_IfcIndexedColourMap_type = 0;
entity* IFC4_IfcIndexedPolyCurve_type = 0;
entity* IFC4_IfcIndexedPolygonalFace_type = 0;
entity* IFC4_IfcIndexedPolygonalFaceWithVoids_type = 0;
entity* IFC4_IfcIndexedTextureMap_type = 0;
entity* IFC4_IfcIndexedTriangleTextureMap_type = 0;
entity* IFC4_IfcInterceptor_type = 0;
entity* IFC4_IfcInterceptorType_type = 0;
entity* IFC4_IfcIntersectionCurve_type = 0;
entity* IFC4_IfcInventory_type = 0;
entity* IFC4_IfcIrregularTimeSeries_type = 0;
entity* IFC4_IfcIrregularTimeSeriesValue_type = 0;
entity* IFC4_IfcJunctionBox_type = 0;
entity* IFC4_IfcJunctionBoxType_type = 0;
entity* IFC4_IfcLShapeProfileDef_type = 0;
entity* IFC4_IfcLaborResource_type = 0;
entity* IFC4_IfcLaborResourceType_type = 0;
entity* IFC4_IfcLagTime_type = 0;
entity* IFC4_IfcLamp_type = 0;
entity* IFC4_IfcLampType_type = 0;
entity* IFC4_IfcLibraryInformation_type = 0;
entity* IFC4_IfcLibraryReference_type = 0;
entity* IFC4_IfcLightDistributionData_type = 0;
entity* IFC4_IfcLightFixture_type = 0;
entity* IFC4_IfcLightFixtureType_type = 0;
entity* IFC4_IfcLightIntensityDistribution_type = 0;
entity* IFC4_IfcLightSource_type = 0;
entity* IFC4_IfcLightSourceAmbient_type = 0;
entity* IFC4_IfcLightSourceDirectional_type = 0;
entity* IFC4_IfcLightSourceGoniometric_type = 0;
entity* IFC4_IfcLightSourcePositional_type = 0;
entity* IFC4_IfcLightSourceSpot_type = 0;
entity* IFC4_IfcLine_type = 0;
entity* IFC4_IfcLocalPlacement_type = 0;
entity* IFC4_IfcLoop_type = 0;
entity* IFC4_IfcManifoldSolidBrep_type = 0;
entity* IFC4_IfcMapConversion_type = 0;
entity* IFC4_IfcMappedItem_type = 0;
entity* IFC4_IfcMaterial_type = 0;
entity* IFC4_IfcMaterialClassificationRelationship_type = 0;
entity* IFC4_IfcMaterialConstituent_type = 0;
entity* IFC4_IfcMaterialConstituentSet_type = 0;
entity* IFC4_IfcMaterialDefinition_type = 0;
entity* IFC4_IfcMaterialDefinitionRepresentation_type = 0;
entity* IFC4_IfcMaterialLayer_type = 0;
entity* IFC4_IfcMaterialLayerSet_type = 0;
entity* IFC4_IfcMaterialLayerSetUsage_type = 0;
entity* IFC4_IfcMaterialLayerWithOffsets_type = 0;
entity* IFC4_IfcMaterialList_type = 0;
entity* IFC4_IfcMaterialProfile_type = 0;
entity* IFC4_IfcMaterialProfileSet_type = 0;
entity* IFC4_IfcMaterialProfileSetUsage_type = 0;
entity* IFC4_IfcMaterialProfileSetUsageTapering_type = 0;
entity* IFC4_IfcMaterialProfileWithOffsets_type = 0;
entity* IFC4_IfcMaterialProperties_type = 0;
entity* IFC4_IfcMaterialRelationship_type = 0;
entity* IFC4_IfcMaterialUsageDefinition_type = 0;
entity* IFC4_IfcMeasureWithUnit_type = 0;
entity* IFC4_IfcMechanicalFastener_type = 0;
entity* IFC4_IfcMechanicalFastenerType_type = 0;
entity* IFC4_IfcMedicalDevice_type = 0;
entity* IFC4_IfcMedicalDeviceType_type = 0;
entity* IFC4_IfcMember_type = 0;
entity* IFC4_IfcMemberStandardCase_type = 0;
entity* IFC4_IfcMemberType_type = 0;
entity* IFC4_IfcMetric_type = 0;
entity* IFC4_IfcMirroredProfileDef_type = 0;
entity* IFC4_IfcMonetaryUnit_type = 0;
entity* IFC4_IfcMotorConnection_type = 0;
entity* IFC4_IfcMotorConnectionType_type = 0;
entity* IFC4_IfcNamedUnit_type = 0;
entity* IFC4_IfcObject_type = 0;
entity* IFC4_IfcObjectDefinition_type = 0;
entity* IFC4_IfcObjectPlacement_type = 0;
entity* IFC4_IfcObjective_type = 0;
entity* IFC4_IfcOccupant_type = 0;
entity* IFC4_IfcOffsetCurve2D_type = 0;
entity* IFC4_IfcOffsetCurve3D_type = 0;
entity* IFC4_IfcOpenShell_type = 0;
entity* IFC4_IfcOpeningElement_type = 0;
entity* IFC4_IfcOpeningStandardCase_type = 0;
entity* IFC4_IfcOrganization_type = 0;
entity* IFC4_IfcOrganizationRelationship_type = 0;
entity* IFC4_IfcOrientedEdge_type = 0;
entity* IFC4_IfcOuterBoundaryCurve_type = 0;
entity* IFC4_IfcOutlet_type = 0;
entity* IFC4_IfcOutletType_type = 0;
entity* IFC4_IfcOwnerHistory_type = 0;
entity* IFC4_IfcParameterizedProfileDef_type = 0;
entity* IFC4_IfcPath_type = 0;
entity* IFC4_IfcPcurve_type = 0;
entity* IFC4_IfcPerformanceHistory_type = 0;
entity* IFC4_IfcPermeableCoveringProperties_type = 0;
entity* IFC4_IfcPermit_type = 0;
entity* IFC4_IfcPerson_type = 0;
entity* IFC4_IfcPersonAndOrganization_type = 0;
entity* IFC4_IfcPhysicalComplexQuantity_type = 0;
entity* IFC4_IfcPhysicalQuantity_type = 0;
entity* IFC4_IfcPhysicalSimpleQuantity_type = 0;
entity* IFC4_IfcPile_type = 0;
entity* IFC4_IfcPileType_type = 0;
entity* IFC4_IfcPipeFitting_type = 0;
entity* IFC4_IfcPipeFittingType_type = 0;
entity* IFC4_IfcPipeSegment_type = 0;
entity* IFC4_IfcPipeSegmentType_type = 0;
entity* IFC4_IfcPixelTexture_type = 0;
entity* IFC4_IfcPlacement_type = 0;
entity* IFC4_IfcPlanarBox_type = 0;
entity* IFC4_IfcPlanarExtent_type = 0;
entity* IFC4_IfcPlane_type = 0;
entity* IFC4_IfcPlate_type = 0;
entity* IFC4_IfcPlateStandardCase_type = 0;
entity* IFC4_IfcPlateType_type = 0;
entity* IFC4_IfcPoint_type = 0;
entity* IFC4_IfcPointOnCurve_type = 0;
entity* IFC4_IfcPointOnSurface_type = 0;
entity* IFC4_IfcPolyLoop_type = 0;
entity* IFC4_IfcPolygonalBoundedHalfSpace_type = 0;
entity* IFC4_IfcPolygonalFaceSet_type = 0;
entity* IFC4_IfcPolyline_type = 0;
entity* IFC4_IfcPort_type = 0;
entity* IFC4_IfcPostalAddress_type = 0;
entity* IFC4_IfcPreDefinedColour_type = 0;
entity* IFC4_IfcPreDefinedCurveFont_type = 0;
entity* IFC4_IfcPreDefinedItem_type = 0;
entity* IFC4_IfcPreDefinedProperties_type = 0;
entity* IFC4_IfcPreDefinedPropertySet_type = 0;
entity* IFC4_IfcPreDefinedTextFont_type = 0;
entity* IFC4_IfcPresentationItem_type = 0;
entity* IFC4_IfcPresentationLayerAssignment_type = 0;
entity* IFC4_IfcPresentationLayerWithStyle_type = 0;
entity* IFC4_IfcPresentationStyle_type = 0;
entity* IFC4_IfcPresentationStyleAssignment_type = 0;
entity* IFC4_IfcProcedure_type = 0;
entity* IFC4_IfcProcedureType_type = 0;
entity* IFC4_IfcProcess_type = 0;
entity* IFC4_IfcProduct_type = 0;
entity* IFC4_IfcProductDefinitionShape_type = 0;
entity* IFC4_IfcProductRepresentation_type = 0;
entity* IFC4_IfcProfileDef_type = 0;
entity* IFC4_IfcProfileProperties_type = 0;
entity* IFC4_IfcProject_type = 0;
entity* IFC4_IfcProjectLibrary_type = 0;
entity* IFC4_IfcProjectOrder_type = 0;
entity* IFC4_IfcProjectedCRS_type = 0;
entity* IFC4_IfcProjectionElement_type = 0;
entity* IFC4_IfcProperty_type = 0;
entity* IFC4_IfcPropertyAbstraction_type = 0;
entity* IFC4_IfcPropertyBoundedValue_type = 0;
entity* IFC4_IfcPropertyDefinition_type = 0;
entity* IFC4_IfcPropertyDependencyRelationship_type = 0;
entity* IFC4_IfcPropertyEnumeratedValue_type = 0;
entity* IFC4_IfcPropertyEnumeration_type = 0;
entity* IFC4_IfcPropertyListValue_type = 0;
entity* IFC4_IfcPropertyReferenceValue_type = 0;
entity* IFC4_IfcPropertySet_type = 0;
entity* IFC4_IfcPropertySetDefinition_type = 0;
entity* IFC4_IfcPropertySetTemplate_type = 0;
entity* IFC4_IfcPropertySingleValue_type = 0;
entity* IFC4_IfcPropertyTableValue_type = 0;
entity* IFC4_IfcPropertyTemplate_type = 0;
entity* IFC4_IfcPropertyTemplateDefinition_type = 0;
entity* IFC4_IfcProtectiveDevice_type = 0;
entity* IFC4_IfcProtectiveDeviceTrippingUnit_type = 0;
entity* IFC4_IfcProtectiveDeviceTrippingUnitType_type = 0;
entity* IFC4_IfcProtectiveDeviceType_type = 0;
entity* IFC4_IfcProxy_type = 0;
entity* IFC4_IfcPump_type = 0;
entity* IFC4_IfcPumpType_type = 0;
entity* IFC4_IfcQuantityArea_type = 0;
entity* IFC4_IfcQuantityCount_type = 0;
entity* IFC4_IfcQuantityLength_type = 0;
entity* IFC4_IfcQuantitySet_type = 0;
entity* IFC4_IfcQuantityTime_type = 0;
entity* IFC4_IfcQuantityVolume_type = 0;
entity* IFC4_IfcQuantityWeight_type = 0;
entity* IFC4_IfcRailing_type = 0;
entity* IFC4_IfcRailingType_type = 0;
entity* IFC4_IfcRamp_type = 0;
entity* IFC4_IfcRampFlight_type = 0;
entity* IFC4_IfcRampFlightType_type = 0;
entity* IFC4_IfcRampType_type = 0;
entity* IFC4_IfcRationalBSplineCurveWithKnots_type = 0;
entity* IFC4_IfcRationalBSplineSurfaceWithKnots_type = 0;
entity* IFC4_IfcRectangleHollowProfileDef_type = 0;
entity* IFC4_IfcRectangleProfileDef_type = 0;
entity* IFC4_IfcRectangularPyramid_type = 0;
entity* IFC4_IfcRectangularTrimmedSurface_type = 0;
entity* IFC4_IfcRecurrencePattern_type = 0;
entity* IFC4_IfcReference_type = 0;
entity* IFC4_IfcRegularTimeSeries_type = 0;
entity* IFC4_IfcReinforcementBarProperties_type = 0;
entity* IFC4_IfcReinforcementDefinitionProperties_type = 0;
entity* IFC4_IfcReinforcingBar_type = 0;
entity* IFC4_IfcReinforcingBarType_type = 0;
entity* IFC4_IfcReinforcingElement_type = 0;
entity* IFC4_IfcReinforcingElementType_type = 0;
entity* IFC4_IfcReinforcingMesh_type = 0;
entity* IFC4_IfcReinforcingMeshType_type = 0;
entity* IFC4_IfcRelAggregates_type = 0;
entity* IFC4_IfcRelAssigns_type = 0;
entity* IFC4_IfcRelAssignsToActor_type = 0;
entity* IFC4_IfcRelAssignsToControl_type = 0;
entity* IFC4_IfcRelAssignsToGroup_type = 0;
entity* IFC4_IfcRelAssignsToGroupByFactor_type = 0;
entity* IFC4_IfcRelAssignsToProcess_type = 0;
entity* IFC4_IfcRelAssignsToProduct_type = 0;
entity* IFC4_IfcRelAssignsToResource_type = 0;
entity* IFC4_IfcRelAssociates_type = 0;
entity* IFC4_IfcRelAssociatesApproval_type = 0;
entity* IFC4_IfcRelAssociatesClassification_type = 0;
entity* IFC4_IfcRelAssociatesConstraint_type = 0;
entity* IFC4_IfcRelAssociatesDocument_type = 0;
entity* IFC4_IfcRelAssociatesLibrary_type = 0;
entity* IFC4_IfcRelAssociatesMaterial_type = 0;
entity* IFC4_IfcRelConnects_type = 0;
entity* IFC4_IfcRelConnectsElements_type = 0;
entity* IFC4_IfcRelConnectsPathElements_type = 0;
entity* IFC4_IfcRelConnectsPortToElement_type = 0;
entity* IFC4_IfcRelConnectsPorts_type = 0;
entity* IFC4_IfcRelConnectsStructuralActivity_type = 0;
entity* IFC4_IfcRelConnectsStructuralMember_type = 0;
entity* IFC4_IfcRelConnectsWithEccentricity_type = 0;
entity* IFC4_IfcRelConnectsWithRealizingElements_type = 0;
entity* IFC4_IfcRelContainedInSpatialStructure_type = 0;
entity* IFC4_IfcRelCoversBldgElements_type = 0;
entity* IFC4_IfcRelCoversSpaces_type = 0;
entity* IFC4_IfcRelDeclares_type = 0;
entity* IFC4_IfcRelDecomposes_type = 0;
entity* IFC4_IfcRelDefines_type = 0;
entity* IFC4_IfcRelDefinesByObject_type = 0;
entity* IFC4_IfcRelDefinesByProperties_type = 0;
entity* IFC4_IfcRelDefinesByTemplate_type = 0;
entity* IFC4_IfcRelDefinesByType_type = 0;
entity* IFC4_IfcRelFillsElement_type = 0;
entity* IFC4_IfcRelFlowControlElements_type = 0;
entity* IFC4_IfcRelInterferesElements_type = 0;
entity* IFC4_IfcRelNests_type = 0;
entity* IFC4_IfcRelProjectsElement_type = 0;
entity* IFC4_IfcRelReferencedInSpatialStructure_type = 0;
entity* IFC4_IfcRelSequence_type = 0;
entity* IFC4_IfcRelServicesBuildings_type = 0;
entity* IFC4_IfcRelSpaceBoundary_type = 0;
entity* IFC4_IfcRelSpaceBoundary1stLevel_type = 0;
entity* IFC4_IfcRelSpaceBoundary2ndLevel_type = 0;
entity* IFC4_IfcRelVoidsElement_type = 0;
entity* IFC4_IfcRelationship_type = 0;
entity* IFC4_IfcReparametrisedCompositeCurveSegment_type = 0;
entity* IFC4_IfcRepresentation_type = 0;
entity* IFC4_IfcRepresentationContext_type = 0;
entity* IFC4_IfcRepresentationItem_type = 0;
entity* IFC4_IfcRepresentationMap_type = 0;
entity* IFC4_IfcResource_type = 0;
entity* IFC4_IfcResourceApprovalRelationship_type = 0;
entity* IFC4_IfcResourceConstraintRelationship_type = 0;
entity* IFC4_IfcResourceLevelRelationship_type = 0;
entity* IFC4_IfcResourceTime_type = 0;
entity* IFC4_IfcRevolvedAreaSolid_type = 0;
entity* IFC4_IfcRevolvedAreaSolidTapered_type = 0;
entity* IFC4_IfcRightCircularCone_type = 0;
entity* IFC4_IfcRightCircularCylinder_type = 0;
entity* IFC4_IfcRoof_type = 0;
entity* IFC4_IfcRoofType_type = 0;
entity* IFC4_IfcRoot_type = 0;
entity* IFC4_IfcRoundedRectangleProfileDef_type = 0;
entity* IFC4_IfcSIUnit_type = 0;
entity* IFC4_IfcSanitaryTerminal_type = 0;
entity* IFC4_IfcSanitaryTerminalType_type = 0;
entity* IFC4_IfcSchedulingTime_type = 0;
entity* IFC4_IfcSeamCurve_type = 0;
entity* IFC4_IfcSectionProperties_type = 0;
entity* IFC4_IfcSectionReinforcementProperties_type = 0;
entity* IFC4_IfcSectionedSpine_type = 0;
entity* IFC4_IfcSensor_type = 0;
entity* IFC4_IfcSensorType_type = 0;
entity* IFC4_IfcShadingDevice_type = 0;
entity* IFC4_IfcShadingDeviceType_type = 0;
entity* IFC4_IfcShapeAspect_type = 0;
entity* IFC4_IfcShapeModel_type = 0;
entity* IFC4_IfcShapeRepresentation_type = 0;
entity* IFC4_IfcShellBasedSurfaceModel_type = 0;
entity* IFC4_IfcSimpleProperty_type = 0;
entity* IFC4_IfcSimplePropertyTemplate_type = 0;
entity* IFC4_IfcSite_type = 0;
entity* IFC4_IfcSlab_type = 0;
entity* IFC4_IfcSlabElementedCase_type = 0;
entity* IFC4_IfcSlabStandardCase_type = 0;
entity* IFC4_IfcSlabType_type = 0;
entity* IFC4_IfcSlippageConnectionCondition_type = 0;
entity* IFC4_IfcSolarDevice_type = 0;
entity* IFC4_IfcSolarDeviceType_type = 0;
entity* IFC4_IfcSolidModel_type = 0;
entity* IFC4_IfcSpace_type = 0;
entity* IFC4_IfcSpaceHeater_type = 0;
entity* IFC4_IfcSpaceHeaterType_type = 0;
entity* IFC4_IfcSpaceType_type = 0;
entity* IFC4_IfcSpatialElement_type = 0;
entity* IFC4_IfcSpatialElementType_type = 0;
entity* IFC4_IfcSpatialStructureElement_type = 0;
entity* IFC4_IfcSpatialStructureElementType_type = 0;
entity* IFC4_IfcSpatialZone_type = 0;
entity* IFC4_IfcSpatialZoneType_type = 0;
entity* IFC4_IfcSphere_type = 0;
entity* IFC4_IfcSphericalSurface_type = 0;
entity* IFC4_IfcStackTerminal_type = 0;
entity* IFC4_IfcStackTerminalType_type = 0;
entity* IFC4_IfcStair_type = 0;
entity* IFC4_IfcStairFlight_type = 0;
entity* IFC4_IfcStairFlightType_type = 0;
entity* IFC4_IfcStairType_type = 0;
entity* IFC4_IfcStructuralAction_type = 0;
entity* IFC4_IfcStructuralActivity_type = 0;
entity* IFC4_IfcStructuralAnalysisModel_type = 0;
entity* IFC4_IfcStructuralConnection_type = 0;
entity* IFC4_IfcStructuralConnectionCondition_type = 0;
entity* IFC4_IfcStructuralCurveAction_type = 0;
entity* IFC4_IfcStructuralCurveConnection_type = 0;
entity* IFC4_IfcStructuralCurveMember_type = 0;
entity* IFC4_IfcStructuralCurveMemberVarying_type = 0;
entity* IFC4_IfcStructuralCurveReaction_type = 0;
entity* IFC4_IfcStructuralItem_type = 0;
entity* IFC4_IfcStructuralLinearAction_type = 0;
entity* IFC4_IfcStructuralLoad_type = 0;
entity* IFC4_IfcStructuralLoadCase_type = 0;
entity* IFC4_IfcStructuralLoadConfiguration_type = 0;
entity* IFC4_IfcStructuralLoadGroup_type = 0;
entity* IFC4_IfcStructuralLoadLinearForce_type = 0;
entity* IFC4_IfcStructuralLoadOrResult_type = 0;
entity* IFC4_IfcStructuralLoadPlanarForce_type = 0;
entity* IFC4_IfcStructuralLoadSingleDisplacement_type = 0;
entity* IFC4_IfcStructuralLoadSingleDisplacementDistortion_type = 0;
entity* IFC4_IfcStructuralLoadSingleForce_type = 0;
entity* IFC4_IfcStructuralLoadSingleForceWarping_type = 0;
entity* IFC4_IfcStructuralLoadStatic_type = 0;
entity* IFC4_IfcStructuralLoadTemperature_type = 0;
entity* IFC4_IfcStructuralMember_type = 0;
entity* IFC4_IfcStructuralPlanarAction_type = 0;
entity* IFC4_IfcStructuralPointAction_type = 0;
entity* IFC4_IfcStructuralPointConnection_type = 0;
entity* IFC4_IfcStructuralPointReaction_type = 0;
entity* IFC4_IfcStructuralReaction_type = 0;
entity* IFC4_IfcStructuralResultGroup_type = 0;
entity* IFC4_IfcStructuralSurfaceAction_type = 0;
entity* IFC4_IfcStructuralSurfaceConnection_type = 0;
entity* IFC4_IfcStructuralSurfaceMember_type = 0;
entity* IFC4_IfcStructuralSurfaceMemberVarying_type = 0;
entity* IFC4_IfcStructuralSurfaceReaction_type = 0;
entity* IFC4_IfcStyleModel_type = 0;
entity* IFC4_IfcStyledItem_type = 0;
entity* IFC4_IfcStyledRepresentation_type = 0;
entity* IFC4_IfcSubContractResource_type = 0;
entity* IFC4_IfcSubContractResourceType_type = 0;
entity* IFC4_IfcSubedge_type = 0;
entity* IFC4_IfcSurface_type = 0;
entity* IFC4_IfcSurfaceCurve_type = 0;
entity* IFC4_IfcSurfaceCurveSweptAreaSolid_type = 0;
entity* IFC4_IfcSurfaceFeature_type = 0;
entity* IFC4_IfcSurfaceOfLinearExtrusion_type = 0;
entity* IFC4_IfcSurfaceOfRevolution_type = 0;
entity* IFC4_IfcSurfaceReinforcementArea_type = 0;
entity* IFC4_IfcSurfaceStyle_type = 0;
entity* IFC4_IfcSurfaceStyleLighting_type = 0;
entity* IFC4_IfcSurfaceStyleRefraction_type = 0;
entity* IFC4_IfcSurfaceStyleRendering_type = 0;
entity* IFC4_IfcSurfaceStyleShading_type = 0;
entity* IFC4_IfcSurfaceStyleWithTextures_type = 0;
entity* IFC4_IfcSurfaceTexture_type = 0;
entity* IFC4_IfcSweptAreaSolid_type = 0;
entity* IFC4_IfcSweptDiskSolid_type = 0;
entity* IFC4_IfcSweptDiskSolidPolygonal_type = 0;
entity* IFC4_IfcSweptSurface_type = 0;
entity* IFC4_IfcSwitchingDevice_type = 0;
entity* IFC4_IfcSwitchingDeviceType_type = 0;
entity* IFC4_IfcSystem_type = 0;
entity* IFC4_IfcSystemFurnitureElement_type = 0;
entity* IFC4_IfcSystemFurnitureElementType_type = 0;
entity* IFC4_IfcTShapeProfileDef_type = 0;
entity* IFC4_IfcTable_type = 0;
entity* IFC4_IfcTableColumn_type = 0;
entity* IFC4_IfcTableRow_type = 0;
entity* IFC4_IfcTank_type = 0;
entity* IFC4_IfcTankType_type = 0;
entity* IFC4_IfcTask_type = 0;
entity* IFC4_IfcTaskTime_type = 0;
entity* IFC4_IfcTaskTimeRecurring_type = 0;
entity* IFC4_IfcTaskType_type = 0;
entity* IFC4_IfcTelecomAddress_type = 0;
entity* IFC4_IfcTendon_type = 0;
entity* IFC4_IfcTendonAnchor_type = 0;
entity* IFC4_IfcTendonAnchorType_type = 0;
entity* IFC4_IfcTendonType_type = 0;
entity* IFC4_IfcTessellatedFaceSet_type = 0;
entity* IFC4_IfcTessellatedItem_type = 0;
entity* IFC4_IfcTextLiteral_type = 0;
entity* IFC4_IfcTextLiteralWithExtent_type = 0;
entity* IFC4_IfcTextStyle_type = 0;
entity* IFC4_IfcTextStyleFontModel_type = 0;
entity* IFC4_IfcTextStyleForDefinedFont_type = 0;
entity* IFC4_IfcTextStyleTextModel_type = 0;
entity* IFC4_IfcTextureCoordinate_type = 0;
entity* IFC4_IfcTextureCoordinateGenerator_type = 0;
entity* IFC4_IfcTextureMap_type = 0;
entity* IFC4_IfcTextureVertex_type = 0;
entity* IFC4_IfcTextureVertexList_type = 0;
entity* IFC4_IfcTimePeriod_type = 0;
entity* IFC4_IfcTimeSeries_type = 0;
entity* IFC4_IfcTimeSeriesValue_type = 0;
entity* IFC4_IfcTopologicalRepresentationItem_type = 0;
entity* IFC4_IfcTopologyRepresentation_type = 0;
entity* IFC4_IfcToroidalSurface_type = 0;
entity* IFC4_IfcTransformer_type = 0;
entity* IFC4_IfcTransformerType_type = 0;
entity* IFC4_IfcTransportElement_type = 0;
entity* IFC4_IfcTransportElementType_type = 0;
entity* IFC4_IfcTrapeziumProfileDef_type = 0;
entity* IFC4_IfcTriangulatedFaceSet_type = 0;
entity* IFC4_IfcTrimmedCurve_type = 0;
entity* IFC4_IfcTubeBundle_type = 0;
entity* IFC4_IfcTubeBundleType_type = 0;
entity* IFC4_IfcTypeObject_type = 0;
entity* IFC4_IfcTypeProcess_type = 0;
entity* IFC4_IfcTypeProduct_type = 0;
entity* IFC4_IfcTypeResource_type = 0;
entity* IFC4_IfcUShapeProfileDef_type = 0;
entity* IFC4_IfcUnitAssignment_type = 0;
entity* IFC4_IfcUnitaryControlElement_type = 0;
entity* IFC4_IfcUnitaryControlElementType_type = 0;
entity* IFC4_IfcUnitaryEquipment_type = 0;
entity* IFC4_IfcUnitaryEquipmentType_type = 0;
entity* IFC4_IfcValve_type = 0;
entity* IFC4_IfcValveType_type = 0;
entity* IFC4_IfcVector_type = 0;
entity* IFC4_IfcVertex_type = 0;
entity* IFC4_IfcVertexLoop_type = 0;
entity* IFC4_IfcVertexPoint_type = 0;
entity* IFC4_IfcVibrationIsolator_type = 0;
entity* IFC4_IfcVibrationIsolatorType_type = 0;
entity* IFC4_IfcVirtualElement_type = 0;
entity* IFC4_IfcVirtualGridIntersection_type = 0;
entity* IFC4_IfcVoidingFeature_type = 0;
entity* IFC4_IfcWall_type = 0;
entity* IFC4_IfcWallElementedCase_type = 0;
entity* IFC4_IfcWallStandardCase_type = 0;
entity* IFC4_IfcWallType_type = 0;
entity* IFC4_IfcWasteTerminal_type = 0;
entity* IFC4_IfcWasteTerminalType_type = 0;
entity* IFC4_IfcWindow_type = 0;
entity* IFC4_IfcWindowLiningProperties_type = 0;
entity* IFC4_IfcWindowPanelProperties_type = 0;
entity* IFC4_IfcWindowStandardCase_type = 0;
entity* IFC4_IfcWindowStyle_type = 0;
entity* IFC4_IfcWindowType_type = 0;
entity* IFC4_IfcWorkCalendar_type = 0;
entity* IFC4_IfcWorkControl_type = 0;
entity* IFC4_IfcWorkPlan_type = 0;
entity* IFC4_IfcWorkSchedule_type = 0;
entity* IFC4_IfcWorkTime_type = 0;
entity* IFC4_IfcZShapeProfileDef_type = 0;
entity* IFC4_IfcZone_type = 0;
type_declaration* IFC4_IfcAbsorbedDoseMeasure_type = 0;
type_declaration* IFC4_IfcAccelerationMeasure_type = 0;
type_declaration* IFC4_IfcAmountOfSubstanceMeasure_type = 0;
type_declaration* IFC4_IfcAngularVelocityMeasure_type = 0;
type_declaration* IFC4_IfcArcIndex_type = 0;
type_declaration* IFC4_IfcAreaDensityMeasure_type = 0;
type_declaration* IFC4_IfcAreaMeasure_type = 0;
type_declaration* IFC4_IfcBinary_type = 0;
type_declaration* IFC4_IfcBoolean_type = 0;
type_declaration* IFC4_IfcBoxAlignment_type = 0;
type_declaration* IFC4_IfcCardinalPointReference_type = 0;
type_declaration* IFC4_IfcComplexNumber_type = 0;
type_declaration* IFC4_IfcCompoundPlaneAngleMeasure_type = 0;
type_declaration* IFC4_IfcContextDependentMeasure_type = 0;
type_declaration* IFC4_IfcCountMeasure_type = 0;
type_declaration* IFC4_IfcCurvatureMeasure_type = 0;
type_declaration* IFC4_IfcDate_type = 0;
type_declaration* IFC4_IfcDateTime_type = 0;
type_declaration* IFC4_IfcDayInMonthNumber_type = 0;
type_declaration* IFC4_IfcDayInWeekNumber_type = 0;
type_declaration* IFC4_IfcDescriptiveMeasure_type = 0;
type_declaration* IFC4_IfcDimensionCount_type = 0;
type_declaration* IFC4_IfcDoseEquivalentMeasure_type = 0;
type_declaration* IFC4_IfcDuration_type = 0;
type_declaration* IFC4_IfcDynamicViscosityMeasure_type = 0;
type_declaration* IFC4_IfcElectricCapacitanceMeasure_type = 0;
type_declaration* IFC4_IfcElectricChargeMeasure_type = 0;
type_declaration* IFC4_IfcElectricConductanceMeasure_type = 0;
type_declaration* IFC4_IfcElectricCurrentMeasure_type = 0;
type_declaration* IFC4_IfcElectricResistanceMeasure_type = 0;
type_declaration* IFC4_IfcElectricVoltageMeasure_type = 0;
type_declaration* IFC4_IfcEnergyMeasure_type = 0;
type_declaration* IFC4_IfcFontStyle_type = 0;
type_declaration* IFC4_IfcFontVariant_type = 0;
type_declaration* IFC4_IfcFontWeight_type = 0;
type_declaration* IFC4_IfcForceMeasure_type = 0;
type_declaration* IFC4_IfcFrequencyMeasure_type = 0;
type_declaration* IFC4_IfcGloballyUniqueId_type = 0;
type_declaration* IFC4_IfcHeatFluxDensityMeasure_type = 0;
type_declaration* IFC4_IfcHeatingValueMeasure_type = 0;
type_declaration* IFC4_IfcIdentifier_type = 0;
type_declaration* IFC4_IfcIlluminanceMeasure_type = 0;
type_declaration* IFC4_IfcInductanceMeasure_type = 0;
type_declaration* IFC4_IfcInteger_type = 0;
type_declaration* IFC4_IfcIntegerCountRateMeasure_type = 0;
type_declaration* IFC4_IfcIonConcentrationMeasure_type = 0;
type_declaration* IFC4_IfcIsothermalMoistureCapacityMeasure_type = 0;
type_declaration* IFC4_IfcKinematicViscosityMeasure_type = 0;
type_declaration* IFC4_IfcLabel_type = 0;
type_declaration* IFC4_IfcLanguageId_type = 0;
type_declaration* IFC4_IfcLengthMeasure_type = 0;
type_declaration* IFC4_IfcLineIndex_type = 0;
type_declaration* IFC4_IfcLinearForceMeasure_type = 0;
type_declaration* IFC4_IfcLinearMomentMeasure_type = 0;
type_declaration* IFC4_IfcLinearStiffnessMeasure_type = 0;
type_declaration* IFC4_IfcLinearVelocityMeasure_type = 0;
type_declaration* IFC4_IfcLogical_type = 0;
type_declaration* IFC4_IfcLuminousFluxMeasure_type = 0;
type_declaration* IFC4_IfcLuminousIntensityDistributionMeasure_type = 0;
type_declaration* IFC4_IfcLuminousIntensityMeasure_type = 0;
type_declaration* IFC4_IfcMagneticFluxDensityMeasure_type = 0;
type_declaration* IFC4_IfcMagneticFluxMeasure_type = 0;
type_declaration* IFC4_IfcMassDensityMeasure_type = 0;
type_declaration* IFC4_IfcMassFlowRateMeasure_type = 0;
type_declaration* IFC4_IfcMassMeasure_type = 0;
type_declaration* IFC4_IfcMassPerLengthMeasure_type = 0;
type_declaration* IFC4_IfcModulusOfElasticityMeasure_type = 0;
type_declaration* IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type = 0;
type_declaration* IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type = 0;
type_declaration* IFC4_IfcModulusOfSubgradeReactionMeasure_type = 0;
type_declaration* IFC4_IfcMoistureDiffusivityMeasure_type = 0;
type_declaration* IFC4_IfcMolecularWeightMeasure_type = 0;
type_declaration* IFC4_IfcMomentOfInertiaMeasure_type = 0;
type_declaration* IFC4_IfcMonetaryMeasure_type = 0;
type_declaration* IFC4_IfcMonthInYearNumber_type = 0;
type_declaration* IFC4_IfcNonNegativeLengthMeasure_type = 0;
type_declaration* IFC4_IfcNormalisedRatioMeasure_type = 0;
type_declaration* IFC4_IfcNumericMeasure_type = 0;
type_declaration* IFC4_IfcPHMeasure_type = 0;
type_declaration* IFC4_IfcParameterValue_type = 0;
type_declaration* IFC4_IfcPlanarForceMeasure_type = 0;
type_declaration* IFC4_IfcPlaneAngleMeasure_type = 0;
type_declaration* IFC4_IfcPositiveInteger_type = 0;
type_declaration* IFC4_IfcPositiveLengthMeasure_type = 0;
type_declaration* IFC4_IfcPositivePlaneAngleMeasure_type = 0;
type_declaration* IFC4_IfcPositiveRatioMeasure_type = 0;
type_declaration* IFC4_IfcPowerMeasure_type = 0;
type_declaration* IFC4_IfcPresentableText_type = 0;
type_declaration* IFC4_IfcPressureMeasure_type = 0;
type_declaration* IFC4_IfcPropertySetDefinitionSet_type = 0;
type_declaration* IFC4_IfcRadioActivityMeasure_type = 0;
type_declaration* IFC4_IfcRatioMeasure_type = 0;
type_declaration* IFC4_IfcReal_type = 0;
type_declaration* IFC4_IfcRotationalFrequencyMeasure_type = 0;
type_declaration* IFC4_IfcRotationalMassMeasure_type = 0;
type_declaration* IFC4_IfcRotationalStiffnessMeasure_type = 0;
type_declaration* IFC4_IfcSectionModulusMeasure_type = 0;
type_declaration* IFC4_IfcSectionalAreaIntegralMeasure_type = 0;
type_declaration* IFC4_IfcShearModulusMeasure_type = 0;
type_declaration* IFC4_IfcSolidAngleMeasure_type = 0;
type_declaration* IFC4_IfcSoundPowerLevelMeasure_type = 0;
type_declaration* IFC4_IfcSoundPowerMeasure_type = 0;
type_declaration* IFC4_IfcSoundPressureLevelMeasure_type = 0;
type_declaration* IFC4_IfcSoundPressureMeasure_type = 0;
type_declaration* IFC4_IfcSpecificHeatCapacityMeasure_type = 0;
type_declaration* IFC4_IfcSpecularExponent_type = 0;
type_declaration* IFC4_IfcSpecularRoughness_type = 0;
type_declaration* IFC4_IfcTemperatureGradientMeasure_type = 0;
type_declaration* IFC4_IfcTemperatureRateOfChangeMeasure_type = 0;
type_declaration* IFC4_IfcText_type = 0;
type_declaration* IFC4_IfcTextAlignment_type = 0;
type_declaration* IFC4_IfcTextDecoration_type = 0;
type_declaration* IFC4_IfcTextFontName_type = 0;
type_declaration* IFC4_IfcTextTransformation_type = 0;
type_declaration* IFC4_IfcThermalAdmittanceMeasure_type = 0;
type_declaration* IFC4_IfcThermalConductivityMeasure_type = 0;
type_declaration* IFC4_IfcThermalExpansionCoefficientMeasure_type = 0;
type_declaration* IFC4_IfcThermalResistanceMeasure_type = 0;
type_declaration* IFC4_IfcThermalTransmittanceMeasure_type = 0;
type_declaration* IFC4_IfcThermodynamicTemperatureMeasure_type = 0;
type_declaration* IFC4_IfcTime_type = 0;
type_declaration* IFC4_IfcTimeMeasure_type = 0;
type_declaration* IFC4_IfcTimeStamp_type = 0;
type_declaration* IFC4_IfcTorqueMeasure_type = 0;
type_declaration* IFC4_IfcURIReference_type = 0;
type_declaration* IFC4_IfcVaporPermeabilityMeasure_type = 0;
type_declaration* IFC4_IfcVolumeMeasure_type = 0;
type_declaration* IFC4_IfcVolumetricFlowRateMeasure_type = 0;
type_declaration* IFC4_IfcWarpingConstantMeasure_type = 0;
type_declaration* IFC4_IfcWarpingMomentMeasure_type = 0;
select_type* IFC4_IfcActorSelect_type = 0;
select_type* IFC4_IfcAppliedValueSelect_type = 0;
select_type* IFC4_IfcAxis2Placement_type = 0;
select_type* IFC4_IfcBendingParameterSelect_type = 0;
select_type* IFC4_IfcBooleanOperand_type = 0;
select_type* IFC4_IfcClassificationReferenceSelect_type = 0;
select_type* IFC4_IfcClassificationSelect_type = 0;
select_type* IFC4_IfcColour_type = 0;
select_type* IFC4_IfcColourOrFactor_type = 0;
select_type* IFC4_IfcCoordinateReferenceSystemSelect_type = 0;
select_type* IFC4_IfcCsgSelect_type = 0;
select_type* IFC4_IfcCurveFontOrScaledCurveFontSelect_type = 0;
select_type* IFC4_IfcCurveOnSurface_type = 0;
select_type* IFC4_IfcCurveOrEdgeCurve_type = 0;
select_type* IFC4_IfcCurveStyleFontSelect_type = 0;
select_type* IFC4_IfcDefinitionSelect_type = 0;
select_type* IFC4_IfcDerivedMeasureValue_type = 0;
select_type* IFC4_IfcDocumentSelect_type = 0;
select_type* IFC4_IfcFillStyleSelect_type = 0;
select_type* IFC4_IfcGeometricSetSelect_type = 0;
select_type* IFC4_IfcGridPlacementDirectionSelect_type = 0;
select_type* IFC4_IfcHatchLineDistanceSelect_type = 0;
select_type* IFC4_IfcLayeredItem_type = 0;
select_type* IFC4_IfcLibrarySelect_type = 0;
select_type* IFC4_IfcLightDistributionDataSourceSelect_type = 0;
select_type* IFC4_IfcMaterialSelect_type = 0;
select_type* IFC4_IfcMeasureValue_type = 0;
select_type* IFC4_IfcMetricValueSelect_type = 0;
select_type* IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type = 0;
select_type* IFC4_IfcModulusOfSubgradeReactionSelect_type = 0;
select_type* IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type = 0;
select_type* IFC4_IfcObjectReferenceSelect_type = 0;
select_type* IFC4_IfcPointOrVertexPoint_type = 0;
select_type* IFC4_IfcPresentationStyleSelect_type = 0;
select_type* IFC4_IfcProcessSelect_type = 0;
select_type* IFC4_IfcProductRepresentationSelect_type = 0;
select_type* IFC4_IfcProductSelect_type = 0;
select_type* IFC4_IfcPropertySetDefinitionSelect_type = 0;
select_type* IFC4_IfcResourceObjectSelect_type = 0;
select_type* IFC4_IfcResourceSelect_type = 0;
select_type* IFC4_IfcRotationalStiffnessSelect_type = 0;
select_type* IFC4_IfcSegmentIndexSelect_type = 0;
select_type* IFC4_IfcShell_type = 0;
select_type* IFC4_IfcSimpleValue_type = 0;
select_type* IFC4_IfcSizeSelect_type = 0;
select_type* IFC4_IfcSolidOrShell_type = 0;
select_type* IFC4_IfcSpaceBoundarySelect_type = 0;
select_type* IFC4_IfcSpecularHighlightSelect_type = 0;
select_type* IFC4_IfcStructuralActivityAssignmentSelect_type = 0;
select_type* IFC4_IfcStyleAssignmentSelect_type = 0;
select_type* IFC4_IfcSurfaceOrFaceSurface_type = 0;
select_type* IFC4_IfcSurfaceStyleElementSelect_type = 0;
select_type* IFC4_IfcTextFontSelect_type = 0;
select_type* IFC4_IfcTimeOrRatioSelect_type = 0;
select_type* IFC4_IfcTranslationalStiffnessSelect_type = 0;
select_type* IFC4_IfcTrimmingSelect_type = 0;
select_type* IFC4_IfcUnit_type = 0;
select_type* IFC4_IfcValue_type = 0;
select_type* IFC4_IfcVectorOrDirection_type = 0;
select_type* IFC4_IfcWarpingStiffnessSelect_type = 0;
enumeration_type* IFC4_IfcActionRequestTypeEnum_type = 0;
enumeration_type* IFC4_IfcActionSourceTypeEnum_type = 0;
enumeration_type* IFC4_IfcActionTypeEnum_type = 0;
enumeration_type* IFC4_IfcActuatorTypeEnum_type = 0;
enumeration_type* IFC4_IfcAddressTypeEnum_type = 0;
enumeration_type* IFC4_IfcAirTerminalBoxTypeEnum_type = 0;
enumeration_type* IFC4_IfcAirTerminalTypeEnum_type = 0;
enumeration_type* IFC4_IfcAirToAirHeatRecoveryTypeEnum_type = 0;
enumeration_type* IFC4_IfcAlarmTypeEnum_type = 0;
enumeration_type* IFC4_IfcAnalysisModelTypeEnum_type = 0;
enumeration_type* IFC4_IfcAnalysisTheoryTypeEnum_type = 0;
enumeration_type* IFC4_IfcArithmeticOperatorEnum_type = 0;
enumeration_type* IFC4_IfcAssemblyPlaceEnum_type = 0;
enumeration_type* IFC4_IfcAudioVisualApplianceTypeEnum_type = 0;
enumeration_type* IFC4_IfcBSplineCurveForm_type = 0;
enumeration_type* IFC4_IfcBSplineSurfaceForm_type = 0;
enumeration_type* IFC4_IfcBeamTypeEnum_type = 0;
enumeration_type* IFC4_IfcBenchmarkEnum_type = 0;
enumeration_type* IFC4_IfcBoilerTypeEnum_type = 0;
enumeration_type* IFC4_IfcBooleanOperator_type = 0;
enumeration_type* IFC4_IfcBuildingElementPartTypeEnum_type = 0;
enumeration_type* IFC4_IfcBuildingElementProxyTypeEnum_type = 0;
enumeration_type* IFC4_IfcBuildingSystemTypeEnum_type = 0;
enumeration_type* IFC4_IfcBurnerTypeEnum_type = 0;
enumeration_type* IFC4_IfcCableCarrierFittingTypeEnum_type = 0;
enumeration_type* IFC4_IfcCableCarrierSegmentTypeEnum_type = 0;
enumeration_type* IFC4_IfcCableFittingTypeEnum_type = 0;
enumeration_type* IFC4_IfcCableSegmentTypeEnum_type = 0;
enumeration_type* IFC4_IfcChangeActionEnum_type = 0;
enumeration_type* IFC4_IfcChillerTypeEnum_type = 0;
enumeration_type* IFC4_IfcChimneyTypeEnum_type = 0;
enumeration_type* IFC4_IfcCoilTypeEnum_type = 0;
enumeration_type* IFC4_IfcColumnTypeEnum_type = 0;
enumeration_type* IFC4_IfcCommunicationsApplianceTypeEnum_type = 0;
enumeration_type* IFC4_IfcComplexPropertyTemplateTypeEnum_type = 0;
enumeration_type* IFC4_IfcCompressorTypeEnum_type = 0;
enumeration_type* IFC4_IfcCondenserTypeEnum_type = 0;
enumeration_type* IFC4_IfcConnectionTypeEnum_type = 0;
enumeration_type* IFC4_IfcConstraintEnum_type = 0;
enumeration_type* IFC4_IfcConstructionEquipmentResourceTypeEnum_type = 0;
enumeration_type* IFC4_IfcConstructionMaterialResourceTypeEnum_type = 0;
enumeration_type* IFC4_IfcConstructionProductResourceTypeEnum_type = 0;
enumeration_type* IFC4_IfcControllerTypeEnum_type = 0;
enumeration_type* IFC4_IfcCooledBeamTypeEnum_type = 0;
enumeration_type* IFC4_IfcCoolingTowerTypeEnum_type = 0;
enumeration_type* IFC4_IfcCostItemTypeEnum_type = 0;
enumeration_type* IFC4_IfcCostScheduleTypeEnum_type = 0;
enumeration_type* IFC4_IfcCoveringTypeEnum_type = 0;
enumeration_type* IFC4_IfcCrewResourceTypeEnum_type = 0;
enumeration_type* IFC4_IfcCurtainWallTypeEnum_type = 0;
enumeration_type* IFC4_IfcCurveInterpolationEnum_type = 0;
enumeration_type* IFC4_IfcDamperTypeEnum_type = 0;
enumeration_type* IFC4_IfcDataOriginEnum_type = 0;
enumeration_type* IFC4_IfcDerivedUnitEnum_type = 0;
enumeration_type* IFC4_IfcDirectionSenseEnum_type = 0;
enumeration_type* IFC4_IfcDiscreteAccessoryTypeEnum_type = 0;
enumeration_type* IFC4_IfcDistributionChamberElementTypeEnum_type = 0;
enumeration_type* IFC4_IfcDistributionPortTypeEnum_type = 0;
enumeration_type* IFC4_IfcDistributionSystemEnum_type = 0;
enumeration_type* IFC4_IfcDocumentConfidentialityEnum_type = 0;
enumeration_type* IFC4_IfcDocumentStatusEnum_type = 0;
enumeration_type* IFC4_IfcDoorPanelOperationEnum_type = 0;
enumeration_type* IFC4_IfcDoorPanelPositionEnum_type = 0;
enumeration_type* IFC4_IfcDoorStyleConstructionEnum_type = 0;
enumeration_type* IFC4_IfcDoorStyleOperationEnum_type = 0;
enumeration_type* IFC4_IfcDoorTypeEnum_type = 0;
enumeration_type* IFC4_IfcDoorTypeOperationEnum_type = 0;
enumeration_type* IFC4_IfcDuctFittingTypeEnum_type = 0;
enumeration_type* IFC4_IfcDuctSegmentTypeEnum_type = 0;
enumeration_type* IFC4_IfcDuctSilencerTypeEnum_type = 0;
enumeration_type* IFC4_IfcElectricApplianceTypeEnum_type = 0;
enumeration_type* IFC4_IfcElectricDistributionBoardTypeEnum_type = 0;
enumeration_type* IFC4_IfcElectricFlowStorageDeviceTypeEnum_type = 0;
enumeration_type* IFC4_IfcElectricGeneratorTypeEnum_type = 0;
enumeration_type* IFC4_IfcElectricMotorTypeEnum_type = 0;
enumeration_type* IFC4_IfcElectricTimeControlTypeEnum_type = 0;
enumeration_type* IFC4_IfcElementAssemblyTypeEnum_type = 0;
enumeration_type* IFC4_IfcElementCompositionEnum_type = 0;
enumeration_type* IFC4_IfcEngineTypeEnum_type = 0;
enumeration_type* IFC4_IfcEvaporativeCoolerTypeEnum_type = 0;
enumeration_type* IFC4_IfcEvaporatorTypeEnum_type = 0;
enumeration_type* IFC4_IfcEventTriggerTypeEnum_type = 0;
enumeration_type* IFC4_IfcEventTypeEnum_type = 0;
enumeration_type* IFC4_IfcExternalSpatialElementTypeEnum_type = 0;
enumeration_type* IFC4_IfcFanTypeEnum_type = 0;
enumeration_type* IFC4_IfcFastenerTypeEnum_type = 0;
enumeration_type* IFC4_IfcFilterTypeEnum_type = 0;
enumeration_type* IFC4_IfcFireSuppressionTerminalTypeEnum_type = 0;
enumeration_type* IFC4_IfcFlowDirectionEnum_type = 0;
enumeration_type* IFC4_IfcFlowInstrumentTypeEnum_type = 0;
enumeration_type* IFC4_IfcFlowMeterTypeEnum_type = 0;
enumeration_type* IFC4_IfcFootingTypeEnum_type = 0;
enumeration_type* IFC4_IfcFurnitureTypeEnum_type = 0;
enumeration_type* IFC4_IfcGeographicElementTypeEnum_type = 0;
enumeration_type* IFC4_IfcGeometricProjectionEnum_type = 0;
enumeration_type* IFC4_IfcGlobalOrLocalEnum_type = 0;
enumeration_type* IFC4_IfcGridTypeEnum_type = 0;
enumeration_type* IFC4_IfcHeatExchangerTypeEnum_type = 0;
enumeration_type* IFC4_IfcHumidifierTypeEnum_type = 0;
enumeration_type* IFC4_IfcInterceptorTypeEnum_type = 0;
enumeration_type* IFC4_IfcInternalOrExternalEnum_type = 0;
enumeration_type* IFC4_IfcInventoryTypeEnum_type = 0;
enumeration_type* IFC4_IfcJunctionBoxTypeEnum_type = 0;
enumeration_type* IFC4_IfcKnotType_type = 0;
enumeration_type* IFC4_IfcLaborResourceTypeEnum_type = 0;
enumeration_type* IFC4_IfcLampTypeEnum_type = 0;
enumeration_type* IFC4_IfcLayerSetDirectionEnum_type = 0;
enumeration_type* IFC4_IfcLightDistributionCurveEnum_type = 0;
enumeration_type* IFC4_IfcLightEmissionSourceEnum_type = 0;
enumeration_type* IFC4_IfcLightFixtureTypeEnum_type = 0;
enumeration_type* IFC4_IfcLoadGroupTypeEnum_type = 0;
enumeration_type* IFC4_IfcLogicalOperatorEnum_type = 0;
enumeration_type* IFC4_IfcMechanicalFastenerTypeEnum_type = 0;
enumeration_type* IFC4_IfcMedicalDeviceTypeEnum_type = 0;
enumeration_type* IFC4_IfcMemberTypeEnum_type = 0;
enumeration_type* IFC4_IfcMotorConnectionTypeEnum_type = 0;
enumeration_type* IFC4_IfcNullStyle_type = 0;
enumeration_type* IFC4_IfcObjectTypeEnum_type = 0;
enumeration_type* IFC4_IfcObjectiveEnum_type = 0;
enumeration_type* IFC4_IfcOccupantTypeEnum_type = 0;
enumeration_type* IFC4_IfcOpeningElementTypeEnum_type = 0;
enumeration_type* IFC4_IfcOutletTypeEnum_type = 0;
enumeration_type* IFC4_IfcPerformanceHistoryTypeEnum_type = 0;
enumeration_type* IFC4_IfcPermeableCoveringOperationEnum_type = 0;
enumeration_type* IFC4_IfcPermitTypeEnum_type = 0;
enumeration_type* IFC4_IfcPhysicalOrVirtualEnum_type = 0;
enumeration_type* IFC4_IfcPileConstructionEnum_type = 0;
enumeration_type* IFC4_IfcPileTypeEnum_type = 0;
enumeration_type* IFC4_IfcPipeFittingTypeEnum_type = 0;
enumeration_type* IFC4_IfcPipeSegmentTypeEnum_type = 0;
enumeration_type* IFC4_IfcPlateTypeEnum_type = 0;
enumeration_type* IFC4_IfcPreferredSurfaceCurveRepresentation_type = 0;
enumeration_type* IFC4_IfcProcedureTypeEnum_type = 0;
enumeration_type* IFC4_IfcProfileTypeEnum_type = 0;
enumeration_type* IFC4_IfcProjectOrderTypeEnum_type = 0;
enumeration_type* IFC4_IfcProjectedOrTrueLengthEnum_type = 0;
enumeration_type* IFC4_IfcProjectionElementTypeEnum_type = 0;
enumeration_type* IFC4_IfcPropertySetTemplateTypeEnum_type = 0;
enumeration_type* IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type = 0;
enumeration_type* IFC4_IfcProtectiveDeviceTypeEnum_type = 0;
enumeration_type* IFC4_IfcPumpTypeEnum_type = 0;
enumeration_type* IFC4_IfcRailingTypeEnum_type = 0;
enumeration_type* IFC4_IfcRampFlightTypeEnum_type = 0;
enumeration_type* IFC4_IfcRampTypeEnum_type = 0;
enumeration_type* IFC4_IfcRecurrenceTypeEnum_type = 0;
enumeration_type* IFC4_IfcReflectanceMethodEnum_type = 0;
enumeration_type* IFC4_IfcReinforcingBarRoleEnum_type = 0;
enumeration_type* IFC4_IfcReinforcingBarSurfaceEnum_type = 0;
enumeration_type* IFC4_IfcReinforcingBarTypeEnum_type = 0;
enumeration_type* IFC4_IfcReinforcingMeshTypeEnum_type = 0;
enumeration_type* IFC4_IfcRoleEnum_type = 0;
enumeration_type* IFC4_IfcRoofTypeEnum_type = 0;
enumeration_type* IFC4_IfcSIPrefix_type = 0;
enumeration_type* IFC4_IfcSIUnitName_type = 0;
enumeration_type* IFC4_IfcSanitaryTerminalTypeEnum_type = 0;
enumeration_type* IFC4_IfcSectionTypeEnum_type = 0;
enumeration_type* IFC4_IfcSensorTypeEnum_type = 0;
enumeration_type* IFC4_IfcSequenceEnum_type = 0;
enumeration_type* IFC4_IfcShadingDeviceTypeEnum_type = 0;
enumeration_type* IFC4_IfcSimplePropertyTemplateTypeEnum_type = 0;
enumeration_type* IFC4_IfcSlabTypeEnum_type = 0;
enumeration_type* IFC4_IfcSolarDeviceTypeEnum_type = 0;
enumeration_type* IFC4_IfcSpaceHeaterTypeEnum_type = 0;
enumeration_type* IFC4_IfcSpaceTypeEnum_type = 0;
enumeration_type* IFC4_IfcSpatialZoneTypeEnum_type = 0;
enumeration_type* IFC4_IfcStackTerminalTypeEnum_type = 0;
enumeration_type* IFC4_IfcStairFlightTypeEnum_type = 0;
enumeration_type* IFC4_IfcStairTypeEnum_type = 0;
enumeration_type* IFC4_IfcStateEnum_type = 0;
enumeration_type* IFC4_IfcStructuralCurveActivityTypeEnum_type = 0;
enumeration_type* IFC4_IfcStructuralCurveMemberTypeEnum_type = 0;
enumeration_type* IFC4_IfcStructuralSurfaceActivityTypeEnum_type = 0;
enumeration_type* IFC4_IfcStructuralSurfaceMemberTypeEnum_type = 0;
enumeration_type* IFC4_IfcSubContractResourceTypeEnum_type = 0;
enumeration_type* IFC4_IfcSurfaceFeatureTypeEnum_type = 0;
enumeration_type* IFC4_IfcSurfaceSide_type = 0;
enumeration_type* IFC4_IfcSwitchingDeviceTypeEnum_type = 0;
enumeration_type* IFC4_IfcSystemFurnitureElementTypeEnum_type = 0;
enumeration_type* IFC4_IfcTankTypeEnum_type = 0;
enumeration_type* IFC4_IfcTaskDurationEnum_type = 0;
enumeration_type* IFC4_IfcTaskTypeEnum_type = 0;
enumeration_type* IFC4_IfcTendonAnchorTypeEnum_type = 0;
enumeration_type* IFC4_IfcTendonTypeEnum_type = 0;
enumeration_type* IFC4_IfcTextPath_type = 0;
enumeration_type* IFC4_IfcTimeSeriesDataTypeEnum_type = 0;
enumeration_type* IFC4_IfcTransformerTypeEnum_type = 0;
enumeration_type* IFC4_IfcTransitionCode_type = 0;
enumeration_type* IFC4_IfcTransportElementTypeEnum_type = 0;
enumeration_type* IFC4_IfcTrimmingPreference_type = 0;
enumeration_type* IFC4_IfcTubeBundleTypeEnum_type = 0;
enumeration_type* IFC4_IfcUnitEnum_type = 0;
enumeration_type* IFC4_IfcUnitaryControlElementTypeEnum_type = 0;
enumeration_type* IFC4_IfcUnitaryEquipmentTypeEnum_type = 0;
enumeration_type* IFC4_IfcValveTypeEnum_type = 0;
enumeration_type* IFC4_IfcVibrationIsolatorTypeEnum_type = 0;
enumeration_type* IFC4_IfcVoidingFeatureTypeEnum_type = 0;
enumeration_type* IFC4_IfcWallTypeEnum_type = 0;
enumeration_type* IFC4_IfcWasteTerminalTypeEnum_type = 0;
enumeration_type* IFC4_IfcWindowPanelOperationEnum_type = 0;
enumeration_type* IFC4_IfcWindowPanelPositionEnum_type = 0;
enumeration_type* IFC4_IfcWindowStyleConstructionEnum_type = 0;
enumeration_type* IFC4_IfcWindowStyleOperationEnum_type = 0;
enumeration_type* IFC4_IfcWindowTypeEnum_type = 0;
enumeration_type* IFC4_IfcWindowTypePartitioningEnum_type = 0;
enumeration_type* IFC4_IfcWorkCalendarTypeEnum_type = 0;
enumeration_type* IFC4_IfcWorkPlanTypeEnum_type = 0;
enumeration_type* IFC4_IfcWorkScheduleTypeEnum_type = 0;
class IFC4_instance_factory : public IfcParse::instance_factory {
virtual IfcUtil::IfcBaseClass* operator()(IfcEntityInstanceData* data) const {
switch(data->type()->index_in_schema()) {
case 0: return new ::Ifc4::IfcAbsorbedDoseMeasure(data);
case 1: return new ::Ifc4::IfcAccelerationMeasure(data);
case 2: return new ::Ifc4::IfcActionRequest(data);
case 6: return new ::Ifc4::IfcActor(data);
case 7: return new ::Ifc4::IfcActorRole(data);
case 9: return new ::Ifc4::IfcActuator(data);
case 10: return new ::Ifc4::IfcActuatorType(data);
case 12: return new ::Ifc4::IfcAddress(data);
case 14: return new ::Ifc4::IfcAdvancedBrep(data);
case 15: return new ::Ifc4::IfcAdvancedBrepWithVoids(data);
case 16: return new ::Ifc4::IfcAdvancedFace(data);
case 17: return new ::Ifc4::IfcAirTerminal(data);
case 18: return new ::Ifc4::IfcAirTerminalBox(data);
case 19: return new ::Ifc4::IfcAirTerminalBoxType(data);
case 21: return new ::Ifc4::IfcAirTerminalType(data);
case 23: return new ::Ifc4::IfcAirToAirHeatRecovery(data);
case 24: return new ::Ifc4::IfcAirToAirHeatRecoveryType(data);
case 26: return new ::Ifc4::IfcAlarm(data);
case 27: return new ::Ifc4::IfcAlarmType(data);
case 29: return new ::Ifc4::IfcAmountOfSubstanceMeasure(data);
case 32: return new ::Ifc4::IfcAngularVelocityMeasure(data);
case 33: return new ::Ifc4::IfcAnnotation(data);
case 34: return new ::Ifc4::IfcAnnotationFillArea(data);
case 35: return new ::Ifc4::IfcApplication(data);
case 36: return new ::Ifc4::IfcAppliedValue(data);
case 38: return new ::Ifc4::IfcApproval(data);
case 39: return new ::Ifc4::IfcApprovalRelationship(data);
case 40: return new ::Ifc4::IfcArbitraryClosedProfileDef(data);
case 41: return new ::Ifc4::IfcArbitraryOpenProfileDef(data);
case 42: return new ::Ifc4::IfcArbitraryProfileDefWithVoids(data);
case 43: return new ::Ifc4::IfcArcIndex(data);
case 44: return new ::Ifc4::IfcAreaDensityMeasure(data);
case 45: return new ::Ifc4::IfcAreaMeasure(data);
case 48: return new ::Ifc4::IfcAsset(data);
case 49: return new ::Ifc4::IfcAsymmetricIShapeProfileDef(data);
case 50: return new ::Ifc4::IfcAudioVisualAppliance(data);
case 51: return new ::Ifc4::IfcAudioVisualApplianceType(data);
case 53: return new ::Ifc4::IfcAxis1Placement(data);
case 55: return new ::Ifc4::IfcAxis2Placement2D(data);
case 56: return new ::Ifc4::IfcAxis2Placement3D(data);
case 57: return new ::Ifc4::IfcBeam(data);
case 58: return new ::Ifc4::IfcBeamStandardCase(data);
case 59: return new ::Ifc4::IfcBeamType(data);
case 63: return new ::Ifc4::IfcBinary(data);
case 64: return new ::Ifc4::IfcBlobTexture(data);
case 65: return new ::Ifc4::IfcBlock(data);
case 66: return new ::Ifc4::IfcBoiler(data);
case 67: return new ::Ifc4::IfcBoilerType(data);
case 69: return new ::Ifc4::IfcBoolean(data);
case 70: return new ::Ifc4::IfcBooleanClippingResult(data);
case 73: return new ::Ifc4::IfcBooleanResult(data);
case 74: return new ::Ifc4::IfcBoundaryCondition(data);
case 75: return new ::Ifc4::IfcBoundaryCurve(data);
case 76: return new ::Ifc4::IfcBoundaryEdgeCondition(data);
case 77: return new ::Ifc4::IfcBoundaryFaceCondition(data);
case 78: return new ::Ifc4::IfcBoundaryNodeCondition(data);
case 79: return new ::Ifc4::IfcBoundaryNodeConditionWarping(data);
case 80: return new ::Ifc4::IfcBoundedCurve(data);
case 81: return new ::Ifc4::IfcBoundedSurface(data);
case 82: return new ::Ifc4::IfcBoundingBox(data);
case 83: return new ::Ifc4::IfcBoxAlignment(data);
case 84: return new ::Ifc4::IfcBoxedHalfSpace(data);
case 85: return new ::Ifc4::IfcBSplineCurve(data);
case 87: return new ::Ifc4::IfcBSplineCurveWithKnots(data);
case 88: return new ::Ifc4::IfcBSplineSurface(data);
case 90: return new ::Ifc4::IfcBSplineSurfaceWithKnots(data);
case 91: return new ::Ifc4::IfcBuilding(data);
case 92: return new ::Ifc4::IfcBuildingElement(data);
case 93: return new ::Ifc4::IfcBuildingElementPart(data);
case 94: return new ::Ifc4::IfcBuildingElementPartType(data);
case 96: return new ::Ifc4::IfcBuildingElementProxy(data);
case 97: return new ::Ifc4::IfcBuildingElementProxyType(data);
case 99: return new ::Ifc4::IfcBuildingElementType(data);
case 100: return new ::Ifc4::IfcBuildingStorey(data);
case 101: return new ::Ifc4::IfcBuildingSystem(data);
case 103: return new ::Ifc4::IfcBurner(data);
case 104: return new ::Ifc4::IfcBurnerType(data);
case 106: return new ::Ifc4::IfcCableCarrierFitting(data);
case 107: return new ::Ifc4::IfcCableCarrierFittingType(data);
case 109: return new ::Ifc4::IfcCableCarrierSegment(data);
case 110: return new ::Ifc4::IfcCableCarrierSegmentType(data);
case 112: return new ::Ifc4::IfcCableFitting(data);
case 113: return new ::Ifc4::IfcCableFittingType(data);
case 115: return new ::Ifc4::IfcCableSegment(data);
case 116: return new ::Ifc4::IfcCableSegmentType(data);
case 118: return new ::Ifc4::IfcCardinalPointReference(data);
case 119: return new ::Ifc4::IfcCartesianPoint(data);
case 120: return new ::Ifc4::IfcCartesianPointList(data);
case 121: return new ::Ifc4::IfcCartesianPointList2D(data);
case 122: return new ::Ifc4::IfcCartesianPointList3D(data);
case 123: return new ::Ifc4::IfcCartesianTransformationOperator(data);
case 124: return new ::Ifc4::IfcCartesianTransformationOperator2D(data);
case 125: return new ::Ifc4::IfcCartesianTransformationOperator2DnonUniform(data);
case 126: return new ::Ifc4::IfcCartesianTransformationOperator3D(data);
case 127: return new ::Ifc4::IfcCartesianTransformationOperator3DnonUniform(data);
case 128: return new ::Ifc4::IfcCenterLineProfileDef(data);
case 130: return new ::Ifc4::IfcChiller(data);
case 131: return new ::Ifc4::IfcChillerType(data);
case 133: return new ::Ifc4::IfcChimney(data);
case 134: return new ::Ifc4::IfcChimneyType(data);
case 136: return new ::Ifc4::IfcCircle(data);
case 137: return new ::Ifc4::IfcCircleHollowProfileDef(data);
case 138: return new ::Ifc4::IfcCircleProfileDef(data);
case 139: return new ::Ifc4::IfcCivilElement(data);
case 140: return new ::Ifc4::IfcCivilElementType(data);
case 141: return new ::Ifc4::IfcClassification(data);
case 142: return new ::Ifc4::IfcClassificationReference(data);
case 145: return new ::Ifc4::IfcClosedShell(data);
case 146: return new ::Ifc4::IfcCoil(data);
case 147: return new ::Ifc4::IfcCoilType(data);
case 151: return new ::Ifc4::IfcColourRgb(data);
case 152: return new ::Ifc4::IfcColourRgbList(data);
case 153: return new ::Ifc4::IfcColourSpecification(data);
case 154: return new ::Ifc4::IfcColumn(data);
case 155: return new ::Ifc4::IfcColumnStandardCase(data);
case 156: return new ::Ifc4::IfcColumnType(data);
case 158: return new ::Ifc4::IfcCommunicationsAppliance(data);
case 159: return new ::Ifc4::IfcCommunicationsApplianceType(data);
case 161: return new ::Ifc4::IfcComplexNumber(data);
case 162: return new ::Ifc4::IfcComplexProperty(data);
case 163: return new ::Ifc4::IfcComplexPropertyTemplate(data);
case 165: return new ::Ifc4::IfcCompositeCurve(data);
case 166: return new ::Ifc4::IfcCompositeCurveOnSurface(data);
case 167: return new ::Ifc4::IfcCompositeCurveSegment(data);
case 168: return new ::Ifc4::IfcCompositeProfileDef(data);
case 169: return new ::Ifc4::IfcCompoundPlaneAngleMeasure(data);
case 170: return new ::Ifc4::IfcCompressor(data);
case 171: return new ::Ifc4::IfcCompressorType(data);
case 173: return new ::Ifc4::IfcCondenser(data);
case 174: return new ::Ifc4::IfcCondenserType(data);
case 176: return new ::Ifc4::IfcConic(data);
case 177: return new ::Ifc4::IfcConnectedFaceSet(data);
case 178: return new ::Ifc4::IfcConnectionCurveGeometry(data);
case 179: return new ::Ifc4::IfcConnectionGeometry(data);
case 180: return new ::Ifc4::IfcConnectionPointEccentricity(data);
case 181: return new ::Ifc4::IfcConnectionPointGeometry(data);
case 182: return new ::Ifc4::IfcConnectionSurfaceGeometry(data);
case 184: return new ::Ifc4::IfcConnectionVolumeGeometry(data);
case 185: return new ::Ifc4::IfcConstraint(data);
case 187: return new ::Ifc4::IfcConstructionEquipmentResource(data);
case 188: return new ::Ifc4::IfcConstructionEquipmentResourceType(data);
case 190: return new ::Ifc4::IfcConstructionMaterialResource(data);
case 191: return new ::Ifc4::IfcConstructionMaterialResourceType(data);
case 193: return new ::Ifc4::IfcConstructionProductResource(data);
case 194: return new ::Ifc4::IfcConstructionProductResourceType(data);
case 196: return new ::Ifc4::IfcConstructionResource(data);
case 197: return new ::Ifc4::IfcConstructionResourceType(data);
case 198: return new ::Ifc4::IfcContext(data);
case 199: return new ::Ifc4::IfcContextDependentMeasure(data);
case 200: return new ::Ifc4::IfcContextDependentUnit(data);
case 201: return new ::Ifc4::IfcControl(data);
case 202: return new ::Ifc4::IfcController(data);
case 203: return new ::Ifc4::IfcControllerType(data);
case 205: return new ::Ifc4::IfcConversionBasedUnit(data);
case 206: return new ::Ifc4::IfcConversionBasedUnitWithOffset(data);
case 207: return new ::Ifc4::IfcCooledBeam(data);
case 208: return new ::Ifc4::IfcCooledBeamType(data);
case 210: return new ::Ifc4::IfcCoolingTower(data);
case 211: return new ::Ifc4::IfcCoolingTowerType(data);
case 213: return new ::Ifc4::IfcCoordinateOperation(data);
case 214: return new ::Ifc4::IfcCoordinateReferenceSystem(data);
case 216: return new ::Ifc4::IfcCostItem(data);
case 218: return new ::Ifc4::IfcCostSchedule(data);
case 220: return new ::Ifc4::IfcCostValue(data);
case 221: return new ::Ifc4::IfcCountMeasure(data);
case 222: return new ::Ifc4::IfcCovering(data);
case 223: return new ::Ifc4::IfcCoveringType(data);
case 225: return new ::Ifc4::IfcCrewResource(data);
case 226: return new ::Ifc4::IfcCrewResourceType(data);
case 228: return new ::Ifc4::IfcCsgPrimitive3D(data);
case 230: return new ::Ifc4::IfcCsgSolid(data);
case 231: return new ::Ifc4::IfcCShapeProfileDef(data);
case 232: return new ::Ifc4::IfcCurrencyRelationship(data);
case 233: return new ::Ifc4::IfcCurtainWall(data);
case 234: return new ::Ifc4::IfcCurtainWallType(data);
case 236: return new ::Ifc4::IfcCurvatureMeasure(data);
case 237: return new ::Ifc4::IfcCurve(data);
case 238: return new ::Ifc4::IfcCurveBoundedPlane(data);
case 239: return new ::Ifc4::IfcCurveBoundedSurface(data);
case 244: return new ::Ifc4::IfcCurveStyle(data);
case 245: return new ::Ifc4::IfcCurveStyleFont(data);
case 246: return new ::Ifc4::IfcCurveStyleFontAndScaling(data);
case 247: return new ::Ifc4::IfcCurveStyleFontPattern(data);
case 249: return new ::Ifc4::IfcCylindricalSurface(data);
case 250: return new ::Ifc4::IfcDamper(data);
case 251: return new ::Ifc4::IfcDamperType(data);
case 254: return new ::Ifc4::IfcDate(data);
case 255: return new ::Ifc4::IfcDateTime(data);
case 256: return new ::Ifc4::IfcDayInMonthNumber(data);
case 257: return new ::Ifc4::IfcDayInWeekNumber(data);
case 260: return new ::Ifc4::IfcDerivedProfileDef(data);
case 261: return new ::Ifc4::IfcDerivedUnit(data);
case 262: return new ::Ifc4::IfcDerivedUnitElement(data);
case 264: return new ::Ifc4::IfcDescriptiveMeasure(data);
case 265: return new ::Ifc4::IfcDimensionalExponents(data);
case 266: return new ::Ifc4::IfcDimensionCount(data);
case 267: return new ::Ifc4::IfcDirection(data);
case 269: return new ::Ifc4::IfcDiscreteAccessory(data);
case 270: return new ::Ifc4::IfcDiscreteAccessoryType(data);
case 272: return new ::Ifc4::IfcDistributionChamberElement(data);
case 273: return new ::Ifc4::IfcDistributionChamberElementType(data);
case 275: return new ::Ifc4::IfcDistributionCircuit(data);
case 276: return new ::Ifc4::IfcDistributionControlElement(data);
case 277: return new ::Ifc4::IfcDistributionControlElementType(data);
case 278: return new ::Ifc4::IfcDistributionElement(data);
case 279: return new ::Ifc4::IfcDistributionElementType(data);
case 280: return new ::Ifc4::IfcDistributionFlowElement(data);
case 281: return new ::Ifc4::IfcDistributionFlowElementType(data);
case 282: return new ::Ifc4::IfcDistributionPort(data);
case 284: return new ::Ifc4::IfcDistributionSystem(data);
case 287: return new ::Ifc4::IfcDocumentInformation(data);
case 288: return new ::Ifc4::IfcDocumentInformationRelationship(data);
case 289: return new ::Ifc4::IfcDocumentReference(data);
case 292: return new ::Ifc4::IfcDoor(data);
case 293: return new ::Ifc4::IfcDoorLiningProperties(data);
case 296: return new ::Ifc4::IfcDoorPanelProperties(data);
case 297: return new ::Ifc4::IfcDoorStandardCase(data);
case 298: return new ::Ifc4::IfcDoorStyle(data);
case 301: return new ::Ifc4::IfcDoorType(data);
case 304: return new ::Ifc4::IfcDoseEquivalentMeasure(data);
case 305: return new ::Ifc4::IfcDraughtingPreDefinedColour(data);
case 306: return new ::Ifc4::IfcDraughtingPreDefinedCurveFont(data);
case 307: return new ::Ifc4::IfcDuctFitting(data);
case 308: return new ::Ifc4::IfcDuctFittingType(data);
case 310: return new ::Ifc4::IfcDuctSegment(data);
case 311: return new ::Ifc4::IfcDuctSegmentType(data);
case 313: return new ::Ifc4::IfcDuctSilencer(data);
case 314: return new ::Ifc4::IfcDuctSilencerType(data);
case 316: return new ::Ifc4::IfcDuration(data);
case 317: return new ::Ifc4::IfcDynamicViscosityMeasure(data);
case 318: return new ::Ifc4::IfcEdge(data);
case 319: return new ::Ifc4::IfcEdgeCurve(data);
case 320: return new ::Ifc4::IfcEdgeLoop(data);
case 321: return new ::Ifc4::IfcElectricAppliance(data);
case 322: return new ::Ifc4::IfcElectricApplianceType(data);
case 324: return new ::Ifc4::IfcElectricCapacitanceMeasure(data);
case 325: return new ::Ifc4::IfcElectricChargeMeasure(data);
case 326: return new ::Ifc4::IfcElectricConductanceMeasure(data);
case 327: return new ::Ifc4::IfcElectricCurrentMeasure(data);
case 328: return new ::Ifc4::IfcElectricDistributionBoard(data);
case 329: return new ::Ifc4::IfcElectricDistributionBoardType(data);
case 331: return new ::Ifc4::IfcElectricFlowStorageDevice(data);
case 332: return new ::Ifc4::IfcElectricFlowStorageDeviceType(data);
case 334: return new ::Ifc4::IfcElectricGenerator(data);
case 335: return new ::Ifc4::IfcElectricGeneratorType(data);
case 337: return new ::Ifc4::IfcElectricMotor(data);
case 338: return new ::Ifc4::IfcElectricMotorType(data);
case 340: return new ::Ifc4::IfcElectricResistanceMeasure(data);
case 341: return new ::Ifc4::IfcElectricTimeControl(data);
case 342: return new ::Ifc4::IfcElectricTimeControlType(data);
case 344: return new ::Ifc4::IfcElectricVoltageMeasure(data);
case 345: return new ::Ifc4::IfcElement(data);
case 346: return new ::Ifc4::IfcElementarySurface(data);
case 347: return new ::Ifc4::IfcElementAssembly(data);
case 348: return new ::Ifc4::IfcElementAssemblyType(data);
case 350: return new ::Ifc4::IfcElementComponent(data);
case 351: return new ::Ifc4::IfcElementComponentType(data);
case 353: return new ::Ifc4::IfcElementQuantity(data);
case 354: return new ::Ifc4::IfcElementType(data);
case 355: return new ::Ifc4::IfcEllipse(data);
case 356: return new ::Ifc4::IfcEllipseProfileDef(data);
case 357: return new ::Ifc4::IfcEnergyConversionDevice(data);
case 358: return new ::Ifc4::IfcEnergyConversionDeviceType(data);
case 359: return new ::Ifc4::IfcEnergyMeasure(data);
case 360: return new ::Ifc4::IfcEngine(data);
case 361: return new ::Ifc4::IfcEngineType(data);
case 363: return new ::Ifc4::IfcEvaporativeCooler(data);
case 364: return new ::Ifc4::IfcEvaporativeCoolerType(data);
case 366: return new ::Ifc4::IfcEvaporator(data);
case 367: return new ::Ifc4::IfcEvaporatorType(data);
case 369: return new ::Ifc4::IfcEvent(data);
case 370: return new ::Ifc4::IfcEventTime(data);
case 372: return new ::Ifc4::IfcEventType(data);
case 374: return new ::Ifc4::IfcExtendedProperties(data);
case 375: return new ::Ifc4::IfcExternalInformation(data);
case 376: return new ::Ifc4::IfcExternallyDefinedHatchStyle(data);
case 377: return new ::Ifc4::IfcExternallyDefinedSurfaceStyle(data);
case 378: return new ::Ifc4::IfcExternallyDefinedTextFont(data);
case 379: return new ::Ifc4::IfcExternalReference(data);
case 380: return new ::Ifc4::IfcExternalReferenceRelationship(data);
case 381: return new ::Ifc4::IfcExternalSpatialElement(data);
case 383: return new ::Ifc4::IfcExternalSpatialStructureElement(data);
case 384: return new ::Ifc4::IfcExtrudedAreaSolid(data);
case 385: return new ::Ifc4::IfcExtrudedAreaSolidTapered(data);
case 386: return new ::Ifc4::IfcFace(data);
case 387: return new ::Ifc4::IfcFaceBasedSurfaceModel(data);
case 388: return new ::Ifc4::IfcFaceBound(data);
case 389: return new ::Ifc4::IfcFaceOuterBound(data);
case 390: return new ::Ifc4::IfcFaceSurface(data);
case 391: return new ::Ifc4::IfcFacetedBrep(data);
case 392: return new ::Ifc4::IfcFacetedBrepWithVoids(data);
case 393: return new ::Ifc4::IfcFailureConnectionCondition(data);
case 394: return new ::Ifc4::IfcFan(data);
case 395: return new ::Ifc4::IfcFanType(data);
case 397: return new ::Ifc4::IfcFastener(data);
case 398: return new ::Ifc4::IfcFastenerType(data);
case 400: return new ::Ifc4::IfcFeatureElement(data);
case 401: return new ::Ifc4::IfcFeatureElementAddition(data);
case 402: return new ::Ifc4::IfcFeatureElementSubtraction(data);
case 403: return new ::Ifc4::IfcFillAreaStyle(data);
case 404: return new ::Ifc4::IfcFillAreaStyleHatching(data);
case 405: return new ::Ifc4::IfcFillAreaStyleTiles(data);
case 407: return new ::Ifc4::IfcFilter(data);
case 408: return new ::Ifc4::IfcFilterType(data);
case 410: return new ::Ifc4::IfcFireSuppressionTerminal(data);
case 411: return new ::Ifc4::IfcFireSuppressionTerminalType(data);
case 413: return new ::Ifc4::IfcFixedReferenceSweptAreaSolid(data);
case 414: return new ::Ifc4::IfcFlowController(data);
case 415: return new ::Ifc4::IfcFlowControllerType(data);
case 417: return new ::Ifc4::IfcFlowFitting(data);
case 418: return new ::Ifc4::IfcFlowFittingType(data);
case 419: return new ::Ifc4::IfcFlowInstrument(data);
case 420: return new ::Ifc4::IfcFlowInstrumentType(data);
case 422: return new ::Ifc4::IfcFlowMeter(data);
case 423: return new ::Ifc4::IfcFlowMeterType(data);
case 425: return new ::Ifc4::IfcFlowMovingDevice(data);
case 426: return new ::Ifc4::IfcFlowMovingDeviceType(data);
case 427: return new ::Ifc4::IfcFlowSegment(data);
case 428: return new ::Ifc4::IfcFlowSegmentType(data);
case 429: return new ::Ifc4::IfcFlowStorageDevice(data);
case 430: return new ::Ifc4::IfcFlowStorageDeviceType(data);
case 431: return new ::Ifc4::IfcFlowTerminal(data);
case 432: return new ::Ifc4::IfcFlowTerminalType(data);
case 433: return new ::Ifc4::IfcFlowTreatmentDevice(data);
case 434: return new ::Ifc4::IfcFlowTreatmentDeviceType(data);
case 435: return new ::Ifc4::IfcFontStyle(data);
case 436: return new ::Ifc4::IfcFontVariant(data);
case 437: return new ::Ifc4::IfcFontWeight(data);
case 438: return new ::Ifc4::IfcFooting(data);
case 439: return new ::Ifc4::IfcFootingType(data);
case 441: return new ::Ifc4::IfcForceMeasure(data);
case 442: return new ::Ifc4::IfcFrequencyMeasure(data);
case 443: return new ::Ifc4::IfcFurnishingElement(data);
case 444: return new ::Ifc4::IfcFurnishingElementType(data);
case 445: return new ::Ifc4::IfcFurniture(data);
case 446: return new ::Ifc4::IfcFurnitureType(data);
case 448: return new ::Ifc4::IfcGeographicElement(data);
case 449: return new ::Ifc4::IfcGeographicElementType(data);
case 451: return new ::Ifc4::IfcGeometricCurveSet(data);
case 453: return new ::Ifc4::IfcGeometricRepresentationContext(data);
case 454: return new ::Ifc4::IfcGeometricRepresentationItem(data);
case 455: return new ::Ifc4::IfcGeometricRepresentationSubContext(data);
case 456: return new ::Ifc4::IfcGeometricSet(data);
case 458: return new ::Ifc4::IfcGloballyUniqueId(data);
case 460: return new ::Ifc4::IfcGrid(data);
case 461: return new ::Ifc4::IfcGridAxis(data);
case 462: return new ::Ifc4::IfcGridPlacement(data);
case 465: return new ::Ifc4::IfcGroup(data);
case 466: return new ::Ifc4::IfcHalfSpaceSolid(data);
case 468: return new ::Ifc4::IfcHeatExchanger(data);
case 469: return new ::Ifc4::IfcHeatExchangerType(data);
case 471: return new ::Ifc4::IfcHeatFluxDensityMeasure(data);
case 472: return new ::Ifc4::IfcHeatingValueMeasure(data);
case 473: return new ::Ifc4::IfcHumidifier(data);
case 474: return new ::Ifc4::IfcHumidifierType(data);
case 476: return new ::Ifc4::IfcIdentifier(data);
case 477: return new ::Ifc4::IfcIlluminanceMeasure(data);
case 478: return new ::Ifc4::IfcImageTexture(data);
case 479: return new ::Ifc4::IfcIndexedColourMap(data);
case 480: return new ::Ifc4::IfcIndexedPolyCurve(data);
case 481: return new ::Ifc4::IfcIndexedPolygonalFace(data);
case 482: return new ::Ifc4::IfcIndexedPolygonalFaceWithVoids(data);
case 483: return new ::Ifc4::IfcIndexedTextureMap(data);
case 484: return new ::Ifc4::IfcIndexedTriangleTextureMap(data);
case 485: return new ::Ifc4::IfcInductanceMeasure(data);
case 486: return new ::Ifc4::IfcInteger(data);
case 487: return new ::Ifc4::IfcIntegerCountRateMeasure(data);
case 488: return new ::Ifc4::IfcInterceptor(data);
case 489: return new ::Ifc4::IfcInterceptorType(data);
case 492: return new ::Ifc4::IfcIntersectionCurve(data);
case 493: return new ::Ifc4::IfcInventory(data);
case 495: return new ::Ifc4::IfcIonConcentrationMeasure(data);
case 496: return new ::Ifc4::IfcIrregularTimeSeries(data);
case 497: return new ::Ifc4::IfcIrregularTimeSeriesValue(data);
case 498: return new ::Ifc4::IfcIShapeProfileDef(data);
case 499: return new ::Ifc4::IfcIsothermalMoistureCapacityMeasure(data);
case 500: return new ::Ifc4::IfcJunctionBox(data);
case 501: return new ::Ifc4::IfcJunctionBoxType(data);
case 503: return new ::Ifc4::IfcKinematicViscosityMeasure(data);
case 505: return new ::Ifc4::IfcLabel(data);
case 506: return new ::Ifc4::IfcLaborResource(data);
case 507: return new ::Ifc4::IfcLaborResourceType(data);
case 509: return new ::Ifc4::IfcLagTime(data);
case 510: return new ::Ifc4::IfcLamp(data);
case 511: return new ::Ifc4::IfcLampType(data);
case 513: return new ::Ifc4::IfcLanguageId(data);
case 516: return new ::Ifc4::IfcLengthMeasure(data);
case 517: return new ::Ifc4::IfcLibraryInformation(data);
case 518: return new ::Ifc4::IfcLibraryReference(data);
case 521: return new ::Ifc4::IfcLightDistributionData(data);
case 524: return new ::Ifc4::IfcLightFixture(data);
case 525: return new ::Ifc4::IfcLightFixtureType(data);
case 527: return new ::Ifc4::IfcLightIntensityDistribution(data);
case 528: return new ::Ifc4::IfcLightSource(data);
case 529: return new ::Ifc4::IfcLightSourceAmbient(data);
case 530: return new ::Ifc4::IfcLightSourceDirectional(data);
case 531: return new ::Ifc4::IfcLightSourceGoniometric(data);
case 532: return new ::Ifc4::IfcLightSourcePositional(data);
case 533: return new ::Ifc4::IfcLightSourceSpot(data);
case 534: return new ::Ifc4::IfcLine(data);
case 535: return new ::Ifc4::IfcLinearForceMeasure(data);
case 536: return new ::Ifc4::IfcLinearMomentMeasure(data);
case 537: return new ::Ifc4::IfcLinearStiffnessMeasure(data);
case 538: return new ::Ifc4::IfcLinearVelocityMeasure(data);
case 539: return new ::Ifc4::IfcLineIndex(data);
case 541: return new ::Ifc4::IfcLocalPlacement(data);
case 542: return new ::Ifc4::IfcLogical(data);
case 544: return new ::Ifc4::IfcLoop(data);
case 545: return new ::Ifc4::IfcLShapeProfileDef(data);
case 546: return new ::Ifc4::IfcLuminousFluxMeasure(data);
case 547: return new ::Ifc4::IfcLuminousIntensityDistributionMeasure(data);
case 548: return new ::Ifc4::IfcLuminousIntensityMeasure(data);
case 549: return new ::Ifc4::IfcMagneticFluxDensityMeasure(data);
case 550: return new ::Ifc4::IfcMagneticFluxMeasure(data);
case 551: return new ::Ifc4::IfcManifoldSolidBrep(data);
case 552: return new ::Ifc4::IfcMapConversion(data);
case 553: return new ::Ifc4::IfcMappedItem(data);
case 554: return new ::Ifc4::IfcMassDensityMeasure(data);
case 555: return new ::Ifc4::IfcMassFlowRateMeasure(data);
case 556: return new ::Ifc4::IfcMassMeasure(data);
case 557: return new ::Ifc4::IfcMassPerLengthMeasure(data);
case 558: return new ::Ifc4::IfcMaterial(data);
case 559: return new ::Ifc4::IfcMaterialClassificationRelationship(data);
case 560: return new ::Ifc4::IfcMaterialConstituent(data);
case 561: return new ::Ifc4::IfcMaterialConstituentSet(data);
case 562: return new ::Ifc4::IfcMaterialDefinition(data);
case 563: return new ::Ifc4::IfcMaterialDefinitionRepresentation(data);
case 564: return new ::Ifc4::IfcMaterialLayer(data);
case 565: return new ::Ifc4::IfcMaterialLayerSet(data);
case 566: return new ::Ifc4::IfcMaterialLayerSetUsage(data);
case 567: return new ::Ifc4::IfcMaterialLayerWithOffsets(data);
case 568: return new ::Ifc4::IfcMaterialList(data);
case 569: return new ::Ifc4::IfcMaterialProfile(data);
case 570: return new ::Ifc4::IfcMaterialProfileSet(data);
case 571: return new ::Ifc4::IfcMaterialProfileSetUsage(data);
case 572: return new ::Ifc4::IfcMaterialProfileSetUsageTapering(data);
case 573: return new ::Ifc4::IfcMaterialProfileWithOffsets(data);
case 574: return new ::Ifc4::IfcMaterialProperties(data);
case 575: return new ::Ifc4::IfcMaterialRelationship(data);
case 577: return new ::Ifc4::IfcMaterialUsageDefinition(data);
case 579: return new ::Ifc4::IfcMeasureWithUnit(data);
case 580: return new ::Ifc4::IfcMechanicalFastener(data);
case 581: return new ::Ifc4::IfcMechanicalFastenerType(data);
case 583: return new ::Ifc4::IfcMedicalDevice(data);
case 584: return new ::Ifc4::IfcMedicalDeviceType(data);
case 586: return new ::Ifc4::IfcMember(data);
case 587: return new ::Ifc4::IfcMemberStandardCase(data);
case 588: return new ::Ifc4::IfcMemberType(data);
case 590: return new ::Ifc4::IfcMetric(data);
case 592: return new ::Ifc4::IfcMirroredProfileDef(data);
case 593: return new ::Ifc4::IfcModulusOfElasticityMeasure(data);
case 594: return new ::Ifc4::IfcModulusOfLinearSubgradeReactionMeasure(data);
case 595: return new ::Ifc4::IfcModulusOfRotationalSubgradeReactionMeasure(data);
case 597: return new ::Ifc4::IfcModulusOfSubgradeReactionMeasure(data);
case 600: return new ::Ifc4::IfcMoistureDiffusivityMeasure(data);
case 601: return new ::Ifc4::IfcMolecularWeightMeasure(data);
case 602: return new ::Ifc4::IfcMomentOfInertiaMeasure(data);
case 603: return new ::Ifc4::IfcMonetaryMeasure(data);
case 604: return new ::Ifc4::IfcMonetaryUnit(data);
case 605: return new ::Ifc4::IfcMonthInYearNumber(data);
case 606: return new ::Ifc4::IfcMotorConnection(data);
case 607: return new ::Ifc4::IfcMotorConnectionType(data);
case 609: return new ::Ifc4::IfcNamedUnit(data);
case 610: return new ::Ifc4::IfcNonNegativeLengthMeasure(data);
case 611: return new ::Ifc4::IfcNormalisedRatioMeasure(data);
case 613: return new ::Ifc4::IfcNumericMeasure(data);
case 614: return new ::Ifc4::IfcObject(data);
case 615: return new ::Ifc4::IfcObjectDefinition(data);
case 616: return new ::Ifc4::IfcObjective(data);
case 618: return new ::Ifc4::IfcObjectPlacement(data);
case 621: return new ::Ifc4::IfcOccupant(data);
case 623: return new ::Ifc4::IfcOffsetCurve2D(data);
case 624: return new ::Ifc4::IfcOffsetCurve3D(data);
case 625: return new ::Ifc4::IfcOpeningElement(data);
case 627: return new ::Ifc4::IfcOpeningStandardCase(data);
case 628: return new ::Ifc4::IfcOpenShell(data);
case 629: return new ::Ifc4::IfcOrganization(data);
case 630: return new ::Ifc4::IfcOrganizationRelationship(data);
case 631: return new ::Ifc4::IfcOrientedEdge(data);
case 632: return new ::Ifc4::IfcOuterBoundaryCurve(data);
case 633: return new ::Ifc4::IfcOutlet(data);
case 634: return new ::Ifc4::IfcOutletType(data);
case 636: return new ::Ifc4::IfcOwnerHistory(data);
case 637: return new ::Ifc4::IfcParameterizedProfileDef(data);
case 638: return new ::Ifc4::IfcParameterValue(data);
case 639: return new ::Ifc4::IfcPath(data);
case 640: return new ::Ifc4::IfcPcurve(data);
case 641: return new ::Ifc4::IfcPerformanceHistory(data);
case 644: return new ::Ifc4::IfcPermeableCoveringProperties(data);
case 645: return new ::Ifc4::IfcPermit(data);
case 647: return new ::Ifc4::IfcPerson(data);
case 648: return new ::Ifc4::IfcPersonAndOrganization(data);
case 649: return new ::Ifc4::IfcPHMeasure(data);
case 650: return new ::Ifc4::IfcPhysicalComplexQuantity(data);
case 652: return new ::Ifc4::IfcPhysicalQuantity(data);
case 653: return new ::Ifc4::IfcPhysicalSimpleQuantity(data);
case 654: return new ::Ifc4::IfcPile(data);
case 656: return new ::Ifc4::IfcPileType(data);
case 658: return new ::Ifc4::IfcPipeFitting(data);
case 659: return new ::Ifc4::IfcPipeFittingType(data);
case 661: return new ::Ifc4::IfcPipeSegment(data);
case 662: return new ::Ifc4::IfcPipeSegmentType(data);
case 664: return new ::Ifc4::IfcPixelTexture(data);
case 665: return new ::Ifc4::IfcPlacement(data);
case 666: return new ::Ifc4::IfcPlanarBox(data);
case 667: return new ::Ifc4::IfcPlanarExtent(data);
case 668: return new ::Ifc4::IfcPlanarForceMeasure(data);
case 669: return new ::Ifc4::IfcPlane(data);
case 670: return new ::Ifc4::IfcPlaneAngleMeasure(data);
case 671: return new ::Ifc4::IfcPlate(data);
case 672: return new ::Ifc4::IfcPlateStandardCase(data);
case 673: return new ::Ifc4::IfcPlateType(data);
case 675: return new ::Ifc4::IfcPoint(data);
case 676: return new ::Ifc4::IfcPointOnCurve(data);
case 677: return new ::Ifc4::IfcPointOnSurface(data);
case 679: return new ::Ifc4::IfcPolygonalBoundedHalfSpace(data);
case 680: return new ::Ifc4::IfcPolygonalFaceSet(data);
case 681: return new ::Ifc4::IfcPolyline(data);
case 682: return new ::Ifc4::IfcPolyLoop(data);
case 683: return new ::Ifc4::IfcPort(data);
case 684: return new ::Ifc4::IfcPositiveInteger(data);
case 685: return new ::Ifc4::IfcPositiveLengthMeasure(data);
case 686: return new ::Ifc4::IfcPositivePlaneAngleMeasure(data);
case 687: return new ::Ifc4::IfcPositiveRatioMeasure(data);
case 688: return new ::Ifc4::IfcPostalAddress(data);
case 689: return new ::Ifc4::IfcPowerMeasure(data);
case 690: return new ::Ifc4::IfcPreDefinedColour(data);
case 691: return new ::Ifc4::IfcPreDefinedCurveFont(data);
case 692: return new ::Ifc4::IfcPreDefinedItem(data);
case 693: return new ::Ifc4::IfcPreDefinedProperties(data);
case 694: return new ::Ifc4::IfcPreDefinedPropertySet(data);
case 695: return new ::Ifc4::IfcPreDefinedTextFont(data);
case 697: return new ::Ifc4::IfcPresentableText(data);
case 698: return new ::Ifc4::IfcPresentationItem(data);
case 699: return new ::Ifc4::IfcPresentationLayerAssignment(data);
case 700: return new ::Ifc4::IfcPresentationLayerWithStyle(data);
case 701: return new ::Ifc4::IfcPresentationStyle(data);
case 702: return new ::Ifc4::IfcPresentationStyleAssignment(data);
case 704: return new ::Ifc4::IfcPressureMeasure(data);
case 705: return new ::Ifc4::IfcProcedure(data);
case 706: return new ::Ifc4::IfcProcedureType(data);
case 708: return new ::Ifc4::IfcProcess(data);
case 710: return new ::Ifc4::IfcProduct(data);
case 711: return new ::Ifc4::IfcProductDefinitionShape(data);
case 712: return new ::Ifc4::IfcProductRepresentation(data);
case 715: return new ::Ifc4::IfcProfileDef(data);
case 716: return new ::Ifc4::IfcProfileProperties(data);
case 718: return new ::Ifc4::IfcProject(data);
case 719: return new ::Ifc4::IfcProjectedCRS(data);
case 721: return new ::Ifc4::IfcProjectionElement(data);
case 723: return new ::Ifc4::IfcProjectLibrary(data);
case 724: return new ::Ifc4::IfcProjectOrder(data);
case 726: return new ::Ifc4::IfcProperty(data);
case 727: return new ::Ifc4::IfcPropertyAbstraction(data);
case 728: return new ::Ifc4::IfcPropertyBoundedValue(data);
case 729: return new ::Ifc4::IfcPropertyDefinition(data);
case 730: return new ::Ifc4::IfcPropertyDependencyRelationship(data);
case 731: return new ::Ifc4::IfcPropertyEnumeratedValue(data);
case 732: return new ::Ifc4::IfcPropertyEnumeration(data);
case 733: return new ::Ifc4::IfcPropertyListValue(data);
case 734: return new ::Ifc4::IfcPropertyReferenceValue(data);
case 735: return new ::Ifc4::IfcPropertySet(data);
case 736: return new ::Ifc4::IfcPropertySetDefinition(data);
case 738: return new ::Ifc4::IfcPropertySetDefinitionSet(data);
case 739: return new ::Ifc4::IfcPropertySetTemplate(data);
case 741: return new ::Ifc4::IfcPropertySingleValue(data);
case 742: return new ::Ifc4::IfcPropertyTableValue(data);
case 743: return new ::Ifc4::IfcPropertyTemplate(data);
case 744: return new ::Ifc4::IfcPropertyTemplateDefinition(data);
case 745: return new ::Ifc4::IfcProtectiveDevice(data);
case 746: return new ::Ifc4::IfcProtectiveDeviceTrippingUnit(data);
case 747: return new ::Ifc4::IfcProtectiveDeviceTrippingUnitType(data);
case 749: return new ::Ifc4::IfcProtectiveDeviceType(data);
case 751: return new ::Ifc4::IfcProxy(data);
case 752: return new ::Ifc4::IfcPump(data);
case 753: return new ::Ifc4::IfcPumpType(data);
case 755: return new ::Ifc4::IfcQuantityArea(data);
case 756: return new ::Ifc4::IfcQuantityCount(data);
case 757: return new ::Ifc4::IfcQuantityLength(data);
case 758: return new ::Ifc4::IfcQuantitySet(data);
case 759: return new ::Ifc4::IfcQuantityTime(data);
case 760: return new ::Ifc4::IfcQuantityVolume(data);
case 761: return new ::Ifc4::IfcQuantityWeight(data);
case 762: return new ::Ifc4::IfcRadioActivityMeasure(data);
case 763: return new ::Ifc4::IfcRailing(data);
case 764: return new ::Ifc4::IfcRailingType(data);
case 766: return new ::Ifc4::IfcRamp(data);
case 767: return new ::Ifc4::IfcRampFlight(data);
case 768: return new ::Ifc4::IfcRampFlightType(data);
case 770: return new ::Ifc4::IfcRampType(data);
case 772: return new ::Ifc4::IfcRatioMeasure(data);
case 773: return new ::Ifc4::IfcRationalBSplineCurveWithKnots(data);
case 774: return new ::Ifc4::IfcRationalBSplineSurfaceWithKnots(data);
case 775: return new ::Ifc4::IfcReal(data);
case 776: return new ::Ifc4::IfcRectangleHollowProfileDef(data);
case 777: return new ::Ifc4::IfcRectangleProfileDef(data);
case 778: return new ::Ifc4::IfcRectangularPyramid(data);
case 779: return new ::Ifc4::IfcRectangularTrimmedSurface(data);
case 780: return new ::Ifc4::IfcRecurrencePattern(data);
case 782: return new ::Ifc4::IfcReference(data);
case 784: return new ::Ifc4::IfcRegularTimeSeries(data);
case 785: return new ::Ifc4::IfcReinforcementBarProperties(data);
case 786: return new ::Ifc4::IfcReinforcementDefinitionProperties(data);
case 787: return new ::Ifc4::IfcReinforcingBar(data);
case 790: return new ::Ifc4::IfcReinforcingBarType(data);
case 792: return new ::Ifc4::IfcReinforcingElement(data);
case 793: return new ::Ifc4::IfcReinforcingElementType(data);
case 794: return new ::Ifc4::IfcReinforcingMesh(data);
case 795: return new ::Ifc4::IfcReinforcingMeshType(data);
case 797: return new ::Ifc4::IfcRelAggregates(data);
case 798: return new ::Ifc4::IfcRelAssigns(data);
case 799: return new ::Ifc4::IfcRelAssignsToActor(data);
case 800: return new ::Ifc4::IfcRelAssignsToControl(data);
case 801: return new ::Ifc4::IfcRelAssignsToGroup(data);
case 802: return new ::Ifc4::IfcRelAssignsToGroupByFactor(data);
case 803: return new ::Ifc4::IfcRelAssignsToProcess(data);
case 804: return new ::Ifc4::IfcRelAssignsToProduct(data);
case 805: return new ::Ifc4::IfcRelAssignsToResource(data);
case 806: return new ::Ifc4::IfcRelAssociates(data);
case 807: return new ::Ifc4::IfcRelAssociatesApproval(data);
case 808: return new ::Ifc4::IfcRelAssociatesClassification(data);
case 809: return new ::Ifc4::IfcRelAssociatesConstraint(data);
case 810: return new ::Ifc4::IfcRelAssociatesDocument(data);
case 811: return new ::Ifc4::IfcRelAssociatesLibrary(data);
case 812: return new ::Ifc4::IfcRelAssociatesMaterial(data);
case 813: return new ::Ifc4::IfcRelationship(data);
case 814: return new ::Ifc4::IfcRelConnects(data);
case 815: return new ::Ifc4::IfcRelConnectsElements(data);
case 816: return new ::Ifc4::IfcRelConnectsPathElements(data);
case 817: return new ::Ifc4::IfcRelConnectsPorts(data);
case 818: return new ::Ifc4::IfcRelConnectsPortToElement(data);
case 819: return new ::Ifc4::IfcRelConnectsStructuralActivity(data);
case 820: return new ::Ifc4::IfcRelConnectsStructuralMember(data);
case 821: return new ::Ifc4::IfcRelConnectsWithEccentricity(data);
case 822: return new ::Ifc4::IfcRelConnectsWithRealizingElements(data);
case 823: return new ::Ifc4::IfcRelContainedInSpatialStructure(data);
case 824: return new ::Ifc4::IfcRelCoversBldgElements(data);
case 825: return new ::Ifc4::IfcRelCoversSpaces(data);
case 826: return new ::Ifc4::IfcRelDeclares(data);
case 827: return new ::Ifc4::IfcRelDecomposes(data);
case 828: return new ::Ifc4::IfcRelDefines(data);
case 829: return new ::Ifc4::IfcRelDefinesByObject(data);
case 830: return new ::Ifc4::IfcRelDefinesByProperties(data);
case 831: return new ::Ifc4::IfcRelDefinesByTemplate(data);
case 832: return new ::Ifc4::IfcRelDefinesByType(data);
case 833: return new ::Ifc4::IfcRelFillsElement(data);
case 834: return new ::Ifc4::IfcRelFlowControlElements(data);
case 835: return new ::Ifc4::IfcRelInterferesElements(data);
case 836: return new ::Ifc4::IfcRelNests(data);
case 837: return new ::Ifc4::IfcRelProjectsElement(data);
case 838: return new ::Ifc4::IfcRelReferencedInSpatialStructure(data);
case 839: return new ::Ifc4::IfcRelSequence(data);
case 840: return new ::Ifc4::IfcRelServicesBuildings(data);
case 841: return new ::Ifc4::IfcRelSpaceBoundary(data);
case 842: return new ::Ifc4::IfcRelSpaceBoundary1stLevel(data);
case 843: return new ::Ifc4::IfcRelSpaceBoundary2ndLevel(data);
case 844: return new ::Ifc4::IfcRelVoidsElement(data);
case 845: return new ::Ifc4::IfcReparametrisedCompositeCurveSegment(data);
case 846: return new ::Ifc4::IfcRepresentation(data);
case 847: return new ::Ifc4::IfcRepresentationContext(data);
case 848: return new ::Ifc4::IfcRepresentationItem(data);
case 849: return new ::Ifc4::IfcRepresentationMap(data);
case 850: return new ::Ifc4::IfcResource(data);
case 851: return new ::Ifc4::IfcResourceApprovalRelationship(data);
case 852: return new ::Ifc4::IfcResourceConstraintRelationship(data);
case 853: return new ::Ifc4::IfcResourceLevelRelationship(data);
case 856: return new ::Ifc4::IfcResourceTime(data);
case 857: return new ::Ifc4::IfcRevolvedAreaSolid(data);
case 858: return new ::Ifc4::IfcRevolvedAreaSolidTapered(data);
case 859: return new ::Ifc4::IfcRightCircularCone(data);
case 860: return new ::Ifc4::IfcRightCircularCylinder(data);
case 862: return new ::Ifc4::IfcRoof(data);
case 863: return new ::Ifc4::IfcRoofType(data);
case 865: return new ::Ifc4::IfcRoot(data);
case 866: return new ::Ifc4::IfcRotationalFrequencyMeasure(data);
case 867: return new ::Ifc4::IfcRotationalMassMeasure(data);
case 868: return new ::Ifc4::IfcRotationalStiffnessMeasure(data);
case 870: return new ::Ifc4::IfcRoundedRectangleProfileDef(data);
case 871: return new ::Ifc4::IfcSanitaryTerminal(data);
case 872: return new ::Ifc4::IfcSanitaryTerminalType(data);
case 874: return new ::Ifc4::IfcSchedulingTime(data);
case 875: return new ::Ifc4::IfcSeamCurve(data);
case 876: return new ::Ifc4::IfcSectionalAreaIntegralMeasure(data);
case 877: return new ::Ifc4::IfcSectionedSpine(data);
case 878: return new ::Ifc4::IfcSectionModulusMeasure(data);
case 879: return new ::Ifc4::IfcSectionProperties(data);
case 880: return new ::Ifc4::IfcSectionReinforcementProperties(data);
case 883: return new ::Ifc4::IfcSensor(data);
case 884: return new ::Ifc4::IfcSensorType(data);
case 887: return new ::Ifc4::IfcShadingDevice(data);
case 888: return new ::Ifc4::IfcShadingDeviceType(data);
case 890: return new ::Ifc4::IfcShapeAspect(data);
case 891: return new ::Ifc4::IfcShapeModel(data);
case 892: return new ::Ifc4::IfcShapeRepresentation(data);
case 893: return new ::Ifc4::IfcShearModulusMeasure(data);
case 895: return new ::Ifc4::IfcShellBasedSurfaceModel(data);
case 896: return new ::Ifc4::IfcSimpleProperty(data);
case 897: return new ::Ifc4::IfcSimplePropertyTemplate(data);
case 901: return new ::Ifc4::IfcSite(data);
case 902: return new ::Ifc4::IfcSIUnit(data);
case 905: return new ::Ifc4::IfcSlab(data);
case 906: return new ::Ifc4::IfcSlabElementedCase(data);
case 907: return new ::Ifc4::IfcSlabStandardCase(data);
case 908: return new ::Ifc4::IfcSlabType(data);
case 910: return new ::Ifc4::IfcSlippageConnectionCondition(data);
case 911: return new ::Ifc4::IfcSolarDevice(data);
case 912: return new ::Ifc4::IfcSolarDeviceType(data);
case 914: return new ::Ifc4::IfcSolidAngleMeasure(data);
case 915: return new ::Ifc4::IfcSolidModel(data);
case 917: return new ::Ifc4::IfcSoundPowerLevelMeasure(data);
case 918: return new ::Ifc4::IfcSoundPowerMeasure(data);
case 919: return new ::Ifc4::IfcSoundPressureLevelMeasure(data);
case 920: return new ::Ifc4::IfcSoundPressureMeasure(data);
case 921: return new ::Ifc4::IfcSpace(data);
case 923: return new ::Ifc4::IfcSpaceHeater(data);
case 924: return new ::Ifc4::IfcSpaceHeaterType(data);
case 926: return new ::Ifc4::IfcSpaceType(data);
case 928: return new ::Ifc4::IfcSpatialElement(data);
case 929: return new ::Ifc4::IfcSpatialElementType(data);
case 930: return new ::Ifc4::IfcSpatialStructureElement(data);
case 931: return new ::Ifc4::IfcSpatialStructureElementType(data);
case 932: return new ::Ifc4::IfcSpatialZone(data);
case 933: return new ::Ifc4::IfcSpatialZoneType(data);
case 935: return new ::Ifc4::IfcSpecificHeatCapacityMeasure(data);
case 936: return new ::Ifc4::IfcSpecularExponent(data);
case 938: return new ::Ifc4::IfcSpecularRoughness(data);
case 939: return new ::Ifc4::IfcSphere(data);
case 940: return new ::Ifc4::IfcSphericalSurface(data);
case 941: return new ::Ifc4::IfcStackTerminal(data);
case 942: return new ::Ifc4::IfcStackTerminalType(data);
case 944: return new ::Ifc4::IfcStair(data);
case 945: return new ::Ifc4::IfcStairFlight(data);
case 946: return new ::Ifc4::IfcStairFlightType(data);
case 948: return new ::Ifc4::IfcStairType(data);
case 951: return new ::Ifc4::IfcStructuralAction(data);
case 952: return new ::Ifc4::IfcStructuralActivity(data);
case 954: return new ::Ifc4::IfcStructuralAnalysisModel(data);
case 955: return new ::Ifc4::IfcStructuralConnection(data);
case 956: return new ::Ifc4::IfcStructuralConnectionCondition(data);
case 957: return new ::Ifc4::IfcStructuralCurveAction(data);
case 959: return new ::Ifc4::IfcStructuralCurveConnection(data);
case 960: return new ::Ifc4::IfcStructuralCurveMember(data);
case 962: return new ::Ifc4::IfcStructuralCurveMemberVarying(data);
case 963: return new ::Ifc4::IfcStructuralCurveReaction(data);
case 964: return new ::Ifc4::IfcStructuralItem(data);
case 965: return new ::Ifc4::IfcStructuralLinearAction(data);
case 966: return new ::Ifc4::IfcStructuralLoad(data);
case 967: return new ::Ifc4::IfcStructuralLoadCase(data);
case 968: return new ::Ifc4::IfcStructuralLoadConfiguration(data);
case 969: return new ::Ifc4::IfcStructuralLoadGroup(data);
case 970: return new ::Ifc4::IfcStructuralLoadLinearForce(data);
case 971: return new ::Ifc4::IfcStructuralLoadOrResult(data);
case 972: return new ::Ifc4::IfcStructuralLoadPlanarForce(data);
case 973: return new ::Ifc4::IfcStructuralLoadSingleDisplacement(data);
case 974: return new ::Ifc4::IfcStructuralLoadSingleDisplacementDistortion(data);
case 975: return new ::Ifc4::IfcStructuralLoadSingleForce(data);
case 976: return new ::Ifc4::IfcStructuralLoadSingleForceWarping(data);
case 977: return new ::Ifc4::IfcStructuralLoadStatic(data);
case 978: return new ::Ifc4::IfcStructuralLoadTemperature(data);
case 979: return new ::Ifc4::IfcStructuralMember(data);
case 980: return new ::Ifc4::IfcStructuralPlanarAction(data);
case 981: return new ::Ifc4::IfcStructuralPointAction(data);
case 982: return new ::Ifc4::IfcStructuralPointConnection(data);
case 983: return new ::Ifc4::IfcStructuralPointReaction(data);
case 984: return new ::Ifc4::IfcStructuralReaction(data);
case 985: return new ::Ifc4::IfcStructuralResultGroup(data);
case 986: return new ::Ifc4::IfcStructuralSurfaceAction(data);
case 988: return new ::Ifc4::IfcStructuralSurfaceConnection(data);
case 989: return new ::Ifc4::IfcStructuralSurfaceMember(data);
case 991: return new ::Ifc4::IfcStructuralSurfaceMemberVarying(data);
case 992: return new ::Ifc4::IfcStructuralSurfaceReaction(data);
case 994: return new ::Ifc4::IfcStyledItem(data);
case 995: return new ::Ifc4::IfcStyledRepresentation(data);
case 996: return new ::Ifc4::IfcStyleModel(data);
case 997: return new ::Ifc4::IfcSubContractResource(data);
case 998: return new ::Ifc4::IfcSubContractResourceType(data);
case 1000: return new ::Ifc4::IfcSubedge(data);
case 1001: return new ::Ifc4::IfcSurface(data);
case 1002: return new ::Ifc4::IfcSurfaceCurve(data);
case 1003: return new ::Ifc4::IfcSurfaceCurveSweptAreaSolid(data);
case 1004: return new ::Ifc4::IfcSurfaceFeature(data);
case 1006: return new ::Ifc4::IfcSurfaceOfLinearExtrusion(data);
case 1007: return new ::Ifc4::IfcSurfaceOfRevolution(data);
case 1009: return new ::Ifc4::IfcSurfaceReinforcementArea(data);
case 1011: return new ::Ifc4::IfcSurfaceStyle(data);
case 1013: return new ::Ifc4::IfcSurfaceStyleLighting(data);
case 1014: return new ::Ifc4::IfcSurfaceStyleRefraction(data);
case 1015: return new ::Ifc4::IfcSurfaceStyleRendering(data);
case 1016: return new ::Ifc4::IfcSurfaceStyleShading(data);
case 1017: return new ::Ifc4::IfcSurfaceStyleWithTextures(data);
case 1018: return new ::Ifc4::IfcSurfaceTexture(data);
case 1019: return new ::Ifc4::IfcSweptAreaSolid(data);
case 1020: return new ::Ifc4::IfcSweptDiskSolid(data);
case 1021: return new ::Ifc4::IfcSweptDiskSolidPolygonal(data);
case 1022: return new ::Ifc4::IfcSweptSurface(data);
case 1023: return new ::Ifc4::IfcSwitchingDevice(data);
case 1024: return new ::Ifc4::IfcSwitchingDeviceType(data);
case 1026: return new ::Ifc4::IfcSystem(data);
case 1027: return new ::Ifc4::IfcSystemFurnitureElement(data);
case 1028: return new ::Ifc4::IfcSystemFurnitureElementType(data);
case 1030: return new ::Ifc4::IfcTable(data);
case 1031: return new ::Ifc4::IfcTableColumn(data);
case 1032: return new ::Ifc4::IfcTableRow(data);
case 1033: return new ::Ifc4::IfcTank(data);
case 1034: return new ::Ifc4::IfcTankType(data);
case 1036: return new ::Ifc4::IfcTask(data);
case 1038: return new ::Ifc4::IfcTaskTime(data);
case 1039: return new ::Ifc4::IfcTaskTimeRecurring(data);
case 1040: return new ::Ifc4::IfcTaskType(data);
case 1042: return new ::Ifc4::IfcTelecomAddress(data);
case 1043: return new ::Ifc4::IfcTemperatureGradientMeasure(data);
case 1044: return new ::Ifc4::IfcTemperatureRateOfChangeMeasure(data);
case 1045: return new ::Ifc4::IfcTendon(data);
case 1046: return new ::Ifc4::IfcTendonAnchor(data);
case 1047: return new ::Ifc4::IfcTendonAnchorType(data);
case 1049: return new ::Ifc4::IfcTendonType(data);
case 1051: return new ::Ifc4::IfcTessellatedFaceSet(data);
case 1052: return new ::Ifc4::IfcTessellatedItem(data);
case 1053: return new ::Ifc4::IfcText(data);
case 1054: return new ::Ifc4::IfcTextAlignment(data);
case 1055: return new ::Ifc4::IfcTextDecoration(data);
case 1056: return new ::Ifc4::IfcTextFontName(data);
case 1058: return new ::Ifc4::IfcTextLiteral(data);
case 1059: return new ::Ifc4::IfcTextLiteralWithExtent(data);
case 1061: return new ::Ifc4::IfcTextStyle(data);
case 1062: return new ::Ifc4::IfcTextStyleFontModel(data);
case 1063: return new ::Ifc4::IfcTextStyleForDefinedFont(data);
case 1064: return new ::Ifc4::IfcTextStyleTextModel(data);
case 1065: return new ::Ifc4::IfcTextTransformation(data);
case 1066: return new ::Ifc4::IfcTextureCoordinate(data);
case 1067: return new ::Ifc4::IfcTextureCoordinateGenerator(data);
case 1068: return new ::Ifc4::IfcTextureMap(data);
case 1069: return new ::Ifc4::IfcTextureVertex(data);
case 1070: return new ::Ifc4::IfcTextureVertexList(data);
case 1071: return new ::Ifc4::IfcThermalAdmittanceMeasure(data);
case 1072: return new ::Ifc4::IfcThermalConductivityMeasure(data);
case 1073: return new ::Ifc4::IfcThermalExpansionCoefficientMeasure(data);
case 1074: return new ::Ifc4::IfcThermalResistanceMeasure(data);
case 1075: return new ::Ifc4::IfcThermalTransmittanceMeasure(data);
case 1076: return new ::Ifc4::IfcThermodynamicTemperatureMeasure(data);
case 1077: return new ::Ifc4::IfcTime(data);
case 1078: return new ::Ifc4::IfcTimeMeasure(data);
case 1080: return new ::Ifc4::IfcTimePeriod(data);
case 1081: return new ::Ifc4::IfcTimeSeries(data);
case 1083: return new ::Ifc4::IfcTimeSeriesValue(data);
case 1084: return new ::Ifc4::IfcTimeStamp(data);
case 1085: return new ::Ifc4::IfcTopologicalRepresentationItem(data);
case 1086: return new ::Ifc4::IfcTopologyRepresentation(data);
case 1087: return new ::Ifc4::IfcToroidalSurface(data);
case 1088: return new ::Ifc4::IfcTorqueMeasure(data);
case 1089: return new ::Ifc4::IfcTransformer(data);
case 1090: return new ::Ifc4::IfcTransformerType(data);
case 1094: return new ::Ifc4::IfcTransportElement(data);
case 1095: return new ::Ifc4::IfcTransportElementType(data);
case 1097: return new ::Ifc4::IfcTrapeziumProfileDef(data);
case 1098: return new ::Ifc4::IfcTriangulatedFaceSet(data);
case 1099: return new ::Ifc4::IfcTrimmedCurve(data);
case 1102: return new ::Ifc4::IfcTShapeProfileDef(data);
case 1103: return new ::Ifc4::IfcTubeBundle(data);
case 1104: return new ::Ifc4::IfcTubeBundleType(data);
case 1106: return new ::Ifc4::IfcTypeObject(data);
case 1107: return new ::Ifc4::IfcTypeProcess(data);
case 1108: return new ::Ifc4::IfcTypeProduct(data);
case 1109: return new ::Ifc4::IfcTypeResource(data);
case 1111: return new ::Ifc4::IfcUnitaryControlElement(data);
case 1112: return new ::Ifc4::IfcUnitaryControlElementType(data);
case 1114: return new ::Ifc4::IfcUnitaryEquipment(data);
case 1115: return new ::Ifc4::IfcUnitaryEquipmentType(data);
case 1117: return new ::Ifc4::IfcUnitAssignment(data);
case 1119: return new ::Ifc4::IfcURIReference(data);
case 1120: return new ::Ifc4::IfcUShapeProfileDef(data);
case 1122: return new ::Ifc4::IfcValve(data);
case 1123: return new ::Ifc4::IfcValveType(data);
case 1125: return new ::Ifc4::IfcVaporPermeabilityMeasure(data);
case 1126: return new ::Ifc4::IfcVector(data);
case 1128: return new ::Ifc4::IfcVertex(data);
case 1129: return new ::Ifc4::IfcVertexLoop(data);
case 1130: return new ::Ifc4::IfcVertexPoint(data);
case 1131: return new ::Ifc4::IfcVibrationIsolator(data);
case 1132: return new ::Ifc4::IfcVibrationIsolatorType(data);
case 1134: return new ::Ifc4::IfcVirtualElement(data);
case 1135: return new ::Ifc4::IfcVirtualGridIntersection(data);
case 1136: return new ::Ifc4::IfcVoidingFeature(data);
case 1138: return new ::Ifc4::IfcVolumeMeasure(data);
case 1139: return new ::Ifc4::IfcVolumetricFlowRateMeasure(data);
case 1140: return new ::Ifc4::IfcWall(data);
case 1141: return new ::Ifc4::IfcWallElementedCase(data);
case 1142: return new ::Ifc4::IfcWallStandardCase(data);
case 1143: return new ::Ifc4::IfcWallType(data);
case 1145: return new ::Ifc4::IfcWarpingConstantMeasure(data);
case 1146: return new ::Ifc4::IfcWarpingMomentMeasure(data);
case 1148: return new ::Ifc4::IfcWasteTerminal(data);
case 1149: return new ::Ifc4::IfcWasteTerminalType(data);
case 1151: return new ::Ifc4::IfcWindow(data);
case 1152: return new ::Ifc4::IfcWindowLiningProperties(data);
case 1155: return new ::Ifc4::IfcWindowPanelProperties(data);
case 1156: return new ::Ifc4::IfcWindowStandardCase(data);
case 1157: return new ::Ifc4::IfcWindowStyle(data);
case 1160: return new ::Ifc4::IfcWindowType(data);
case 1163: return new ::Ifc4::IfcWorkCalendar(data);
case 1165: return new ::Ifc4::IfcWorkControl(data);
case 1166: return new ::Ifc4::IfcWorkPlan(data);
case 1168: return new ::Ifc4::IfcWorkSchedule(data);
case 1170: return new ::Ifc4::IfcWorkTime(data);
case 1171: return new ::Ifc4::IfcZone(data);
case 1172: return new ::Ifc4::IfcZShapeProfileDef(data);
default: throw IfcParse::IfcException(data->type()->name() + " cannot be instantiated");
}
}
};
#if defined(__clang__)
__attribute__((optnone))
#elif defined(__GNUC__) || defined(__GNUG__)
#pragma GCC push_options
#pragma GCC optimize ("O0")
#elif defined(_MSC_VER)
#pragma optimize("", off)
#endif
IfcParse::schema_definition* IFC4_populate_schema() {
IFC4_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 0, new simple_type(simple_type::real_type));
IFC4_IfcAccelerationMeasure_type = new type_declaration("IfcAccelerationMeasure", 1, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(7);
items.push_back("EMAIL");
items.push_back("FAX");
items.push_back("NOTDEFINED");
items.push_back("PHONE");
items.push_back("POST");
items.push_back("USERDEFINED");
items.push_back("VERBAL");
IFC4_IfcActionRequestTypeEnum_type = new enumeration_type("IfcActionRequestTypeEnum", 3, items);
}
{
std::vector items; items.reserve(27);
items.push_back("BRAKES");
items.push_back("BUOYANCY");
items.push_back("COMPLETION_G1");
items.push_back("CREEP");
items.push_back("CURRENT");
items.push_back("DEAD_LOAD_G");
items.push_back("EARTHQUAKE_E");
items.push_back("ERECTION");
items.push_back("FIRE");
items.push_back("ICE");
items.push_back("IMPACT");
items.push_back("IMPULSE");
items.push_back("LACK_OF_FIT");
items.push_back("LIVE_LOAD_Q");
items.push_back("NOTDEFINED");
items.push_back("PRESTRESSING_P");
items.push_back("PROPPING");
items.push_back("RAIN");
items.push_back("SETTLEMENT_U");
items.push_back("SHRINKAGE");
items.push_back("SNOW_S");
items.push_back("SYSTEM_IMPERFECTION");
items.push_back("TEMPERATURE_T");
items.push_back("TRANSPORT");
items.push_back("USERDEFINED");
items.push_back("WAVE");
items.push_back("WIND_W");
IFC4_IfcActionSourceTypeEnum_type = new enumeration_type("IfcActionSourceTypeEnum", 4, items);
}
{
std::vector items; items.reserve(5);
items.push_back("EXTRAORDINARY_A");
items.push_back("NOTDEFINED");
items.push_back("PERMANENT_G");
items.push_back("USERDEFINED");
items.push_back("VARIABLE_Q");
IFC4_IfcActionTypeEnum_type = new enumeration_type("IfcActionTypeEnum", 5, items);
}
{
std::vector items; items.reserve(7);
items.push_back("ELECTRICACTUATOR");
items.push_back("HANDOPERATEDACTUATOR");
items.push_back("HYDRAULICACTUATOR");
items.push_back("NOTDEFINED");
items.push_back("PNEUMATICACTUATOR");
items.push_back("THERMOSTATICACTUATOR");
items.push_back("USERDEFINED");
IFC4_IfcActuatorTypeEnum_type = new enumeration_type("IfcActuatorTypeEnum", 11, items);
}
{
std::vector items; items.reserve(5);
items.push_back("DISTRIBUTIONPOINT");
items.push_back("HOME");
items.push_back("OFFICE");
items.push_back("SITE");
items.push_back("USERDEFINED");
IFC4_IfcAddressTypeEnum_type = new enumeration_type("IfcAddressTypeEnum", 13, items);
}
{
std::vector items; items.reserve(5);
items.push_back("CONSTANTFLOW");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
items.push_back("VARIABLEFLOWPRESSUREDEPENDANT");
items.push_back("VARIABLEFLOWPRESSUREINDEPENDANT");
IFC4_IfcAirTerminalBoxTypeEnum_type = new enumeration_type("IfcAirTerminalBoxTypeEnum", 20, items);
}
{
std::vector items; items.reserve(6);
items.push_back("DIFFUSER");
items.push_back("GRILLE");
items.push_back("LOUVRE");
items.push_back("NOTDEFINED");
items.push_back("REGISTER");
items.push_back("USERDEFINED");
IFC4_IfcAirTerminalTypeEnum_type = new enumeration_type("IfcAirTerminalTypeEnum", 22, items);
}
{
std::vector items; items.reserve(11);
items.push_back("FIXEDPLATECOUNTERFLOWEXCHANGER");
items.push_back("FIXEDPLATECROSSFLOWEXCHANGER");
items.push_back("FIXEDPLATEPARALLELFLOWEXCHANGER");
items.push_back("HEATPIPE");
items.push_back("NOTDEFINED");
items.push_back("ROTARYWHEEL");
items.push_back("RUNAROUNDCOILLOOP");
items.push_back("THERMOSIPHONCOILTYPEHEATEXCHANGERS");
items.push_back("THERMOSIPHONSEALEDTUBEHEATEXCHANGERS");
items.push_back("TWINTOWERENTHALPYRECOVERYLOOPS");
items.push_back("USERDEFINED");
IFC4_IfcAirToAirHeatRecoveryTypeEnum_type = new enumeration_type("IfcAirToAirHeatRecoveryTypeEnum", 25, items);
}
{
std::vector items; items.reserve(8);
items.push_back("BELL");
items.push_back("BREAKGLASSBUTTON");
items.push_back("LIGHT");
items.push_back("MANUALPULLBOX");
items.push_back("NOTDEFINED");
items.push_back("SIREN");
items.push_back("USERDEFINED");
items.push_back("WHISTLE");
IFC4_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 28, items);
}
IFC4_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 29, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(5);
items.push_back("IN_PLANE_LOADING_2D");
items.push_back("LOADING_3D");
items.push_back("NOTDEFINED");
items.push_back("OUT_PLANE_LOADING_2D");
items.push_back("USERDEFINED");
IFC4_IfcAnalysisModelTypeEnum_type = new enumeration_type("IfcAnalysisModelTypeEnum", 30, items);
}
{
std::vector items; items.reserve(6);
items.push_back("FIRST_ORDER_THEORY");
items.push_back("FULL_NONLINEAR_THEORY");
items.push_back("NOTDEFINED");
items.push_back("SECOND_ORDER_THEORY");
items.push_back("THIRD_ORDER_THEORY");
items.push_back("USERDEFINED");
IFC4_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 31, items);
}
IFC4_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 32, new simple_type(simple_type::real_type));
IFC4_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 44, new simple_type(simple_type::real_type));
IFC4_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 45, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("ADD");
items.push_back("DIVIDE");
items.push_back("MULTIPLY");
items.push_back("SUBTRACT");
IFC4_IfcArithmeticOperatorEnum_type = new enumeration_type("IfcArithmeticOperatorEnum", 46, items);
}
{
std::vector items; items.reserve(3);
items.push_back("FACTORY");
items.push_back("NOTDEFINED");
items.push_back("SITE");
IFC4_IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", 47, items);
}
{
std::vector items; items.reserve(13);
items.push_back("AMPLIFIER");
items.push_back("CAMERA");
items.push_back("DISPLAY");
items.push_back("MICROPHONE");
items.push_back("NOTDEFINED");
items.push_back("PLAYER");
items.push_back("PROJECTOR");
items.push_back("RECEIVER");
items.push_back("SPEAKER");
items.push_back("SWITCHER");
items.push_back("TELEPHONE");
items.push_back("TUNER");
items.push_back("USERDEFINED");
IFC4_IfcAudioVisualApplianceTypeEnum_type = new enumeration_type("IfcAudioVisualApplianceTypeEnum", 52, items);
}
{
std::vector items; items.reserve(6);
items.push_back("CIRCULAR_ARC");
items.push_back("ELLIPTIC_ARC");
items.push_back("HYPERBOLIC_ARC");
items.push_back("PARABOLIC_ARC");
items.push_back("POLYLINE_FORM");
items.push_back("UNSPECIFIED");
IFC4_IfcBSplineCurveForm_type = new enumeration_type("IfcBSplineCurveForm", 86, items);
}
{
std::vector items; items.reserve(11);
items.push_back("CONICAL_SURF");
items.push_back("CYLINDRICAL_SURF");
items.push_back("GENERALISED_CONE");
items.push_back("PLANE_SURF");
items.push_back("QUADRIC_SURF");
items.push_back("RULED_SURF");
items.push_back("SPHERICAL_SURF");
items.push_back("SURF_OF_LINEAR_EXTRUSION");
items.push_back("SURF_OF_REVOLUTION");
items.push_back("TOROIDAL_SURF");
items.push_back("UNSPECIFIED");
IFC4_IfcBSplineSurfaceForm_type = new enumeration_type("IfcBSplineSurfaceForm", 89, items);
}
{
std::vector items; items.reserve(8);
items.push_back("BEAM");
items.push_back("HOLLOWCORE");
items.push_back("JOIST");
items.push_back("LINTEL");
items.push_back("NOTDEFINED");
items.push_back("SPANDREL");
items.push_back("T_BEAM");
items.push_back("USERDEFINED");
IFC4_IfcBeamTypeEnum_type = new enumeration_type("IfcBeamTypeEnum", 60, items);
}
{
std::vector items; items.reserve(10);
items.push_back("EQUALTO");
items.push_back("GREATERTHAN");
items.push_back("GREATERTHANOREQUALTO");
items.push_back("INCLUDEDIN");
items.push_back("INCLUDES");
items.push_back("LESSTHAN");
items.push_back("LESSTHANOREQUALTO");
items.push_back("NOTEQUALTO");
items.push_back("NOTINCLUDEDIN");
items.push_back("NOTINCLUDES");
IFC4_IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", 61, items);
}
IFC4_IfcBinary_type = new type_declaration("IfcBinary", 63, new simple_type(simple_type::binary_type));
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("STEAM");
items.push_back("USERDEFINED");
items.push_back("WATER");
IFC4_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 68, items);
}
IFC4_IfcBoolean_type = new type_declaration("IfcBoolean", 69, new simple_type(simple_type::boolean_type));
{
std::vector items; items.reserve(3);
items.push_back("DIFFERENCE");
items.push_back("INTERSECTION");
items.push_back("UNION");
IFC4_IfcBooleanOperator_type = new enumeration_type("IfcBooleanOperator", 72, items);
}
{
std::vector items; items.reserve(4);
items.push_back("INSULATION");
items.push_back("NOTDEFINED");
items.push_back("PRECASTPANEL");
items.push_back("USERDEFINED");
IFC4_IfcBuildingElementPartTypeEnum_type = new enumeration_type("IfcBuildingElementPartTypeEnum", 95, items);
}
{
std::vector items; items.reserve(7);
items.push_back("COMPLEX");
items.push_back("ELEMENT");
items.push_back("NOTDEFINED");
items.push_back("PARTIAL");
items.push_back("PROVISIONFORSPACE");
items.push_back("PROVISIONFORVOID");
items.push_back("USERDEFINED");
IFC4_IfcBuildingElementProxyTypeEnum_type = new enumeration_type("IfcBuildingElementProxyTypeEnum", 98, items);
}
{
std::vector items; items.reserve(8);
items.push_back("FENESTRATION");
items.push_back("FOUNDATION");
items.push_back("LOADBEARING");
items.push_back("NOTDEFINED");
items.push_back("OUTERSHELL");
items.push_back("SHADING");
items.push_back("TRANSPORT");
items.push_back("USERDEFINED");
IFC4_IfcBuildingSystemTypeEnum_type = new enumeration_type("IfcBuildingSystemTypeEnum", 102, items);
}
{
std::vector items; items.reserve(2);
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcBurnerTypeEnum_type = new enumeration_type("IfcBurnerTypeEnum", 105, items);
}
{
std::vector items; items.reserve(6);
items.push_back("BEND");
items.push_back("CROSS");
items.push_back("NOTDEFINED");
items.push_back("REDUCER");
items.push_back("TEE");
items.push_back("USERDEFINED");
IFC4_IfcCableCarrierFittingTypeEnum_type = new enumeration_type("IfcCableCarrierFittingTypeEnum", 108, items);
}
{
std::vector items; items.reserve(6);
items.push_back("CABLELADDERSEGMENT");
items.push_back("CABLETRAYSEGMENT");
items.push_back("CABLETRUNKINGSEGMENT");
items.push_back("CONDUITSEGMENT");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcCableCarrierSegmentTypeEnum_type = new enumeration_type("IfcCableCarrierSegmentTypeEnum", 111, items);
}
{
std::vector items; items.reserve(7);
items.push_back("CONNECTOR");
items.push_back("ENTRY");
items.push_back("EXIT");
items.push_back("JUNCTION");
items.push_back("NOTDEFINED");
items.push_back("TRANSITION");
items.push_back("USERDEFINED");
IFC4_IfcCableFittingTypeEnum_type = new enumeration_type("IfcCableFittingTypeEnum", 114, items);
}
{
std::vector items; items.reserve(6);
items.push_back("BUSBARSEGMENT");
items.push_back("CABLESEGMENT");
items.push_back("CONDUCTORSEGMENT");
items.push_back("CORESEGMENT");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", 117, items);
}
IFC4_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 118, new simple_type(simple_type::integer_type));
{
std::vector items; items.reserve(5);
items.push_back("ADDED");
items.push_back("DELETED");
items.push_back("MODIFIED");
items.push_back("NOCHANGE");
items.push_back("NOTDEFINED");
IFC4_IfcChangeActionEnum_type = new enumeration_type("IfcChangeActionEnum", 129, items);
}
{
std::vector items; items.reserve(5);
items.push_back("AIRCOOLED");
items.push_back("HEATRECOVERY");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
items.push_back("WATERCOOLED");
IFC4_IfcChillerTypeEnum_type = new enumeration_type("IfcChillerTypeEnum", 132, items);
}
{
std::vector items; items.reserve(2);
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcChimneyTypeEnum_type = new enumeration_type("IfcChimneyTypeEnum", 135, items);
}
{
std::vector items; items.reserve(9);
items.push_back("DXCOOLINGCOIL");
items.push_back("ELECTRICHEATINGCOIL");
items.push_back("GASHEATINGCOIL");
items.push_back("HYDRONICCOIL");
items.push_back("NOTDEFINED");
items.push_back("STEAMHEATINGCOIL");
items.push_back("USERDEFINED");
items.push_back("WATERCOOLINGCOIL");
items.push_back("WATERHEATINGCOIL");
IFC4_IfcCoilTypeEnum_type = new enumeration_type("IfcCoilTypeEnum", 148, items);
}
{
std::vector items; items.reserve(4);
items.push_back("COLUMN");
items.push_back("NOTDEFINED");
items.push_back("PILASTER");
items.push_back("USERDEFINED");
IFC4_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 157, items);
}
{
std::vector items; items.reserve(14);
items.push_back("ANTENNA");
items.push_back("COMPUTER");
items.push_back("FAX");
items.push_back("GATEWAY");
items.push_back("MODEM");
items.push_back("NETWORKAPPLIANCE");
items.push_back("NETWORKBRIDGE");
items.push_back("NETWORKHUB");
items.push_back("NOTDEFINED");
items.push_back("PRINTER");
items.push_back("REPEATER");
items.push_back("ROUTER");
items.push_back("SCANNER");
items.push_back("USERDEFINED");
IFC4_IfcCommunicationsApplianceTypeEnum_type = new enumeration_type("IfcCommunicationsApplianceTypeEnum", 160, items);
}
IFC4_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 161, new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type)));
{
std::vector items; items.reserve(2);
items.push_back("P_COMPLEX");
items.push_back("Q_COMPLEX");
IFC4_IfcComplexPropertyTemplateTypeEnum_type = new enumeration_type("IfcComplexPropertyTemplateTypeEnum", 164, items);
}
IFC4_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 169, new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type)));
{
std::vector items; items.reserve(17);
items.push_back("BOOSTER");
items.push_back("DYNAMIC");
items.push_back("HERMETIC");
items.push_back("NOTDEFINED");
items.push_back("OPENTYPE");
items.push_back("RECIPROCATING");
items.push_back("ROLLINGPISTON");
items.push_back("ROTARY");
items.push_back("ROTARYVANE");
items.push_back("SCROLL");
items.push_back("SEMIHERMETIC");
items.push_back("SINGLESCREW");
items.push_back("SINGLESTAGE");
items.push_back("TROCHOIDAL");
items.push_back("TWINSCREW");
items.push_back("USERDEFINED");
items.push_back("WELDEDSHELLHERMETIC");
IFC4_IfcCompressorTypeEnum_type = new enumeration_type("IfcCompressorTypeEnum", 172, items);
}
{
std::vector items; items.reserve(9);
items.push_back("AIRCOOLED");
items.push_back("EVAPORATIVECOOLED");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
items.push_back("WATERCOOLED");
items.push_back("WATERCOOLEDBRAZEDPLATE");
items.push_back("WATERCOOLEDSHELLCOIL");
items.push_back("WATERCOOLEDSHELLTUBE");
items.push_back("WATERCOOLEDTUBEINTUBE");
IFC4_IfcCondenserTypeEnum_type = new enumeration_type("IfcCondenserTypeEnum", 175, items);
}
{
std::vector items; items.reserve(4);
items.push_back("ATEND");
items.push_back("ATPATH");
items.push_back("ATSTART");
items.push_back("NOTDEFINED");
IFC4_IfcConnectionTypeEnum_type = new enumeration_type("IfcConnectionTypeEnum", 183, items);
}
{
std::vector items; items.reserve(5);
items.push_back("ADVISORY");
items.push_back("HARD");
items.push_back("NOTDEFINED");
items.push_back("SOFT");
items.push_back("USERDEFINED");
IFC4_IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", 186, items);
}
{
std::vector items; items.reserve(10);
items.push_back("DEMOLISHING");
items.push_back("EARTHMOVING");
items.push_back("ERECTING");
items.push_back("HEATING");
items.push_back("LIGHTING");
items.push_back("NOTDEFINED");
items.push_back("PAVING");
items.push_back("PUMPING");
items.push_back("TRANSPORTING");
items.push_back("USERDEFINED");
IFC4_IfcConstructionEquipmentResourceTypeEnum_type = new enumeration_type("IfcConstructionEquipmentResourceTypeEnum", 189, items);
}
{
std::vector items; items.reserve(11);
items.push_back("AGGREGATES");
items.push_back("CONCRETE");
items.push_back("DRYWALL");
items.push_back("FUEL");
items.push_back("GYPSUM");
items.push_back("MASONRY");
items.push_back("METAL");
items.push_back("NOTDEFINED");
items.push_back("PLASTIC");
items.push_back("USERDEFINED");
items.push_back("WOOD");
IFC4_IfcConstructionMaterialResourceTypeEnum_type = new enumeration_type("IfcConstructionMaterialResourceTypeEnum", 192, items);
}
{
std::vector items; items.reserve(4);
items.push_back("ASSEMBLY");
items.push_back("FORMWORK");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcConstructionProductResourceTypeEnum_type = new enumeration_type("IfcConstructionProductResourceTypeEnum", 195, items);
}
IFC4_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 199, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(7);
items.push_back("FLOATING");
items.push_back("MULTIPOSITION");
items.push_back("NOTDEFINED");
items.push_back("PROGRAMMABLE");
items.push_back("PROPORTIONAL");
items.push_back("TWOPOSITION");
items.push_back("USERDEFINED");
IFC4_IfcControllerTypeEnum_type = new enumeration_type("IfcControllerTypeEnum", 204, items);
}
{
std::vector items; items.reserve(4);
items.push_back("ACTIVE");
items.push_back("NOTDEFINED");
items.push_back("PASSIVE");
items.push_back("USERDEFINED");
IFC4_IfcCooledBeamTypeEnum_type = new enumeration_type("IfcCooledBeamTypeEnum", 209, items);
}
{
std::vector items; items.reserve(5);
items.push_back("MECHANICALFORCEDDRAFT");
items.push_back("MECHANICALINDUCEDDRAFT");
items.push_back("NATURALDRAFT");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcCoolingTowerTypeEnum_type = new enumeration_type("IfcCoolingTowerTypeEnum", 212, items);
}
{
std::vector items; items.reserve(2);
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcCostItemTypeEnum_type = new enumeration_type("IfcCostItemTypeEnum", 217, items);
}
{
std::vector items; items.reserve(9);
items.push_back("BUDGET");
items.push_back("COSTPLAN");
items.push_back("ESTIMATE");
items.push_back("NOTDEFINED");
items.push_back("PRICEDBILLOFQUANTITIES");
items.push_back("SCHEDULEOFRATES");
items.push_back("TENDER");
items.push_back("UNPRICEDBILLOFQUANTITIES");
items.push_back("USERDEFINED");
IFC4_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 219, items);
}
IFC4_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 221, new simple_type(simple_type::number_type));
{
std::vector items; items.reserve(12);
items.push_back("CEILING");
items.push_back("CLADDING");
items.push_back("FLOORING");
items.push_back("INSULATION");
items.push_back("MEMBRANE");
items.push_back("MOLDING");
items.push_back("NOTDEFINED");
items.push_back("ROOFING");
items.push_back("SKIRTINGBOARD");
items.push_back("SLEEVING");
items.push_back("USERDEFINED");
items.push_back("WRAPPING");
IFC4_IfcCoveringTypeEnum_type = new enumeration_type("IfcCoveringTypeEnum", 224, items);
}
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("OFFICE");
items.push_back("SITE");
items.push_back("USERDEFINED");
IFC4_IfcCrewResourceTypeEnum_type = new enumeration_type("IfcCrewResourceTypeEnum", 227, items);
}
{
std::vector items; items.reserve(2);
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 235, items);
}
IFC4_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 236, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("LINEAR");
items.push_back("LOG_LINEAR");
items.push_back("LOG_LOG");
items.push_back("NOTDEFINED");
IFC4_IfcCurveInterpolationEnum_type = new enumeration_type("IfcCurveInterpolationEnum", 241, items);
}
{
std::vector items; items.reserve(13);
items.push_back("BACKDRAFTDAMPER");
items.push_back("BALANCINGDAMPER");
items.push_back("BLASTDAMPER");
items.push_back("CONTROLDAMPER");
items.push_back("FIREDAMPER");
items.push_back("FIRESMOKEDAMPER");
items.push_back("FUMEHOODEXHAUST");
items.push_back("GRAVITYDAMPER");
items.push_back("GRAVITYRELIEFDAMPER");
items.push_back("NOTDEFINED");
items.push_back("RELIEFDAMPER");
items.push_back("SMOKEDAMPER");
items.push_back("USERDEFINED");
IFC4_IfcDamperTypeEnum_type = new enumeration_type("IfcDamperTypeEnum", 252, items);
}
{
std::vector items; items.reserve(5);
items.push_back("MEASURED");
items.push_back("NOTDEFINED");
items.push_back("PREDICTED");
items.push_back("SIMULATED");
items.push_back("USERDEFINED");
IFC4_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 253, items);
}
IFC4_IfcDate_type = new type_declaration("IfcDate", 254, new simple_type(simple_type::string_type));
IFC4_IfcDateTime_type = new type_declaration("IfcDateTime", 255, new simple_type(simple_type::string_type));
IFC4_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 256, new simple_type(simple_type::integer_type));
IFC4_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 257, new simple_type(simple_type::integer_type));
{
std::vector items; items.reserve(53);
items.push_back("ACCELERATIONUNIT");
items.push_back("ANGULARVELOCITYUNIT");
items.push_back("AREADENSITYUNIT");
items.push_back("COMPOUNDPLANEANGLEUNIT");
items.push_back("CURVATUREUNIT");
items.push_back("DYNAMICVISCOSITYUNIT");
items.push_back("HEATFLUXDENSITYUNIT");
items.push_back("HEATINGVALUEUNIT");
items.push_back("INTEGERCOUNTRATEUNIT");
items.push_back("IONCONCENTRATIONUNIT");
items.push_back("ISOTHERMALMOISTURECAPACITYUNIT");
items.push_back("KINEMATICVISCOSITYUNIT");
items.push_back("LINEARFORCEUNIT");
items.push_back("LINEARMOMENTUNIT");
items.push_back("LINEARSTIFFNESSUNIT");
items.push_back("LINEARVELOCITYUNIT");
items.push_back("LUMINOUSINTENSITYDISTRIBUTIONUNIT");
items.push_back("MASSDENSITYUNIT");
items.push_back("MASSFLOWRATEUNIT");
items.push_back("MASSPERLENGTHUNIT");
items.push_back("MODULUSOFELASTICITYUNIT");
items.push_back("MODULUSOFLINEARSUBGRADEREACTIONUNIT");
items.push_back("MODULUSOFROTATIONALSUBGRADEREACTIONUNIT");
items.push_back("MODULUSOFSUBGRADEREACTIONUNIT");
items.push_back("MOISTUREDIFFUSIVITYUNIT");
items.push_back("MOLECULARWEIGHTUNIT");
items.push_back("MOMENTOFINERTIAUNIT");
items.push_back("PHUNIT");
items.push_back("PLANARFORCEUNIT");
items.push_back("ROTATIONALFREQUENCYUNIT");
items.push_back("ROTATIONALMASSUNIT");
items.push_back("ROTATIONALSTIFFNESSUNIT");
items.push_back("SECTIONAREAINTEGRALUNIT");
items.push_back("SECTIONMODULUSUNIT");
items.push_back("SHEARMODULUSUNIT");
items.push_back("SOUNDPOWERLEVELUNIT");
items.push_back("SOUNDPOWERUNIT");
items.push_back("SOUNDPRESSURELEVELUNIT");
items.push_back("SOUNDPRESSUREUNIT");
items.push_back("SPECIFICHEATCAPACITYUNIT");
items.push_back("TEMPERATUREGRADIENTUNIT");
items.push_back("TEMPERATURERATEOFCHANGEUNIT");
items.push_back("THERMALADMITTANCEUNIT");
items.push_back("THERMALCONDUCTANCEUNIT");
items.push_back("THERMALEXPANSIONCOEFFICIENTUNIT");
items.push_back("THERMALRESISTANCEUNIT");
items.push_back("THERMALTRANSMITTANCEUNIT");
items.push_back("TORQUEUNIT");
items.push_back("USERDEFINED");
items.push_back("VAPORPERMEABILITYUNIT");
items.push_back("VOLUMETRICFLOWRATEUNIT");
items.push_back("WARPINGCONSTANTUNIT");
items.push_back("WARPINGMOMENTUNIT");
IFC4_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 263, items);
}
IFC4_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 264, new simple_type(simple_type::string_type));
IFC4_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 266, new simple_type(simple_type::integer_type));
{
std::vector items; items.reserve(2);
items.push_back("NEGATIVE");
items.push_back("POSITIVE");
IFC4_IfcDirectionSenseEnum_type = new enumeration_type("IfcDirectionSenseEnum", 268, items);
}
{
std::vector items; items.reserve(5);
items.push_back("ANCHORPLATE");
items.push_back("BRACKET");
items.push_back("NOTDEFINED");
items.push_back("SHOE");
items.push_back("USERDEFINED");
IFC4_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 271, items);
}
{
std::vector items; items.reserve(10);
items.push_back("FORMEDDUCT");
items.push_back("INSPECTIONCHAMBER");
items.push_back("INSPECTIONPIT");
items.push_back("MANHOLE");
items.push_back("METERCHAMBER");
items.push_back("NOTDEFINED");
items.push_back("SUMP");
items.push_back("TRENCH");
items.push_back("USERDEFINED");
items.push_back("VALVECHAMBER");
IFC4_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 274, items);
}
{
std::vector items; items.reserve(6);
items.push_back("CABLE");
items.push_back("CABLECARRIER");
items.push_back("DUCT");
items.push_back("NOTDEFINED");
items.push_back("PIPE");
items.push_back("USERDEFINED");
IFC4_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 283, items);
}
{
std::vector items; items.reserve(44);
items.push_back("AIRCONDITIONING");
items.push_back("AUDIOVISUAL");
items.push_back("CHEMICAL");
items.push_back("CHILLEDWATER");
items.push_back("COMMUNICATION");
items.push_back("COMPRESSEDAIR");
items.push_back("CONDENSERWATER");
items.push_back("CONTROL");
items.push_back("CONVEYING");
items.push_back("DATA");
items.push_back("DISPOSAL");
items.push_back("DOMESTICCOLDWATER");
items.push_back("DOMESTICHOTWATER");
items.push_back("DRAINAGE");
items.push_back("EARTHING");
items.push_back("ELECTRICAL");
items.push_back("ELECTROACOUSTIC");
items.push_back("EXHAUST");
items.push_back("FIREPROTECTION");
items.push_back("FUEL");
items.push_back("GAS");
items.push_back("HAZARDOUS");
items.push_back("HEATING");
items.push_back("LIGHTING");
items.push_back("LIGHTNINGPROTECTION");
items.push_back("MUNICIPALSOLIDWASTE");
items.push_back("NOTDEFINED");
items.push_back("OIL");
items.push_back("OPERATIONAL");
items.push_back("POWERGENERATION");
items.push_back("RAINWATER");
items.push_back("REFRIGERATION");
items.push_back("SECURITY");
items.push_back("SEWAGE");
items.push_back("SIGNAL");
items.push_back("STORMWATER");
items.push_back("TELEPHONE");
items.push_back("TV");
items.push_back("USERDEFINED");
items.push_back("VACUUM");
items.push_back("VENT");
items.push_back("VENTILATION");
items.push_back("WASTEWATER");
items.push_back("WATERSUPPLY");
IFC4_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 285, items);
}
{
std::vector items; items.reserve(6);
items.push_back("CONFIDENTIAL");
items.push_back("NOTDEFINED");
items.push_back("PERSONAL");
items.push_back("PUBLIC");
items.push_back("RESTRICTED");
items.push_back("USERDEFINED");
IFC4_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 286, items);
}
{
std::vector items; items.reserve(5);
items.push_back("DRAFT");
items.push_back("FINAL");
items.push_back("FINALDRAFT");
items.push_back("NOTDEFINED");
items.push_back("REVISION");
IFC4_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 291, items);
}
{
std::vector items; items.reserve(9);
items.push_back("DOUBLE_ACTING");
items.push_back("FIXEDPANEL");
items.push_back("FOLDING");
items.push_back("NOTDEFINED");
items.push_back("REVOLVING");
items.push_back("ROLLINGUP");
items.push_back("SLIDING");
items.push_back("SWINGING");
items.push_back("USERDEFINED");
IFC4_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 294, items);
}
{
std::vector items; items.reserve(4);
items.push_back("LEFT");
items.push_back("MIDDLE");
items.push_back("NOTDEFINED");
items.push_back("RIGHT");
IFC4_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 295, items);
}
{
std::vector items; items.reserve(9);
items.push_back("ALUMINIUM");
items.push_back("ALUMINIUM_PLASTIC");
items.push_back("ALUMINIUM_WOOD");
items.push_back("HIGH_GRADE_STEEL");
items.push_back("NOTDEFINED");
items.push_back("PLASTIC");
items.push_back("STEEL");
items.push_back("USERDEFINED");
items.push_back("WOOD");
IFC4_IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", 299, items);
}
{
std::vector items; items.reserve(18);
items.push_back("DOUBLE_DOOR_DOUBLE_SWING");
items.push_back("DOUBLE_DOOR_FOLDING");
items.push_back("DOUBLE_DOOR_SINGLE_SWING");
items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT");
items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT");
items.push_back("DOUBLE_DOOR_SLIDING");
items.push_back("DOUBLE_SWING_LEFT");
items.push_back("DOUBLE_SWING_RIGHT");
items.push_back("FOLDING_TO_LEFT");
items.push_back("FOLDING_TO_RIGHT");
items.push_back("NOTDEFINED");
items.push_back("REVOLVING");
items.push_back("ROLLINGUP");
items.push_back("SINGLE_SWING_LEFT");
items.push_back("SINGLE_SWING_RIGHT");
items.push_back("SLIDING_TO_LEFT");
items.push_back("SLIDING_TO_RIGHT");
items.push_back("USERDEFINED");
IFC4_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 300, items);
}
{
std::vector items; items.reserve(5);
items.push_back("DOOR");
items.push_back("GATE");
items.push_back("NOTDEFINED");
items.push_back("TRAPDOOR");
items.push_back("USERDEFINED");
IFC4_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 302, items);
}
{
std::vector items; items.reserve(20);
items.push_back("DOUBLE_DOOR_DOUBLE_SWING");
items.push_back("DOUBLE_DOOR_FOLDING");
items.push_back("DOUBLE_DOOR_SINGLE_SWING");
items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT");
items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT");
items.push_back("DOUBLE_DOOR_SLIDING");
items.push_back("DOUBLE_SWING_LEFT");
items.push_back("DOUBLE_SWING_RIGHT");
items.push_back("FOLDING_TO_LEFT");
items.push_back("FOLDING_TO_RIGHT");
items.push_back("NOTDEFINED");
items.push_back("REVOLVING");
items.push_back("ROLLINGUP");
items.push_back("SINGLE_SWING_LEFT");
items.push_back("SINGLE_SWING_RIGHT");
items.push_back("SLIDING_TO_LEFT");
items.push_back("SLIDING_TO_RIGHT");
items.push_back("SWING_FIXED_LEFT");
items.push_back("SWING_FIXED_RIGHT");
items.push_back("USERDEFINED");
IFC4_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 303, items);
}
IFC4_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 304, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(9);
items.push_back("BEND");
items.push_back("CONNECTOR");
items.push_back("ENTRY");
items.push_back("EXIT");
items.push_back("JUNCTION");
items.push_back("NOTDEFINED");
items.push_back("OBSTRUCTION");
items.push_back("TRANSITION");
items.push_back("USERDEFINED");
IFC4_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 309, items);
}
{
std::vector items; items.reserve(4);
items.push_back("FLEXIBLESEGMENT");
items.push_back("NOTDEFINED");
items.push_back("RIGIDSEGMENT");
items.push_back("USERDEFINED");
IFC4_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 312, items);
}
{
std::vector items; items.reserve(5);
items.push_back("FLATOVAL");
items.push_back("NOTDEFINED");
items.push_back("RECTANGULAR");
items.push_back("ROUND");
items.push_back("USERDEFINED");
IFC4_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 315, items);
}
IFC4_IfcDuration_type = new type_declaration("IfcDuration", 316, new simple_type(simple_type::string_type));
IFC4_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 317, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(18);
items.push_back("DISHWASHER");
items.push_back("ELECTRICCOOKER");
items.push_back("FREESTANDINGELECTRICHEATER");
items.push_back("FREESTANDINGFAN");
items.push_back("FREESTANDINGWATERCOOLER");
items.push_back("FREESTANDINGWATERHEATER");
items.push_back("FREEZER");
items.push_back("FRIDGE_FREEZER");
items.push_back("HANDDRYER");
items.push_back("KITCHENMACHINE");
items.push_back("MICROWAVE");
items.push_back("NOTDEFINED");
items.push_back("PHOTOCOPIER");
items.push_back("REFRIGERATOR");
items.push_back("TUMBLEDRYER");
items.push_back("USERDEFINED");
items.push_back("VENDINGMACHINE");
items.push_back("WASHINGMACHINE");
IFC4_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 323, items);
}
IFC4_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 324, new simple_type(simple_type::real_type));
IFC4_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 325, new simple_type(simple_type::real_type));
IFC4_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 326, new simple_type(simple_type::real_type));
IFC4_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 327, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(6);
items.push_back("CONSUMERUNIT");
items.push_back("DISTRIBUTIONBOARD");
items.push_back("MOTORCONTROLCENTRE");
items.push_back("NOTDEFINED");
items.push_back("SWITCHBOARD");
items.push_back("USERDEFINED");
IFC4_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 330, items);
}
{
std::vector items; items.reserve(7);
items.push_back("BATTERY");
items.push_back("CAPACITORBANK");
items.push_back("HARMONICFILTER");
items.push_back("INDUCTORBANK");
items.push_back("NOTDEFINED");
items.push_back("UPS");
items.push_back("USERDEFINED");
IFC4_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 333, items);
}
{
std::vector items; items.reserve(5);
items.push_back("CHP");
items.push_back("ENGINEGENERATOR");
items.push_back("NOTDEFINED");
items.push_back("STANDALONE");
items.push_back("USERDEFINED");
IFC4_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 336, items);
}
{
std::vector items; items.reserve(7);
items.push_back("DC");
items.push_back("INDUCTION");
items.push_back("NOTDEFINED");
items.push_back("POLYPHASE");
items.push_back("RELUCTANCESYNCHRONOUS");
items.push_back("SYNCHRONOUS");
items.push_back("USERDEFINED");
IFC4_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 339, items);
}
IFC4_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 340, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(5);
items.push_back("NOTDEFINED");
items.push_back("RELAY");
items.push_back("TIMECLOCK");
items.push_back("TIMEDELAY");
items.push_back("USERDEFINED");
IFC4_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 343, items);
}
IFC4_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 344, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(11);
items.push_back("ACCESSORY_ASSEMBLY");
items.push_back("ARCH");
items.push_back("BEAM_GRID");
items.push_back("BRACED_FRAME");
items.push_back("GIRDER");
items.push_back("NOTDEFINED");
items.push_back("REINFORCEMENT_UNIT");
items.push_back("RIGID_FRAME");
items.push_back("SLAB_FIELD");
items.push_back("TRUSS");
items.push_back("USERDEFINED");
IFC4_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 349, items);
}
{
std::vector items; items.reserve(3);
items.push_back("COMPLEX");
items.push_back("ELEMENT");
items.push_back("PARTIAL");
IFC4_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 352, items);
}
IFC4_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 359, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("EXTERNALCOMBUSTION");
items.push_back("INTERNALCOMBUSTION");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 362, items);
}
{
std::vector items; items.reserve(11);
items.push_back("DIRECTEVAPORATIVEAIRWASHER");
items.push_back("DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER");
items.push_back("DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER");
items.push_back("DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER");
items.push_back("DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER");
items.push_back("INDIRECTDIRECTCOMBINATION");
items.push_back("INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER");
items.push_back("INDIRECTEVAPORATIVEPACKAGEAIRCOOLER");
items.push_back("INDIRECTEVAPORATIVEWETCOIL");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 365, items);
}
{
std::vector items; items.reserve(8);
items.push_back("DIRECTEXPANSION");
items.push_back("DIRECTEXPANSIONBRAZEDPLATE");
items.push_back("DIRECTEXPANSIONSHELLANDTUBE");
items.push_back("DIRECTEXPANSIONTUBEINTUBE");
items.push_back("FLOODEDSHELLANDTUBE");
items.push_back("NOTDEFINED");
items.push_back("SHELLANDCOIL");
items.push_back("USERDEFINED");
IFC4_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 368, items);
}
{
std::vector items; items.reserve(6);
items.push_back("EVENTCOMPLEX");
items.push_back("EVENTMESSAGE");
items.push_back("EVENTRULE");
items.push_back("EVENTTIME");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 371, items);
}
{
std::vector items; items.reserve(5);
items.push_back("ENDEVENT");
items.push_back("INTERMEDIATEEVENT");
items.push_back("NOTDEFINED");
items.push_back("STARTEVENT");
items.push_back("USERDEFINED");
IFC4_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 373, items);
}
{
std::vector items; items.reserve(6);
items.push_back("EXTERNAL");
items.push_back("EXTERNAL_EARTH");
items.push_back("EXTERNAL_FIRE");
items.push_back("EXTERNAL_WATER");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 382, items);
}
{
std::vector items; items.reserve(9);
items.push_back("CENTRIFUGALAIRFOIL");
items.push_back("CENTRIFUGALBACKWARDINCLINEDCURVED");
items.push_back("CENTRIFUGALFORWARDCURVED");
items.push_back("CENTRIFUGALRADIAL");
items.push_back("NOTDEFINED");
items.push_back("PROPELLORAXIAL");
items.push_back("TUBEAXIAL");
items.push_back("USERDEFINED");
items.push_back("VANEAXIAL");
IFC4_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 396, items);
}
{
std::vector items; items.reserve(5);
items.push_back("GLUE");
items.push_back("MORTAR");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
items.push_back("WELD");
IFC4_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 399, items);
}
{
std::vector items; items.reserve(8);
items.push_back("AIRPARTICLEFILTER");
items.push_back("COMPRESSEDAIRFILTER");
items.push_back("NOTDEFINED");
items.push_back("ODORFILTER");
items.push_back("OILFILTER");
items.push_back("STRAINER");
items.push_back("USERDEFINED");
items.push_back("WATERFILTER");
IFC4_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 409, items);
}
{
std::vector items; items.reserve(7);
items.push_back("BREECHINGINLET");
items.push_back("FIREHYDRANT");
items.push_back("HOSEREEL");
items.push_back("NOTDEFINED");
items.push_back("SPRINKLER");
items.push_back("SPRINKLERDEFLECTOR");
items.push_back("USERDEFINED");
IFC4_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 412, items);
}
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("SINK");
items.push_back("SOURCE");
items.push_back("SOURCEANDSINK");
IFC4_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 416, items);
}
{
std::vector items; items.reserve(10);
items.push_back("AMMETER");
items.push_back("FREQUENCYMETER");
items.push_back("NOTDEFINED");
items.push_back("PHASEANGLEMETER");
items.push_back("POWERFACTORMETER");
items.push_back("PRESSUREGAUGE");
items.push_back("THERMOMETER");
items.push_back("USERDEFINED");
items.push_back("VOLTMETER_PEAK");
items.push_back("VOLTMETER_RMS");
IFC4_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 421, items);
}
{
std::vector items; items.reserve(6);
items.push_back("ENERGYMETER");
items.push_back("GASMETER");
items.push_back("NOTDEFINED");
items.push_back("OILMETER");
items.push_back("USERDEFINED");
items.push_back("WATERMETER");
IFC4_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 424, items);
}
IFC4_IfcFontStyle_type = new type_declaration("IfcFontStyle", 435, new simple_type(simple_type::string_type));
IFC4_IfcFontVariant_type = new type_declaration("IfcFontVariant", 436, new simple_type(simple_type::string_type));
IFC4_IfcFontWeight_type = new type_declaration("IfcFontWeight", 437, new simple_type(simple_type::string_type));
{
std::vector items; items.reserve(7);
items.push_back("CAISSON_FOUNDATION");
items.push_back("FOOTING_BEAM");
items.push_back("NOTDEFINED");
items.push_back("PAD_FOOTING");
items.push_back("PILE_CAP");
items.push_back("STRIP_FOOTING");
items.push_back("USERDEFINED");
IFC4_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 440, items);
}
IFC4_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 441, new simple_type(simple_type::real_type));
IFC4_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 442, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(9);
items.push_back("BED");
items.push_back("CHAIR");
items.push_back("DESK");
items.push_back("FILECABINET");
items.push_back("NOTDEFINED");
items.push_back("SHELF");
items.push_back("SOFA");
items.push_back("TABLE");
items.push_back("USERDEFINED");
IFC4_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 447, items);
}
{
std::vector items; items.reserve(3);
items.push_back("NOTDEFINED");
items.push_back("TERRAIN");
items.push_back("USERDEFINED");
IFC4_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 450, items);
}
{
std::vector items; items.reserve(9);
items.push_back("ELEVATION_VIEW");
items.push_back("GRAPH_VIEW");
items.push_back("MODEL_VIEW");
items.push_back("NOTDEFINED");
items.push_back("PLAN_VIEW");
items.push_back("REFLECTED_PLAN_VIEW");
items.push_back("SECTION_VIEW");
items.push_back("SKETCH_VIEW");
items.push_back("USERDEFINED");
IFC4_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 452, items);
}
{
std::vector items; items.reserve(2);
items.push_back("GLOBAL_COORDS");
items.push_back("LOCAL_COORDS");
IFC4_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 459, items);
}
IFC4_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 458, new simple_type(simple_type::string_type));
{
std::vector items; items.reserve(6);
items.push_back("IRREGULAR");
items.push_back("NOTDEFINED");
items.push_back("RADIAL");
items.push_back("RECTANGULAR");
items.push_back("TRIANGULAR");
items.push_back("USERDEFINED");
IFC4_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 464, items);
}
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("PLATE");
items.push_back("SHELLANDTUBE");
items.push_back("USERDEFINED");
IFC4_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 470, items);
}
IFC4_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 471, new simple_type(simple_type::real_type));
IFC4_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 472, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(15);
items.push_back("ADIABATICAIRWASHER");
items.push_back("ADIABATICATOMIZING");
items.push_back("ADIABATICCOMPRESSEDAIRNOZZLE");
items.push_back("ADIABATICPAN");
items.push_back("ADIABATICRIGIDMEDIA");
items.push_back("ADIABATICULTRASONIC");
items.push_back("ADIABATICWETTEDELEMENT");
items.push_back("ASSISTEDBUTANE");
items.push_back("ASSISTEDELECTRIC");
items.push_back("ASSISTEDNATURALGAS");
items.push_back("ASSISTEDPROPANE");
items.push_back("ASSISTEDSTEAM");
items.push_back("NOTDEFINED");
items.push_back("STEAMINJECTION");
items.push_back("USERDEFINED");
IFC4_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 475, items);
}
IFC4_IfcIdentifier_type = new type_declaration("IfcIdentifier", 476, new simple_type(simple_type::string_type));
IFC4_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 477, new simple_type(simple_type::real_type));
IFC4_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 485, new simple_type(simple_type::real_type));
IFC4_IfcInteger_type = new type_declaration("IfcInteger", 486, new simple_type(simple_type::integer_type));
IFC4_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 487, new simple_type(simple_type::integer_type));
{
std::vector items; items.reserve(6);
items.push_back("CYCLONIC");
items.push_back("GREASE");
items.push_back("NOTDEFINED");
items.push_back("OIL");
items.push_back("PETROL");
items.push_back("USERDEFINED");
IFC4_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 490, items);
}
{
std::vector items; items.reserve(6);
items.push_back("EXTERNAL");
items.push_back("EXTERNAL_EARTH");
items.push_back("EXTERNAL_FIRE");
items.push_back("EXTERNAL_WATER");
items.push_back("INTERNAL");
items.push_back("NOTDEFINED");
IFC4_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 491, items);
}
{
std::vector items; items.reserve(5);
items.push_back("ASSETINVENTORY");
items.push_back("FURNITUREINVENTORY");
items.push_back("NOTDEFINED");
items.push_back("SPACEINVENTORY");
items.push_back("USERDEFINED");
IFC4_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 494, items);
}
IFC4_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 495, new simple_type(simple_type::real_type));
IFC4_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 499, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("DATA");
items.push_back("NOTDEFINED");
items.push_back("POWER");
items.push_back("USERDEFINED");
IFC4_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 502, items);
}
IFC4_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 503, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("PIECEWISE_BEZIER_KNOTS");
items.push_back("QUASI_UNIFORM_KNOTS");
items.push_back("UNIFORM_KNOTS");
items.push_back("UNSPECIFIED");
IFC4_IfcKnotType_type = new enumeration_type("IfcKnotType", 504, items);
}
IFC4_IfcLabel_type = new type_declaration("IfcLabel", 505, new simple_type(simple_type::string_type));
{
std::vector items; items.reserve(21);
items.push_back("ADMINISTRATION");
items.push_back("CARPENTRY");
items.push_back("CLEANING");
items.push_back("CONCRETE");
items.push_back("DRYWALL");
items.push_back("ELECTRIC");
items.push_back("FINISHING");
items.push_back("FLOORING");
items.push_back("GENERAL");
items.push_back("HVAC");
items.push_back("LANDSCAPING");
items.push_back("MASONRY");
items.push_back("NOTDEFINED");
items.push_back("PAINTING");
items.push_back("PAVING");
items.push_back("PLUMBING");
items.push_back("ROOFING");
items.push_back("SITEGRADING");
items.push_back("STEELWORK");
items.push_back("SURVEYING");
items.push_back("USERDEFINED");
IFC4_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 508, items);
}
{
std::vector items; items.reserve(11);
items.push_back("COMPACTFLUORESCENT");
items.push_back("FLUORESCENT");
items.push_back("HALOGEN");
items.push_back("HIGHPRESSUREMERCURY");
items.push_back("HIGHPRESSURESODIUM");
items.push_back("LED");
items.push_back("METALHALIDE");
items.push_back("NOTDEFINED");
items.push_back("OLED");
items.push_back("TUNGSTENFILAMENT");
items.push_back("USERDEFINED");
IFC4_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 512, items);
}
IFC4_IfcLanguageId_type = new type_declaration("IfcLanguageId", 513, new named_type(IFC4_IfcIdentifier_type));
{
std::vector items; items.reserve(3);
items.push_back("AXIS1");
items.push_back("AXIS2");
items.push_back("AXIS3");
IFC4_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 515, items);
}
IFC4_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 516, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("TYPE_A");
items.push_back("TYPE_B");
items.push_back("TYPE_C");
IFC4_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 520, items);
}
{
std::vector items; items.reserve(11);
items.push_back("COMPACTFLUORESCENT");
items.push_back("FLUORESCENT");
items.push_back("HIGHPRESSUREMERCURY");
items.push_back("HIGHPRESSURESODIUM");
items.push_back("LIGHTEMITTINGDIODE");
items.push_back("LOWPRESSURESODIUM");
items.push_back("LOWVOLTAGEHALOGEN");
items.push_back("MAINVOLTAGEHALOGEN");
items.push_back("METALHALIDE");
items.push_back("NOTDEFINED");
items.push_back("TUNGSTENFILAMENT");
IFC4_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 523, items);
}
{
std::vector items; items.reserve(5);
items.push_back("DIRECTIONSOURCE");
items.push_back("NOTDEFINED");
items.push_back("POINTSOURCE");
items.push_back("SECURITYLIGHTING");
items.push_back("USERDEFINED");
IFC4_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 526, items);
}
IFC4_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 535, new simple_type(simple_type::real_type));
IFC4_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 536, new simple_type(simple_type::real_type));
IFC4_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 537, new simple_type(simple_type::real_type));
IFC4_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 538, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(5);
items.push_back("LOAD_CASE");
items.push_back("LOAD_COMBINATION");
items.push_back("LOAD_GROUP");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 540, items);
}
IFC4_IfcLogical_type = new type_declaration("IfcLogical", 542, new simple_type(simple_type::logical_type));
{
std::vector items; items.reserve(5);
items.push_back("LOGICALAND");
items.push_back("LOGICALNOTAND");
items.push_back("LOGICALNOTOR");
items.push_back("LOGICALOR");
items.push_back("LOGICALXOR");
IFC4_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 543, items);
}
IFC4_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 546, new simple_type(simple_type::real_type));
IFC4_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 547, new simple_type(simple_type::real_type));
IFC4_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 548, new simple_type(simple_type::real_type));
IFC4_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 549, new simple_type(simple_type::real_type));
IFC4_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 550, new simple_type(simple_type::real_type));
IFC4_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 554, new simple_type(simple_type::real_type));
IFC4_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 555, new simple_type(simple_type::real_type));
IFC4_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 556, new simple_type(simple_type::real_type));
IFC4_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 557, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(12);
items.push_back("ANCHORBOLT");
items.push_back("BOLT");
items.push_back("DOWEL");
items.push_back("NAIL");
items.push_back("NAILPLATE");
items.push_back("NOTDEFINED");
items.push_back("RIVET");
items.push_back("SCREW");
items.push_back("SHEARCONNECTOR");
items.push_back("STAPLE");
items.push_back("STUDSHEARCONNECTOR");
items.push_back("USERDEFINED");
IFC4_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 582, items);
}
{
std::vector items; items.reserve(7);
items.push_back("AIRSTATION");
items.push_back("FEEDAIRUNIT");
items.push_back("NOTDEFINED");
items.push_back("OXYGENGENERATOR");
items.push_back("OXYGENPLANT");
items.push_back("USERDEFINED");
items.push_back("VACUUMSTATION");
IFC4_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 585, items);
}
{
std::vector items; items.reserve(14);
items.push_back("BRACE");
items.push_back("CHORD");
items.push_back("COLLAR");
items.push_back("MEMBER");
items.push_back("MULLION");
items.push_back("NOTDEFINED");
items.push_back("PLATE");
items.push_back("POST");
items.push_back("PURLIN");
items.push_back("RAFTER");
items.push_back("STRINGER");
items.push_back("STRUT");
items.push_back("STUD");
items.push_back("USERDEFINED");
IFC4_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 589, items);
}
IFC4_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 593, new simple_type(simple_type::real_type));
IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 594, new simple_type(simple_type::real_type));
IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 595, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcBoolean_type);
items.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type);
IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 596, items);
}
IFC4_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 597, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcBoolean_type);
items.push_back(IFC4_IfcModulusOfSubgradeReactionMeasure_type);
IFC4_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 598, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcBoolean_type);
items.push_back(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type);
IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 599, items);
}
IFC4_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 600, new simple_type(simple_type::real_type));
IFC4_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 601, new simple_type(simple_type::real_type));
IFC4_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 602, new simple_type(simple_type::real_type));
IFC4_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 603, new simple_type(simple_type::real_type));
IFC4_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 605, new simple_type(simple_type::integer_type));
{
std::vector items; items.reserve(5);
items.push_back("BELTDRIVE");
items.push_back("COUPLING");
items.push_back("DIRECTDRIVE");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 608, items);
}
IFC4_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 610, new named_type(IFC4_IfcLengthMeasure_type));
{
std::vector items; items.reserve(1);
items.push_back("NULL");
IFC4_IfcNullStyle_type = new enumeration_type("IfcNullStyle", 612, items);
}
IFC4_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 613, new simple_type(simple_type::number_type));
{
std::vector items; items.reserve(8);
items.push_back("ACTOR");
items.push_back("CONTROL");
items.push_back("GROUP");
items.push_back("NOTDEFINED");
items.push_back("PROCESS");
items.push_back("PRODUCT");
items.push_back("PROJECT");
items.push_back("RESOURCE");
IFC4_IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", 620, items);
}
{
std::vector items; items.reserve(13);
items.push_back("CODECOMPLIANCE");
items.push_back("CODEWAIVER");
items.push_back("DESIGNINTENT");
items.push_back("EXTERNAL");
items.push_back("HEALTHANDSAFETY");
items.push_back("MERGECONFLICT");
items.push_back("MODELVIEW");
items.push_back("NOTDEFINED");
items.push_back("PARAMETER");
items.push_back("REQUIREMENT");
items.push_back("SPECIFICATION");
items.push_back("TRIGGERCONDITION");
items.push_back("USERDEFINED");
IFC4_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 617, items);
}
{
std::vector items; items.reserve(9);
items.push_back("ASSIGNEE");
items.push_back("ASSIGNOR");
items.push_back("LESSEE");
items.push_back("LESSOR");
items.push_back("LETTINGAGENT");
items.push_back("NOTDEFINED");
items.push_back("OWNER");
items.push_back("TENANT");
items.push_back("USERDEFINED");
IFC4_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 622, items);
}
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("OPENING");
items.push_back("RECESS");
items.push_back("USERDEFINED");
IFC4_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 626, items);
}
{
std::vector items; items.reserve(7);
items.push_back("AUDIOVISUALOUTLET");
items.push_back("COMMUNICATIONSOUTLET");
items.push_back("DATAOUTLET");
items.push_back("NOTDEFINED");
items.push_back("POWEROUTLET");
items.push_back("TELEPHONEOUTLET");
items.push_back("USERDEFINED");
IFC4_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 635, items);
}
IFC4_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 649, new simple_type(simple_type::real_type));
IFC4_IfcParameterValue_type = new type_declaration("IfcParameterValue", 638, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(2);
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 642, items);
}
{
std::vector items; items.reserve(5);
items.push_back("GRILL");
items.push_back("LOUVER");
items.push_back("NOTDEFINED");
items.push_back("SCREEN");
items.push_back("USERDEFINED");
IFC4_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 643, items);
}
{
std::vector items; items.reserve(5);
items.push_back("ACCESS");
items.push_back("BUILDING");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
items.push_back("WORK");
IFC4_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 646, items);
}
{
std::vector items; items.reserve(3);
items.push_back("NOTDEFINED");
items.push_back("PHYSICAL");
items.push_back("VIRTUAL");
IFC4_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 651, items);
}
{
std::vector items; items.reserve(6);
items.push_back("CAST_IN_PLACE");
items.push_back("COMPOSITE");
items.push_back("NOTDEFINED");
items.push_back("PRECAST_CONCRETE");
items.push_back("PREFAB_STEEL");
items.push_back("USERDEFINED");
IFC4_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 655, items);
}
{
std::vector items; items.reserve(8);
items.push_back("BORED");
items.push_back("COHESION");
items.push_back("DRIVEN");
items.push_back("FRICTION");
items.push_back("JETGROUTING");
items.push_back("NOTDEFINED");
items.push_back("SUPPORT");
items.push_back("USERDEFINED");
IFC4_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 657, items);
}
{
std::vector items; items.reserve(9);
items.push_back("BEND");
items.push_back("CONNECTOR");
items.push_back("ENTRY");
items.push_back("EXIT");
items.push_back("JUNCTION");
items.push_back("NOTDEFINED");
items.push_back("OBSTRUCTION");
items.push_back("TRANSITION");
items.push_back("USERDEFINED");
IFC4_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 660, items);
}
{
std::vector items; items.reserve(7);
items.push_back("CULVERT");
items.push_back("FLEXIBLESEGMENT");
items.push_back("GUTTER");
items.push_back("NOTDEFINED");
items.push_back("RIGIDSEGMENT");
items.push_back("SPOOL");
items.push_back("USERDEFINED");
IFC4_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 663, items);
}
IFC4_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 668, new simple_type(simple_type::real_type));
IFC4_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 670, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("CURTAIN_PANEL");
items.push_back("NOTDEFINED");
items.push_back("SHEET");
items.push_back("USERDEFINED");
IFC4_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 674, items);
}
IFC4_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 684, new named_type(IFC4_IfcInteger_type));
IFC4_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 685, new named_type(IFC4_IfcLengthMeasure_type));
IFC4_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 686, new named_type(IFC4_IfcPlaneAngleMeasure_type));
IFC4_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 689, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(3);
items.push_back("CURVE3D");
items.push_back("PCURVE_S1");
items.push_back("PCURVE_S2");
IFC4_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 696, items);
}
IFC4_IfcPresentableText_type = new type_declaration("IfcPresentableText", 697, new simple_type(simple_type::string_type));
IFC4_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 704, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(9);
items.push_back("ADVICE_CAUTION");
items.push_back("ADVICE_NOTE");
items.push_back("ADVICE_WARNING");
items.push_back("CALIBRATION");
items.push_back("DIAGNOSTIC");
items.push_back("NOTDEFINED");
items.push_back("SHUTDOWN");
items.push_back("STARTUP");
items.push_back("USERDEFINED");
IFC4_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 707, items);
}
{
std::vector items; items.reserve(2);
items.push_back("AREA");
items.push_back("CURVE");
IFC4_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 717, items);
}
{
std::vector items; items.reserve(7);
items.push_back("CHANGEORDER");
items.push_back("MAINTENANCEWORKORDER");
items.push_back("MOVEORDER");
items.push_back("NOTDEFINED");
items.push_back("PURCHASEORDER");
items.push_back("USERDEFINED");
items.push_back("WORKORDER");
IFC4_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 725, items);
}
{
std::vector items; items.reserve(2);
items.push_back("PROJECTED_LENGTH");
items.push_back("TRUE_LENGTH");
IFC4_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 720, items);
}
{
std::vector items; items.reserve(2);
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 722, items);
}
{
std::vector items; items.reserve(8);
items.push_back("NOTDEFINED");
items.push_back("PSET_OCCURRENCEDRIVEN");
items.push_back("PSET_PERFORMANCEDRIVEN");
items.push_back("PSET_TYPEDRIVENONLY");
items.push_back("PSET_TYPEDRIVENOVERRIDE");
items.push_back("QTO_OCCURRENCEDRIVEN");
items.push_back("QTO_TYPEDRIVENONLY");
items.push_back("QTO_TYPEDRIVENOVERRIDE");
IFC4_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 740, items);
}
{
std::vector items; items.reserve(6);
items.push_back("ELECTROMAGNETIC");
items.push_back("ELECTRONIC");
items.push_back("NOTDEFINED");
items.push_back("RESIDUALCURRENT");
items.push_back("THERMAL");
items.push_back("USERDEFINED");
IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 748, items);
}
{
std::vector items; items.reserve(9);
items.push_back("CIRCUITBREAKER");
items.push_back("EARTHINGSWITCH");
items.push_back("EARTHLEAKAGECIRCUITBREAKER");
items.push_back("FUSEDISCONNECTOR");
items.push_back("NOTDEFINED");
items.push_back("RESIDUALCURRENTCIRCUITBREAKER");
items.push_back("RESIDUALCURRENTSWITCH");
items.push_back("USERDEFINED");
items.push_back("VARISTOR");
IFC4_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 750, items);
}
{
std::vector items; items.reserve(9);
items.push_back("CIRCULATOR");
items.push_back("ENDSUCTION");
items.push_back("NOTDEFINED");
items.push_back("SPLITCASE");
items.push_back("SUBMERSIBLEPUMP");
items.push_back("SUMPPUMP");
items.push_back("USERDEFINED");
items.push_back("VERTICALINLINE");
items.push_back("VERTICALTURBINE");
IFC4_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 754, items);
}
IFC4_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 762, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(5);
items.push_back("BALUSTRADE");
items.push_back("GUARDRAIL");
items.push_back("HANDRAIL");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 765, items);
}
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("SPIRAL");
items.push_back("STRAIGHT");
items.push_back("USERDEFINED");
IFC4_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 769, items);
}
{
std::vector items; items.reserve(8);
items.push_back("HALF_TURN_RAMP");
items.push_back("NOTDEFINED");
items.push_back("QUARTER_TURN_RAMP");
items.push_back("SPIRAL_RAMP");
items.push_back("STRAIGHT_RUN_RAMP");
items.push_back("TWO_QUARTER_TURN_RAMP");
items.push_back("TWO_STRAIGHT_RUN_RAMP");
items.push_back("USERDEFINED");
IFC4_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 771, items);
}
IFC4_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 772, new simple_type(simple_type::real_type));
IFC4_IfcReal_type = new type_declaration("IfcReal", 775, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(8);
items.push_back("BY_DAY_COUNT");
items.push_back("BY_WEEKDAY_COUNT");
items.push_back("DAILY");
items.push_back("MONTHLY_BY_DAY_OF_MONTH");
items.push_back("MONTHLY_BY_POSITION");
items.push_back("WEEKLY");
items.push_back("YEARLY_BY_DAY_OF_MONTH");
items.push_back("YEARLY_BY_POSITION");
IFC4_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 781, items);
}
{
std::vector items; items.reserve(10);
items.push_back("BLINN");
items.push_back("FLAT");
items.push_back("GLASS");
items.push_back("MATT");
items.push_back("METAL");
items.push_back("MIRROR");
items.push_back("NOTDEFINED");
items.push_back("PHONG");
items.push_back("PLASTIC");
items.push_back("STRAUSS");
IFC4_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 783, items);
}
{
std::vector items; items.reserve(10);
items.push_back("ANCHORING");
items.push_back("EDGE");
items.push_back("LIGATURE");
items.push_back("MAIN");
items.push_back("NOTDEFINED");
items.push_back("PUNCHING");
items.push_back("RING");
items.push_back("SHEAR");
items.push_back("STUD");
items.push_back("USERDEFINED");
IFC4_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 788, items);
}
{
std::vector items; items.reserve(2);
items.push_back("PLAIN");
items.push_back("TEXTURED");
IFC4_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 789, items);
}
{
std::vector items; items.reserve(10);
items.push_back("ANCHORING");
items.push_back("EDGE");
items.push_back("LIGATURE");
items.push_back("MAIN");
items.push_back("NOTDEFINED");
items.push_back("PUNCHING");
items.push_back("RING");
items.push_back("SHEAR");
items.push_back("STUD");
items.push_back("USERDEFINED");
IFC4_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 791, items);
}
{
std::vector items; items.reserve(2);
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 796, items);
}
{
std::vector items; items.reserve(23);
items.push_back("ARCHITECT");
items.push_back("BUILDINGOPERATOR");
items.push_back("BUILDINGOWNER");
items.push_back("CIVILENGINEER");
items.push_back("CLIENT");
items.push_back("COMMISSIONINGENGINEER");
items.push_back("CONSTRUCTIONMANAGER");
items.push_back("CONSULTANT");
items.push_back("CONTRACTOR");
items.push_back("COSTENGINEER");
items.push_back("ELECTRICALENGINEER");
items.push_back("ENGINEER");
items.push_back("FACILITIESMANAGER");
items.push_back("FIELDCONSTRUCTIONMANAGER");
items.push_back("MANUFACTURER");
items.push_back("MECHANICALENGINEER");
items.push_back("OWNER");
items.push_back("PROJECTMANAGER");
items.push_back("RESELLER");
items.push_back("STRUCTURALENGINEER");
items.push_back("SUBCONTRACTOR");
items.push_back("SUPPLIER");
items.push_back("USERDEFINED");
IFC4_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 861, items);
}
{
std::vector items; items.reserve(15);
items.push_back("BARREL_ROOF");
items.push_back("BUTTERFLY_ROOF");
items.push_back("DOME_ROOF");
items.push_back("FLAT_ROOF");
items.push_back("FREEFORM");
items.push_back("GABLE_ROOF");
items.push_back("GAMBREL_ROOF");
items.push_back("HIPPED_GABLE_ROOF");
items.push_back("HIP_ROOF");
items.push_back("MANSARD_ROOF");
items.push_back("NOTDEFINED");
items.push_back("PAVILION_ROOF");
items.push_back("RAINBOW_ROOF");
items.push_back("SHED_ROOF");
items.push_back("USERDEFINED");
IFC4_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 864, items);
}
IFC4_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 866, new simple_type(simple_type::real_type));
IFC4_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 867, new simple_type(simple_type::real_type));
IFC4_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 868, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcBoolean_type);
items.push_back(IFC4_IfcRotationalStiffnessMeasure_type);
IFC4_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 869, items);
}
{
std::vector items; items.reserve(16);
items.push_back("ATTO");
items.push_back("CENTI");
items.push_back("DECA");
items.push_back("DECI");
items.push_back("EXA");
items.push_back("FEMTO");
items.push_back("GIGA");
items.push_back("HECTO");
items.push_back("KILO");
items.push_back("MEGA");
items.push_back("MICRO");
items.push_back("MILLI");
items.push_back("NANO");
items.push_back("PETA");
items.push_back("PICO");
items.push_back("TERA");
IFC4_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 900, items);
}
{
std::vector items; items.reserve(30);
items.push_back("AMPERE");
items.push_back("BECQUEREL");
items.push_back("CANDELA");
items.push_back("COULOMB");
items.push_back("CUBIC_METRE");
items.push_back("DEGREE_CELSIUS");
items.push_back("FARAD");
items.push_back("GRAM");
items.push_back("GRAY");
items.push_back("HENRY");
items.push_back("HERTZ");
items.push_back("JOULE");
items.push_back("KELVIN");
items.push_back("LUMEN");
items.push_back("LUX");
items.push_back("METRE");
items.push_back("MOLE");
items.push_back("NEWTON");
items.push_back("OHM");
items.push_back("PASCAL");
items.push_back("RADIAN");
items.push_back("SECOND");
items.push_back("SIEMENS");
items.push_back("SIEVERT");
items.push_back("SQUARE_METRE");
items.push_back("STERADIAN");
items.push_back("TESLA");
items.push_back("VOLT");
items.push_back("WATT");
items.push_back("WEBER");
IFC4_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 903, items);
}
{
std::vector items; items.reserve(12);
items.push_back("BATH");
items.push_back("BIDET");
items.push_back("CISTERN");
items.push_back("NOTDEFINED");
items.push_back("SANITARYFOUNTAIN");
items.push_back("SHOWER");
items.push_back("SINK");
items.push_back("TOILETPAN");
items.push_back("URINAL");
items.push_back("USERDEFINED");
items.push_back("WASHHANDBASIN");
items.push_back("WCSEAT");
IFC4_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 873, items);
}
IFC4_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 878, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(2);
items.push_back("TAPERED");
items.push_back("UNIFORM");
IFC4_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 881, items);
}
IFC4_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 876, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(26);
items.push_back("CO2SENSOR");
items.push_back("CONDUCTANCESENSOR");
items.push_back("CONTACTSENSOR");
items.push_back("COSENSOR");
items.push_back("FIRESENSOR");
items.push_back("FLOWSENSOR");
items.push_back("FROSTSENSOR");
items.push_back("GASSENSOR");
items.push_back("HEATSENSOR");
items.push_back("HUMIDITYSENSOR");
items.push_back("IDENTIFIERSENSOR");
items.push_back("IONCONCENTRATIONSENSOR");
items.push_back("LEVELSENSOR");
items.push_back("LIGHTSENSOR");
items.push_back("MOISTURESENSOR");
items.push_back("MOVEMENTSENSOR");
items.push_back("NOTDEFINED");
items.push_back("PHSENSOR");
items.push_back("PRESSURESENSOR");
items.push_back("RADIATIONSENSOR");
items.push_back("RADIOACTIVITYSENSOR");
items.push_back("SMOKESENSOR");
items.push_back("SOUNDSENSOR");
items.push_back("TEMPERATURESENSOR");
items.push_back("USERDEFINED");
items.push_back("WINDSENSOR");
IFC4_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 885, items);
}
{
std::vector items; items.reserve(6);
items.push_back("FINISH_FINISH");
items.push_back("FINISH_START");
items.push_back("NOTDEFINED");
items.push_back("START_FINISH");
items.push_back("START_START");
items.push_back("USERDEFINED");
IFC4_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 886, items);
}
{
std::vector items; items.reserve(5);
items.push_back("AWNING");
items.push_back("JALOUSIE");
items.push_back("NOTDEFINED");
items.push_back("SHUTTER");
items.push_back("USERDEFINED");
IFC4_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 889, items);
}
IFC4_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 893, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(12);
items.push_back("P_BOUNDEDVALUE");
items.push_back("P_ENUMERATEDVALUE");
items.push_back("P_LISTVALUE");
items.push_back("P_REFERENCEVALUE");
items.push_back("P_SINGLEVALUE");
items.push_back("P_TABLEVALUE");
items.push_back("Q_AREA");
items.push_back("Q_COUNT");
items.push_back("Q_LENGTH");
items.push_back("Q_TIME");
items.push_back("Q_VOLUME");
items.push_back("Q_WEIGHT");
IFC4_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 898, items);
}
{
std::vector items; items.reserve(6);
items.push_back("BASESLAB");
items.push_back("FLOOR");
items.push_back("LANDING");
items.push_back("NOTDEFINED");
items.push_back("ROOF");
items.push_back("USERDEFINED");
IFC4_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 909, items);
}
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("SOLARCOLLECTOR");
items.push_back("SOLARPANEL");
items.push_back("USERDEFINED");
IFC4_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 913, items);
}
IFC4_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 914, new simple_type(simple_type::real_type));
IFC4_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 917, new simple_type(simple_type::real_type));
IFC4_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 918, new simple_type(simple_type::real_type));
IFC4_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 919, new simple_type(simple_type::real_type));
IFC4_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 920, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("CONVECTOR");
items.push_back("NOTDEFINED");
items.push_back("RADIATOR");
items.push_back("USERDEFINED");
IFC4_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 925, items);
}
{
std::vector items; items.reserve(7);
items.push_back("EXTERNAL");
items.push_back("GFA");
items.push_back("INTERNAL");
items.push_back("NOTDEFINED");
items.push_back("PARKING");
items.push_back("SPACE");
items.push_back("USERDEFINED");
IFC4_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 927, items);
}
{
std::vector items; items.reserve(10);
items.push_back("CONSTRUCTION");
items.push_back("FIRESAFETY");
items.push_back("LIGHTING");
items.push_back("NOTDEFINED");
items.push_back("OCCUPANCY");
items.push_back("SECURITY");
items.push_back("THERMAL");
items.push_back("TRANSPORT");
items.push_back("USERDEFINED");
items.push_back("VENTILATION");
IFC4_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 934, items);
}
IFC4_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 935, new simple_type(simple_type::real_type));
IFC4_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 936, new simple_type(simple_type::real_type));
IFC4_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 938, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(5);
items.push_back("BIRDCAGE");
items.push_back("COWL");
items.push_back("NOTDEFINED");
items.push_back("RAINWATERHOPPER");
items.push_back("USERDEFINED");
IFC4_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 943, items);
}
{
std::vector items; items.reserve(7);
items.push_back("CURVED");
items.push_back("FREEFORM");
items.push_back("NOTDEFINED");
items.push_back("SPIRAL");
items.push_back("STRAIGHT");
items.push_back("USERDEFINED");
items.push_back("WINDER");
IFC4_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 947, items);
}
{
std::vector items; items.reserve(16);
items.push_back("CURVED_RUN_STAIR");
items.push_back("DOUBLE_RETURN_STAIR");
items.push_back("HALF_TURN_STAIR");
items.push_back("HALF_WINDING_STAIR");
items.push_back("NOTDEFINED");
items.push_back("QUARTER_TURN_STAIR");
items.push_back("QUARTER_WINDING_STAIR");
items.push_back("SPIRAL_STAIR");
items.push_back("STRAIGHT_RUN_STAIR");
items.push_back("THREE_QUARTER_TURN_STAIR");
items.push_back("THREE_QUARTER_WINDING_STAIR");
items.push_back("TWO_CURVED_RUN_STAIR");
items.push_back("TWO_QUARTER_TURN_STAIR");
items.push_back("TWO_QUARTER_WINDING_STAIR");
items.push_back("TWO_STRAIGHT_RUN_STAIR");
items.push_back("USERDEFINED");
IFC4_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 949, items);
}
{
std::vector items; items.reserve(5);
items.push_back("LOCKED");
items.push_back("READONLY");
items.push_back("READONLYLOCKED");
items.push_back("READWRITE");
items.push_back("READWRITELOCKED");
IFC4_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 950, items);
}
{
std::vector items; items.reserve(9);
items.push_back("CONST");
items.push_back("DISCRETE");
items.push_back("EQUIDISTANT");
items.push_back("LINEAR");
items.push_back("NOTDEFINED");
items.push_back("PARABOLA");
items.push_back("POLYGONAL");
items.push_back("SINUS");
items.push_back("USERDEFINED");
IFC4_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 958, items);
}
{
std::vector items; items.reserve(7);
items.push_back("CABLE");
items.push_back("COMPRESSION_MEMBER");
items.push_back("NOTDEFINED");
items.push_back("PIN_JOINED_MEMBER");
items.push_back("RIGID_JOINED_MEMBER");
items.push_back("TENSION_MEMBER");
items.push_back("USERDEFINED");
IFC4_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 961, items);
}
{
std::vector items; items.reserve(6);
items.push_back("BILINEAR");
items.push_back("CONST");
items.push_back("DISCRETE");
items.push_back("ISOCONTOUR");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 987, items);
}
{
std::vector items; items.reserve(5);
items.push_back("BENDING_ELEMENT");
items.push_back("MEMBRANE_ELEMENT");
items.push_back("NOTDEFINED");
items.push_back("SHELL");
items.push_back("USERDEFINED");
IFC4_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 990, items);
}
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("PURCHASE");
items.push_back("USERDEFINED");
items.push_back("WORK");
IFC4_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 999, items);
}
{
std::vector items; items.reserve(5);
items.push_back("MARK");
items.push_back("NOTDEFINED");
items.push_back("TAG");
items.push_back("TREATMENT");
items.push_back("USERDEFINED");
IFC4_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1005, items);
}
{
std::vector items; items.reserve(3);
items.push_back("BOTH");
items.push_back("NEGATIVE");
items.push_back("POSITIVE");
IFC4_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1010, items);
}
{
std::vector items; items.reserve(11);
items.push_back("CONTACTOR");
items.push_back("DIMMERSWITCH");
items.push_back("EMERGENCYSTOP");
items.push_back("KEYPAD");
items.push_back("MOMENTARYSWITCH");
items.push_back("NOTDEFINED");
items.push_back("SELECTORSWITCH");
items.push_back("STARTER");
items.push_back("SWITCHDISCONNECTOR");
items.push_back("TOGGLESWITCH");
items.push_back("USERDEFINED");
IFC4_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1025, items);
}
{
std::vector items; items.reserve(4);
items.push_back("NOTDEFINED");
items.push_back("PANEL");
items.push_back("USERDEFINED");
items.push_back("WORKSURFACE");
IFC4_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1029, items);
}
{
std::vector items; items.reserve(9);
items.push_back("BASIN");
items.push_back("BREAKPRESSURE");
items.push_back("EXPANSION");
items.push_back("FEEDANDEXPANSION");
items.push_back("NOTDEFINED");
items.push_back("PRESSUREVESSEL");
items.push_back("STORAGE");
items.push_back("USERDEFINED");
items.push_back("VESSEL");
IFC4_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1035, items);
}
{
std::vector items; items.reserve(3);
items.push_back("ELAPSEDTIME");
items.push_back("NOTDEFINED");
items.push_back("WORKTIME");
IFC4_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1037, items);
}
{
std::vector items; items.reserve(14);
items.push_back("ATTENDANCE");
items.push_back("CONSTRUCTION");
items.push_back("DEMOLITION");
items.push_back("DISMANTLE");
items.push_back("DISPOSAL");
items.push_back("INSTALLATION");
items.push_back("LOGISTIC");
items.push_back("MAINTENANCE");
items.push_back("MOVE");
items.push_back("NOTDEFINED");
items.push_back("OPERATION");
items.push_back("REMOVAL");
items.push_back("RENOVATION");
items.push_back("USERDEFINED");
IFC4_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1041, items);
}
IFC4_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1043, new simple_type(simple_type::real_type));
IFC4_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1044, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(5);
items.push_back("COUPLER");
items.push_back("FIXED_END");
items.push_back("NOTDEFINED");
items.push_back("TENSIONING_END");
items.push_back("USERDEFINED");
IFC4_IfcTendonAnchorTypeEnum_type = new enumeration_type("IfcTendonAnchorTypeEnum", 1048, items);
}
{
std::vector items; items.reserve(6);
items.push_back("BAR");
items.push_back("COATED");
items.push_back("NOTDEFINED");
items.push_back("STRAND");
items.push_back("USERDEFINED");
items.push_back("WIRE");
IFC4_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1050, items);
}
IFC4_IfcText_type = new type_declaration("IfcText", 1053, new simple_type(simple_type::string_type));
IFC4_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1054, new simple_type(simple_type::string_type));
IFC4_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1055, new simple_type(simple_type::string_type));
IFC4_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1056, new simple_type(simple_type::string_type));
{
std::vector items; items.reserve(4);
items.push_back("DOWN");
items.push_back("LEFT");
items.push_back("RIGHT");
items.push_back("UP");
IFC4_IfcTextPath_type = new enumeration_type("IfcTextPath", 1060, items);
}
IFC4_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1065, new simple_type(simple_type::string_type));
IFC4_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1071, new simple_type(simple_type::real_type));
IFC4_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1072, new simple_type(simple_type::real_type));
IFC4_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1073, new simple_type(simple_type::real_type));
IFC4_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1074, new simple_type(simple_type::real_type));
IFC4_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1075, new simple_type(simple_type::real_type));
IFC4_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1076, new simple_type(simple_type::real_type));
IFC4_IfcTime_type = new type_declaration("IfcTime", 1077, new simple_type(simple_type::string_type));
IFC4_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1078, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcDuration_type);
items.push_back(IFC4_IfcRatioMeasure_type);
IFC4_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1079, items);
}
{
std::vector items; items.reserve(7);
items.push_back("CONTINUOUS");
items.push_back("DISCRETE");
items.push_back("DISCRETEBINARY");
items.push_back("NOTDEFINED");
items.push_back("PIECEWISEBINARY");
items.push_back("PIECEWISECONSTANT");
items.push_back("PIECEWISECONTINUOUS");
IFC4_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1082, items);
}
IFC4_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1084, new simple_type(simple_type::integer_type));
IFC4_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1088, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(7);
items.push_back("CURRENT");
items.push_back("FREQUENCY");
items.push_back("INVERTER");
items.push_back("NOTDEFINED");
items.push_back("RECTIFIER");
items.push_back("USERDEFINED");
items.push_back("VOLTAGE");
IFC4_IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", 1091, items);
}
{
std::vector items; items.reserve(4);
items.push_back("CONTINUOUS");
items.push_back("CONTSAMEGRADIENT");
items.push_back("CONTSAMEGRADIENTSAMECURVATURE");
items.push_back("DISCONTINUOUS");
IFC4_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1092, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcBoolean_type);
items.push_back(IFC4_IfcLinearStiffnessMeasure_type);
IFC4_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1093, items);
}
{
std::vector items; items.reserve(7);
items.push_back("CRANEWAY");
items.push_back("ELEVATOR");
items.push_back("ESCALATOR");
items.push_back("LIFTINGGEAR");
items.push_back("MOVINGWALKWAY");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcTransportElementTypeEnum_type = new enumeration_type("IfcTransportElementTypeEnum", 1096, items);
}
{
std::vector items; items.reserve(3);
items.push_back("CARTESIAN");
items.push_back("PARAMETER");
items.push_back("UNSPECIFIED");
IFC4_IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", 1100, items);
}
{
std::vector items; items.reserve(3);
items.push_back("FINNED");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1105, items);
}
IFC4_IfcURIReference_type = new type_declaration("IfcURIReference", 1119, new simple_type(simple_type::string_type));
{
std::vector items; items.reserve(30);
items.push_back("ABSORBEDDOSEUNIT");
items.push_back("AMOUNTOFSUBSTANCEUNIT");
items.push_back("AREAUNIT");
items.push_back("DOSEEQUIVALENTUNIT");
items.push_back("ELECTRICCAPACITANCEUNIT");
items.push_back("ELECTRICCHARGEUNIT");
items.push_back("ELECTRICCONDUCTANCEUNIT");
items.push_back("ELECTRICCURRENTUNIT");
items.push_back("ELECTRICRESISTANCEUNIT");
items.push_back("ELECTRICVOLTAGEUNIT");
items.push_back("ENERGYUNIT");
items.push_back("FORCEUNIT");
items.push_back("FREQUENCYUNIT");
items.push_back("ILLUMINANCEUNIT");
items.push_back("INDUCTANCEUNIT");
items.push_back("LENGTHUNIT");
items.push_back("LUMINOUSFLUXUNIT");
items.push_back("LUMINOUSINTENSITYUNIT");
items.push_back("MAGNETICFLUXDENSITYUNIT");
items.push_back("MAGNETICFLUXUNIT");
items.push_back("MASSUNIT");
items.push_back("PLANEANGLEUNIT");
items.push_back("POWERUNIT");
items.push_back("PRESSUREUNIT");
items.push_back("RADIOACTIVITYUNIT");
items.push_back("SOLIDANGLEUNIT");
items.push_back("THERMODYNAMICTEMPERATUREUNIT");
items.push_back("TIMEUNIT");
items.push_back("USERDEFINED");
items.push_back("VOLUMEUNIT");
IFC4_IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", 1118, items);
}
{
std::vector items; items.reserve(10);
items.push_back("ALARMPANEL");
items.push_back("CONTROLPANEL");
items.push_back("GASDETECTIONPANEL");
items.push_back("HUMIDISTAT");
items.push_back("INDICATORPANEL");
items.push_back("MIMICPANEL");
items.push_back("NOTDEFINED");
items.push_back("THERMOSTAT");
items.push_back("USERDEFINED");
items.push_back("WEATHERSTATION");
IFC4_IfcUnitaryControlElementTypeEnum_type = new enumeration_type("IfcUnitaryControlElementTypeEnum", 1113, items);
}
{
std::vector items; items.reserve(7);
items.push_back("AIRCONDITIONINGUNIT");
items.push_back("AIRHANDLER");
items.push_back("DEHUMIDIFIER");
items.push_back("NOTDEFINED");
items.push_back("ROOFTOPUNIT");
items.push_back("SPLITSYSTEM");
items.push_back("USERDEFINED");
IFC4_IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", 1116, items);
}
{
std::vector items; items.reserve(23);
items.push_back("AIRRELEASE");
items.push_back("ANTIVACUUM");
items.push_back("CHANGEOVER");
items.push_back("CHECK");
items.push_back("COMMISSIONING");
items.push_back("DIVERTING");
items.push_back("DOUBLECHECK");
items.push_back("DOUBLEREGULATING");
items.push_back("DRAWOFFCOCK");
items.push_back("FAUCET");
items.push_back("FLUSHING");
items.push_back("GASCOCK");
items.push_back("GASTAP");
items.push_back("ISOLATING");
items.push_back("MIXING");
items.push_back("NOTDEFINED");
items.push_back("PRESSUREREDUCING");
items.push_back("PRESSURERELIEF");
items.push_back("REGULATING");
items.push_back("SAFETYCUTOFF");
items.push_back("STEAMTRAP");
items.push_back("STOPCOCK");
items.push_back("USERDEFINED");
IFC4_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1124, items);
}
IFC4_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1125, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(4);
items.push_back("COMPRESSION");
items.push_back("NOTDEFINED");
items.push_back("SPRING");
items.push_back("USERDEFINED");
IFC4_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 1133, items);
}
{
std::vector items; items.reserve(8);
items.push_back("CHAMFER");
items.push_back("CUTOUT");
items.push_back("EDGE");
items.push_back("HOLE");
items.push_back("MITER");
items.push_back("NOTCH");
items.push_back("NOTDEFINED");
items.push_back("USERDEFINED");
IFC4_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1137, items);
}
IFC4_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1138, new simple_type(simple_type::real_type));
IFC4_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1139, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(11);
items.push_back("ELEMENTEDWALL");
items.push_back("MOVABLE");
items.push_back("NOTDEFINED");
items.push_back("PARAPET");
items.push_back("PARTITIONING");
items.push_back("PLUMBINGWALL");
items.push_back("POLYGONAL");
items.push_back("SHEAR");
items.push_back("SOLIDWALL");
items.push_back("STANDARD");
items.push_back("USERDEFINED");
IFC4_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1144, items);
}
IFC4_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1145, new simple_type(simple_type::real_type));
IFC4_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1146, new simple_type(simple_type::real_type));
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcBoolean_type);
items.push_back(IFC4_IfcWarpingMomentMeasure_type);
IFC4_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1147, items);
}
{
std::vector items; items.reserve(9);
items.push_back("FLOORTRAP");
items.push_back("FLOORWASTE");
items.push_back("GULLYSUMP");
items.push_back("GULLYTRAP");
items.push_back("NOTDEFINED");
items.push_back("ROOFDRAIN");
items.push_back("USERDEFINED");
items.push_back("WASTEDISPOSALUNIT");
items.push_back("WASTETRAP");
IFC4_IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", 1150, items);
}
{
std::vector items; items.reserve(14);
items.push_back("BOTTOMHUNG");
items.push_back("FIXEDCASEMENT");
items.push_back("NOTDEFINED");
items.push_back("OTHEROPERATION");
items.push_back("PIVOTHORIZONTAL");
items.push_back("PIVOTVERTICAL");
items.push_back("REMOVABLECASEMENT");
items.push_back("SIDEHUNGLEFTHAND");
items.push_back("SIDEHUNGRIGHTHAND");
items.push_back("SLIDINGHORIZONTAL");
items.push_back("SLIDINGVERTICAL");
items.push_back("TILTANDTURNLEFTHAND");
items.push_back("TILTANDTURNRIGHTHAND");
items.push_back("TOPHUNG");
IFC4_IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", 1153, items);
}
{
std::vector items; items.reserve(6);
items.push_back("BOTTOM");
items.push_back("LEFT");
items.push_back("MIDDLE");
items.push_back("NOTDEFINED");
items.push_back("RIGHT");
items.push_back("TOP");
IFC4_IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", 1154, items);
}
{
std::vector items; items.reserve(8);
items.push_back("ALUMINIUM");
items.push_back("ALUMINIUM_WOOD");
items.push_back("HIGH_GRADE_STEEL");
items.push_back("NOTDEFINED");
items.push_back("OTHER_CONSTRUCTION");
items.push_back("PLASTIC");
items.push_back("STEEL");
items.push_back("WOOD");
IFC4_IfcWindowStyleConstructionEnum_type = new enumeration_type("IfcWindowStyleConstructionEnum", 1158, items);
}
{
std::vector items; items.reserve(11);
items.push_back("DOUBLE_PANEL_HORIZONTAL");
items.push_back("DOUBLE_PANEL_VERTICAL");
items.push_back("NOTDEFINED");
items.push_back("SINGLE_PANEL");
items.push_back("TRIPLE_PANEL_BOTTOM");
items.push_back("TRIPLE_PANEL_HORIZONTAL");
items.push_back("TRIPLE_PANEL_LEFT");
items.push_back("TRIPLE_PANEL_RIGHT");
items.push_back("TRIPLE_PANEL_TOP");
items.push_back("TRIPLE_PANEL_VERTICAL");
items.push_back("USERDEFINED");
IFC4_IfcWindowStyleOperationEnum_type = new enumeration_type("IfcWindowStyleOperationEnum", 1159, items);
}
{
std::vector items; items.reserve(5);
items.push_back("LIGHTDOME");
items.push_back("NOTDEFINED");
items.push_back("SKYLIGHT");
items.push_back("USERDEFINED");
items.push_back("WINDOW");
IFC4_IfcWindowTypeEnum_type = new enumeration_type("IfcWindowTypeEnum", 1161, items);
}
{
std::vector items; items.reserve(11);
items.push_back("DOUBLE_PANEL_HORIZONTAL");
items.push_back("DOUBLE_PANEL_VERTICAL");
items.push_back("NOTDEFINED");
items.push_back("SINGLE_PANEL");
items.push_back("TRIPLE_PANEL_BOTTOM");
items.push_back("TRIPLE_PANEL_HORIZONTAL");
items.push_back("TRIPLE_PANEL_LEFT");
items.push_back("TRIPLE_PANEL_RIGHT");
items.push_back("TRIPLE_PANEL_TOP");
items.push_back("TRIPLE_PANEL_VERTICAL");
items.push_back("USERDEFINED");
IFC4_IfcWindowTypePartitioningEnum_type = new enumeration_type("IfcWindowTypePartitioningEnum", 1162, items);
}
{
std::vector items; items.reserve(5);
items.push_back("FIRSTSHIFT");
items.push_back("NOTDEFINED");
items.push_back("SECONDSHIFT");
items.push_back("THIRDSHIFT");
items.push_back("USERDEFINED");
IFC4_IfcWorkCalendarTypeEnum_type = new enumeration_type("IfcWorkCalendarTypeEnum", 1164, items);
}
{
std::vector items; items.reserve(5);
items.push_back("ACTUAL");
items.push_back("BASELINE");
items.push_back("NOTDEFINED");
items.push_back("PLANNED");
items.push_back("USERDEFINED");
IFC4_IfcWorkPlanTypeEnum_type = new enumeration_type("IfcWorkPlanTypeEnum", 1167, items);
}
{
std::vector items; items.reserve(5);
items.push_back("ACTUAL");
items.push_back("BASELINE");
items.push_back("NOTDEFINED");
items.push_back("PLANNED");
items.push_back("USERDEFINED");
IFC4_IfcWorkScheduleTypeEnum_type = new enumeration_type("IfcWorkScheduleTypeEnum", 1169, items);
}
IFC4_IfcActorRole_type = new entity("IfcActorRole", false, 7, 0);
IFC4_IfcAddress_type = new entity("IfcAddress", true, 12, 0);
IFC4_IfcApplication_type = new entity("IfcApplication", false, 35, 0);
IFC4_IfcAppliedValue_type = new entity("IfcAppliedValue", false, 36, 0);
IFC4_IfcApproval_type = new entity("IfcApproval", false, 38, 0);
IFC4_IfcBoundaryCondition_type = new entity("IfcBoundaryCondition", true, 74, 0);
IFC4_IfcBoundaryEdgeCondition_type = new entity("IfcBoundaryEdgeCondition", false, 76, IFC4_IfcBoundaryCondition_type);
IFC4_IfcBoundaryFaceCondition_type = new entity("IfcBoundaryFaceCondition", false, 77, IFC4_IfcBoundaryCondition_type);
IFC4_IfcBoundaryNodeCondition_type = new entity("IfcBoundaryNodeCondition", false, 78, IFC4_IfcBoundaryCondition_type);
IFC4_IfcBoundaryNodeConditionWarping_type = new entity("IfcBoundaryNodeConditionWarping", false, 79, IFC4_IfcBoundaryNodeCondition_type);
IFC4_IfcConnectionGeometry_type = new entity("IfcConnectionGeometry", true, 179, 0);
IFC4_IfcConnectionPointGeometry_type = new entity("IfcConnectionPointGeometry", false, 181, IFC4_IfcConnectionGeometry_type);
IFC4_IfcConnectionSurfaceGeometry_type = new entity("IfcConnectionSurfaceGeometry", false, 182, IFC4_IfcConnectionGeometry_type);
IFC4_IfcConnectionVolumeGeometry_type = new entity("IfcConnectionVolumeGeometry", false, 184, IFC4_IfcConnectionGeometry_type);
IFC4_IfcConstraint_type = new entity("IfcConstraint", true, 185, 0);
IFC4_IfcCoordinateOperation_type = new entity("IfcCoordinateOperation", true, 213, 0);
IFC4_IfcCoordinateReferenceSystem_type = new entity("IfcCoordinateReferenceSystem", true, 214, 0);
IFC4_IfcCostValue_type = new entity("IfcCostValue", false, 220, IFC4_IfcAppliedValue_type);
IFC4_IfcDerivedUnit_type = new entity("IfcDerivedUnit", false, 261, 0);
IFC4_IfcDerivedUnitElement_type = new entity("IfcDerivedUnitElement", false, 262, 0);
IFC4_IfcDimensionalExponents_type = new entity("IfcDimensionalExponents", false, 265, 0);
IFC4_IfcExternalInformation_type = new entity("IfcExternalInformation", true, 375, 0);
IFC4_IfcExternalReference_type = new entity("IfcExternalReference", true, 379, 0);
IFC4_IfcExternallyDefinedHatchStyle_type = new entity("IfcExternallyDefinedHatchStyle", false, 376, IFC4_IfcExternalReference_type);
IFC4_IfcExternallyDefinedSurfaceStyle_type = new entity("IfcExternallyDefinedSurfaceStyle", false, 377, IFC4_IfcExternalReference_type);
IFC4_IfcExternallyDefinedTextFont_type = new entity("IfcExternallyDefinedTextFont", false, 378, IFC4_IfcExternalReference_type);
IFC4_IfcGridAxis_type = new entity("IfcGridAxis", false, 461, 0);
IFC4_IfcIrregularTimeSeriesValue_type = new entity("IfcIrregularTimeSeriesValue", false, 497, 0);
IFC4_IfcLibraryInformation_type = new entity("IfcLibraryInformation", false, 517, IFC4_IfcExternalInformation_type);
IFC4_IfcLibraryReference_type = new entity("IfcLibraryReference", false, 518, IFC4_IfcExternalReference_type);
IFC4_IfcLightDistributionData_type = new entity("IfcLightDistributionData", false, 521, 0);
IFC4_IfcLightIntensityDistribution_type = new entity("IfcLightIntensityDistribution", false, 527, 0);
IFC4_IfcMapConversion_type = new entity("IfcMapConversion", false, 552, IFC4_IfcCoordinateOperation_type);
IFC4_IfcMaterialClassificationRelationship_type = new entity("IfcMaterialClassificationRelationship", false, 559, 0);
IFC4_IfcMaterialDefinition_type = new entity("IfcMaterialDefinition", true, 562, 0);
IFC4_IfcMaterialLayer_type = new entity("IfcMaterialLayer", false, 564, IFC4_IfcMaterialDefinition_type);
IFC4_IfcMaterialLayerSet_type = new entity("IfcMaterialLayerSet", false, 565, IFC4_IfcMaterialDefinition_type);
IFC4_IfcMaterialLayerWithOffsets_type = new entity("IfcMaterialLayerWithOffsets", false, 567, IFC4_IfcMaterialLayer_type);
IFC4_IfcMaterialList_type = new entity("IfcMaterialList", false, 568, 0);
IFC4_IfcMaterialProfile_type = new entity("IfcMaterialProfile", false, 569, IFC4_IfcMaterialDefinition_type);
IFC4_IfcMaterialProfileSet_type = new entity("IfcMaterialProfileSet", false, 570, IFC4_IfcMaterialDefinition_type);
IFC4_IfcMaterialProfileWithOffsets_type = new entity("IfcMaterialProfileWithOffsets", false, 573, IFC4_IfcMaterialProfile_type);
IFC4_IfcMaterialUsageDefinition_type = new entity("IfcMaterialUsageDefinition", true, 577, 0);
IFC4_IfcMeasureWithUnit_type = new entity("IfcMeasureWithUnit", false, 579, 0);
IFC4_IfcMetric_type = new entity("IfcMetric", false, 590, IFC4_IfcConstraint_type);
IFC4_IfcMonetaryUnit_type = new entity("IfcMonetaryUnit", false, 604, 0);
IFC4_IfcNamedUnit_type = new entity("IfcNamedUnit", true, 609, 0);
IFC4_IfcObjectPlacement_type = new entity("IfcObjectPlacement", true, 618, 0);
IFC4_IfcObjective_type = new entity("IfcObjective", false, 616, IFC4_IfcConstraint_type);
IFC4_IfcOrganization_type = new entity("IfcOrganization", false, 629, 0);
IFC4_IfcOwnerHistory_type = new entity("IfcOwnerHistory", false, 636, 0);
IFC4_IfcPerson_type = new entity("IfcPerson", false, 647, 0);
IFC4_IfcPersonAndOrganization_type = new entity("IfcPersonAndOrganization", false, 648, 0);
IFC4_IfcPhysicalQuantity_type = new entity("IfcPhysicalQuantity", true, 652, 0);
IFC4_IfcPhysicalSimpleQuantity_type = new entity("IfcPhysicalSimpleQuantity", true, 653, IFC4_IfcPhysicalQuantity_type);
IFC4_IfcPostalAddress_type = new entity("IfcPostalAddress", false, 688, IFC4_IfcAddress_type);
IFC4_IfcPresentationItem_type = new entity("IfcPresentationItem", true, 698, 0);
IFC4_IfcPresentationLayerAssignment_type = new entity("IfcPresentationLayerAssignment", false, 699, 0);
IFC4_IfcPresentationLayerWithStyle_type = new entity("IfcPresentationLayerWithStyle", false, 700, IFC4_IfcPresentationLayerAssignment_type);
IFC4_IfcPresentationStyle_type = new entity("IfcPresentationStyle", true, 701, 0);
IFC4_IfcPresentationStyleAssignment_type = new entity("IfcPresentationStyleAssignment", false, 702, 0);
IFC4_IfcProductRepresentation_type = new entity("IfcProductRepresentation", true, 712, 0);
IFC4_IfcProfileDef_type = new entity("IfcProfileDef", false, 715, 0);
IFC4_IfcProjectedCRS_type = new entity("IfcProjectedCRS", false, 719, IFC4_IfcCoordinateReferenceSystem_type);
IFC4_IfcPropertyAbstraction_type = new entity("IfcPropertyAbstraction", true, 727, 0);
IFC4_IfcPropertyEnumeration_type = new entity("IfcPropertyEnumeration", false, 732, IFC4_IfcPropertyAbstraction_type);
IFC4_IfcQuantityArea_type = new entity("IfcQuantityArea", false, 755, IFC4_IfcPhysicalSimpleQuantity_type);
IFC4_IfcQuantityCount_type = new entity("IfcQuantityCount", false, 756, IFC4_IfcPhysicalSimpleQuantity_type);
IFC4_IfcQuantityLength_type = new entity("IfcQuantityLength", false, 757, IFC4_IfcPhysicalSimpleQuantity_type);
IFC4_IfcQuantityTime_type = new entity("IfcQuantityTime", false, 759, IFC4_IfcPhysicalSimpleQuantity_type);
IFC4_IfcQuantityVolume_type = new entity("IfcQuantityVolume", false, 760, IFC4_IfcPhysicalSimpleQuantity_type);
IFC4_IfcQuantityWeight_type = new entity("IfcQuantityWeight", false, 761, IFC4_IfcPhysicalSimpleQuantity_type);
IFC4_IfcRecurrencePattern_type = new entity("IfcRecurrencePattern", false, 780, 0);
IFC4_IfcReference_type = new entity("IfcReference", false, 782, 0);
IFC4_IfcRepresentation_type = new entity("IfcRepresentation", true, 846, 0);
IFC4_IfcRepresentationContext_type = new entity("IfcRepresentationContext", true, 847, 0);
IFC4_IfcRepresentationItem_type = new entity("IfcRepresentationItem", true, 848, 0);
IFC4_IfcRepresentationMap_type = new entity("IfcRepresentationMap", false, 849, 0);
IFC4_IfcResourceLevelRelationship_type = new entity("IfcResourceLevelRelationship", true, 853, 0);
IFC4_IfcRoot_type = new entity("IfcRoot", true, 865, 0);
IFC4_IfcSIUnit_type = new entity("IfcSIUnit", false, 902, IFC4_IfcNamedUnit_type);
IFC4_IfcSchedulingTime_type = new entity("IfcSchedulingTime", true, 874, 0);
IFC4_IfcShapeAspect_type = new entity("IfcShapeAspect", false, 890, 0);
IFC4_IfcShapeModel_type = new entity("IfcShapeModel", true, 891, IFC4_IfcRepresentation_type);
IFC4_IfcShapeRepresentation_type = new entity("IfcShapeRepresentation", false, 892, IFC4_IfcShapeModel_type);
IFC4_IfcStructuralConnectionCondition_type = new entity("IfcStructuralConnectionCondition", true, 956, 0);
IFC4_IfcStructuralLoad_type = new entity("IfcStructuralLoad", true, 966, 0);
IFC4_IfcStructuralLoadConfiguration_type = new entity("IfcStructuralLoadConfiguration", false, 968, IFC4_IfcStructuralLoad_type);
IFC4_IfcStructuralLoadOrResult_type = new entity("IfcStructuralLoadOrResult", true, 971, IFC4_IfcStructuralLoad_type);
IFC4_IfcStructuralLoadStatic_type = new entity("IfcStructuralLoadStatic", true, 977, IFC4_IfcStructuralLoadOrResult_type);
IFC4_IfcStructuralLoadTemperature_type = new entity("IfcStructuralLoadTemperature", false, 978, IFC4_IfcStructuralLoadStatic_type);
IFC4_IfcStyleModel_type = new entity("IfcStyleModel", true, 996, IFC4_IfcRepresentation_type);
IFC4_IfcStyledItem_type = new entity("IfcStyledItem", false, 994, IFC4_IfcRepresentationItem_type);
IFC4_IfcStyledRepresentation_type = new entity("IfcStyledRepresentation", false, 995, IFC4_IfcStyleModel_type);
IFC4_IfcSurfaceReinforcementArea_type = new entity("IfcSurfaceReinforcementArea", false, 1009, IFC4_IfcStructuralLoadOrResult_type);
IFC4_IfcSurfaceStyle_type = new entity("IfcSurfaceStyle", false, 1011, IFC4_IfcPresentationStyle_type);
IFC4_IfcSurfaceStyleLighting_type = new entity("IfcSurfaceStyleLighting", false, 1013, IFC4_IfcPresentationItem_type);
IFC4_IfcSurfaceStyleRefraction_type = new entity("IfcSurfaceStyleRefraction", false, 1014, IFC4_IfcPresentationItem_type);
IFC4_IfcSurfaceStyleShading_type = new entity("IfcSurfaceStyleShading", false, 1016, IFC4_IfcPresentationItem_type);
IFC4_IfcSurfaceStyleWithTextures_type = new entity("IfcSurfaceStyleWithTextures", false, 1017, IFC4_IfcPresentationItem_type);
IFC4_IfcSurfaceTexture_type = new entity("IfcSurfaceTexture", true, 1018, IFC4_IfcPresentationItem_type);
IFC4_IfcTable_type = new entity("IfcTable", false, 1030, 0);
IFC4_IfcTableColumn_type = new entity("IfcTableColumn", false, 1031, 0);
IFC4_IfcTableRow_type = new entity("IfcTableRow", false, 1032, 0);
IFC4_IfcTaskTime_type = new entity("IfcTaskTime", false, 1038, IFC4_IfcSchedulingTime_type);
IFC4_IfcTaskTimeRecurring_type = new entity("IfcTaskTimeRecurring", false, 1039, IFC4_IfcTaskTime_type);
IFC4_IfcTelecomAddress_type = new entity("IfcTelecomAddress", false, 1042, IFC4_IfcAddress_type);
IFC4_IfcTextStyle_type = new entity("IfcTextStyle", false, 1061, IFC4_IfcPresentationStyle_type);
IFC4_IfcTextStyleForDefinedFont_type = new entity("IfcTextStyleForDefinedFont", false, 1063, IFC4_IfcPresentationItem_type);
IFC4_IfcTextStyleTextModel_type = new entity("IfcTextStyleTextModel", false, 1064, IFC4_IfcPresentationItem_type);
IFC4_IfcTextureCoordinate_type = new entity("IfcTextureCoordinate", true, 1066, IFC4_IfcPresentationItem_type);
IFC4_IfcTextureCoordinateGenerator_type = new entity("IfcTextureCoordinateGenerator", false, 1067, IFC4_IfcTextureCoordinate_type);
IFC4_IfcTextureMap_type = new entity("IfcTextureMap", false, 1068, IFC4_IfcTextureCoordinate_type);
IFC4_IfcTextureVertex_type = new entity("IfcTextureVertex", false, 1069, IFC4_IfcPresentationItem_type);
IFC4_IfcTextureVertexList_type = new entity("IfcTextureVertexList", false, 1070, IFC4_IfcPresentationItem_type);
IFC4_IfcTimePeriod_type = new entity("IfcTimePeriod", false, 1080, 0);
IFC4_IfcTimeSeries_type = new entity("IfcTimeSeries", true, 1081, 0);
IFC4_IfcTimeSeriesValue_type = new entity("IfcTimeSeriesValue", false, 1083, 0);
IFC4_IfcTopologicalRepresentationItem_type = new entity("IfcTopologicalRepresentationItem", true, 1085, IFC4_IfcRepresentationItem_type);
IFC4_IfcTopologyRepresentation_type = new entity("IfcTopologyRepresentation", false, 1086, IFC4_IfcShapeModel_type);
IFC4_IfcUnitAssignment_type = new entity("IfcUnitAssignment", false, 1117, 0);
IFC4_IfcVertex_type = new entity("IfcVertex", false, 1128, IFC4_IfcTopologicalRepresentationItem_type);
IFC4_IfcVertexPoint_type = new entity("IfcVertexPoint", false, 1130, IFC4_IfcVertex_type);
IFC4_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", false, 1135, 0);
IFC4_IfcWorkTime_type = new entity("IfcWorkTime", false, 1170, IFC4_IfcSchedulingTime_type);
{
std::vector items; items.reserve(3);
items.push_back(IFC4_IfcOrganization_type);
items.push_back(IFC4_IfcPerson_type);
items.push_back(IFC4_IfcPersonAndOrganization_type);
IFC4_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items);
}
IFC4_IfcArcIndex_type = new type_declaration("IfcArcIndex", 43, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4_IfcPositiveInteger_type)));
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcLengthMeasure_type);
items.push_back(IFC4_IfcPlaneAngleMeasure_type);
IFC4_IfcBendingParameterSelect_type = new select_type("IfcBendingParameterSelect", 62, items);
}
IFC4_IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", 83, new named_type(IFC4_IfcLabel_type));
{
std::vector items; items.reserve(71);
items.push_back(IFC4_IfcAbsorbedDoseMeasure_type);
items.push_back(IFC4_IfcAccelerationMeasure_type);
items.push_back(IFC4_IfcAngularVelocityMeasure_type);
items.push_back(IFC4_IfcAreaDensityMeasure_type);
items.push_back(IFC4_IfcCompoundPlaneAngleMeasure_type);
items.push_back(IFC4_IfcCurvatureMeasure_type);
items.push_back(IFC4_IfcDoseEquivalentMeasure_type);
items.push_back(IFC4_IfcDynamicViscosityMeasure_type);
items.push_back(IFC4_IfcElectricCapacitanceMeasure_type);
items.push_back(IFC4_IfcElectricChargeMeasure_type);
items.push_back(IFC4_IfcElectricConductanceMeasure_type);
items.push_back(IFC4_IfcElectricResistanceMeasure_type);
items.push_back(IFC4_IfcElectricVoltageMeasure_type);
items.push_back(IFC4_IfcEnergyMeasure_type);
items.push_back(IFC4_IfcForceMeasure_type);
items.push_back(IFC4_IfcFrequencyMeasure_type);
items.push_back(IFC4_IfcHeatFluxDensityMeasure_type);
items.push_back(IFC4_IfcHeatingValueMeasure_type);
items.push_back(IFC4_IfcIlluminanceMeasure_type);
items.push_back(IFC4_IfcInductanceMeasure_type);
items.push_back(IFC4_IfcIntegerCountRateMeasure_type);
items.push_back(IFC4_IfcIonConcentrationMeasure_type);
items.push_back(IFC4_IfcIsothermalMoistureCapacityMeasure_type);
items.push_back(IFC4_IfcKinematicViscosityMeasure_type);
items.push_back(IFC4_IfcLinearForceMeasure_type);
items.push_back(IFC4_IfcLinearMomentMeasure_type);
items.push_back(IFC4_IfcLinearStiffnessMeasure_type);
items.push_back(IFC4_IfcLinearVelocityMeasure_type);
items.push_back(IFC4_IfcLuminousFluxMeasure_type);
items.push_back(IFC4_IfcLuminousIntensityDistributionMeasure_type);
items.push_back(IFC4_IfcMagneticFluxDensityMeasure_type);
items.push_back(IFC4_IfcMagneticFluxMeasure_type);
items.push_back(IFC4_IfcMassDensityMeasure_type);
items.push_back(IFC4_IfcMassFlowRateMeasure_type);
items.push_back(IFC4_IfcMassPerLengthMeasure_type);
items.push_back(IFC4_IfcModulusOfElasticityMeasure_type);
items.push_back(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type);
items.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type);
items.push_back(IFC4_IfcModulusOfSubgradeReactionMeasure_type);
items.push_back(IFC4_IfcMoistureDiffusivityMeasure_type);
items.push_back(IFC4_IfcMolecularWeightMeasure_type);
items.push_back(IFC4_IfcMomentOfInertiaMeasure_type);
items.push_back(IFC4_IfcMonetaryMeasure_type);
items.push_back(IFC4_IfcPHMeasure_type);
items.push_back(IFC4_IfcPlanarForceMeasure_type);
items.push_back(IFC4_IfcPowerMeasure_type);
items.push_back(IFC4_IfcPressureMeasure_type);
items.push_back(IFC4_IfcRadioActivityMeasure_type);
items.push_back(IFC4_IfcRotationalFrequencyMeasure_type);
items.push_back(IFC4_IfcRotationalMassMeasure_type);
items.push_back(IFC4_IfcRotationalStiffnessMeasure_type);
items.push_back(IFC4_IfcSectionModulusMeasure_type);
items.push_back(IFC4_IfcSectionalAreaIntegralMeasure_type);
items.push_back(IFC4_IfcShearModulusMeasure_type);
items.push_back(IFC4_IfcSoundPowerLevelMeasure_type);
items.push_back(IFC4_IfcSoundPowerMeasure_type);
items.push_back(IFC4_IfcSoundPressureLevelMeasure_type);
items.push_back(IFC4_IfcSoundPressureMeasure_type);
items.push_back(IFC4_IfcSpecificHeatCapacityMeasure_type);
items.push_back(IFC4_IfcTemperatureGradientMeasure_type);
items.push_back(IFC4_IfcTemperatureRateOfChangeMeasure_type);
items.push_back(IFC4_IfcThermalAdmittanceMeasure_type);
items.push_back(IFC4_IfcThermalConductivityMeasure_type);
items.push_back(IFC4_IfcThermalExpansionCoefficientMeasure_type);
items.push_back(IFC4_IfcThermalResistanceMeasure_type);
items.push_back(IFC4_IfcThermalTransmittanceMeasure_type);
items.push_back(IFC4_IfcTorqueMeasure_type);
items.push_back(IFC4_IfcVaporPermeabilityMeasure_type);
items.push_back(IFC4_IfcVolumetricFlowRateMeasure_type);
items.push_back(IFC4_IfcWarpingConstantMeasure_type);
items.push_back(IFC4_IfcWarpingMomentMeasure_type);
IFC4_IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", 259, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcRepresentation_type);
items.push_back(IFC4_IfcRepresentationItem_type);
IFC4_IfcLayeredItem_type = new select_type("IfcLayeredItem", 514, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcLibraryInformation_type);
items.push_back(IFC4_IfcLibraryReference_type);
IFC4_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 519, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcExternalReference_type);
items.push_back(IFC4_IfcLightIntensityDistribution_type);
IFC4_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 522, items);
}
IFC4_IfcLineIndex_type = new type_declaration("IfcLineIndex", 539, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4_IfcPositiveInteger_type)));
{
std::vector items; items.reserve(3);
items.push_back(IFC4_IfcMaterialDefinition_type);
items.push_back(IFC4_IfcMaterialList_type);
items.push_back(IFC4_IfcMaterialUsageDefinition_type);
IFC4_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 576, items);
}
IFC4_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 611, new named_type(IFC4_IfcRatioMeasure_type));
{
std::vector items; items.reserve(9);
items.push_back(IFC4_IfcAddress_type);
items.push_back(IFC4_IfcAppliedValue_type);
items.push_back(IFC4_IfcExternalReference_type);
items.push_back(IFC4_IfcMaterialDefinition_type);
items.push_back(IFC4_IfcOrganization_type);
items.push_back(IFC4_IfcPerson_type);
items.push_back(IFC4_IfcPersonAndOrganization_type);
items.push_back(IFC4_IfcTable_type);
items.push_back(IFC4_IfcTimeSeries_type);
IFC4_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 619, items);
}
IFC4_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 687, new named_type(IFC4_IfcRatioMeasure_type));
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcArcIndex_type);
items.push_back(IFC4_IfcLineIndex_type);
IFC4_IfcSegmentIndexSelect_type = new select_type("IfcSegmentIndexSelect", 882, items);
}
{
std::vector items; items.reserve(14);
items.push_back(IFC4_IfcBinary_type);
items.push_back(IFC4_IfcBoolean_type);
items.push_back(IFC4_IfcDate_type);
items.push_back(IFC4_IfcDateTime_type);
items.push_back(IFC4_IfcDuration_type);
items.push_back(IFC4_IfcIdentifier_type);
items.push_back(IFC4_IfcInteger_type);
items.push_back(IFC4_IfcLabel_type);
items.push_back(IFC4_IfcLogical_type);
items.push_back(IFC4_IfcPositiveInteger_type);
items.push_back(IFC4_IfcReal_type);
items.push_back(IFC4_IfcText_type);
items.push_back(IFC4_IfcTime_type);
items.push_back(IFC4_IfcTimeStamp_type);
IFC4_IfcSimpleValue_type = new select_type("IfcSimpleValue", 899, items);
}
{
std::vector items; items.reserve(6);
items.push_back(IFC4_IfcDescriptiveMeasure_type);
items.push_back(IFC4_IfcLengthMeasure_type);
items.push_back(IFC4_IfcNormalisedRatioMeasure_type);
items.push_back(IFC4_IfcPositiveLengthMeasure_type);
items.push_back(IFC4_IfcPositiveRatioMeasure_type);
items.push_back(IFC4_IfcRatioMeasure_type);
IFC4_IfcSizeSelect_type = new select_type("IfcSizeSelect", 904, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcSpecularExponent_type);
items.push_back(IFC4_IfcSpecularRoughness_type);
IFC4_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 937, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcPresentationStyle_type);
items.push_back(IFC4_IfcPresentationStyleAssignment_type);
IFC4_IfcStyleAssignmentSelect_type = new select_type("IfcStyleAssignmentSelect", 993, items);
}
{
std::vector items; items.reserve(5);
items.push_back(IFC4_IfcExternallyDefinedSurfaceStyle_type);
items.push_back(IFC4_IfcSurfaceStyleLighting_type);
items.push_back(IFC4_IfcSurfaceStyleRefraction_type);
items.push_back(IFC4_IfcSurfaceStyleShading_type);
items.push_back(IFC4_IfcSurfaceStyleWithTextures_type);
IFC4_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 1012, items);
}
{
std::vector items; items.reserve(3);
items.push_back(IFC4_IfcDerivedUnit_type);
items.push_back(IFC4_IfcMonetaryUnit_type);
items.push_back(IFC4_IfcNamedUnit_type);
IFC4_IfcUnit_type = new select_type("IfcUnit", 1110, items);
}
IFC4_IfcApprovalRelationship_type = new entity("IfcApprovalRelationship", false, 39, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcArbitraryClosedProfileDef_type = new entity("IfcArbitraryClosedProfileDef", false, 40, IFC4_IfcProfileDef_type);
IFC4_IfcArbitraryOpenProfileDef_type = new entity("IfcArbitraryOpenProfileDef", false, 41, IFC4_IfcProfileDef_type);
IFC4_IfcArbitraryProfileDefWithVoids_type = new entity("IfcArbitraryProfileDefWithVoids", false, 42, IFC4_IfcArbitraryClosedProfileDef_type);
IFC4_IfcBlobTexture_type = new entity("IfcBlobTexture", false, 64, IFC4_IfcSurfaceTexture_type);
IFC4_IfcCenterLineProfileDef_type = new entity("IfcCenterLineProfileDef", false, 128, IFC4_IfcArbitraryOpenProfileDef_type);
IFC4_IfcClassification_type = new entity("IfcClassification", false, 141, IFC4_IfcExternalInformation_type);
IFC4_IfcClassificationReference_type = new entity("IfcClassificationReference", false, 142, IFC4_IfcExternalReference_type);
IFC4_IfcColourRgbList_type = new entity("IfcColourRgbList", false, 152, IFC4_IfcPresentationItem_type);
IFC4_IfcColourSpecification_type = new entity("IfcColourSpecification", true, 153, IFC4_IfcPresentationItem_type);
IFC4_IfcCompositeProfileDef_type = new entity("IfcCompositeProfileDef", false, 168, IFC4_IfcProfileDef_type);
IFC4_IfcConnectedFaceSet_type = new entity("IfcConnectedFaceSet", false, 177, IFC4_IfcTopologicalRepresentationItem_type);
IFC4_IfcConnectionCurveGeometry_type = new entity("IfcConnectionCurveGeometry", false, 178, IFC4_IfcConnectionGeometry_type);
IFC4_IfcConnectionPointEccentricity_type = new entity("IfcConnectionPointEccentricity", false, 180, IFC4_IfcConnectionPointGeometry_type);
IFC4_IfcContextDependentUnit_type = new entity("IfcContextDependentUnit", false, 200, IFC4_IfcNamedUnit_type);
IFC4_IfcConversionBasedUnit_type = new entity("IfcConversionBasedUnit", false, 205, IFC4_IfcNamedUnit_type);
IFC4_IfcConversionBasedUnitWithOffset_type = new entity("IfcConversionBasedUnitWithOffset", false, 206, IFC4_IfcConversionBasedUnit_type);
IFC4_IfcCurrencyRelationship_type = new entity("IfcCurrencyRelationship", false, 232, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcCurveStyle_type = new entity("IfcCurveStyle", false, 244, IFC4_IfcPresentationStyle_type);
IFC4_IfcCurveStyleFont_type = new entity("IfcCurveStyleFont", false, 245, IFC4_IfcPresentationItem_type);
IFC4_IfcCurveStyleFontAndScaling_type = new entity("IfcCurveStyleFontAndScaling", false, 246, IFC4_IfcPresentationItem_type);
IFC4_IfcCurveStyleFontPattern_type = new entity("IfcCurveStyleFontPattern", false, 247, IFC4_IfcPresentationItem_type);
IFC4_IfcDerivedProfileDef_type = new entity("IfcDerivedProfileDef", false, 260, IFC4_IfcProfileDef_type);
IFC4_IfcDocumentInformation_type = new entity("IfcDocumentInformation", false, 287, IFC4_IfcExternalInformation_type);
IFC4_IfcDocumentInformationRelationship_type = new entity("IfcDocumentInformationRelationship", false, 288, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcDocumentReference_type = new entity("IfcDocumentReference", false, 289, IFC4_IfcExternalReference_type);
IFC4_IfcEdge_type = new entity("IfcEdge", false, 318, IFC4_IfcTopologicalRepresentationItem_type);
IFC4_IfcEdgeCurve_type = new entity("IfcEdgeCurve", false, 319, IFC4_IfcEdge_type);
IFC4_IfcEventTime_type = new entity("IfcEventTime", false, 370, IFC4_IfcSchedulingTime_type);
IFC4_IfcExtendedProperties_type = new entity("IfcExtendedProperties", true, 374, IFC4_IfcPropertyAbstraction_type);
IFC4_IfcExternalReferenceRelationship_type = new entity("IfcExternalReferenceRelationship", false, 380, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcFace_type = new entity("IfcFace", false, 386, IFC4_IfcTopologicalRepresentationItem_type);
IFC4_IfcFaceBound_type = new entity("IfcFaceBound", false, 388, IFC4_IfcTopologicalRepresentationItem_type);
IFC4_IfcFaceOuterBound_type = new entity("IfcFaceOuterBound", false, 389, IFC4_IfcFaceBound_type);
IFC4_IfcFaceSurface_type = new entity("IfcFaceSurface", false, 390, IFC4_IfcFace_type);
IFC4_IfcFailureConnectionCondition_type = new entity("IfcFailureConnectionCondition", false, 393, IFC4_IfcStructuralConnectionCondition_type);
IFC4_IfcFillAreaStyle_type = new entity("IfcFillAreaStyle", false, 403, IFC4_IfcPresentationStyle_type);
IFC4_IfcGeometricRepresentationContext_type = new entity("IfcGeometricRepresentationContext", false, 453, IFC4_IfcRepresentationContext_type);
IFC4_IfcGeometricRepresentationItem_type = new entity("IfcGeometricRepresentationItem", true, 454, IFC4_IfcRepresentationItem_type);
IFC4_IfcGeometricRepresentationSubContext_type = new entity("IfcGeometricRepresentationSubContext", false, 455, IFC4_IfcGeometricRepresentationContext_type);
IFC4_IfcGeometricSet_type = new entity("IfcGeometricSet", false, 456, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcGridPlacement_type = new entity("IfcGridPlacement", false, 462, IFC4_IfcObjectPlacement_type);
IFC4_IfcHalfSpaceSolid_type = new entity("IfcHalfSpaceSolid", false, 466, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcImageTexture_type = new entity("IfcImageTexture", false, 478, IFC4_IfcSurfaceTexture_type);
IFC4_IfcIndexedColourMap_type = new entity("IfcIndexedColourMap", false, 479, IFC4_IfcPresentationItem_type);
IFC4_IfcIndexedTextureMap_type = new entity("IfcIndexedTextureMap", true, 483, IFC4_IfcTextureCoordinate_type);
IFC4_IfcIndexedTriangleTextureMap_type = new entity("IfcIndexedTriangleTextureMap", false, 484, IFC4_IfcIndexedTextureMap_type);
IFC4_IfcIrregularTimeSeries_type = new entity("IfcIrregularTimeSeries", false, 496, IFC4_IfcTimeSeries_type);
IFC4_IfcLagTime_type = new entity("IfcLagTime", false, 509, IFC4_IfcSchedulingTime_type);
IFC4_IfcLightSource_type = new entity("IfcLightSource", true, 528, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcLightSourceAmbient_type = new entity("IfcLightSourceAmbient", false, 529, IFC4_IfcLightSource_type);
IFC4_IfcLightSourceDirectional_type = new entity("IfcLightSourceDirectional", false, 530, IFC4_IfcLightSource_type);
IFC4_IfcLightSourceGoniometric_type = new entity("IfcLightSourceGoniometric", false, 531, IFC4_IfcLightSource_type);
IFC4_IfcLightSourcePositional_type = new entity("IfcLightSourcePositional", false, 532, IFC4_IfcLightSource_type);
IFC4_IfcLightSourceSpot_type = new entity("IfcLightSourceSpot", false, 533, IFC4_IfcLightSourcePositional_type);
IFC4_IfcLocalPlacement_type = new entity("IfcLocalPlacement", false, 541, IFC4_IfcObjectPlacement_type);
IFC4_IfcLoop_type = new entity("IfcLoop", false, 544, IFC4_IfcTopologicalRepresentationItem_type);
IFC4_IfcMappedItem_type = new entity("IfcMappedItem", false, 553, IFC4_IfcRepresentationItem_type);
IFC4_IfcMaterial_type = new entity("IfcMaterial", false, 558, IFC4_IfcMaterialDefinition_type);
IFC4_IfcMaterialConstituent_type = new entity("IfcMaterialConstituent", false, 560, IFC4_IfcMaterialDefinition_type);
IFC4_IfcMaterialConstituentSet_type = new entity("IfcMaterialConstituentSet", false, 561, IFC4_IfcMaterialDefinition_type);
IFC4_IfcMaterialDefinitionRepresentation_type = new entity("IfcMaterialDefinitionRepresentation", false, 563, IFC4_IfcProductRepresentation_type);
IFC4_IfcMaterialLayerSetUsage_type = new entity("IfcMaterialLayerSetUsage", false, 566, IFC4_IfcMaterialUsageDefinition_type);
IFC4_IfcMaterialProfileSetUsage_type = new entity("IfcMaterialProfileSetUsage", false, 571, IFC4_IfcMaterialUsageDefinition_type);
IFC4_IfcMaterialProfileSetUsageTapering_type = new entity("IfcMaterialProfileSetUsageTapering", false, 572, IFC4_IfcMaterialProfileSetUsage_type);
IFC4_IfcMaterialProperties_type = new entity("IfcMaterialProperties", false, 574, IFC4_IfcExtendedProperties_type);
IFC4_IfcMaterialRelationship_type = new entity("IfcMaterialRelationship", false, 575, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcMirroredProfileDef_type = new entity("IfcMirroredProfileDef", false, 592, IFC4_IfcDerivedProfileDef_type);
IFC4_IfcObjectDefinition_type = new entity("IfcObjectDefinition", true, 615, IFC4_IfcRoot_type);
IFC4_IfcOpenShell_type = new entity("IfcOpenShell", false, 628, IFC4_IfcConnectedFaceSet_type);
IFC4_IfcOrganizationRelationship_type = new entity("IfcOrganizationRelationship", false, 630, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcOrientedEdge_type = new entity("IfcOrientedEdge", false, 631, IFC4_IfcEdge_type);
IFC4_IfcParameterizedProfileDef_type = new entity("IfcParameterizedProfileDef", true, 637, IFC4_IfcProfileDef_type);
IFC4_IfcPath_type = new entity("IfcPath", false, 639, IFC4_IfcTopologicalRepresentationItem_type);
IFC4_IfcPhysicalComplexQuantity_type = new entity("IfcPhysicalComplexQuantity", false, 650, IFC4_IfcPhysicalQuantity_type);
IFC4_IfcPixelTexture_type = new entity("IfcPixelTexture", false, 664, IFC4_IfcSurfaceTexture_type);
IFC4_IfcPlacement_type = new entity("IfcPlacement", true, 665, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcPlanarExtent_type = new entity("IfcPlanarExtent", false, 667, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcPoint_type = new entity("IfcPoint", true, 675, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcPointOnCurve_type = new entity("IfcPointOnCurve", false, 676, IFC4_IfcPoint_type);
IFC4_IfcPointOnSurface_type = new entity("IfcPointOnSurface", false, 677, IFC4_IfcPoint_type);
IFC4_IfcPolyLoop_type = new entity("IfcPolyLoop", false, 682, IFC4_IfcLoop_type);
IFC4_IfcPolygonalBoundedHalfSpace_type = new entity("IfcPolygonalBoundedHalfSpace", false, 679, IFC4_IfcHalfSpaceSolid_type);
IFC4_IfcPreDefinedItem_type = new entity("IfcPreDefinedItem", true, 692, IFC4_IfcPresentationItem_type);
IFC4_IfcPreDefinedProperties_type = new entity("IfcPreDefinedProperties", true, 693, IFC4_IfcPropertyAbstraction_type);
IFC4_IfcPreDefinedTextFont_type = new entity("IfcPreDefinedTextFont", true, 695, IFC4_IfcPreDefinedItem_type);
IFC4_IfcProductDefinitionShape_type = new entity("IfcProductDefinitionShape", false, 711, IFC4_IfcProductRepresentation_type);
IFC4_IfcProfileProperties_type = new entity("IfcProfileProperties", false, 716, IFC4_IfcExtendedProperties_type);
IFC4_IfcProperty_type = new entity("IfcProperty", true, 726, IFC4_IfcPropertyAbstraction_type);
IFC4_IfcPropertyDefinition_type = new entity("IfcPropertyDefinition", true, 729, IFC4_IfcRoot_type);
IFC4_IfcPropertyDependencyRelationship_type = new entity("IfcPropertyDependencyRelationship", false, 730, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcPropertySetDefinition_type = new entity("IfcPropertySetDefinition", true, 736, IFC4_IfcPropertyDefinition_type);
IFC4_IfcPropertyTemplateDefinition_type = new entity("IfcPropertyTemplateDefinition", true, 744, IFC4_IfcPropertyDefinition_type);
IFC4_IfcQuantitySet_type = new entity("IfcQuantitySet", true, 758, IFC4_IfcPropertySetDefinition_type);
IFC4_IfcRectangleProfileDef_type = new entity("IfcRectangleProfileDef", false, 777, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcRegularTimeSeries_type = new entity("IfcRegularTimeSeries", false, 784, IFC4_IfcTimeSeries_type);
IFC4_IfcReinforcementBarProperties_type = new entity("IfcReinforcementBarProperties", false, 785, IFC4_IfcPreDefinedProperties_type);
IFC4_IfcRelationship_type = new entity("IfcRelationship", true, 813, IFC4_IfcRoot_type);
IFC4_IfcResourceApprovalRelationship_type = new entity("IfcResourceApprovalRelationship", false, 851, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcResourceConstraintRelationship_type = new entity("IfcResourceConstraintRelationship", false, 852, IFC4_IfcResourceLevelRelationship_type);
IFC4_IfcResourceTime_type = new entity("IfcResourceTime", false, 856, IFC4_IfcSchedulingTime_type);
IFC4_IfcRoundedRectangleProfileDef_type = new entity("IfcRoundedRectangleProfileDef", false, 870, IFC4_IfcRectangleProfileDef_type);
IFC4_IfcSectionProperties_type = new entity("IfcSectionProperties", false, 879, IFC4_IfcPreDefinedProperties_type);
IFC4_IfcSectionReinforcementProperties_type = new entity("IfcSectionReinforcementProperties", false, 880, IFC4_IfcPreDefinedProperties_type);
IFC4_IfcSectionedSpine_type = new entity("IfcSectionedSpine", false, 877, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcShellBasedSurfaceModel_type = new entity("IfcShellBasedSurfaceModel", false, 895, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcSimpleProperty_type = new entity("IfcSimpleProperty", true, 896, IFC4_IfcProperty_type);
IFC4_IfcSlippageConnectionCondition_type = new entity("IfcSlippageConnectionCondition", false, 910, IFC4_IfcStructuralConnectionCondition_type);
IFC4_IfcSolidModel_type = new entity("IfcSolidModel", true, 915, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcStructuralLoadLinearForce_type = new entity("IfcStructuralLoadLinearForce", false, 970, IFC4_IfcStructuralLoadStatic_type);
IFC4_IfcStructuralLoadPlanarForce_type = new entity("IfcStructuralLoadPlanarForce", false, 972, IFC4_IfcStructuralLoadStatic_type);
IFC4_IfcStructuralLoadSingleDisplacement_type = new entity("IfcStructuralLoadSingleDisplacement", false, 973, IFC4_IfcStructuralLoadStatic_type);
IFC4_IfcStructuralLoadSingleDisplacementDistortion_type = new entity("IfcStructuralLoadSingleDisplacementDistortion", false, 974, IFC4_IfcStructuralLoadSingleDisplacement_type);
IFC4_IfcStructuralLoadSingleForce_type = new entity("IfcStructuralLoadSingleForce", false, 975, IFC4_IfcStructuralLoadStatic_type);
IFC4_IfcStructuralLoadSingleForceWarping_type = new entity("IfcStructuralLoadSingleForceWarping", false, 976, IFC4_IfcStructuralLoadSingleForce_type);
IFC4_IfcSubedge_type = new entity("IfcSubedge", false, 1000, IFC4_IfcEdge_type);
IFC4_IfcSurface_type = new entity("IfcSurface", true, 1001, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcSurfaceStyleRendering_type = new entity("IfcSurfaceStyleRendering", false, 1015, IFC4_IfcSurfaceStyleShading_type);
IFC4_IfcSweptAreaSolid_type = new entity("IfcSweptAreaSolid", true, 1019, IFC4_IfcSolidModel_type);
IFC4_IfcSweptDiskSolid_type = new entity("IfcSweptDiskSolid", false, 1020, IFC4_IfcSolidModel_type);
IFC4_IfcSweptDiskSolidPolygonal_type = new entity("IfcSweptDiskSolidPolygonal", false, 1021, IFC4_IfcSweptDiskSolid_type);
IFC4_IfcSweptSurface_type = new entity("IfcSweptSurface", true, 1022, IFC4_IfcSurface_type);
IFC4_IfcTShapeProfileDef_type = new entity("IfcTShapeProfileDef", false, 1102, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcTessellatedItem_type = new entity("IfcTessellatedItem", true, 1052, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcTextLiteral_type = new entity("IfcTextLiteral", false, 1058, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcTextLiteralWithExtent_type = new entity("IfcTextLiteralWithExtent", false, 1059, IFC4_IfcTextLiteral_type);
IFC4_IfcTextStyleFontModel_type = new entity("IfcTextStyleFontModel", false, 1062, IFC4_IfcPreDefinedTextFont_type);
IFC4_IfcTrapeziumProfileDef_type = new entity("IfcTrapeziumProfileDef", false, 1097, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcTypeObject_type = new entity("IfcTypeObject", false, 1106, IFC4_IfcObjectDefinition_type);
IFC4_IfcTypeProcess_type = new entity("IfcTypeProcess", true, 1107, IFC4_IfcTypeObject_type);
IFC4_IfcTypeProduct_type = new entity("IfcTypeProduct", false, 1108, IFC4_IfcTypeObject_type);
IFC4_IfcTypeResource_type = new entity("IfcTypeResource", true, 1109, IFC4_IfcTypeObject_type);
IFC4_IfcUShapeProfileDef_type = new entity("IfcUShapeProfileDef", false, 1120, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcVector_type = new entity("IfcVector", false, 1126, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcVertexLoop_type = new entity("IfcVertexLoop", false, 1129, IFC4_IfcLoop_type);
IFC4_IfcWindowStyle_type = new entity("IfcWindowStyle", false, 1157, IFC4_IfcTypeProduct_type);
IFC4_IfcZShapeProfileDef_type = new entity("IfcZShapeProfileDef", false, 1172, IFC4_IfcParameterizedProfileDef_type);
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcClassification_type);
items.push_back(IFC4_IfcClassificationReference_type);
IFC4_IfcClassificationReferenceSelect_type = new select_type("IfcClassificationReferenceSelect", 143, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcClassification_type);
items.push_back(IFC4_IfcClassificationReference_type);
IFC4_IfcClassificationSelect_type = new select_type("IfcClassificationSelect", 144, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcCoordinateReferenceSystem_type);
items.push_back(IFC4_IfcGeometricRepresentationContext_type);
IFC4_IfcCoordinateReferenceSystemSelect_type = new select_type("IfcCoordinateReferenceSystemSelect", 215, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcObjectDefinition_type);
items.push_back(IFC4_IfcPropertyDefinition_type);
IFC4_IfcDefinitionSelect_type = new select_type("IfcDefinitionSelect", 258, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcDocumentInformation_type);
items.push_back(IFC4_IfcDocumentReference_type);
IFC4_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 290, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcPositiveLengthMeasure_type);
items.push_back(IFC4_IfcVector_type);
IFC4_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 467, items);
}
{
std::vector items; items.reserve(23);
items.push_back(IFC4_IfcAmountOfSubstanceMeasure_type);
items.push_back(IFC4_IfcAreaMeasure_type);
items.push_back(IFC4_IfcComplexNumber_type);
items.push_back(IFC4_IfcContextDependentMeasure_type);
items.push_back(IFC4_IfcCountMeasure_type);
items.push_back(IFC4_IfcDescriptiveMeasure_type);
items.push_back(IFC4_IfcElectricCurrentMeasure_type);
items.push_back(IFC4_IfcLengthMeasure_type);
items.push_back(IFC4_IfcLuminousIntensityMeasure_type);
items.push_back(IFC4_IfcMassMeasure_type);
items.push_back(IFC4_IfcNonNegativeLengthMeasure_type);
items.push_back(IFC4_IfcNormalisedRatioMeasure_type);
items.push_back(IFC4_IfcNumericMeasure_type);
items.push_back(IFC4_IfcParameterValue_type);
items.push_back(IFC4_IfcPlaneAngleMeasure_type);
items.push_back(IFC4_IfcPositiveLengthMeasure_type);
items.push_back(IFC4_IfcPositivePlaneAngleMeasure_type);
items.push_back(IFC4_IfcPositiveRatioMeasure_type);
items.push_back(IFC4_IfcRatioMeasure_type);
items.push_back(IFC4_IfcSolidAngleMeasure_type);
items.push_back(IFC4_IfcThermodynamicTemperatureMeasure_type);
items.push_back(IFC4_IfcTimeMeasure_type);
items.push_back(IFC4_IfcVolumeMeasure_type);
IFC4_IfcMeasureValue_type = new select_type("IfcMeasureValue", 578, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcPoint_type);
items.push_back(IFC4_IfcVertexPoint_type);
IFC4_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 678, items);
}
{
std::vector items; items.reserve(5);
items.push_back(IFC4_IfcCurveStyle_type);
items.push_back(IFC4_IfcFillAreaStyle_type);
items.push_back(IFC4_IfcNullStyle_type);
items.push_back(IFC4_IfcSurfaceStyle_type);
items.push_back(IFC4_IfcTextStyle_type);
IFC4_IfcPresentationStyleSelect_type = new select_type("IfcPresentationStyleSelect", 703, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcProductDefinitionShape_type);
items.push_back(IFC4_IfcRepresentationMap_type);
IFC4_IfcProductRepresentationSelect_type = new select_type("IfcProductRepresentationSelect", 713, items);
}
IFC4_IfcPropertySetDefinitionSet_type = new type_declaration("IfcPropertySetDefinitionSet", 738, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4_IfcPropertySetDefinition_type)));
{
std::vector items; items.reserve(16);
items.push_back(IFC4_IfcActorRole_type);
items.push_back(IFC4_IfcAppliedValue_type);
items.push_back(IFC4_IfcApproval_type);
items.push_back(IFC4_IfcConstraint_type);
items.push_back(IFC4_IfcContextDependentUnit_type);
items.push_back(IFC4_IfcConversionBasedUnit_type);
items.push_back(IFC4_IfcExternalInformation_type);
items.push_back(IFC4_IfcExternalReference_type);
items.push_back(IFC4_IfcMaterialDefinition_type);
items.push_back(IFC4_IfcOrganization_type);
items.push_back(IFC4_IfcPerson_type);
items.push_back(IFC4_IfcPersonAndOrganization_type);
items.push_back(IFC4_IfcPhysicalQuantity_type);
items.push_back(IFC4_IfcProfileDef_type);
items.push_back(IFC4_IfcPropertyAbstraction_type);
items.push_back(IFC4_IfcTimeSeries_type);
IFC4_IfcResourceObjectSelect_type = new select_type("IfcResourceObjectSelect", 854, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcExternallyDefinedTextFont_type);
items.push_back(IFC4_IfcPreDefinedTextFont_type);
IFC4_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 1057, items);
}
{
std::vector items; items.reserve(3);
items.push_back(IFC4_IfcDerivedMeasureValue_type);
items.push_back(IFC4_IfcMeasureValue_type);
items.push_back(IFC4_IfcSimpleValue_type);
IFC4_IfcValue_type = new select_type("IfcValue", 1121, items);
}
IFC4_IfcAdvancedFace_type = new entity("IfcAdvancedFace", false, 16, IFC4_IfcFaceSurface_type);
IFC4_IfcAnnotationFillArea_type = new entity("IfcAnnotationFillArea", false, 34, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcAsymmetricIShapeProfileDef_type = new entity("IfcAsymmetricIShapeProfileDef", false, 49, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcAxis1Placement_type = new entity("IfcAxis1Placement", false, 53, IFC4_IfcPlacement_type);
IFC4_IfcAxis2Placement2D_type = new entity("IfcAxis2Placement2D", false, 55, IFC4_IfcPlacement_type);
IFC4_IfcAxis2Placement3D_type = new entity("IfcAxis2Placement3D", false, 56, IFC4_IfcPlacement_type);
IFC4_IfcBooleanResult_type = new entity("IfcBooleanResult", false, 73, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcBoundedSurface_type = new entity("IfcBoundedSurface", true, 81, IFC4_IfcSurface_type);
IFC4_IfcBoundingBox_type = new entity("IfcBoundingBox", false, 82, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcBoxedHalfSpace_type = new entity("IfcBoxedHalfSpace", false, 84, IFC4_IfcHalfSpaceSolid_type);
IFC4_IfcCShapeProfileDef_type = new entity("IfcCShapeProfileDef", false, 231, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcCartesianPoint_type = new entity("IfcCartesianPoint", false, 119, IFC4_IfcPoint_type);
IFC4_IfcCartesianPointList_type = new entity("IfcCartesianPointList", true, 120, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcCartesianPointList2D_type = new entity("IfcCartesianPointList2D", false, 121, IFC4_IfcCartesianPointList_type);
IFC4_IfcCartesianPointList3D_type = new entity("IfcCartesianPointList3D", false, 122, IFC4_IfcCartesianPointList_type);
IFC4_IfcCartesianTransformationOperator_type = new entity("IfcCartesianTransformationOperator", true, 123, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcCartesianTransformationOperator2D_type = new entity("IfcCartesianTransformationOperator2D", false, 124, IFC4_IfcCartesianTransformationOperator_type);
IFC4_IfcCartesianTransformationOperator2DnonUniform_type = new entity("IfcCartesianTransformationOperator2DnonUniform", false, 125, IFC4_IfcCartesianTransformationOperator2D_type);
IFC4_IfcCartesianTransformationOperator3D_type = new entity("IfcCartesianTransformationOperator3D", false, 126, IFC4_IfcCartesianTransformationOperator_type);
IFC4_IfcCartesianTransformationOperator3DnonUniform_type = new entity("IfcCartesianTransformationOperator3DnonUniform", false, 127, IFC4_IfcCartesianTransformationOperator3D_type);
IFC4_IfcCircleProfileDef_type = new entity("IfcCircleProfileDef", false, 138, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcClosedShell_type = new entity("IfcClosedShell", false, 145, IFC4_IfcConnectedFaceSet_type);
IFC4_IfcColourRgb_type = new entity("IfcColourRgb", false, 151, IFC4_IfcColourSpecification_type);
IFC4_IfcComplexProperty_type = new entity("IfcComplexProperty", false, 162, IFC4_IfcProperty_type);
IFC4_IfcCompositeCurveSegment_type = new entity("IfcCompositeCurveSegment", false, 167, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcConstructionResourceType_type = new entity("IfcConstructionResourceType", true, 197, IFC4_IfcTypeResource_type);
IFC4_IfcContext_type = new entity("IfcContext", true, 198, IFC4_IfcObjectDefinition_type);
IFC4_IfcCrewResourceType_type = new entity("IfcCrewResourceType", false, 226, IFC4_IfcConstructionResourceType_type);
IFC4_IfcCsgPrimitive3D_type = new entity("IfcCsgPrimitive3D", true, 228, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcCsgSolid_type = new entity("IfcCsgSolid", false, 230, IFC4_IfcSolidModel_type);
IFC4_IfcCurve_type = new entity("IfcCurve", true, 237, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcCurveBoundedPlane_type = new entity("IfcCurveBoundedPlane", false, 238, IFC4_IfcBoundedSurface_type);
IFC4_IfcCurveBoundedSurface_type = new entity("IfcCurveBoundedSurface", false, 239, IFC4_IfcBoundedSurface_type);
IFC4_IfcDirection_type = new entity("IfcDirection", false, 267, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcDoorStyle_type = new entity("IfcDoorStyle", false, 298, IFC4_IfcTypeProduct_type);
IFC4_IfcEdgeLoop_type = new entity("IfcEdgeLoop", false, 320, IFC4_IfcLoop_type);
IFC4_IfcElementQuantity_type = new entity("IfcElementQuantity", false, 353, IFC4_IfcQuantitySet_type);
IFC4_IfcElementType_type = new entity("IfcElementType", true, 354, IFC4_IfcTypeProduct_type);
IFC4_IfcElementarySurface_type = new entity("IfcElementarySurface", true, 346, IFC4_IfcSurface_type);
IFC4_IfcEllipseProfileDef_type = new entity("IfcEllipseProfileDef", false, 356, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcEventType_type = new entity("IfcEventType", false, 372, IFC4_IfcTypeProcess_type);
IFC4_IfcExtrudedAreaSolid_type = new entity("IfcExtrudedAreaSolid", false, 384, IFC4_IfcSweptAreaSolid_type);
IFC4_IfcExtrudedAreaSolidTapered_type = new entity("IfcExtrudedAreaSolidTapered", false, 385, IFC4_IfcExtrudedAreaSolid_type);
IFC4_IfcFaceBasedSurfaceModel_type = new entity("IfcFaceBasedSurfaceModel", false, 387, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcFillAreaStyleHatching_type = new entity("IfcFillAreaStyleHatching", false, 404, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcFillAreaStyleTiles_type = new entity("IfcFillAreaStyleTiles", false, 405, IFC4_IfcGeometricRepresentationItem_type);
IFC4_IfcFixedReferenceSweptAreaSolid_type = new entity("IfcFixedReferenceSweptAreaSolid", false, 413, IFC4_IfcSweptAreaSolid_type);
IFC4_IfcFurnishingElementType_type = new entity("IfcFurnishingElementType", false, 444, IFC4_IfcElementType_type);
IFC4_IfcFurnitureType_type = new entity("IfcFurnitureType", false, 446, IFC4_IfcFurnishingElementType_type);
IFC4_IfcGeographicElementType_type = new entity("IfcGeographicElementType", false, 449, IFC4_IfcElementType_type);
IFC4_IfcGeometricCurveSet_type = new entity("IfcGeometricCurveSet", false, 451, IFC4_IfcGeometricSet_type);
IFC4_IfcIShapeProfileDef_type = new entity("IfcIShapeProfileDef", false, 498, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcIndexedPolygonalFace_type = new entity("IfcIndexedPolygonalFace", false, 481, IFC4_IfcTessellatedItem_type);
IFC4_IfcIndexedPolygonalFaceWithVoids_type = new entity("IfcIndexedPolygonalFaceWithVoids", false, 482, IFC4_IfcIndexedPolygonalFace_type);
IFC4_IfcLShapeProfileDef_type = new entity("IfcLShapeProfileDef", false, 545, IFC4_IfcParameterizedProfileDef_type);
IFC4_IfcLaborResourceType_type = new entity("IfcLaborResourceType", false, 507, IFC4_IfcConstructionResourceType_type);
IFC4_IfcLine_type = new entity("IfcLine", false, 534, IFC4_IfcCurve_type);
IFC4_IfcManifoldSolidBrep_type = new entity("IfcManifoldSolidBrep", true, 551, IFC4_IfcSolidModel_type);
IFC4_IfcObject_type = new entity("IfcObject", true, 614, IFC4_IfcObjectDefinition_type);
IFC4_IfcOffsetCurve2D_type = new entity("IfcOffsetCurve2D", false, 623, IFC4_IfcCurve_type);
IFC4_IfcOffsetCurve3D_type = new entity("IfcOffsetCurve3D", false, 624, IFC4_IfcCurve_type);
IFC4_IfcPcurve_type = new entity("IfcPcurve", false, 640, IFC4_IfcCurve_type);
IFC4_IfcPlanarBox_type = new entity("IfcPlanarBox", false, 666, IFC4_IfcPlanarExtent_type);
IFC4_IfcPlane_type = new entity("IfcPlane", false, 669, IFC4_IfcElementarySurface_type);
IFC4_IfcPreDefinedColour_type = new entity("IfcPreDefinedColour", true, 690, IFC4_IfcPreDefinedItem_type);
IFC4_IfcPreDefinedCurveFont_type = new entity("IfcPreDefinedCurveFont", true, 691, IFC4_IfcPreDefinedItem_type);
IFC4_IfcPreDefinedPropertySet_type = new entity("IfcPreDefinedPropertySet", true, 694, IFC4_IfcPropertySetDefinition_type);
IFC4_IfcProcedureType_type = new entity("IfcProcedureType", false, 706, IFC4_IfcTypeProcess_type);
IFC4_IfcProcess_type = new entity("IfcProcess", true, 708, IFC4_IfcObject_type);
IFC4_IfcProduct_type = new entity("IfcProduct", true, 710, IFC4_IfcObject_type);
IFC4_IfcProject_type = new entity("IfcProject", false, 718, IFC4_IfcContext_type);
IFC4_IfcProjectLibrary_type = new entity("IfcProjectLibrary", false, 723, IFC4_IfcContext_type);
IFC4_IfcPropertyBoundedValue_type = new entity("IfcPropertyBoundedValue", false, 728, IFC4_IfcSimpleProperty_type);
IFC4_IfcPropertyEnumeratedValue_type = new entity("IfcPropertyEnumeratedValue", false, 731, IFC4_IfcSimpleProperty_type);
IFC4_IfcPropertyListValue_type = new entity("IfcPropertyListValue", false, 733, IFC4_IfcSimpleProperty_type);
IFC4_IfcPropertyReferenceValue_type = new entity("IfcPropertyReferenceValue", false, 734, IFC4_IfcSimpleProperty_type);
IFC4_IfcPropertySet_type = new entity("IfcPropertySet", false, 735, IFC4_IfcPropertySetDefinition_type);
IFC4_IfcPropertySetTemplate_type = new entity("IfcPropertySetTemplate", false, 739, IFC4_IfcPropertyTemplateDefinition_type);
IFC4_IfcPropertySingleValue_type = new entity("IfcPropertySingleValue", false, 741, IFC4_IfcSimpleProperty_type);
IFC4_IfcPropertyTableValue_type = new entity("IfcPropertyTableValue", false, 742, IFC4_IfcSimpleProperty_type);
IFC4_IfcPropertyTemplate_type = new entity("IfcPropertyTemplate", true, 743, IFC4_IfcPropertyTemplateDefinition_type);
IFC4_IfcProxy_type = new entity("IfcProxy", false, 751, IFC4_IfcProduct_type);
IFC4_IfcRectangleHollowProfileDef_type = new entity("IfcRectangleHollowProfileDef", false, 776, IFC4_IfcRectangleProfileDef_type);
IFC4_IfcRectangularPyramid_type = new entity("IfcRectangularPyramid", false, 778, IFC4_IfcCsgPrimitive3D_type);
IFC4_IfcRectangularTrimmedSurface_type = new entity("IfcRectangularTrimmedSurface", false, 779, IFC4_IfcBoundedSurface_type);
IFC4_IfcReinforcementDefinitionProperties_type = new entity("IfcReinforcementDefinitionProperties", false, 786, IFC4_IfcPreDefinedPropertySet_type);
IFC4_IfcRelAssigns_type = new entity("IfcRelAssigns", true, 798, IFC4_IfcRelationship_type);
IFC4_IfcRelAssignsToActor_type = new entity("IfcRelAssignsToActor", false, 799, IFC4_IfcRelAssigns_type);
IFC4_IfcRelAssignsToControl_type = new entity("IfcRelAssignsToControl", false, 800, IFC4_IfcRelAssigns_type);
IFC4_IfcRelAssignsToGroup_type = new entity("IfcRelAssignsToGroup", false, 801, IFC4_IfcRelAssigns_type);
IFC4_IfcRelAssignsToGroupByFactor_type = new entity("IfcRelAssignsToGroupByFactor", false, 802, IFC4_IfcRelAssignsToGroup_type);
IFC4_IfcRelAssignsToProcess_type = new entity("IfcRelAssignsToProcess", false, 803, IFC4_IfcRelAssigns_type);
IFC4_IfcRelAssignsToProduct_type = new entity("IfcRelAssignsToProduct", false, 804, IFC4_IfcRelAssigns_type);
IFC4_IfcRelAssignsToResource_type = new entity("IfcRelAssignsToResource", false, 805, IFC4_IfcRelAssigns_type);
IFC4_IfcRelAssociates_type = new entity("IfcRelAssociates", true, 806, IFC4_IfcRelationship_type);
IFC4_IfcRelAssociatesApproval_type = new entity("IfcRelAssociatesApproval", false, 807, IFC4_IfcRelAssociates_type);
IFC4_IfcRelAssociatesClassification_type = new entity("IfcRelAssociatesClassification", false, 808, IFC4_IfcRelAssociates_type);
IFC4_IfcRelAssociatesConstraint_type = new entity("IfcRelAssociatesConstraint", false, 809, IFC4_IfcRelAssociates_type);
IFC4_IfcRelAssociatesDocument_type = new entity("IfcRelAssociatesDocument", false, 810, IFC4_IfcRelAssociates_type);
IFC4_IfcRelAssociatesLibrary_type = new entity("IfcRelAssociatesLibrary", false, 811, IFC4_IfcRelAssociates_type);
IFC4_IfcRelAssociatesMaterial_type = new entity("IfcRelAssociatesMaterial", false, 812, IFC4_IfcRelAssociates_type);
IFC4_IfcRelConnects_type = new entity("IfcRelConnects", true, 814, IFC4_IfcRelationship_type);
IFC4_IfcRelConnectsElements_type = new entity("IfcRelConnectsElements", false, 815, IFC4_IfcRelConnects_type);
IFC4_IfcRelConnectsPathElements_type = new entity("IfcRelConnectsPathElements", false, 816, IFC4_IfcRelConnectsElements_type);
IFC4_IfcRelConnectsPortToElement_type = new entity("IfcRelConnectsPortToElement", false, 818, IFC4_IfcRelConnects_type);
IFC4_IfcRelConnectsPorts_type = new entity("IfcRelConnectsPorts", false, 817, IFC4_IfcRelConnects_type);
IFC4_IfcRelConnectsStructuralActivity_type = new entity("IfcRelConnectsStructuralActivity", false, 819, IFC4_IfcRelConnects_type);
IFC4_IfcRelConnectsStructuralMember_type = new entity("IfcRelConnectsStructuralMember", false, 820, IFC4_IfcRelConnects_type);
IFC4_IfcRelConnectsWithEccentricity_type = new entity("IfcRelConnectsWithEccentricity", false, 821, IFC4_IfcRelConnectsStructuralMember_type);
IFC4_IfcRelConnectsWithRealizingElements_type = new entity("IfcRelConnectsWithRealizingElements", false, 822, IFC4_IfcRelConnectsElements_type);
IFC4_IfcRelContainedInSpatialStructure_type = new entity("IfcRelContainedInSpatialStructure", false, 823, IFC4_IfcRelConnects_type);
IFC4_IfcRelCoversBldgElements_type = new entity("IfcRelCoversBldgElements", false, 824, IFC4_IfcRelConnects_type);
IFC4_IfcRelCoversSpaces_type = new entity("IfcRelCoversSpaces", false, 825, IFC4_IfcRelConnects_type);
IFC4_IfcRelDeclares_type = new entity("IfcRelDeclares", false, 826, IFC4_IfcRelationship_type);
IFC4_IfcRelDecomposes_type = new entity("IfcRelDecomposes", true, 827, IFC4_IfcRelationship_type);
IFC4_IfcRelDefines_type = new entity("IfcRelDefines", true, 828, IFC4_IfcRelationship_type);
IFC4_IfcRelDefinesByObject_type = new entity("IfcRelDefinesByObject", false, 829, IFC4_IfcRelDefines_type);
IFC4_IfcRelDefinesByProperties_type = new entity("IfcRelDefinesByProperties", false, 830, IFC4_IfcRelDefines_type);
IFC4_IfcRelDefinesByTemplate_type = new entity("IfcRelDefinesByTemplate", false, 831, IFC4_IfcRelDefines_type);
IFC4_IfcRelDefinesByType_type = new entity("IfcRelDefinesByType", false, 832, IFC4_IfcRelDefines_type);
IFC4_IfcRelFillsElement_type = new entity("IfcRelFillsElement", false, 833, IFC4_IfcRelConnects_type);
IFC4_IfcRelFlowControlElements_type = new entity("IfcRelFlowControlElements", false, 834, IFC4_IfcRelConnects_type);
IFC4_IfcRelInterferesElements_type = new entity("IfcRelInterferesElements", false, 835, IFC4_IfcRelConnects_type);
IFC4_IfcRelNests_type = new entity("IfcRelNests", false, 836, IFC4_IfcRelDecomposes_type);
IFC4_IfcRelProjectsElement_type = new entity("IfcRelProjectsElement", false, 837, IFC4_IfcRelDecomposes_type);
IFC4_IfcRelReferencedInSpatialStructure_type = new entity("IfcRelReferencedInSpatialStructure", false, 838, IFC4_IfcRelConnects_type);
IFC4_IfcRelSequence_type = new entity("IfcRelSequence", false, 839, IFC4_IfcRelConnects_type);
IFC4_IfcRelServicesBuildings_type = new entity("IfcRelServicesBuildings", false, 840, IFC4_IfcRelConnects_type);
IFC4_IfcRelSpaceBoundary_type = new entity("IfcRelSpaceBoundary", false, 841, IFC4_IfcRelConnects_type);
IFC4_IfcRelSpaceBoundary1stLevel_type = new entity("IfcRelSpaceBoundary1stLevel", false, 842, IFC4_IfcRelSpaceBoundary_type);
IFC4_IfcRelSpaceBoundary2ndLevel_type = new entity("IfcRelSpaceBoundary2ndLevel", false, 843, IFC4_IfcRelSpaceBoundary1stLevel_type);
IFC4_IfcRelVoidsElement_type = new entity("IfcRelVoidsElement", false, 844, IFC4_IfcRelDecomposes_type);
IFC4_IfcReparametrisedCompositeCurveSegment_type = new entity("IfcReparametrisedCompositeCurveSegment", false, 845, IFC4_IfcCompositeCurveSegment_type);
IFC4_IfcResource_type = new entity("IfcResource", true, 850, IFC4_IfcObject_type);
IFC4_IfcRevolvedAreaSolid_type = new entity("IfcRevolvedAreaSolid", false, 857, IFC4_IfcSweptAreaSolid_type);
IFC4_IfcRevolvedAreaSolidTapered_type = new entity("IfcRevolvedAreaSolidTapered", false, 858, IFC4_IfcRevolvedAreaSolid_type);
IFC4_IfcRightCircularCone_type = new entity("IfcRightCircularCone", false, 859, IFC4_IfcCsgPrimitive3D_type);
IFC4_IfcRightCircularCylinder_type = new entity("IfcRightCircularCylinder", false, 860, IFC4_IfcCsgPrimitive3D_type);
IFC4_IfcSimplePropertyTemplate_type = new entity("IfcSimplePropertyTemplate", false, 897, IFC4_IfcPropertyTemplate_type);
IFC4_IfcSpatialElement_type = new entity("IfcSpatialElement", true, 928, IFC4_IfcProduct_type);
IFC4_IfcSpatialElementType_type = new entity("IfcSpatialElementType", true, 929, IFC4_IfcTypeProduct_type);
IFC4_IfcSpatialStructureElement_type = new entity("IfcSpatialStructureElement", true, 930, IFC4_IfcSpatialElement_type);
IFC4_IfcSpatialStructureElementType_type = new entity("IfcSpatialStructureElementType", true, 931, IFC4_IfcSpatialElementType_type);
IFC4_IfcSpatialZone_type = new entity("IfcSpatialZone", false, 932, IFC4_IfcSpatialElement_type);
IFC4_IfcSpatialZoneType_type = new entity("IfcSpatialZoneType", false, 933, IFC4_IfcSpatialElementType_type);
IFC4_IfcSphere_type = new entity("IfcSphere", false, 939, IFC4_IfcCsgPrimitive3D_type);
IFC4_IfcSphericalSurface_type = new entity("IfcSphericalSurface", false, 940, IFC4_IfcElementarySurface_type);
IFC4_IfcStructuralActivity_type = new entity("IfcStructuralActivity", true, 952, IFC4_IfcProduct_type);
IFC4_IfcStructuralItem_type = new entity("IfcStructuralItem", true, 964, IFC4_IfcProduct_type);
IFC4_IfcStructuralMember_type = new entity("IfcStructuralMember", true, 979, IFC4_IfcStructuralItem_type);
IFC4_IfcStructuralReaction_type = new entity("IfcStructuralReaction", true, 984, IFC4_IfcStructuralActivity_type);
IFC4_IfcStructuralSurfaceMember_type = new entity("IfcStructuralSurfaceMember", false, 989, IFC4_IfcStructuralMember_type);
IFC4_IfcStructuralSurfaceMemberVarying_type = new entity("IfcStructuralSurfaceMemberVarying", false, 991, IFC4_IfcStructuralSurfaceMember_type);
IFC4_IfcStructuralSurfaceReaction_type = new entity("IfcStructuralSurfaceReaction", false, 992, IFC4_IfcStructuralReaction_type);
IFC4_IfcSubContractResourceType_type = new entity("IfcSubContractResourceType", false, 998, IFC4_IfcConstructionResourceType_type);
IFC4_IfcSurfaceCurve_type = new entity("IfcSurfaceCurve", false, 1002, IFC4_IfcCurve_type);
IFC4_IfcSurfaceCurveSweptAreaSolid_type = new entity("IfcSurfaceCurveSweptAreaSolid", false, 1003, IFC4_IfcSweptAreaSolid_type);
IFC4_IfcSurfaceOfLinearExtrusion_type = new entity("IfcSurfaceOfLinearExtrusion", false, 1006, IFC4_IfcSweptSurface_type);
IFC4_IfcSurfaceOfRevolution_type = new entity("IfcSurfaceOfRevolution", false, 1007, IFC4_IfcSweptSurface_type);
IFC4_IfcSystemFurnitureElementType_type = new entity("IfcSystemFurnitureElementType", false, 1028, IFC4_IfcFurnishingElementType_type);
IFC4_IfcTask_type = new entity("IfcTask", false, 1036, IFC4_IfcProcess_type);
IFC4_IfcTaskType_type = new entity("IfcTaskType", false, 1040, IFC4_IfcTypeProcess_type);
IFC4_IfcTessellatedFaceSet_type = new entity("IfcTessellatedFaceSet", true, 1051, IFC4_IfcTessellatedItem_type);
IFC4_IfcToroidalSurface_type = new entity("IfcToroidalSurface", false, 1087, IFC4_IfcElementarySurface_type);
IFC4_IfcTransportElementType_type = new entity("IfcTransportElementType", false, 1095, IFC4_IfcElementType_type);
IFC4_IfcTriangulatedFaceSet_type = new entity("IfcTriangulatedFaceSet", false, 1098, IFC4_IfcTessellatedFaceSet_type);
IFC4_IfcWindowLiningProperties_type = new entity("IfcWindowLiningProperties", false, 1152, IFC4_IfcPreDefinedPropertySet_type);
IFC4_IfcWindowPanelProperties_type = new entity("IfcWindowPanelProperties", false, 1155, IFC4_IfcPreDefinedPropertySet_type);
{
std::vector items; items.reserve(3);
items.push_back(IFC4_IfcMeasureWithUnit_type);
items.push_back(IFC4_IfcReference_type);
items.push_back(IFC4_IfcValue_type);
IFC4_IfcAppliedValueSelect_type = new select_type("IfcAppliedValueSelect", 37, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcAxis2Placement2D_type);
items.push_back(IFC4_IfcAxis2Placement3D_type);
IFC4_IfcAxis2Placement_type = new select_type("IfcAxis2Placement", 54, items);
}
{
std::vector items; items.reserve(5);
items.push_back(IFC4_IfcBooleanResult_type);
items.push_back(IFC4_IfcCsgPrimitive3D_type);
items.push_back(IFC4_IfcHalfSpaceSolid_type);
items.push_back(IFC4_IfcSolidModel_type);
items.push_back(IFC4_IfcTessellatedFaceSet_type);
IFC4_IfcBooleanOperand_type = new select_type("IfcBooleanOperand", 71, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcColourSpecification_type);
items.push_back(IFC4_IfcPreDefinedColour_type);
IFC4_IfcColour_type = new select_type("IfcColour", 149, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcColourRgb_type);
items.push_back(IFC4_IfcNormalisedRatioMeasure_type);
IFC4_IfcColourOrFactor_type = new select_type("IfcColourOrFactor", 150, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcBooleanResult_type);
items.push_back(IFC4_IfcCsgPrimitive3D_type);
IFC4_IfcCsgSelect_type = new select_type("IfcCsgSelect", 229, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcCurveStyleFont_type);
items.push_back(IFC4_IfcPreDefinedCurveFont_type);
IFC4_IfcCurveStyleFontSelect_type = new select_type("IfcCurveStyleFontSelect", 248, items);
}
{
std::vector items; items.reserve(4);
items.push_back(IFC4_IfcColour_type);
items.push_back(IFC4_IfcExternallyDefinedHatchStyle_type);
items.push_back(IFC4_IfcFillAreaStyleHatching_type);
items.push_back(IFC4_IfcFillAreaStyleTiles_type);
IFC4_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 406, items);
}
{
std::vector items; items.reserve(3);
items.push_back(IFC4_IfcCurve_type);
items.push_back(IFC4_IfcPoint_type);
items.push_back(IFC4_IfcSurface_type);
IFC4_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 457, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcDirection_type);
items.push_back(IFC4_IfcVirtualGridIntersection_type);
IFC4_IfcGridPlacementDirectionSelect_type = new select_type("IfcGridPlacementDirectionSelect", 463, items);
}
{
std::vector items; items.reserve(6);
items.push_back(IFC4_IfcAppliedValue_type);
items.push_back(IFC4_IfcMeasureWithUnit_type);
items.push_back(IFC4_IfcReference_type);
items.push_back(IFC4_IfcTable_type);
items.push_back(IFC4_IfcTimeSeries_type);
items.push_back(IFC4_IfcValue_type);
IFC4_IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", 591, items);
}
{
std::vector items; items.reserve(2);
items.push_back(IFC4_IfcProcess_type);
items.push_back(IFC4_IfcTypeProcess_type);
IFC4_IfcProcessSelect_type = new select_type("IfcProcessSelect", 709, items);
}
{
std::vector