diff --git a/src/ifcparse/Argument.h b/src/ifcparse/Argument.h
index bcb1227dd0..3d0095b4cd 100644
--- a/src/ifcparse/Argument.h
+++ b/src/ifcparse/Argument.h
@@ -28,7 +28,11 @@
#include "ifc_parse_api.h"
-#ifdef USE_IFC4
+#ifdef USE_IFC4X2
+#include "../ifcparse/Ifc4x2enum.h"
+#elif USE_IFC4X1
+#include "../ifcparse/Ifc4x1enum.h"
+#elif USE_IFC4
#include "../ifcparse/Ifc4enum.h"
#else
#include "../ifcparse/Ifc2x3enum.h"
diff --git a/src/ifcparse/Ifc4x1-schema.cpp b/src/ifcparse/Ifc4x1-schema.cpp
new file mode 100644
index 0000000000..47e12c0716
--- /dev/null
+++ b/src/ifcparse/Ifc4x1-schema.cpp
@@ -0,0 +1,15270 @@
+/********************************************************************************
+ * *
+ * 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 IFC4x1.exp. Do not make modifications *
+ * but instead modify the python script that has been used to generate this. *
+ * *
+ ********************************************************************************/
+
+#include "../ifcparse/IfcSchema.h"
+#include "../ifcparse/Ifc4x1.h"
+
+using namespace IfcParse;
+
+entity* IFC4X1_IfcActionRequest_type = 0;
+entity* IFC4X1_IfcActor_type = 0;
+entity* IFC4X1_IfcActorRole_type = 0;
+entity* IFC4X1_IfcActuator_type = 0;
+entity* IFC4X1_IfcActuatorType_type = 0;
+entity* IFC4X1_IfcAddress_type = 0;
+entity* IFC4X1_IfcAdvancedBrep_type = 0;
+entity* IFC4X1_IfcAdvancedBrepWithVoids_type = 0;
+entity* IFC4X1_IfcAdvancedFace_type = 0;
+entity* IFC4X1_IfcAirTerminal_type = 0;
+entity* IFC4X1_IfcAirTerminalBox_type = 0;
+entity* IFC4X1_IfcAirTerminalBoxType_type = 0;
+entity* IFC4X1_IfcAirTerminalType_type = 0;
+entity* IFC4X1_IfcAirToAirHeatRecovery_type = 0;
+entity* IFC4X1_IfcAirToAirHeatRecoveryType_type = 0;
+entity* IFC4X1_IfcAlarm_type = 0;
+entity* IFC4X1_IfcAlarmType_type = 0;
+entity* IFC4X1_IfcAlignment_type = 0;
+entity* IFC4X1_IfcAlignment2DHorizontal_type = 0;
+entity* IFC4X1_IfcAlignment2DHorizontalSegment_type = 0;
+entity* IFC4X1_IfcAlignment2DSegment_type = 0;
+entity* IFC4X1_IfcAlignment2DVerSegCircularArc_type = 0;
+entity* IFC4X1_IfcAlignment2DVerSegLine_type = 0;
+entity* IFC4X1_IfcAlignment2DVerSegParabolicArc_type = 0;
+entity* IFC4X1_IfcAlignment2DVertical_type = 0;
+entity* IFC4X1_IfcAlignment2DVerticalSegment_type = 0;
+entity* IFC4X1_IfcAlignmentCurve_type = 0;
+entity* IFC4X1_IfcAnnotation_type = 0;
+entity* IFC4X1_IfcAnnotationFillArea_type = 0;
+entity* IFC4X1_IfcApplication_type = 0;
+entity* IFC4X1_IfcAppliedValue_type = 0;
+entity* IFC4X1_IfcApproval_type = 0;
+entity* IFC4X1_IfcApprovalRelationship_type = 0;
+entity* IFC4X1_IfcArbitraryClosedProfileDef_type = 0;
+entity* IFC4X1_IfcArbitraryOpenProfileDef_type = 0;
+entity* IFC4X1_IfcArbitraryProfileDefWithVoids_type = 0;
+entity* IFC4X1_IfcAsset_type = 0;
+entity* IFC4X1_IfcAsymmetricIShapeProfileDef_type = 0;
+entity* IFC4X1_IfcAudioVisualAppliance_type = 0;
+entity* IFC4X1_IfcAudioVisualApplianceType_type = 0;
+entity* IFC4X1_IfcAxis1Placement_type = 0;
+entity* IFC4X1_IfcAxis2Placement2D_type = 0;
+entity* IFC4X1_IfcAxis2Placement3D_type = 0;
+entity* IFC4X1_IfcBSplineCurve_type = 0;
+entity* IFC4X1_IfcBSplineCurveWithKnots_type = 0;
+entity* IFC4X1_IfcBSplineSurface_type = 0;
+entity* IFC4X1_IfcBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X1_IfcBeam_type = 0;
+entity* IFC4X1_IfcBeamStandardCase_type = 0;
+entity* IFC4X1_IfcBeamType_type = 0;
+entity* IFC4X1_IfcBlobTexture_type = 0;
+entity* IFC4X1_IfcBlock_type = 0;
+entity* IFC4X1_IfcBoiler_type = 0;
+entity* IFC4X1_IfcBoilerType_type = 0;
+entity* IFC4X1_IfcBooleanClippingResult_type = 0;
+entity* IFC4X1_IfcBooleanResult_type = 0;
+entity* IFC4X1_IfcBoundaryCondition_type = 0;
+entity* IFC4X1_IfcBoundaryCurve_type = 0;
+entity* IFC4X1_IfcBoundaryEdgeCondition_type = 0;
+entity* IFC4X1_IfcBoundaryFaceCondition_type = 0;
+entity* IFC4X1_IfcBoundaryNodeCondition_type = 0;
+entity* IFC4X1_IfcBoundaryNodeConditionWarping_type = 0;
+entity* IFC4X1_IfcBoundedCurve_type = 0;
+entity* IFC4X1_IfcBoundedSurface_type = 0;
+entity* IFC4X1_IfcBoundingBox_type = 0;
+entity* IFC4X1_IfcBoxedHalfSpace_type = 0;
+entity* IFC4X1_IfcBuilding_type = 0;
+entity* IFC4X1_IfcBuildingElement_type = 0;
+entity* IFC4X1_IfcBuildingElementPart_type = 0;
+entity* IFC4X1_IfcBuildingElementPartType_type = 0;
+entity* IFC4X1_IfcBuildingElementProxy_type = 0;
+entity* IFC4X1_IfcBuildingElementProxyType_type = 0;
+entity* IFC4X1_IfcBuildingElementType_type = 0;
+entity* IFC4X1_IfcBuildingStorey_type = 0;
+entity* IFC4X1_IfcBuildingSystem_type = 0;
+entity* IFC4X1_IfcBurner_type = 0;
+entity* IFC4X1_IfcBurnerType_type = 0;
+entity* IFC4X1_IfcCShapeProfileDef_type = 0;
+entity* IFC4X1_IfcCableCarrierFitting_type = 0;
+entity* IFC4X1_IfcCableCarrierFittingType_type = 0;
+entity* IFC4X1_IfcCableCarrierSegment_type = 0;
+entity* IFC4X1_IfcCableCarrierSegmentType_type = 0;
+entity* IFC4X1_IfcCableFitting_type = 0;
+entity* IFC4X1_IfcCableFittingType_type = 0;
+entity* IFC4X1_IfcCableSegment_type = 0;
+entity* IFC4X1_IfcCableSegmentType_type = 0;
+entity* IFC4X1_IfcCartesianPoint_type = 0;
+entity* IFC4X1_IfcCartesianPointList_type = 0;
+entity* IFC4X1_IfcCartesianPointList2D_type = 0;
+entity* IFC4X1_IfcCartesianPointList3D_type = 0;
+entity* IFC4X1_IfcCartesianTransformationOperator_type = 0;
+entity* IFC4X1_IfcCartesianTransformationOperator2D_type = 0;
+entity* IFC4X1_IfcCartesianTransformationOperator2DnonUniform_type = 0;
+entity* IFC4X1_IfcCartesianTransformationOperator3D_type = 0;
+entity* IFC4X1_IfcCartesianTransformationOperator3DnonUniform_type = 0;
+entity* IFC4X1_IfcCenterLineProfileDef_type = 0;
+entity* IFC4X1_IfcChiller_type = 0;
+entity* IFC4X1_IfcChillerType_type = 0;
+entity* IFC4X1_IfcChimney_type = 0;
+entity* IFC4X1_IfcChimneyType_type = 0;
+entity* IFC4X1_IfcCircle_type = 0;
+entity* IFC4X1_IfcCircleHollowProfileDef_type = 0;
+entity* IFC4X1_IfcCircleProfileDef_type = 0;
+entity* IFC4X1_IfcCircularArcSegment2D_type = 0;
+entity* IFC4X1_IfcCivilElement_type = 0;
+entity* IFC4X1_IfcCivilElementType_type = 0;
+entity* IFC4X1_IfcClassification_type = 0;
+entity* IFC4X1_IfcClassificationReference_type = 0;
+entity* IFC4X1_IfcClosedShell_type = 0;
+entity* IFC4X1_IfcCoil_type = 0;
+entity* IFC4X1_IfcCoilType_type = 0;
+entity* IFC4X1_IfcColourRgb_type = 0;
+entity* IFC4X1_IfcColourRgbList_type = 0;
+entity* IFC4X1_IfcColourSpecification_type = 0;
+entity* IFC4X1_IfcColumn_type = 0;
+entity* IFC4X1_IfcColumnStandardCase_type = 0;
+entity* IFC4X1_IfcColumnType_type = 0;
+entity* IFC4X1_IfcCommunicationsAppliance_type = 0;
+entity* IFC4X1_IfcCommunicationsApplianceType_type = 0;
+entity* IFC4X1_IfcComplexProperty_type = 0;
+entity* IFC4X1_IfcComplexPropertyTemplate_type = 0;
+entity* IFC4X1_IfcCompositeCurve_type = 0;
+entity* IFC4X1_IfcCompositeCurveOnSurface_type = 0;
+entity* IFC4X1_IfcCompositeCurveSegment_type = 0;
+entity* IFC4X1_IfcCompositeProfileDef_type = 0;
+entity* IFC4X1_IfcCompressor_type = 0;
+entity* IFC4X1_IfcCompressorType_type = 0;
+entity* IFC4X1_IfcCondenser_type = 0;
+entity* IFC4X1_IfcCondenserType_type = 0;
+entity* IFC4X1_IfcConic_type = 0;
+entity* IFC4X1_IfcConnectedFaceSet_type = 0;
+entity* IFC4X1_IfcConnectionCurveGeometry_type = 0;
+entity* IFC4X1_IfcConnectionGeometry_type = 0;
+entity* IFC4X1_IfcConnectionPointEccentricity_type = 0;
+entity* IFC4X1_IfcConnectionPointGeometry_type = 0;
+entity* IFC4X1_IfcConnectionSurfaceGeometry_type = 0;
+entity* IFC4X1_IfcConnectionVolumeGeometry_type = 0;
+entity* IFC4X1_IfcConstraint_type = 0;
+entity* IFC4X1_IfcConstructionEquipmentResource_type = 0;
+entity* IFC4X1_IfcConstructionEquipmentResourceType_type = 0;
+entity* IFC4X1_IfcConstructionMaterialResource_type = 0;
+entity* IFC4X1_IfcConstructionMaterialResourceType_type = 0;
+entity* IFC4X1_IfcConstructionProductResource_type = 0;
+entity* IFC4X1_IfcConstructionProductResourceType_type = 0;
+entity* IFC4X1_IfcConstructionResource_type = 0;
+entity* IFC4X1_IfcConstructionResourceType_type = 0;
+entity* IFC4X1_IfcContext_type = 0;
+entity* IFC4X1_IfcContextDependentUnit_type = 0;
+entity* IFC4X1_IfcControl_type = 0;
+entity* IFC4X1_IfcController_type = 0;
+entity* IFC4X1_IfcControllerType_type = 0;
+entity* IFC4X1_IfcConversionBasedUnit_type = 0;
+entity* IFC4X1_IfcConversionBasedUnitWithOffset_type = 0;
+entity* IFC4X1_IfcCooledBeam_type = 0;
+entity* IFC4X1_IfcCooledBeamType_type = 0;
+entity* IFC4X1_IfcCoolingTower_type = 0;
+entity* IFC4X1_IfcCoolingTowerType_type = 0;
+entity* IFC4X1_IfcCoordinateOperation_type = 0;
+entity* IFC4X1_IfcCoordinateReferenceSystem_type = 0;
+entity* IFC4X1_IfcCostItem_type = 0;
+entity* IFC4X1_IfcCostSchedule_type = 0;
+entity* IFC4X1_IfcCostValue_type = 0;
+entity* IFC4X1_IfcCovering_type = 0;
+entity* IFC4X1_IfcCoveringType_type = 0;
+entity* IFC4X1_IfcCrewResource_type = 0;
+entity* IFC4X1_IfcCrewResourceType_type = 0;
+entity* IFC4X1_IfcCsgPrimitive3D_type = 0;
+entity* IFC4X1_IfcCsgSolid_type = 0;
+entity* IFC4X1_IfcCurrencyRelationship_type = 0;
+entity* IFC4X1_IfcCurtainWall_type = 0;
+entity* IFC4X1_IfcCurtainWallType_type = 0;
+entity* IFC4X1_IfcCurve_type = 0;
+entity* IFC4X1_IfcCurveBoundedPlane_type = 0;
+entity* IFC4X1_IfcCurveBoundedSurface_type = 0;
+entity* IFC4X1_IfcCurveSegment2D_type = 0;
+entity* IFC4X1_IfcCurveStyle_type = 0;
+entity* IFC4X1_IfcCurveStyleFont_type = 0;
+entity* IFC4X1_IfcCurveStyleFontAndScaling_type = 0;
+entity* IFC4X1_IfcCurveStyleFontPattern_type = 0;
+entity* IFC4X1_IfcCylindricalSurface_type = 0;
+entity* IFC4X1_IfcDamper_type = 0;
+entity* IFC4X1_IfcDamperType_type = 0;
+entity* IFC4X1_IfcDerivedProfileDef_type = 0;
+entity* IFC4X1_IfcDerivedUnit_type = 0;
+entity* IFC4X1_IfcDerivedUnitElement_type = 0;
+entity* IFC4X1_IfcDimensionalExponents_type = 0;
+entity* IFC4X1_IfcDirection_type = 0;
+entity* IFC4X1_IfcDiscreteAccessory_type = 0;
+entity* IFC4X1_IfcDiscreteAccessoryType_type = 0;
+entity* IFC4X1_IfcDistanceExpression_type = 0;
+entity* IFC4X1_IfcDistributionChamberElement_type = 0;
+entity* IFC4X1_IfcDistributionChamberElementType_type = 0;
+entity* IFC4X1_IfcDistributionCircuit_type = 0;
+entity* IFC4X1_IfcDistributionControlElement_type = 0;
+entity* IFC4X1_IfcDistributionControlElementType_type = 0;
+entity* IFC4X1_IfcDistributionElement_type = 0;
+entity* IFC4X1_IfcDistributionElementType_type = 0;
+entity* IFC4X1_IfcDistributionFlowElement_type = 0;
+entity* IFC4X1_IfcDistributionFlowElementType_type = 0;
+entity* IFC4X1_IfcDistributionPort_type = 0;
+entity* IFC4X1_IfcDistributionSystem_type = 0;
+entity* IFC4X1_IfcDocumentInformation_type = 0;
+entity* IFC4X1_IfcDocumentInformationRelationship_type = 0;
+entity* IFC4X1_IfcDocumentReference_type = 0;
+entity* IFC4X1_IfcDoor_type = 0;
+entity* IFC4X1_IfcDoorLiningProperties_type = 0;
+entity* IFC4X1_IfcDoorPanelProperties_type = 0;
+entity* IFC4X1_IfcDoorStandardCase_type = 0;
+entity* IFC4X1_IfcDoorStyle_type = 0;
+entity* IFC4X1_IfcDoorType_type = 0;
+entity* IFC4X1_IfcDraughtingPreDefinedColour_type = 0;
+entity* IFC4X1_IfcDraughtingPreDefinedCurveFont_type = 0;
+entity* IFC4X1_IfcDuctFitting_type = 0;
+entity* IFC4X1_IfcDuctFittingType_type = 0;
+entity* IFC4X1_IfcDuctSegment_type = 0;
+entity* IFC4X1_IfcDuctSegmentType_type = 0;
+entity* IFC4X1_IfcDuctSilencer_type = 0;
+entity* IFC4X1_IfcDuctSilencerType_type = 0;
+entity* IFC4X1_IfcEdge_type = 0;
+entity* IFC4X1_IfcEdgeCurve_type = 0;
+entity* IFC4X1_IfcEdgeLoop_type = 0;
+entity* IFC4X1_IfcElectricAppliance_type = 0;
+entity* IFC4X1_IfcElectricApplianceType_type = 0;
+entity* IFC4X1_IfcElectricDistributionBoard_type = 0;
+entity* IFC4X1_IfcElectricDistributionBoardType_type = 0;
+entity* IFC4X1_IfcElectricFlowStorageDevice_type = 0;
+entity* IFC4X1_IfcElectricFlowStorageDeviceType_type = 0;
+entity* IFC4X1_IfcElectricGenerator_type = 0;
+entity* IFC4X1_IfcElectricGeneratorType_type = 0;
+entity* IFC4X1_IfcElectricMotor_type = 0;
+entity* IFC4X1_IfcElectricMotorType_type = 0;
+entity* IFC4X1_IfcElectricTimeControl_type = 0;
+entity* IFC4X1_IfcElectricTimeControlType_type = 0;
+entity* IFC4X1_IfcElement_type = 0;
+entity* IFC4X1_IfcElementAssembly_type = 0;
+entity* IFC4X1_IfcElementAssemblyType_type = 0;
+entity* IFC4X1_IfcElementComponent_type = 0;
+entity* IFC4X1_IfcElementComponentType_type = 0;
+entity* IFC4X1_IfcElementQuantity_type = 0;
+entity* IFC4X1_IfcElementType_type = 0;
+entity* IFC4X1_IfcElementarySurface_type = 0;
+entity* IFC4X1_IfcEllipse_type = 0;
+entity* IFC4X1_IfcEllipseProfileDef_type = 0;
+entity* IFC4X1_IfcEnergyConversionDevice_type = 0;
+entity* IFC4X1_IfcEnergyConversionDeviceType_type = 0;
+entity* IFC4X1_IfcEngine_type = 0;
+entity* IFC4X1_IfcEngineType_type = 0;
+entity* IFC4X1_IfcEvaporativeCooler_type = 0;
+entity* IFC4X1_IfcEvaporativeCoolerType_type = 0;
+entity* IFC4X1_IfcEvaporator_type = 0;
+entity* IFC4X1_IfcEvaporatorType_type = 0;
+entity* IFC4X1_IfcEvent_type = 0;
+entity* IFC4X1_IfcEventTime_type = 0;
+entity* IFC4X1_IfcEventType_type = 0;
+entity* IFC4X1_IfcExtendedProperties_type = 0;
+entity* IFC4X1_IfcExternalInformation_type = 0;
+entity* IFC4X1_IfcExternalReference_type = 0;
+entity* IFC4X1_IfcExternalReferenceRelationship_type = 0;
+entity* IFC4X1_IfcExternalSpatialElement_type = 0;
+entity* IFC4X1_IfcExternalSpatialStructureElement_type = 0;
+entity* IFC4X1_IfcExternallyDefinedHatchStyle_type = 0;
+entity* IFC4X1_IfcExternallyDefinedSurfaceStyle_type = 0;
+entity* IFC4X1_IfcExternallyDefinedTextFont_type = 0;
+entity* IFC4X1_IfcExtrudedAreaSolid_type = 0;
+entity* IFC4X1_IfcExtrudedAreaSolidTapered_type = 0;
+entity* IFC4X1_IfcFace_type = 0;
+entity* IFC4X1_IfcFaceBasedSurfaceModel_type = 0;
+entity* IFC4X1_IfcFaceBound_type = 0;
+entity* IFC4X1_IfcFaceOuterBound_type = 0;
+entity* IFC4X1_IfcFaceSurface_type = 0;
+entity* IFC4X1_IfcFacetedBrep_type = 0;
+entity* IFC4X1_IfcFacetedBrepWithVoids_type = 0;
+entity* IFC4X1_IfcFailureConnectionCondition_type = 0;
+entity* IFC4X1_IfcFan_type = 0;
+entity* IFC4X1_IfcFanType_type = 0;
+entity* IFC4X1_IfcFastener_type = 0;
+entity* IFC4X1_IfcFastenerType_type = 0;
+entity* IFC4X1_IfcFeatureElement_type = 0;
+entity* IFC4X1_IfcFeatureElementAddition_type = 0;
+entity* IFC4X1_IfcFeatureElementSubtraction_type = 0;
+entity* IFC4X1_IfcFillAreaStyle_type = 0;
+entity* IFC4X1_IfcFillAreaStyleHatching_type = 0;
+entity* IFC4X1_IfcFillAreaStyleTiles_type = 0;
+entity* IFC4X1_IfcFilter_type = 0;
+entity* IFC4X1_IfcFilterType_type = 0;
+entity* IFC4X1_IfcFireSuppressionTerminal_type = 0;
+entity* IFC4X1_IfcFireSuppressionTerminalType_type = 0;
+entity* IFC4X1_IfcFixedReferenceSweptAreaSolid_type = 0;
+entity* IFC4X1_IfcFlowController_type = 0;
+entity* IFC4X1_IfcFlowControllerType_type = 0;
+entity* IFC4X1_IfcFlowFitting_type = 0;
+entity* IFC4X1_IfcFlowFittingType_type = 0;
+entity* IFC4X1_IfcFlowInstrument_type = 0;
+entity* IFC4X1_IfcFlowInstrumentType_type = 0;
+entity* IFC4X1_IfcFlowMeter_type = 0;
+entity* IFC4X1_IfcFlowMeterType_type = 0;
+entity* IFC4X1_IfcFlowMovingDevice_type = 0;
+entity* IFC4X1_IfcFlowMovingDeviceType_type = 0;
+entity* IFC4X1_IfcFlowSegment_type = 0;
+entity* IFC4X1_IfcFlowSegmentType_type = 0;
+entity* IFC4X1_IfcFlowStorageDevice_type = 0;
+entity* IFC4X1_IfcFlowStorageDeviceType_type = 0;
+entity* IFC4X1_IfcFlowTerminal_type = 0;
+entity* IFC4X1_IfcFlowTerminalType_type = 0;
+entity* IFC4X1_IfcFlowTreatmentDevice_type = 0;
+entity* IFC4X1_IfcFlowTreatmentDeviceType_type = 0;
+entity* IFC4X1_IfcFooting_type = 0;
+entity* IFC4X1_IfcFootingType_type = 0;
+entity* IFC4X1_IfcFurnishingElement_type = 0;
+entity* IFC4X1_IfcFurnishingElementType_type = 0;
+entity* IFC4X1_IfcFurniture_type = 0;
+entity* IFC4X1_IfcFurnitureType_type = 0;
+entity* IFC4X1_IfcGeographicElement_type = 0;
+entity* IFC4X1_IfcGeographicElementType_type = 0;
+entity* IFC4X1_IfcGeometricCurveSet_type = 0;
+entity* IFC4X1_IfcGeometricRepresentationContext_type = 0;
+entity* IFC4X1_IfcGeometricRepresentationItem_type = 0;
+entity* IFC4X1_IfcGeometricRepresentationSubContext_type = 0;
+entity* IFC4X1_IfcGeometricSet_type = 0;
+entity* IFC4X1_IfcGrid_type = 0;
+entity* IFC4X1_IfcGridAxis_type = 0;
+entity* IFC4X1_IfcGridPlacement_type = 0;
+entity* IFC4X1_IfcGroup_type = 0;
+entity* IFC4X1_IfcHalfSpaceSolid_type = 0;
+entity* IFC4X1_IfcHeatExchanger_type = 0;
+entity* IFC4X1_IfcHeatExchangerType_type = 0;
+entity* IFC4X1_IfcHumidifier_type = 0;
+entity* IFC4X1_IfcHumidifierType_type = 0;
+entity* IFC4X1_IfcIShapeProfileDef_type = 0;
+entity* IFC4X1_IfcImageTexture_type = 0;
+entity* IFC4X1_IfcIndexedColourMap_type = 0;
+entity* IFC4X1_IfcIndexedPolyCurve_type = 0;
+entity* IFC4X1_IfcIndexedPolygonalFace_type = 0;
+entity* IFC4X1_IfcIndexedPolygonalFaceWithVoids_type = 0;
+entity* IFC4X1_IfcIndexedTextureMap_type = 0;
+entity* IFC4X1_IfcIndexedTriangleTextureMap_type = 0;
+entity* IFC4X1_IfcInterceptor_type = 0;
+entity* IFC4X1_IfcInterceptorType_type = 0;
+entity* IFC4X1_IfcIntersectionCurve_type = 0;
+entity* IFC4X1_IfcInventory_type = 0;
+entity* IFC4X1_IfcIrregularTimeSeries_type = 0;
+entity* IFC4X1_IfcIrregularTimeSeriesValue_type = 0;
+entity* IFC4X1_IfcJunctionBox_type = 0;
+entity* IFC4X1_IfcJunctionBoxType_type = 0;
+entity* IFC4X1_IfcLShapeProfileDef_type = 0;
+entity* IFC4X1_IfcLaborResource_type = 0;
+entity* IFC4X1_IfcLaborResourceType_type = 0;
+entity* IFC4X1_IfcLagTime_type = 0;
+entity* IFC4X1_IfcLamp_type = 0;
+entity* IFC4X1_IfcLampType_type = 0;
+entity* IFC4X1_IfcLibraryInformation_type = 0;
+entity* IFC4X1_IfcLibraryReference_type = 0;
+entity* IFC4X1_IfcLightDistributionData_type = 0;
+entity* IFC4X1_IfcLightFixture_type = 0;
+entity* IFC4X1_IfcLightFixtureType_type = 0;
+entity* IFC4X1_IfcLightIntensityDistribution_type = 0;
+entity* IFC4X1_IfcLightSource_type = 0;
+entity* IFC4X1_IfcLightSourceAmbient_type = 0;
+entity* IFC4X1_IfcLightSourceDirectional_type = 0;
+entity* IFC4X1_IfcLightSourceGoniometric_type = 0;
+entity* IFC4X1_IfcLightSourcePositional_type = 0;
+entity* IFC4X1_IfcLightSourceSpot_type = 0;
+entity* IFC4X1_IfcLine_type = 0;
+entity* IFC4X1_IfcLineSegment2D_type = 0;
+entity* IFC4X1_IfcLinearPlacement_type = 0;
+entity* IFC4X1_IfcLinearPositioningElement_type = 0;
+entity* IFC4X1_IfcLocalPlacement_type = 0;
+entity* IFC4X1_IfcLoop_type = 0;
+entity* IFC4X1_IfcManifoldSolidBrep_type = 0;
+entity* IFC4X1_IfcMapConversion_type = 0;
+entity* IFC4X1_IfcMappedItem_type = 0;
+entity* IFC4X1_IfcMaterial_type = 0;
+entity* IFC4X1_IfcMaterialClassificationRelationship_type = 0;
+entity* IFC4X1_IfcMaterialConstituent_type = 0;
+entity* IFC4X1_IfcMaterialConstituentSet_type = 0;
+entity* IFC4X1_IfcMaterialDefinition_type = 0;
+entity* IFC4X1_IfcMaterialDefinitionRepresentation_type = 0;
+entity* IFC4X1_IfcMaterialLayer_type = 0;
+entity* IFC4X1_IfcMaterialLayerSet_type = 0;
+entity* IFC4X1_IfcMaterialLayerSetUsage_type = 0;
+entity* IFC4X1_IfcMaterialLayerWithOffsets_type = 0;
+entity* IFC4X1_IfcMaterialList_type = 0;
+entity* IFC4X1_IfcMaterialProfile_type = 0;
+entity* IFC4X1_IfcMaterialProfileSet_type = 0;
+entity* IFC4X1_IfcMaterialProfileSetUsage_type = 0;
+entity* IFC4X1_IfcMaterialProfileSetUsageTapering_type = 0;
+entity* IFC4X1_IfcMaterialProfileWithOffsets_type = 0;
+entity* IFC4X1_IfcMaterialProperties_type = 0;
+entity* IFC4X1_IfcMaterialRelationship_type = 0;
+entity* IFC4X1_IfcMaterialUsageDefinition_type = 0;
+entity* IFC4X1_IfcMeasureWithUnit_type = 0;
+entity* IFC4X1_IfcMechanicalFastener_type = 0;
+entity* IFC4X1_IfcMechanicalFastenerType_type = 0;
+entity* IFC4X1_IfcMedicalDevice_type = 0;
+entity* IFC4X1_IfcMedicalDeviceType_type = 0;
+entity* IFC4X1_IfcMember_type = 0;
+entity* IFC4X1_IfcMemberStandardCase_type = 0;
+entity* IFC4X1_IfcMemberType_type = 0;
+entity* IFC4X1_IfcMetric_type = 0;
+entity* IFC4X1_IfcMirroredProfileDef_type = 0;
+entity* IFC4X1_IfcMonetaryUnit_type = 0;
+entity* IFC4X1_IfcMotorConnection_type = 0;
+entity* IFC4X1_IfcMotorConnectionType_type = 0;
+entity* IFC4X1_IfcNamedUnit_type = 0;
+entity* IFC4X1_IfcObject_type = 0;
+entity* IFC4X1_IfcObjectDefinition_type = 0;
+entity* IFC4X1_IfcObjectPlacement_type = 0;
+entity* IFC4X1_IfcObjective_type = 0;
+entity* IFC4X1_IfcOccupant_type = 0;
+entity* IFC4X1_IfcOffsetCurve_type = 0;
+entity* IFC4X1_IfcOffsetCurve2D_type = 0;
+entity* IFC4X1_IfcOffsetCurve3D_type = 0;
+entity* IFC4X1_IfcOffsetCurveByDistances_type = 0;
+entity* IFC4X1_IfcOpenShell_type = 0;
+entity* IFC4X1_IfcOpeningElement_type = 0;
+entity* IFC4X1_IfcOpeningStandardCase_type = 0;
+entity* IFC4X1_IfcOrganization_type = 0;
+entity* IFC4X1_IfcOrganizationRelationship_type = 0;
+entity* IFC4X1_IfcOrientationExpression_type = 0;
+entity* IFC4X1_IfcOrientedEdge_type = 0;
+entity* IFC4X1_IfcOuterBoundaryCurve_type = 0;
+entity* IFC4X1_IfcOutlet_type = 0;
+entity* IFC4X1_IfcOutletType_type = 0;
+entity* IFC4X1_IfcOwnerHistory_type = 0;
+entity* IFC4X1_IfcParameterizedProfileDef_type = 0;
+entity* IFC4X1_IfcPath_type = 0;
+entity* IFC4X1_IfcPcurve_type = 0;
+entity* IFC4X1_IfcPerformanceHistory_type = 0;
+entity* IFC4X1_IfcPermeableCoveringProperties_type = 0;
+entity* IFC4X1_IfcPermit_type = 0;
+entity* IFC4X1_IfcPerson_type = 0;
+entity* IFC4X1_IfcPersonAndOrganization_type = 0;
+entity* IFC4X1_IfcPhysicalComplexQuantity_type = 0;
+entity* IFC4X1_IfcPhysicalQuantity_type = 0;
+entity* IFC4X1_IfcPhysicalSimpleQuantity_type = 0;
+entity* IFC4X1_IfcPile_type = 0;
+entity* IFC4X1_IfcPileType_type = 0;
+entity* IFC4X1_IfcPipeFitting_type = 0;
+entity* IFC4X1_IfcPipeFittingType_type = 0;
+entity* IFC4X1_IfcPipeSegment_type = 0;
+entity* IFC4X1_IfcPipeSegmentType_type = 0;
+entity* IFC4X1_IfcPixelTexture_type = 0;
+entity* IFC4X1_IfcPlacement_type = 0;
+entity* IFC4X1_IfcPlanarBox_type = 0;
+entity* IFC4X1_IfcPlanarExtent_type = 0;
+entity* IFC4X1_IfcPlane_type = 0;
+entity* IFC4X1_IfcPlate_type = 0;
+entity* IFC4X1_IfcPlateStandardCase_type = 0;
+entity* IFC4X1_IfcPlateType_type = 0;
+entity* IFC4X1_IfcPoint_type = 0;
+entity* IFC4X1_IfcPointOnCurve_type = 0;
+entity* IFC4X1_IfcPointOnSurface_type = 0;
+entity* IFC4X1_IfcPolyLoop_type = 0;
+entity* IFC4X1_IfcPolygonalBoundedHalfSpace_type = 0;
+entity* IFC4X1_IfcPolygonalFaceSet_type = 0;
+entity* IFC4X1_IfcPolyline_type = 0;
+entity* IFC4X1_IfcPort_type = 0;
+entity* IFC4X1_IfcPositioningElement_type = 0;
+entity* IFC4X1_IfcPostalAddress_type = 0;
+entity* IFC4X1_IfcPreDefinedColour_type = 0;
+entity* IFC4X1_IfcPreDefinedCurveFont_type = 0;
+entity* IFC4X1_IfcPreDefinedItem_type = 0;
+entity* IFC4X1_IfcPreDefinedProperties_type = 0;
+entity* IFC4X1_IfcPreDefinedPropertySet_type = 0;
+entity* IFC4X1_IfcPreDefinedTextFont_type = 0;
+entity* IFC4X1_IfcPresentationItem_type = 0;
+entity* IFC4X1_IfcPresentationLayerAssignment_type = 0;
+entity* IFC4X1_IfcPresentationLayerWithStyle_type = 0;
+entity* IFC4X1_IfcPresentationStyle_type = 0;
+entity* IFC4X1_IfcPresentationStyleAssignment_type = 0;
+entity* IFC4X1_IfcProcedure_type = 0;
+entity* IFC4X1_IfcProcedureType_type = 0;
+entity* IFC4X1_IfcProcess_type = 0;
+entity* IFC4X1_IfcProduct_type = 0;
+entity* IFC4X1_IfcProductDefinitionShape_type = 0;
+entity* IFC4X1_IfcProductRepresentation_type = 0;
+entity* IFC4X1_IfcProfileDef_type = 0;
+entity* IFC4X1_IfcProfileProperties_type = 0;
+entity* IFC4X1_IfcProject_type = 0;
+entity* IFC4X1_IfcProjectLibrary_type = 0;
+entity* IFC4X1_IfcProjectOrder_type = 0;
+entity* IFC4X1_IfcProjectedCRS_type = 0;
+entity* IFC4X1_IfcProjectionElement_type = 0;
+entity* IFC4X1_IfcProperty_type = 0;
+entity* IFC4X1_IfcPropertyAbstraction_type = 0;
+entity* IFC4X1_IfcPropertyBoundedValue_type = 0;
+entity* IFC4X1_IfcPropertyDefinition_type = 0;
+entity* IFC4X1_IfcPropertyDependencyRelationship_type = 0;
+entity* IFC4X1_IfcPropertyEnumeratedValue_type = 0;
+entity* IFC4X1_IfcPropertyEnumeration_type = 0;
+entity* IFC4X1_IfcPropertyListValue_type = 0;
+entity* IFC4X1_IfcPropertyReferenceValue_type = 0;
+entity* IFC4X1_IfcPropertySet_type = 0;
+entity* IFC4X1_IfcPropertySetDefinition_type = 0;
+entity* IFC4X1_IfcPropertySetTemplate_type = 0;
+entity* IFC4X1_IfcPropertySingleValue_type = 0;
+entity* IFC4X1_IfcPropertyTableValue_type = 0;
+entity* IFC4X1_IfcPropertyTemplate_type = 0;
+entity* IFC4X1_IfcPropertyTemplateDefinition_type = 0;
+entity* IFC4X1_IfcProtectiveDevice_type = 0;
+entity* IFC4X1_IfcProtectiveDeviceTrippingUnit_type = 0;
+entity* IFC4X1_IfcProtectiveDeviceTrippingUnitType_type = 0;
+entity* IFC4X1_IfcProtectiveDeviceType_type = 0;
+entity* IFC4X1_IfcProxy_type = 0;
+entity* IFC4X1_IfcPump_type = 0;
+entity* IFC4X1_IfcPumpType_type = 0;
+entity* IFC4X1_IfcQuantityArea_type = 0;
+entity* IFC4X1_IfcQuantityCount_type = 0;
+entity* IFC4X1_IfcQuantityLength_type = 0;
+entity* IFC4X1_IfcQuantitySet_type = 0;
+entity* IFC4X1_IfcQuantityTime_type = 0;
+entity* IFC4X1_IfcQuantityVolume_type = 0;
+entity* IFC4X1_IfcQuantityWeight_type = 0;
+entity* IFC4X1_IfcRailing_type = 0;
+entity* IFC4X1_IfcRailingType_type = 0;
+entity* IFC4X1_IfcRamp_type = 0;
+entity* IFC4X1_IfcRampFlight_type = 0;
+entity* IFC4X1_IfcRampFlightType_type = 0;
+entity* IFC4X1_IfcRampType_type = 0;
+entity* IFC4X1_IfcRationalBSplineCurveWithKnots_type = 0;
+entity* IFC4X1_IfcRationalBSplineSurfaceWithKnots_type = 0;
+entity* IFC4X1_IfcRectangleHollowProfileDef_type = 0;
+entity* IFC4X1_IfcRectangleProfileDef_type = 0;
+entity* IFC4X1_IfcRectangularPyramid_type = 0;
+entity* IFC4X1_IfcRectangularTrimmedSurface_type = 0;
+entity* IFC4X1_IfcRecurrencePattern_type = 0;
+entity* IFC4X1_IfcReference_type = 0;
+entity* IFC4X1_IfcReferent_type = 0;
+entity* IFC4X1_IfcRegularTimeSeries_type = 0;
+entity* IFC4X1_IfcReinforcementBarProperties_type = 0;
+entity* IFC4X1_IfcReinforcementDefinitionProperties_type = 0;
+entity* IFC4X1_IfcReinforcingBar_type = 0;
+entity* IFC4X1_IfcReinforcingBarType_type = 0;
+entity* IFC4X1_IfcReinforcingElement_type = 0;
+entity* IFC4X1_IfcReinforcingElementType_type = 0;
+entity* IFC4X1_IfcReinforcingMesh_type = 0;
+entity* IFC4X1_IfcReinforcingMeshType_type = 0;
+entity* IFC4X1_IfcRelAggregates_type = 0;
+entity* IFC4X1_IfcRelAssigns_type = 0;
+entity* IFC4X1_IfcRelAssignsToActor_type = 0;
+entity* IFC4X1_IfcRelAssignsToControl_type = 0;
+entity* IFC4X1_IfcRelAssignsToGroup_type = 0;
+entity* IFC4X1_IfcRelAssignsToGroupByFactor_type = 0;
+entity* IFC4X1_IfcRelAssignsToProcess_type = 0;
+entity* IFC4X1_IfcRelAssignsToProduct_type = 0;
+entity* IFC4X1_IfcRelAssignsToResource_type = 0;
+entity* IFC4X1_IfcRelAssociates_type = 0;
+entity* IFC4X1_IfcRelAssociatesApproval_type = 0;
+entity* IFC4X1_IfcRelAssociatesClassification_type = 0;
+entity* IFC4X1_IfcRelAssociatesConstraint_type = 0;
+entity* IFC4X1_IfcRelAssociatesDocument_type = 0;
+entity* IFC4X1_IfcRelAssociatesLibrary_type = 0;
+entity* IFC4X1_IfcRelAssociatesMaterial_type = 0;
+entity* IFC4X1_IfcRelConnects_type = 0;
+entity* IFC4X1_IfcRelConnectsElements_type = 0;
+entity* IFC4X1_IfcRelConnectsPathElements_type = 0;
+entity* IFC4X1_IfcRelConnectsPortToElement_type = 0;
+entity* IFC4X1_IfcRelConnectsPorts_type = 0;
+entity* IFC4X1_IfcRelConnectsStructuralActivity_type = 0;
+entity* IFC4X1_IfcRelConnectsStructuralMember_type = 0;
+entity* IFC4X1_IfcRelConnectsWithEccentricity_type = 0;
+entity* IFC4X1_IfcRelConnectsWithRealizingElements_type = 0;
+entity* IFC4X1_IfcRelContainedInSpatialStructure_type = 0;
+entity* IFC4X1_IfcRelCoversBldgElements_type = 0;
+entity* IFC4X1_IfcRelCoversSpaces_type = 0;
+entity* IFC4X1_IfcRelDeclares_type = 0;
+entity* IFC4X1_IfcRelDecomposes_type = 0;
+entity* IFC4X1_IfcRelDefines_type = 0;
+entity* IFC4X1_IfcRelDefinesByObject_type = 0;
+entity* IFC4X1_IfcRelDefinesByProperties_type = 0;
+entity* IFC4X1_IfcRelDefinesByTemplate_type = 0;
+entity* IFC4X1_IfcRelDefinesByType_type = 0;
+entity* IFC4X1_IfcRelFillsElement_type = 0;
+entity* IFC4X1_IfcRelFlowControlElements_type = 0;
+entity* IFC4X1_IfcRelInterferesElements_type = 0;
+entity* IFC4X1_IfcRelNests_type = 0;
+entity* IFC4X1_IfcRelProjectsElement_type = 0;
+entity* IFC4X1_IfcRelReferencedInSpatialStructure_type = 0;
+entity* IFC4X1_IfcRelSequence_type = 0;
+entity* IFC4X1_IfcRelServicesBuildings_type = 0;
+entity* IFC4X1_IfcRelSpaceBoundary_type = 0;
+entity* IFC4X1_IfcRelSpaceBoundary1stLevel_type = 0;
+entity* IFC4X1_IfcRelSpaceBoundary2ndLevel_type = 0;
+entity* IFC4X1_IfcRelVoidsElement_type = 0;
+entity* IFC4X1_IfcRelationship_type = 0;
+entity* IFC4X1_IfcReparametrisedCompositeCurveSegment_type = 0;
+entity* IFC4X1_IfcRepresentation_type = 0;
+entity* IFC4X1_IfcRepresentationContext_type = 0;
+entity* IFC4X1_IfcRepresentationItem_type = 0;
+entity* IFC4X1_IfcRepresentationMap_type = 0;
+entity* IFC4X1_IfcResource_type = 0;
+entity* IFC4X1_IfcResourceApprovalRelationship_type = 0;
+entity* IFC4X1_IfcResourceConstraintRelationship_type = 0;
+entity* IFC4X1_IfcResourceLevelRelationship_type = 0;
+entity* IFC4X1_IfcResourceTime_type = 0;
+entity* IFC4X1_IfcRevolvedAreaSolid_type = 0;
+entity* IFC4X1_IfcRevolvedAreaSolidTapered_type = 0;
+entity* IFC4X1_IfcRightCircularCone_type = 0;
+entity* IFC4X1_IfcRightCircularCylinder_type = 0;
+entity* IFC4X1_IfcRoof_type = 0;
+entity* IFC4X1_IfcRoofType_type = 0;
+entity* IFC4X1_IfcRoot_type = 0;
+entity* IFC4X1_IfcRoundedRectangleProfileDef_type = 0;
+entity* IFC4X1_IfcSIUnit_type = 0;
+entity* IFC4X1_IfcSanitaryTerminal_type = 0;
+entity* IFC4X1_IfcSanitaryTerminalType_type = 0;
+entity* IFC4X1_IfcSchedulingTime_type = 0;
+entity* IFC4X1_IfcSeamCurve_type = 0;
+entity* IFC4X1_IfcSectionProperties_type = 0;
+entity* IFC4X1_IfcSectionReinforcementProperties_type = 0;
+entity* IFC4X1_IfcSectionedSolid_type = 0;
+entity* IFC4X1_IfcSectionedSolidHorizontal_type = 0;
+entity* IFC4X1_IfcSectionedSpine_type = 0;
+entity* IFC4X1_IfcSensor_type = 0;
+entity* IFC4X1_IfcSensorType_type = 0;
+entity* IFC4X1_IfcShadingDevice_type = 0;
+entity* IFC4X1_IfcShadingDeviceType_type = 0;
+entity* IFC4X1_IfcShapeAspect_type = 0;
+entity* IFC4X1_IfcShapeModel_type = 0;
+entity* IFC4X1_IfcShapeRepresentation_type = 0;
+entity* IFC4X1_IfcShellBasedSurfaceModel_type = 0;
+entity* IFC4X1_IfcSimpleProperty_type = 0;
+entity* IFC4X1_IfcSimplePropertyTemplate_type = 0;
+entity* IFC4X1_IfcSite_type = 0;
+entity* IFC4X1_IfcSlab_type = 0;
+entity* IFC4X1_IfcSlabElementedCase_type = 0;
+entity* IFC4X1_IfcSlabStandardCase_type = 0;
+entity* IFC4X1_IfcSlabType_type = 0;
+entity* IFC4X1_IfcSlippageConnectionCondition_type = 0;
+entity* IFC4X1_IfcSolarDevice_type = 0;
+entity* IFC4X1_IfcSolarDeviceType_type = 0;
+entity* IFC4X1_IfcSolidModel_type = 0;
+entity* IFC4X1_IfcSpace_type = 0;
+entity* IFC4X1_IfcSpaceHeater_type = 0;
+entity* IFC4X1_IfcSpaceHeaterType_type = 0;
+entity* IFC4X1_IfcSpaceType_type = 0;
+entity* IFC4X1_IfcSpatialElement_type = 0;
+entity* IFC4X1_IfcSpatialElementType_type = 0;
+entity* IFC4X1_IfcSpatialStructureElement_type = 0;
+entity* IFC4X1_IfcSpatialStructureElementType_type = 0;
+entity* IFC4X1_IfcSpatialZone_type = 0;
+entity* IFC4X1_IfcSpatialZoneType_type = 0;
+entity* IFC4X1_IfcSphere_type = 0;
+entity* IFC4X1_IfcSphericalSurface_type = 0;
+entity* IFC4X1_IfcStackTerminal_type = 0;
+entity* IFC4X1_IfcStackTerminalType_type = 0;
+entity* IFC4X1_IfcStair_type = 0;
+entity* IFC4X1_IfcStairFlight_type = 0;
+entity* IFC4X1_IfcStairFlightType_type = 0;
+entity* IFC4X1_IfcStairType_type = 0;
+entity* IFC4X1_IfcStructuralAction_type = 0;
+entity* IFC4X1_IfcStructuralActivity_type = 0;
+entity* IFC4X1_IfcStructuralAnalysisModel_type = 0;
+entity* IFC4X1_IfcStructuralConnection_type = 0;
+entity* IFC4X1_IfcStructuralConnectionCondition_type = 0;
+entity* IFC4X1_IfcStructuralCurveAction_type = 0;
+entity* IFC4X1_IfcStructuralCurveConnection_type = 0;
+entity* IFC4X1_IfcStructuralCurveMember_type = 0;
+entity* IFC4X1_IfcStructuralCurveMemberVarying_type = 0;
+entity* IFC4X1_IfcStructuralCurveReaction_type = 0;
+entity* IFC4X1_IfcStructuralItem_type = 0;
+entity* IFC4X1_IfcStructuralLinearAction_type = 0;
+entity* IFC4X1_IfcStructuralLoad_type = 0;
+entity* IFC4X1_IfcStructuralLoadCase_type = 0;
+entity* IFC4X1_IfcStructuralLoadConfiguration_type = 0;
+entity* IFC4X1_IfcStructuralLoadGroup_type = 0;
+entity* IFC4X1_IfcStructuralLoadLinearForce_type = 0;
+entity* IFC4X1_IfcStructuralLoadOrResult_type = 0;
+entity* IFC4X1_IfcStructuralLoadPlanarForce_type = 0;
+entity* IFC4X1_IfcStructuralLoadSingleDisplacement_type = 0;
+entity* IFC4X1_IfcStructuralLoadSingleDisplacementDistortion_type = 0;
+entity* IFC4X1_IfcStructuralLoadSingleForce_type = 0;
+entity* IFC4X1_IfcStructuralLoadSingleForceWarping_type = 0;
+entity* IFC4X1_IfcStructuralLoadStatic_type = 0;
+entity* IFC4X1_IfcStructuralLoadTemperature_type = 0;
+entity* IFC4X1_IfcStructuralMember_type = 0;
+entity* IFC4X1_IfcStructuralPlanarAction_type = 0;
+entity* IFC4X1_IfcStructuralPointAction_type = 0;
+entity* IFC4X1_IfcStructuralPointConnection_type = 0;
+entity* IFC4X1_IfcStructuralPointReaction_type = 0;
+entity* IFC4X1_IfcStructuralReaction_type = 0;
+entity* IFC4X1_IfcStructuralResultGroup_type = 0;
+entity* IFC4X1_IfcStructuralSurfaceAction_type = 0;
+entity* IFC4X1_IfcStructuralSurfaceConnection_type = 0;
+entity* IFC4X1_IfcStructuralSurfaceMember_type = 0;
+entity* IFC4X1_IfcStructuralSurfaceMemberVarying_type = 0;
+entity* IFC4X1_IfcStructuralSurfaceReaction_type = 0;
+entity* IFC4X1_IfcStyleModel_type = 0;
+entity* IFC4X1_IfcStyledItem_type = 0;
+entity* IFC4X1_IfcStyledRepresentation_type = 0;
+entity* IFC4X1_IfcSubContractResource_type = 0;
+entity* IFC4X1_IfcSubContractResourceType_type = 0;
+entity* IFC4X1_IfcSubedge_type = 0;
+entity* IFC4X1_IfcSurface_type = 0;
+entity* IFC4X1_IfcSurfaceCurve_type = 0;
+entity* IFC4X1_IfcSurfaceCurveSweptAreaSolid_type = 0;
+entity* IFC4X1_IfcSurfaceFeature_type = 0;
+entity* IFC4X1_IfcSurfaceOfLinearExtrusion_type = 0;
+entity* IFC4X1_IfcSurfaceOfRevolution_type = 0;
+entity* IFC4X1_IfcSurfaceReinforcementArea_type = 0;
+entity* IFC4X1_IfcSurfaceStyle_type = 0;
+entity* IFC4X1_IfcSurfaceStyleLighting_type = 0;
+entity* IFC4X1_IfcSurfaceStyleRefraction_type = 0;
+entity* IFC4X1_IfcSurfaceStyleRendering_type = 0;
+entity* IFC4X1_IfcSurfaceStyleShading_type = 0;
+entity* IFC4X1_IfcSurfaceStyleWithTextures_type = 0;
+entity* IFC4X1_IfcSurfaceTexture_type = 0;
+entity* IFC4X1_IfcSweptAreaSolid_type = 0;
+entity* IFC4X1_IfcSweptDiskSolid_type = 0;
+entity* IFC4X1_IfcSweptDiskSolidPolygonal_type = 0;
+entity* IFC4X1_IfcSweptSurface_type = 0;
+entity* IFC4X1_IfcSwitchingDevice_type = 0;
+entity* IFC4X1_IfcSwitchingDeviceType_type = 0;
+entity* IFC4X1_IfcSystem_type = 0;
+entity* IFC4X1_IfcSystemFurnitureElement_type = 0;
+entity* IFC4X1_IfcSystemFurnitureElementType_type = 0;
+entity* IFC4X1_IfcTShapeProfileDef_type = 0;
+entity* IFC4X1_IfcTable_type = 0;
+entity* IFC4X1_IfcTableColumn_type = 0;
+entity* IFC4X1_IfcTableRow_type = 0;
+entity* IFC4X1_IfcTank_type = 0;
+entity* IFC4X1_IfcTankType_type = 0;
+entity* IFC4X1_IfcTask_type = 0;
+entity* IFC4X1_IfcTaskTime_type = 0;
+entity* IFC4X1_IfcTaskTimeRecurring_type = 0;
+entity* IFC4X1_IfcTaskType_type = 0;
+entity* IFC4X1_IfcTelecomAddress_type = 0;
+entity* IFC4X1_IfcTendon_type = 0;
+entity* IFC4X1_IfcTendonAnchor_type = 0;
+entity* IFC4X1_IfcTendonAnchorType_type = 0;
+entity* IFC4X1_IfcTendonType_type = 0;
+entity* IFC4X1_IfcTessellatedFaceSet_type = 0;
+entity* IFC4X1_IfcTessellatedItem_type = 0;
+entity* IFC4X1_IfcTextLiteral_type = 0;
+entity* IFC4X1_IfcTextLiteralWithExtent_type = 0;
+entity* IFC4X1_IfcTextStyle_type = 0;
+entity* IFC4X1_IfcTextStyleFontModel_type = 0;
+entity* IFC4X1_IfcTextStyleForDefinedFont_type = 0;
+entity* IFC4X1_IfcTextStyleTextModel_type = 0;
+entity* IFC4X1_IfcTextureCoordinate_type = 0;
+entity* IFC4X1_IfcTextureCoordinateGenerator_type = 0;
+entity* IFC4X1_IfcTextureMap_type = 0;
+entity* IFC4X1_IfcTextureVertex_type = 0;
+entity* IFC4X1_IfcTextureVertexList_type = 0;
+entity* IFC4X1_IfcTimePeriod_type = 0;
+entity* IFC4X1_IfcTimeSeries_type = 0;
+entity* IFC4X1_IfcTimeSeriesValue_type = 0;
+entity* IFC4X1_IfcTopologicalRepresentationItem_type = 0;
+entity* IFC4X1_IfcTopologyRepresentation_type = 0;
+entity* IFC4X1_IfcToroidalSurface_type = 0;
+entity* IFC4X1_IfcTransformer_type = 0;
+entity* IFC4X1_IfcTransformerType_type = 0;
+entity* IFC4X1_IfcTransitionCurveSegment2D_type = 0;
+entity* IFC4X1_IfcTransportElement_type = 0;
+entity* IFC4X1_IfcTransportElementType_type = 0;
+entity* IFC4X1_IfcTrapeziumProfileDef_type = 0;
+entity* IFC4X1_IfcTriangulatedFaceSet_type = 0;
+entity* IFC4X1_IfcTriangulatedIrregularNetwork_type = 0;
+entity* IFC4X1_IfcTrimmedCurve_type = 0;
+entity* IFC4X1_IfcTubeBundle_type = 0;
+entity* IFC4X1_IfcTubeBundleType_type = 0;
+entity* IFC4X1_IfcTypeObject_type = 0;
+entity* IFC4X1_IfcTypeProcess_type = 0;
+entity* IFC4X1_IfcTypeProduct_type = 0;
+entity* IFC4X1_IfcTypeResource_type = 0;
+entity* IFC4X1_IfcUShapeProfileDef_type = 0;
+entity* IFC4X1_IfcUnitAssignment_type = 0;
+entity* IFC4X1_IfcUnitaryControlElement_type = 0;
+entity* IFC4X1_IfcUnitaryControlElementType_type = 0;
+entity* IFC4X1_IfcUnitaryEquipment_type = 0;
+entity* IFC4X1_IfcUnitaryEquipmentType_type = 0;
+entity* IFC4X1_IfcValve_type = 0;
+entity* IFC4X1_IfcValveType_type = 0;
+entity* IFC4X1_IfcVector_type = 0;
+entity* IFC4X1_IfcVertex_type = 0;
+entity* IFC4X1_IfcVertexLoop_type = 0;
+entity* IFC4X1_IfcVertexPoint_type = 0;
+entity* IFC4X1_IfcVibrationIsolator_type = 0;
+entity* IFC4X1_IfcVibrationIsolatorType_type = 0;
+entity* IFC4X1_IfcVirtualElement_type = 0;
+entity* IFC4X1_IfcVirtualGridIntersection_type = 0;
+entity* IFC4X1_IfcVoidingFeature_type = 0;
+entity* IFC4X1_IfcWall_type = 0;
+entity* IFC4X1_IfcWallElementedCase_type = 0;
+entity* IFC4X1_IfcWallStandardCase_type = 0;
+entity* IFC4X1_IfcWallType_type = 0;
+entity* IFC4X1_IfcWasteTerminal_type = 0;
+entity* IFC4X1_IfcWasteTerminalType_type = 0;
+entity* IFC4X1_IfcWindow_type = 0;
+entity* IFC4X1_IfcWindowLiningProperties_type = 0;
+entity* IFC4X1_IfcWindowPanelProperties_type = 0;
+entity* IFC4X1_IfcWindowStandardCase_type = 0;
+entity* IFC4X1_IfcWindowStyle_type = 0;
+entity* IFC4X1_IfcWindowType_type = 0;
+entity* IFC4X1_IfcWorkCalendar_type = 0;
+entity* IFC4X1_IfcWorkControl_type = 0;
+entity* IFC4X1_IfcWorkPlan_type = 0;
+entity* IFC4X1_IfcWorkSchedule_type = 0;
+entity* IFC4X1_IfcWorkTime_type = 0;
+entity* IFC4X1_IfcZShapeProfileDef_type = 0;
+entity* IFC4X1_IfcZone_type = 0;
+type_declaration* IFC4X1_IfcAbsorbedDoseMeasure_type = 0;
+type_declaration* IFC4X1_IfcAccelerationMeasure_type = 0;
+type_declaration* IFC4X1_IfcAmountOfSubstanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcAngularVelocityMeasure_type = 0;
+type_declaration* IFC4X1_IfcArcIndex_type = 0;
+type_declaration* IFC4X1_IfcAreaDensityMeasure_type = 0;
+type_declaration* IFC4X1_IfcAreaMeasure_type = 0;
+type_declaration* IFC4X1_IfcBinary_type = 0;
+type_declaration* IFC4X1_IfcBoolean_type = 0;
+type_declaration* IFC4X1_IfcBoxAlignment_type = 0;
+type_declaration* IFC4X1_IfcCardinalPointReference_type = 0;
+type_declaration* IFC4X1_IfcComplexNumber_type = 0;
+type_declaration* IFC4X1_IfcCompoundPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X1_IfcContextDependentMeasure_type = 0;
+type_declaration* IFC4X1_IfcCountMeasure_type = 0;
+type_declaration* IFC4X1_IfcCurvatureMeasure_type = 0;
+type_declaration* IFC4X1_IfcDate_type = 0;
+type_declaration* IFC4X1_IfcDateTime_type = 0;
+type_declaration* IFC4X1_IfcDayInMonthNumber_type = 0;
+type_declaration* IFC4X1_IfcDayInWeekNumber_type = 0;
+type_declaration* IFC4X1_IfcDescriptiveMeasure_type = 0;
+type_declaration* IFC4X1_IfcDimensionCount_type = 0;
+type_declaration* IFC4X1_IfcDoseEquivalentMeasure_type = 0;
+type_declaration* IFC4X1_IfcDuration_type = 0;
+type_declaration* IFC4X1_IfcDynamicViscosityMeasure_type = 0;
+type_declaration* IFC4X1_IfcElectricCapacitanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcElectricChargeMeasure_type = 0;
+type_declaration* IFC4X1_IfcElectricConductanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcElectricCurrentMeasure_type = 0;
+type_declaration* IFC4X1_IfcElectricResistanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcElectricVoltageMeasure_type = 0;
+type_declaration* IFC4X1_IfcEnergyMeasure_type = 0;
+type_declaration* IFC4X1_IfcFontStyle_type = 0;
+type_declaration* IFC4X1_IfcFontVariant_type = 0;
+type_declaration* IFC4X1_IfcFontWeight_type = 0;
+type_declaration* IFC4X1_IfcForceMeasure_type = 0;
+type_declaration* IFC4X1_IfcFrequencyMeasure_type = 0;
+type_declaration* IFC4X1_IfcGloballyUniqueId_type = 0;
+type_declaration* IFC4X1_IfcHeatFluxDensityMeasure_type = 0;
+type_declaration* IFC4X1_IfcHeatingValueMeasure_type = 0;
+type_declaration* IFC4X1_IfcIdentifier_type = 0;
+type_declaration* IFC4X1_IfcIlluminanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcInductanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcInteger_type = 0;
+type_declaration* IFC4X1_IfcIntegerCountRateMeasure_type = 0;
+type_declaration* IFC4X1_IfcIonConcentrationMeasure_type = 0;
+type_declaration* IFC4X1_IfcIsothermalMoistureCapacityMeasure_type = 0;
+type_declaration* IFC4X1_IfcKinematicViscosityMeasure_type = 0;
+type_declaration* IFC4X1_IfcLabel_type = 0;
+type_declaration* IFC4X1_IfcLanguageId_type = 0;
+type_declaration* IFC4X1_IfcLengthMeasure_type = 0;
+type_declaration* IFC4X1_IfcLineIndex_type = 0;
+type_declaration* IFC4X1_IfcLinearForceMeasure_type = 0;
+type_declaration* IFC4X1_IfcLinearMomentMeasure_type = 0;
+type_declaration* IFC4X1_IfcLinearStiffnessMeasure_type = 0;
+type_declaration* IFC4X1_IfcLinearVelocityMeasure_type = 0;
+type_declaration* IFC4X1_IfcLogical_type = 0;
+type_declaration* IFC4X1_IfcLuminousFluxMeasure_type = 0;
+type_declaration* IFC4X1_IfcLuminousIntensityDistributionMeasure_type = 0;
+type_declaration* IFC4X1_IfcLuminousIntensityMeasure_type = 0;
+type_declaration* IFC4X1_IfcMagneticFluxDensityMeasure_type = 0;
+type_declaration* IFC4X1_IfcMagneticFluxMeasure_type = 0;
+type_declaration* IFC4X1_IfcMassDensityMeasure_type = 0;
+type_declaration* IFC4X1_IfcMassFlowRateMeasure_type = 0;
+type_declaration* IFC4X1_IfcMassMeasure_type = 0;
+type_declaration* IFC4X1_IfcMassPerLengthMeasure_type = 0;
+type_declaration* IFC4X1_IfcModulusOfElasticityMeasure_type = 0;
+type_declaration* IFC4X1_IfcModulusOfLinearSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X1_IfcModulusOfRotationalSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X1_IfcModulusOfSubgradeReactionMeasure_type = 0;
+type_declaration* IFC4X1_IfcMoistureDiffusivityMeasure_type = 0;
+type_declaration* IFC4X1_IfcMolecularWeightMeasure_type = 0;
+type_declaration* IFC4X1_IfcMomentOfInertiaMeasure_type = 0;
+type_declaration* IFC4X1_IfcMonetaryMeasure_type = 0;
+type_declaration* IFC4X1_IfcMonthInYearNumber_type = 0;
+type_declaration* IFC4X1_IfcNonNegativeLengthMeasure_type = 0;
+type_declaration* IFC4X1_IfcNormalisedRatioMeasure_type = 0;
+type_declaration* IFC4X1_IfcNumericMeasure_type = 0;
+type_declaration* IFC4X1_IfcPHMeasure_type = 0;
+type_declaration* IFC4X1_IfcParameterValue_type = 0;
+type_declaration* IFC4X1_IfcPlanarForceMeasure_type = 0;
+type_declaration* IFC4X1_IfcPlaneAngleMeasure_type = 0;
+type_declaration* IFC4X1_IfcPositiveInteger_type = 0;
+type_declaration* IFC4X1_IfcPositiveLengthMeasure_type = 0;
+type_declaration* IFC4X1_IfcPositivePlaneAngleMeasure_type = 0;
+type_declaration* IFC4X1_IfcPositiveRatioMeasure_type = 0;
+type_declaration* IFC4X1_IfcPowerMeasure_type = 0;
+type_declaration* IFC4X1_IfcPresentableText_type = 0;
+type_declaration* IFC4X1_IfcPressureMeasure_type = 0;
+type_declaration* IFC4X1_IfcPropertySetDefinitionSet_type = 0;
+type_declaration* IFC4X1_IfcRadioActivityMeasure_type = 0;
+type_declaration* IFC4X1_IfcRatioMeasure_type = 0;
+type_declaration* IFC4X1_IfcReal_type = 0;
+type_declaration* IFC4X1_IfcRotationalFrequencyMeasure_type = 0;
+type_declaration* IFC4X1_IfcRotationalMassMeasure_type = 0;
+type_declaration* IFC4X1_IfcRotationalStiffnessMeasure_type = 0;
+type_declaration* IFC4X1_IfcSectionModulusMeasure_type = 0;
+type_declaration* IFC4X1_IfcSectionalAreaIntegralMeasure_type = 0;
+type_declaration* IFC4X1_IfcShearModulusMeasure_type = 0;
+type_declaration* IFC4X1_IfcSolidAngleMeasure_type = 0;
+type_declaration* IFC4X1_IfcSoundPowerLevelMeasure_type = 0;
+type_declaration* IFC4X1_IfcSoundPowerMeasure_type = 0;
+type_declaration* IFC4X1_IfcSoundPressureLevelMeasure_type = 0;
+type_declaration* IFC4X1_IfcSoundPressureMeasure_type = 0;
+type_declaration* IFC4X1_IfcSpecificHeatCapacityMeasure_type = 0;
+type_declaration* IFC4X1_IfcSpecularExponent_type = 0;
+type_declaration* IFC4X1_IfcSpecularRoughness_type = 0;
+type_declaration* IFC4X1_IfcTemperatureGradientMeasure_type = 0;
+type_declaration* IFC4X1_IfcTemperatureRateOfChangeMeasure_type = 0;
+type_declaration* IFC4X1_IfcText_type = 0;
+type_declaration* IFC4X1_IfcTextAlignment_type = 0;
+type_declaration* IFC4X1_IfcTextDecoration_type = 0;
+type_declaration* IFC4X1_IfcTextFontName_type = 0;
+type_declaration* IFC4X1_IfcTextTransformation_type = 0;
+type_declaration* IFC4X1_IfcThermalAdmittanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcThermalConductivityMeasure_type = 0;
+type_declaration* IFC4X1_IfcThermalExpansionCoefficientMeasure_type = 0;
+type_declaration* IFC4X1_IfcThermalResistanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcThermalTransmittanceMeasure_type = 0;
+type_declaration* IFC4X1_IfcThermodynamicTemperatureMeasure_type = 0;
+type_declaration* IFC4X1_IfcTime_type = 0;
+type_declaration* IFC4X1_IfcTimeMeasure_type = 0;
+type_declaration* IFC4X1_IfcTimeStamp_type = 0;
+type_declaration* IFC4X1_IfcTorqueMeasure_type = 0;
+type_declaration* IFC4X1_IfcURIReference_type = 0;
+type_declaration* IFC4X1_IfcVaporPermeabilityMeasure_type = 0;
+type_declaration* IFC4X1_IfcVolumeMeasure_type = 0;
+type_declaration* IFC4X1_IfcVolumetricFlowRateMeasure_type = 0;
+type_declaration* IFC4X1_IfcWarpingConstantMeasure_type = 0;
+type_declaration* IFC4X1_IfcWarpingMomentMeasure_type = 0;
+select_type* IFC4X1_IfcActorSelect_type = 0;
+select_type* IFC4X1_IfcAppliedValueSelect_type = 0;
+select_type* IFC4X1_IfcAxis2Placement_type = 0;
+select_type* IFC4X1_IfcBendingParameterSelect_type = 0;
+select_type* IFC4X1_IfcBooleanOperand_type = 0;
+select_type* IFC4X1_IfcClassificationReferenceSelect_type = 0;
+select_type* IFC4X1_IfcClassificationSelect_type = 0;
+select_type* IFC4X1_IfcColour_type = 0;
+select_type* IFC4X1_IfcColourOrFactor_type = 0;
+select_type* IFC4X1_IfcCoordinateReferenceSystemSelect_type = 0;
+select_type* IFC4X1_IfcCsgSelect_type = 0;
+select_type* IFC4X1_IfcCurveFontOrScaledCurveFontSelect_type = 0;
+select_type* IFC4X1_IfcCurveOnSurface_type = 0;
+select_type* IFC4X1_IfcCurveOrEdgeCurve_type = 0;
+select_type* IFC4X1_IfcCurveStyleFontSelect_type = 0;
+select_type* IFC4X1_IfcDefinitionSelect_type = 0;
+select_type* IFC4X1_IfcDerivedMeasureValue_type = 0;
+select_type* IFC4X1_IfcDocumentSelect_type = 0;
+select_type* IFC4X1_IfcFillStyleSelect_type = 0;
+select_type* IFC4X1_IfcGeometricSetSelect_type = 0;
+select_type* IFC4X1_IfcGridPlacementDirectionSelect_type = 0;
+select_type* IFC4X1_IfcHatchLineDistanceSelect_type = 0;
+select_type* IFC4X1_IfcLayeredItem_type = 0;
+select_type* IFC4X1_IfcLibrarySelect_type = 0;
+select_type* IFC4X1_IfcLightDistributionDataSourceSelect_type = 0;
+select_type* IFC4X1_IfcMaterialSelect_type = 0;
+select_type* IFC4X1_IfcMeasureValue_type = 0;
+select_type* IFC4X1_IfcMetricValueSelect_type = 0;
+select_type* IFC4X1_IfcModulusOfRotationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X1_IfcModulusOfSubgradeReactionSelect_type = 0;
+select_type* IFC4X1_IfcModulusOfTranslationalSubgradeReactionSelect_type = 0;
+select_type* IFC4X1_IfcObjectReferenceSelect_type = 0;
+select_type* IFC4X1_IfcPointOrVertexPoint_type = 0;
+select_type* IFC4X1_IfcPresentationStyleSelect_type = 0;
+select_type* IFC4X1_IfcProcessSelect_type = 0;
+select_type* IFC4X1_IfcProductRepresentationSelect_type = 0;
+select_type* IFC4X1_IfcProductSelect_type = 0;
+select_type* IFC4X1_IfcPropertySetDefinitionSelect_type = 0;
+select_type* IFC4X1_IfcResourceObjectSelect_type = 0;
+select_type* IFC4X1_IfcResourceSelect_type = 0;
+select_type* IFC4X1_IfcRotationalStiffnessSelect_type = 0;
+select_type* IFC4X1_IfcSegmentIndexSelect_type = 0;
+select_type* IFC4X1_IfcShell_type = 0;
+select_type* IFC4X1_IfcSimpleValue_type = 0;
+select_type* IFC4X1_IfcSizeSelect_type = 0;
+select_type* IFC4X1_IfcSolidOrShell_type = 0;
+select_type* IFC4X1_IfcSpaceBoundarySelect_type = 0;
+select_type* IFC4X1_IfcSpecularHighlightSelect_type = 0;
+select_type* IFC4X1_IfcStructuralActivityAssignmentSelect_type = 0;
+select_type* IFC4X1_IfcStyleAssignmentSelect_type = 0;
+select_type* IFC4X1_IfcSurfaceOrFaceSurface_type = 0;
+select_type* IFC4X1_IfcSurfaceStyleElementSelect_type = 0;
+select_type* IFC4X1_IfcTextFontSelect_type = 0;
+select_type* IFC4X1_IfcTimeOrRatioSelect_type = 0;
+select_type* IFC4X1_IfcTranslationalStiffnessSelect_type = 0;
+select_type* IFC4X1_IfcTrimmingSelect_type = 0;
+select_type* IFC4X1_IfcUnit_type = 0;
+select_type* IFC4X1_IfcValue_type = 0;
+select_type* IFC4X1_IfcVectorOrDirection_type = 0;
+select_type* IFC4X1_IfcWarpingStiffnessSelect_type = 0;
+enumeration_type* IFC4X1_IfcActionRequestTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcActionSourceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcActionTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcActuatorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcAddressTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcAirTerminalBoxTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcAirTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcAirToAirHeatRecoveryTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcAlarmTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcAlignmentTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcAnalysisModelTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcAnalysisTheoryTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcArithmeticOperatorEnum_type = 0;
+enumeration_type* IFC4X1_IfcAssemblyPlaceEnum_type = 0;
+enumeration_type* IFC4X1_IfcAudioVisualApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcBSplineCurveForm_type = 0;
+enumeration_type* IFC4X1_IfcBSplineSurfaceForm_type = 0;
+enumeration_type* IFC4X1_IfcBeamTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcBenchmarkEnum_type = 0;
+enumeration_type* IFC4X1_IfcBoilerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcBooleanOperator_type = 0;
+enumeration_type* IFC4X1_IfcBuildingElementPartTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcBuildingElementProxyTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcBuildingSystemTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcBurnerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCableCarrierFittingTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCableCarrierSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCableFittingTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCableSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcChangeActionEnum_type = 0;
+enumeration_type* IFC4X1_IfcChillerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcChimneyTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCoilTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcColumnTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCommunicationsApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcComplexPropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCompressorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCondenserTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcConstraintEnum_type = 0;
+enumeration_type* IFC4X1_IfcConstructionEquipmentResourceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcConstructionMaterialResourceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcConstructionProductResourceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcControllerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCooledBeamTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCoolingTowerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCostItemTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCostScheduleTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCoveringTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCrewResourceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCurtainWallTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcCurveInterpolationEnum_type = 0;
+enumeration_type* IFC4X1_IfcDamperTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcDataOriginEnum_type = 0;
+enumeration_type* IFC4X1_IfcDerivedUnitEnum_type = 0;
+enumeration_type* IFC4X1_IfcDirectionSenseEnum_type = 0;
+enumeration_type* IFC4X1_IfcDiscreteAccessoryTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcDistributionChamberElementTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcDistributionPortTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcDistributionSystemEnum_type = 0;
+enumeration_type* IFC4X1_IfcDocumentConfidentialityEnum_type = 0;
+enumeration_type* IFC4X1_IfcDocumentStatusEnum_type = 0;
+enumeration_type* IFC4X1_IfcDoorPanelOperationEnum_type = 0;
+enumeration_type* IFC4X1_IfcDoorPanelPositionEnum_type = 0;
+enumeration_type* IFC4X1_IfcDoorStyleConstructionEnum_type = 0;
+enumeration_type* IFC4X1_IfcDoorStyleOperationEnum_type = 0;
+enumeration_type* IFC4X1_IfcDoorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcDoorTypeOperationEnum_type = 0;
+enumeration_type* IFC4X1_IfcDuctFittingTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcDuctSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcDuctSilencerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcElectricApplianceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcElectricDistributionBoardTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcElectricFlowStorageDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcElectricGeneratorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcElectricMotorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcElectricTimeControlTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcElementAssemblyTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcElementCompositionEnum_type = 0;
+enumeration_type* IFC4X1_IfcEngineTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcEvaporativeCoolerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcEvaporatorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcEventTriggerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcEventTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcExternalSpatialElementTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcFanTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcFilterTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcFireSuppressionTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcFlowDirectionEnum_type = 0;
+enumeration_type* IFC4X1_IfcFlowInstrumentTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcFlowMeterTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcFootingTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcFurnitureTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcGeographicElementTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcGeometricProjectionEnum_type = 0;
+enumeration_type* IFC4X1_IfcGlobalOrLocalEnum_type = 0;
+enumeration_type* IFC4X1_IfcGridTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcHeatExchangerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcHumidifierTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcInterceptorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcInternalOrExternalEnum_type = 0;
+enumeration_type* IFC4X1_IfcInventoryTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcJunctionBoxTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcKnotType_type = 0;
+enumeration_type* IFC4X1_IfcLaborResourceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcLampTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcLayerSetDirectionEnum_type = 0;
+enumeration_type* IFC4X1_IfcLightDistributionCurveEnum_type = 0;
+enumeration_type* IFC4X1_IfcLightEmissionSourceEnum_type = 0;
+enumeration_type* IFC4X1_IfcLightFixtureTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcLoadGroupTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcLogicalOperatorEnum_type = 0;
+enumeration_type* IFC4X1_IfcMechanicalFastenerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcMedicalDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcMemberTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcMotorConnectionTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcNullStyle_type = 0;
+enumeration_type* IFC4X1_IfcObjectTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcObjectiveEnum_type = 0;
+enumeration_type* IFC4X1_IfcOccupantTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcOpeningElementTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcOutletTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPerformanceHistoryTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPermeableCoveringOperationEnum_type = 0;
+enumeration_type* IFC4X1_IfcPermitTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPhysicalOrVirtualEnum_type = 0;
+enumeration_type* IFC4X1_IfcPileConstructionEnum_type = 0;
+enumeration_type* IFC4X1_IfcPileTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPipeFittingTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPipeSegmentTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPlateTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPreferredSurfaceCurveRepresentation_type = 0;
+enumeration_type* IFC4X1_IfcProcedureTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcProfileTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcProjectOrderTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcProjectedOrTrueLengthEnum_type = 0;
+enumeration_type* IFC4X1_IfcProjectionElementTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPropertySetTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcProtectiveDeviceTrippingUnitTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcProtectiveDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcPumpTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcRailingTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcRampFlightTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcRampTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcRecurrenceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcReferentTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcReflectanceMethodEnum_type = 0;
+enumeration_type* IFC4X1_IfcReinforcingBarRoleEnum_type = 0;
+enumeration_type* IFC4X1_IfcReinforcingBarSurfaceEnum_type = 0;
+enumeration_type* IFC4X1_IfcReinforcingBarTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcReinforcingMeshTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcRoleEnum_type = 0;
+enumeration_type* IFC4X1_IfcRoofTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSIPrefix_type = 0;
+enumeration_type* IFC4X1_IfcSIUnitName_type = 0;
+enumeration_type* IFC4X1_IfcSanitaryTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSectionTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSensorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSequenceEnum_type = 0;
+enumeration_type* IFC4X1_IfcShadingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSimplePropertyTemplateTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSlabTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSolarDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSpaceHeaterTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSpaceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSpatialZoneTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcStackTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcStairFlightTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcStairTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcStateEnum_type = 0;
+enumeration_type* IFC4X1_IfcStructuralCurveActivityTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcStructuralCurveMemberTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcStructuralSurfaceActivityTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcStructuralSurfaceMemberTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSubContractResourceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSurfaceFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSurfaceSide_type = 0;
+enumeration_type* IFC4X1_IfcSwitchingDeviceTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcSystemFurnitureElementTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcTankTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcTaskDurationEnum_type = 0;
+enumeration_type* IFC4X1_IfcTaskTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcTendonAnchorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcTendonTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcTextPath_type = 0;
+enumeration_type* IFC4X1_IfcTimeSeriesDataTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcTransformerTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcTransitionCode_type = 0;
+enumeration_type* IFC4X1_IfcTransitionCurveType_type = 0;
+enumeration_type* IFC4X1_IfcTransportElementTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcTrimmingPreference_type = 0;
+enumeration_type* IFC4X1_IfcTubeBundleTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcUnitEnum_type = 0;
+enumeration_type* IFC4X1_IfcUnitaryControlElementTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcUnitaryEquipmentTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcValveTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcVibrationIsolatorTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcVoidingFeatureTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcWallTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcWasteTerminalTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcWindowPanelOperationEnum_type = 0;
+enumeration_type* IFC4X1_IfcWindowPanelPositionEnum_type = 0;
+enumeration_type* IFC4X1_IfcWindowStyleConstructionEnum_type = 0;
+enumeration_type* IFC4X1_IfcWindowStyleOperationEnum_type = 0;
+enumeration_type* IFC4X1_IfcWindowTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcWindowTypePartitioningEnum_type = 0;
+enumeration_type* IFC4X1_IfcWorkCalendarTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcWorkPlanTypeEnum_type = 0;
+enumeration_type* IFC4X1_IfcWorkScheduleTypeEnum_type = 0;
+
+class IFC4X1_instance_factory : public IfcParse::instance_factory {
+ virtual IfcUtil::IfcBaseClass* operator()(IfcEntityInstanceData* data) const {
+ switch(data->type()->index_in_schema()) {
+ case 0: return new ::Ifc4x1::IfcAbsorbedDoseMeasure(data);
+ case 1: return new ::Ifc4x1::IfcAccelerationMeasure(data);
+ case 2: return new ::Ifc4x1::IfcActionRequest(data);
+ case 6: return new ::Ifc4x1::IfcActor(data);
+ case 7: return new ::Ifc4x1::IfcActorRole(data);
+ case 9: return new ::Ifc4x1::IfcActuator(data);
+ case 10: return new ::Ifc4x1::IfcActuatorType(data);
+ case 12: return new ::Ifc4x1::IfcAddress(data);
+ case 14: return new ::Ifc4x1::IfcAdvancedBrep(data);
+ case 15: return new ::Ifc4x1::IfcAdvancedBrepWithVoids(data);
+ case 16: return new ::Ifc4x1::IfcAdvancedFace(data);
+ case 17: return new ::Ifc4x1::IfcAirTerminal(data);
+ case 18: return new ::Ifc4x1::IfcAirTerminalBox(data);
+ case 19: return new ::Ifc4x1::IfcAirTerminalBoxType(data);
+ case 21: return new ::Ifc4x1::IfcAirTerminalType(data);
+ case 23: return new ::Ifc4x1::IfcAirToAirHeatRecovery(data);
+ case 24: return new ::Ifc4x1::IfcAirToAirHeatRecoveryType(data);
+ case 26: return new ::Ifc4x1::IfcAlarm(data);
+ case 27: return new ::Ifc4x1::IfcAlarmType(data);
+ case 29: return new ::Ifc4x1::IfcAlignment(data);
+ case 30: return new ::Ifc4x1::IfcAlignment2DHorizontal(data);
+ case 31: return new ::Ifc4x1::IfcAlignment2DHorizontalSegment(data);
+ case 32: return new ::Ifc4x1::IfcAlignment2DSegment(data);
+ case 33: return new ::Ifc4x1::IfcAlignment2DVerSegCircularArc(data);
+ case 34: return new ::Ifc4x1::IfcAlignment2DVerSegLine(data);
+ case 35: return new ::Ifc4x1::IfcAlignment2DVerSegParabolicArc(data);
+ case 36: return new ::Ifc4x1::IfcAlignment2DVertical(data);
+ case 37: return new ::Ifc4x1::IfcAlignment2DVerticalSegment(data);
+ case 38: return new ::Ifc4x1::IfcAlignmentCurve(data);
+ case 40: return new ::Ifc4x1::IfcAmountOfSubstanceMeasure(data);
+ case 43: return new ::Ifc4x1::IfcAngularVelocityMeasure(data);
+ case 44: return new ::Ifc4x1::IfcAnnotation(data);
+ case 45: return new ::Ifc4x1::IfcAnnotationFillArea(data);
+ case 46: return new ::Ifc4x1::IfcApplication(data);
+ case 47: return new ::Ifc4x1::IfcAppliedValue(data);
+ case 49: return new ::Ifc4x1::IfcApproval(data);
+ case 50: return new ::Ifc4x1::IfcApprovalRelationship(data);
+ case 51: return new ::Ifc4x1::IfcArbitraryClosedProfileDef(data);
+ case 52: return new ::Ifc4x1::IfcArbitraryOpenProfileDef(data);
+ case 53: return new ::Ifc4x1::IfcArbitraryProfileDefWithVoids(data);
+ case 54: return new ::Ifc4x1::IfcArcIndex(data);
+ case 55: return new ::Ifc4x1::IfcAreaDensityMeasure(data);
+ case 56: return new ::Ifc4x1::IfcAreaMeasure(data);
+ case 59: return new ::Ifc4x1::IfcAsset(data);
+ case 60: return new ::Ifc4x1::IfcAsymmetricIShapeProfileDef(data);
+ case 61: return new ::Ifc4x1::IfcAudioVisualAppliance(data);
+ case 62: return new ::Ifc4x1::IfcAudioVisualApplianceType(data);
+ case 64: return new ::Ifc4x1::IfcAxis1Placement(data);
+ case 66: return new ::Ifc4x1::IfcAxis2Placement2D(data);
+ case 67: return new ::Ifc4x1::IfcAxis2Placement3D(data);
+ case 68: return new ::Ifc4x1::IfcBeam(data);
+ case 69: return new ::Ifc4x1::IfcBeamStandardCase(data);
+ case 70: return new ::Ifc4x1::IfcBeamType(data);
+ case 74: return new ::Ifc4x1::IfcBinary(data);
+ case 75: return new ::Ifc4x1::IfcBlobTexture(data);
+ case 76: return new ::Ifc4x1::IfcBlock(data);
+ case 77: return new ::Ifc4x1::IfcBoiler(data);
+ case 78: return new ::Ifc4x1::IfcBoilerType(data);
+ case 80: return new ::Ifc4x1::IfcBoolean(data);
+ case 81: return new ::Ifc4x1::IfcBooleanClippingResult(data);
+ case 84: return new ::Ifc4x1::IfcBooleanResult(data);
+ case 85: return new ::Ifc4x1::IfcBoundaryCondition(data);
+ case 86: return new ::Ifc4x1::IfcBoundaryCurve(data);
+ case 87: return new ::Ifc4x1::IfcBoundaryEdgeCondition(data);
+ case 88: return new ::Ifc4x1::IfcBoundaryFaceCondition(data);
+ case 89: return new ::Ifc4x1::IfcBoundaryNodeCondition(data);
+ case 90: return new ::Ifc4x1::IfcBoundaryNodeConditionWarping(data);
+ case 91: return new ::Ifc4x1::IfcBoundedCurve(data);
+ case 92: return new ::Ifc4x1::IfcBoundedSurface(data);
+ case 93: return new ::Ifc4x1::IfcBoundingBox(data);
+ case 94: return new ::Ifc4x1::IfcBoxAlignment(data);
+ case 95: return new ::Ifc4x1::IfcBoxedHalfSpace(data);
+ case 96: return new ::Ifc4x1::IfcBSplineCurve(data);
+ case 98: return new ::Ifc4x1::IfcBSplineCurveWithKnots(data);
+ case 99: return new ::Ifc4x1::IfcBSplineSurface(data);
+ case 101: return new ::Ifc4x1::IfcBSplineSurfaceWithKnots(data);
+ case 102: return new ::Ifc4x1::IfcBuilding(data);
+ case 103: return new ::Ifc4x1::IfcBuildingElement(data);
+ case 104: return new ::Ifc4x1::IfcBuildingElementPart(data);
+ case 105: return new ::Ifc4x1::IfcBuildingElementPartType(data);
+ case 107: return new ::Ifc4x1::IfcBuildingElementProxy(data);
+ case 108: return new ::Ifc4x1::IfcBuildingElementProxyType(data);
+ case 110: return new ::Ifc4x1::IfcBuildingElementType(data);
+ case 111: return new ::Ifc4x1::IfcBuildingStorey(data);
+ case 112: return new ::Ifc4x1::IfcBuildingSystem(data);
+ case 114: return new ::Ifc4x1::IfcBurner(data);
+ case 115: return new ::Ifc4x1::IfcBurnerType(data);
+ case 117: return new ::Ifc4x1::IfcCableCarrierFitting(data);
+ case 118: return new ::Ifc4x1::IfcCableCarrierFittingType(data);
+ case 120: return new ::Ifc4x1::IfcCableCarrierSegment(data);
+ case 121: return new ::Ifc4x1::IfcCableCarrierSegmentType(data);
+ case 123: return new ::Ifc4x1::IfcCableFitting(data);
+ case 124: return new ::Ifc4x1::IfcCableFittingType(data);
+ case 126: return new ::Ifc4x1::IfcCableSegment(data);
+ case 127: return new ::Ifc4x1::IfcCableSegmentType(data);
+ case 129: return new ::Ifc4x1::IfcCardinalPointReference(data);
+ case 130: return new ::Ifc4x1::IfcCartesianPoint(data);
+ case 131: return new ::Ifc4x1::IfcCartesianPointList(data);
+ case 132: return new ::Ifc4x1::IfcCartesianPointList2D(data);
+ case 133: return new ::Ifc4x1::IfcCartesianPointList3D(data);
+ case 134: return new ::Ifc4x1::IfcCartesianTransformationOperator(data);
+ case 135: return new ::Ifc4x1::IfcCartesianTransformationOperator2D(data);
+ case 136: return new ::Ifc4x1::IfcCartesianTransformationOperator2DnonUniform(data);
+ case 137: return new ::Ifc4x1::IfcCartesianTransformationOperator3D(data);
+ case 138: return new ::Ifc4x1::IfcCartesianTransformationOperator3DnonUniform(data);
+ case 139: return new ::Ifc4x1::IfcCenterLineProfileDef(data);
+ case 141: return new ::Ifc4x1::IfcChiller(data);
+ case 142: return new ::Ifc4x1::IfcChillerType(data);
+ case 144: return new ::Ifc4x1::IfcChimney(data);
+ case 145: return new ::Ifc4x1::IfcChimneyType(data);
+ case 147: return new ::Ifc4x1::IfcCircle(data);
+ case 148: return new ::Ifc4x1::IfcCircleHollowProfileDef(data);
+ case 149: return new ::Ifc4x1::IfcCircleProfileDef(data);
+ case 150: return new ::Ifc4x1::IfcCircularArcSegment2D(data);
+ case 151: return new ::Ifc4x1::IfcCivilElement(data);
+ case 152: return new ::Ifc4x1::IfcCivilElementType(data);
+ case 153: return new ::Ifc4x1::IfcClassification(data);
+ case 154: return new ::Ifc4x1::IfcClassificationReference(data);
+ case 157: return new ::Ifc4x1::IfcClosedShell(data);
+ case 158: return new ::Ifc4x1::IfcCoil(data);
+ case 159: return new ::Ifc4x1::IfcCoilType(data);
+ case 163: return new ::Ifc4x1::IfcColourRgb(data);
+ case 164: return new ::Ifc4x1::IfcColourRgbList(data);
+ case 165: return new ::Ifc4x1::IfcColourSpecification(data);
+ case 166: return new ::Ifc4x1::IfcColumn(data);
+ case 167: return new ::Ifc4x1::IfcColumnStandardCase(data);
+ case 168: return new ::Ifc4x1::IfcColumnType(data);
+ case 170: return new ::Ifc4x1::IfcCommunicationsAppliance(data);
+ case 171: return new ::Ifc4x1::IfcCommunicationsApplianceType(data);
+ case 173: return new ::Ifc4x1::IfcComplexNumber(data);
+ case 174: return new ::Ifc4x1::IfcComplexProperty(data);
+ case 175: return new ::Ifc4x1::IfcComplexPropertyTemplate(data);
+ case 177: return new ::Ifc4x1::IfcCompositeCurve(data);
+ case 178: return new ::Ifc4x1::IfcCompositeCurveOnSurface(data);
+ case 179: return new ::Ifc4x1::IfcCompositeCurveSegment(data);
+ case 180: return new ::Ifc4x1::IfcCompositeProfileDef(data);
+ case 181: return new ::Ifc4x1::IfcCompoundPlaneAngleMeasure(data);
+ case 182: return new ::Ifc4x1::IfcCompressor(data);
+ case 183: return new ::Ifc4x1::IfcCompressorType(data);
+ case 185: return new ::Ifc4x1::IfcCondenser(data);
+ case 186: return new ::Ifc4x1::IfcCondenserType(data);
+ case 188: return new ::Ifc4x1::IfcConic(data);
+ case 189: return new ::Ifc4x1::IfcConnectedFaceSet(data);
+ case 190: return new ::Ifc4x1::IfcConnectionCurveGeometry(data);
+ case 191: return new ::Ifc4x1::IfcConnectionGeometry(data);
+ case 192: return new ::Ifc4x1::IfcConnectionPointEccentricity(data);
+ case 193: return new ::Ifc4x1::IfcConnectionPointGeometry(data);
+ case 194: return new ::Ifc4x1::IfcConnectionSurfaceGeometry(data);
+ case 196: return new ::Ifc4x1::IfcConnectionVolumeGeometry(data);
+ case 197: return new ::Ifc4x1::IfcConstraint(data);
+ case 199: return new ::Ifc4x1::IfcConstructionEquipmentResource(data);
+ case 200: return new ::Ifc4x1::IfcConstructionEquipmentResourceType(data);
+ case 202: return new ::Ifc4x1::IfcConstructionMaterialResource(data);
+ case 203: return new ::Ifc4x1::IfcConstructionMaterialResourceType(data);
+ case 205: return new ::Ifc4x1::IfcConstructionProductResource(data);
+ case 206: return new ::Ifc4x1::IfcConstructionProductResourceType(data);
+ case 208: return new ::Ifc4x1::IfcConstructionResource(data);
+ case 209: return new ::Ifc4x1::IfcConstructionResourceType(data);
+ case 210: return new ::Ifc4x1::IfcContext(data);
+ case 211: return new ::Ifc4x1::IfcContextDependentMeasure(data);
+ case 212: return new ::Ifc4x1::IfcContextDependentUnit(data);
+ case 213: return new ::Ifc4x1::IfcControl(data);
+ case 214: return new ::Ifc4x1::IfcController(data);
+ case 215: return new ::Ifc4x1::IfcControllerType(data);
+ case 217: return new ::Ifc4x1::IfcConversionBasedUnit(data);
+ case 218: return new ::Ifc4x1::IfcConversionBasedUnitWithOffset(data);
+ case 219: return new ::Ifc4x1::IfcCooledBeam(data);
+ case 220: return new ::Ifc4x1::IfcCooledBeamType(data);
+ case 222: return new ::Ifc4x1::IfcCoolingTower(data);
+ case 223: return new ::Ifc4x1::IfcCoolingTowerType(data);
+ case 225: return new ::Ifc4x1::IfcCoordinateOperation(data);
+ case 226: return new ::Ifc4x1::IfcCoordinateReferenceSystem(data);
+ case 228: return new ::Ifc4x1::IfcCostItem(data);
+ case 230: return new ::Ifc4x1::IfcCostSchedule(data);
+ case 232: return new ::Ifc4x1::IfcCostValue(data);
+ case 233: return new ::Ifc4x1::IfcCountMeasure(data);
+ case 234: return new ::Ifc4x1::IfcCovering(data);
+ case 235: return new ::Ifc4x1::IfcCoveringType(data);
+ case 237: return new ::Ifc4x1::IfcCrewResource(data);
+ case 238: return new ::Ifc4x1::IfcCrewResourceType(data);
+ case 240: return new ::Ifc4x1::IfcCsgPrimitive3D(data);
+ case 242: return new ::Ifc4x1::IfcCsgSolid(data);
+ case 243: return new ::Ifc4x1::IfcCShapeProfileDef(data);
+ case 244: return new ::Ifc4x1::IfcCurrencyRelationship(data);
+ case 245: return new ::Ifc4x1::IfcCurtainWall(data);
+ case 246: return new ::Ifc4x1::IfcCurtainWallType(data);
+ case 248: return new ::Ifc4x1::IfcCurvatureMeasure(data);
+ case 249: return new ::Ifc4x1::IfcCurve(data);
+ case 250: return new ::Ifc4x1::IfcCurveBoundedPlane(data);
+ case 251: return new ::Ifc4x1::IfcCurveBoundedSurface(data);
+ case 256: return new ::Ifc4x1::IfcCurveSegment2D(data);
+ case 257: return new ::Ifc4x1::IfcCurveStyle(data);
+ case 258: return new ::Ifc4x1::IfcCurveStyleFont(data);
+ case 259: return new ::Ifc4x1::IfcCurveStyleFontAndScaling(data);
+ case 260: return new ::Ifc4x1::IfcCurveStyleFontPattern(data);
+ case 262: return new ::Ifc4x1::IfcCylindricalSurface(data);
+ case 263: return new ::Ifc4x1::IfcDamper(data);
+ case 264: return new ::Ifc4x1::IfcDamperType(data);
+ case 267: return new ::Ifc4x1::IfcDate(data);
+ case 268: return new ::Ifc4x1::IfcDateTime(data);
+ case 269: return new ::Ifc4x1::IfcDayInMonthNumber(data);
+ case 270: return new ::Ifc4x1::IfcDayInWeekNumber(data);
+ case 273: return new ::Ifc4x1::IfcDerivedProfileDef(data);
+ case 274: return new ::Ifc4x1::IfcDerivedUnit(data);
+ case 275: return new ::Ifc4x1::IfcDerivedUnitElement(data);
+ case 277: return new ::Ifc4x1::IfcDescriptiveMeasure(data);
+ case 278: return new ::Ifc4x1::IfcDimensionalExponents(data);
+ case 279: return new ::Ifc4x1::IfcDimensionCount(data);
+ case 280: return new ::Ifc4x1::IfcDirection(data);
+ case 282: return new ::Ifc4x1::IfcDiscreteAccessory(data);
+ case 283: return new ::Ifc4x1::IfcDiscreteAccessoryType(data);
+ case 285: return new ::Ifc4x1::IfcDistanceExpression(data);
+ case 286: return new ::Ifc4x1::IfcDistributionChamberElement(data);
+ case 287: return new ::Ifc4x1::IfcDistributionChamberElementType(data);
+ case 289: return new ::Ifc4x1::IfcDistributionCircuit(data);
+ case 290: return new ::Ifc4x1::IfcDistributionControlElement(data);
+ case 291: return new ::Ifc4x1::IfcDistributionControlElementType(data);
+ case 292: return new ::Ifc4x1::IfcDistributionElement(data);
+ case 293: return new ::Ifc4x1::IfcDistributionElementType(data);
+ case 294: return new ::Ifc4x1::IfcDistributionFlowElement(data);
+ case 295: return new ::Ifc4x1::IfcDistributionFlowElementType(data);
+ case 296: return new ::Ifc4x1::IfcDistributionPort(data);
+ case 298: return new ::Ifc4x1::IfcDistributionSystem(data);
+ case 301: return new ::Ifc4x1::IfcDocumentInformation(data);
+ case 302: return new ::Ifc4x1::IfcDocumentInformationRelationship(data);
+ case 303: return new ::Ifc4x1::IfcDocumentReference(data);
+ case 306: return new ::Ifc4x1::IfcDoor(data);
+ case 307: return new ::Ifc4x1::IfcDoorLiningProperties(data);
+ case 310: return new ::Ifc4x1::IfcDoorPanelProperties(data);
+ case 311: return new ::Ifc4x1::IfcDoorStandardCase(data);
+ case 312: return new ::Ifc4x1::IfcDoorStyle(data);
+ case 315: return new ::Ifc4x1::IfcDoorType(data);
+ case 318: return new ::Ifc4x1::IfcDoseEquivalentMeasure(data);
+ case 319: return new ::Ifc4x1::IfcDraughtingPreDefinedColour(data);
+ case 320: return new ::Ifc4x1::IfcDraughtingPreDefinedCurveFont(data);
+ case 321: return new ::Ifc4x1::IfcDuctFitting(data);
+ case 322: return new ::Ifc4x1::IfcDuctFittingType(data);
+ case 324: return new ::Ifc4x1::IfcDuctSegment(data);
+ case 325: return new ::Ifc4x1::IfcDuctSegmentType(data);
+ case 327: return new ::Ifc4x1::IfcDuctSilencer(data);
+ case 328: return new ::Ifc4x1::IfcDuctSilencerType(data);
+ case 330: return new ::Ifc4x1::IfcDuration(data);
+ case 331: return new ::Ifc4x1::IfcDynamicViscosityMeasure(data);
+ case 332: return new ::Ifc4x1::IfcEdge(data);
+ case 333: return new ::Ifc4x1::IfcEdgeCurve(data);
+ case 334: return new ::Ifc4x1::IfcEdgeLoop(data);
+ case 335: return new ::Ifc4x1::IfcElectricAppliance(data);
+ case 336: return new ::Ifc4x1::IfcElectricApplianceType(data);
+ case 338: return new ::Ifc4x1::IfcElectricCapacitanceMeasure(data);
+ case 339: return new ::Ifc4x1::IfcElectricChargeMeasure(data);
+ case 340: return new ::Ifc4x1::IfcElectricConductanceMeasure(data);
+ case 341: return new ::Ifc4x1::IfcElectricCurrentMeasure(data);
+ case 342: return new ::Ifc4x1::IfcElectricDistributionBoard(data);
+ case 343: return new ::Ifc4x1::IfcElectricDistributionBoardType(data);
+ case 345: return new ::Ifc4x1::IfcElectricFlowStorageDevice(data);
+ case 346: return new ::Ifc4x1::IfcElectricFlowStorageDeviceType(data);
+ case 348: return new ::Ifc4x1::IfcElectricGenerator(data);
+ case 349: return new ::Ifc4x1::IfcElectricGeneratorType(data);
+ case 351: return new ::Ifc4x1::IfcElectricMotor(data);
+ case 352: return new ::Ifc4x1::IfcElectricMotorType(data);
+ case 354: return new ::Ifc4x1::IfcElectricResistanceMeasure(data);
+ case 355: return new ::Ifc4x1::IfcElectricTimeControl(data);
+ case 356: return new ::Ifc4x1::IfcElectricTimeControlType(data);
+ case 358: return new ::Ifc4x1::IfcElectricVoltageMeasure(data);
+ case 359: return new ::Ifc4x1::IfcElement(data);
+ case 360: return new ::Ifc4x1::IfcElementarySurface(data);
+ case 361: return new ::Ifc4x1::IfcElementAssembly(data);
+ case 362: return new ::Ifc4x1::IfcElementAssemblyType(data);
+ case 364: return new ::Ifc4x1::IfcElementComponent(data);
+ case 365: return new ::Ifc4x1::IfcElementComponentType(data);
+ case 367: return new ::Ifc4x1::IfcElementQuantity(data);
+ case 368: return new ::Ifc4x1::IfcElementType(data);
+ case 369: return new ::Ifc4x1::IfcEllipse(data);
+ case 370: return new ::Ifc4x1::IfcEllipseProfileDef(data);
+ case 371: return new ::Ifc4x1::IfcEnergyConversionDevice(data);
+ case 372: return new ::Ifc4x1::IfcEnergyConversionDeviceType(data);
+ case 373: return new ::Ifc4x1::IfcEnergyMeasure(data);
+ case 374: return new ::Ifc4x1::IfcEngine(data);
+ case 375: return new ::Ifc4x1::IfcEngineType(data);
+ case 377: return new ::Ifc4x1::IfcEvaporativeCooler(data);
+ case 378: return new ::Ifc4x1::IfcEvaporativeCoolerType(data);
+ case 380: return new ::Ifc4x1::IfcEvaporator(data);
+ case 381: return new ::Ifc4x1::IfcEvaporatorType(data);
+ case 383: return new ::Ifc4x1::IfcEvent(data);
+ case 384: return new ::Ifc4x1::IfcEventTime(data);
+ case 386: return new ::Ifc4x1::IfcEventType(data);
+ case 388: return new ::Ifc4x1::IfcExtendedProperties(data);
+ case 389: return new ::Ifc4x1::IfcExternalInformation(data);
+ case 390: return new ::Ifc4x1::IfcExternallyDefinedHatchStyle(data);
+ case 391: return new ::Ifc4x1::IfcExternallyDefinedSurfaceStyle(data);
+ case 392: return new ::Ifc4x1::IfcExternallyDefinedTextFont(data);
+ case 393: return new ::Ifc4x1::IfcExternalReference(data);
+ case 394: return new ::Ifc4x1::IfcExternalReferenceRelationship(data);
+ case 395: return new ::Ifc4x1::IfcExternalSpatialElement(data);
+ case 397: return new ::Ifc4x1::IfcExternalSpatialStructureElement(data);
+ case 398: return new ::Ifc4x1::IfcExtrudedAreaSolid(data);
+ case 399: return new ::Ifc4x1::IfcExtrudedAreaSolidTapered(data);
+ case 400: return new ::Ifc4x1::IfcFace(data);
+ case 401: return new ::Ifc4x1::IfcFaceBasedSurfaceModel(data);
+ case 402: return new ::Ifc4x1::IfcFaceBound(data);
+ case 403: return new ::Ifc4x1::IfcFaceOuterBound(data);
+ case 404: return new ::Ifc4x1::IfcFaceSurface(data);
+ case 405: return new ::Ifc4x1::IfcFacetedBrep(data);
+ case 406: return new ::Ifc4x1::IfcFacetedBrepWithVoids(data);
+ case 407: return new ::Ifc4x1::IfcFailureConnectionCondition(data);
+ case 408: return new ::Ifc4x1::IfcFan(data);
+ case 409: return new ::Ifc4x1::IfcFanType(data);
+ case 411: return new ::Ifc4x1::IfcFastener(data);
+ case 412: return new ::Ifc4x1::IfcFastenerType(data);
+ case 414: return new ::Ifc4x1::IfcFeatureElement(data);
+ case 415: return new ::Ifc4x1::IfcFeatureElementAddition(data);
+ case 416: return new ::Ifc4x1::IfcFeatureElementSubtraction(data);
+ case 417: return new ::Ifc4x1::IfcFillAreaStyle(data);
+ case 418: return new ::Ifc4x1::IfcFillAreaStyleHatching(data);
+ case 419: return new ::Ifc4x1::IfcFillAreaStyleTiles(data);
+ case 421: return new ::Ifc4x1::IfcFilter(data);
+ case 422: return new ::Ifc4x1::IfcFilterType(data);
+ case 424: return new ::Ifc4x1::IfcFireSuppressionTerminal(data);
+ case 425: return new ::Ifc4x1::IfcFireSuppressionTerminalType(data);
+ case 427: return new ::Ifc4x1::IfcFixedReferenceSweptAreaSolid(data);
+ case 428: return new ::Ifc4x1::IfcFlowController(data);
+ case 429: return new ::Ifc4x1::IfcFlowControllerType(data);
+ case 431: return new ::Ifc4x1::IfcFlowFitting(data);
+ case 432: return new ::Ifc4x1::IfcFlowFittingType(data);
+ case 433: return new ::Ifc4x1::IfcFlowInstrument(data);
+ case 434: return new ::Ifc4x1::IfcFlowInstrumentType(data);
+ case 436: return new ::Ifc4x1::IfcFlowMeter(data);
+ case 437: return new ::Ifc4x1::IfcFlowMeterType(data);
+ case 439: return new ::Ifc4x1::IfcFlowMovingDevice(data);
+ case 440: return new ::Ifc4x1::IfcFlowMovingDeviceType(data);
+ case 441: return new ::Ifc4x1::IfcFlowSegment(data);
+ case 442: return new ::Ifc4x1::IfcFlowSegmentType(data);
+ case 443: return new ::Ifc4x1::IfcFlowStorageDevice(data);
+ case 444: return new ::Ifc4x1::IfcFlowStorageDeviceType(data);
+ case 445: return new ::Ifc4x1::IfcFlowTerminal(data);
+ case 446: return new ::Ifc4x1::IfcFlowTerminalType(data);
+ case 447: return new ::Ifc4x1::IfcFlowTreatmentDevice(data);
+ case 448: return new ::Ifc4x1::IfcFlowTreatmentDeviceType(data);
+ case 449: return new ::Ifc4x1::IfcFontStyle(data);
+ case 450: return new ::Ifc4x1::IfcFontVariant(data);
+ case 451: return new ::Ifc4x1::IfcFontWeight(data);
+ case 452: return new ::Ifc4x1::IfcFooting(data);
+ case 453: return new ::Ifc4x1::IfcFootingType(data);
+ case 455: return new ::Ifc4x1::IfcForceMeasure(data);
+ case 456: return new ::Ifc4x1::IfcFrequencyMeasure(data);
+ case 457: return new ::Ifc4x1::IfcFurnishingElement(data);
+ case 458: return new ::Ifc4x1::IfcFurnishingElementType(data);
+ case 459: return new ::Ifc4x1::IfcFurniture(data);
+ case 460: return new ::Ifc4x1::IfcFurnitureType(data);
+ case 462: return new ::Ifc4x1::IfcGeographicElement(data);
+ case 463: return new ::Ifc4x1::IfcGeographicElementType(data);
+ case 465: return new ::Ifc4x1::IfcGeometricCurveSet(data);
+ case 467: return new ::Ifc4x1::IfcGeometricRepresentationContext(data);
+ case 468: return new ::Ifc4x1::IfcGeometricRepresentationItem(data);
+ case 469: return new ::Ifc4x1::IfcGeometricRepresentationSubContext(data);
+ case 470: return new ::Ifc4x1::IfcGeometricSet(data);
+ case 472: return new ::Ifc4x1::IfcGloballyUniqueId(data);
+ case 474: return new ::Ifc4x1::IfcGrid(data);
+ case 475: return new ::Ifc4x1::IfcGridAxis(data);
+ case 476: return new ::Ifc4x1::IfcGridPlacement(data);
+ case 479: return new ::Ifc4x1::IfcGroup(data);
+ case 480: return new ::Ifc4x1::IfcHalfSpaceSolid(data);
+ case 482: return new ::Ifc4x1::IfcHeatExchanger(data);
+ case 483: return new ::Ifc4x1::IfcHeatExchangerType(data);
+ case 485: return new ::Ifc4x1::IfcHeatFluxDensityMeasure(data);
+ case 486: return new ::Ifc4x1::IfcHeatingValueMeasure(data);
+ case 487: return new ::Ifc4x1::IfcHumidifier(data);
+ case 488: return new ::Ifc4x1::IfcHumidifierType(data);
+ case 490: return new ::Ifc4x1::IfcIdentifier(data);
+ case 491: return new ::Ifc4x1::IfcIlluminanceMeasure(data);
+ case 492: return new ::Ifc4x1::IfcImageTexture(data);
+ case 493: return new ::Ifc4x1::IfcIndexedColourMap(data);
+ case 494: return new ::Ifc4x1::IfcIndexedPolyCurve(data);
+ case 495: return new ::Ifc4x1::IfcIndexedPolygonalFace(data);
+ case 496: return new ::Ifc4x1::IfcIndexedPolygonalFaceWithVoids(data);
+ case 497: return new ::Ifc4x1::IfcIndexedTextureMap(data);
+ case 498: return new ::Ifc4x1::IfcIndexedTriangleTextureMap(data);
+ case 499: return new ::Ifc4x1::IfcInductanceMeasure(data);
+ case 500: return new ::Ifc4x1::IfcInteger(data);
+ case 501: return new ::Ifc4x1::IfcIntegerCountRateMeasure(data);
+ case 502: return new ::Ifc4x1::IfcInterceptor(data);
+ case 503: return new ::Ifc4x1::IfcInterceptorType(data);
+ case 506: return new ::Ifc4x1::IfcIntersectionCurve(data);
+ case 507: return new ::Ifc4x1::IfcInventory(data);
+ case 509: return new ::Ifc4x1::IfcIonConcentrationMeasure(data);
+ case 510: return new ::Ifc4x1::IfcIrregularTimeSeries(data);
+ case 511: return new ::Ifc4x1::IfcIrregularTimeSeriesValue(data);
+ case 512: return new ::Ifc4x1::IfcIShapeProfileDef(data);
+ case 513: return new ::Ifc4x1::IfcIsothermalMoistureCapacityMeasure(data);
+ case 514: return new ::Ifc4x1::IfcJunctionBox(data);
+ case 515: return new ::Ifc4x1::IfcJunctionBoxType(data);
+ case 517: return new ::Ifc4x1::IfcKinematicViscosityMeasure(data);
+ case 519: return new ::Ifc4x1::IfcLabel(data);
+ case 520: return new ::Ifc4x1::IfcLaborResource(data);
+ case 521: return new ::Ifc4x1::IfcLaborResourceType(data);
+ case 523: return new ::Ifc4x1::IfcLagTime(data);
+ case 524: return new ::Ifc4x1::IfcLamp(data);
+ case 525: return new ::Ifc4x1::IfcLampType(data);
+ case 527: return new ::Ifc4x1::IfcLanguageId(data);
+ case 530: return new ::Ifc4x1::IfcLengthMeasure(data);
+ case 531: return new ::Ifc4x1::IfcLibraryInformation(data);
+ case 532: return new ::Ifc4x1::IfcLibraryReference(data);
+ case 535: return new ::Ifc4x1::IfcLightDistributionData(data);
+ case 538: return new ::Ifc4x1::IfcLightFixture(data);
+ case 539: return new ::Ifc4x1::IfcLightFixtureType(data);
+ case 541: return new ::Ifc4x1::IfcLightIntensityDistribution(data);
+ case 542: return new ::Ifc4x1::IfcLightSource(data);
+ case 543: return new ::Ifc4x1::IfcLightSourceAmbient(data);
+ case 544: return new ::Ifc4x1::IfcLightSourceDirectional(data);
+ case 545: return new ::Ifc4x1::IfcLightSourceGoniometric(data);
+ case 546: return new ::Ifc4x1::IfcLightSourcePositional(data);
+ case 547: return new ::Ifc4x1::IfcLightSourceSpot(data);
+ case 548: return new ::Ifc4x1::IfcLine(data);
+ case 549: return new ::Ifc4x1::IfcLinearForceMeasure(data);
+ case 550: return new ::Ifc4x1::IfcLinearMomentMeasure(data);
+ case 551: return new ::Ifc4x1::IfcLinearPlacement(data);
+ case 552: return new ::Ifc4x1::IfcLinearPositioningElement(data);
+ case 553: return new ::Ifc4x1::IfcLinearStiffnessMeasure(data);
+ case 554: return new ::Ifc4x1::IfcLinearVelocityMeasure(data);
+ case 555: return new ::Ifc4x1::IfcLineIndex(data);
+ case 556: return new ::Ifc4x1::IfcLineSegment2D(data);
+ case 558: return new ::Ifc4x1::IfcLocalPlacement(data);
+ case 559: return new ::Ifc4x1::IfcLogical(data);
+ case 561: return new ::Ifc4x1::IfcLoop(data);
+ case 562: return new ::Ifc4x1::IfcLShapeProfileDef(data);
+ case 563: return new ::Ifc4x1::IfcLuminousFluxMeasure(data);
+ case 564: return new ::Ifc4x1::IfcLuminousIntensityDistributionMeasure(data);
+ case 565: return new ::Ifc4x1::IfcLuminousIntensityMeasure(data);
+ case 566: return new ::Ifc4x1::IfcMagneticFluxDensityMeasure(data);
+ case 567: return new ::Ifc4x1::IfcMagneticFluxMeasure(data);
+ case 568: return new ::Ifc4x1::IfcManifoldSolidBrep(data);
+ case 569: return new ::Ifc4x1::IfcMapConversion(data);
+ case 570: return new ::Ifc4x1::IfcMappedItem(data);
+ case 571: return new ::Ifc4x1::IfcMassDensityMeasure(data);
+ case 572: return new ::Ifc4x1::IfcMassFlowRateMeasure(data);
+ case 573: return new ::Ifc4x1::IfcMassMeasure(data);
+ case 574: return new ::Ifc4x1::IfcMassPerLengthMeasure(data);
+ case 575: return new ::Ifc4x1::IfcMaterial(data);
+ case 576: return new ::Ifc4x1::IfcMaterialClassificationRelationship(data);
+ case 577: return new ::Ifc4x1::IfcMaterialConstituent(data);
+ case 578: return new ::Ifc4x1::IfcMaterialConstituentSet(data);
+ case 579: return new ::Ifc4x1::IfcMaterialDefinition(data);
+ case 580: return new ::Ifc4x1::IfcMaterialDefinitionRepresentation(data);
+ case 581: return new ::Ifc4x1::IfcMaterialLayer(data);
+ case 582: return new ::Ifc4x1::IfcMaterialLayerSet(data);
+ case 583: return new ::Ifc4x1::IfcMaterialLayerSetUsage(data);
+ case 584: return new ::Ifc4x1::IfcMaterialLayerWithOffsets(data);
+ case 585: return new ::Ifc4x1::IfcMaterialList(data);
+ case 586: return new ::Ifc4x1::IfcMaterialProfile(data);
+ case 587: return new ::Ifc4x1::IfcMaterialProfileSet(data);
+ case 588: return new ::Ifc4x1::IfcMaterialProfileSetUsage(data);
+ case 589: return new ::Ifc4x1::IfcMaterialProfileSetUsageTapering(data);
+ case 590: return new ::Ifc4x1::IfcMaterialProfileWithOffsets(data);
+ case 591: return new ::Ifc4x1::IfcMaterialProperties(data);
+ case 592: return new ::Ifc4x1::IfcMaterialRelationship(data);
+ case 594: return new ::Ifc4x1::IfcMaterialUsageDefinition(data);
+ case 596: return new ::Ifc4x1::IfcMeasureWithUnit(data);
+ case 597: return new ::Ifc4x1::IfcMechanicalFastener(data);
+ case 598: return new ::Ifc4x1::IfcMechanicalFastenerType(data);
+ case 600: return new ::Ifc4x1::IfcMedicalDevice(data);
+ case 601: return new ::Ifc4x1::IfcMedicalDeviceType(data);
+ case 603: return new ::Ifc4x1::IfcMember(data);
+ case 604: return new ::Ifc4x1::IfcMemberStandardCase(data);
+ case 605: return new ::Ifc4x1::IfcMemberType(data);
+ case 607: return new ::Ifc4x1::IfcMetric(data);
+ case 609: return new ::Ifc4x1::IfcMirroredProfileDef(data);
+ case 610: return new ::Ifc4x1::IfcModulusOfElasticityMeasure(data);
+ case 611: return new ::Ifc4x1::IfcModulusOfLinearSubgradeReactionMeasure(data);
+ case 612: return new ::Ifc4x1::IfcModulusOfRotationalSubgradeReactionMeasure(data);
+ case 614: return new ::Ifc4x1::IfcModulusOfSubgradeReactionMeasure(data);
+ case 617: return new ::Ifc4x1::IfcMoistureDiffusivityMeasure(data);
+ case 618: return new ::Ifc4x1::IfcMolecularWeightMeasure(data);
+ case 619: return new ::Ifc4x1::IfcMomentOfInertiaMeasure(data);
+ case 620: return new ::Ifc4x1::IfcMonetaryMeasure(data);
+ case 621: return new ::Ifc4x1::IfcMonetaryUnit(data);
+ case 622: return new ::Ifc4x1::IfcMonthInYearNumber(data);
+ case 623: return new ::Ifc4x1::IfcMotorConnection(data);
+ case 624: return new ::Ifc4x1::IfcMotorConnectionType(data);
+ case 626: return new ::Ifc4x1::IfcNamedUnit(data);
+ case 627: return new ::Ifc4x1::IfcNonNegativeLengthMeasure(data);
+ case 628: return new ::Ifc4x1::IfcNormalisedRatioMeasure(data);
+ case 630: return new ::Ifc4x1::IfcNumericMeasure(data);
+ case 631: return new ::Ifc4x1::IfcObject(data);
+ case 632: return new ::Ifc4x1::IfcObjectDefinition(data);
+ case 633: return new ::Ifc4x1::IfcObjective(data);
+ case 635: return new ::Ifc4x1::IfcObjectPlacement(data);
+ case 638: return new ::Ifc4x1::IfcOccupant(data);
+ case 640: return new ::Ifc4x1::IfcOffsetCurve(data);
+ case 641: return new ::Ifc4x1::IfcOffsetCurve2D(data);
+ case 642: return new ::Ifc4x1::IfcOffsetCurve3D(data);
+ case 643: return new ::Ifc4x1::IfcOffsetCurveByDistances(data);
+ case 644: return new ::Ifc4x1::IfcOpeningElement(data);
+ case 646: return new ::Ifc4x1::IfcOpeningStandardCase(data);
+ case 647: return new ::Ifc4x1::IfcOpenShell(data);
+ case 648: return new ::Ifc4x1::IfcOrganization(data);
+ case 649: return new ::Ifc4x1::IfcOrganizationRelationship(data);
+ case 650: return new ::Ifc4x1::IfcOrientationExpression(data);
+ case 651: return new ::Ifc4x1::IfcOrientedEdge(data);
+ case 652: return new ::Ifc4x1::IfcOuterBoundaryCurve(data);
+ case 653: return new ::Ifc4x1::IfcOutlet(data);
+ case 654: return new ::Ifc4x1::IfcOutletType(data);
+ case 656: return new ::Ifc4x1::IfcOwnerHistory(data);
+ case 657: return new ::Ifc4x1::IfcParameterizedProfileDef(data);
+ case 658: return new ::Ifc4x1::IfcParameterValue(data);
+ case 659: return new ::Ifc4x1::IfcPath(data);
+ case 660: return new ::Ifc4x1::IfcPcurve(data);
+ case 661: return new ::Ifc4x1::IfcPerformanceHistory(data);
+ case 664: return new ::Ifc4x1::IfcPermeableCoveringProperties(data);
+ case 665: return new ::Ifc4x1::IfcPermit(data);
+ case 667: return new ::Ifc4x1::IfcPerson(data);
+ case 668: return new ::Ifc4x1::IfcPersonAndOrganization(data);
+ case 669: return new ::Ifc4x1::IfcPHMeasure(data);
+ case 670: return new ::Ifc4x1::IfcPhysicalComplexQuantity(data);
+ case 672: return new ::Ifc4x1::IfcPhysicalQuantity(data);
+ case 673: return new ::Ifc4x1::IfcPhysicalSimpleQuantity(data);
+ case 674: return new ::Ifc4x1::IfcPile(data);
+ case 676: return new ::Ifc4x1::IfcPileType(data);
+ case 678: return new ::Ifc4x1::IfcPipeFitting(data);
+ case 679: return new ::Ifc4x1::IfcPipeFittingType(data);
+ case 681: return new ::Ifc4x1::IfcPipeSegment(data);
+ case 682: return new ::Ifc4x1::IfcPipeSegmentType(data);
+ case 684: return new ::Ifc4x1::IfcPixelTexture(data);
+ case 685: return new ::Ifc4x1::IfcPlacement(data);
+ case 686: return new ::Ifc4x1::IfcPlanarBox(data);
+ case 687: return new ::Ifc4x1::IfcPlanarExtent(data);
+ case 688: return new ::Ifc4x1::IfcPlanarForceMeasure(data);
+ case 689: return new ::Ifc4x1::IfcPlane(data);
+ case 690: return new ::Ifc4x1::IfcPlaneAngleMeasure(data);
+ case 691: return new ::Ifc4x1::IfcPlate(data);
+ case 692: return new ::Ifc4x1::IfcPlateStandardCase(data);
+ case 693: return new ::Ifc4x1::IfcPlateType(data);
+ case 695: return new ::Ifc4x1::IfcPoint(data);
+ case 696: return new ::Ifc4x1::IfcPointOnCurve(data);
+ case 697: return new ::Ifc4x1::IfcPointOnSurface(data);
+ case 699: return new ::Ifc4x1::IfcPolygonalBoundedHalfSpace(data);
+ case 700: return new ::Ifc4x1::IfcPolygonalFaceSet(data);
+ case 701: return new ::Ifc4x1::IfcPolyline(data);
+ case 702: return new ::Ifc4x1::IfcPolyLoop(data);
+ case 703: return new ::Ifc4x1::IfcPort(data);
+ case 704: return new ::Ifc4x1::IfcPositioningElement(data);
+ case 705: return new ::Ifc4x1::IfcPositiveInteger(data);
+ case 706: return new ::Ifc4x1::IfcPositiveLengthMeasure(data);
+ case 707: return new ::Ifc4x1::IfcPositivePlaneAngleMeasure(data);
+ case 708: return new ::Ifc4x1::IfcPositiveRatioMeasure(data);
+ case 709: return new ::Ifc4x1::IfcPostalAddress(data);
+ case 710: return new ::Ifc4x1::IfcPowerMeasure(data);
+ case 711: return new ::Ifc4x1::IfcPreDefinedColour(data);
+ case 712: return new ::Ifc4x1::IfcPreDefinedCurveFont(data);
+ case 713: return new ::Ifc4x1::IfcPreDefinedItem(data);
+ case 714: return new ::Ifc4x1::IfcPreDefinedProperties(data);
+ case 715: return new ::Ifc4x1::IfcPreDefinedPropertySet(data);
+ case 716: return new ::Ifc4x1::IfcPreDefinedTextFont(data);
+ case 718: return new ::Ifc4x1::IfcPresentableText(data);
+ case 719: return new ::Ifc4x1::IfcPresentationItem(data);
+ case 720: return new ::Ifc4x1::IfcPresentationLayerAssignment(data);
+ case 721: return new ::Ifc4x1::IfcPresentationLayerWithStyle(data);
+ case 722: return new ::Ifc4x1::IfcPresentationStyle(data);
+ case 723: return new ::Ifc4x1::IfcPresentationStyleAssignment(data);
+ case 725: return new ::Ifc4x1::IfcPressureMeasure(data);
+ case 726: return new ::Ifc4x1::IfcProcedure(data);
+ case 727: return new ::Ifc4x1::IfcProcedureType(data);
+ case 729: return new ::Ifc4x1::IfcProcess(data);
+ case 731: return new ::Ifc4x1::IfcProduct(data);
+ case 732: return new ::Ifc4x1::IfcProductDefinitionShape(data);
+ case 733: return new ::Ifc4x1::IfcProductRepresentation(data);
+ case 736: return new ::Ifc4x1::IfcProfileDef(data);
+ case 737: return new ::Ifc4x1::IfcProfileProperties(data);
+ case 739: return new ::Ifc4x1::IfcProject(data);
+ case 740: return new ::Ifc4x1::IfcProjectedCRS(data);
+ case 742: return new ::Ifc4x1::IfcProjectionElement(data);
+ case 744: return new ::Ifc4x1::IfcProjectLibrary(data);
+ case 745: return new ::Ifc4x1::IfcProjectOrder(data);
+ case 747: return new ::Ifc4x1::IfcProperty(data);
+ case 748: return new ::Ifc4x1::IfcPropertyAbstraction(data);
+ case 749: return new ::Ifc4x1::IfcPropertyBoundedValue(data);
+ case 750: return new ::Ifc4x1::IfcPropertyDefinition(data);
+ case 751: return new ::Ifc4x1::IfcPropertyDependencyRelationship(data);
+ case 752: return new ::Ifc4x1::IfcPropertyEnumeratedValue(data);
+ case 753: return new ::Ifc4x1::IfcPropertyEnumeration(data);
+ case 754: return new ::Ifc4x1::IfcPropertyListValue(data);
+ case 755: return new ::Ifc4x1::IfcPropertyReferenceValue(data);
+ case 756: return new ::Ifc4x1::IfcPropertySet(data);
+ case 757: return new ::Ifc4x1::IfcPropertySetDefinition(data);
+ case 759: return new ::Ifc4x1::IfcPropertySetDefinitionSet(data);
+ case 760: return new ::Ifc4x1::IfcPropertySetTemplate(data);
+ case 762: return new ::Ifc4x1::IfcPropertySingleValue(data);
+ case 763: return new ::Ifc4x1::IfcPropertyTableValue(data);
+ case 764: return new ::Ifc4x1::IfcPropertyTemplate(data);
+ case 765: return new ::Ifc4x1::IfcPropertyTemplateDefinition(data);
+ case 766: return new ::Ifc4x1::IfcProtectiveDevice(data);
+ case 767: return new ::Ifc4x1::IfcProtectiveDeviceTrippingUnit(data);
+ case 768: return new ::Ifc4x1::IfcProtectiveDeviceTrippingUnitType(data);
+ case 770: return new ::Ifc4x1::IfcProtectiveDeviceType(data);
+ case 772: return new ::Ifc4x1::IfcProxy(data);
+ case 773: return new ::Ifc4x1::IfcPump(data);
+ case 774: return new ::Ifc4x1::IfcPumpType(data);
+ case 776: return new ::Ifc4x1::IfcQuantityArea(data);
+ case 777: return new ::Ifc4x1::IfcQuantityCount(data);
+ case 778: return new ::Ifc4x1::IfcQuantityLength(data);
+ case 779: return new ::Ifc4x1::IfcQuantitySet(data);
+ case 780: return new ::Ifc4x1::IfcQuantityTime(data);
+ case 781: return new ::Ifc4x1::IfcQuantityVolume(data);
+ case 782: return new ::Ifc4x1::IfcQuantityWeight(data);
+ case 783: return new ::Ifc4x1::IfcRadioActivityMeasure(data);
+ case 784: return new ::Ifc4x1::IfcRailing(data);
+ case 785: return new ::Ifc4x1::IfcRailingType(data);
+ case 787: return new ::Ifc4x1::IfcRamp(data);
+ case 788: return new ::Ifc4x1::IfcRampFlight(data);
+ case 789: return new ::Ifc4x1::IfcRampFlightType(data);
+ case 791: return new ::Ifc4x1::IfcRampType(data);
+ case 793: return new ::Ifc4x1::IfcRatioMeasure(data);
+ case 794: return new ::Ifc4x1::IfcRationalBSplineCurveWithKnots(data);
+ case 795: return new ::Ifc4x1::IfcRationalBSplineSurfaceWithKnots(data);
+ case 796: return new ::Ifc4x1::IfcReal(data);
+ case 797: return new ::Ifc4x1::IfcRectangleHollowProfileDef(data);
+ case 798: return new ::Ifc4x1::IfcRectangleProfileDef(data);
+ case 799: return new ::Ifc4x1::IfcRectangularPyramid(data);
+ case 800: return new ::Ifc4x1::IfcRectangularTrimmedSurface(data);
+ case 801: return new ::Ifc4x1::IfcRecurrencePattern(data);
+ case 803: return new ::Ifc4x1::IfcReference(data);
+ case 804: return new ::Ifc4x1::IfcReferent(data);
+ case 807: return new ::Ifc4x1::IfcRegularTimeSeries(data);
+ case 808: return new ::Ifc4x1::IfcReinforcementBarProperties(data);
+ case 809: return new ::Ifc4x1::IfcReinforcementDefinitionProperties(data);
+ case 810: return new ::Ifc4x1::IfcReinforcingBar(data);
+ case 813: return new ::Ifc4x1::IfcReinforcingBarType(data);
+ case 815: return new ::Ifc4x1::IfcReinforcingElement(data);
+ case 816: return new ::Ifc4x1::IfcReinforcingElementType(data);
+ case 817: return new ::Ifc4x1::IfcReinforcingMesh(data);
+ case 818: return new ::Ifc4x1::IfcReinforcingMeshType(data);
+ case 820: return new ::Ifc4x1::IfcRelAggregates(data);
+ case 821: return new ::Ifc4x1::IfcRelAssigns(data);
+ case 822: return new ::Ifc4x1::IfcRelAssignsToActor(data);
+ case 823: return new ::Ifc4x1::IfcRelAssignsToControl(data);
+ case 824: return new ::Ifc4x1::IfcRelAssignsToGroup(data);
+ case 825: return new ::Ifc4x1::IfcRelAssignsToGroupByFactor(data);
+ case 826: return new ::Ifc4x1::IfcRelAssignsToProcess(data);
+ case 827: return new ::Ifc4x1::IfcRelAssignsToProduct(data);
+ case 828: return new ::Ifc4x1::IfcRelAssignsToResource(data);
+ case 829: return new ::Ifc4x1::IfcRelAssociates(data);
+ case 830: return new ::Ifc4x1::IfcRelAssociatesApproval(data);
+ case 831: return new ::Ifc4x1::IfcRelAssociatesClassification(data);
+ case 832: return new ::Ifc4x1::IfcRelAssociatesConstraint(data);
+ case 833: return new ::Ifc4x1::IfcRelAssociatesDocument(data);
+ case 834: return new ::Ifc4x1::IfcRelAssociatesLibrary(data);
+ case 835: return new ::Ifc4x1::IfcRelAssociatesMaterial(data);
+ case 836: return new ::Ifc4x1::IfcRelationship(data);
+ case 837: return new ::Ifc4x1::IfcRelConnects(data);
+ case 838: return new ::Ifc4x1::IfcRelConnectsElements(data);
+ case 839: return new ::Ifc4x1::IfcRelConnectsPathElements(data);
+ case 840: return new ::Ifc4x1::IfcRelConnectsPorts(data);
+ case 841: return new ::Ifc4x1::IfcRelConnectsPortToElement(data);
+ case 842: return new ::Ifc4x1::IfcRelConnectsStructuralActivity(data);
+ case 843: return new ::Ifc4x1::IfcRelConnectsStructuralMember(data);
+ case 844: return new ::Ifc4x1::IfcRelConnectsWithEccentricity(data);
+ case 845: return new ::Ifc4x1::IfcRelConnectsWithRealizingElements(data);
+ case 846: return new ::Ifc4x1::IfcRelContainedInSpatialStructure(data);
+ case 847: return new ::Ifc4x1::IfcRelCoversBldgElements(data);
+ case 848: return new ::Ifc4x1::IfcRelCoversSpaces(data);
+ case 849: return new ::Ifc4x1::IfcRelDeclares(data);
+ case 850: return new ::Ifc4x1::IfcRelDecomposes(data);
+ case 851: return new ::Ifc4x1::IfcRelDefines(data);
+ case 852: return new ::Ifc4x1::IfcRelDefinesByObject(data);
+ case 853: return new ::Ifc4x1::IfcRelDefinesByProperties(data);
+ case 854: return new ::Ifc4x1::IfcRelDefinesByTemplate(data);
+ case 855: return new ::Ifc4x1::IfcRelDefinesByType(data);
+ case 856: return new ::Ifc4x1::IfcRelFillsElement(data);
+ case 857: return new ::Ifc4x1::IfcRelFlowControlElements(data);
+ case 858: return new ::Ifc4x1::IfcRelInterferesElements(data);
+ case 859: return new ::Ifc4x1::IfcRelNests(data);
+ case 860: return new ::Ifc4x1::IfcRelProjectsElement(data);
+ case 861: return new ::Ifc4x1::IfcRelReferencedInSpatialStructure(data);
+ case 862: return new ::Ifc4x1::IfcRelSequence(data);
+ case 863: return new ::Ifc4x1::IfcRelServicesBuildings(data);
+ case 864: return new ::Ifc4x1::IfcRelSpaceBoundary(data);
+ case 865: return new ::Ifc4x1::IfcRelSpaceBoundary1stLevel(data);
+ case 866: return new ::Ifc4x1::IfcRelSpaceBoundary2ndLevel(data);
+ case 867: return new ::Ifc4x1::IfcRelVoidsElement(data);
+ case 868: return new ::Ifc4x1::IfcReparametrisedCompositeCurveSegment(data);
+ case 869: return new ::Ifc4x1::IfcRepresentation(data);
+ case 870: return new ::Ifc4x1::IfcRepresentationContext(data);
+ case 871: return new ::Ifc4x1::IfcRepresentationItem(data);
+ case 872: return new ::Ifc4x1::IfcRepresentationMap(data);
+ case 873: return new ::Ifc4x1::IfcResource(data);
+ case 874: return new ::Ifc4x1::IfcResourceApprovalRelationship(data);
+ case 875: return new ::Ifc4x1::IfcResourceConstraintRelationship(data);
+ case 876: return new ::Ifc4x1::IfcResourceLevelRelationship(data);
+ case 879: return new ::Ifc4x1::IfcResourceTime(data);
+ case 880: return new ::Ifc4x1::IfcRevolvedAreaSolid(data);
+ case 881: return new ::Ifc4x1::IfcRevolvedAreaSolidTapered(data);
+ case 882: return new ::Ifc4x1::IfcRightCircularCone(data);
+ case 883: return new ::Ifc4x1::IfcRightCircularCylinder(data);
+ case 885: return new ::Ifc4x1::IfcRoof(data);
+ case 886: return new ::Ifc4x1::IfcRoofType(data);
+ case 888: return new ::Ifc4x1::IfcRoot(data);
+ case 889: return new ::Ifc4x1::IfcRotationalFrequencyMeasure(data);
+ case 890: return new ::Ifc4x1::IfcRotationalMassMeasure(data);
+ case 891: return new ::Ifc4x1::IfcRotationalStiffnessMeasure(data);
+ case 893: return new ::Ifc4x1::IfcRoundedRectangleProfileDef(data);
+ case 894: return new ::Ifc4x1::IfcSanitaryTerminal(data);
+ case 895: return new ::Ifc4x1::IfcSanitaryTerminalType(data);
+ case 897: return new ::Ifc4x1::IfcSchedulingTime(data);
+ case 898: return new ::Ifc4x1::IfcSeamCurve(data);
+ case 899: return new ::Ifc4x1::IfcSectionalAreaIntegralMeasure(data);
+ case 900: return new ::Ifc4x1::IfcSectionedSolid(data);
+ case 901: return new ::Ifc4x1::IfcSectionedSolidHorizontal(data);
+ case 902: return new ::Ifc4x1::IfcSectionedSpine(data);
+ case 903: return new ::Ifc4x1::IfcSectionModulusMeasure(data);
+ case 904: return new ::Ifc4x1::IfcSectionProperties(data);
+ case 905: return new ::Ifc4x1::IfcSectionReinforcementProperties(data);
+ case 908: return new ::Ifc4x1::IfcSensor(data);
+ case 909: return new ::Ifc4x1::IfcSensorType(data);
+ case 912: return new ::Ifc4x1::IfcShadingDevice(data);
+ case 913: return new ::Ifc4x1::IfcShadingDeviceType(data);
+ case 915: return new ::Ifc4x1::IfcShapeAspect(data);
+ case 916: return new ::Ifc4x1::IfcShapeModel(data);
+ case 917: return new ::Ifc4x1::IfcShapeRepresentation(data);
+ case 918: return new ::Ifc4x1::IfcShearModulusMeasure(data);
+ case 920: return new ::Ifc4x1::IfcShellBasedSurfaceModel(data);
+ case 921: return new ::Ifc4x1::IfcSimpleProperty(data);
+ case 922: return new ::Ifc4x1::IfcSimplePropertyTemplate(data);
+ case 926: return new ::Ifc4x1::IfcSite(data);
+ case 927: return new ::Ifc4x1::IfcSIUnit(data);
+ case 930: return new ::Ifc4x1::IfcSlab(data);
+ case 931: return new ::Ifc4x1::IfcSlabElementedCase(data);
+ case 932: return new ::Ifc4x1::IfcSlabStandardCase(data);
+ case 933: return new ::Ifc4x1::IfcSlabType(data);
+ case 935: return new ::Ifc4x1::IfcSlippageConnectionCondition(data);
+ case 936: return new ::Ifc4x1::IfcSolarDevice(data);
+ case 937: return new ::Ifc4x1::IfcSolarDeviceType(data);
+ case 939: return new ::Ifc4x1::IfcSolidAngleMeasure(data);
+ case 940: return new ::Ifc4x1::IfcSolidModel(data);
+ case 942: return new ::Ifc4x1::IfcSoundPowerLevelMeasure(data);
+ case 943: return new ::Ifc4x1::IfcSoundPowerMeasure(data);
+ case 944: return new ::Ifc4x1::IfcSoundPressureLevelMeasure(data);
+ case 945: return new ::Ifc4x1::IfcSoundPressureMeasure(data);
+ case 946: return new ::Ifc4x1::IfcSpace(data);
+ case 948: return new ::Ifc4x1::IfcSpaceHeater(data);
+ case 949: return new ::Ifc4x1::IfcSpaceHeaterType(data);
+ case 951: return new ::Ifc4x1::IfcSpaceType(data);
+ case 953: return new ::Ifc4x1::IfcSpatialElement(data);
+ case 954: return new ::Ifc4x1::IfcSpatialElementType(data);
+ case 955: return new ::Ifc4x1::IfcSpatialStructureElement(data);
+ case 956: return new ::Ifc4x1::IfcSpatialStructureElementType(data);
+ case 957: return new ::Ifc4x1::IfcSpatialZone(data);
+ case 958: return new ::Ifc4x1::IfcSpatialZoneType(data);
+ case 960: return new ::Ifc4x1::IfcSpecificHeatCapacityMeasure(data);
+ case 961: return new ::Ifc4x1::IfcSpecularExponent(data);
+ case 963: return new ::Ifc4x1::IfcSpecularRoughness(data);
+ case 964: return new ::Ifc4x1::IfcSphere(data);
+ case 965: return new ::Ifc4x1::IfcSphericalSurface(data);
+ case 966: return new ::Ifc4x1::IfcStackTerminal(data);
+ case 967: return new ::Ifc4x1::IfcStackTerminalType(data);
+ case 969: return new ::Ifc4x1::IfcStair(data);
+ case 970: return new ::Ifc4x1::IfcStairFlight(data);
+ case 971: return new ::Ifc4x1::IfcStairFlightType(data);
+ case 973: return new ::Ifc4x1::IfcStairType(data);
+ case 976: return new ::Ifc4x1::IfcStructuralAction(data);
+ case 977: return new ::Ifc4x1::IfcStructuralActivity(data);
+ case 979: return new ::Ifc4x1::IfcStructuralAnalysisModel(data);
+ case 980: return new ::Ifc4x1::IfcStructuralConnection(data);
+ case 981: return new ::Ifc4x1::IfcStructuralConnectionCondition(data);
+ case 982: return new ::Ifc4x1::IfcStructuralCurveAction(data);
+ case 984: return new ::Ifc4x1::IfcStructuralCurveConnection(data);
+ case 985: return new ::Ifc4x1::IfcStructuralCurveMember(data);
+ case 987: return new ::Ifc4x1::IfcStructuralCurveMemberVarying(data);
+ case 988: return new ::Ifc4x1::IfcStructuralCurveReaction(data);
+ case 989: return new ::Ifc4x1::IfcStructuralItem(data);
+ case 990: return new ::Ifc4x1::IfcStructuralLinearAction(data);
+ case 991: return new ::Ifc4x1::IfcStructuralLoad(data);
+ case 992: return new ::Ifc4x1::IfcStructuralLoadCase(data);
+ case 993: return new ::Ifc4x1::IfcStructuralLoadConfiguration(data);
+ case 994: return new ::Ifc4x1::IfcStructuralLoadGroup(data);
+ case 995: return new ::Ifc4x1::IfcStructuralLoadLinearForce(data);
+ case 996: return new ::Ifc4x1::IfcStructuralLoadOrResult(data);
+ case 997: return new ::Ifc4x1::IfcStructuralLoadPlanarForce(data);
+ case 998: return new ::Ifc4x1::IfcStructuralLoadSingleDisplacement(data);
+ case 999: return new ::Ifc4x1::IfcStructuralLoadSingleDisplacementDistortion(data);
+ case 1000: return new ::Ifc4x1::IfcStructuralLoadSingleForce(data);
+ case 1001: return new ::Ifc4x1::IfcStructuralLoadSingleForceWarping(data);
+ case 1002: return new ::Ifc4x1::IfcStructuralLoadStatic(data);
+ case 1003: return new ::Ifc4x1::IfcStructuralLoadTemperature(data);
+ case 1004: return new ::Ifc4x1::IfcStructuralMember(data);
+ case 1005: return new ::Ifc4x1::IfcStructuralPlanarAction(data);
+ case 1006: return new ::Ifc4x1::IfcStructuralPointAction(data);
+ case 1007: return new ::Ifc4x1::IfcStructuralPointConnection(data);
+ case 1008: return new ::Ifc4x1::IfcStructuralPointReaction(data);
+ case 1009: return new ::Ifc4x1::IfcStructuralReaction(data);
+ case 1010: return new ::Ifc4x1::IfcStructuralResultGroup(data);
+ case 1011: return new ::Ifc4x1::IfcStructuralSurfaceAction(data);
+ case 1013: return new ::Ifc4x1::IfcStructuralSurfaceConnection(data);
+ case 1014: return new ::Ifc4x1::IfcStructuralSurfaceMember(data);
+ case 1016: return new ::Ifc4x1::IfcStructuralSurfaceMemberVarying(data);
+ case 1017: return new ::Ifc4x1::IfcStructuralSurfaceReaction(data);
+ case 1019: return new ::Ifc4x1::IfcStyledItem(data);
+ case 1020: return new ::Ifc4x1::IfcStyledRepresentation(data);
+ case 1021: return new ::Ifc4x1::IfcStyleModel(data);
+ case 1022: return new ::Ifc4x1::IfcSubContractResource(data);
+ case 1023: return new ::Ifc4x1::IfcSubContractResourceType(data);
+ case 1025: return new ::Ifc4x1::IfcSubedge(data);
+ case 1026: return new ::Ifc4x1::IfcSurface(data);
+ case 1027: return new ::Ifc4x1::IfcSurfaceCurve(data);
+ case 1028: return new ::Ifc4x1::IfcSurfaceCurveSweptAreaSolid(data);
+ case 1029: return new ::Ifc4x1::IfcSurfaceFeature(data);
+ case 1031: return new ::Ifc4x1::IfcSurfaceOfLinearExtrusion(data);
+ case 1032: return new ::Ifc4x1::IfcSurfaceOfRevolution(data);
+ case 1034: return new ::Ifc4x1::IfcSurfaceReinforcementArea(data);
+ case 1036: return new ::Ifc4x1::IfcSurfaceStyle(data);
+ case 1038: return new ::Ifc4x1::IfcSurfaceStyleLighting(data);
+ case 1039: return new ::Ifc4x1::IfcSurfaceStyleRefraction(data);
+ case 1040: return new ::Ifc4x1::IfcSurfaceStyleRendering(data);
+ case 1041: return new ::Ifc4x1::IfcSurfaceStyleShading(data);
+ case 1042: return new ::Ifc4x1::IfcSurfaceStyleWithTextures(data);
+ case 1043: return new ::Ifc4x1::IfcSurfaceTexture(data);
+ case 1044: return new ::Ifc4x1::IfcSweptAreaSolid(data);
+ case 1045: return new ::Ifc4x1::IfcSweptDiskSolid(data);
+ case 1046: return new ::Ifc4x1::IfcSweptDiskSolidPolygonal(data);
+ case 1047: return new ::Ifc4x1::IfcSweptSurface(data);
+ case 1048: return new ::Ifc4x1::IfcSwitchingDevice(data);
+ case 1049: return new ::Ifc4x1::IfcSwitchingDeviceType(data);
+ case 1051: return new ::Ifc4x1::IfcSystem(data);
+ case 1052: return new ::Ifc4x1::IfcSystemFurnitureElement(data);
+ case 1053: return new ::Ifc4x1::IfcSystemFurnitureElementType(data);
+ case 1055: return new ::Ifc4x1::IfcTable(data);
+ case 1056: return new ::Ifc4x1::IfcTableColumn(data);
+ case 1057: return new ::Ifc4x1::IfcTableRow(data);
+ case 1058: return new ::Ifc4x1::IfcTank(data);
+ case 1059: return new ::Ifc4x1::IfcTankType(data);
+ case 1061: return new ::Ifc4x1::IfcTask(data);
+ case 1063: return new ::Ifc4x1::IfcTaskTime(data);
+ case 1064: return new ::Ifc4x1::IfcTaskTimeRecurring(data);
+ case 1065: return new ::Ifc4x1::IfcTaskType(data);
+ case 1067: return new ::Ifc4x1::IfcTelecomAddress(data);
+ case 1068: return new ::Ifc4x1::IfcTemperatureGradientMeasure(data);
+ case 1069: return new ::Ifc4x1::IfcTemperatureRateOfChangeMeasure(data);
+ case 1070: return new ::Ifc4x1::IfcTendon(data);
+ case 1071: return new ::Ifc4x1::IfcTendonAnchor(data);
+ case 1072: return new ::Ifc4x1::IfcTendonAnchorType(data);
+ case 1074: return new ::Ifc4x1::IfcTendonType(data);
+ case 1076: return new ::Ifc4x1::IfcTessellatedFaceSet(data);
+ case 1077: return new ::Ifc4x1::IfcTessellatedItem(data);
+ case 1078: return new ::Ifc4x1::IfcText(data);
+ case 1079: return new ::Ifc4x1::IfcTextAlignment(data);
+ case 1080: return new ::Ifc4x1::IfcTextDecoration(data);
+ case 1081: return new ::Ifc4x1::IfcTextFontName(data);
+ case 1083: return new ::Ifc4x1::IfcTextLiteral(data);
+ case 1084: return new ::Ifc4x1::IfcTextLiteralWithExtent(data);
+ case 1086: return new ::Ifc4x1::IfcTextStyle(data);
+ case 1087: return new ::Ifc4x1::IfcTextStyleFontModel(data);
+ case 1088: return new ::Ifc4x1::IfcTextStyleForDefinedFont(data);
+ case 1089: return new ::Ifc4x1::IfcTextStyleTextModel(data);
+ case 1090: return new ::Ifc4x1::IfcTextTransformation(data);
+ case 1091: return new ::Ifc4x1::IfcTextureCoordinate(data);
+ case 1092: return new ::Ifc4x1::IfcTextureCoordinateGenerator(data);
+ case 1093: return new ::Ifc4x1::IfcTextureMap(data);
+ case 1094: return new ::Ifc4x1::IfcTextureVertex(data);
+ case 1095: return new ::Ifc4x1::IfcTextureVertexList(data);
+ case 1096: return new ::Ifc4x1::IfcThermalAdmittanceMeasure(data);
+ case 1097: return new ::Ifc4x1::IfcThermalConductivityMeasure(data);
+ case 1098: return new ::Ifc4x1::IfcThermalExpansionCoefficientMeasure(data);
+ case 1099: return new ::Ifc4x1::IfcThermalResistanceMeasure(data);
+ case 1100: return new ::Ifc4x1::IfcThermalTransmittanceMeasure(data);
+ case 1101: return new ::Ifc4x1::IfcThermodynamicTemperatureMeasure(data);
+ case 1102: return new ::Ifc4x1::IfcTime(data);
+ case 1103: return new ::Ifc4x1::IfcTimeMeasure(data);
+ case 1105: return new ::Ifc4x1::IfcTimePeriod(data);
+ case 1106: return new ::Ifc4x1::IfcTimeSeries(data);
+ case 1108: return new ::Ifc4x1::IfcTimeSeriesValue(data);
+ case 1109: return new ::Ifc4x1::IfcTimeStamp(data);
+ case 1110: return new ::Ifc4x1::IfcTopologicalRepresentationItem(data);
+ case 1111: return new ::Ifc4x1::IfcTopologyRepresentation(data);
+ case 1112: return new ::Ifc4x1::IfcToroidalSurface(data);
+ case 1113: return new ::Ifc4x1::IfcTorqueMeasure(data);
+ case 1114: return new ::Ifc4x1::IfcTransformer(data);
+ case 1115: return new ::Ifc4x1::IfcTransformerType(data);
+ case 1118: return new ::Ifc4x1::IfcTransitionCurveSegment2D(data);
+ case 1121: return new ::Ifc4x1::IfcTransportElement(data);
+ case 1122: return new ::Ifc4x1::IfcTransportElementType(data);
+ case 1124: return new ::Ifc4x1::IfcTrapeziumProfileDef(data);
+ case 1125: return new ::Ifc4x1::IfcTriangulatedFaceSet(data);
+ case 1126: return new ::Ifc4x1::IfcTriangulatedIrregularNetwork(data);
+ case 1127: return new ::Ifc4x1::IfcTrimmedCurve(data);
+ case 1130: return new ::Ifc4x1::IfcTShapeProfileDef(data);
+ case 1131: return new ::Ifc4x1::IfcTubeBundle(data);
+ case 1132: return new ::Ifc4x1::IfcTubeBundleType(data);
+ case 1134: return new ::Ifc4x1::IfcTypeObject(data);
+ case 1135: return new ::Ifc4x1::IfcTypeProcess(data);
+ case 1136: return new ::Ifc4x1::IfcTypeProduct(data);
+ case 1137: return new ::Ifc4x1::IfcTypeResource(data);
+ case 1139: return new ::Ifc4x1::IfcUnitaryControlElement(data);
+ case 1140: return new ::Ifc4x1::IfcUnitaryControlElementType(data);
+ case 1142: return new ::Ifc4x1::IfcUnitaryEquipment(data);
+ case 1143: return new ::Ifc4x1::IfcUnitaryEquipmentType(data);
+ case 1145: return new ::Ifc4x1::IfcUnitAssignment(data);
+ case 1147: return new ::Ifc4x1::IfcURIReference(data);
+ case 1148: return new ::Ifc4x1::IfcUShapeProfileDef(data);
+ case 1150: return new ::Ifc4x1::IfcValve(data);
+ case 1151: return new ::Ifc4x1::IfcValveType(data);
+ case 1153: return new ::Ifc4x1::IfcVaporPermeabilityMeasure(data);
+ case 1154: return new ::Ifc4x1::IfcVector(data);
+ case 1156: return new ::Ifc4x1::IfcVertex(data);
+ case 1157: return new ::Ifc4x1::IfcVertexLoop(data);
+ case 1158: return new ::Ifc4x1::IfcVertexPoint(data);
+ case 1159: return new ::Ifc4x1::IfcVibrationIsolator(data);
+ case 1160: return new ::Ifc4x1::IfcVibrationIsolatorType(data);
+ case 1162: return new ::Ifc4x1::IfcVirtualElement(data);
+ case 1163: return new ::Ifc4x1::IfcVirtualGridIntersection(data);
+ case 1164: return new ::Ifc4x1::IfcVoidingFeature(data);
+ case 1166: return new ::Ifc4x1::IfcVolumeMeasure(data);
+ case 1167: return new ::Ifc4x1::IfcVolumetricFlowRateMeasure(data);
+ case 1168: return new ::Ifc4x1::IfcWall(data);
+ case 1169: return new ::Ifc4x1::IfcWallElementedCase(data);
+ case 1170: return new ::Ifc4x1::IfcWallStandardCase(data);
+ case 1171: return new ::Ifc4x1::IfcWallType(data);
+ case 1173: return new ::Ifc4x1::IfcWarpingConstantMeasure(data);
+ case 1174: return new ::Ifc4x1::IfcWarpingMomentMeasure(data);
+ case 1176: return new ::Ifc4x1::IfcWasteTerminal(data);
+ case 1177: return new ::Ifc4x1::IfcWasteTerminalType(data);
+ case 1179: return new ::Ifc4x1::IfcWindow(data);
+ case 1180: return new ::Ifc4x1::IfcWindowLiningProperties(data);
+ case 1183: return new ::Ifc4x1::IfcWindowPanelProperties(data);
+ case 1184: return new ::Ifc4x1::IfcWindowStandardCase(data);
+ case 1185: return new ::Ifc4x1::IfcWindowStyle(data);
+ case 1188: return new ::Ifc4x1::IfcWindowType(data);
+ case 1191: return new ::Ifc4x1::IfcWorkCalendar(data);
+ case 1193: return new ::Ifc4x1::IfcWorkControl(data);
+ case 1194: return new ::Ifc4x1::IfcWorkPlan(data);
+ case 1196: return new ::Ifc4x1::IfcWorkSchedule(data);
+ case 1198: return new ::Ifc4x1::IfcWorkTime(data);
+ case 1199: return new ::Ifc4x1::IfcZone(data);
+ case 1200: return new ::Ifc4x1::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* IFC4X1_populate_schema() {
+ IFC4X1_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 0, new simple_type(simple_type::real_type));
+ IFC4X1_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");
+ IFC4X1_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");
+ IFC4X1_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");
+ IFC4X1_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");
+ IFC4X1_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");
+ IFC4X1_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");
+ IFC4X1_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");
+ IFC4X1_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");
+ IFC4X1_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");
+ IFC4X1_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 28, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcAlignmentTypeEnum_type = new enumeration_type("IfcAlignmentTypeEnum", 39, items);
+ }
+ IFC4X1_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 40, 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");
+ IFC4X1_IfcAnalysisModelTypeEnum_type = new enumeration_type("IfcAnalysisModelTypeEnum", 41, 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");
+ IFC4X1_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 42, items);
+ }
+ IFC4X1_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 43, new simple_type(simple_type::real_type));
+ IFC4X1_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 55, new simple_type(simple_type::real_type));
+ IFC4X1_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 56, 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");
+ IFC4X1_IfcArithmeticOperatorEnum_type = new enumeration_type("IfcArithmeticOperatorEnum", 57, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FACTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SITE");
+ IFC4X1_IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", 58, 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");
+ IFC4X1_IfcAudioVisualApplianceTypeEnum_type = new enumeration_type("IfcAudioVisualApplianceTypeEnum", 63, 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");
+ IFC4X1_IfcBSplineCurveForm_type = new enumeration_type("IfcBSplineCurveForm", 97, 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");
+ IFC4X1_IfcBSplineSurfaceForm_type = new enumeration_type("IfcBSplineSurfaceForm", 100, 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");
+ IFC4X1_IfcBeamTypeEnum_type = new enumeration_type("IfcBeamTypeEnum", 71, 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");
+ IFC4X1_IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", 72, items);
+ }
+ IFC4X1_IfcBinary_type = new type_declaration("IfcBinary", 74, 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");
+ IFC4X1_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 79, items);
+ }
+ IFC4X1_IfcBoolean_type = new type_declaration("IfcBoolean", 80, 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");
+ IFC4X1_IfcBooleanOperator_type = new enumeration_type("IfcBooleanOperator", 83, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("INSULATION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRECASTPANEL");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcBuildingElementPartTypeEnum_type = new enumeration_type("IfcBuildingElementPartTypeEnum", 106, 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");
+ IFC4X1_IfcBuildingElementProxyTypeEnum_type = new enumeration_type("IfcBuildingElementProxyTypeEnum", 109, 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");
+ IFC4X1_IfcBuildingSystemTypeEnum_type = new enumeration_type("IfcBuildingSystemTypeEnum", 113, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcBurnerTypeEnum_type = new enumeration_type("IfcBurnerTypeEnum", 116, 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");
+ IFC4X1_IfcCableCarrierFittingTypeEnum_type = new enumeration_type("IfcCableCarrierFittingTypeEnum", 119, 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");
+ IFC4X1_IfcCableCarrierSegmentTypeEnum_type = new enumeration_type("IfcCableCarrierSegmentTypeEnum", 122, 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");
+ IFC4X1_IfcCableFittingTypeEnum_type = new enumeration_type("IfcCableFittingTypeEnum", 125, 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");
+ IFC4X1_IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", 128, items);
+ }
+ IFC4X1_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 129, 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");
+ IFC4X1_IfcChangeActionEnum_type = new enumeration_type("IfcChangeActionEnum", 140, 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");
+ IFC4X1_IfcChillerTypeEnum_type = new enumeration_type("IfcChillerTypeEnum", 143, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcChimneyTypeEnum_type = new enumeration_type("IfcChimneyTypeEnum", 146, 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");
+ IFC4X1_IfcCoilTypeEnum_type = new enumeration_type("IfcCoilTypeEnum", 160, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("COLUMN");
+ items.push_back("NOTDEFINED");
+ items.push_back("PILASTER");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 169, 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");
+ IFC4X1_IfcCommunicationsApplianceTypeEnum_type = new enumeration_type("IfcCommunicationsApplianceTypeEnum", 172, items);
+ }
+ IFC4X1_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 173, 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");
+ IFC4X1_IfcComplexPropertyTemplateTypeEnum_type = new enumeration_type("IfcComplexPropertyTemplateTypeEnum", 176, items);
+ }
+ IFC4X1_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 181, 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");
+ IFC4X1_IfcCompressorTypeEnum_type = new enumeration_type("IfcCompressorTypeEnum", 184, 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");
+ IFC4X1_IfcCondenserTypeEnum_type = new enumeration_type("IfcCondenserTypeEnum", 187, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ATEND");
+ items.push_back("ATPATH");
+ items.push_back("ATSTART");
+ items.push_back("NOTDEFINED");
+ IFC4X1_IfcConnectionTypeEnum_type = new enumeration_type("IfcConnectionTypeEnum", 195, 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");
+ IFC4X1_IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", 198, 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");
+ IFC4X1_IfcConstructionEquipmentResourceTypeEnum_type = new enumeration_type("IfcConstructionEquipmentResourceTypeEnum", 201, 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");
+ IFC4X1_IfcConstructionMaterialResourceTypeEnum_type = new enumeration_type("IfcConstructionMaterialResourceTypeEnum", 204, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ASSEMBLY");
+ items.push_back("FORMWORK");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcConstructionProductResourceTypeEnum_type = new enumeration_type("IfcConstructionProductResourceTypeEnum", 207, items);
+ }
+ IFC4X1_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 211, 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");
+ IFC4X1_IfcControllerTypeEnum_type = new enumeration_type("IfcControllerTypeEnum", 216, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ACTIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PASSIVE");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcCooledBeamTypeEnum_type = new enumeration_type("IfcCooledBeamTypeEnum", 221, 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");
+ IFC4X1_IfcCoolingTowerTypeEnum_type = new enumeration_type("IfcCoolingTowerTypeEnum", 224, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcCostItemTypeEnum_type = new enumeration_type("IfcCostItemTypeEnum", 229, 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");
+ IFC4X1_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 231, items);
+ }
+ IFC4X1_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 233, 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");
+ IFC4X1_IfcCoveringTypeEnum_type = new enumeration_type("IfcCoveringTypeEnum", 236, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OFFICE");
+ items.push_back("SITE");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcCrewResourceTypeEnum_type = new enumeration_type("IfcCrewResourceTypeEnum", 239, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 247, items);
+ }
+ IFC4X1_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 248, 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");
+ IFC4X1_IfcCurveInterpolationEnum_type = new enumeration_type("IfcCurveInterpolationEnum", 253, 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");
+ IFC4X1_IfcDamperTypeEnum_type = new enumeration_type("IfcDamperTypeEnum", 265, 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");
+ IFC4X1_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 266, items);
+ }
+ IFC4X1_IfcDate_type = new type_declaration("IfcDate", 267, new simple_type(simple_type::string_type));
+ IFC4X1_IfcDateTime_type = new type_declaration("IfcDateTime", 268, new simple_type(simple_type::string_type));
+ IFC4X1_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 269, new simple_type(simple_type::integer_type));
+ IFC4X1_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 270, 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");
+ IFC4X1_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 276, items);
+ }
+ IFC4X1_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 277, new simple_type(simple_type::string_type));
+ IFC4X1_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 279, new simple_type(simple_type::integer_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X1_IfcDirectionSenseEnum_type = new enumeration_type("IfcDirectionSenseEnum", 281, 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");
+ IFC4X1_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 284, 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");
+ IFC4X1_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 288, 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");
+ IFC4X1_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 297, 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");
+ IFC4X1_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 299, 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");
+ IFC4X1_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 300, 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");
+ IFC4X1_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 305, 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");
+ IFC4X1_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 308, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ IFC4X1_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 309, 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");
+ IFC4X1_IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", 313, 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");
+ IFC4X1_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 314, 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");
+ IFC4X1_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 316, 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");
+ IFC4X1_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 317, items);
+ }
+ IFC4X1_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 318, 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");
+ IFC4X1_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 323, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 326, 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");
+ IFC4X1_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 329, items);
+ }
+ IFC4X1_IfcDuration_type = new type_declaration("IfcDuration", 330, new simple_type(simple_type::string_type));
+ IFC4X1_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 331, 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");
+ IFC4X1_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 337, items);
+ }
+ IFC4X1_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 338, new simple_type(simple_type::real_type));
+ IFC4X1_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 339, new simple_type(simple_type::real_type));
+ IFC4X1_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 340, new simple_type(simple_type::real_type));
+ IFC4X1_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 341, 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");
+ IFC4X1_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 344, 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");
+ IFC4X1_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 347, 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");
+ IFC4X1_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 350, 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");
+ IFC4X1_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 353, items);
+ }
+ IFC4X1_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 354, 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");
+ IFC4X1_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 357, items);
+ }
+ IFC4X1_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 358, 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");
+ IFC4X1_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 363, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("PARTIAL");
+ IFC4X1_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 366, items);
+ }
+ IFC4X1_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 373, 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");
+ IFC4X1_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 376, 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");
+ IFC4X1_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 379, 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");
+ IFC4X1_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 382, 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");
+ IFC4X1_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 385, 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");
+ IFC4X1_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 387, 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");
+ IFC4X1_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 396, 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");
+ IFC4X1_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 410, 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");
+ IFC4X1_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 413, 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");
+ IFC4X1_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 423, 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");
+ IFC4X1_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 426, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SINK");
+ items.push_back("SOURCE");
+ items.push_back("SOURCEANDSINK");
+ IFC4X1_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 430, 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");
+ IFC4X1_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 435, 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");
+ IFC4X1_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 438, items);
+ }
+ IFC4X1_IfcFontStyle_type = new type_declaration("IfcFontStyle", 449, new simple_type(simple_type::string_type));
+ IFC4X1_IfcFontVariant_type = new type_declaration("IfcFontVariant", 450, new simple_type(simple_type::string_type));
+ IFC4X1_IfcFontWeight_type = new type_declaration("IfcFontWeight", 451, 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");
+ IFC4X1_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 454, items);
+ }
+ IFC4X1_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 455, new simple_type(simple_type::real_type));
+ IFC4X1_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 456, 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");
+ IFC4X1_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 461, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("NOTDEFINED");
+ items.push_back("TERRAIN");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 464, 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");
+ IFC4X1_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 466, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("GLOBAL_COORDS");
+ items.push_back("LOCAL_COORDS");
+ IFC4X1_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 473, items);
+ }
+ IFC4X1_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 472, 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");
+ IFC4X1_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 478, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PLATE");
+ items.push_back("SHELLANDTUBE");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 484, items);
+ }
+ IFC4X1_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 485, new simple_type(simple_type::real_type));
+ IFC4X1_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 486, 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");
+ IFC4X1_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 489, items);
+ }
+ IFC4X1_IfcIdentifier_type = new type_declaration("IfcIdentifier", 490, new simple_type(simple_type::string_type));
+ IFC4X1_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 491, new simple_type(simple_type::real_type));
+ IFC4X1_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 499, new simple_type(simple_type::real_type));
+ IFC4X1_IfcInteger_type = new type_declaration("IfcInteger", 500, new simple_type(simple_type::integer_type));
+ IFC4X1_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 501, 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");
+ IFC4X1_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 504, 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");
+ IFC4X1_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 505, 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");
+ IFC4X1_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 508, items);
+ }
+ IFC4X1_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 509, new simple_type(simple_type::real_type));
+ IFC4X1_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 513, 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");
+ IFC4X1_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 516, items);
+ }
+ IFC4X1_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 517, 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");
+ IFC4X1_IfcKnotType_type = new enumeration_type("IfcKnotType", 518, items);
+ }
+ IFC4X1_IfcLabel_type = new type_declaration("IfcLabel", 519, 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");
+ IFC4X1_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 522, 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");
+ IFC4X1_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 526, items);
+ }
+ IFC4X1_IfcLanguageId_type = new type_declaration("IfcLanguageId", 527, new named_type(IFC4X1_IfcIdentifier_type));
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("AXIS1");
+ items.push_back("AXIS2");
+ items.push_back("AXIS3");
+ IFC4X1_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 529, items);
+ }
+ IFC4X1_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 530, 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");
+ IFC4X1_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 534, 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");
+ IFC4X1_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 537, 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");
+ IFC4X1_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 540, items);
+ }
+ IFC4X1_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 549, new simple_type(simple_type::real_type));
+ IFC4X1_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 550, new simple_type(simple_type::real_type));
+ IFC4X1_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 553, new simple_type(simple_type::real_type));
+ IFC4X1_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 554, 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");
+ IFC4X1_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 557, items);
+ }
+ IFC4X1_IfcLogical_type = new type_declaration("IfcLogical", 559, 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");
+ IFC4X1_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 560, items);
+ }
+ IFC4X1_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 563, new simple_type(simple_type::real_type));
+ IFC4X1_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 564, new simple_type(simple_type::real_type));
+ IFC4X1_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 565, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 566, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 567, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 571, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 572, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 573, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 574, 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");
+ IFC4X1_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 599, 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");
+ IFC4X1_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 602, 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");
+ IFC4X1_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 606, items);
+ }
+ IFC4X1_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 610, new simple_type(simple_type::real_type));
+ IFC4X1_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 611, new simple_type(simple_type::real_type));
+ IFC4X1_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 612, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcBoolean_type);
+ items.push_back(IFC4X1_IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ IFC4X1_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 613, items);
+ }
+ IFC4X1_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 614, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcBoolean_type);
+ items.push_back(IFC4X1_IfcModulusOfSubgradeReactionMeasure_type);
+ IFC4X1_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 615, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcBoolean_type);
+ items.push_back(IFC4X1_IfcModulusOfLinearSubgradeReactionMeasure_type);
+ IFC4X1_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 616, items);
+ }
+ IFC4X1_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 617, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 618, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 619, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 620, new simple_type(simple_type::real_type));
+ IFC4X1_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 622, 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");
+ IFC4X1_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 625, items);
+ }
+ IFC4X1_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 627, new named_type(IFC4X1_IfcLengthMeasure_type));
+ {
+ std::vector items; items.reserve(1);
+ items.push_back("NULL");
+ IFC4X1_IfcNullStyle_type = new enumeration_type("IfcNullStyle", 629, items);
+ }
+ IFC4X1_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 630, 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");
+ IFC4X1_IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", 637, 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");
+ IFC4X1_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 634, 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");
+ IFC4X1_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 639, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("OPENING");
+ items.push_back("RECESS");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 645, 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");
+ IFC4X1_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 655, items);
+ }
+ IFC4X1_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 669, new simple_type(simple_type::real_type));
+ IFC4X1_IfcParameterValue_type = new type_declaration("IfcParameterValue", 658, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 662, 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");
+ IFC4X1_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 663, 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");
+ IFC4X1_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 666, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("NOTDEFINED");
+ items.push_back("PHYSICAL");
+ items.push_back("VIRTUAL");
+ IFC4X1_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 671, 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");
+ IFC4X1_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 675, 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");
+ IFC4X1_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 677, 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");
+ IFC4X1_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 680, 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");
+ IFC4X1_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 683, items);
+ }
+ IFC4X1_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 688, new simple_type(simple_type::real_type));
+ IFC4X1_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 690, 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");
+ IFC4X1_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 694, items);
+ }
+ IFC4X1_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 705, new named_type(IFC4X1_IfcInteger_type));
+ IFC4X1_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 706, new named_type(IFC4X1_IfcLengthMeasure_type));
+ IFC4X1_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 707, new named_type(IFC4X1_IfcPlaneAngleMeasure_type));
+ IFC4X1_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 710, 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");
+ IFC4X1_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 717, items);
+ }
+ IFC4X1_IfcPresentableText_type = new type_declaration("IfcPresentableText", 718, new simple_type(simple_type::string_type));
+ IFC4X1_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 725, 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");
+ IFC4X1_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 728, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AREA");
+ items.push_back("CURVE");
+ IFC4X1_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 738, 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");
+ IFC4X1_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 746, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PROJECTED_LENGTH");
+ items.push_back("TRUE_LENGTH");
+ IFC4X1_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 741, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 743, 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");
+ IFC4X1_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 761, 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");
+ IFC4X1_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 769, 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");
+ IFC4X1_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 771, 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");
+ IFC4X1_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 775, items);
+ }
+ IFC4X1_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 783, 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");
+ IFC4X1_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 786, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 790, 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");
+ IFC4X1_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 792, items);
+ }
+ IFC4X1_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 793, new simple_type(simple_type::real_type));
+ IFC4X1_IfcReal_type = new type_declaration("IfcReal", 796, 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");
+ IFC4X1_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 802, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("KILOPOINT");
+ items.push_back("MILEPOINT");
+ items.push_back("NOTDEFINED");
+ items.push_back("STATION");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcReferentTypeEnum_type = new enumeration_type("IfcReferentTypeEnum", 805, 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");
+ IFC4X1_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 806, 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");
+ IFC4X1_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 811, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PLAIN");
+ items.push_back("TEXTURED");
+ IFC4X1_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 812, 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");
+ IFC4X1_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 814, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 819, 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");
+ IFC4X1_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 884, 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");
+ IFC4X1_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 887, items);
+ }
+ IFC4X1_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 889, new simple_type(simple_type::real_type));
+ IFC4X1_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 890, new simple_type(simple_type::real_type));
+ IFC4X1_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 891, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcBoolean_type);
+ items.push_back(IFC4X1_IfcRotationalStiffnessMeasure_type);
+ IFC4X1_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 892, 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");
+ IFC4X1_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 925, 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");
+ IFC4X1_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 928, 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");
+ IFC4X1_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 896, items);
+ }
+ IFC4X1_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 903, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("TAPERED");
+ items.push_back("UNIFORM");
+ IFC4X1_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 906, items);
+ }
+ IFC4X1_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 899, 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");
+ IFC4X1_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 910, 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");
+ IFC4X1_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 911, 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");
+ IFC4X1_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 914, items);
+ }
+ IFC4X1_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 918, 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");
+ IFC4X1_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 923, 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");
+ IFC4X1_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 934, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SOLARCOLLECTOR");
+ items.push_back("SOLARPANEL");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 938, items);
+ }
+ IFC4X1_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 939, new simple_type(simple_type::real_type));
+ IFC4X1_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 942, new simple_type(simple_type::real_type));
+ IFC4X1_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 943, new simple_type(simple_type::real_type));
+ IFC4X1_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 944, new simple_type(simple_type::real_type));
+ IFC4X1_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 945, 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");
+ IFC4X1_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 950, 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");
+ IFC4X1_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 952, 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");
+ IFC4X1_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 959, items);
+ }
+ IFC4X1_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 960, new simple_type(simple_type::real_type));
+ IFC4X1_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 961, new simple_type(simple_type::real_type));
+ IFC4X1_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 963, 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");
+ IFC4X1_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 968, 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");
+ IFC4X1_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 972, 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");
+ IFC4X1_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 974, 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");
+ IFC4X1_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 975, 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");
+ IFC4X1_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 983, 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");
+ IFC4X1_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 986, 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");
+ IFC4X1_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 1012, 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");
+ IFC4X1_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 1015, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASE");
+ items.push_back("USERDEFINED");
+ items.push_back("WORK");
+ IFC4X1_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 1024, 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");
+ IFC4X1_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1030, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("BOTH");
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IFC4X1_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1035, 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");
+ IFC4X1_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1050, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PANEL");
+ items.push_back("USERDEFINED");
+ items.push_back("WORKSURFACE");
+ IFC4X1_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1054, 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");
+ IFC4X1_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1060, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ELAPSEDTIME");
+ items.push_back("NOTDEFINED");
+ items.push_back("WORKTIME");
+ IFC4X1_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1062, 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");
+ IFC4X1_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1066, items);
+ }
+ IFC4X1_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1068, new simple_type(simple_type::real_type));
+ IFC4X1_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1069, 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");
+ IFC4X1_IfcTendonAnchorTypeEnum_type = new enumeration_type("IfcTendonAnchorTypeEnum", 1073, 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");
+ IFC4X1_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1075, items);
+ }
+ IFC4X1_IfcText_type = new type_declaration("IfcText", 1078, new simple_type(simple_type::string_type));
+ IFC4X1_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1079, new simple_type(simple_type::string_type));
+ IFC4X1_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1080, new simple_type(simple_type::string_type));
+ IFC4X1_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1081, 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");
+ IFC4X1_IfcTextPath_type = new enumeration_type("IfcTextPath", 1085, items);
+ }
+ IFC4X1_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1090, new simple_type(simple_type::string_type));
+ IFC4X1_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1096, new simple_type(simple_type::real_type));
+ IFC4X1_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1097, new simple_type(simple_type::real_type));
+ IFC4X1_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1098, new simple_type(simple_type::real_type));
+ IFC4X1_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1099, new simple_type(simple_type::real_type));
+ IFC4X1_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1100, new simple_type(simple_type::real_type));
+ IFC4X1_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1101, new simple_type(simple_type::real_type));
+ IFC4X1_IfcTime_type = new type_declaration("IfcTime", 1102, new simple_type(simple_type::string_type));
+ IFC4X1_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1103, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcDuration_type);
+ items.push_back(IFC4X1_IfcRatioMeasure_type);
+ IFC4X1_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1104, 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");
+ IFC4X1_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1107, items);
+ }
+ IFC4X1_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1109, new simple_type(simple_type::integer_type));
+ IFC4X1_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1113, 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");
+ IFC4X1_IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", 1116, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CONTINUOUS");
+ items.push_back("CONTSAMEGRADIENT");
+ items.push_back("CONTSAMEGRADIENTSAMECURVATURE");
+ items.push_back("DISCONTINUOUS");
+ IFC4X1_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1117, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BIQUADRATICPARABOLA");
+ items.push_back("BLOSSCURVE");
+ items.push_back("CLOTHOIDCURVE");
+ items.push_back("COSINECURVE");
+ items.push_back("CUBICPARABOLA");
+ items.push_back("SINECURVE");
+ IFC4X1_IfcTransitionCurveType_type = new enumeration_type("IfcTransitionCurveType", 1119, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcBoolean_type);
+ items.push_back(IFC4X1_IfcLinearStiffnessMeasure_type);
+ IFC4X1_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1120, 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");
+ IFC4X1_IfcTransportElementTypeEnum_type = new enumeration_type("IfcTransportElementTypeEnum", 1123, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("CARTESIAN");
+ items.push_back("PARAMETER");
+ items.push_back("UNSPECIFIED");
+ IFC4X1_IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", 1128, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FINNED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IFC4X1_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1133, items);
+ }
+ IFC4X1_IfcURIReference_type = new type_declaration("IfcURIReference", 1147, 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");
+ IFC4X1_IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", 1146, 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");
+ IFC4X1_IfcUnitaryControlElementTypeEnum_type = new enumeration_type("IfcUnitaryControlElementTypeEnum", 1141, 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");
+ IFC4X1_IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", 1144, 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");
+ IFC4X1_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1152, items);
+ }
+ IFC4X1_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1153, 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");
+ IFC4X1_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 1161, 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");
+ IFC4X1_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1165, items);
+ }
+ IFC4X1_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1166, new simple_type(simple_type::real_type));
+ IFC4X1_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1167, 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");
+ IFC4X1_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1172, items);
+ }
+ IFC4X1_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1173, new simple_type(simple_type::real_type));
+ IFC4X1_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1174, new simple_type(simple_type::real_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcBoolean_type);
+ items.push_back(IFC4X1_IfcWarpingMomentMeasure_type);
+ IFC4X1_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1175, 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");
+ IFC4X1_IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", 1178, 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");
+ IFC4X1_IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", 1181, 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");
+ IFC4X1_IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", 1182, 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");
+ IFC4X1_IfcWindowStyleConstructionEnum_type = new enumeration_type("IfcWindowStyleConstructionEnum", 1186, 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");
+ IFC4X1_IfcWindowStyleOperationEnum_type = new enumeration_type("IfcWindowStyleOperationEnum", 1187, 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");
+ IFC4X1_IfcWindowTypeEnum_type = new enumeration_type("IfcWindowTypeEnum", 1189, 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");
+ IFC4X1_IfcWindowTypePartitioningEnum_type = new enumeration_type("IfcWindowTypePartitioningEnum", 1190, 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");
+ IFC4X1_IfcWorkCalendarTypeEnum_type = new enumeration_type("IfcWorkCalendarTypeEnum", 1192, 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");
+ IFC4X1_IfcWorkPlanTypeEnum_type = new enumeration_type("IfcWorkPlanTypeEnum", 1195, 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");
+ IFC4X1_IfcWorkScheduleTypeEnum_type = new enumeration_type("IfcWorkScheduleTypeEnum", 1197, items);
+ }
+ IFC4X1_IfcActorRole_type = new entity("IfcActorRole", false, 7, 0);
+ IFC4X1_IfcAddress_type = new entity("IfcAddress", true, 12, 0);
+ IFC4X1_IfcApplication_type = new entity("IfcApplication", false, 46, 0);
+ IFC4X1_IfcAppliedValue_type = new entity("IfcAppliedValue", false, 47, 0);
+ IFC4X1_IfcApproval_type = new entity("IfcApproval", false, 49, 0);
+ IFC4X1_IfcBoundaryCondition_type = new entity("IfcBoundaryCondition", true, 85, 0);
+ IFC4X1_IfcBoundaryEdgeCondition_type = new entity("IfcBoundaryEdgeCondition", false, 87, IFC4X1_IfcBoundaryCondition_type);
+ IFC4X1_IfcBoundaryFaceCondition_type = new entity("IfcBoundaryFaceCondition", false, 88, IFC4X1_IfcBoundaryCondition_type);
+ IFC4X1_IfcBoundaryNodeCondition_type = new entity("IfcBoundaryNodeCondition", false, 89, IFC4X1_IfcBoundaryCondition_type);
+ IFC4X1_IfcBoundaryNodeConditionWarping_type = new entity("IfcBoundaryNodeConditionWarping", false, 90, IFC4X1_IfcBoundaryNodeCondition_type);
+ IFC4X1_IfcConnectionGeometry_type = new entity("IfcConnectionGeometry", true, 191, 0);
+ IFC4X1_IfcConnectionPointGeometry_type = new entity("IfcConnectionPointGeometry", false, 193, IFC4X1_IfcConnectionGeometry_type);
+ IFC4X1_IfcConnectionSurfaceGeometry_type = new entity("IfcConnectionSurfaceGeometry", false, 194, IFC4X1_IfcConnectionGeometry_type);
+ IFC4X1_IfcConnectionVolumeGeometry_type = new entity("IfcConnectionVolumeGeometry", false, 196, IFC4X1_IfcConnectionGeometry_type);
+ IFC4X1_IfcConstraint_type = new entity("IfcConstraint", true, 197, 0);
+ IFC4X1_IfcCoordinateOperation_type = new entity("IfcCoordinateOperation", true, 225, 0);
+ IFC4X1_IfcCoordinateReferenceSystem_type = new entity("IfcCoordinateReferenceSystem", true, 226, 0);
+ IFC4X1_IfcCostValue_type = new entity("IfcCostValue", false, 232, IFC4X1_IfcAppliedValue_type);
+ IFC4X1_IfcDerivedUnit_type = new entity("IfcDerivedUnit", false, 274, 0);
+ IFC4X1_IfcDerivedUnitElement_type = new entity("IfcDerivedUnitElement", false, 275, 0);
+ IFC4X1_IfcDimensionalExponents_type = new entity("IfcDimensionalExponents", false, 278, 0);
+ IFC4X1_IfcExternalInformation_type = new entity("IfcExternalInformation", true, 389, 0);
+ IFC4X1_IfcExternalReference_type = new entity("IfcExternalReference", true, 393, 0);
+ IFC4X1_IfcExternallyDefinedHatchStyle_type = new entity("IfcExternallyDefinedHatchStyle", false, 390, IFC4X1_IfcExternalReference_type);
+ IFC4X1_IfcExternallyDefinedSurfaceStyle_type = new entity("IfcExternallyDefinedSurfaceStyle", false, 391, IFC4X1_IfcExternalReference_type);
+ IFC4X1_IfcExternallyDefinedTextFont_type = new entity("IfcExternallyDefinedTextFont", false, 392, IFC4X1_IfcExternalReference_type);
+ IFC4X1_IfcGridAxis_type = new entity("IfcGridAxis", false, 475, 0);
+ IFC4X1_IfcIrregularTimeSeriesValue_type = new entity("IfcIrregularTimeSeriesValue", false, 511, 0);
+ IFC4X1_IfcLibraryInformation_type = new entity("IfcLibraryInformation", false, 531, IFC4X1_IfcExternalInformation_type);
+ IFC4X1_IfcLibraryReference_type = new entity("IfcLibraryReference", false, 532, IFC4X1_IfcExternalReference_type);
+ IFC4X1_IfcLightDistributionData_type = new entity("IfcLightDistributionData", false, 535, 0);
+ IFC4X1_IfcLightIntensityDistribution_type = new entity("IfcLightIntensityDistribution", false, 541, 0);
+ IFC4X1_IfcMapConversion_type = new entity("IfcMapConversion", false, 569, IFC4X1_IfcCoordinateOperation_type);
+ IFC4X1_IfcMaterialClassificationRelationship_type = new entity("IfcMaterialClassificationRelationship", false, 576, 0);
+ IFC4X1_IfcMaterialDefinition_type = new entity("IfcMaterialDefinition", true, 579, 0);
+ IFC4X1_IfcMaterialLayer_type = new entity("IfcMaterialLayer", false, 581, IFC4X1_IfcMaterialDefinition_type);
+ IFC4X1_IfcMaterialLayerSet_type = new entity("IfcMaterialLayerSet", false, 582, IFC4X1_IfcMaterialDefinition_type);
+ IFC4X1_IfcMaterialLayerWithOffsets_type = new entity("IfcMaterialLayerWithOffsets", false, 584, IFC4X1_IfcMaterialLayer_type);
+ IFC4X1_IfcMaterialList_type = new entity("IfcMaterialList", false, 585, 0);
+ IFC4X1_IfcMaterialProfile_type = new entity("IfcMaterialProfile", false, 586, IFC4X1_IfcMaterialDefinition_type);
+ IFC4X1_IfcMaterialProfileSet_type = new entity("IfcMaterialProfileSet", false, 587, IFC4X1_IfcMaterialDefinition_type);
+ IFC4X1_IfcMaterialProfileWithOffsets_type = new entity("IfcMaterialProfileWithOffsets", false, 590, IFC4X1_IfcMaterialProfile_type);
+ IFC4X1_IfcMaterialUsageDefinition_type = new entity("IfcMaterialUsageDefinition", true, 594, 0);
+ IFC4X1_IfcMeasureWithUnit_type = new entity("IfcMeasureWithUnit", false, 596, 0);
+ IFC4X1_IfcMetric_type = new entity("IfcMetric", false, 607, IFC4X1_IfcConstraint_type);
+ IFC4X1_IfcMonetaryUnit_type = new entity("IfcMonetaryUnit", false, 621, 0);
+ IFC4X1_IfcNamedUnit_type = new entity("IfcNamedUnit", true, 626, 0);
+ IFC4X1_IfcObjectPlacement_type = new entity("IfcObjectPlacement", true, 635, 0);
+ IFC4X1_IfcObjective_type = new entity("IfcObjective", false, 633, IFC4X1_IfcConstraint_type);
+ IFC4X1_IfcOrganization_type = new entity("IfcOrganization", false, 648, 0);
+ IFC4X1_IfcOwnerHistory_type = new entity("IfcOwnerHistory", false, 656, 0);
+ IFC4X1_IfcPerson_type = new entity("IfcPerson", false, 667, 0);
+ IFC4X1_IfcPersonAndOrganization_type = new entity("IfcPersonAndOrganization", false, 668, 0);
+ IFC4X1_IfcPhysicalQuantity_type = new entity("IfcPhysicalQuantity", true, 672, 0);
+ IFC4X1_IfcPhysicalSimpleQuantity_type = new entity("IfcPhysicalSimpleQuantity", true, 673, IFC4X1_IfcPhysicalQuantity_type);
+ IFC4X1_IfcPostalAddress_type = new entity("IfcPostalAddress", false, 709, IFC4X1_IfcAddress_type);
+ IFC4X1_IfcPresentationItem_type = new entity("IfcPresentationItem", true, 719, 0);
+ IFC4X1_IfcPresentationLayerAssignment_type = new entity("IfcPresentationLayerAssignment", false, 720, 0);
+ IFC4X1_IfcPresentationLayerWithStyle_type = new entity("IfcPresentationLayerWithStyle", false, 721, IFC4X1_IfcPresentationLayerAssignment_type);
+ IFC4X1_IfcPresentationStyle_type = new entity("IfcPresentationStyle", true, 722, 0);
+ IFC4X1_IfcPresentationStyleAssignment_type = new entity("IfcPresentationStyleAssignment", false, 723, 0);
+ IFC4X1_IfcProductRepresentation_type = new entity("IfcProductRepresentation", true, 733, 0);
+ IFC4X1_IfcProfileDef_type = new entity("IfcProfileDef", false, 736, 0);
+ IFC4X1_IfcProjectedCRS_type = new entity("IfcProjectedCRS", false, 740, IFC4X1_IfcCoordinateReferenceSystem_type);
+ IFC4X1_IfcPropertyAbstraction_type = new entity("IfcPropertyAbstraction", true, 748, 0);
+ IFC4X1_IfcPropertyEnumeration_type = new entity("IfcPropertyEnumeration", false, 753, IFC4X1_IfcPropertyAbstraction_type);
+ IFC4X1_IfcQuantityArea_type = new entity("IfcQuantityArea", false, 776, IFC4X1_IfcPhysicalSimpleQuantity_type);
+ IFC4X1_IfcQuantityCount_type = new entity("IfcQuantityCount", false, 777, IFC4X1_IfcPhysicalSimpleQuantity_type);
+ IFC4X1_IfcQuantityLength_type = new entity("IfcQuantityLength", false, 778, IFC4X1_IfcPhysicalSimpleQuantity_type);
+ IFC4X1_IfcQuantityTime_type = new entity("IfcQuantityTime", false, 780, IFC4X1_IfcPhysicalSimpleQuantity_type);
+ IFC4X1_IfcQuantityVolume_type = new entity("IfcQuantityVolume", false, 781, IFC4X1_IfcPhysicalSimpleQuantity_type);
+ IFC4X1_IfcQuantityWeight_type = new entity("IfcQuantityWeight", false, 782, IFC4X1_IfcPhysicalSimpleQuantity_type);
+ IFC4X1_IfcRecurrencePattern_type = new entity("IfcRecurrencePattern", false, 801, 0);
+ IFC4X1_IfcReference_type = new entity("IfcReference", false, 803, 0);
+ IFC4X1_IfcRepresentation_type = new entity("IfcRepresentation", true, 869, 0);
+ IFC4X1_IfcRepresentationContext_type = new entity("IfcRepresentationContext", true, 870, 0);
+ IFC4X1_IfcRepresentationItem_type = new entity("IfcRepresentationItem", true, 871, 0);
+ IFC4X1_IfcRepresentationMap_type = new entity("IfcRepresentationMap", false, 872, 0);
+ IFC4X1_IfcResourceLevelRelationship_type = new entity("IfcResourceLevelRelationship", true, 876, 0);
+ IFC4X1_IfcRoot_type = new entity("IfcRoot", true, 888, 0);
+ IFC4X1_IfcSIUnit_type = new entity("IfcSIUnit", false, 927, IFC4X1_IfcNamedUnit_type);
+ IFC4X1_IfcSchedulingTime_type = new entity("IfcSchedulingTime", true, 897, 0);
+ IFC4X1_IfcShapeAspect_type = new entity("IfcShapeAspect", false, 915, 0);
+ IFC4X1_IfcShapeModel_type = new entity("IfcShapeModel", true, 916, IFC4X1_IfcRepresentation_type);
+ IFC4X1_IfcShapeRepresentation_type = new entity("IfcShapeRepresentation", false, 917, IFC4X1_IfcShapeModel_type);
+ IFC4X1_IfcStructuralConnectionCondition_type = new entity("IfcStructuralConnectionCondition", true, 981, 0);
+ IFC4X1_IfcStructuralLoad_type = new entity("IfcStructuralLoad", true, 991, 0);
+ IFC4X1_IfcStructuralLoadConfiguration_type = new entity("IfcStructuralLoadConfiguration", false, 993, IFC4X1_IfcStructuralLoad_type);
+ IFC4X1_IfcStructuralLoadOrResult_type = new entity("IfcStructuralLoadOrResult", true, 996, IFC4X1_IfcStructuralLoad_type);
+ IFC4X1_IfcStructuralLoadStatic_type = new entity("IfcStructuralLoadStatic", true, 1002, IFC4X1_IfcStructuralLoadOrResult_type);
+ IFC4X1_IfcStructuralLoadTemperature_type = new entity("IfcStructuralLoadTemperature", false, 1003, IFC4X1_IfcStructuralLoadStatic_type);
+ IFC4X1_IfcStyleModel_type = new entity("IfcStyleModel", true, 1021, IFC4X1_IfcRepresentation_type);
+ IFC4X1_IfcStyledItem_type = new entity("IfcStyledItem", false, 1019, IFC4X1_IfcRepresentationItem_type);
+ IFC4X1_IfcStyledRepresentation_type = new entity("IfcStyledRepresentation", false, 1020, IFC4X1_IfcStyleModel_type);
+ IFC4X1_IfcSurfaceReinforcementArea_type = new entity("IfcSurfaceReinforcementArea", false, 1034, IFC4X1_IfcStructuralLoadOrResult_type);
+ IFC4X1_IfcSurfaceStyle_type = new entity("IfcSurfaceStyle", false, 1036, IFC4X1_IfcPresentationStyle_type);
+ IFC4X1_IfcSurfaceStyleLighting_type = new entity("IfcSurfaceStyleLighting", false, 1038, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcSurfaceStyleRefraction_type = new entity("IfcSurfaceStyleRefraction", false, 1039, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcSurfaceStyleShading_type = new entity("IfcSurfaceStyleShading", false, 1041, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcSurfaceStyleWithTextures_type = new entity("IfcSurfaceStyleWithTextures", false, 1042, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcSurfaceTexture_type = new entity("IfcSurfaceTexture", true, 1043, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcTable_type = new entity("IfcTable", false, 1055, 0);
+ IFC4X1_IfcTableColumn_type = new entity("IfcTableColumn", false, 1056, 0);
+ IFC4X1_IfcTableRow_type = new entity("IfcTableRow", false, 1057, 0);
+ IFC4X1_IfcTaskTime_type = new entity("IfcTaskTime", false, 1063, IFC4X1_IfcSchedulingTime_type);
+ IFC4X1_IfcTaskTimeRecurring_type = new entity("IfcTaskTimeRecurring", false, 1064, IFC4X1_IfcTaskTime_type);
+ IFC4X1_IfcTelecomAddress_type = new entity("IfcTelecomAddress", false, 1067, IFC4X1_IfcAddress_type);
+ IFC4X1_IfcTextStyle_type = new entity("IfcTextStyle", false, 1086, IFC4X1_IfcPresentationStyle_type);
+ IFC4X1_IfcTextStyleForDefinedFont_type = new entity("IfcTextStyleForDefinedFont", false, 1088, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcTextStyleTextModel_type = new entity("IfcTextStyleTextModel", false, 1089, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcTextureCoordinate_type = new entity("IfcTextureCoordinate", true, 1091, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcTextureCoordinateGenerator_type = new entity("IfcTextureCoordinateGenerator", false, 1092, IFC4X1_IfcTextureCoordinate_type);
+ IFC4X1_IfcTextureMap_type = new entity("IfcTextureMap", false, 1093, IFC4X1_IfcTextureCoordinate_type);
+ IFC4X1_IfcTextureVertex_type = new entity("IfcTextureVertex", false, 1094, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcTextureVertexList_type = new entity("IfcTextureVertexList", false, 1095, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcTimePeriod_type = new entity("IfcTimePeriod", false, 1105, 0);
+ IFC4X1_IfcTimeSeries_type = new entity("IfcTimeSeries", true, 1106, 0);
+ IFC4X1_IfcTimeSeriesValue_type = new entity("IfcTimeSeriesValue", false, 1108, 0);
+ IFC4X1_IfcTopologicalRepresentationItem_type = new entity("IfcTopologicalRepresentationItem", true, 1110, IFC4X1_IfcRepresentationItem_type);
+ IFC4X1_IfcTopologyRepresentation_type = new entity("IfcTopologyRepresentation", false, 1111, IFC4X1_IfcShapeModel_type);
+ IFC4X1_IfcUnitAssignment_type = new entity("IfcUnitAssignment", false, 1145, 0);
+ IFC4X1_IfcVertex_type = new entity("IfcVertex", false, 1156, IFC4X1_IfcTopologicalRepresentationItem_type);
+ IFC4X1_IfcVertexPoint_type = new entity("IfcVertexPoint", false, 1158, IFC4X1_IfcVertex_type);
+ IFC4X1_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", false, 1163, 0);
+ IFC4X1_IfcWorkTime_type = new entity("IfcWorkTime", false, 1198, IFC4X1_IfcSchedulingTime_type);
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IFC4X1_IfcOrganization_type);
+ items.push_back(IFC4X1_IfcPerson_type);
+ items.push_back(IFC4X1_IfcPersonAndOrganization_type);
+ IFC4X1_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items);
+ }
+ IFC4X1_IfcArcIndex_type = new type_declaration("IfcArcIndex", 54, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X1_IfcPositiveInteger_type)));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcLengthMeasure_type);
+ items.push_back(IFC4X1_IfcPlaneAngleMeasure_type);
+ IFC4X1_IfcBendingParameterSelect_type = new select_type("IfcBendingParameterSelect", 73, items);
+ }
+ IFC4X1_IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", 94, new named_type(IFC4X1_IfcLabel_type));
+ {
+ std::vector items; items.reserve(71);
+ items.push_back(IFC4X1_IfcAbsorbedDoseMeasure_type);
+ items.push_back(IFC4X1_IfcAccelerationMeasure_type);
+ items.push_back(IFC4X1_IfcAngularVelocityMeasure_type);
+ items.push_back(IFC4X1_IfcAreaDensityMeasure_type);
+ items.push_back(IFC4X1_IfcCompoundPlaneAngleMeasure_type);
+ items.push_back(IFC4X1_IfcCurvatureMeasure_type);
+ items.push_back(IFC4X1_IfcDoseEquivalentMeasure_type);
+ items.push_back(IFC4X1_IfcDynamicViscosityMeasure_type);
+ items.push_back(IFC4X1_IfcElectricCapacitanceMeasure_type);
+ items.push_back(IFC4X1_IfcElectricChargeMeasure_type);
+ items.push_back(IFC4X1_IfcElectricConductanceMeasure_type);
+ items.push_back(IFC4X1_IfcElectricResistanceMeasure_type);
+ items.push_back(IFC4X1_IfcElectricVoltageMeasure_type);
+ items.push_back(IFC4X1_IfcEnergyMeasure_type);
+ items.push_back(IFC4X1_IfcForceMeasure_type);
+ items.push_back(IFC4X1_IfcFrequencyMeasure_type);
+ items.push_back(IFC4X1_IfcHeatFluxDensityMeasure_type);
+ items.push_back(IFC4X1_IfcHeatingValueMeasure_type);
+ items.push_back(IFC4X1_IfcIlluminanceMeasure_type);
+ items.push_back(IFC4X1_IfcInductanceMeasure_type);
+ items.push_back(IFC4X1_IfcIntegerCountRateMeasure_type);
+ items.push_back(IFC4X1_IfcIonConcentrationMeasure_type);
+ items.push_back(IFC4X1_IfcIsothermalMoistureCapacityMeasure_type);
+ items.push_back(IFC4X1_IfcKinematicViscosityMeasure_type);
+ items.push_back(IFC4X1_IfcLinearForceMeasure_type);
+ items.push_back(IFC4X1_IfcLinearMomentMeasure_type);
+ items.push_back(IFC4X1_IfcLinearStiffnessMeasure_type);
+ items.push_back(IFC4X1_IfcLinearVelocityMeasure_type);
+ items.push_back(IFC4X1_IfcLuminousFluxMeasure_type);
+ items.push_back(IFC4X1_IfcLuminousIntensityDistributionMeasure_type);
+ items.push_back(IFC4X1_IfcMagneticFluxDensityMeasure_type);
+ items.push_back(IFC4X1_IfcMagneticFluxMeasure_type);
+ items.push_back(IFC4X1_IfcMassDensityMeasure_type);
+ items.push_back(IFC4X1_IfcMassFlowRateMeasure_type);
+ items.push_back(IFC4X1_IfcMassPerLengthMeasure_type);
+ items.push_back(IFC4X1_IfcModulusOfElasticityMeasure_type);
+ items.push_back(IFC4X1_IfcModulusOfLinearSubgradeReactionMeasure_type);
+ items.push_back(IFC4X1_IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ items.push_back(IFC4X1_IfcModulusOfSubgradeReactionMeasure_type);
+ items.push_back(IFC4X1_IfcMoistureDiffusivityMeasure_type);
+ items.push_back(IFC4X1_IfcMolecularWeightMeasure_type);
+ items.push_back(IFC4X1_IfcMomentOfInertiaMeasure_type);
+ items.push_back(IFC4X1_IfcMonetaryMeasure_type);
+ items.push_back(IFC4X1_IfcPHMeasure_type);
+ items.push_back(IFC4X1_IfcPlanarForceMeasure_type);
+ items.push_back(IFC4X1_IfcPowerMeasure_type);
+ items.push_back(IFC4X1_IfcPressureMeasure_type);
+ items.push_back(IFC4X1_IfcRadioActivityMeasure_type);
+ items.push_back(IFC4X1_IfcRotationalFrequencyMeasure_type);
+ items.push_back(IFC4X1_IfcRotationalMassMeasure_type);
+ items.push_back(IFC4X1_IfcRotationalStiffnessMeasure_type);
+ items.push_back(IFC4X1_IfcSectionModulusMeasure_type);
+ items.push_back(IFC4X1_IfcSectionalAreaIntegralMeasure_type);
+ items.push_back(IFC4X1_IfcShearModulusMeasure_type);
+ items.push_back(IFC4X1_IfcSoundPowerLevelMeasure_type);
+ items.push_back(IFC4X1_IfcSoundPowerMeasure_type);
+ items.push_back(IFC4X1_IfcSoundPressureLevelMeasure_type);
+ items.push_back(IFC4X1_IfcSoundPressureMeasure_type);
+ items.push_back(IFC4X1_IfcSpecificHeatCapacityMeasure_type);
+ items.push_back(IFC4X1_IfcTemperatureGradientMeasure_type);
+ items.push_back(IFC4X1_IfcTemperatureRateOfChangeMeasure_type);
+ items.push_back(IFC4X1_IfcThermalAdmittanceMeasure_type);
+ items.push_back(IFC4X1_IfcThermalConductivityMeasure_type);
+ items.push_back(IFC4X1_IfcThermalExpansionCoefficientMeasure_type);
+ items.push_back(IFC4X1_IfcThermalResistanceMeasure_type);
+ items.push_back(IFC4X1_IfcThermalTransmittanceMeasure_type);
+ items.push_back(IFC4X1_IfcTorqueMeasure_type);
+ items.push_back(IFC4X1_IfcVaporPermeabilityMeasure_type);
+ items.push_back(IFC4X1_IfcVolumetricFlowRateMeasure_type);
+ items.push_back(IFC4X1_IfcWarpingConstantMeasure_type);
+ items.push_back(IFC4X1_IfcWarpingMomentMeasure_type);
+ IFC4X1_IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", 272, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcRepresentation_type);
+ items.push_back(IFC4X1_IfcRepresentationItem_type);
+ IFC4X1_IfcLayeredItem_type = new select_type("IfcLayeredItem", 528, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcLibraryInformation_type);
+ items.push_back(IFC4X1_IfcLibraryReference_type);
+ IFC4X1_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 533, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcExternalReference_type);
+ items.push_back(IFC4X1_IfcLightIntensityDistribution_type);
+ IFC4X1_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 536, items);
+ }
+ IFC4X1_IfcLineIndex_type = new type_declaration("IfcLineIndex", 555, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X1_IfcPositiveInteger_type)));
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IFC4X1_IfcMaterialDefinition_type);
+ items.push_back(IFC4X1_IfcMaterialList_type);
+ items.push_back(IFC4X1_IfcMaterialUsageDefinition_type);
+ IFC4X1_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 593, items);
+ }
+ IFC4X1_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 628, new named_type(IFC4X1_IfcRatioMeasure_type));
+ {
+ std::vector items; items.reserve(9);
+ items.push_back(IFC4X1_IfcAddress_type);
+ items.push_back(IFC4X1_IfcAppliedValue_type);
+ items.push_back(IFC4X1_IfcExternalReference_type);
+ items.push_back(IFC4X1_IfcMaterialDefinition_type);
+ items.push_back(IFC4X1_IfcOrganization_type);
+ items.push_back(IFC4X1_IfcPerson_type);
+ items.push_back(IFC4X1_IfcPersonAndOrganization_type);
+ items.push_back(IFC4X1_IfcTable_type);
+ items.push_back(IFC4X1_IfcTimeSeries_type);
+ IFC4X1_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 636, items);
+ }
+ IFC4X1_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 708, new named_type(IFC4X1_IfcRatioMeasure_type));
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcArcIndex_type);
+ items.push_back(IFC4X1_IfcLineIndex_type);
+ IFC4X1_IfcSegmentIndexSelect_type = new select_type("IfcSegmentIndexSelect", 907, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ items.push_back(IFC4X1_IfcBinary_type);
+ items.push_back(IFC4X1_IfcBoolean_type);
+ items.push_back(IFC4X1_IfcDate_type);
+ items.push_back(IFC4X1_IfcDateTime_type);
+ items.push_back(IFC4X1_IfcDuration_type);
+ items.push_back(IFC4X1_IfcIdentifier_type);
+ items.push_back(IFC4X1_IfcInteger_type);
+ items.push_back(IFC4X1_IfcLabel_type);
+ items.push_back(IFC4X1_IfcLogical_type);
+ items.push_back(IFC4X1_IfcPositiveInteger_type);
+ items.push_back(IFC4X1_IfcReal_type);
+ items.push_back(IFC4X1_IfcText_type);
+ items.push_back(IFC4X1_IfcTime_type);
+ items.push_back(IFC4X1_IfcTimeStamp_type);
+ IFC4X1_IfcSimpleValue_type = new select_type("IfcSimpleValue", 924, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back(IFC4X1_IfcDescriptiveMeasure_type);
+ items.push_back(IFC4X1_IfcLengthMeasure_type);
+ items.push_back(IFC4X1_IfcNormalisedRatioMeasure_type);
+ items.push_back(IFC4X1_IfcPositiveLengthMeasure_type);
+ items.push_back(IFC4X1_IfcPositiveRatioMeasure_type);
+ items.push_back(IFC4X1_IfcRatioMeasure_type);
+ IFC4X1_IfcSizeSelect_type = new select_type("IfcSizeSelect", 929, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcSpecularExponent_type);
+ items.push_back(IFC4X1_IfcSpecularRoughness_type);
+ IFC4X1_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 962, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcPresentationStyle_type);
+ items.push_back(IFC4X1_IfcPresentationStyleAssignment_type);
+ IFC4X1_IfcStyleAssignmentSelect_type = new select_type("IfcStyleAssignmentSelect", 1018, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back(IFC4X1_IfcExternallyDefinedSurfaceStyle_type);
+ items.push_back(IFC4X1_IfcSurfaceStyleLighting_type);
+ items.push_back(IFC4X1_IfcSurfaceStyleRefraction_type);
+ items.push_back(IFC4X1_IfcSurfaceStyleShading_type);
+ items.push_back(IFC4X1_IfcSurfaceStyleWithTextures_type);
+ IFC4X1_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 1037, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IFC4X1_IfcDerivedUnit_type);
+ items.push_back(IFC4X1_IfcMonetaryUnit_type);
+ items.push_back(IFC4X1_IfcNamedUnit_type);
+ IFC4X1_IfcUnit_type = new select_type("IfcUnit", 1138, items);
+ }
+ IFC4X1_IfcApprovalRelationship_type = new entity("IfcApprovalRelationship", false, 50, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcArbitraryClosedProfileDef_type = new entity("IfcArbitraryClosedProfileDef", false, 51, IFC4X1_IfcProfileDef_type);
+ IFC4X1_IfcArbitraryOpenProfileDef_type = new entity("IfcArbitraryOpenProfileDef", false, 52, IFC4X1_IfcProfileDef_type);
+ IFC4X1_IfcArbitraryProfileDefWithVoids_type = new entity("IfcArbitraryProfileDefWithVoids", false, 53, IFC4X1_IfcArbitraryClosedProfileDef_type);
+ IFC4X1_IfcBlobTexture_type = new entity("IfcBlobTexture", false, 75, IFC4X1_IfcSurfaceTexture_type);
+ IFC4X1_IfcCenterLineProfileDef_type = new entity("IfcCenterLineProfileDef", false, 139, IFC4X1_IfcArbitraryOpenProfileDef_type);
+ IFC4X1_IfcClassification_type = new entity("IfcClassification", false, 153, IFC4X1_IfcExternalInformation_type);
+ IFC4X1_IfcClassificationReference_type = new entity("IfcClassificationReference", false, 154, IFC4X1_IfcExternalReference_type);
+ IFC4X1_IfcColourRgbList_type = new entity("IfcColourRgbList", false, 164, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcColourSpecification_type = new entity("IfcColourSpecification", true, 165, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcCompositeProfileDef_type = new entity("IfcCompositeProfileDef", false, 180, IFC4X1_IfcProfileDef_type);
+ IFC4X1_IfcConnectedFaceSet_type = new entity("IfcConnectedFaceSet", false, 189, IFC4X1_IfcTopologicalRepresentationItem_type);
+ IFC4X1_IfcConnectionCurveGeometry_type = new entity("IfcConnectionCurveGeometry", false, 190, IFC4X1_IfcConnectionGeometry_type);
+ IFC4X1_IfcConnectionPointEccentricity_type = new entity("IfcConnectionPointEccentricity", false, 192, IFC4X1_IfcConnectionPointGeometry_type);
+ IFC4X1_IfcContextDependentUnit_type = new entity("IfcContextDependentUnit", false, 212, IFC4X1_IfcNamedUnit_type);
+ IFC4X1_IfcConversionBasedUnit_type = new entity("IfcConversionBasedUnit", false, 217, IFC4X1_IfcNamedUnit_type);
+ IFC4X1_IfcConversionBasedUnitWithOffset_type = new entity("IfcConversionBasedUnitWithOffset", false, 218, IFC4X1_IfcConversionBasedUnit_type);
+ IFC4X1_IfcCurrencyRelationship_type = new entity("IfcCurrencyRelationship", false, 244, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcCurveStyle_type = new entity("IfcCurveStyle", false, 257, IFC4X1_IfcPresentationStyle_type);
+ IFC4X1_IfcCurveStyleFont_type = new entity("IfcCurveStyleFont", false, 258, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcCurveStyleFontAndScaling_type = new entity("IfcCurveStyleFontAndScaling", false, 259, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcCurveStyleFontPattern_type = new entity("IfcCurveStyleFontPattern", false, 260, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcDerivedProfileDef_type = new entity("IfcDerivedProfileDef", false, 273, IFC4X1_IfcProfileDef_type);
+ IFC4X1_IfcDocumentInformation_type = new entity("IfcDocumentInformation", false, 301, IFC4X1_IfcExternalInformation_type);
+ IFC4X1_IfcDocumentInformationRelationship_type = new entity("IfcDocumentInformationRelationship", false, 302, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcDocumentReference_type = new entity("IfcDocumentReference", false, 303, IFC4X1_IfcExternalReference_type);
+ IFC4X1_IfcEdge_type = new entity("IfcEdge", false, 332, IFC4X1_IfcTopologicalRepresentationItem_type);
+ IFC4X1_IfcEdgeCurve_type = new entity("IfcEdgeCurve", false, 333, IFC4X1_IfcEdge_type);
+ IFC4X1_IfcEventTime_type = new entity("IfcEventTime", false, 384, IFC4X1_IfcSchedulingTime_type);
+ IFC4X1_IfcExtendedProperties_type = new entity("IfcExtendedProperties", true, 388, IFC4X1_IfcPropertyAbstraction_type);
+ IFC4X1_IfcExternalReferenceRelationship_type = new entity("IfcExternalReferenceRelationship", false, 394, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcFace_type = new entity("IfcFace", false, 400, IFC4X1_IfcTopologicalRepresentationItem_type);
+ IFC4X1_IfcFaceBound_type = new entity("IfcFaceBound", false, 402, IFC4X1_IfcTopologicalRepresentationItem_type);
+ IFC4X1_IfcFaceOuterBound_type = new entity("IfcFaceOuterBound", false, 403, IFC4X1_IfcFaceBound_type);
+ IFC4X1_IfcFaceSurface_type = new entity("IfcFaceSurface", false, 404, IFC4X1_IfcFace_type);
+ IFC4X1_IfcFailureConnectionCondition_type = new entity("IfcFailureConnectionCondition", false, 407, IFC4X1_IfcStructuralConnectionCondition_type);
+ IFC4X1_IfcFillAreaStyle_type = new entity("IfcFillAreaStyle", false, 417, IFC4X1_IfcPresentationStyle_type);
+ IFC4X1_IfcGeometricRepresentationContext_type = new entity("IfcGeometricRepresentationContext", false, 467, IFC4X1_IfcRepresentationContext_type);
+ IFC4X1_IfcGeometricRepresentationItem_type = new entity("IfcGeometricRepresentationItem", true, 468, IFC4X1_IfcRepresentationItem_type);
+ IFC4X1_IfcGeometricRepresentationSubContext_type = new entity("IfcGeometricRepresentationSubContext", false, 469, IFC4X1_IfcGeometricRepresentationContext_type);
+ IFC4X1_IfcGeometricSet_type = new entity("IfcGeometricSet", false, 470, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcGridPlacement_type = new entity("IfcGridPlacement", false, 476, IFC4X1_IfcObjectPlacement_type);
+ IFC4X1_IfcHalfSpaceSolid_type = new entity("IfcHalfSpaceSolid", false, 480, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcImageTexture_type = new entity("IfcImageTexture", false, 492, IFC4X1_IfcSurfaceTexture_type);
+ IFC4X1_IfcIndexedColourMap_type = new entity("IfcIndexedColourMap", false, 493, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcIndexedTextureMap_type = new entity("IfcIndexedTextureMap", true, 497, IFC4X1_IfcTextureCoordinate_type);
+ IFC4X1_IfcIndexedTriangleTextureMap_type = new entity("IfcIndexedTriangleTextureMap", false, 498, IFC4X1_IfcIndexedTextureMap_type);
+ IFC4X1_IfcIrregularTimeSeries_type = new entity("IfcIrregularTimeSeries", false, 510, IFC4X1_IfcTimeSeries_type);
+ IFC4X1_IfcLagTime_type = new entity("IfcLagTime", false, 523, IFC4X1_IfcSchedulingTime_type);
+ IFC4X1_IfcLightSource_type = new entity("IfcLightSource", true, 542, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcLightSourceAmbient_type = new entity("IfcLightSourceAmbient", false, 543, IFC4X1_IfcLightSource_type);
+ IFC4X1_IfcLightSourceDirectional_type = new entity("IfcLightSourceDirectional", false, 544, IFC4X1_IfcLightSource_type);
+ IFC4X1_IfcLightSourceGoniometric_type = new entity("IfcLightSourceGoniometric", false, 545, IFC4X1_IfcLightSource_type);
+ IFC4X1_IfcLightSourcePositional_type = new entity("IfcLightSourcePositional", false, 546, IFC4X1_IfcLightSource_type);
+ IFC4X1_IfcLightSourceSpot_type = new entity("IfcLightSourceSpot", false, 547, IFC4X1_IfcLightSourcePositional_type);
+ IFC4X1_IfcLinearPlacement_type = new entity("IfcLinearPlacement", false, 551, IFC4X1_IfcObjectPlacement_type);
+ IFC4X1_IfcLocalPlacement_type = new entity("IfcLocalPlacement", false, 558, IFC4X1_IfcObjectPlacement_type);
+ IFC4X1_IfcLoop_type = new entity("IfcLoop", false, 561, IFC4X1_IfcTopologicalRepresentationItem_type);
+ IFC4X1_IfcMappedItem_type = new entity("IfcMappedItem", false, 570, IFC4X1_IfcRepresentationItem_type);
+ IFC4X1_IfcMaterial_type = new entity("IfcMaterial", false, 575, IFC4X1_IfcMaterialDefinition_type);
+ IFC4X1_IfcMaterialConstituent_type = new entity("IfcMaterialConstituent", false, 577, IFC4X1_IfcMaterialDefinition_type);
+ IFC4X1_IfcMaterialConstituentSet_type = new entity("IfcMaterialConstituentSet", false, 578, IFC4X1_IfcMaterialDefinition_type);
+ IFC4X1_IfcMaterialDefinitionRepresentation_type = new entity("IfcMaterialDefinitionRepresentation", false, 580, IFC4X1_IfcProductRepresentation_type);
+ IFC4X1_IfcMaterialLayerSetUsage_type = new entity("IfcMaterialLayerSetUsage", false, 583, IFC4X1_IfcMaterialUsageDefinition_type);
+ IFC4X1_IfcMaterialProfileSetUsage_type = new entity("IfcMaterialProfileSetUsage", false, 588, IFC4X1_IfcMaterialUsageDefinition_type);
+ IFC4X1_IfcMaterialProfileSetUsageTapering_type = new entity("IfcMaterialProfileSetUsageTapering", false, 589, IFC4X1_IfcMaterialProfileSetUsage_type);
+ IFC4X1_IfcMaterialProperties_type = new entity("IfcMaterialProperties", false, 591, IFC4X1_IfcExtendedProperties_type);
+ IFC4X1_IfcMaterialRelationship_type = new entity("IfcMaterialRelationship", false, 592, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcMirroredProfileDef_type = new entity("IfcMirroredProfileDef", false, 609, IFC4X1_IfcDerivedProfileDef_type);
+ IFC4X1_IfcObjectDefinition_type = new entity("IfcObjectDefinition", true, 632, IFC4X1_IfcRoot_type);
+ IFC4X1_IfcOpenShell_type = new entity("IfcOpenShell", false, 647, IFC4X1_IfcConnectedFaceSet_type);
+ IFC4X1_IfcOrganizationRelationship_type = new entity("IfcOrganizationRelationship", false, 649, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcOrientationExpression_type = new entity("IfcOrientationExpression", false, 650, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcOrientedEdge_type = new entity("IfcOrientedEdge", false, 651, IFC4X1_IfcEdge_type);
+ IFC4X1_IfcParameterizedProfileDef_type = new entity("IfcParameterizedProfileDef", true, 657, IFC4X1_IfcProfileDef_type);
+ IFC4X1_IfcPath_type = new entity("IfcPath", false, 659, IFC4X1_IfcTopologicalRepresentationItem_type);
+ IFC4X1_IfcPhysicalComplexQuantity_type = new entity("IfcPhysicalComplexQuantity", false, 670, IFC4X1_IfcPhysicalQuantity_type);
+ IFC4X1_IfcPixelTexture_type = new entity("IfcPixelTexture", false, 684, IFC4X1_IfcSurfaceTexture_type);
+ IFC4X1_IfcPlacement_type = new entity("IfcPlacement", true, 685, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcPlanarExtent_type = new entity("IfcPlanarExtent", false, 687, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcPoint_type = new entity("IfcPoint", true, 695, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcPointOnCurve_type = new entity("IfcPointOnCurve", false, 696, IFC4X1_IfcPoint_type);
+ IFC4X1_IfcPointOnSurface_type = new entity("IfcPointOnSurface", false, 697, IFC4X1_IfcPoint_type);
+ IFC4X1_IfcPolyLoop_type = new entity("IfcPolyLoop", false, 702, IFC4X1_IfcLoop_type);
+ IFC4X1_IfcPolygonalBoundedHalfSpace_type = new entity("IfcPolygonalBoundedHalfSpace", false, 699, IFC4X1_IfcHalfSpaceSolid_type);
+ IFC4X1_IfcPreDefinedItem_type = new entity("IfcPreDefinedItem", true, 713, IFC4X1_IfcPresentationItem_type);
+ IFC4X1_IfcPreDefinedProperties_type = new entity("IfcPreDefinedProperties", true, 714, IFC4X1_IfcPropertyAbstraction_type);
+ IFC4X1_IfcPreDefinedTextFont_type = new entity("IfcPreDefinedTextFont", true, 716, IFC4X1_IfcPreDefinedItem_type);
+ IFC4X1_IfcProductDefinitionShape_type = new entity("IfcProductDefinitionShape", false, 732, IFC4X1_IfcProductRepresentation_type);
+ IFC4X1_IfcProfileProperties_type = new entity("IfcProfileProperties", false, 737, IFC4X1_IfcExtendedProperties_type);
+ IFC4X1_IfcProperty_type = new entity("IfcProperty", true, 747, IFC4X1_IfcPropertyAbstraction_type);
+ IFC4X1_IfcPropertyDefinition_type = new entity("IfcPropertyDefinition", true, 750, IFC4X1_IfcRoot_type);
+ IFC4X1_IfcPropertyDependencyRelationship_type = new entity("IfcPropertyDependencyRelationship", false, 751, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcPropertySetDefinition_type = new entity("IfcPropertySetDefinition", true, 757, IFC4X1_IfcPropertyDefinition_type);
+ IFC4X1_IfcPropertyTemplateDefinition_type = new entity("IfcPropertyTemplateDefinition", true, 765, IFC4X1_IfcPropertyDefinition_type);
+ IFC4X1_IfcQuantitySet_type = new entity("IfcQuantitySet", true, 779, IFC4X1_IfcPropertySetDefinition_type);
+ IFC4X1_IfcRectangleProfileDef_type = new entity("IfcRectangleProfileDef", false, 798, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcRegularTimeSeries_type = new entity("IfcRegularTimeSeries", false, 807, IFC4X1_IfcTimeSeries_type);
+ IFC4X1_IfcReinforcementBarProperties_type = new entity("IfcReinforcementBarProperties", false, 808, IFC4X1_IfcPreDefinedProperties_type);
+ IFC4X1_IfcRelationship_type = new entity("IfcRelationship", true, 836, IFC4X1_IfcRoot_type);
+ IFC4X1_IfcResourceApprovalRelationship_type = new entity("IfcResourceApprovalRelationship", false, 874, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcResourceConstraintRelationship_type = new entity("IfcResourceConstraintRelationship", false, 875, IFC4X1_IfcResourceLevelRelationship_type);
+ IFC4X1_IfcResourceTime_type = new entity("IfcResourceTime", false, 879, IFC4X1_IfcSchedulingTime_type);
+ IFC4X1_IfcRoundedRectangleProfileDef_type = new entity("IfcRoundedRectangleProfileDef", false, 893, IFC4X1_IfcRectangleProfileDef_type);
+ IFC4X1_IfcSectionProperties_type = new entity("IfcSectionProperties", false, 904, IFC4X1_IfcPreDefinedProperties_type);
+ IFC4X1_IfcSectionReinforcementProperties_type = new entity("IfcSectionReinforcementProperties", false, 905, IFC4X1_IfcPreDefinedProperties_type);
+ IFC4X1_IfcSectionedSpine_type = new entity("IfcSectionedSpine", false, 902, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcShellBasedSurfaceModel_type = new entity("IfcShellBasedSurfaceModel", false, 920, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcSimpleProperty_type = new entity("IfcSimpleProperty", true, 921, IFC4X1_IfcProperty_type);
+ IFC4X1_IfcSlippageConnectionCondition_type = new entity("IfcSlippageConnectionCondition", false, 935, IFC4X1_IfcStructuralConnectionCondition_type);
+ IFC4X1_IfcSolidModel_type = new entity("IfcSolidModel", true, 940, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcStructuralLoadLinearForce_type = new entity("IfcStructuralLoadLinearForce", false, 995, IFC4X1_IfcStructuralLoadStatic_type);
+ IFC4X1_IfcStructuralLoadPlanarForce_type = new entity("IfcStructuralLoadPlanarForce", false, 997, IFC4X1_IfcStructuralLoadStatic_type);
+ IFC4X1_IfcStructuralLoadSingleDisplacement_type = new entity("IfcStructuralLoadSingleDisplacement", false, 998, IFC4X1_IfcStructuralLoadStatic_type);
+ IFC4X1_IfcStructuralLoadSingleDisplacementDistortion_type = new entity("IfcStructuralLoadSingleDisplacementDistortion", false, 999, IFC4X1_IfcStructuralLoadSingleDisplacement_type);
+ IFC4X1_IfcStructuralLoadSingleForce_type = new entity("IfcStructuralLoadSingleForce", false, 1000, IFC4X1_IfcStructuralLoadStatic_type);
+ IFC4X1_IfcStructuralLoadSingleForceWarping_type = new entity("IfcStructuralLoadSingleForceWarping", false, 1001, IFC4X1_IfcStructuralLoadSingleForce_type);
+ IFC4X1_IfcSubedge_type = new entity("IfcSubedge", false, 1025, IFC4X1_IfcEdge_type);
+ IFC4X1_IfcSurface_type = new entity("IfcSurface", true, 1026, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcSurfaceStyleRendering_type = new entity("IfcSurfaceStyleRendering", false, 1040, IFC4X1_IfcSurfaceStyleShading_type);
+ IFC4X1_IfcSweptAreaSolid_type = new entity("IfcSweptAreaSolid", true, 1044, IFC4X1_IfcSolidModel_type);
+ IFC4X1_IfcSweptDiskSolid_type = new entity("IfcSweptDiskSolid", false, 1045, IFC4X1_IfcSolidModel_type);
+ IFC4X1_IfcSweptDiskSolidPolygonal_type = new entity("IfcSweptDiskSolidPolygonal", false, 1046, IFC4X1_IfcSweptDiskSolid_type);
+ IFC4X1_IfcSweptSurface_type = new entity("IfcSweptSurface", true, 1047, IFC4X1_IfcSurface_type);
+ IFC4X1_IfcTShapeProfileDef_type = new entity("IfcTShapeProfileDef", false, 1130, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcTessellatedItem_type = new entity("IfcTessellatedItem", true, 1077, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcTextLiteral_type = new entity("IfcTextLiteral", false, 1083, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcTextLiteralWithExtent_type = new entity("IfcTextLiteralWithExtent", false, 1084, IFC4X1_IfcTextLiteral_type);
+ IFC4X1_IfcTextStyleFontModel_type = new entity("IfcTextStyleFontModel", false, 1087, IFC4X1_IfcPreDefinedTextFont_type);
+ IFC4X1_IfcTrapeziumProfileDef_type = new entity("IfcTrapeziumProfileDef", false, 1124, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcTypeObject_type = new entity("IfcTypeObject", false, 1134, IFC4X1_IfcObjectDefinition_type);
+ IFC4X1_IfcTypeProcess_type = new entity("IfcTypeProcess", true, 1135, IFC4X1_IfcTypeObject_type);
+ IFC4X1_IfcTypeProduct_type = new entity("IfcTypeProduct", false, 1136, IFC4X1_IfcTypeObject_type);
+ IFC4X1_IfcTypeResource_type = new entity("IfcTypeResource", true, 1137, IFC4X1_IfcTypeObject_type);
+ IFC4X1_IfcUShapeProfileDef_type = new entity("IfcUShapeProfileDef", false, 1148, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcVector_type = new entity("IfcVector", false, 1154, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcVertexLoop_type = new entity("IfcVertexLoop", false, 1157, IFC4X1_IfcLoop_type);
+ IFC4X1_IfcWindowStyle_type = new entity("IfcWindowStyle", false, 1185, IFC4X1_IfcTypeProduct_type);
+ IFC4X1_IfcZShapeProfileDef_type = new entity("IfcZShapeProfileDef", false, 1200, IFC4X1_IfcParameterizedProfileDef_type);
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcClassification_type);
+ items.push_back(IFC4X1_IfcClassificationReference_type);
+ IFC4X1_IfcClassificationReferenceSelect_type = new select_type("IfcClassificationReferenceSelect", 155, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcClassification_type);
+ items.push_back(IFC4X1_IfcClassificationReference_type);
+ IFC4X1_IfcClassificationSelect_type = new select_type("IfcClassificationSelect", 156, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcCoordinateReferenceSystem_type);
+ items.push_back(IFC4X1_IfcGeometricRepresentationContext_type);
+ IFC4X1_IfcCoordinateReferenceSystemSelect_type = new select_type("IfcCoordinateReferenceSystemSelect", 227, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcObjectDefinition_type);
+ items.push_back(IFC4X1_IfcPropertyDefinition_type);
+ IFC4X1_IfcDefinitionSelect_type = new select_type("IfcDefinitionSelect", 271, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcDocumentInformation_type);
+ items.push_back(IFC4X1_IfcDocumentReference_type);
+ IFC4X1_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 304, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcPositiveLengthMeasure_type);
+ items.push_back(IFC4X1_IfcVector_type);
+ IFC4X1_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 481, items);
+ }
+ {
+ std::vector items; items.reserve(23);
+ items.push_back(IFC4X1_IfcAmountOfSubstanceMeasure_type);
+ items.push_back(IFC4X1_IfcAreaMeasure_type);
+ items.push_back(IFC4X1_IfcComplexNumber_type);
+ items.push_back(IFC4X1_IfcContextDependentMeasure_type);
+ items.push_back(IFC4X1_IfcCountMeasure_type);
+ items.push_back(IFC4X1_IfcDescriptiveMeasure_type);
+ items.push_back(IFC4X1_IfcElectricCurrentMeasure_type);
+ items.push_back(IFC4X1_IfcLengthMeasure_type);
+ items.push_back(IFC4X1_IfcLuminousIntensityMeasure_type);
+ items.push_back(IFC4X1_IfcMassMeasure_type);
+ items.push_back(IFC4X1_IfcNonNegativeLengthMeasure_type);
+ items.push_back(IFC4X1_IfcNormalisedRatioMeasure_type);
+ items.push_back(IFC4X1_IfcNumericMeasure_type);
+ items.push_back(IFC4X1_IfcParameterValue_type);
+ items.push_back(IFC4X1_IfcPlaneAngleMeasure_type);
+ items.push_back(IFC4X1_IfcPositiveLengthMeasure_type);
+ items.push_back(IFC4X1_IfcPositivePlaneAngleMeasure_type);
+ items.push_back(IFC4X1_IfcPositiveRatioMeasure_type);
+ items.push_back(IFC4X1_IfcRatioMeasure_type);
+ items.push_back(IFC4X1_IfcSolidAngleMeasure_type);
+ items.push_back(IFC4X1_IfcThermodynamicTemperatureMeasure_type);
+ items.push_back(IFC4X1_IfcTimeMeasure_type);
+ items.push_back(IFC4X1_IfcVolumeMeasure_type);
+ IFC4X1_IfcMeasureValue_type = new select_type("IfcMeasureValue", 595, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcPoint_type);
+ items.push_back(IFC4X1_IfcVertexPoint_type);
+ IFC4X1_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 698, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back(IFC4X1_IfcCurveStyle_type);
+ items.push_back(IFC4X1_IfcFillAreaStyle_type);
+ items.push_back(IFC4X1_IfcNullStyle_type);
+ items.push_back(IFC4X1_IfcSurfaceStyle_type);
+ items.push_back(IFC4X1_IfcTextStyle_type);
+ IFC4X1_IfcPresentationStyleSelect_type = new select_type("IfcPresentationStyleSelect", 724, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcProductDefinitionShape_type);
+ items.push_back(IFC4X1_IfcRepresentationMap_type);
+ IFC4X1_IfcProductRepresentationSelect_type = new select_type("IfcProductRepresentationSelect", 734, items);
+ }
+ IFC4X1_IfcPropertySetDefinitionSet_type = new type_declaration("IfcPropertySetDefinitionSet", 759, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X1_IfcPropertySetDefinition_type)));
+ {
+ std::vector items; items.reserve(17);
+ items.push_back(IFC4X1_IfcActorRole_type);
+ items.push_back(IFC4X1_IfcAppliedValue_type);
+ items.push_back(IFC4X1_IfcApproval_type);
+ items.push_back(IFC4X1_IfcConstraint_type);
+ items.push_back(IFC4X1_IfcContextDependentUnit_type);
+ items.push_back(IFC4X1_IfcConversionBasedUnit_type);
+ items.push_back(IFC4X1_IfcExternalInformation_type);
+ items.push_back(IFC4X1_IfcExternalReference_type);
+ items.push_back(IFC4X1_IfcMaterialDefinition_type);
+ items.push_back(IFC4X1_IfcOrganization_type);
+ items.push_back(IFC4X1_IfcPerson_type);
+ items.push_back(IFC4X1_IfcPersonAndOrganization_type);
+ items.push_back(IFC4X1_IfcPhysicalQuantity_type);
+ items.push_back(IFC4X1_IfcProfileDef_type);
+ items.push_back(IFC4X1_IfcPropertyAbstraction_type);
+ items.push_back(IFC4X1_IfcShapeAspect_type);
+ items.push_back(IFC4X1_IfcTimeSeries_type);
+ IFC4X1_IfcResourceObjectSelect_type = new select_type("IfcResourceObjectSelect", 877, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcExternallyDefinedTextFont_type);
+ items.push_back(IFC4X1_IfcPreDefinedTextFont_type);
+ IFC4X1_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 1082, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IFC4X1_IfcDerivedMeasureValue_type);
+ items.push_back(IFC4X1_IfcMeasureValue_type);
+ items.push_back(IFC4X1_IfcSimpleValue_type);
+ IFC4X1_IfcValue_type = new select_type("IfcValue", 1149, items);
+ }
+ IFC4X1_IfcAdvancedFace_type = new entity("IfcAdvancedFace", false, 16, IFC4X1_IfcFaceSurface_type);
+ IFC4X1_IfcAlignment2DHorizontal_type = new entity("IfcAlignment2DHorizontal", false, 30, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcAlignment2DSegment_type = new entity("IfcAlignment2DSegment", true, 32, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcAlignment2DVertical_type = new entity("IfcAlignment2DVertical", false, 36, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcAlignment2DVerticalSegment_type = new entity("IfcAlignment2DVerticalSegment", true, 37, IFC4X1_IfcAlignment2DSegment_type);
+ IFC4X1_IfcAnnotationFillArea_type = new entity("IfcAnnotationFillArea", false, 45, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcAsymmetricIShapeProfileDef_type = new entity("IfcAsymmetricIShapeProfileDef", false, 60, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcAxis1Placement_type = new entity("IfcAxis1Placement", false, 64, IFC4X1_IfcPlacement_type);
+ IFC4X1_IfcAxis2Placement2D_type = new entity("IfcAxis2Placement2D", false, 66, IFC4X1_IfcPlacement_type);
+ IFC4X1_IfcAxis2Placement3D_type = new entity("IfcAxis2Placement3D", false, 67, IFC4X1_IfcPlacement_type);
+ IFC4X1_IfcBooleanResult_type = new entity("IfcBooleanResult", false, 84, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcBoundedSurface_type = new entity("IfcBoundedSurface", true, 92, IFC4X1_IfcSurface_type);
+ IFC4X1_IfcBoundingBox_type = new entity("IfcBoundingBox", false, 93, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcBoxedHalfSpace_type = new entity("IfcBoxedHalfSpace", false, 95, IFC4X1_IfcHalfSpaceSolid_type);
+ IFC4X1_IfcCShapeProfileDef_type = new entity("IfcCShapeProfileDef", false, 243, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcCartesianPoint_type = new entity("IfcCartesianPoint", false, 130, IFC4X1_IfcPoint_type);
+ IFC4X1_IfcCartesianPointList_type = new entity("IfcCartesianPointList", true, 131, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcCartesianPointList2D_type = new entity("IfcCartesianPointList2D", false, 132, IFC4X1_IfcCartesianPointList_type);
+ IFC4X1_IfcCartesianPointList3D_type = new entity("IfcCartesianPointList3D", false, 133, IFC4X1_IfcCartesianPointList_type);
+ IFC4X1_IfcCartesianTransformationOperator_type = new entity("IfcCartesianTransformationOperator", true, 134, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcCartesianTransformationOperator2D_type = new entity("IfcCartesianTransformationOperator2D", false, 135, IFC4X1_IfcCartesianTransformationOperator_type);
+ IFC4X1_IfcCartesianTransformationOperator2DnonUniform_type = new entity("IfcCartesianTransformationOperator2DnonUniform", false, 136, IFC4X1_IfcCartesianTransformationOperator2D_type);
+ IFC4X1_IfcCartesianTransformationOperator3D_type = new entity("IfcCartesianTransformationOperator3D", false, 137, IFC4X1_IfcCartesianTransformationOperator_type);
+ IFC4X1_IfcCartesianTransformationOperator3DnonUniform_type = new entity("IfcCartesianTransformationOperator3DnonUniform", false, 138, IFC4X1_IfcCartesianTransformationOperator3D_type);
+ IFC4X1_IfcCircleProfileDef_type = new entity("IfcCircleProfileDef", false, 149, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcClosedShell_type = new entity("IfcClosedShell", false, 157, IFC4X1_IfcConnectedFaceSet_type);
+ IFC4X1_IfcColourRgb_type = new entity("IfcColourRgb", false, 163, IFC4X1_IfcColourSpecification_type);
+ IFC4X1_IfcComplexProperty_type = new entity("IfcComplexProperty", false, 174, IFC4X1_IfcProperty_type);
+ IFC4X1_IfcCompositeCurveSegment_type = new entity("IfcCompositeCurveSegment", false, 179, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcConstructionResourceType_type = new entity("IfcConstructionResourceType", true, 209, IFC4X1_IfcTypeResource_type);
+ IFC4X1_IfcContext_type = new entity("IfcContext", true, 210, IFC4X1_IfcObjectDefinition_type);
+ IFC4X1_IfcCrewResourceType_type = new entity("IfcCrewResourceType", false, 238, IFC4X1_IfcConstructionResourceType_type);
+ IFC4X1_IfcCsgPrimitive3D_type = new entity("IfcCsgPrimitive3D", true, 240, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcCsgSolid_type = new entity("IfcCsgSolid", false, 242, IFC4X1_IfcSolidModel_type);
+ IFC4X1_IfcCurve_type = new entity("IfcCurve", true, 249, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcCurveBoundedPlane_type = new entity("IfcCurveBoundedPlane", false, 250, IFC4X1_IfcBoundedSurface_type);
+ IFC4X1_IfcCurveBoundedSurface_type = new entity("IfcCurveBoundedSurface", false, 251, IFC4X1_IfcBoundedSurface_type);
+ IFC4X1_IfcDirection_type = new entity("IfcDirection", false, 280, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcDistanceExpression_type = new entity("IfcDistanceExpression", false, 285, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcDoorStyle_type = new entity("IfcDoorStyle", false, 312, IFC4X1_IfcTypeProduct_type);
+ IFC4X1_IfcEdgeLoop_type = new entity("IfcEdgeLoop", false, 334, IFC4X1_IfcLoop_type);
+ IFC4X1_IfcElementQuantity_type = new entity("IfcElementQuantity", false, 367, IFC4X1_IfcQuantitySet_type);
+ IFC4X1_IfcElementType_type = new entity("IfcElementType", true, 368, IFC4X1_IfcTypeProduct_type);
+ IFC4X1_IfcElementarySurface_type = new entity("IfcElementarySurface", true, 360, IFC4X1_IfcSurface_type);
+ IFC4X1_IfcEllipseProfileDef_type = new entity("IfcEllipseProfileDef", false, 370, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcEventType_type = new entity("IfcEventType", false, 386, IFC4X1_IfcTypeProcess_type);
+ IFC4X1_IfcExtrudedAreaSolid_type = new entity("IfcExtrudedAreaSolid", false, 398, IFC4X1_IfcSweptAreaSolid_type);
+ IFC4X1_IfcExtrudedAreaSolidTapered_type = new entity("IfcExtrudedAreaSolidTapered", false, 399, IFC4X1_IfcExtrudedAreaSolid_type);
+ IFC4X1_IfcFaceBasedSurfaceModel_type = new entity("IfcFaceBasedSurfaceModel", false, 401, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcFillAreaStyleHatching_type = new entity("IfcFillAreaStyleHatching", false, 418, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcFillAreaStyleTiles_type = new entity("IfcFillAreaStyleTiles", false, 419, IFC4X1_IfcGeometricRepresentationItem_type);
+ IFC4X1_IfcFixedReferenceSweptAreaSolid_type = new entity("IfcFixedReferenceSweptAreaSolid", false, 427, IFC4X1_IfcSweptAreaSolid_type);
+ IFC4X1_IfcFurnishingElementType_type = new entity("IfcFurnishingElementType", false, 458, IFC4X1_IfcElementType_type);
+ IFC4X1_IfcFurnitureType_type = new entity("IfcFurnitureType", false, 460, IFC4X1_IfcFurnishingElementType_type);
+ IFC4X1_IfcGeographicElementType_type = new entity("IfcGeographicElementType", false, 463, IFC4X1_IfcElementType_type);
+ IFC4X1_IfcGeometricCurveSet_type = new entity("IfcGeometricCurveSet", false, 465, IFC4X1_IfcGeometricSet_type);
+ IFC4X1_IfcIShapeProfileDef_type = new entity("IfcIShapeProfileDef", false, 512, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcIndexedPolygonalFace_type = new entity("IfcIndexedPolygonalFace", false, 495, IFC4X1_IfcTessellatedItem_type);
+ IFC4X1_IfcIndexedPolygonalFaceWithVoids_type = new entity("IfcIndexedPolygonalFaceWithVoids", false, 496, IFC4X1_IfcIndexedPolygonalFace_type);
+ IFC4X1_IfcLShapeProfileDef_type = new entity("IfcLShapeProfileDef", false, 562, IFC4X1_IfcParameterizedProfileDef_type);
+ IFC4X1_IfcLaborResourceType_type = new entity("IfcLaborResourceType", false, 521, IFC4X1_IfcConstructionResourceType_type);
+ IFC4X1_IfcLine_type = new entity("IfcLine", false, 548, IFC4X1_IfcCurve_type);
+ IFC4X1_IfcManifoldSolidBrep_type = new entity("IfcManifoldSolidBrep", true, 568, IFC4X1_IfcSolidModel_type);
+ IFC4X1_IfcObject_type = new entity("IfcObject", true, 631, IFC4X1_IfcObjectDefinition_type);
+ IFC4X1_IfcOffsetCurve_type = new entity("IfcOffsetCurve", true, 640, IFC4X1_IfcCurve_type);
+ IFC4X1_IfcOffsetCurve2D_type = new entity("IfcOffsetCurve2D", false, 641, IFC4X1_IfcOffsetCurve_type);
+ IFC4X1_IfcOffsetCurve3D_type = new entity("IfcOffsetCurve3D", false, 642, IFC4X1_IfcOffsetCurve_type);
+ IFC4X1_IfcOffsetCurveByDistances_type = new entity("IfcOffsetCurveByDistances", false, 643, IFC4X1_IfcOffsetCurve_type);
+ IFC4X1_IfcPcurve_type = new entity("IfcPcurve", false, 660, IFC4X1_IfcCurve_type);
+ IFC4X1_IfcPlanarBox_type = new entity("IfcPlanarBox", false, 686, IFC4X1_IfcPlanarExtent_type);
+ IFC4X1_IfcPlane_type = new entity("IfcPlane", false, 689, IFC4X1_IfcElementarySurface_type);
+ IFC4X1_IfcPreDefinedColour_type = new entity("IfcPreDefinedColour", true, 711, IFC4X1_IfcPreDefinedItem_type);
+ IFC4X1_IfcPreDefinedCurveFont_type = new entity("IfcPreDefinedCurveFont", true, 712, IFC4X1_IfcPreDefinedItem_type);
+ IFC4X1_IfcPreDefinedPropertySet_type = new entity("IfcPreDefinedPropertySet", true, 715, IFC4X1_IfcPropertySetDefinition_type);
+ IFC4X1_IfcProcedureType_type = new entity("IfcProcedureType", false, 727, IFC4X1_IfcTypeProcess_type);
+ IFC4X1_IfcProcess_type = new entity("IfcProcess", true, 729, IFC4X1_IfcObject_type);
+ IFC4X1_IfcProduct_type = new entity("IfcProduct", true, 731, IFC4X1_IfcObject_type);
+ IFC4X1_IfcProject_type = new entity("IfcProject", false, 739, IFC4X1_IfcContext_type);
+ IFC4X1_IfcProjectLibrary_type = new entity("IfcProjectLibrary", false, 744, IFC4X1_IfcContext_type);
+ IFC4X1_IfcPropertyBoundedValue_type = new entity("IfcPropertyBoundedValue", false, 749, IFC4X1_IfcSimpleProperty_type);
+ IFC4X1_IfcPropertyEnumeratedValue_type = new entity("IfcPropertyEnumeratedValue", false, 752, IFC4X1_IfcSimpleProperty_type);
+ IFC4X1_IfcPropertyListValue_type = new entity("IfcPropertyListValue", false, 754, IFC4X1_IfcSimpleProperty_type);
+ IFC4X1_IfcPropertyReferenceValue_type = new entity("IfcPropertyReferenceValue", false, 755, IFC4X1_IfcSimpleProperty_type);
+ IFC4X1_IfcPropertySet_type = new entity("IfcPropertySet", false, 756, IFC4X1_IfcPropertySetDefinition_type);
+ IFC4X1_IfcPropertySetTemplate_type = new entity("IfcPropertySetTemplate", false, 760, IFC4X1_IfcPropertyTemplateDefinition_type);
+ IFC4X1_IfcPropertySingleValue_type = new entity("IfcPropertySingleValue", false, 762, IFC4X1_IfcSimpleProperty_type);
+ IFC4X1_IfcPropertyTableValue_type = new entity("IfcPropertyTableValue", false, 763, IFC4X1_IfcSimpleProperty_type);
+ IFC4X1_IfcPropertyTemplate_type = new entity("IfcPropertyTemplate", true, 764, IFC4X1_IfcPropertyTemplateDefinition_type);
+ IFC4X1_IfcProxy_type = new entity("IfcProxy", false, 772, IFC4X1_IfcProduct_type);
+ IFC4X1_IfcRectangleHollowProfileDef_type = new entity("IfcRectangleHollowProfileDef", false, 797, IFC4X1_IfcRectangleProfileDef_type);
+ IFC4X1_IfcRectangularPyramid_type = new entity("IfcRectangularPyramid", false, 799, IFC4X1_IfcCsgPrimitive3D_type);
+ IFC4X1_IfcRectangularTrimmedSurface_type = new entity("IfcRectangularTrimmedSurface", false, 800, IFC4X1_IfcBoundedSurface_type);
+ IFC4X1_IfcReinforcementDefinitionProperties_type = new entity("IfcReinforcementDefinitionProperties", false, 809, IFC4X1_IfcPreDefinedPropertySet_type);
+ IFC4X1_IfcRelAssigns_type = new entity("IfcRelAssigns", true, 821, IFC4X1_IfcRelationship_type);
+ IFC4X1_IfcRelAssignsToActor_type = new entity("IfcRelAssignsToActor", false, 822, IFC4X1_IfcRelAssigns_type);
+ IFC4X1_IfcRelAssignsToControl_type = new entity("IfcRelAssignsToControl", false, 823, IFC4X1_IfcRelAssigns_type);
+ IFC4X1_IfcRelAssignsToGroup_type = new entity("IfcRelAssignsToGroup", false, 824, IFC4X1_IfcRelAssigns_type);
+ IFC4X1_IfcRelAssignsToGroupByFactor_type = new entity("IfcRelAssignsToGroupByFactor", false, 825, IFC4X1_IfcRelAssignsToGroup_type);
+ IFC4X1_IfcRelAssignsToProcess_type = new entity("IfcRelAssignsToProcess", false, 826, IFC4X1_IfcRelAssigns_type);
+ IFC4X1_IfcRelAssignsToProduct_type = new entity("IfcRelAssignsToProduct", false, 827, IFC4X1_IfcRelAssigns_type);
+ IFC4X1_IfcRelAssignsToResource_type = new entity("IfcRelAssignsToResource", false, 828, IFC4X1_IfcRelAssigns_type);
+ IFC4X1_IfcRelAssociates_type = new entity("IfcRelAssociates", true, 829, IFC4X1_IfcRelationship_type);
+ IFC4X1_IfcRelAssociatesApproval_type = new entity("IfcRelAssociatesApproval", false, 830, IFC4X1_IfcRelAssociates_type);
+ IFC4X1_IfcRelAssociatesClassification_type = new entity("IfcRelAssociatesClassification", false, 831, IFC4X1_IfcRelAssociates_type);
+ IFC4X1_IfcRelAssociatesConstraint_type = new entity("IfcRelAssociatesConstraint", false, 832, IFC4X1_IfcRelAssociates_type);
+ IFC4X1_IfcRelAssociatesDocument_type = new entity("IfcRelAssociatesDocument", false, 833, IFC4X1_IfcRelAssociates_type);
+ IFC4X1_IfcRelAssociatesLibrary_type = new entity("IfcRelAssociatesLibrary", false, 834, IFC4X1_IfcRelAssociates_type);
+ IFC4X1_IfcRelAssociatesMaterial_type = new entity("IfcRelAssociatesMaterial", false, 835, IFC4X1_IfcRelAssociates_type);
+ IFC4X1_IfcRelConnects_type = new entity("IfcRelConnects", true, 837, IFC4X1_IfcRelationship_type);
+ IFC4X1_IfcRelConnectsElements_type = new entity("IfcRelConnectsElements", false, 838, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelConnectsPathElements_type = new entity("IfcRelConnectsPathElements", false, 839, IFC4X1_IfcRelConnectsElements_type);
+ IFC4X1_IfcRelConnectsPortToElement_type = new entity("IfcRelConnectsPortToElement", false, 841, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelConnectsPorts_type = new entity("IfcRelConnectsPorts", false, 840, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelConnectsStructuralActivity_type = new entity("IfcRelConnectsStructuralActivity", false, 842, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelConnectsStructuralMember_type = new entity("IfcRelConnectsStructuralMember", false, 843, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelConnectsWithEccentricity_type = new entity("IfcRelConnectsWithEccentricity", false, 844, IFC4X1_IfcRelConnectsStructuralMember_type);
+ IFC4X1_IfcRelConnectsWithRealizingElements_type = new entity("IfcRelConnectsWithRealizingElements", false, 845, IFC4X1_IfcRelConnectsElements_type);
+ IFC4X1_IfcRelContainedInSpatialStructure_type = new entity("IfcRelContainedInSpatialStructure", false, 846, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelCoversBldgElements_type = new entity("IfcRelCoversBldgElements", false, 847, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelCoversSpaces_type = new entity("IfcRelCoversSpaces", false, 848, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelDeclares_type = new entity("IfcRelDeclares", false, 849, IFC4X1_IfcRelationship_type);
+ IFC4X1_IfcRelDecomposes_type = new entity("IfcRelDecomposes", true, 850, IFC4X1_IfcRelationship_type);
+ IFC4X1_IfcRelDefines_type = new entity("IfcRelDefines", true, 851, IFC4X1_IfcRelationship_type);
+ IFC4X1_IfcRelDefinesByObject_type = new entity("IfcRelDefinesByObject", false, 852, IFC4X1_IfcRelDefines_type);
+ IFC4X1_IfcRelDefinesByProperties_type = new entity("IfcRelDefinesByProperties", false, 853, IFC4X1_IfcRelDefines_type);
+ IFC4X1_IfcRelDefinesByTemplate_type = new entity("IfcRelDefinesByTemplate", false, 854, IFC4X1_IfcRelDefines_type);
+ IFC4X1_IfcRelDefinesByType_type = new entity("IfcRelDefinesByType", false, 855, IFC4X1_IfcRelDefines_type);
+ IFC4X1_IfcRelFillsElement_type = new entity("IfcRelFillsElement", false, 856, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelFlowControlElements_type = new entity("IfcRelFlowControlElements", false, 857, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelInterferesElements_type = new entity("IfcRelInterferesElements", false, 858, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelNests_type = new entity("IfcRelNests", false, 859, IFC4X1_IfcRelDecomposes_type);
+ IFC4X1_IfcRelProjectsElement_type = new entity("IfcRelProjectsElement", false, 860, IFC4X1_IfcRelDecomposes_type);
+ IFC4X1_IfcRelReferencedInSpatialStructure_type = new entity("IfcRelReferencedInSpatialStructure", false, 861, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelSequence_type = new entity("IfcRelSequence", false, 862, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelServicesBuildings_type = new entity("IfcRelServicesBuildings", false, 863, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelSpaceBoundary_type = new entity("IfcRelSpaceBoundary", false, 864, IFC4X1_IfcRelConnects_type);
+ IFC4X1_IfcRelSpaceBoundary1stLevel_type = new entity("IfcRelSpaceBoundary1stLevel", false, 865, IFC4X1_IfcRelSpaceBoundary_type);
+ IFC4X1_IfcRelSpaceBoundary2ndLevel_type = new entity("IfcRelSpaceBoundary2ndLevel", false, 866, IFC4X1_IfcRelSpaceBoundary1stLevel_type);
+ IFC4X1_IfcRelVoidsElement_type = new entity("IfcRelVoidsElement", false, 867, IFC4X1_IfcRelDecomposes_type);
+ IFC4X1_IfcReparametrisedCompositeCurveSegment_type = new entity("IfcReparametrisedCompositeCurveSegment", false, 868, IFC4X1_IfcCompositeCurveSegment_type);
+ IFC4X1_IfcResource_type = new entity("IfcResource", true, 873, IFC4X1_IfcObject_type);
+ IFC4X1_IfcRevolvedAreaSolid_type = new entity("IfcRevolvedAreaSolid", false, 880, IFC4X1_IfcSweptAreaSolid_type);
+ IFC4X1_IfcRevolvedAreaSolidTapered_type = new entity("IfcRevolvedAreaSolidTapered", false, 881, IFC4X1_IfcRevolvedAreaSolid_type);
+ IFC4X1_IfcRightCircularCone_type = new entity("IfcRightCircularCone", false, 882, IFC4X1_IfcCsgPrimitive3D_type);
+ IFC4X1_IfcRightCircularCylinder_type = new entity("IfcRightCircularCylinder", false, 883, IFC4X1_IfcCsgPrimitive3D_type);
+ IFC4X1_IfcSectionedSolid_type = new entity("IfcSectionedSolid", true, 900, IFC4X1_IfcSolidModel_type);
+ IFC4X1_IfcSectionedSolidHorizontal_type = new entity("IfcSectionedSolidHorizontal", false, 901, IFC4X1_IfcSectionedSolid_type);
+ IFC4X1_IfcSimplePropertyTemplate_type = new entity("IfcSimplePropertyTemplate", false, 922, IFC4X1_IfcPropertyTemplate_type);
+ IFC4X1_IfcSpatialElement_type = new entity("IfcSpatialElement", true, 953, IFC4X1_IfcProduct_type);
+ IFC4X1_IfcSpatialElementType_type = new entity("IfcSpatialElementType", true, 954, IFC4X1_IfcTypeProduct_type);
+ IFC4X1_IfcSpatialStructureElement_type = new entity("IfcSpatialStructureElement", true, 955, IFC4X1_IfcSpatialElement_type);
+ IFC4X1_IfcSpatialStructureElementType_type = new entity("IfcSpatialStructureElementType", true, 956, IFC4X1_IfcSpatialElementType_type);
+ IFC4X1_IfcSpatialZone_type = new entity("IfcSpatialZone", false, 957, IFC4X1_IfcSpatialElement_type);
+ IFC4X1_IfcSpatialZoneType_type = new entity("IfcSpatialZoneType", false, 958, IFC4X1_IfcSpatialElementType_type);
+ IFC4X1_IfcSphere_type = new entity("IfcSphere", false, 964, IFC4X1_IfcCsgPrimitive3D_type);
+ IFC4X1_IfcSphericalSurface_type = new entity("IfcSphericalSurface", false, 965, IFC4X1_IfcElementarySurface_type);
+ IFC4X1_IfcStructuralActivity_type = new entity("IfcStructuralActivity", true, 977, IFC4X1_IfcProduct_type);
+ IFC4X1_IfcStructuralItem_type = new entity("IfcStructuralItem", true, 989, IFC4X1_IfcProduct_type);
+ IFC4X1_IfcStructuralMember_type = new entity("IfcStructuralMember", true, 1004, IFC4X1_IfcStructuralItem_type);
+ IFC4X1_IfcStructuralReaction_type = new entity("IfcStructuralReaction", true, 1009, IFC4X1_IfcStructuralActivity_type);
+ IFC4X1_IfcStructuralSurfaceMember_type = new entity("IfcStructuralSurfaceMember", false, 1014, IFC4X1_IfcStructuralMember_type);
+ IFC4X1_IfcStructuralSurfaceMemberVarying_type = new entity("IfcStructuralSurfaceMemberVarying", false, 1016, IFC4X1_IfcStructuralSurfaceMember_type);
+ IFC4X1_IfcStructuralSurfaceReaction_type = new entity("IfcStructuralSurfaceReaction", false, 1017, IFC4X1_IfcStructuralReaction_type);
+ IFC4X1_IfcSubContractResourceType_type = new entity("IfcSubContractResourceType", false, 1023, IFC4X1_IfcConstructionResourceType_type);
+ IFC4X1_IfcSurfaceCurve_type = new entity("IfcSurfaceCurve", false, 1027, IFC4X1_IfcCurve_type);
+ IFC4X1_IfcSurfaceCurveSweptAreaSolid_type = new entity("IfcSurfaceCurveSweptAreaSolid", false, 1028, IFC4X1_IfcSweptAreaSolid_type);
+ IFC4X1_IfcSurfaceOfLinearExtrusion_type = new entity("IfcSurfaceOfLinearExtrusion", false, 1031, IFC4X1_IfcSweptSurface_type);
+ IFC4X1_IfcSurfaceOfRevolution_type = new entity("IfcSurfaceOfRevolution", false, 1032, IFC4X1_IfcSweptSurface_type);
+ IFC4X1_IfcSystemFurnitureElementType_type = new entity("IfcSystemFurnitureElementType", false, 1053, IFC4X1_IfcFurnishingElementType_type);
+ IFC4X1_IfcTask_type = new entity("IfcTask", false, 1061, IFC4X1_IfcProcess_type);
+ IFC4X1_IfcTaskType_type = new entity("IfcTaskType", false, 1065, IFC4X1_IfcTypeProcess_type);
+ IFC4X1_IfcTessellatedFaceSet_type = new entity("IfcTessellatedFaceSet", true, 1076, IFC4X1_IfcTessellatedItem_type);
+ IFC4X1_IfcToroidalSurface_type = new entity("IfcToroidalSurface", false, 1112, IFC4X1_IfcElementarySurface_type);
+ IFC4X1_IfcTransportElementType_type = new entity("IfcTransportElementType", false, 1122, IFC4X1_IfcElementType_type);
+ IFC4X1_IfcTriangulatedFaceSet_type = new entity("IfcTriangulatedFaceSet", false, 1125, IFC4X1_IfcTessellatedFaceSet_type);
+ IFC4X1_IfcTriangulatedIrregularNetwork_type = new entity("IfcTriangulatedIrregularNetwork", false, 1126, IFC4X1_IfcTriangulatedFaceSet_type);
+ IFC4X1_IfcWindowLiningProperties_type = new entity("IfcWindowLiningProperties", false, 1180, IFC4X1_IfcPreDefinedPropertySet_type);
+ IFC4X1_IfcWindowPanelProperties_type = new entity("IfcWindowPanelProperties", false, 1183, IFC4X1_IfcPreDefinedPropertySet_type);
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IFC4X1_IfcMeasureWithUnit_type);
+ items.push_back(IFC4X1_IfcReference_type);
+ items.push_back(IFC4X1_IfcValue_type);
+ IFC4X1_IfcAppliedValueSelect_type = new select_type("IfcAppliedValueSelect", 48, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcAxis2Placement2D_type);
+ items.push_back(IFC4X1_IfcAxis2Placement3D_type);
+ IFC4X1_IfcAxis2Placement_type = new select_type("IfcAxis2Placement", 65, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back(IFC4X1_IfcBooleanResult_type);
+ items.push_back(IFC4X1_IfcCsgPrimitive3D_type);
+ items.push_back(IFC4X1_IfcHalfSpaceSolid_type);
+ items.push_back(IFC4X1_IfcSolidModel_type);
+ items.push_back(IFC4X1_IfcTessellatedFaceSet_type);
+ IFC4X1_IfcBooleanOperand_type = new select_type("IfcBooleanOperand", 82, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcColourSpecification_type);
+ items.push_back(IFC4X1_IfcPreDefinedColour_type);
+ IFC4X1_IfcColour_type = new select_type("IfcColour", 161, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcColourRgb_type);
+ items.push_back(IFC4X1_IfcNormalisedRatioMeasure_type);
+ IFC4X1_IfcColourOrFactor_type = new select_type("IfcColourOrFactor", 162, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcBooleanResult_type);
+ items.push_back(IFC4X1_IfcCsgPrimitive3D_type);
+ IFC4X1_IfcCsgSelect_type = new select_type("IfcCsgSelect", 241, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IFC4X1_IfcCurveStyleFont_type);
+ items.push_back(IFC4X1_IfcPreDefinedCurveFont_type);
+ IFC4X1_IfcCurveStyleFontSelect_type = new select_type("IfcCurveStyleFontSelect", 261, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back(IFC4X1_IfcColour_type);
+ items.push_back(IFC4X1_IfcExternallyDefinedHatchStyle_type);
+ items.push_back(IFC4X1_IfcFillAreaStyleHatching_type);
+ items.push_back(IFC4X1_IfcFillAreaStyleTiles_type);
+ IFC4X1_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 420, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IFC4X1_IfcCurve_type);
+ items.push_back(IFC4X1_IfcPoint_type);
+ items.push_back(IFC4X1_IfcSurface_type);
+ IFC4X1_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 471, items);
+ }
+ {
+ std::vector