diff --git a/src/ifcparse/Ifc2x3-schema.cpp b/src/ifcparse/Ifc2x3-schema.cpp
new file mode 100644
index 0000000000..7643a78b0a
--- /dev/null
+++ b/src/ifcparse/Ifc2x3-schema.cpp
@@ -0,0 +1,10383 @@
+/********************************************************************************
+ * *
+ * 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 IFC2X3_TC1.exp. Do not make modifications *
+ * but instead modify the python script that has been used to generate this. *
+ * *
+ ********************************************************************************/
+
+#ifndef USE_IFC4
+
+#include "../ifcparse/IfcSchema.h"
+
+using namespace IfcParse;
+entity* Ifc2DCompositeCurve_type = 0;
+entity* IfcActionRequest_type = 0;
+entity* IfcActor_type = 0;
+entity* IfcActorRole_type = 0;
+entity* IfcActuatorType_type = 0;
+entity* IfcAddress_type = 0;
+entity* IfcAirTerminalBoxType_type = 0;
+entity* IfcAirTerminalType_type = 0;
+entity* IfcAirToAirHeatRecoveryType_type = 0;
+entity* IfcAlarmType_type = 0;
+entity* IfcAngularDimension_type = 0;
+entity* IfcAnnotation_type = 0;
+entity* IfcAnnotationCurveOccurrence_type = 0;
+entity* IfcAnnotationFillArea_type = 0;
+entity* IfcAnnotationFillAreaOccurrence_type = 0;
+entity* IfcAnnotationOccurrence_type = 0;
+entity* IfcAnnotationSurface_type = 0;
+entity* IfcAnnotationSurfaceOccurrence_type = 0;
+entity* IfcAnnotationSymbolOccurrence_type = 0;
+entity* IfcAnnotationTextOccurrence_type = 0;
+entity* IfcApplication_type = 0;
+entity* IfcAppliedValue_type = 0;
+entity* IfcAppliedValueRelationship_type = 0;
+entity* IfcApproval_type = 0;
+entity* IfcApprovalActorRelationship_type = 0;
+entity* IfcApprovalPropertyRelationship_type = 0;
+entity* IfcApprovalRelationship_type = 0;
+entity* IfcArbitraryClosedProfileDef_type = 0;
+entity* IfcArbitraryOpenProfileDef_type = 0;
+entity* IfcArbitraryProfileDefWithVoids_type = 0;
+entity* IfcAsset_type = 0;
+entity* IfcAsymmetricIShapeProfileDef_type = 0;
+entity* IfcAxis1Placement_type = 0;
+entity* IfcAxis2Placement2D_type = 0;
+entity* IfcAxis2Placement3D_type = 0;
+entity* IfcBSplineCurve_type = 0;
+entity* IfcBeam_type = 0;
+entity* IfcBeamType_type = 0;
+entity* IfcBezierCurve_type = 0;
+entity* IfcBlobTexture_type = 0;
+entity* IfcBlock_type = 0;
+entity* IfcBoilerType_type = 0;
+entity* IfcBooleanClippingResult_type = 0;
+entity* IfcBooleanResult_type = 0;
+entity* IfcBoundaryCondition_type = 0;
+entity* IfcBoundaryEdgeCondition_type = 0;
+entity* IfcBoundaryFaceCondition_type = 0;
+entity* IfcBoundaryNodeCondition_type = 0;
+entity* IfcBoundaryNodeConditionWarping_type = 0;
+entity* IfcBoundedCurve_type = 0;
+entity* IfcBoundedSurface_type = 0;
+entity* IfcBoundingBox_type = 0;
+entity* IfcBoxedHalfSpace_type = 0;
+entity* IfcBuilding_type = 0;
+entity* IfcBuildingElement_type = 0;
+entity* IfcBuildingElementComponent_type = 0;
+entity* IfcBuildingElementPart_type = 0;
+entity* IfcBuildingElementProxy_type = 0;
+entity* IfcBuildingElementProxyType_type = 0;
+entity* IfcBuildingElementType_type = 0;
+entity* IfcBuildingStorey_type = 0;
+entity* IfcCShapeProfileDef_type = 0;
+entity* IfcCableCarrierFittingType_type = 0;
+entity* IfcCableCarrierSegmentType_type = 0;
+entity* IfcCableSegmentType_type = 0;
+entity* IfcCalendarDate_type = 0;
+entity* IfcCartesianPoint_type = 0;
+entity* IfcCartesianTransformationOperator_type = 0;
+entity* IfcCartesianTransformationOperator2D_type = 0;
+entity* IfcCartesianTransformationOperator2DnonUniform_type = 0;
+entity* IfcCartesianTransformationOperator3D_type = 0;
+entity* IfcCartesianTransformationOperator3DnonUniform_type = 0;
+entity* IfcCenterLineProfileDef_type = 0;
+entity* IfcChamferEdgeFeature_type = 0;
+entity* IfcChillerType_type = 0;
+entity* IfcCircle_type = 0;
+entity* IfcCircleHollowProfileDef_type = 0;
+entity* IfcCircleProfileDef_type = 0;
+entity* IfcClassification_type = 0;
+entity* IfcClassificationItem_type = 0;
+entity* IfcClassificationItemRelationship_type = 0;
+entity* IfcClassificationNotation_type = 0;
+entity* IfcClassificationNotationFacet_type = 0;
+entity* IfcClassificationReference_type = 0;
+entity* IfcClosedShell_type = 0;
+entity* IfcCoilType_type = 0;
+entity* IfcColourRgb_type = 0;
+entity* IfcColourSpecification_type = 0;
+entity* IfcColumn_type = 0;
+entity* IfcColumnType_type = 0;
+entity* IfcComplexProperty_type = 0;
+entity* IfcCompositeCurve_type = 0;
+entity* IfcCompositeCurveSegment_type = 0;
+entity* IfcCompositeProfileDef_type = 0;
+entity* IfcCompressorType_type = 0;
+entity* IfcCondenserType_type = 0;
+entity* IfcCondition_type = 0;
+entity* IfcConditionCriterion_type = 0;
+entity* IfcConic_type = 0;
+entity* IfcConnectedFaceSet_type = 0;
+entity* IfcConnectionCurveGeometry_type = 0;
+entity* IfcConnectionGeometry_type = 0;
+entity* IfcConnectionPointEccentricity_type = 0;
+entity* IfcConnectionPointGeometry_type = 0;
+entity* IfcConnectionPortGeometry_type = 0;
+entity* IfcConnectionSurfaceGeometry_type = 0;
+entity* IfcConstraint_type = 0;
+entity* IfcConstraintAggregationRelationship_type = 0;
+entity* IfcConstraintClassificationRelationship_type = 0;
+entity* IfcConstraintRelationship_type = 0;
+entity* IfcConstructionEquipmentResource_type = 0;
+entity* IfcConstructionMaterialResource_type = 0;
+entity* IfcConstructionProductResource_type = 0;
+entity* IfcConstructionResource_type = 0;
+entity* IfcContextDependentUnit_type = 0;
+entity* IfcControl_type = 0;
+entity* IfcControllerType_type = 0;
+entity* IfcConversionBasedUnit_type = 0;
+entity* IfcCooledBeamType_type = 0;
+entity* IfcCoolingTowerType_type = 0;
+entity* IfcCoordinatedUniversalTimeOffset_type = 0;
+entity* IfcCostItem_type = 0;
+entity* IfcCostSchedule_type = 0;
+entity* IfcCostValue_type = 0;
+entity* IfcCovering_type = 0;
+entity* IfcCoveringType_type = 0;
+entity* IfcCraneRailAShapeProfileDef_type = 0;
+entity* IfcCraneRailFShapeProfileDef_type = 0;
+entity* IfcCrewResource_type = 0;
+entity* IfcCsgPrimitive3D_type = 0;
+entity* IfcCsgSolid_type = 0;
+entity* IfcCurrencyRelationship_type = 0;
+entity* IfcCurtainWall_type = 0;
+entity* IfcCurtainWallType_type = 0;
+entity* IfcCurve_type = 0;
+entity* IfcCurveBoundedPlane_type = 0;
+entity* IfcCurveStyle_type = 0;
+entity* IfcCurveStyleFont_type = 0;
+entity* IfcCurveStyleFontAndScaling_type = 0;
+entity* IfcCurveStyleFontPattern_type = 0;
+entity* IfcDamperType_type = 0;
+entity* IfcDateAndTime_type = 0;
+entity* IfcDefinedSymbol_type = 0;
+entity* IfcDerivedProfileDef_type = 0;
+entity* IfcDerivedUnit_type = 0;
+entity* IfcDerivedUnitElement_type = 0;
+entity* IfcDiameterDimension_type = 0;
+entity* IfcDimensionCalloutRelationship_type = 0;
+entity* IfcDimensionCurve_type = 0;
+entity* IfcDimensionCurveDirectedCallout_type = 0;
+entity* IfcDimensionCurveTerminator_type = 0;
+entity* IfcDimensionPair_type = 0;
+entity* IfcDimensionalExponents_type = 0;
+entity* IfcDirection_type = 0;
+entity* IfcDiscreteAccessory_type = 0;
+entity* IfcDiscreteAccessoryType_type = 0;
+entity* IfcDistributionChamberElement_type = 0;
+entity* IfcDistributionChamberElementType_type = 0;
+entity* IfcDistributionControlElement_type = 0;
+entity* IfcDistributionControlElementType_type = 0;
+entity* IfcDistributionElement_type = 0;
+entity* IfcDistributionElementType_type = 0;
+entity* IfcDistributionFlowElement_type = 0;
+entity* IfcDistributionFlowElementType_type = 0;
+entity* IfcDistributionPort_type = 0;
+entity* IfcDocumentElectronicFormat_type = 0;
+entity* IfcDocumentInformation_type = 0;
+entity* IfcDocumentInformationRelationship_type = 0;
+entity* IfcDocumentReference_type = 0;
+entity* IfcDoor_type = 0;
+entity* IfcDoorLiningProperties_type = 0;
+entity* IfcDoorPanelProperties_type = 0;
+entity* IfcDoorStyle_type = 0;
+entity* IfcDraughtingCallout_type = 0;
+entity* IfcDraughtingCalloutRelationship_type = 0;
+entity* IfcDraughtingPreDefinedColour_type = 0;
+entity* IfcDraughtingPreDefinedCurveFont_type = 0;
+entity* IfcDraughtingPreDefinedTextFont_type = 0;
+entity* IfcDuctFittingType_type = 0;
+entity* IfcDuctSegmentType_type = 0;
+entity* IfcDuctSilencerType_type = 0;
+entity* IfcEdge_type = 0;
+entity* IfcEdgeCurve_type = 0;
+entity* IfcEdgeFeature_type = 0;
+entity* IfcEdgeLoop_type = 0;
+entity* IfcElectricApplianceType_type = 0;
+entity* IfcElectricDistributionPoint_type = 0;
+entity* IfcElectricFlowStorageDeviceType_type = 0;
+entity* IfcElectricGeneratorType_type = 0;
+entity* IfcElectricHeaterType_type = 0;
+entity* IfcElectricMotorType_type = 0;
+entity* IfcElectricTimeControlType_type = 0;
+entity* IfcElectricalBaseProperties_type = 0;
+entity* IfcElectricalCircuit_type = 0;
+entity* IfcElectricalElement_type = 0;
+entity* IfcElement_type = 0;
+entity* IfcElementAssembly_type = 0;
+entity* IfcElementComponent_type = 0;
+entity* IfcElementComponentType_type = 0;
+entity* IfcElementQuantity_type = 0;
+entity* IfcElementType_type = 0;
+entity* IfcElementarySurface_type = 0;
+entity* IfcEllipse_type = 0;
+entity* IfcEllipseProfileDef_type = 0;
+entity* IfcEnergyConversionDevice_type = 0;
+entity* IfcEnergyConversionDeviceType_type = 0;
+entity* IfcEnergyProperties_type = 0;
+entity* IfcEnvironmentalImpactValue_type = 0;
+entity* IfcEquipmentElement_type = 0;
+entity* IfcEquipmentStandard_type = 0;
+entity* IfcEvaporativeCoolerType_type = 0;
+entity* IfcEvaporatorType_type = 0;
+entity* IfcExtendedMaterialProperties_type = 0;
+entity* IfcExternalReference_type = 0;
+entity* IfcExternallyDefinedHatchStyle_type = 0;
+entity* IfcExternallyDefinedSurfaceStyle_type = 0;
+entity* IfcExternallyDefinedSymbol_type = 0;
+entity* IfcExternallyDefinedTextFont_type = 0;
+entity* IfcExtrudedAreaSolid_type = 0;
+entity* IfcFace_type = 0;
+entity* IfcFaceBasedSurfaceModel_type = 0;
+entity* IfcFaceBound_type = 0;
+entity* IfcFaceOuterBound_type = 0;
+entity* IfcFaceSurface_type = 0;
+entity* IfcFacetedBrep_type = 0;
+entity* IfcFacetedBrepWithVoids_type = 0;
+entity* IfcFailureConnectionCondition_type = 0;
+entity* IfcFanType_type = 0;
+entity* IfcFastener_type = 0;
+entity* IfcFastenerType_type = 0;
+entity* IfcFeatureElement_type = 0;
+entity* IfcFeatureElementAddition_type = 0;
+entity* IfcFeatureElementSubtraction_type = 0;
+entity* IfcFillAreaStyle_type = 0;
+entity* IfcFillAreaStyleHatching_type = 0;
+entity* IfcFillAreaStyleTileSymbolWithStyle_type = 0;
+entity* IfcFillAreaStyleTiles_type = 0;
+entity* IfcFilterType_type = 0;
+entity* IfcFireSuppressionTerminalType_type = 0;
+entity* IfcFlowController_type = 0;
+entity* IfcFlowControllerType_type = 0;
+entity* IfcFlowFitting_type = 0;
+entity* IfcFlowFittingType_type = 0;
+entity* IfcFlowInstrumentType_type = 0;
+entity* IfcFlowMeterType_type = 0;
+entity* IfcFlowMovingDevice_type = 0;
+entity* IfcFlowMovingDeviceType_type = 0;
+entity* IfcFlowSegment_type = 0;
+entity* IfcFlowSegmentType_type = 0;
+entity* IfcFlowStorageDevice_type = 0;
+entity* IfcFlowStorageDeviceType_type = 0;
+entity* IfcFlowTerminal_type = 0;
+entity* IfcFlowTerminalType_type = 0;
+entity* IfcFlowTreatmentDevice_type = 0;
+entity* IfcFlowTreatmentDeviceType_type = 0;
+entity* IfcFluidFlowProperties_type = 0;
+entity* IfcFooting_type = 0;
+entity* IfcFuelProperties_type = 0;
+entity* IfcFurnishingElement_type = 0;
+entity* IfcFurnishingElementType_type = 0;
+entity* IfcFurnitureStandard_type = 0;
+entity* IfcFurnitureType_type = 0;
+entity* IfcGasTerminalType_type = 0;
+entity* IfcGeneralMaterialProperties_type = 0;
+entity* IfcGeneralProfileProperties_type = 0;
+entity* IfcGeometricCurveSet_type = 0;
+entity* IfcGeometricRepresentationContext_type = 0;
+entity* IfcGeometricRepresentationItem_type = 0;
+entity* IfcGeometricRepresentationSubContext_type = 0;
+entity* IfcGeometricSet_type = 0;
+entity* IfcGrid_type = 0;
+entity* IfcGridAxis_type = 0;
+entity* IfcGridPlacement_type = 0;
+entity* IfcGroup_type = 0;
+entity* IfcHalfSpaceSolid_type = 0;
+entity* IfcHeatExchangerType_type = 0;
+entity* IfcHumidifierType_type = 0;
+entity* IfcHygroscopicMaterialProperties_type = 0;
+entity* IfcIShapeProfileDef_type = 0;
+entity* IfcImageTexture_type = 0;
+entity* IfcInventory_type = 0;
+entity* IfcIrregularTimeSeries_type = 0;
+entity* IfcIrregularTimeSeriesValue_type = 0;
+entity* IfcJunctionBoxType_type = 0;
+entity* IfcLShapeProfileDef_type = 0;
+entity* IfcLaborResource_type = 0;
+entity* IfcLampType_type = 0;
+entity* IfcLibraryInformation_type = 0;
+entity* IfcLibraryReference_type = 0;
+entity* IfcLightDistributionData_type = 0;
+entity* IfcLightFixtureType_type = 0;
+entity* IfcLightIntensityDistribution_type = 0;
+entity* IfcLightSource_type = 0;
+entity* IfcLightSourceAmbient_type = 0;
+entity* IfcLightSourceDirectional_type = 0;
+entity* IfcLightSourceGoniometric_type = 0;
+entity* IfcLightSourcePositional_type = 0;
+entity* IfcLightSourceSpot_type = 0;
+entity* IfcLine_type = 0;
+entity* IfcLinearDimension_type = 0;
+entity* IfcLocalPlacement_type = 0;
+entity* IfcLocalTime_type = 0;
+entity* IfcLoop_type = 0;
+entity* IfcManifoldSolidBrep_type = 0;
+entity* IfcMappedItem_type = 0;
+entity* IfcMaterial_type = 0;
+entity* IfcMaterialClassificationRelationship_type = 0;
+entity* IfcMaterialDefinitionRepresentation_type = 0;
+entity* IfcMaterialLayer_type = 0;
+entity* IfcMaterialLayerSet_type = 0;
+entity* IfcMaterialLayerSetUsage_type = 0;
+entity* IfcMaterialList_type = 0;
+entity* IfcMaterialProperties_type = 0;
+entity* IfcMeasureWithUnit_type = 0;
+entity* IfcMechanicalConcreteMaterialProperties_type = 0;
+entity* IfcMechanicalFastener_type = 0;
+entity* IfcMechanicalFastenerType_type = 0;
+entity* IfcMechanicalMaterialProperties_type = 0;
+entity* IfcMechanicalSteelMaterialProperties_type = 0;
+entity* IfcMember_type = 0;
+entity* IfcMemberType_type = 0;
+entity* IfcMetric_type = 0;
+entity* IfcMonetaryUnit_type = 0;
+entity* IfcMotorConnectionType_type = 0;
+entity* IfcMove_type = 0;
+entity* IfcNamedUnit_type = 0;
+entity* IfcObject_type = 0;
+entity* IfcObjectDefinition_type = 0;
+entity* IfcObjectPlacement_type = 0;
+entity* IfcObjective_type = 0;
+entity* IfcOccupant_type = 0;
+entity* IfcOffsetCurve2D_type = 0;
+entity* IfcOffsetCurve3D_type = 0;
+entity* IfcOneDirectionRepeatFactor_type = 0;
+entity* IfcOpenShell_type = 0;
+entity* IfcOpeningElement_type = 0;
+entity* IfcOpticalMaterialProperties_type = 0;
+entity* IfcOrderAction_type = 0;
+entity* IfcOrganization_type = 0;
+entity* IfcOrganizationRelationship_type = 0;
+entity* IfcOrientedEdge_type = 0;
+entity* IfcOutletType_type = 0;
+entity* IfcOwnerHistory_type = 0;
+entity* IfcParameterizedProfileDef_type = 0;
+entity* IfcPath_type = 0;
+entity* IfcPerformanceHistory_type = 0;
+entity* IfcPermeableCoveringProperties_type = 0;
+entity* IfcPermit_type = 0;
+entity* IfcPerson_type = 0;
+entity* IfcPersonAndOrganization_type = 0;
+entity* IfcPhysicalComplexQuantity_type = 0;
+entity* IfcPhysicalQuantity_type = 0;
+entity* IfcPhysicalSimpleQuantity_type = 0;
+entity* IfcPile_type = 0;
+entity* IfcPipeFittingType_type = 0;
+entity* IfcPipeSegmentType_type = 0;
+entity* IfcPixelTexture_type = 0;
+entity* IfcPlacement_type = 0;
+entity* IfcPlanarBox_type = 0;
+entity* IfcPlanarExtent_type = 0;
+entity* IfcPlane_type = 0;
+entity* IfcPlate_type = 0;
+entity* IfcPlateType_type = 0;
+entity* IfcPoint_type = 0;
+entity* IfcPointOnCurve_type = 0;
+entity* IfcPointOnSurface_type = 0;
+entity* IfcPolyLoop_type = 0;
+entity* IfcPolygonalBoundedHalfSpace_type = 0;
+entity* IfcPolyline_type = 0;
+entity* IfcPort_type = 0;
+entity* IfcPostalAddress_type = 0;
+entity* IfcPreDefinedColour_type = 0;
+entity* IfcPreDefinedCurveFont_type = 0;
+entity* IfcPreDefinedDimensionSymbol_type = 0;
+entity* IfcPreDefinedItem_type = 0;
+entity* IfcPreDefinedPointMarkerSymbol_type = 0;
+entity* IfcPreDefinedSymbol_type = 0;
+entity* IfcPreDefinedTerminatorSymbol_type = 0;
+entity* IfcPreDefinedTextFont_type = 0;
+entity* IfcPresentationLayerAssignment_type = 0;
+entity* IfcPresentationLayerWithStyle_type = 0;
+entity* IfcPresentationStyle_type = 0;
+entity* IfcPresentationStyleAssignment_type = 0;
+entity* IfcProcedure_type = 0;
+entity* IfcProcess_type = 0;
+entity* IfcProduct_type = 0;
+entity* IfcProductDefinitionShape_type = 0;
+entity* IfcProductRepresentation_type = 0;
+entity* IfcProductsOfCombustionProperties_type = 0;
+entity* IfcProfileDef_type = 0;
+entity* IfcProfileProperties_type = 0;
+entity* IfcProject_type = 0;
+entity* IfcProjectOrder_type = 0;
+entity* IfcProjectOrderRecord_type = 0;
+entity* IfcProjectionCurve_type = 0;
+entity* IfcProjectionElement_type = 0;
+entity* IfcProperty_type = 0;
+entity* IfcPropertyBoundedValue_type = 0;
+entity* IfcPropertyConstraintRelationship_type = 0;
+entity* IfcPropertyDefinition_type = 0;
+entity* IfcPropertyDependencyRelationship_type = 0;
+entity* IfcPropertyEnumeratedValue_type = 0;
+entity* IfcPropertyEnumeration_type = 0;
+entity* IfcPropertyListValue_type = 0;
+entity* IfcPropertyReferenceValue_type = 0;
+entity* IfcPropertySet_type = 0;
+entity* IfcPropertySetDefinition_type = 0;
+entity* IfcPropertySingleValue_type = 0;
+entity* IfcPropertyTableValue_type = 0;
+entity* IfcProtectiveDeviceType_type = 0;
+entity* IfcProxy_type = 0;
+entity* IfcPumpType_type = 0;
+entity* IfcQuantityArea_type = 0;
+entity* IfcQuantityCount_type = 0;
+entity* IfcQuantityLength_type = 0;
+entity* IfcQuantityTime_type = 0;
+entity* IfcQuantityVolume_type = 0;
+entity* IfcQuantityWeight_type = 0;
+entity* IfcRadiusDimension_type = 0;
+entity* IfcRailing_type = 0;
+entity* IfcRailingType_type = 0;
+entity* IfcRamp_type = 0;
+entity* IfcRampFlight_type = 0;
+entity* IfcRampFlightType_type = 0;
+entity* IfcRationalBezierCurve_type = 0;
+entity* IfcRectangleHollowProfileDef_type = 0;
+entity* IfcRectangleProfileDef_type = 0;
+entity* IfcRectangularPyramid_type = 0;
+entity* IfcRectangularTrimmedSurface_type = 0;
+entity* IfcReferencesValueDocument_type = 0;
+entity* IfcRegularTimeSeries_type = 0;
+entity* IfcReinforcementBarProperties_type = 0;
+entity* IfcReinforcementDefinitionProperties_type = 0;
+entity* IfcReinforcingBar_type = 0;
+entity* IfcReinforcingElement_type = 0;
+entity* IfcReinforcingMesh_type = 0;
+entity* IfcRelAggregates_type = 0;
+entity* IfcRelAssigns_type = 0;
+entity* IfcRelAssignsTasks_type = 0;
+entity* IfcRelAssignsToActor_type = 0;
+entity* IfcRelAssignsToControl_type = 0;
+entity* IfcRelAssignsToGroup_type = 0;
+entity* IfcRelAssignsToProcess_type = 0;
+entity* IfcRelAssignsToProduct_type = 0;
+entity* IfcRelAssignsToProjectOrder_type = 0;
+entity* IfcRelAssignsToResource_type = 0;
+entity* IfcRelAssociates_type = 0;
+entity* IfcRelAssociatesAppliedValue_type = 0;
+entity* IfcRelAssociatesApproval_type = 0;
+entity* IfcRelAssociatesClassification_type = 0;
+entity* IfcRelAssociatesConstraint_type = 0;
+entity* IfcRelAssociatesDocument_type = 0;
+entity* IfcRelAssociatesLibrary_type = 0;
+entity* IfcRelAssociatesMaterial_type = 0;
+entity* IfcRelAssociatesProfileProperties_type = 0;
+entity* IfcRelConnects_type = 0;
+entity* IfcRelConnectsElements_type = 0;
+entity* IfcRelConnectsPathElements_type = 0;
+entity* IfcRelConnectsPortToElement_type = 0;
+entity* IfcRelConnectsPorts_type = 0;
+entity* IfcRelConnectsStructuralActivity_type = 0;
+entity* IfcRelConnectsStructuralElement_type = 0;
+entity* IfcRelConnectsStructuralMember_type = 0;
+entity* IfcRelConnectsWithEccentricity_type = 0;
+entity* IfcRelConnectsWithRealizingElements_type = 0;
+entity* IfcRelContainedInSpatialStructure_type = 0;
+entity* IfcRelCoversBldgElements_type = 0;
+entity* IfcRelCoversSpaces_type = 0;
+entity* IfcRelDecomposes_type = 0;
+entity* IfcRelDefines_type = 0;
+entity* IfcRelDefinesByProperties_type = 0;
+entity* IfcRelDefinesByType_type = 0;
+entity* IfcRelFillsElement_type = 0;
+entity* IfcRelFlowControlElements_type = 0;
+entity* IfcRelInteractionRequirements_type = 0;
+entity* IfcRelNests_type = 0;
+entity* IfcRelOccupiesSpaces_type = 0;
+entity* IfcRelOverridesProperties_type = 0;
+entity* IfcRelProjectsElement_type = 0;
+entity* IfcRelReferencedInSpatialStructure_type = 0;
+entity* IfcRelSchedulesCostItems_type = 0;
+entity* IfcRelSequence_type = 0;
+entity* IfcRelServicesBuildings_type = 0;
+entity* IfcRelSpaceBoundary_type = 0;
+entity* IfcRelVoidsElement_type = 0;
+entity* IfcRelationship_type = 0;
+entity* IfcRelaxation_type = 0;
+entity* IfcRepresentation_type = 0;
+entity* IfcRepresentationContext_type = 0;
+entity* IfcRepresentationItem_type = 0;
+entity* IfcRepresentationMap_type = 0;
+entity* IfcResource_type = 0;
+entity* IfcRevolvedAreaSolid_type = 0;
+entity* IfcRibPlateProfileProperties_type = 0;
+entity* IfcRightCircularCone_type = 0;
+entity* IfcRightCircularCylinder_type = 0;
+entity* IfcRoof_type = 0;
+entity* IfcRoot_type = 0;
+entity* IfcRoundedEdgeFeature_type = 0;
+entity* IfcRoundedRectangleProfileDef_type = 0;
+entity* IfcSIUnit_type = 0;
+entity* IfcSanitaryTerminalType_type = 0;
+entity* IfcScheduleTimeControl_type = 0;
+entity* IfcSectionProperties_type = 0;
+entity* IfcSectionReinforcementProperties_type = 0;
+entity* IfcSectionedSpine_type = 0;
+entity* IfcSensorType_type = 0;
+entity* IfcServiceLife_type = 0;
+entity* IfcServiceLifeFactor_type = 0;
+entity* IfcShapeAspect_type = 0;
+entity* IfcShapeModel_type = 0;
+entity* IfcShapeRepresentation_type = 0;
+entity* IfcShellBasedSurfaceModel_type = 0;
+entity* IfcSimpleProperty_type = 0;
+entity* IfcSite_type = 0;
+entity* IfcSlab_type = 0;
+entity* IfcSlabType_type = 0;
+entity* IfcSlippageConnectionCondition_type = 0;
+entity* IfcSolidModel_type = 0;
+entity* IfcSoundProperties_type = 0;
+entity* IfcSoundValue_type = 0;
+entity* IfcSpace_type = 0;
+entity* IfcSpaceHeaterType_type = 0;
+entity* IfcSpaceProgram_type = 0;
+entity* IfcSpaceThermalLoadProperties_type = 0;
+entity* IfcSpaceType_type = 0;
+entity* IfcSpatialStructureElement_type = 0;
+entity* IfcSpatialStructureElementType_type = 0;
+entity* IfcSphere_type = 0;
+entity* IfcStackTerminalType_type = 0;
+entity* IfcStair_type = 0;
+entity* IfcStairFlight_type = 0;
+entity* IfcStairFlightType_type = 0;
+entity* IfcStructuralAction_type = 0;
+entity* IfcStructuralActivity_type = 0;
+entity* IfcStructuralAnalysisModel_type = 0;
+entity* IfcStructuralConnection_type = 0;
+entity* IfcStructuralConnectionCondition_type = 0;
+entity* IfcStructuralCurveConnection_type = 0;
+entity* IfcStructuralCurveMember_type = 0;
+entity* IfcStructuralCurveMemberVarying_type = 0;
+entity* IfcStructuralItem_type = 0;
+entity* IfcStructuralLinearAction_type = 0;
+entity* IfcStructuralLinearActionVarying_type = 0;
+entity* IfcStructuralLoad_type = 0;
+entity* IfcStructuralLoadGroup_type = 0;
+entity* IfcStructuralLoadLinearForce_type = 0;
+entity* IfcStructuralLoadPlanarForce_type = 0;
+entity* IfcStructuralLoadSingleDisplacement_type = 0;
+entity* IfcStructuralLoadSingleDisplacementDistortion_type = 0;
+entity* IfcStructuralLoadSingleForce_type = 0;
+entity* IfcStructuralLoadSingleForceWarping_type = 0;
+entity* IfcStructuralLoadStatic_type = 0;
+entity* IfcStructuralLoadTemperature_type = 0;
+entity* IfcStructuralMember_type = 0;
+entity* IfcStructuralPlanarAction_type = 0;
+entity* IfcStructuralPlanarActionVarying_type = 0;
+entity* IfcStructuralPointAction_type = 0;
+entity* IfcStructuralPointConnection_type = 0;
+entity* IfcStructuralPointReaction_type = 0;
+entity* IfcStructuralProfileProperties_type = 0;
+entity* IfcStructuralReaction_type = 0;
+entity* IfcStructuralResultGroup_type = 0;
+entity* IfcStructuralSteelProfileProperties_type = 0;
+entity* IfcStructuralSurfaceConnection_type = 0;
+entity* IfcStructuralSurfaceMember_type = 0;
+entity* IfcStructuralSurfaceMemberVarying_type = 0;
+entity* IfcStructuredDimensionCallout_type = 0;
+entity* IfcStyleModel_type = 0;
+entity* IfcStyledItem_type = 0;
+entity* IfcStyledRepresentation_type = 0;
+entity* IfcSubContractResource_type = 0;
+entity* IfcSubedge_type = 0;
+entity* IfcSurface_type = 0;
+entity* IfcSurfaceCurveSweptAreaSolid_type = 0;
+entity* IfcSurfaceOfLinearExtrusion_type = 0;
+entity* IfcSurfaceOfRevolution_type = 0;
+entity* IfcSurfaceStyle_type = 0;
+entity* IfcSurfaceStyleLighting_type = 0;
+entity* IfcSurfaceStyleRefraction_type = 0;
+entity* IfcSurfaceStyleRendering_type = 0;
+entity* IfcSurfaceStyleShading_type = 0;
+entity* IfcSurfaceStyleWithTextures_type = 0;
+entity* IfcSurfaceTexture_type = 0;
+entity* IfcSweptAreaSolid_type = 0;
+entity* IfcSweptDiskSolid_type = 0;
+entity* IfcSweptSurface_type = 0;
+entity* IfcSwitchingDeviceType_type = 0;
+entity* IfcSymbolStyle_type = 0;
+entity* IfcSystem_type = 0;
+entity* IfcSystemFurnitureElementType_type = 0;
+entity* IfcTShapeProfileDef_type = 0;
+entity* IfcTable_type = 0;
+entity* IfcTableRow_type = 0;
+entity* IfcTankType_type = 0;
+entity* IfcTask_type = 0;
+entity* IfcTelecomAddress_type = 0;
+entity* IfcTendon_type = 0;
+entity* IfcTendonAnchor_type = 0;
+entity* IfcTerminatorSymbol_type = 0;
+entity* IfcTextLiteral_type = 0;
+entity* IfcTextLiteralWithExtent_type = 0;
+entity* IfcTextStyle_type = 0;
+entity* IfcTextStyleFontModel_type = 0;
+entity* IfcTextStyleForDefinedFont_type = 0;
+entity* IfcTextStyleTextModel_type = 0;
+entity* IfcTextStyleWithBoxCharacteristics_type = 0;
+entity* IfcTextureCoordinate_type = 0;
+entity* IfcTextureCoordinateGenerator_type = 0;
+entity* IfcTextureMap_type = 0;
+entity* IfcTextureVertex_type = 0;
+entity* IfcThermalMaterialProperties_type = 0;
+entity* IfcTimeSeries_type = 0;
+entity* IfcTimeSeriesReferenceRelationship_type = 0;
+entity* IfcTimeSeriesSchedule_type = 0;
+entity* IfcTimeSeriesValue_type = 0;
+entity* IfcTopologicalRepresentationItem_type = 0;
+entity* IfcTopologyRepresentation_type = 0;
+entity* IfcTransformerType_type = 0;
+entity* IfcTransportElement_type = 0;
+entity* IfcTransportElementType_type = 0;
+entity* IfcTrapeziumProfileDef_type = 0;
+entity* IfcTrimmedCurve_type = 0;
+entity* IfcTubeBundleType_type = 0;
+entity* IfcTwoDirectionRepeatFactor_type = 0;
+entity* IfcTypeObject_type = 0;
+entity* IfcTypeProduct_type = 0;
+entity* IfcUShapeProfileDef_type = 0;
+entity* IfcUnitAssignment_type = 0;
+entity* IfcUnitaryEquipmentType_type = 0;
+entity* IfcValveType_type = 0;
+entity* IfcVector_type = 0;
+entity* IfcVertex_type = 0;
+entity* IfcVertexBasedTextureMap_type = 0;
+entity* IfcVertexLoop_type = 0;
+entity* IfcVertexPoint_type = 0;
+entity* IfcVibrationIsolatorType_type = 0;
+entity* IfcVirtualElement_type = 0;
+entity* IfcVirtualGridIntersection_type = 0;
+entity* IfcWall_type = 0;
+entity* IfcWallStandardCase_type = 0;
+entity* IfcWallType_type = 0;
+entity* IfcWasteTerminalType_type = 0;
+entity* IfcWaterProperties_type = 0;
+entity* IfcWindow_type = 0;
+entity* IfcWindowLiningProperties_type = 0;
+entity* IfcWindowPanelProperties_type = 0;
+entity* IfcWindowStyle_type = 0;
+entity* IfcWorkControl_type = 0;
+entity* IfcWorkPlan_type = 0;
+entity* IfcWorkSchedule_type = 0;
+entity* IfcZShapeProfileDef_type = 0;
+entity* IfcZone_type = 0;
+type_declaration* IfcAbsorbedDoseMeasure_type = 0;
+type_declaration* IfcAccelerationMeasure_type = 0;
+type_declaration* IfcAmountOfSubstanceMeasure_type = 0;
+type_declaration* IfcAngularVelocityMeasure_type = 0;
+type_declaration* IfcAreaMeasure_type = 0;
+type_declaration* IfcBoolean_type = 0;
+type_declaration* IfcBoxAlignment_type = 0;
+type_declaration* IfcComplexNumber_type = 0;
+type_declaration* IfcCompoundPlaneAngleMeasure_type = 0;
+type_declaration* IfcContextDependentMeasure_type = 0;
+type_declaration* IfcCountMeasure_type = 0;
+type_declaration* IfcCurvatureMeasure_type = 0;
+type_declaration* IfcDayInMonthNumber_type = 0;
+type_declaration* IfcDaylightSavingHour_type = 0;
+type_declaration* IfcDescriptiveMeasure_type = 0;
+type_declaration* IfcDimensionCount_type = 0;
+type_declaration* IfcDoseEquivalentMeasure_type = 0;
+type_declaration* IfcDynamicViscosityMeasure_type = 0;
+type_declaration* IfcElectricCapacitanceMeasure_type = 0;
+type_declaration* IfcElectricChargeMeasure_type = 0;
+type_declaration* IfcElectricConductanceMeasure_type = 0;
+type_declaration* IfcElectricCurrentMeasure_type = 0;
+type_declaration* IfcElectricResistanceMeasure_type = 0;
+type_declaration* IfcElectricVoltageMeasure_type = 0;
+type_declaration* IfcEnergyMeasure_type = 0;
+type_declaration* IfcFontStyle_type = 0;
+type_declaration* IfcFontVariant_type = 0;
+type_declaration* IfcFontWeight_type = 0;
+type_declaration* IfcForceMeasure_type = 0;
+type_declaration* IfcFrequencyMeasure_type = 0;
+type_declaration* IfcGloballyUniqueId_type = 0;
+type_declaration* IfcHeatFluxDensityMeasure_type = 0;
+type_declaration* IfcHeatingValueMeasure_type = 0;
+type_declaration* IfcHourInDay_type = 0;
+type_declaration* IfcIdentifier_type = 0;
+type_declaration* IfcIlluminanceMeasure_type = 0;
+type_declaration* IfcInductanceMeasure_type = 0;
+type_declaration* IfcInteger_type = 0;
+type_declaration* IfcIntegerCountRateMeasure_type = 0;
+type_declaration* IfcIonConcentrationMeasure_type = 0;
+type_declaration* IfcIsothermalMoistureCapacityMeasure_type = 0;
+type_declaration* IfcKinematicViscosityMeasure_type = 0;
+type_declaration* IfcLabel_type = 0;
+type_declaration* IfcLengthMeasure_type = 0;
+type_declaration* IfcLinearForceMeasure_type = 0;
+type_declaration* IfcLinearMomentMeasure_type = 0;
+type_declaration* IfcLinearStiffnessMeasure_type = 0;
+type_declaration* IfcLinearVelocityMeasure_type = 0;
+type_declaration* IfcLogical_type = 0;
+type_declaration* IfcLuminousFluxMeasure_type = 0;
+type_declaration* IfcLuminousIntensityDistributionMeasure_type = 0;
+type_declaration* IfcLuminousIntensityMeasure_type = 0;
+type_declaration* IfcMagneticFluxDensityMeasure_type = 0;
+type_declaration* IfcMagneticFluxMeasure_type = 0;
+type_declaration* IfcMassDensityMeasure_type = 0;
+type_declaration* IfcMassFlowRateMeasure_type = 0;
+type_declaration* IfcMassMeasure_type = 0;
+type_declaration* IfcMassPerLengthMeasure_type = 0;
+type_declaration* IfcMinuteInHour_type = 0;
+type_declaration* IfcModulusOfElasticityMeasure_type = 0;
+type_declaration* IfcModulusOfLinearSubgradeReactionMeasure_type = 0;
+type_declaration* IfcModulusOfRotationalSubgradeReactionMeasure_type = 0;
+type_declaration* IfcModulusOfSubgradeReactionMeasure_type = 0;
+type_declaration* IfcMoistureDiffusivityMeasure_type = 0;
+type_declaration* IfcMolecularWeightMeasure_type = 0;
+type_declaration* IfcMomentOfInertiaMeasure_type = 0;
+type_declaration* IfcMonetaryMeasure_type = 0;
+type_declaration* IfcMonthInYearNumber_type = 0;
+type_declaration* IfcNormalisedRatioMeasure_type = 0;
+type_declaration* IfcNumericMeasure_type = 0;
+type_declaration* IfcPHMeasure_type = 0;
+type_declaration* IfcParameterValue_type = 0;
+type_declaration* IfcPlanarForceMeasure_type = 0;
+type_declaration* IfcPlaneAngleMeasure_type = 0;
+type_declaration* IfcPositiveLengthMeasure_type = 0;
+type_declaration* IfcPositivePlaneAngleMeasure_type = 0;
+type_declaration* IfcPositiveRatioMeasure_type = 0;
+type_declaration* IfcPowerMeasure_type = 0;
+type_declaration* IfcPresentableText_type = 0;
+type_declaration* IfcPressureMeasure_type = 0;
+type_declaration* IfcRadioActivityMeasure_type = 0;
+type_declaration* IfcRatioMeasure_type = 0;
+type_declaration* IfcReal_type = 0;
+type_declaration* IfcRotationalFrequencyMeasure_type = 0;
+type_declaration* IfcRotationalMassMeasure_type = 0;
+type_declaration* IfcRotationalStiffnessMeasure_type = 0;
+type_declaration* IfcSecondInMinute_type = 0;
+type_declaration* IfcSectionModulusMeasure_type = 0;
+type_declaration* IfcSectionalAreaIntegralMeasure_type = 0;
+type_declaration* IfcShearModulusMeasure_type = 0;
+type_declaration* IfcSolidAngleMeasure_type = 0;
+type_declaration* IfcSoundPowerMeasure_type = 0;
+type_declaration* IfcSoundPressureMeasure_type = 0;
+type_declaration* IfcSpecificHeatCapacityMeasure_type = 0;
+type_declaration* IfcSpecularExponent_type = 0;
+type_declaration* IfcSpecularRoughness_type = 0;
+type_declaration* IfcTemperatureGradientMeasure_type = 0;
+type_declaration* IfcText_type = 0;
+type_declaration* IfcTextAlignment_type = 0;
+type_declaration* IfcTextDecoration_type = 0;
+type_declaration* IfcTextFontName_type = 0;
+type_declaration* IfcTextTransformation_type = 0;
+type_declaration* IfcThermalAdmittanceMeasure_type = 0;
+type_declaration* IfcThermalConductivityMeasure_type = 0;
+type_declaration* IfcThermalExpansionCoefficientMeasure_type = 0;
+type_declaration* IfcThermalResistanceMeasure_type = 0;
+type_declaration* IfcThermalTransmittanceMeasure_type = 0;
+type_declaration* IfcThermodynamicTemperatureMeasure_type = 0;
+type_declaration* IfcTimeMeasure_type = 0;
+type_declaration* IfcTimeStamp_type = 0;
+type_declaration* IfcTorqueMeasure_type = 0;
+type_declaration* IfcVaporPermeabilityMeasure_type = 0;
+type_declaration* IfcVolumeMeasure_type = 0;
+type_declaration* IfcVolumetricFlowRateMeasure_type = 0;
+type_declaration* IfcWarpingConstantMeasure_type = 0;
+type_declaration* IfcWarpingMomentMeasure_type = 0;
+type_declaration* IfcYearNumber_type = 0;
+select_type* IfcActorSelect_type = 0;
+select_type* IfcAppliedValueSelect_type = 0;
+select_type* IfcAxis2Placement_type = 0;
+select_type* IfcBooleanOperand_type = 0;
+select_type* IfcCharacterStyleSelect_type = 0;
+select_type* IfcClassificationNotationSelect_type = 0;
+select_type* IfcColour_type = 0;
+select_type* IfcColourOrFactor_type = 0;
+select_type* IfcConditionCriterionSelect_type = 0;
+select_type* IfcCsgSelect_type = 0;
+select_type* IfcCurveFontOrScaledCurveFontSelect_type = 0;
+select_type* IfcCurveOrEdgeCurve_type = 0;
+select_type* IfcCurveStyleFontSelect_type = 0;
+select_type* IfcDateTimeSelect_type = 0;
+select_type* IfcDefinedSymbolSelect_type = 0;
+select_type* IfcDerivedMeasureValue_type = 0;
+select_type* IfcDocumentSelect_type = 0;
+select_type* IfcDraughtingCalloutElement_type = 0;
+select_type* IfcFillAreaStyleTileShapeSelect_type = 0;
+select_type* IfcFillStyleSelect_type = 0;
+select_type* IfcGeometricSetSelect_type = 0;
+select_type* IfcHatchLineDistanceSelect_type = 0;
+select_type* IfcLayeredItem_type = 0;
+select_type* IfcLibrarySelect_type = 0;
+select_type* IfcLightDistributionDataSourceSelect_type = 0;
+select_type* IfcMaterialSelect_type = 0;
+select_type* IfcMeasureValue_type = 0;
+select_type* IfcMetricValueSelect_type = 0;
+select_type* IfcObjectReferenceSelect_type = 0;
+select_type* IfcOrientationSelect_type = 0;
+select_type* IfcPointOrVertexPoint_type = 0;
+select_type* IfcPresentationStyleSelect_type = 0;
+select_type* IfcShell_type = 0;
+select_type* IfcSimpleValue_type = 0;
+select_type* IfcSizeSelect_type = 0;
+select_type* IfcSpecularHighlightSelect_type = 0;
+select_type* IfcStructuralActivityAssignmentSelect_type = 0;
+select_type* IfcSurfaceOrFaceSurface_type = 0;
+select_type* IfcSurfaceStyleElementSelect_type = 0;
+select_type* IfcSymbolStyleSelect_type = 0;
+select_type* IfcTextFontSelect_type = 0;
+select_type* IfcTextStyleSelect_type = 0;
+select_type* IfcTrimmingSelect_type = 0;
+select_type* IfcUnit_type = 0;
+select_type* IfcValue_type = 0;
+select_type* IfcVectorOrDirection_type = 0;
+enumeration_type* IfcActionSourceTypeEnum_type = 0;
+enumeration_type* IfcActionTypeEnum_type = 0;
+enumeration_type* IfcActuatorTypeEnum_type = 0;
+enumeration_type* IfcAddressTypeEnum_type = 0;
+enumeration_type* IfcAheadOrBehind_type = 0;
+enumeration_type* IfcAirTerminalBoxTypeEnum_type = 0;
+enumeration_type* IfcAirTerminalTypeEnum_type = 0;
+enumeration_type* IfcAirToAirHeatRecoveryTypeEnum_type = 0;
+enumeration_type* IfcAlarmTypeEnum_type = 0;
+enumeration_type* IfcAnalysisModelTypeEnum_type = 0;
+enumeration_type* IfcAnalysisTheoryTypeEnum_type = 0;
+enumeration_type* IfcArithmeticOperatorEnum_type = 0;
+enumeration_type* IfcAssemblyPlaceEnum_type = 0;
+enumeration_type* IfcBSplineCurveForm_type = 0;
+enumeration_type* IfcBeamTypeEnum_type = 0;
+enumeration_type* IfcBenchmarkEnum_type = 0;
+enumeration_type* IfcBoilerTypeEnum_type = 0;
+enumeration_type* IfcBooleanOperator_type = 0;
+enumeration_type* IfcBuildingElementProxyTypeEnum_type = 0;
+enumeration_type* IfcCableCarrierFittingTypeEnum_type = 0;
+enumeration_type* IfcCableCarrierSegmentTypeEnum_type = 0;
+enumeration_type* IfcCableSegmentTypeEnum_type = 0;
+enumeration_type* IfcChangeActionEnum_type = 0;
+enumeration_type* IfcChillerTypeEnum_type = 0;
+enumeration_type* IfcCoilTypeEnum_type = 0;
+enumeration_type* IfcColumnTypeEnum_type = 0;
+enumeration_type* IfcCompressorTypeEnum_type = 0;
+enumeration_type* IfcCondenserTypeEnum_type = 0;
+enumeration_type* IfcConnectionTypeEnum_type = 0;
+enumeration_type* IfcConstraintEnum_type = 0;
+enumeration_type* IfcControllerTypeEnum_type = 0;
+enumeration_type* IfcCooledBeamTypeEnum_type = 0;
+enumeration_type* IfcCoolingTowerTypeEnum_type = 0;
+enumeration_type* IfcCostScheduleTypeEnum_type = 0;
+enumeration_type* IfcCoveringTypeEnum_type = 0;
+enumeration_type* IfcCurrencyEnum_type = 0;
+enumeration_type* IfcCurtainWallTypeEnum_type = 0;
+enumeration_type* IfcDamperTypeEnum_type = 0;
+enumeration_type* IfcDataOriginEnum_type = 0;
+enumeration_type* IfcDerivedUnitEnum_type = 0;
+enumeration_type* IfcDimensionExtentUsage_type = 0;
+enumeration_type* IfcDirectionSenseEnum_type = 0;
+enumeration_type* IfcDistributionChamberElementTypeEnum_type = 0;
+enumeration_type* IfcDocumentConfidentialityEnum_type = 0;
+enumeration_type* IfcDocumentStatusEnum_type = 0;
+enumeration_type* IfcDoorPanelOperationEnum_type = 0;
+enumeration_type* IfcDoorPanelPositionEnum_type = 0;
+enumeration_type* IfcDoorStyleConstructionEnum_type = 0;
+enumeration_type* IfcDoorStyleOperationEnum_type = 0;
+enumeration_type* IfcDuctFittingTypeEnum_type = 0;
+enumeration_type* IfcDuctSegmentTypeEnum_type = 0;
+enumeration_type* IfcDuctSilencerTypeEnum_type = 0;
+enumeration_type* IfcElectricApplianceTypeEnum_type = 0;
+enumeration_type* IfcElectricCurrentEnum_type = 0;
+enumeration_type* IfcElectricDistributionPointFunctionEnum_type = 0;
+enumeration_type* IfcElectricFlowStorageDeviceTypeEnum_type = 0;
+enumeration_type* IfcElectricGeneratorTypeEnum_type = 0;
+enumeration_type* IfcElectricHeaterTypeEnum_type = 0;
+enumeration_type* IfcElectricMotorTypeEnum_type = 0;
+enumeration_type* IfcElectricTimeControlTypeEnum_type = 0;
+enumeration_type* IfcElementAssemblyTypeEnum_type = 0;
+enumeration_type* IfcElementCompositionEnum_type = 0;
+enumeration_type* IfcEnergySequenceEnum_type = 0;
+enumeration_type* IfcEnvironmentalImpactCategoryEnum_type = 0;
+enumeration_type* IfcEvaporativeCoolerTypeEnum_type = 0;
+enumeration_type* IfcEvaporatorTypeEnum_type = 0;
+enumeration_type* IfcFanTypeEnum_type = 0;
+enumeration_type* IfcFilterTypeEnum_type = 0;
+enumeration_type* IfcFireSuppressionTerminalTypeEnum_type = 0;
+enumeration_type* IfcFlowDirectionEnum_type = 0;
+enumeration_type* IfcFlowInstrumentTypeEnum_type = 0;
+enumeration_type* IfcFlowMeterTypeEnum_type = 0;
+enumeration_type* IfcFootingTypeEnum_type = 0;
+enumeration_type* IfcGasTerminalTypeEnum_type = 0;
+enumeration_type* IfcGeometricProjectionEnum_type = 0;
+enumeration_type* IfcGlobalOrLocalEnum_type = 0;
+enumeration_type* IfcHeatExchangerTypeEnum_type = 0;
+enumeration_type* IfcHumidifierTypeEnum_type = 0;
+enumeration_type* IfcInternalOrExternalEnum_type = 0;
+enumeration_type* IfcInventoryTypeEnum_type = 0;
+enumeration_type* IfcJunctionBoxTypeEnum_type = 0;
+enumeration_type* IfcLampTypeEnum_type = 0;
+enumeration_type* IfcLayerSetDirectionEnum_type = 0;
+enumeration_type* IfcLightDistributionCurveEnum_type = 0;
+enumeration_type* IfcLightEmissionSourceEnum_type = 0;
+enumeration_type* IfcLightFixtureTypeEnum_type = 0;
+enumeration_type* IfcLoadGroupTypeEnum_type = 0;
+enumeration_type* IfcLogicalOperatorEnum_type = 0;
+enumeration_type* IfcMemberTypeEnum_type = 0;
+enumeration_type* IfcMotorConnectionTypeEnum_type = 0;
+enumeration_type* IfcNullStyle_type = 0;
+enumeration_type* IfcObjectTypeEnum_type = 0;
+enumeration_type* IfcObjectiveEnum_type = 0;
+enumeration_type* IfcOccupantTypeEnum_type = 0;
+enumeration_type* IfcOutletTypeEnum_type = 0;
+enumeration_type* IfcPermeableCoveringOperationEnum_type = 0;
+enumeration_type* IfcPhysicalOrVirtualEnum_type = 0;
+enumeration_type* IfcPileConstructionEnum_type = 0;
+enumeration_type* IfcPileTypeEnum_type = 0;
+enumeration_type* IfcPipeFittingTypeEnum_type = 0;
+enumeration_type* IfcPipeSegmentTypeEnum_type = 0;
+enumeration_type* IfcPlateTypeEnum_type = 0;
+enumeration_type* IfcProcedureTypeEnum_type = 0;
+enumeration_type* IfcProfileTypeEnum_type = 0;
+enumeration_type* IfcProjectOrderRecordTypeEnum_type = 0;
+enumeration_type* IfcProjectOrderTypeEnum_type = 0;
+enumeration_type* IfcProjectedOrTrueLengthEnum_type = 0;
+enumeration_type* IfcPropertySourceEnum_type = 0;
+enumeration_type* IfcProtectiveDeviceTypeEnum_type = 0;
+enumeration_type* IfcPumpTypeEnum_type = 0;
+enumeration_type* IfcRailingTypeEnum_type = 0;
+enumeration_type* IfcRampFlightTypeEnum_type = 0;
+enumeration_type* IfcRampTypeEnum_type = 0;
+enumeration_type* IfcReflectanceMethodEnum_type = 0;
+enumeration_type* IfcReinforcingBarRoleEnum_type = 0;
+enumeration_type* IfcReinforcingBarSurfaceEnum_type = 0;
+enumeration_type* IfcResourceConsumptionEnum_type = 0;
+enumeration_type* IfcRibPlateDirectionEnum_type = 0;
+enumeration_type* IfcRoleEnum_type = 0;
+enumeration_type* IfcRoofTypeEnum_type = 0;
+enumeration_type* IfcSIPrefix_type = 0;
+enumeration_type* IfcSIUnitName_type = 0;
+enumeration_type* IfcSanitaryTerminalTypeEnum_type = 0;
+enumeration_type* IfcSectionTypeEnum_type = 0;
+enumeration_type* IfcSensorTypeEnum_type = 0;
+enumeration_type* IfcSequenceEnum_type = 0;
+enumeration_type* IfcServiceLifeFactorTypeEnum_type = 0;
+enumeration_type* IfcServiceLifeTypeEnum_type = 0;
+enumeration_type* IfcSlabTypeEnum_type = 0;
+enumeration_type* IfcSoundScaleEnum_type = 0;
+enumeration_type* IfcSpaceHeaterTypeEnum_type = 0;
+enumeration_type* IfcSpaceTypeEnum_type = 0;
+enumeration_type* IfcStackTerminalTypeEnum_type = 0;
+enumeration_type* IfcStairFlightTypeEnum_type = 0;
+enumeration_type* IfcStairTypeEnum_type = 0;
+enumeration_type* IfcStateEnum_type = 0;
+enumeration_type* IfcStructuralCurveTypeEnum_type = 0;
+enumeration_type* IfcStructuralSurfaceTypeEnum_type = 0;
+enumeration_type* IfcSurfaceSide_type = 0;
+enumeration_type* IfcSurfaceTextureEnum_type = 0;
+enumeration_type* IfcSwitchingDeviceTypeEnum_type = 0;
+enumeration_type* IfcTankTypeEnum_type = 0;
+enumeration_type* IfcTendonTypeEnum_type = 0;
+enumeration_type* IfcTextPath_type = 0;
+enumeration_type* IfcThermalLoadSourceEnum_type = 0;
+enumeration_type* IfcThermalLoadTypeEnum_type = 0;
+enumeration_type* IfcTimeSeriesDataTypeEnum_type = 0;
+enumeration_type* IfcTimeSeriesScheduleTypeEnum_type = 0;
+enumeration_type* IfcTransformerTypeEnum_type = 0;
+enumeration_type* IfcTransitionCode_type = 0;
+enumeration_type* IfcTransportElementTypeEnum_type = 0;
+enumeration_type* IfcTrimmingPreference_type = 0;
+enumeration_type* IfcTubeBundleTypeEnum_type = 0;
+enumeration_type* IfcUnitEnum_type = 0;
+enumeration_type* IfcUnitaryEquipmentTypeEnum_type = 0;
+enumeration_type* IfcValveTypeEnum_type = 0;
+enumeration_type* IfcVibrationIsolatorTypeEnum_type = 0;
+enumeration_type* IfcWallTypeEnum_type = 0;
+enumeration_type* IfcWasteTerminalTypeEnum_type = 0;
+enumeration_type* IfcWindowPanelOperationEnum_type = 0;
+enumeration_type* IfcWindowPanelPositionEnum_type = 0;
+enumeration_type* IfcWindowStyleConstructionEnum_type = 0;
+enumeration_type* IfcWindowStyleOperationEnum_type = 0;
+enumeration_type* IfcWorkControlTypeEnum_type = 0;
+schema_definition* populate_schema() {
+ IfcAbsorbedDoseMeasure_type = new type_declaration(IfcSchema::Type::IfcAbsorbedDoseMeasure, new simple_type(simple_type::real_type));
+ IfcAccelerationMeasure_type = new type_declaration(IfcSchema::Type::IfcAccelerationMeasure, new simple_type(simple_type::real_type));
+ IfcAmountOfSubstanceMeasure_type = new type_declaration(IfcSchema::Type::IfcAmountOfSubstanceMeasure, new simple_type(simple_type::real_type));
+ IfcAngularVelocityMeasure_type = new type_declaration(IfcSchema::Type::IfcAngularVelocityMeasure, new simple_type(simple_type::real_type));
+ IfcAreaMeasure_type = new type_declaration(IfcSchema::Type::IfcAreaMeasure, new simple_type(simple_type::real_type));
+ IfcBoolean_type = new type_declaration(IfcSchema::Type::IfcBoolean, new simple_type(simple_type::boolean_type));
+ IfcComplexNumber_type = new type_declaration(IfcSchema::Type::IfcComplexNumber, new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type)));
+ IfcCompoundPlaneAngleMeasure_type = new type_declaration(IfcSchema::Type::IfcCompoundPlaneAngleMeasure, new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type)));
+ IfcContextDependentMeasure_type = new type_declaration(IfcSchema::Type::IfcContextDependentMeasure, new simple_type(simple_type::real_type));
+ IfcCountMeasure_type = new type_declaration(IfcSchema::Type::IfcCountMeasure, new simple_type(simple_type::number_type));
+ IfcCurvatureMeasure_type = new type_declaration(IfcSchema::Type::IfcCurvatureMeasure, new simple_type(simple_type::real_type));
+ IfcDayInMonthNumber_type = new type_declaration(IfcSchema::Type::IfcDayInMonthNumber, new simple_type(simple_type::integer_type));
+ IfcDaylightSavingHour_type = new type_declaration(IfcSchema::Type::IfcDaylightSavingHour, new simple_type(simple_type::integer_type));
+ IfcDescriptiveMeasure_type = new type_declaration(IfcSchema::Type::IfcDescriptiveMeasure, None);
+ IfcDimensionCount_type = new type_declaration(IfcSchema::Type::IfcDimensionCount, new simple_type(simple_type::integer_type));
+ IfcDoseEquivalentMeasure_type = new type_declaration(IfcSchema::Type::IfcDoseEquivalentMeasure, new simple_type(simple_type::real_type));
+ IfcDynamicViscosityMeasure_type = new type_declaration(IfcSchema::Type::IfcDynamicViscosityMeasure, new simple_type(simple_type::real_type));
+ IfcElectricCapacitanceMeasure_type = new type_declaration(IfcSchema::Type::IfcElectricCapacitanceMeasure, new simple_type(simple_type::real_type));
+ IfcElectricChargeMeasure_type = new type_declaration(IfcSchema::Type::IfcElectricChargeMeasure, new simple_type(simple_type::real_type));
+ IfcElectricConductanceMeasure_type = new type_declaration(IfcSchema::Type::IfcElectricConductanceMeasure, new simple_type(simple_type::real_type));
+ IfcElectricCurrentMeasure_type = new type_declaration(IfcSchema::Type::IfcElectricCurrentMeasure, new simple_type(simple_type::real_type));
+ IfcElectricResistanceMeasure_type = new type_declaration(IfcSchema::Type::IfcElectricResistanceMeasure, new simple_type(simple_type::real_type));
+ IfcElectricVoltageMeasure_type = new type_declaration(IfcSchema::Type::IfcElectricVoltageMeasure, new simple_type(simple_type::real_type));
+ IfcEnergyMeasure_type = new type_declaration(IfcSchema::Type::IfcEnergyMeasure, new simple_type(simple_type::real_type));
+ IfcFontStyle_type = new type_declaration(IfcSchema::Type::IfcFontStyle, None);
+ IfcFontVariant_type = new type_declaration(IfcSchema::Type::IfcFontVariant, None);
+ IfcFontWeight_type = new type_declaration(IfcSchema::Type::IfcFontWeight, None);
+ IfcForceMeasure_type = new type_declaration(IfcSchema::Type::IfcForceMeasure, new simple_type(simple_type::real_type));
+ IfcFrequencyMeasure_type = new type_declaration(IfcSchema::Type::IfcFrequencyMeasure, new simple_type(simple_type::real_type));
+ IfcGloballyUniqueId_type = new type_declaration(IfcSchema::Type::IfcGloballyUniqueId, None);
+ IfcHeatFluxDensityMeasure_type = new type_declaration(IfcSchema::Type::IfcHeatFluxDensityMeasure, new simple_type(simple_type::real_type));
+ IfcHeatingValueMeasure_type = new type_declaration(IfcSchema::Type::IfcHeatingValueMeasure, new simple_type(simple_type::real_type));
+ IfcHourInDay_type = new type_declaration(IfcSchema::Type::IfcHourInDay, new simple_type(simple_type::integer_type));
+ IfcIdentifier_type = new type_declaration(IfcSchema::Type::IfcIdentifier, None);
+ IfcIlluminanceMeasure_type = new type_declaration(IfcSchema::Type::IfcIlluminanceMeasure, new simple_type(simple_type::real_type));
+ IfcInductanceMeasure_type = new type_declaration(IfcSchema::Type::IfcInductanceMeasure, new simple_type(simple_type::real_type));
+ IfcInteger_type = new type_declaration(IfcSchema::Type::IfcInteger, new simple_type(simple_type::integer_type));
+ IfcIntegerCountRateMeasure_type = new type_declaration(IfcSchema::Type::IfcIntegerCountRateMeasure, new simple_type(simple_type::integer_type));
+ IfcIonConcentrationMeasure_type = new type_declaration(IfcSchema::Type::IfcIonConcentrationMeasure, new simple_type(simple_type::real_type));
+ IfcIsothermalMoistureCapacityMeasure_type = new type_declaration(IfcSchema::Type::IfcIsothermalMoistureCapacityMeasure, new simple_type(simple_type::real_type));
+ IfcKinematicViscosityMeasure_type = new type_declaration(IfcSchema::Type::IfcKinematicViscosityMeasure, new simple_type(simple_type::real_type));
+ IfcLabel_type = new type_declaration(IfcSchema::Type::IfcLabel, None);
+ IfcLengthMeasure_type = new type_declaration(IfcSchema::Type::IfcLengthMeasure, new simple_type(simple_type::real_type));
+ IfcLinearForceMeasure_type = new type_declaration(IfcSchema::Type::IfcLinearForceMeasure, new simple_type(simple_type::real_type));
+ IfcLinearMomentMeasure_type = new type_declaration(IfcSchema::Type::IfcLinearMomentMeasure, new simple_type(simple_type::real_type));
+ IfcLinearStiffnessMeasure_type = new type_declaration(IfcSchema::Type::IfcLinearStiffnessMeasure, new simple_type(simple_type::real_type));
+ IfcLinearVelocityMeasure_type = new type_declaration(IfcSchema::Type::IfcLinearVelocityMeasure, new simple_type(simple_type::real_type));
+ IfcLogical_type = new type_declaration(IfcSchema::Type::IfcLogical, new simple_type(simple_type::logical_type));
+ IfcLuminousFluxMeasure_type = new type_declaration(IfcSchema::Type::IfcLuminousFluxMeasure, new simple_type(simple_type::real_type));
+ IfcLuminousIntensityDistributionMeasure_type = new type_declaration(IfcSchema::Type::IfcLuminousIntensityDistributionMeasure, new simple_type(simple_type::real_type));
+ IfcLuminousIntensityMeasure_type = new type_declaration(IfcSchema::Type::IfcLuminousIntensityMeasure, new simple_type(simple_type::real_type));
+ IfcMagneticFluxDensityMeasure_type = new type_declaration(IfcSchema::Type::IfcMagneticFluxDensityMeasure, new simple_type(simple_type::real_type));
+ IfcMagneticFluxMeasure_type = new type_declaration(IfcSchema::Type::IfcMagneticFluxMeasure, new simple_type(simple_type::real_type));
+ IfcMassDensityMeasure_type = new type_declaration(IfcSchema::Type::IfcMassDensityMeasure, new simple_type(simple_type::real_type));
+ IfcMassFlowRateMeasure_type = new type_declaration(IfcSchema::Type::IfcMassFlowRateMeasure, new simple_type(simple_type::real_type));
+ IfcMassMeasure_type = new type_declaration(IfcSchema::Type::IfcMassMeasure, new simple_type(simple_type::real_type));
+ IfcMassPerLengthMeasure_type = new type_declaration(IfcSchema::Type::IfcMassPerLengthMeasure, new simple_type(simple_type::real_type));
+ IfcMinuteInHour_type = new type_declaration(IfcSchema::Type::IfcMinuteInHour, new simple_type(simple_type::integer_type));
+ IfcModulusOfElasticityMeasure_type = new type_declaration(IfcSchema::Type::IfcModulusOfElasticityMeasure, new simple_type(simple_type::real_type));
+ IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration(IfcSchema::Type::IfcModulusOfLinearSubgradeReactionMeasure, new simple_type(simple_type::real_type));
+ IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration(IfcSchema::Type::IfcModulusOfRotationalSubgradeReactionMeasure, new simple_type(simple_type::real_type));
+ IfcModulusOfSubgradeReactionMeasure_type = new type_declaration(IfcSchema::Type::IfcModulusOfSubgradeReactionMeasure, new simple_type(simple_type::real_type));
+ IfcMoistureDiffusivityMeasure_type = new type_declaration(IfcSchema::Type::IfcMoistureDiffusivityMeasure, new simple_type(simple_type::real_type));
+ IfcMolecularWeightMeasure_type = new type_declaration(IfcSchema::Type::IfcMolecularWeightMeasure, new simple_type(simple_type::real_type));
+ IfcMomentOfInertiaMeasure_type = new type_declaration(IfcSchema::Type::IfcMomentOfInertiaMeasure, new simple_type(simple_type::real_type));
+ IfcMonetaryMeasure_type = new type_declaration(IfcSchema::Type::IfcMonetaryMeasure, new simple_type(simple_type::real_type));
+ IfcMonthInYearNumber_type = new type_declaration(IfcSchema::Type::IfcMonthInYearNumber, new simple_type(simple_type::integer_type));
+ IfcNumericMeasure_type = new type_declaration(IfcSchema::Type::IfcNumericMeasure, new simple_type(simple_type::number_type));
+ IfcPHMeasure_type = new type_declaration(IfcSchema::Type::IfcPHMeasure, new simple_type(simple_type::real_type));
+ IfcParameterValue_type = new type_declaration(IfcSchema::Type::IfcParameterValue, new simple_type(simple_type::real_type));
+ IfcPlanarForceMeasure_type = new type_declaration(IfcSchema::Type::IfcPlanarForceMeasure, new simple_type(simple_type::real_type));
+ IfcPlaneAngleMeasure_type = new type_declaration(IfcSchema::Type::IfcPlaneAngleMeasure, new simple_type(simple_type::real_type));
+ IfcPositiveLengthMeasure_type = new type_declaration(IfcSchema::Type::IfcPositiveLengthMeasure, new named_type(IfcLengthMeasure_type));
+ IfcPositivePlaneAngleMeasure_type = new type_declaration(IfcSchema::Type::IfcPositivePlaneAngleMeasure, new named_type(IfcPlaneAngleMeasure_type));
+ IfcPowerMeasure_type = new type_declaration(IfcSchema::Type::IfcPowerMeasure, new simple_type(simple_type::real_type));
+ IfcPresentableText_type = new type_declaration(IfcSchema::Type::IfcPresentableText, None);
+ IfcPressureMeasure_type = new type_declaration(IfcSchema::Type::IfcPressureMeasure, new simple_type(simple_type::real_type));
+ IfcRadioActivityMeasure_type = new type_declaration(IfcSchema::Type::IfcRadioActivityMeasure, new simple_type(simple_type::real_type));
+ IfcRatioMeasure_type = new type_declaration(IfcSchema::Type::IfcRatioMeasure, new simple_type(simple_type::real_type));
+ IfcReal_type = new type_declaration(IfcSchema::Type::IfcReal, new simple_type(simple_type::real_type));
+ IfcRotationalFrequencyMeasure_type = new type_declaration(IfcSchema::Type::IfcRotationalFrequencyMeasure, new simple_type(simple_type::real_type));
+ IfcRotationalMassMeasure_type = new type_declaration(IfcSchema::Type::IfcRotationalMassMeasure, new simple_type(simple_type::real_type));
+ IfcRotationalStiffnessMeasure_type = new type_declaration(IfcSchema::Type::IfcRotationalStiffnessMeasure, new simple_type(simple_type::real_type));
+ IfcSecondInMinute_type = new type_declaration(IfcSchema::Type::IfcSecondInMinute, new simple_type(simple_type::real_type));
+ IfcSectionModulusMeasure_type = new type_declaration(IfcSchema::Type::IfcSectionModulusMeasure, new simple_type(simple_type::real_type));
+ IfcSectionalAreaIntegralMeasure_type = new type_declaration(IfcSchema::Type::IfcSectionalAreaIntegralMeasure, new simple_type(simple_type::real_type));
+ IfcShearModulusMeasure_type = new type_declaration(IfcSchema::Type::IfcShearModulusMeasure, new simple_type(simple_type::real_type));
+ IfcSolidAngleMeasure_type = new type_declaration(IfcSchema::Type::IfcSolidAngleMeasure, new simple_type(simple_type::real_type));
+ IfcSoundPowerMeasure_type = new type_declaration(IfcSchema::Type::IfcSoundPowerMeasure, new simple_type(simple_type::real_type));
+ IfcSoundPressureMeasure_type = new type_declaration(IfcSchema::Type::IfcSoundPressureMeasure, new simple_type(simple_type::real_type));
+ IfcSpecificHeatCapacityMeasure_type = new type_declaration(IfcSchema::Type::IfcSpecificHeatCapacityMeasure, new simple_type(simple_type::real_type));
+ IfcSpecularExponent_type = new type_declaration(IfcSchema::Type::IfcSpecularExponent, new simple_type(simple_type::real_type));
+ IfcSpecularRoughness_type = new type_declaration(IfcSchema::Type::IfcSpecularRoughness, new simple_type(simple_type::real_type));
+ IfcTemperatureGradientMeasure_type = new type_declaration(IfcSchema::Type::IfcTemperatureGradientMeasure, new simple_type(simple_type::real_type));
+ IfcText_type = new type_declaration(IfcSchema::Type::IfcText, None);
+ IfcTextAlignment_type = new type_declaration(IfcSchema::Type::IfcTextAlignment, None);
+ IfcTextDecoration_type = new type_declaration(IfcSchema::Type::IfcTextDecoration, None);
+ IfcTextFontName_type = new type_declaration(IfcSchema::Type::IfcTextFontName, None);
+ IfcTextTransformation_type = new type_declaration(IfcSchema::Type::IfcTextTransformation, None);
+ IfcThermalAdmittanceMeasure_type = new type_declaration(IfcSchema::Type::IfcThermalAdmittanceMeasure, new simple_type(simple_type::real_type));
+ IfcThermalConductivityMeasure_type = new type_declaration(IfcSchema::Type::IfcThermalConductivityMeasure, new simple_type(simple_type::real_type));
+ IfcThermalExpansionCoefficientMeasure_type = new type_declaration(IfcSchema::Type::IfcThermalExpansionCoefficientMeasure, new simple_type(simple_type::real_type));
+ IfcThermalResistanceMeasure_type = new type_declaration(IfcSchema::Type::IfcThermalResistanceMeasure, new simple_type(simple_type::real_type));
+ IfcThermalTransmittanceMeasure_type = new type_declaration(IfcSchema::Type::IfcThermalTransmittanceMeasure, new simple_type(simple_type::real_type));
+ IfcThermodynamicTemperatureMeasure_type = new type_declaration(IfcSchema::Type::IfcThermodynamicTemperatureMeasure, new simple_type(simple_type::real_type));
+ IfcTimeMeasure_type = new type_declaration(IfcSchema::Type::IfcTimeMeasure, new simple_type(simple_type::real_type));
+ IfcTimeStamp_type = new type_declaration(IfcSchema::Type::IfcTimeStamp, new simple_type(simple_type::integer_type));
+ IfcTorqueMeasure_type = new type_declaration(IfcSchema::Type::IfcTorqueMeasure, new simple_type(simple_type::real_type));
+ IfcVaporPermeabilityMeasure_type = new type_declaration(IfcSchema::Type::IfcVaporPermeabilityMeasure, new simple_type(simple_type::real_type));
+ IfcVolumeMeasure_type = new type_declaration(IfcSchema::Type::IfcVolumeMeasure, new simple_type(simple_type::real_type));
+ IfcVolumetricFlowRateMeasure_type = new type_declaration(IfcSchema::Type::IfcVolumetricFlowRateMeasure, new simple_type(simple_type::real_type));
+ IfcWarpingConstantMeasure_type = new type_declaration(IfcSchema::Type::IfcWarpingConstantMeasure, new simple_type(simple_type::real_type));
+ IfcWarpingMomentMeasure_type = new type_declaration(IfcSchema::Type::IfcWarpingMomentMeasure, new simple_type(simple_type::real_type));
+ IfcYearNumber_type = new type_declaration(IfcSchema::Type::IfcYearNumber, new simple_type(simple_type::integer_type));
+ IfcBoxAlignment_type = new type_declaration(IfcSchema::Type::IfcBoxAlignment, new named_type(IfcLabel_type));
+ IfcNormalisedRatioMeasure_type = new type_declaration(IfcSchema::Type::IfcNormalisedRatioMeasure, new named_type(IfcRatioMeasure_type));
+ IfcPositiveRatioMeasure_type = new type_declaration(IfcSchema::Type::IfcPositiveRatioMeasure, new named_type(IfcRatioMeasure_type));
+ {
+ 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");
+ IfcActionSourceTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcActionSourceTypeEnum, 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");
+ IfcActionTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcActionTypeEnum, 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");
+ IfcActuatorTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcActuatorTypeEnum, 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");
+ IfcAddressTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcAddressTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AHEAD");
+ items.push_back("BEHIND");
+ IfcAheadOrBehind_type = new enumeration_type(IfcSchema::Type::IfcAheadOrBehind, 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");
+ IfcAirTerminalBoxTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcAirTerminalBoxTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("DIFFUSER");
+ items.push_back("EYEBALL");
+ items.push_back("GRILLE");
+ items.push_back("IRIS");
+ items.push_back("LINEARDIFFUSER");
+ items.push_back("LINEARGRILLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("REGISTER");
+ items.push_back("USERDEFINED");
+ IfcAirTerminalTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcAirTerminalTypeEnum, 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");
+ IfcAirToAirHeatRecoveryTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcAirToAirHeatRecoveryTypeEnum, 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");
+ IfcAlarmTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcAlarmTypeEnum, items);
+ }
+ {
+ 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");
+ IfcAnalysisModelTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcAnalysisModelTypeEnum, 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");
+ IfcAnalysisTheoryTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcAnalysisTheoryTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ADD");
+ items.push_back("DIVIDE");
+ items.push_back("MULTIPLY");
+ items.push_back("SUBTRACT");
+ IfcArithmeticOperatorEnum_type = new enumeration_type(IfcSchema::Type::IfcArithmeticOperatorEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FACTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SITE");
+ IfcAssemblyPlaceEnum_type = new enumeration_type(IfcSchema::Type::IfcAssemblyPlaceEnum, 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");
+ IfcBSplineCurveForm_type = new enumeration_type(IfcSchema::Type::IfcBSplineCurveForm, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BEAM");
+ items.push_back("JOIST");
+ items.push_back("LINTEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("T_BEAM");
+ items.push_back("USERDEFINED");
+ IfcBeamTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcBeamTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("EQUALTO");
+ items.push_back("GREATERTHAN");
+ items.push_back("GREATERTHANOREQUALTO");
+ items.push_back("LESSTHAN");
+ items.push_back("LESSTHANOREQUALTO");
+ items.push_back("NOTEQUALTO");
+ IfcBenchmarkEnum_type = new enumeration_type(IfcSchema::Type::IfcBenchmarkEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("STEAM");
+ items.push_back("USERDEFINED");
+ items.push_back("WATER");
+ IfcBoilerTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcBoilerTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("DIFFERENCE");
+ items.push_back("INTERSECTION");
+ items.push_back("UNION");
+ IfcBooleanOperator_type = new enumeration_type(IfcSchema::Type::IfcBooleanOperator, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcBuildingElementProxyTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcBuildingElementProxyTypeEnum, 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");
+ IfcCableCarrierFittingTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCableCarrierFittingTypeEnum, 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");
+ IfcCableCarrierSegmentTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCableCarrierSegmentTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CABLESEGMENT");
+ items.push_back("CONDUCTORSEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcCableSegmentTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCableSegmentTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("ADDED");
+ items.push_back("DELETED");
+ items.push_back("MODIFIED");
+ items.push_back("MODIFIEDADDED");
+ items.push_back("MODIFIEDDELETED");
+ items.push_back("NOCHANGE");
+ IfcChangeActionEnum_type = new enumeration_type(IfcSchema::Type::IfcChangeActionEnum, 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");
+ IfcChillerTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcChillerTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("DXCOOLINGCOIL");
+ items.push_back("ELECTRICHEATINGCOIL");
+ items.push_back("GASHEATINGCOIL");
+ items.push_back("NOTDEFINED");
+ items.push_back("STEAMHEATINGCOIL");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERCOOLINGCOIL");
+ items.push_back("WATERHEATINGCOIL");
+ IfcCoilTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCoilTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COLUMN");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcColumnTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcColumnTypeEnum, items);
+ }
+ {
+ 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");
+ IfcCompressorTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCompressorTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("AIRCOOLED");
+ items.push_back("EVAPORATIVECOOLED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERCOOLEDBRAZEDPLATE");
+ items.push_back("WATERCOOLEDSHELLCOIL");
+ items.push_back("WATERCOOLEDSHELLTUBE");
+ items.push_back("WATERCOOLEDTUBEINTUBE");
+ IfcCondenserTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCondenserTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ATEND");
+ items.push_back("ATPATH");
+ items.push_back("ATSTART");
+ items.push_back("NOTDEFINED");
+ IfcConnectionTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcConnectionTypeEnum, 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");
+ IfcConstraintEnum_type = new enumeration_type(IfcSchema::Type::IfcConstraintEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("FLOATING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROPORTIONAL");
+ items.push_back("PROPORTIONALINTEGRAL");
+ items.push_back("PROPORTIONALINTEGRALDERIVATIVE");
+ items.push_back("TIMEDTWOPOSITION");
+ items.push_back("TWOPOSITION");
+ items.push_back("USERDEFINED");
+ IfcControllerTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcControllerTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ACTIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PASSIVE");
+ items.push_back("USERDEFINED");
+ IfcCooledBeamTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCooledBeamTypeEnum, 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");
+ IfcCoolingTowerTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCoolingTowerTypeEnum, 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");
+ IfcCostScheduleTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCostScheduleTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("CEILING");
+ items.push_back("CLADDING");
+ items.push_back("FLOORING");
+ items.push_back("INSULATION");
+ items.push_back("MEMBRANE");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFING");
+ items.push_back("SLEEVING");
+ items.push_back("USERDEFINED");
+ items.push_back("WRAPPING");
+ IfcCoveringTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCoveringTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(83);
+ items.push_back("AED");
+ items.push_back("AES");
+ items.push_back("ATS");
+ items.push_back("AUD");
+ items.push_back("BBD");
+ items.push_back("BEG");
+ items.push_back("BGL");
+ items.push_back("BHD");
+ items.push_back("BMD");
+ items.push_back("BND");
+ items.push_back("BRL");
+ items.push_back("BSD");
+ items.push_back("BWP");
+ items.push_back("BZD");
+ items.push_back("CAD");
+ items.push_back("CBD");
+ items.push_back("CHF");
+ items.push_back("CLP");
+ items.push_back("CNY");
+ items.push_back("CYS");
+ items.push_back("CZK");
+ items.push_back("DDP");
+ items.push_back("DEM");
+ items.push_back("DKK");
+ items.push_back("EGL");
+ items.push_back("EST");
+ items.push_back("EUR");
+ items.push_back("FAK");
+ items.push_back("FIM");
+ items.push_back("FJD");
+ items.push_back("FKP");
+ items.push_back("FRF");
+ items.push_back("GBP");
+ items.push_back("GIP");
+ items.push_back("GMD");
+ items.push_back("GRX");
+ items.push_back("HKD");
+ items.push_back("HUF");
+ items.push_back("ICK");
+ items.push_back("IDR");
+ items.push_back("ILS");
+ items.push_back("INR");
+ items.push_back("IRP");
+ items.push_back("ITL");
+ items.push_back("JMD");
+ items.push_back("JOD");
+ items.push_back("JPY");
+ items.push_back("KES");
+ items.push_back("KRW");
+ items.push_back("KWD");
+ items.push_back("KYD");
+ items.push_back("LKR");
+ items.push_back("LUF");
+ items.push_back("MTL");
+ items.push_back("MUR");
+ items.push_back("MXN");
+ items.push_back("MYR");
+ items.push_back("NLG");
+ items.push_back("NOK");
+ items.push_back("NZD");
+ items.push_back("OMR");
+ items.push_back("PGK");
+ items.push_back("PHP");
+ items.push_back("PKR");
+ items.push_back("PLN");
+ items.push_back("PTN");
+ items.push_back("QAR");
+ items.push_back("RUR");
+ items.push_back("SAR");
+ items.push_back("SCR");
+ items.push_back("SEK");
+ items.push_back("SGD");
+ items.push_back("SKP");
+ items.push_back("THB");
+ items.push_back("TRL");
+ items.push_back("TTD");
+ items.push_back("TWD");
+ items.push_back("USD");
+ items.push_back("VEB");
+ items.push_back("VND");
+ items.push_back("XEU");
+ items.push_back("ZAR");
+ items.push_back("ZWD");
+ IfcCurrencyEnum_type = new enumeration_type(IfcSchema::Type::IfcCurrencyEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcCurtainWallTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcCurtainWallTypeEnum, 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");
+ IfcDamperTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcDamperTypeEnum, 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");
+ IfcDataOriginEnum_type = new enumeration_type(IfcSchema::Type::IfcDataOriginEnum, items);
+ }
+ {
+ std::vector items; items.reserve(49);
+ items.push_back("ACCELERATIONUNIT");
+ items.push_back("ANGULARVELOCITYUNIT");
+ 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("SOUNDPOWERUNIT");
+ items.push_back("SOUNDPRESSUREUNIT");
+ items.push_back("SPECIFICHEATCAPACITYUNIT");
+ items.push_back("TEMPERATUREGRADIENTUNIT");
+ 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");
+ IfcDerivedUnitEnum_type = new enumeration_type(IfcSchema::Type::IfcDerivedUnitEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("ORIGIN");
+ items.push_back("TARGET");
+ IfcDimensionExtentUsage_type = new enumeration_type(IfcSchema::Type::IfcDimensionExtentUsage, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IfcDirectionSenseEnum_type = new enumeration_type(IfcSchema::Type::IfcDirectionSenseEnum, 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");
+ IfcDistributionChamberElementTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcDistributionChamberElementTypeEnum, 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");
+ IfcDocumentConfidentialityEnum_type = new enumeration_type(IfcSchema::Type::IfcDocumentConfidentialityEnum, 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");
+ IfcDocumentStatusEnum_type = new enumeration_type(IfcSchema::Type::IfcDocumentStatusEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("DOUBLE_ACTING");
+ 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");
+ IfcDoorPanelOperationEnum_type = new enumeration_type(IfcSchema::Type::IfcDoorPanelOperationEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ IfcDoorPanelPositionEnum_type = new enumeration_type(IfcSchema::Type::IfcDoorPanelPositionEnum, 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");
+ IfcDoorStyleConstructionEnum_type = new enumeration_type(IfcSchema::Type::IfcDoorStyleConstructionEnum, 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");
+ IfcDoorStyleOperationEnum_type = new enumeration_type(IfcSchema::Type::IfcDoorStyleOperationEnum, 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");
+ IfcDuctFittingTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcDuctFittingTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("USERDEFINED");
+ IfcDuctSegmentTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcDuctSegmentTypeEnum, 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");
+ IfcDuctSilencerTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcDuctSilencerTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(26);
+ items.push_back("COMPUTER");
+ items.push_back("DIRECTWATERHEATER");
+ items.push_back("DISHWASHER");
+ items.push_back("ELECTRICCOOKER");
+ items.push_back("ELECTRICHEATER");
+ items.push_back("FACSIMILE");
+ items.push_back("FREESTANDINGFAN");
+ items.push_back("FREEZER");
+ items.push_back("FRIDGE_FREEZER");
+ items.push_back("HANDDRYER");
+ items.push_back("INDIRECTWATERHEATER");
+ items.push_back("MICROWAVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHOTOCOPIER");
+ items.push_back("PRINTER");
+ items.push_back("RADIANTHEATER");
+ items.push_back("REFRIGERATOR");
+ items.push_back("SCANNER");
+ items.push_back("TELEPHONE");
+ items.push_back("TUMBLEDRYER");
+ items.push_back("TV");
+ items.push_back("USERDEFINED");
+ items.push_back("VENDINGMACHINE");
+ items.push_back("WASHINGMACHINE");
+ items.push_back("WATERCOOLER");
+ items.push_back("WATERHEATER");
+ IfcElectricApplianceTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcElectricApplianceTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ALTERNATING");
+ items.push_back("DIRECT");
+ items.push_back("NOTDEFINED");
+ IfcElectricCurrentEnum_type = new enumeration_type(IfcSchema::Type::IfcElectricCurrentEnum, items);
+ }
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("ALARMPANEL");
+ items.push_back("CONSUMERUNIT");
+ items.push_back("CONTROLPANEL");
+ items.push_back("DISTRIBUTIONBOARD");
+ items.push_back("GASDETECTORPANEL");
+ items.push_back("INDICATORPANEL");
+ items.push_back("MIMICPANEL");
+ items.push_back("MOTORCONTROLCENTRE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SWITCHBOARD");
+ items.push_back("USERDEFINED");
+ IfcElectricDistributionPointFunctionEnum_type = new enumeration_type(IfcSchema::Type::IfcElectricDistributionPointFunctionEnum, 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");
+ IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcElectricFlowStorageDeviceTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcElectricGeneratorTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcElectricGeneratorTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ELECTRICCABLEHEATER");
+ items.push_back("ELECTRICMATHEATER");
+ items.push_back("ELECTRICPOINTHEATER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcElectricHeaterTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcElectricHeaterTypeEnum, 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");
+ IfcElectricMotorTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcElectricMotorTypeEnum, items);
+ }
+ {
+ 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");
+ IfcElectricTimeControlTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcElectricTimeControlTypeEnum, items);
+ }
+ {
+ 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");
+ IfcElementAssemblyTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcElementAssemblyTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("PARTIAL");
+ IfcElementCompositionEnum_type = new enumeration_type(IfcSchema::Type::IfcElementCompositionEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("AUXILIARY");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRIMARY");
+ items.push_back("SECONDARY");
+ items.push_back("TERTIARY");
+ items.push_back("USERDEFINED");
+ IfcEnergySequenceEnum_type = new enumeration_type(IfcSchema::Type::IfcEnergySequenceEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("COMBINEDVALUE");
+ items.push_back("DISPOSAL");
+ items.push_back("EXTRACTION");
+ items.push_back("INSTALLATION");
+ items.push_back("MANUFACTURE");
+ items.push_back("NOTDEFINED");
+ items.push_back("TRANSPORTATION");
+ items.push_back("USERDEFINED");
+ IfcEnvironmentalImpactCategoryEnum_type = new enumeration_type(IfcSchema::Type::IfcEnvironmentalImpactCategoryEnum, 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");
+ IfcEvaporativeCoolerTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcEvaporativeCoolerTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ 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");
+ IfcEvaporatorTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcEvaporatorTypeEnum, 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");
+ IfcFanTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcFanTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("AIRPARTICLEFILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("ODORFILTER");
+ items.push_back("OILFILTER");
+ items.push_back("STRAINER");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERFILTER");
+ IfcFilterTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcFilterTypeEnum, 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");
+ IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcFireSuppressionTerminalTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SINK");
+ items.push_back("SOURCE");
+ items.push_back("SOURCEANDSINK");
+ IfcFlowDirectionEnum_type = new enumeration_type(IfcSchema::Type::IfcFlowDirectionEnum, 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");
+ IfcFlowInstrumentTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcFlowInstrumentTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ELECTRICMETER");
+ items.push_back("ENERGYMETER");
+ items.push_back("FLOWMETER");
+ items.push_back("GASMETER");
+ items.push_back("NOTDEFINED");
+ items.push_back("OILMETER");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERMETER");
+ IfcFlowMeterTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcFlowMeterTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ 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");
+ IfcFootingTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcFootingTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("GASAPPLIANCE");
+ items.push_back("GASBOOSTER");
+ items.push_back("GASBURNER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcGasTerminalTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcGasTerminalTypeEnum, 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");
+ IfcGeometricProjectionEnum_type = new enumeration_type(IfcSchema::Type::IfcGeometricProjectionEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("GLOBAL_COORDS");
+ items.push_back("LOCAL_COORDS");
+ IfcGlobalOrLocalEnum_type = new enumeration_type(IfcSchema::Type::IfcGlobalOrLocalEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PLATE");
+ items.push_back("SHELLANDTUBE");
+ items.push_back("USERDEFINED");
+ IfcHeatExchangerTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcHeatExchangerTypeEnum, items);
+ }
+ {
+ 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");
+ IfcHumidifierTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcHumidifierTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("EXTERNAL");
+ items.push_back("INTERNAL");
+ items.push_back("NOTDEFINED");
+ IfcInternalOrExternalEnum_type = new enumeration_type(IfcSchema::Type::IfcInternalOrExternalEnum, 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");
+ IfcInventoryTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcInventoryTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcJunctionBoxTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcJunctionBoxTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("COMPACTFLUORESCENT");
+ items.push_back("FLUORESCENT");
+ items.push_back("HIGHPRESSUREMERCURY");
+ items.push_back("HIGHPRESSURESODIUM");
+ items.push_back("METALHALIDE");
+ items.push_back("NOTDEFINED");
+ items.push_back("TUNGSTENFILAMENT");
+ items.push_back("USERDEFINED");
+ IfcLampTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcLampTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("AXIS1");
+ items.push_back("AXIS2");
+ items.push_back("AXIS3");
+ IfcLayerSetDirectionEnum_type = new enumeration_type(IfcSchema::Type::IfcLayerSetDirectionEnum, items);
+ }
+ {
+ 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");
+ IfcLightDistributionCurveEnum_type = new enumeration_type(IfcSchema::Type::IfcLightDistributionCurveEnum, 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");
+ IfcLightEmissionSourceEnum_type = new enumeration_type(IfcSchema::Type::IfcLightEmissionSourceEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("DIRECTIONSOURCE");
+ items.push_back("NOTDEFINED");
+ items.push_back("POINTSOURCE");
+ items.push_back("USERDEFINED");
+ IfcLightFixtureTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcLightFixtureTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("LOAD_CASE");
+ items.push_back("LOAD_COMBINATION");
+ items.push_back("LOAD_COMBINATION_GROUP");
+ items.push_back("LOAD_GROUP");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcLoadGroupTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcLoadGroupTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("LOGICALAND");
+ items.push_back("LOGICALOR");
+ IfcLogicalOperatorEnum_type = new enumeration_type(IfcSchema::Type::IfcLogicalOperatorEnum, 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");
+ IfcMemberTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcMemberTypeEnum, items);
+ }
+ {
+ 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");
+ IfcMotorConnectionTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcMotorConnectionTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(1);
+ items.push_back("NULL");
+ IfcNullStyle_type = new enumeration_type(IfcSchema::Type::IfcNullStyle, items);
+ }
+ {
+ 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");
+ IfcObjectTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcObjectTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CODECOMPLIANCE");
+ items.push_back("DESIGNINTENT");
+ items.push_back("HEALTHANDSAFETY");
+ items.push_back("NOTDEFINED");
+ items.push_back("REQUIREMENT");
+ items.push_back("SPECIFICATION");
+ items.push_back("TRIGGERCONDITION");
+ items.push_back("USERDEFINED");
+ IfcObjectiveEnum_type = new enumeration_type(IfcSchema::Type::IfcObjectiveEnum, 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");
+ IfcOccupantTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcOccupantTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("AUDIOVISUALOUTLET");
+ items.push_back("COMMUNICATIONSOUTLET");
+ items.push_back("NOTDEFINED");
+ items.push_back("POWEROUTLET");
+ items.push_back("USERDEFINED");
+ IfcOutletTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcOutletTypeEnum, 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");
+ IfcPermeableCoveringOperationEnum_type = new enumeration_type(IfcSchema::Type::IfcPermeableCoveringOperationEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("NOTDEFINED");
+ items.push_back("PHYSICAL");
+ items.push_back("VIRTUAL");
+ IfcPhysicalOrVirtualEnum_type = new enumeration_type(IfcSchema::Type::IfcPhysicalOrVirtualEnum, 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");
+ IfcPileConstructionEnum_type = new enumeration_type(IfcSchema::Type::IfcPileConstructionEnum, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("COHESION");
+ items.push_back("FRICTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("SUPPORT");
+ items.push_back("USERDEFINED");
+ IfcPileTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcPileTypeEnum, 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");
+ IfcPipeFittingTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcPipeFittingTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("GUTTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("SPOOL");
+ items.push_back("USERDEFINED");
+ IfcPipeSegmentTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcPipeSegmentTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CURTAIN_PANEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHEET");
+ items.push_back("USERDEFINED");
+ IfcPlateTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcPlateTypeEnum, items);
+ }
+ {
+ 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");
+ IfcProcedureTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcProcedureTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AREA");
+ items.push_back("CURVE");
+ IfcProfileTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcProfileTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CHANGE");
+ items.push_back("MAINTENANCE");
+ items.push_back("MOVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASE");
+ items.push_back("USERDEFINED");
+ items.push_back("WORK");
+ IfcProjectOrderRecordTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcProjectOrderRecordTypeEnum, 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");
+ IfcProjectOrderTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcProjectOrderTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PROJECTED_LENGTH");
+ items.push_back("TRUE_LENGTH");
+ IfcProjectedOrTrueLengthEnum_type = new enumeration_type(IfcSchema::Type::IfcProjectedOrTrueLengthEnum, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ASBUILT");
+ items.push_back("COMMISSIONING");
+ items.push_back("DESIGN");
+ items.push_back("DESIGNMAXIMUM");
+ items.push_back("DESIGNMINIMUM");
+ items.push_back("MEASURED");
+ items.push_back("NOTKNOWN");
+ items.push_back("SIMULATED");
+ items.push_back("USERDEFINED");
+ IfcPropertySourceEnum_type = new enumeration_type(IfcSchema::Type::IfcPropertySourceEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CIRCUITBREAKER");
+ items.push_back("EARTHFAILUREDEVICE");
+ items.push_back("FUSEDISCONNECTOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("RESIDUALCURRENTCIRCUITBREAKER");
+ items.push_back("RESIDUALCURRENTSWITCH");
+ items.push_back("USERDEFINED");
+ items.push_back("VARISTOR");
+ IfcProtectiveDeviceTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcProtectiveDeviceTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CIRCULATOR");
+ items.push_back("ENDSUCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPLITCASE");
+ items.push_back("USERDEFINED");
+ items.push_back("VERTICALINLINE");
+ items.push_back("VERTICALTURBINE");
+ IfcPumpTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcPumpTypeEnum, items);
+ }
+ {
+ 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");
+ IfcRailingTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcRailingTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ IfcRampFlightTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcRampFlightTypeEnum, 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");
+ IfcRampTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcRampTypeEnum, 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");
+ IfcReflectanceMethodEnum_type = new enumeration_type(IfcSchema::Type::IfcReflectanceMethodEnum, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ 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");
+ IfcReinforcingBarRoleEnum_type = new enumeration_type(IfcSchema::Type::IfcReinforcingBarRoleEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PLAIN");
+ items.push_back("TEXTURED");
+ IfcReinforcingBarSurfaceEnum_type = new enumeration_type(IfcSchema::Type::IfcReinforcingBarSurfaceEnum, items);
+ }
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CONSUMED");
+ items.push_back("NOTCONSUMED");
+ items.push_back("NOTDEFINED");
+ items.push_back("NOTOCCUPIED");
+ items.push_back("OCCUPIED");
+ items.push_back("PARTIALLYCONSUMED");
+ items.push_back("PARTIALLYOCCUPIED");
+ items.push_back("USERDEFINED");
+ IfcResourceConsumptionEnum_type = new enumeration_type(IfcSchema::Type::IfcResourceConsumptionEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("DIRECTION_X");
+ items.push_back("DIRECTION_Y");
+ IfcRibPlateDirectionEnum_type = new enumeration_type(IfcSchema::Type::IfcRibPlateDirectionEnum, 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("COMISSIONINGENGINEER");
+ 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");
+ IfcRoleEnum_type = new enumeration_type(IfcSchema::Type::IfcRoleEnum, items);
+ }
+ {
+ std::vector items; items.reserve(14);
+ 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");
+ IfcRoofTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcRoofTypeEnum, 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");
+ IfcSIPrefix_type = new enumeration_type(IfcSchema::Type::IfcSIPrefix, 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");
+ IfcSIUnitName_type = new enumeration_type(IfcSchema::Type::IfcSIUnitName, 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");
+ IfcSanitaryTerminalTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcSanitaryTerminalTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("TAPERED");
+ items.push_back("UNIFORM");
+ IfcSectionTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcSectionTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("CO2SENSOR");
+ items.push_back("FIRESENSOR");
+ items.push_back("FLOWSENSOR");
+ items.push_back("GASSENSOR");
+ items.push_back("HEATSENSOR");
+ items.push_back("HUMIDITYSENSOR");
+ items.push_back("LIGHTSENSOR");
+ items.push_back("MOISTURESENSOR");
+ items.push_back("MOVEMENTSENSOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRESSURESENSOR");
+ items.push_back("SMOKESENSOR");
+ items.push_back("SOUNDSENSOR");
+ items.push_back("TEMPERATURESENSOR");
+ items.push_back("USERDEFINED");
+ IfcSensorTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcSensorTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("FINISH_FINISH");
+ items.push_back("FINISH_START");
+ items.push_back("NOTDEFINED");
+ items.push_back("START_FINISH");
+ items.push_back("START_START");
+ IfcSequenceEnum_type = new enumeration_type(IfcSchema::Type::IfcSequenceEnum, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("A_QUALITYOFCOMPONENTS");
+ items.push_back("B_DESIGNLEVEL");
+ items.push_back("C_WORKEXECUTIONLEVEL");
+ items.push_back("D_INDOORENVIRONMENT");
+ items.push_back("E_OUTDOORENVIRONMENT");
+ items.push_back("F_INUSECONDITIONS");
+ items.push_back("G_MAINTENANCELEVEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcServiceLifeFactorTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcServiceLifeFactorTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ACTUALSERVICELIFE");
+ items.push_back("EXPECTEDSERVICELIFE");
+ items.push_back("OPTIMISTICREFERENCESERVICELIFE");
+ items.push_back("PESSIMISTICREFERENCESERVICELIFE");
+ items.push_back("REFERENCESERVICELIFE");
+ IfcServiceLifeTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcServiceLifeTypeEnum, 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");
+ IfcSlabTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcSlabTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("DBA");
+ items.push_back("DBB");
+ items.push_back("DBC");
+ items.push_back("NC");
+ items.push_back("NOTDEFINED");
+ items.push_back("NR");
+ items.push_back("USERDEFINED");
+ IfcSoundScaleEnum_type = new enumeration_type(IfcSchema::Type::IfcSoundScaleEnum, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BASEBOARDHEATER");
+ items.push_back("CONVECTOR");
+ items.push_back("FINNEDTUBEUNIT");
+ items.push_back("NOTDEFINED");
+ items.push_back("PANELRADIATOR");
+ items.push_back("SECTIONALRADIATOR");
+ items.push_back("TUBULARRADIATOR");
+ items.push_back("UNITHEATER");
+ items.push_back("USERDEFINED");
+ IfcSpaceHeaterTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcSpaceHeaterTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcSpaceTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcSpaceTypeEnum, items);
+ }
+ {
+ 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");
+ IfcStackTerminalTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcStackTerminalTypeEnum, 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");
+ IfcStairFlightTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcStairFlightTypeEnum, 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");
+ IfcStairTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcStairTypeEnum, 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");
+ IfcStateEnum_type = new enumeration_type(IfcSchema::Type::IfcStateEnum, 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");
+ IfcStructuralCurveTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcStructuralCurveTypeEnum, 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");
+ IfcStructuralSurfaceTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcStructuralSurfaceTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("BOTH");
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IfcSurfaceSide_type = new enumeration_type(IfcSchema::Type::IfcSurfaceSide, items);
+ }
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BUMP");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPACITY");
+ items.push_back("REFLECTION");
+ items.push_back("SELFILLUMINATION");
+ items.push_back("SHININESS");
+ items.push_back("SPECULAR");
+ items.push_back("TEXTURE");
+ items.push_back("TRANSPARENCYMAP");
+ IfcSurfaceTextureEnum_type = new enumeration_type(IfcSchema::Type::IfcSurfaceTextureEnum, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CONTACTOR");
+ items.push_back("EMERGENCYSTOP");
+ items.push_back("NOTDEFINED");
+ items.push_back("STARTER");
+ items.push_back("SWITCHDISCONNECTOR");
+ items.push_back("TOGGLESWITCH");
+ items.push_back("USERDEFINED");
+ IfcSwitchingDeviceTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcSwitchingDeviceTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("EXPANSION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PREFORMED");
+ items.push_back("PRESSUREVESSEL");
+ items.push_back("SECTIONAL");
+ items.push_back("USERDEFINED");
+ IfcTankTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcTankTypeEnum, 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");
+ IfcTendonTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcTendonTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("DOWN");
+ items.push_back("LEFT");
+ items.push_back("RIGHT");
+ items.push_back("UP");
+ IfcTextPath_type = new enumeration_type(IfcSchema::Type::IfcTextPath, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("AIREXCHANGERATE");
+ items.push_back("DRYBULBTEMPERATURE");
+ items.push_back("EQUIPMENT");
+ items.push_back("EXHAUSTAIR");
+ items.push_back("INFILTRATION");
+ items.push_back("LIGHTING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PEOPLE");
+ items.push_back("RECIRCULATEDAIR");
+ items.push_back("RELATIVEHUMIDITY");
+ items.push_back("USERDEFINED");
+ items.push_back("VENTILATIONINDOORAIR");
+ items.push_back("VENTILATIONOUTSIDEAIR");
+ IfcThermalLoadSourceEnum_type = new enumeration_type(IfcSchema::Type::IfcThermalLoadSourceEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LATENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RADIANT");
+ items.push_back("SENSIBLE");
+ IfcThermalLoadTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcThermalLoadTypeEnum, 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");
+ IfcTimeSeriesDataTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcTimeSeriesDataTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("ANNUAL");
+ items.push_back("DAILY");
+ items.push_back("MONTHLY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WEEKLY");
+ IfcTimeSeriesScheduleTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcTimeSeriesScheduleTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("CURRENT");
+ items.push_back("FREQUENCY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("VOLTAGE");
+ IfcTransformerTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcTransformerTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CONTINUOUS");
+ items.push_back("CONTSAMEGRADIENT");
+ items.push_back("CONTSAMEGRADIENTSAMECURVATURE");
+ items.push_back("DISCONTINUOUS");
+ IfcTransitionCode_type = new enumeration_type(IfcSchema::Type::IfcTransitionCode, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ELEVATOR");
+ items.push_back("ESCALATOR");
+ items.push_back("MOVINGWALKWAY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcTransportElementTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcTransportElementTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("CARTESIAN");
+ items.push_back("PARAMETER");
+ items.push_back("UNSPECIFIED");
+ IfcTrimmingPreference_type = new enumeration_type(IfcSchema::Type::IfcTrimmingPreference, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FINNED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcTubeBundleTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcTubeBundleTypeEnum, items);
+ }
+ {
+ 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");
+ IfcUnitEnum_type = new enumeration_type(IfcSchema::Type::IfcUnitEnum, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("AIRCONDITIONINGUNIT");
+ items.push_back("AIRHANDLER");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFTOPUNIT");
+ items.push_back("SPLITSYSTEM");
+ items.push_back("USERDEFINED");
+ IfcUnitaryEquipmentTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcUnitaryEquipmentTypeEnum, 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");
+ IfcValveTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcValveTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("COMPRESSION");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPRING");
+ items.push_back("USERDEFINED");
+ IfcVibrationIsolatorTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcVibrationIsolatorTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("ELEMENTEDWALL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLUMBINGWALL");
+ items.push_back("POLYGONAL");
+ items.push_back("SHEAR");
+ items.push_back("STANDARD");
+ items.push_back("USERDEFINED");
+ IfcWallTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcWallTypeEnum, items);
+ }
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("FLOORTRAP");
+ items.push_back("FLOORWASTE");
+ items.push_back("GREASEINTERCEPTOR");
+ items.push_back("GULLYSUMP");
+ items.push_back("GULLYTRAP");
+ items.push_back("NOTDEFINED");
+ items.push_back("OILINTERCEPTOR");
+ items.push_back("PETROLINTERCEPTOR");
+ items.push_back("ROOFDRAIN");
+ items.push_back("USERDEFINED");
+ items.push_back("WASTEDISPOSALUNIT");
+ items.push_back("WASTETRAP");
+ IfcWasteTerminalTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcWasteTerminalTypeEnum, 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");
+ IfcWindowPanelOperationEnum_type = new enumeration_type(IfcSchema::Type::IfcWindowPanelOperationEnum, 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");
+ IfcWindowPanelPositionEnum_type = new enumeration_type(IfcSchema::Type::IfcWindowPanelPositionEnum, 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");
+ IfcWindowStyleConstructionEnum_type = new enumeration_type(IfcSchema::Type::IfcWindowStyleConstructionEnum, 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");
+ IfcWindowStyleOperationEnum_type = new enumeration_type(IfcSchema::Type::IfcWindowStyleOperationEnum, 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");
+ IfcWorkControlTypeEnum_type = new enumeration_type(IfcSchema::Type::IfcWorkControlTypeEnum, items);
+ }
+ IfcActorRole_type = new entity(IfcSchema::Type::IfcActorRole, 0);
+ IfcAddress_type = new entity(IfcSchema::Type::IfcAddress, 0);
+ IfcApplication_type = new entity(IfcSchema::Type::IfcApplication, 0);
+ IfcAppliedValue_type = new entity(IfcSchema::Type::IfcAppliedValue, 0);
+ IfcAppliedValueRelationship_type = new entity(IfcSchema::Type::IfcAppliedValueRelationship, 0);
+ IfcApproval_type = new entity(IfcSchema::Type::IfcApproval, 0);
+ IfcApprovalActorRelationship_type = new entity(IfcSchema::Type::IfcApprovalActorRelationship, 0);
+ IfcApprovalPropertyRelationship_type = new entity(IfcSchema::Type::IfcApprovalPropertyRelationship, 0);
+ IfcApprovalRelationship_type = new entity(IfcSchema::Type::IfcApprovalRelationship, 0);
+ IfcBoundaryCondition_type = new entity(IfcSchema::Type::IfcBoundaryCondition, 0);
+ IfcBoundaryEdgeCondition_type = new entity(IfcSchema::Type::IfcBoundaryEdgeCondition, IfcBoundaryCondition_type);
+ IfcBoundaryFaceCondition_type = new entity(IfcSchema::Type::IfcBoundaryFaceCondition, IfcBoundaryCondition_type);
+ IfcBoundaryNodeCondition_type = new entity(IfcSchema::Type::IfcBoundaryNodeCondition, IfcBoundaryCondition_type);
+ IfcBoundaryNodeConditionWarping_type = new entity(IfcSchema::Type::IfcBoundaryNodeConditionWarping, IfcBoundaryNodeCondition_type);
+ IfcCalendarDate_type = new entity(IfcSchema::Type::IfcCalendarDate, 0);
+ IfcClassification_type = new entity(IfcSchema::Type::IfcClassification, 0);
+ IfcClassificationItem_type = new entity(IfcSchema::Type::IfcClassificationItem, 0);
+ IfcClassificationItemRelationship_type = new entity(IfcSchema::Type::IfcClassificationItemRelationship, 0);
+ IfcClassificationNotation_type = new entity(IfcSchema::Type::IfcClassificationNotation, 0);
+ IfcClassificationNotationFacet_type = new entity(IfcSchema::Type::IfcClassificationNotationFacet, 0);
+ IfcColourSpecification_type = new entity(IfcSchema::Type::IfcColourSpecification, 0);
+ IfcConnectionGeometry_type = new entity(IfcSchema::Type::IfcConnectionGeometry, 0);
+ IfcConnectionPointGeometry_type = new entity(IfcSchema::Type::IfcConnectionPointGeometry, IfcConnectionGeometry_type);
+ IfcConnectionPortGeometry_type = new entity(IfcSchema::Type::IfcConnectionPortGeometry, IfcConnectionGeometry_type);
+ IfcConnectionSurfaceGeometry_type = new entity(IfcSchema::Type::IfcConnectionSurfaceGeometry, IfcConnectionGeometry_type);
+ IfcConstraint_type = new entity(IfcSchema::Type::IfcConstraint, 0);
+ IfcConstraintAggregationRelationship_type = new entity(IfcSchema::Type::IfcConstraintAggregationRelationship, 0);
+ IfcConstraintClassificationRelationship_type = new entity(IfcSchema::Type::IfcConstraintClassificationRelationship, 0);
+ IfcConstraintRelationship_type = new entity(IfcSchema::Type::IfcConstraintRelationship, 0);
+ IfcCoordinatedUniversalTimeOffset_type = new entity(IfcSchema::Type::IfcCoordinatedUniversalTimeOffset, 0);
+ IfcCostValue_type = new entity(IfcSchema::Type::IfcCostValue, IfcAppliedValue_type);
+ IfcCurrencyRelationship_type = new entity(IfcSchema::Type::IfcCurrencyRelationship, 0);
+ IfcCurveStyleFont_type = new entity(IfcSchema::Type::IfcCurveStyleFont, 0);
+ IfcCurveStyleFontAndScaling_type = new entity(IfcSchema::Type::IfcCurveStyleFontAndScaling, 0);
+ IfcCurveStyleFontPattern_type = new entity(IfcSchema::Type::IfcCurveStyleFontPattern, 0);
+ IfcDateAndTime_type = new entity(IfcSchema::Type::IfcDateAndTime, 0);
+ IfcDerivedUnit_type = new entity(IfcSchema::Type::IfcDerivedUnit, 0);
+ IfcDerivedUnitElement_type = new entity(IfcSchema::Type::IfcDerivedUnitElement, 0);
+ IfcDimensionalExponents_type = new entity(IfcSchema::Type::IfcDimensionalExponents, 0);
+ IfcDocumentElectronicFormat_type = new entity(IfcSchema::Type::IfcDocumentElectronicFormat, 0);
+ IfcDocumentInformation_type = new entity(IfcSchema::Type::IfcDocumentInformation, 0);
+ IfcDocumentInformationRelationship_type = new entity(IfcSchema::Type::IfcDocumentInformationRelationship, 0);
+ IfcDraughtingCalloutRelationship_type = new entity(IfcSchema::Type::IfcDraughtingCalloutRelationship, 0);
+ IfcEnvironmentalImpactValue_type = new entity(IfcSchema::Type::IfcEnvironmentalImpactValue, IfcAppliedValue_type);
+ IfcExternalReference_type = new entity(IfcSchema::Type::IfcExternalReference, 0);
+ IfcExternallyDefinedHatchStyle_type = new entity(IfcSchema::Type::IfcExternallyDefinedHatchStyle, IfcExternalReference_type);
+ IfcExternallyDefinedSurfaceStyle_type = new entity(IfcSchema::Type::IfcExternallyDefinedSurfaceStyle, IfcExternalReference_type);
+ IfcExternallyDefinedSymbol_type = new entity(IfcSchema::Type::IfcExternallyDefinedSymbol, IfcExternalReference_type);
+ IfcExternallyDefinedTextFont_type = new entity(IfcSchema::Type::IfcExternallyDefinedTextFont, IfcExternalReference_type);
+ IfcGridAxis_type = new entity(IfcSchema::Type::IfcGridAxis, 0);
+ IfcIrregularTimeSeriesValue_type = new entity(IfcSchema::Type::IfcIrregularTimeSeriesValue, 0);
+ IfcLibraryInformation_type = new entity(IfcSchema::Type::IfcLibraryInformation, 0);
+ IfcLibraryReference_type = new entity(IfcSchema::Type::IfcLibraryReference, IfcExternalReference_type);
+ IfcLightDistributionData_type = new entity(IfcSchema::Type::IfcLightDistributionData, 0);
+ IfcLightIntensityDistribution_type = new entity(IfcSchema::Type::IfcLightIntensityDistribution, 0);
+ IfcLocalTime_type = new entity(IfcSchema::Type::IfcLocalTime, 0);
+ IfcMaterial_type = new entity(IfcSchema::Type::IfcMaterial, 0);
+ IfcMaterialClassificationRelationship_type = new entity(IfcSchema::Type::IfcMaterialClassificationRelationship, 0);
+ IfcMaterialLayer_type = new entity(IfcSchema::Type::IfcMaterialLayer, 0);
+ IfcMaterialLayerSet_type = new entity(IfcSchema::Type::IfcMaterialLayerSet, 0);
+ IfcMaterialLayerSetUsage_type = new entity(IfcSchema::Type::IfcMaterialLayerSetUsage, 0);
+ IfcMaterialList_type = new entity(IfcSchema::Type::IfcMaterialList, 0);
+ IfcMaterialProperties_type = new entity(IfcSchema::Type::IfcMaterialProperties, 0);
+ IfcMeasureWithUnit_type = new entity(IfcSchema::Type::IfcMeasureWithUnit, 0);
+ IfcMechanicalMaterialProperties_type = new entity(IfcSchema::Type::IfcMechanicalMaterialProperties, IfcMaterialProperties_type);
+ IfcMechanicalSteelMaterialProperties_type = new entity(IfcSchema::Type::IfcMechanicalSteelMaterialProperties, IfcMechanicalMaterialProperties_type);
+ IfcMetric_type = new entity(IfcSchema::Type::IfcMetric, IfcConstraint_type);
+ IfcMonetaryUnit_type = new entity(IfcSchema::Type::IfcMonetaryUnit, 0);
+ IfcNamedUnit_type = new entity(IfcSchema::Type::IfcNamedUnit, 0);
+ IfcObjectPlacement_type = new entity(IfcSchema::Type::IfcObjectPlacement, 0);
+ IfcObjective_type = new entity(IfcSchema::Type::IfcObjective, IfcConstraint_type);
+ IfcOpticalMaterialProperties_type = new entity(IfcSchema::Type::IfcOpticalMaterialProperties, IfcMaterialProperties_type);
+ IfcOrganization_type = new entity(IfcSchema::Type::IfcOrganization, 0);
+ IfcOrganizationRelationship_type = new entity(IfcSchema::Type::IfcOrganizationRelationship, 0);
+ IfcOwnerHistory_type = new entity(IfcSchema::Type::IfcOwnerHistory, 0);
+ IfcPerson_type = new entity(IfcSchema::Type::IfcPerson, 0);
+ IfcPersonAndOrganization_type = new entity(IfcSchema::Type::IfcPersonAndOrganization, 0);
+ IfcPhysicalQuantity_type = new entity(IfcSchema::Type::IfcPhysicalQuantity, 0);
+ IfcPhysicalSimpleQuantity_type = new entity(IfcSchema::Type::IfcPhysicalSimpleQuantity, IfcPhysicalQuantity_type);
+ IfcPostalAddress_type = new entity(IfcSchema::Type::IfcPostalAddress, IfcAddress_type);
+ IfcPreDefinedItem_type = new entity(IfcSchema::Type::IfcPreDefinedItem, 0);
+ IfcPreDefinedSymbol_type = new entity(IfcSchema::Type::IfcPreDefinedSymbol, IfcPreDefinedItem_type);
+ IfcPreDefinedTerminatorSymbol_type = new entity(IfcSchema::Type::IfcPreDefinedTerminatorSymbol, IfcPreDefinedSymbol_type);
+ IfcPreDefinedTextFont_type = new entity(IfcSchema::Type::IfcPreDefinedTextFont, IfcPreDefinedItem_type);
+ IfcPresentationLayerAssignment_type = new entity(IfcSchema::Type::IfcPresentationLayerAssignment, 0);
+ IfcPresentationLayerWithStyle_type = new entity(IfcSchema::Type::IfcPresentationLayerWithStyle, IfcPresentationLayerAssignment_type);
+ IfcPresentationStyle_type = new entity(IfcSchema::Type::IfcPresentationStyle, 0);
+ IfcPresentationStyleAssignment_type = new entity(IfcSchema::Type::IfcPresentationStyleAssignment, 0);
+ IfcProductRepresentation_type = new entity(IfcSchema::Type::IfcProductRepresentation, 0);
+ IfcProductsOfCombustionProperties_type = new entity(IfcSchema::Type::IfcProductsOfCombustionProperties, IfcMaterialProperties_type);
+ IfcProfileDef_type = new entity(IfcSchema::Type::IfcProfileDef, 0);
+ IfcProfileProperties_type = new entity(IfcSchema::Type::IfcProfileProperties, 0);
+ IfcProperty_type = new entity(IfcSchema::Type::IfcProperty, 0);
+ IfcPropertyConstraintRelationship_type = new entity(IfcSchema::Type::IfcPropertyConstraintRelationship, 0);
+ IfcPropertyDependencyRelationship_type = new entity(IfcSchema::Type::IfcPropertyDependencyRelationship, 0);
+ IfcPropertyEnumeration_type = new entity(IfcSchema::Type::IfcPropertyEnumeration, 0);
+ IfcQuantityArea_type = new entity(IfcSchema::Type::IfcQuantityArea, IfcPhysicalSimpleQuantity_type);
+ IfcQuantityCount_type = new entity(IfcSchema::Type::IfcQuantityCount, IfcPhysicalSimpleQuantity_type);
+ IfcQuantityLength_type = new entity(IfcSchema::Type::IfcQuantityLength, IfcPhysicalSimpleQuantity_type);
+ IfcQuantityTime_type = new entity(IfcSchema::Type::IfcQuantityTime, IfcPhysicalSimpleQuantity_type);
+ IfcQuantityVolume_type = new entity(IfcSchema::Type::IfcQuantityVolume, IfcPhysicalSimpleQuantity_type);
+ IfcQuantityWeight_type = new entity(IfcSchema::Type::IfcQuantityWeight, IfcPhysicalSimpleQuantity_type);
+ IfcReferencesValueDocument_type = new entity(IfcSchema::Type::IfcReferencesValueDocument, 0);
+ IfcReinforcementBarProperties_type = new entity(IfcSchema::Type::IfcReinforcementBarProperties, 0);
+ IfcRelaxation_type = new entity(IfcSchema::Type::IfcRelaxation, 0);
+ IfcRepresentation_type = new entity(IfcSchema::Type::IfcRepresentation, 0);
+ IfcRepresentationContext_type = new entity(IfcSchema::Type::IfcRepresentationContext, 0);
+ IfcRepresentationItem_type = new entity(IfcSchema::Type::IfcRepresentationItem, 0);
+ IfcRepresentationMap_type = new entity(IfcSchema::Type::IfcRepresentationMap, 0);
+ IfcRibPlateProfileProperties_type = new entity(IfcSchema::Type::IfcRibPlateProfileProperties, IfcProfileProperties_type);
+ IfcRoot_type = new entity(IfcSchema::Type::IfcRoot, 0);
+ IfcSIUnit_type = new entity(IfcSchema::Type::IfcSIUnit, IfcNamedUnit_type);
+ IfcSectionProperties_type = new entity(IfcSchema::Type::IfcSectionProperties, 0);
+ IfcSectionReinforcementProperties_type = new entity(IfcSchema::Type::IfcSectionReinforcementProperties, 0);
+ IfcShapeAspect_type = new entity(IfcSchema::Type::IfcShapeAspect, 0);
+ IfcShapeModel_type = new entity(IfcSchema::Type::IfcShapeModel, IfcRepresentation_type);
+ IfcShapeRepresentation_type = new entity(IfcSchema::Type::IfcShapeRepresentation, IfcShapeModel_type);
+ IfcSimpleProperty_type = new entity(IfcSchema::Type::IfcSimpleProperty, IfcProperty_type);
+ IfcStructuralConnectionCondition_type = new entity(IfcSchema::Type::IfcStructuralConnectionCondition, 0);
+ IfcStructuralLoad_type = new entity(IfcSchema::Type::IfcStructuralLoad, 0);
+ IfcStructuralLoadStatic_type = new entity(IfcSchema::Type::IfcStructuralLoadStatic, IfcStructuralLoad_type);
+ IfcStructuralLoadTemperature_type = new entity(IfcSchema::Type::IfcStructuralLoadTemperature, IfcStructuralLoadStatic_type);
+ IfcStyleModel_type = new entity(IfcSchema::Type::IfcStyleModel, IfcRepresentation_type);
+ IfcStyledItem_type = new entity(IfcSchema::Type::IfcStyledItem, IfcRepresentationItem_type);
+ IfcStyledRepresentation_type = new entity(IfcSchema::Type::IfcStyledRepresentation, IfcStyleModel_type);
+ IfcSurfaceStyle_type = new entity(IfcSchema::Type::IfcSurfaceStyle, IfcPresentationStyle_type);
+ IfcSurfaceStyleLighting_type = new entity(IfcSchema::Type::IfcSurfaceStyleLighting, 0);
+ IfcSurfaceStyleRefraction_type = new entity(IfcSchema::Type::IfcSurfaceStyleRefraction, 0);
+ IfcSurfaceStyleShading_type = new entity(IfcSchema::Type::IfcSurfaceStyleShading, 0);
+ IfcSurfaceStyleWithTextures_type = new entity(IfcSchema::Type::IfcSurfaceStyleWithTextures, 0);
+ IfcSurfaceTexture_type = new entity(IfcSchema::Type::IfcSurfaceTexture, 0);
+ IfcSymbolStyle_type = new entity(IfcSchema::Type::IfcSymbolStyle, IfcPresentationStyle_type);
+ IfcTable_type = new entity(IfcSchema::Type::IfcTable, 0);
+ IfcTableRow_type = new entity(IfcSchema::Type::IfcTableRow, 0);
+ IfcTelecomAddress_type = new entity(IfcSchema::Type::IfcTelecomAddress, IfcAddress_type);
+ IfcTextStyle_type = new entity(IfcSchema::Type::IfcTextStyle, IfcPresentationStyle_type);
+ IfcTextStyleFontModel_type = new entity(IfcSchema::Type::IfcTextStyleFontModel, IfcPreDefinedTextFont_type);
+ IfcTextStyleForDefinedFont_type = new entity(IfcSchema::Type::IfcTextStyleForDefinedFont, 0);
+ IfcTextStyleTextModel_type = new entity(IfcSchema::Type::IfcTextStyleTextModel, 0);
+ IfcTextStyleWithBoxCharacteristics_type = new entity(IfcSchema::Type::IfcTextStyleWithBoxCharacteristics, 0);
+ IfcTextureCoordinate_type = new entity(IfcSchema::Type::IfcTextureCoordinate, 0);
+ IfcTextureCoordinateGenerator_type = new entity(IfcSchema::Type::IfcTextureCoordinateGenerator, IfcTextureCoordinate_type);
+ IfcTextureMap_type = new entity(IfcSchema::Type::IfcTextureMap, IfcTextureCoordinate_type);
+ IfcTextureVertex_type = new entity(IfcSchema::Type::IfcTextureVertex, 0);
+ IfcThermalMaterialProperties_type = new entity(IfcSchema::Type::IfcThermalMaterialProperties, IfcMaterialProperties_type);
+ IfcTimeSeries_type = new entity(IfcSchema::Type::IfcTimeSeries, 0);
+ IfcTimeSeriesReferenceRelationship_type = new entity(IfcSchema::Type::IfcTimeSeriesReferenceRelationship, 0);
+ IfcTimeSeriesValue_type = new entity(IfcSchema::Type::IfcTimeSeriesValue, 0);
+ IfcTopologicalRepresentationItem_type = new entity(IfcSchema::Type::IfcTopologicalRepresentationItem, IfcRepresentationItem_type);
+ IfcTopologyRepresentation_type = new entity(IfcSchema::Type::IfcTopologyRepresentation, IfcShapeModel_type);
+ IfcUnitAssignment_type = new entity(IfcSchema::Type::IfcUnitAssignment, 0);
+ IfcVertex_type = new entity(IfcSchema::Type::IfcVertex, IfcTopologicalRepresentationItem_type);
+ IfcVertexBasedTextureMap_type = new entity(IfcSchema::Type::IfcVertexBasedTextureMap, 0);
+ IfcVertexPoint_type = new entity(IfcSchema::Type::IfcVertexPoint, IfcVertex_type);
+ IfcVirtualGridIntersection_type = new entity(IfcSchema::Type::IfcVirtualGridIntersection, 0);
+ IfcWaterProperties_type = new entity(IfcSchema::Type::IfcWaterProperties, IfcMaterialProperties_type);
+ IfcAnnotationOccurrence_type = new entity(IfcSchema::Type::IfcAnnotationOccurrence, IfcStyledItem_type);
+ IfcAnnotationSurfaceOccurrence_type = new entity(IfcSchema::Type::IfcAnnotationSurfaceOccurrence, IfcAnnotationOccurrence_type);
+ IfcAnnotationSymbolOccurrence_type = new entity(IfcSchema::Type::IfcAnnotationSymbolOccurrence, IfcAnnotationOccurrence_type);
+ IfcAnnotationTextOccurrence_type = new entity(IfcSchema::Type::IfcAnnotationTextOccurrence, IfcAnnotationOccurrence_type);
+ IfcArbitraryClosedProfileDef_type = new entity(IfcSchema::Type::IfcArbitraryClosedProfileDef, IfcProfileDef_type);
+ IfcArbitraryOpenProfileDef_type = new entity(IfcSchema::Type::IfcArbitraryOpenProfileDef, IfcProfileDef_type);
+ IfcArbitraryProfileDefWithVoids_type = new entity(IfcSchema::Type::IfcArbitraryProfileDefWithVoids, IfcArbitraryClosedProfileDef_type);
+ IfcBlobTexture_type = new entity(IfcSchema::Type::IfcBlobTexture, IfcSurfaceTexture_type);
+ IfcCenterLineProfileDef_type = new entity(IfcSchema::Type::IfcCenterLineProfileDef, IfcArbitraryOpenProfileDef_type);
+ IfcClassificationReference_type = new entity(IfcSchema::Type::IfcClassificationReference, IfcExternalReference_type);
+ IfcColourRgb_type = new entity(IfcSchema::Type::IfcColourRgb, IfcColourSpecification_type);
+ IfcComplexProperty_type = new entity(IfcSchema::Type::IfcComplexProperty, IfcProperty_type);
+ IfcCompositeProfileDef_type = new entity(IfcSchema::Type::IfcCompositeProfileDef, IfcProfileDef_type);
+ IfcConnectedFaceSet_type = new entity(IfcSchema::Type::IfcConnectedFaceSet, IfcTopologicalRepresentationItem_type);
+ IfcConnectionCurveGeometry_type = new entity(IfcSchema::Type::IfcConnectionCurveGeometry, IfcConnectionGeometry_type);
+ IfcConnectionPointEccentricity_type = new entity(IfcSchema::Type::IfcConnectionPointEccentricity, IfcConnectionPointGeometry_type);
+ IfcContextDependentUnit_type = new entity(IfcSchema::Type::IfcContextDependentUnit, IfcNamedUnit_type);
+ IfcConversionBasedUnit_type = new entity(IfcSchema::Type::IfcConversionBasedUnit, IfcNamedUnit_type);
+ IfcCurveStyle_type = new entity(IfcSchema::Type::IfcCurveStyle, IfcPresentationStyle_type);
+ IfcDerivedProfileDef_type = new entity(IfcSchema::Type::IfcDerivedProfileDef, IfcProfileDef_type);
+ IfcDimensionCalloutRelationship_type = new entity(IfcSchema::Type::IfcDimensionCalloutRelationship, IfcDraughtingCalloutRelationship_type);
+ IfcDimensionPair_type = new entity(IfcSchema::Type::IfcDimensionPair, IfcDraughtingCalloutRelationship_type);
+ IfcDocumentReference_type = new entity(IfcSchema::Type::IfcDocumentReference, IfcExternalReference_type);
+ IfcDraughtingPreDefinedTextFont_type = new entity(IfcSchema::Type::IfcDraughtingPreDefinedTextFont, IfcPreDefinedTextFont_type);
+ IfcEdge_type = new entity(IfcSchema::Type::IfcEdge, IfcTopologicalRepresentationItem_type);
+ IfcEdgeCurve_type = new entity(IfcSchema::Type::IfcEdgeCurve, IfcEdge_type);
+ IfcExtendedMaterialProperties_type = new entity(IfcSchema::Type::IfcExtendedMaterialProperties, IfcMaterialProperties_type);
+ IfcFace_type = new entity(IfcSchema::Type::IfcFace, IfcTopologicalRepresentationItem_type);
+ IfcFaceBound_type = new entity(IfcSchema::Type::IfcFaceBound, IfcTopologicalRepresentationItem_type);
+ IfcFaceOuterBound_type = new entity(IfcSchema::Type::IfcFaceOuterBound, IfcFaceBound_type);
+ IfcFaceSurface_type = new entity(IfcSchema::Type::IfcFaceSurface, IfcFace_type);
+ IfcFailureConnectionCondition_type = new entity(IfcSchema::Type::IfcFailureConnectionCondition, IfcStructuralConnectionCondition_type);
+ IfcFillAreaStyle_type = new entity(IfcSchema::Type::IfcFillAreaStyle, IfcPresentationStyle_type);
+ IfcFuelProperties_type = new entity(IfcSchema::Type::IfcFuelProperties, IfcMaterialProperties_type);
+ IfcGeneralMaterialProperties_type = new entity(IfcSchema::Type::IfcGeneralMaterialProperties, IfcMaterialProperties_type);
+ IfcGeneralProfileProperties_type = new entity(IfcSchema::Type::IfcGeneralProfileProperties, IfcProfileProperties_type);
+ IfcGeometricRepresentationContext_type = new entity(IfcSchema::Type::IfcGeometricRepresentationContext, IfcRepresentationContext_type);
+ IfcGeometricRepresentationItem_type = new entity(IfcSchema::Type::IfcGeometricRepresentationItem, IfcRepresentationItem_type);
+ IfcGeometricRepresentationSubContext_type = new entity(IfcSchema::Type::IfcGeometricRepresentationSubContext, IfcGeometricRepresentationContext_type);
+ IfcGeometricSet_type = new entity(IfcSchema::Type::IfcGeometricSet, IfcGeometricRepresentationItem_type);
+ IfcGridPlacement_type = new entity(IfcSchema::Type::IfcGridPlacement, IfcObjectPlacement_type);
+ IfcHalfSpaceSolid_type = new entity(IfcSchema::Type::IfcHalfSpaceSolid, IfcGeometricRepresentationItem_type);
+ IfcHygroscopicMaterialProperties_type = new entity(IfcSchema::Type::IfcHygroscopicMaterialProperties, IfcMaterialProperties_type);
+ IfcImageTexture_type = new entity(IfcSchema::Type::IfcImageTexture, IfcSurfaceTexture_type);
+ IfcIrregularTimeSeries_type = new entity(IfcSchema::Type::IfcIrregularTimeSeries, IfcTimeSeries_type);
+ IfcLightSource_type = new entity(IfcSchema::Type::IfcLightSource, IfcGeometricRepresentationItem_type);
+ IfcLightSourceAmbient_type = new entity(IfcSchema::Type::IfcLightSourceAmbient, IfcLightSource_type);
+ IfcLightSourceDirectional_type = new entity(IfcSchema::Type::IfcLightSourceDirectional, IfcLightSource_type);
+ IfcLightSourceGoniometric_type = new entity(IfcSchema::Type::IfcLightSourceGoniometric, IfcLightSource_type);
+ IfcLightSourcePositional_type = new entity(IfcSchema::Type::IfcLightSourcePositional, IfcLightSource_type);
+ IfcLightSourceSpot_type = new entity(IfcSchema::Type::IfcLightSourceSpot, IfcLightSourcePositional_type);
+ IfcLocalPlacement_type = new entity(IfcSchema::Type::IfcLocalPlacement, IfcObjectPlacement_type);
+ IfcLoop_type = new entity(IfcSchema::Type::IfcLoop, IfcTopologicalRepresentationItem_type);
+ IfcMappedItem_type = new entity(IfcSchema::Type::IfcMappedItem, IfcRepresentationItem_type);
+ IfcMaterialDefinitionRepresentation_type = new entity(IfcSchema::Type::IfcMaterialDefinitionRepresentation, IfcProductRepresentation_type);
+ IfcMechanicalConcreteMaterialProperties_type = new entity(IfcSchema::Type::IfcMechanicalConcreteMaterialProperties, IfcMechanicalMaterialProperties_type);
+ IfcObjectDefinition_type = new entity(IfcSchema::Type::IfcObjectDefinition, IfcRoot_type);
+ IfcOneDirectionRepeatFactor_type = new entity(IfcSchema::Type::IfcOneDirectionRepeatFactor, IfcGeometricRepresentationItem_type);
+ IfcOpenShell_type = new entity(IfcSchema::Type::IfcOpenShell, IfcConnectedFaceSet_type);
+ IfcOrientedEdge_type = new entity(IfcSchema::Type::IfcOrientedEdge, IfcEdge_type);
+ IfcParameterizedProfileDef_type = new entity(IfcSchema::Type::IfcParameterizedProfileDef, IfcProfileDef_type);
+ IfcPath_type = new entity(IfcSchema::Type::IfcPath, IfcTopologicalRepresentationItem_type);
+ IfcPhysicalComplexQuantity_type = new entity(IfcSchema::Type::IfcPhysicalComplexQuantity, IfcPhysicalQuantity_type);
+ IfcPixelTexture_type = new entity(IfcSchema::Type::IfcPixelTexture, IfcSurfaceTexture_type);
+ IfcPlacement_type = new entity(IfcSchema::Type::IfcPlacement, IfcGeometricRepresentationItem_type);
+ IfcPlanarExtent_type = new entity(IfcSchema::Type::IfcPlanarExtent, IfcGeometricRepresentationItem_type);
+ IfcPoint_type = new entity(IfcSchema::Type::IfcPoint, IfcGeometricRepresentationItem_type);
+ IfcPointOnCurve_type = new entity(IfcSchema::Type::IfcPointOnCurve, IfcPoint_type);
+ IfcPointOnSurface_type = new entity(IfcSchema::Type::IfcPointOnSurface, IfcPoint_type);
+ IfcPolyLoop_type = new entity(IfcSchema::Type::IfcPolyLoop, IfcLoop_type);
+ IfcPolygonalBoundedHalfSpace_type = new entity(IfcSchema::Type::IfcPolygonalBoundedHalfSpace, IfcHalfSpaceSolid_type);
+ IfcPreDefinedColour_type = new entity(IfcSchema::Type::IfcPreDefinedColour, IfcPreDefinedItem_type);
+ IfcPreDefinedCurveFont_type = new entity(IfcSchema::Type::IfcPreDefinedCurveFont, IfcPreDefinedItem_type);
+ IfcPreDefinedDimensionSymbol_type = new entity(IfcSchema::Type::IfcPreDefinedDimensionSymbol, IfcPreDefinedSymbol_type);
+ IfcPreDefinedPointMarkerSymbol_type = new entity(IfcSchema::Type::IfcPreDefinedPointMarkerSymbol, IfcPreDefinedSymbol_type);
+ IfcProductDefinitionShape_type = new entity(IfcSchema::Type::IfcProductDefinitionShape, IfcProductRepresentation_type);
+ IfcPropertyBoundedValue_type = new entity(IfcSchema::Type::IfcPropertyBoundedValue, IfcSimpleProperty_type);
+ IfcPropertyDefinition_type = new entity(IfcSchema::Type::IfcPropertyDefinition, IfcRoot_type);
+ IfcPropertyEnumeratedValue_type = new entity(IfcSchema::Type::IfcPropertyEnumeratedValue, IfcSimpleProperty_type);
+ IfcPropertyListValue_type = new entity(IfcSchema::Type::IfcPropertyListValue, IfcSimpleProperty_type);
+ IfcPropertyReferenceValue_type = new entity(IfcSchema::Type::IfcPropertyReferenceValue, IfcSimpleProperty_type);
+ IfcPropertySetDefinition_type = new entity(IfcSchema::Type::IfcPropertySetDefinition, IfcPropertyDefinition_type);
+ IfcPropertySingleValue_type = new entity(IfcSchema::Type::IfcPropertySingleValue, IfcSimpleProperty_type);
+ IfcPropertyTableValue_type = new entity(IfcSchema::Type::IfcPropertyTableValue, IfcSimpleProperty_type);
+ IfcRectangleProfileDef_type = new entity(IfcSchema::Type::IfcRectangleProfileDef, IfcParameterizedProfileDef_type);
+ IfcRegularTimeSeries_type = new entity(IfcSchema::Type::IfcRegularTimeSeries, IfcTimeSeries_type);
+ IfcReinforcementDefinitionProperties_type = new entity(IfcSchema::Type::IfcReinforcementDefinitionProperties, IfcPropertySetDefinition_type);
+ IfcRelationship_type = new entity(IfcSchema::Type::IfcRelationship, IfcRoot_type);
+ IfcRoundedRectangleProfileDef_type = new entity(IfcSchema::Type::IfcRoundedRectangleProfileDef, IfcRectangleProfileDef_type);
+ IfcSectionedSpine_type = new entity(IfcSchema::Type::IfcSectionedSpine, IfcGeometricRepresentationItem_type);
+ IfcServiceLifeFactor_type = new entity(IfcSchema::Type::IfcServiceLifeFactor, IfcPropertySetDefinition_type);
+ IfcShellBasedSurfaceModel_type = new entity(IfcSchema::Type::IfcShellBasedSurfaceModel, IfcGeometricRepresentationItem_type);
+ IfcSlippageConnectionCondition_type = new entity(IfcSchema::Type::IfcSlippageConnectionCondition, IfcStructuralConnectionCondition_type);
+ IfcSolidModel_type = new entity(IfcSchema::Type::IfcSolidModel, IfcGeometricRepresentationItem_type);
+ IfcSoundProperties_type = new entity(IfcSchema::Type::IfcSoundProperties, IfcPropertySetDefinition_type);
+ IfcSoundValue_type = new entity(IfcSchema::Type::IfcSoundValue, IfcPropertySetDefinition_type);
+ IfcSpaceThermalLoadProperties_type = new entity(IfcSchema::Type::IfcSpaceThermalLoadProperties, IfcPropertySetDefinition_type);
+ IfcStructuralLoadLinearForce_type = new entity(IfcSchema::Type::IfcStructuralLoadLinearForce, IfcStructuralLoadStatic_type);
+ IfcStructuralLoadPlanarForce_type = new entity(IfcSchema::Type::IfcStructuralLoadPlanarForce, IfcStructuralLoadStatic_type);
+ IfcStructuralLoadSingleDisplacement_type = new entity(IfcSchema::Type::IfcStructuralLoadSingleDisplacement, IfcStructuralLoadStatic_type);
+ IfcStructuralLoadSingleDisplacementDistortion_type = new entity(IfcSchema::Type::IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleDisplacement_type);
+ IfcStructuralLoadSingleForce_type = new entity(IfcSchema::Type::IfcStructuralLoadSingleForce, IfcStructuralLoadStatic_type);
+ IfcStructuralLoadSingleForceWarping_type = new entity(IfcSchema::Type::IfcStructuralLoadSingleForceWarping, IfcStructuralLoadSingleForce_type);
+ IfcStructuralProfileProperties_type = new entity(IfcSchema::Type::IfcStructuralProfileProperties, IfcGeneralProfileProperties_type);
+ IfcStructuralSteelProfileProperties_type = new entity(IfcSchema::Type::IfcStructuralSteelProfileProperties, IfcStructuralProfileProperties_type);
+ IfcSubedge_type = new entity(IfcSchema::Type::IfcSubedge, IfcEdge_type);
+ IfcSurface_type = new entity(IfcSchema::Type::IfcSurface, IfcGeometricRepresentationItem_type);
+ IfcSurfaceStyleRendering_type = new entity(IfcSchema::Type::IfcSurfaceStyleRendering, IfcSurfaceStyleShading_type);
+ IfcSweptAreaSolid_type = new entity(IfcSchema::Type::IfcSweptAreaSolid, IfcSolidModel_type);
+ IfcSweptDiskSolid_type = new entity(IfcSchema::Type::IfcSweptDiskSolid, IfcSolidModel_type);
+ IfcSweptSurface_type = new entity(IfcSchema::Type::IfcSweptSurface, IfcSurface_type);
+ IfcTShapeProfileDef_type = new entity(IfcSchema::Type::IfcTShapeProfileDef, IfcParameterizedProfileDef_type);
+ IfcTerminatorSymbol_type = new entity(IfcSchema::Type::IfcTerminatorSymbol, IfcAnnotationSymbolOccurrence_type);
+ IfcTextLiteral_type = new entity(IfcSchema::Type::IfcTextLiteral, IfcGeometricRepresentationItem_type);
+ IfcTextLiteralWithExtent_type = new entity(IfcSchema::Type::IfcTextLiteralWithExtent, IfcTextLiteral_type);
+ IfcTrapeziumProfileDef_type = new entity(IfcSchema::Type::IfcTrapeziumProfileDef, IfcParameterizedProfileDef_type);
+ IfcTwoDirectionRepeatFactor_type = new entity(IfcSchema::Type::IfcTwoDirectionRepeatFactor, IfcOneDirectionRepeatFactor_type);
+ IfcTypeObject_type = new entity(IfcSchema::Type::IfcTypeObject, IfcObjectDefinition_type);
+ IfcTypeProduct_type = new entity(IfcSchema::Type::IfcTypeProduct, IfcTypeObject_type);
+ IfcUShapeProfileDef_type = new entity(IfcSchema::Type::IfcUShapeProfileDef, IfcParameterizedProfileDef_type);
+ IfcVector_type = new entity(IfcSchema::Type::IfcVector, IfcGeometricRepresentationItem_type);
+ IfcVertexLoop_type = new entity(IfcSchema::Type::IfcVertexLoop, IfcLoop_type);
+ IfcWindowLiningProperties_type = new entity(IfcSchema::Type::IfcWindowLiningProperties, IfcPropertySetDefinition_type);
+ IfcWindowPanelProperties_type = new entity(IfcSchema::Type::IfcWindowPanelProperties, IfcPropertySetDefinition_type);
+ IfcWindowStyle_type = new entity(IfcSchema::Type::IfcWindowStyle, IfcTypeProduct_type);
+ IfcZShapeProfileDef_type = new entity(IfcSchema::Type::IfcZShapeProfileDef, IfcParameterizedProfileDef_type);
+ IfcAnnotationCurveOccurrence_type = new entity(IfcSchema::Type::IfcAnnotationCurveOccurrence, IfcAnnotationOccurrence_type);
+ IfcAnnotationFillArea_type = new entity(IfcSchema::Type::IfcAnnotationFillArea, IfcGeometricRepresentationItem_type);
+ IfcAnnotationFillAreaOccurrence_type = new entity(IfcSchema::Type::IfcAnnotationFillAreaOccurrence, IfcAnnotationOccurrence_type);
+ IfcAnnotationSurface_type = new entity(IfcSchema::Type::IfcAnnotationSurface, IfcGeometricRepresentationItem_type);
+ IfcAxis1Placement_type = new entity(IfcSchema::Type::IfcAxis1Placement, IfcPlacement_type);
+ IfcAxis2Placement2D_type = new entity(IfcSchema::Type::IfcAxis2Placement2D, IfcPlacement_type);
+ IfcAxis2Placement3D_type = new entity(IfcSchema::Type::IfcAxis2Placement3D, IfcPlacement_type);
+ IfcBooleanResult_type = new entity(IfcSchema::Type::IfcBooleanResult, IfcGeometricRepresentationItem_type);
+ IfcBoundedSurface_type = new entity(IfcSchema::Type::IfcBoundedSurface, IfcSurface_type);
+ IfcBoundingBox_type = new entity(IfcSchema::Type::IfcBoundingBox, IfcGeometricRepresentationItem_type);
+ IfcBoxedHalfSpace_type = new entity(IfcSchema::Type::IfcBoxedHalfSpace, IfcHalfSpaceSolid_type);
+ IfcCShapeProfileDef_type = new entity(IfcSchema::Type::IfcCShapeProfileDef, IfcParameterizedProfileDef_type);
+ IfcCartesianPoint_type = new entity(IfcSchema::Type::IfcCartesianPoint, IfcPoint_type);
+ IfcCartesianTransformationOperator_type = new entity(IfcSchema::Type::IfcCartesianTransformationOperator, IfcGeometricRepresentationItem_type);
+ IfcCartesianTransformationOperator2D_type = new entity(IfcSchema::Type::IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator_type);
+ IfcCartesianTransformationOperator2DnonUniform_type = new entity(IfcSchema::Type::IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator2D_type);
+ IfcCartesianTransformationOperator3D_type = new entity(IfcSchema::Type::IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator_type);
+ IfcCartesianTransformationOperator3DnonUniform_type = new entity(IfcSchema::Type::IfcCartesianTransformationOperator3DnonUniform, IfcCartesianTransformationOperator3D_type);
+ IfcCircleProfileDef_type = new entity(IfcSchema::Type::IfcCircleProfileDef, IfcParameterizedProfileDef_type);
+ IfcClosedShell_type = new entity(IfcSchema::Type::IfcClosedShell, IfcConnectedFaceSet_type);
+ IfcCompositeCurveSegment_type = new entity(IfcSchema::Type::IfcCompositeCurveSegment, IfcGeometricRepresentationItem_type);
+ IfcCraneRailAShapeProfileDef_type = new entity(IfcSchema::Type::IfcCraneRailAShapeProfileDef, IfcParameterizedProfileDef_type);
+ IfcCraneRailFShapeProfileDef_type = new entity(IfcSchema::Type::IfcCraneRailFShapeProfileDef, IfcParameterizedProfileDef_type);
+ IfcCsgPrimitive3D_type = new entity(IfcSchema::Type::IfcCsgPrimitive3D, IfcGeometricRepresentationItem_type);
+ IfcCsgSolid_type = new entity(IfcSchema::Type::IfcCsgSolid, IfcSolidModel_type);
+ IfcCurve_type = new entity(IfcSchema::Type::IfcCurve, IfcGeometricRepresentationItem_type);
+ IfcCurveBoundedPlane_type = new entity(IfcSchema::Type::IfcCurveBoundedPlane, IfcBoundedSurface_type);
+ IfcDefinedSymbol_type = new entity(IfcSchema::Type::IfcDefinedSymbol, IfcGeometricRepresentationItem_type);
+ IfcDimensionCurve_type = new entity(IfcSchema::Type::IfcDimensionCurve, IfcAnnotationCurveOccurrence_type);
+ IfcDimensionCurveTerminator_type = new entity(IfcSchema::Type::IfcDimensionCurveTerminator, IfcTerminatorSymbol_type);
+ IfcDirection_type = new entity(IfcSchema::Type::IfcDirection, IfcGeometricRepresentationItem_type);
+ IfcDoorLiningProperties_type = new entity(IfcSchema::Type::IfcDoorLiningProperties, IfcPropertySetDefinition_type);
+ IfcDoorPanelProperties_type = new entity(IfcSchema::Type::IfcDoorPanelProperties, IfcPropertySetDefinition_type);
+ IfcDoorStyle_type = new entity(IfcSchema::Type::IfcDoorStyle, IfcTypeProduct_type);
+ IfcDraughtingCallout_type = new entity(IfcSchema::Type::IfcDraughtingCallout, IfcGeometricRepresentationItem_type);
+ IfcDraughtingPreDefinedColour_type = new entity(IfcSchema::Type::IfcDraughtingPreDefinedColour, IfcPreDefinedColour_type);
+ IfcDraughtingPreDefinedCurveFont_type = new entity(IfcSchema::Type::IfcDraughtingPreDefinedCurveFont, IfcPreDefinedCurveFont_type);
+ IfcEdgeLoop_type = new entity(IfcSchema::Type::IfcEdgeLoop, IfcLoop_type);
+ IfcElementQuantity_type = new entity(IfcSchema::Type::IfcElementQuantity, IfcPropertySetDefinition_type);
+ IfcElementType_type = new entity(IfcSchema::Type::IfcElementType, IfcTypeProduct_type);
+ IfcElementarySurface_type = new entity(IfcSchema::Type::IfcElementarySurface, IfcSurface_type);
+ IfcEllipseProfileDef_type = new entity(IfcSchema::Type::IfcEllipseProfileDef, IfcParameterizedProfileDef_type);
+ IfcEnergyProperties_type = new entity(IfcSchema::Type::IfcEnergyProperties, IfcPropertySetDefinition_type);
+ IfcExtrudedAreaSolid_type = new entity(IfcSchema::Type::IfcExtrudedAreaSolid, IfcSweptAreaSolid_type);
+ IfcFaceBasedSurfaceModel_type = new entity(IfcSchema::Type::IfcFaceBasedSurfaceModel, IfcGeometricRepresentationItem_type);
+ IfcFillAreaStyleHatching_type = new entity(IfcSchema::Type::IfcFillAreaStyleHatching, IfcGeometricRepresentationItem_type);
+ IfcFillAreaStyleTileSymbolWithStyle_type = new entity(IfcSchema::Type::IfcFillAreaStyleTileSymbolWithStyle, IfcGeometricRepresentationItem_type);
+ IfcFillAreaStyleTiles_type = new entity(IfcSchema::Type::IfcFillAreaStyleTiles, IfcGeometricRepresentationItem_type);
+ IfcFluidFlowProperties_type = new entity(IfcSchema::Type::IfcFluidFlowProperties, IfcPropertySetDefinition_type);
+ IfcFurnishingElementType_type = new entity(IfcSchema::Type::IfcFurnishingElementType, IfcElementType_type);
+ IfcFurnitureType_type = new entity(IfcSchema::Type::IfcFurnitureType, IfcFurnishingElementType_type);
+ IfcGeometricCurveSet_type = new entity(IfcSchema::Type::IfcGeometricCurveSet, IfcGeometricSet_type);
+ IfcIShapeProfileDef_type = new entity(IfcSchema::Type::IfcIShapeProfileDef, IfcParameterizedProfileDef_type);
+ IfcLShapeProfileDef_type = new entity(IfcSchema::Type::IfcLShapeProfileDef, IfcParameterizedProfileDef_type);
+ IfcLine_type = new entity(IfcSchema::Type::IfcLine, IfcCurve_type);
+ IfcManifoldSolidBrep_type = new entity(IfcSchema::Type::IfcManifoldSolidBrep, IfcSolidModel_type);
+ IfcObject_type = new entity(IfcSchema::Type::IfcObject, IfcObjectDefinition_type);
+ IfcOffsetCurve2D_type = new entity(IfcSchema::Type::IfcOffsetCurve2D, IfcCurve_type);
+ IfcOffsetCurve3D_type = new entity(IfcSchema::Type::IfcOffsetCurve3D, IfcCurve_type);
+ IfcPermeableCoveringProperties_type = new entity(IfcSchema::Type::IfcPermeableCoveringProperties, IfcPropertySetDefinition_type);
+ IfcPlanarBox_type = new entity(IfcSchema::Type::IfcPlanarBox, IfcPlanarExtent_type);
+ IfcPlane_type = new entity(IfcSchema::Type::IfcPlane, IfcElementarySurface_type);
+ IfcProcess_type = new entity(IfcSchema::Type::IfcProcess, IfcObject_type);
+ IfcProduct_type = new entity(IfcSchema::Type::IfcProduct, IfcObject_type);
+ IfcProject_type = new entity(IfcSchema::Type::IfcProject, IfcObject_type);
+ IfcProjectionCurve_type = new entity(IfcSchema::Type::IfcProjectionCurve, IfcAnnotationCurveOccurrence_type);
+ IfcPropertySet_type = new entity(IfcSchema::Type::IfcPropertySet, IfcPropertySetDefinition_type);
+ IfcProxy_type = new entity(IfcSchema::Type::IfcProxy, IfcProduct_type);
+ IfcRectangleHollowProfileDef_type = new entity(IfcSchema::Type::IfcRectangleHollowProfileDef, IfcRectangleProfileDef_type);
+ IfcRectangularPyramid_type = new entity(IfcSchema::Type::IfcRectangularPyramid, IfcCsgPrimitive3D_type);
+ IfcRectangularTrimmedSurface_type = new entity(IfcSchema::Type::IfcRectangularTrimmedSurface, IfcBoundedSurface_type);
+ IfcRelAssigns_type = new entity(IfcSchema::Type::IfcRelAssigns, IfcRelationship_type);
+ IfcRelAssignsToActor_type = new entity(IfcSchema::Type::IfcRelAssignsToActor, IfcRelAssigns_type);
+ IfcRelAssignsToControl_type = new entity(IfcSchema::Type::IfcRelAssignsToControl, IfcRelAssigns_type);
+ IfcRelAssignsToGroup_type = new entity(IfcSchema::Type::IfcRelAssignsToGroup, IfcRelAssigns_type);
+ IfcRelAssignsToProcess_type = new entity(IfcSchema::Type::IfcRelAssignsToProcess, IfcRelAssigns_type);
+ IfcRelAssignsToProduct_type = new entity(IfcSchema::Type::IfcRelAssignsToProduct, IfcRelAssigns_type);
+ IfcRelAssignsToProjectOrder_type = new entity(IfcSchema::Type::IfcRelAssignsToProjectOrder, IfcRelAssignsToControl_type);
+ IfcRelAssignsToResource_type = new entity(IfcSchema::Type::IfcRelAssignsToResource, IfcRelAssigns_type);
+ IfcRelAssociates_type = new entity(IfcSchema::Type::IfcRelAssociates, IfcRelationship_type);
+ IfcRelAssociatesAppliedValue_type = new entity(IfcSchema::Type::IfcRelAssociatesAppliedValue, IfcRelAssociates_type);
+ IfcRelAssociatesApproval_type = new entity(IfcSchema::Type::IfcRelAssociatesApproval, IfcRelAssociates_type);
+ IfcRelAssociatesClassification_type = new entity(IfcSchema::Type::IfcRelAssociatesClassification, IfcRelAssociates_type);
+ IfcRelAssociatesConstraint_type = new entity(IfcSchema::Type::IfcRelAssociatesConstraint, IfcRelAssociates_type);
+ IfcRelAssociatesDocument_type = new entity(IfcSchema::Type::IfcRelAssociatesDocument, IfcRelAssociates_type);
+ IfcRelAssociatesLibrary_type = new entity(IfcSchema::Type::IfcRelAssociatesLibrary, IfcRelAssociates_type);
+ IfcRelAssociatesMaterial_type = new entity(IfcSchema::Type::IfcRelAssociatesMaterial, IfcRelAssociates_type);
+ IfcRelAssociatesProfileProperties_type = new entity(IfcSchema::Type::IfcRelAssociatesProfileProperties, IfcRelAssociates_type);
+ IfcRelConnects_type = new entity(IfcSchema::Type::IfcRelConnects, IfcRelationship_type);
+ IfcRelConnectsElements_type = new entity(IfcSchema::Type::IfcRelConnectsElements, IfcRelConnects_type);
+ IfcRelConnectsPathElements_type = new entity(IfcSchema::Type::IfcRelConnectsPathElements, IfcRelConnectsElements_type);
+ IfcRelConnectsPortToElement_type = new entity(IfcSchema::Type::IfcRelConnectsPortToElement, IfcRelConnects_type);
+ IfcRelConnectsPorts_type = new entity(IfcSchema::Type::IfcRelConnectsPorts, IfcRelConnects_type);
+ IfcRelConnectsStructuralActivity_type = new entity(IfcSchema::Type::IfcRelConnectsStructuralActivity, IfcRelConnects_type);
+ IfcRelConnectsStructuralElement_type = new entity(IfcSchema::Type::IfcRelConnectsStructuralElement, IfcRelConnects_type);
+ IfcRelConnectsStructuralMember_type = new entity(IfcSchema::Type::IfcRelConnectsStructuralMember, IfcRelConnects_type);
+ IfcRelConnectsWithEccentricity_type = new entity(IfcSchema::Type::IfcRelConnectsWithEccentricity, IfcRelConnectsStructuralMember_type);
+ IfcRelConnectsWithRealizingElements_type = new entity(IfcSchema::Type::IfcRelConnectsWithRealizingElements, IfcRelConnectsElements_type);
+ IfcRelContainedInSpatialStructure_type = new entity(IfcSchema::Type::IfcRelContainedInSpatialStructure, IfcRelConnects_type);
+ IfcRelCoversBldgElements_type = new entity(IfcSchema::Type::IfcRelCoversBldgElements, IfcRelConnects_type);
+ IfcRelCoversSpaces_type = new entity(IfcSchema::Type::IfcRelCoversSpaces, IfcRelConnects_type);
+ IfcRelDecomposes_type = new entity(IfcSchema::Type::IfcRelDecomposes, IfcRelationship_type);
+ IfcRelDefines_type = new entity(IfcSchema::Type::IfcRelDefines, IfcRelationship_type);
+ IfcRelDefinesByProperties_type = new entity(IfcSchema::Type::IfcRelDefinesByProperties, IfcRelDefines_type);
+ IfcRelDefinesByType_type = new entity(IfcSchema::Type::IfcRelDefinesByType, IfcRelDefines_type);
+ IfcRelFillsElement_type = new entity(IfcSchema::Type::IfcRelFillsElement, IfcRelConnects_type);
+ IfcRelFlowControlElements_type = new entity(IfcSchema::Type::IfcRelFlowControlElements, IfcRelConnects_type);
+ IfcRelInteractionRequirements_type = new entity(IfcSchema::Type::IfcRelInteractionRequirements, IfcRelConnects_type);
+ IfcRelNests_type = new entity(IfcSchema::Type::IfcRelNests, IfcRelDecomposes_type);
+ IfcRelOccupiesSpaces_type = new entity(IfcSchema::Type::IfcRelOccupiesSpaces, IfcRelAssignsToActor_type);
+ IfcRelOverridesProperties_type = new entity(IfcSchema::Type::IfcRelOverridesProperties, IfcRelDefinesByProperties_type);
+ IfcRelProjectsElement_type = new entity(IfcSchema::Type::IfcRelProjectsElement, IfcRelConnects_type);
+ IfcRelReferencedInSpatialStructure_type = new entity(IfcSchema::Type::IfcRelReferencedInSpatialStructure, IfcRelConnects_type);
+ IfcRelSchedulesCostItems_type = new entity(IfcSchema::Type::IfcRelSchedulesCostItems, IfcRelAssignsToControl_type);
+ IfcRelSequence_type = new entity(IfcSchema::Type::IfcRelSequence, IfcRelConnects_type);
+ IfcRelServicesBuildings_type = new entity(IfcSchema::Type::IfcRelServicesBuildings, IfcRelConnects_type);
+ IfcRelSpaceBoundary_type = new entity(IfcSchema::Type::IfcRelSpaceBoundary, IfcRelConnects_type);
+ IfcRelVoidsElement_type = new entity(IfcSchema::Type::IfcRelVoidsElement, IfcRelConnects_type);
+ IfcResource_type = new entity(IfcSchema::Type::IfcResource, IfcObject_type);
+ IfcRevolvedAreaSolid_type = new entity(IfcSchema::Type::IfcRevolvedAreaSolid, IfcSweptAreaSolid_type);
+ IfcRightCircularCone_type = new entity(IfcSchema::Type::IfcRightCircularCone, IfcCsgPrimitive3D_type);
+ IfcRightCircularCylinder_type = new entity(IfcSchema::Type::IfcRightCircularCylinder, IfcCsgPrimitive3D_type);
+ IfcSpatialStructureElement_type = new entity(IfcSchema::Type::IfcSpatialStructureElement, IfcProduct_type);
+ IfcSpatialStructureElementType_type = new entity(IfcSchema::Type::IfcSpatialStructureElementType, IfcElementType_type);
+ IfcSphere_type = new entity(IfcSchema::Type::IfcSphere, IfcCsgPrimitive3D_type);
+ IfcStructuralActivity_type = new entity(IfcSchema::Type::IfcStructuralActivity, IfcProduct_type);
+ IfcStructuralItem_type = new entity(IfcSchema::Type::IfcStructuralItem, IfcProduct_type);
+ IfcStructuralMember_type = new entity(IfcSchema::Type::IfcStructuralMember, IfcStructuralItem_type);
+ IfcStructuralReaction_type = new entity(IfcSchema::Type::IfcStructuralReaction, IfcStructuralActivity_type);
+ IfcStructuralSurfaceMember_type = new entity(IfcSchema::Type::IfcStructuralSurfaceMember, IfcStructuralMember_type);
+ IfcStructuralSurfaceMemberVarying_type = new entity(IfcSchema::Type::IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceMember_type);
+ IfcStructuredDimensionCallout_type = new entity(IfcSchema::Type::IfcStructuredDimensionCallout, IfcDraughtingCallout_type);
+ IfcSurfaceCurveSweptAreaSolid_type = new entity(IfcSchema::Type::IfcSurfaceCurveSweptAreaSolid, IfcSweptAreaSolid_type);
+ IfcSurfaceOfLinearExtrusion_type = new entity(IfcSchema::Type::IfcSurfaceOfLinearExtrusion, IfcSweptSurface_type);
+ IfcSurfaceOfRevolution_type = new entity(IfcSchema::Type::IfcSurfaceOfRevolution, IfcSweptSurface_type);
+ IfcSystemFurnitureElementType_type = new entity(IfcSchema::Type::IfcSystemFurnitureElementType, IfcFurnishingElementType_type);
+ IfcTask_type = new entity(IfcSchema::Type::IfcTask, IfcProcess_type);
+ IfcTransportElementType_type = new entity(IfcSchema::Type::IfcTransportElementType, IfcElementType_type);
+ IfcActor_type = new entity(IfcSchema::Type::IfcActor, IfcObject_type);
+ IfcAnnotation_type = new entity(IfcSchema::Type::IfcAnnotation, IfcProduct_type);
+ IfcAsymmetricIShapeProfileDef_type = new entity(IfcSchema::Type::IfcAsymmetricIShapeProfileDef, IfcIShapeProfileDef_type);
+ IfcBlock_type = new entity(IfcSchema::Type::IfcBlock, IfcCsgPrimitive3D_type);
+ IfcBooleanClippingResult_type = new entity(IfcSchema::Type::IfcBooleanClippingResult, IfcBooleanResult_type);
+ IfcBoundedCurve_type = new entity(IfcSchema::Type::IfcBoundedCurve, IfcCurve_type);
+ IfcBuilding_type = new entity(IfcSchema::Type::IfcBuilding, IfcSpatialStructureElement_type);
+ IfcBuildingElementType_type = new entity(IfcSchema::Type::IfcBuildingElementType, IfcElementType_type);
+ IfcBuildingStorey_type = new entity(IfcSchema::Type::IfcBuildingStorey, IfcSpatialStructureElement_type);
+ IfcCircleHollowProfileDef_type = new entity(IfcSchema::Type::IfcCircleHollowProfileDef, IfcCircleProfileDef_type);
+ IfcColumnType_type = new entity(IfcSchema::Type::IfcColumnType, IfcBuildingElementType_type);
+ IfcCompositeCurve_type = new entity(IfcSchema::Type::IfcCompositeCurve, IfcBoundedCurve_type);
+ IfcConic_type = new entity(IfcSchema::Type::IfcConic, IfcCurve_type);
+ IfcConstructionResource_type = new entity(IfcSchema::Type::IfcConstructionResource, IfcResource_type);
+ IfcControl_type = new entity(IfcSchema::Type::IfcControl, IfcObject_type);
+ IfcCostItem_type = new entity(IfcSchema::Type::IfcCostItem, IfcControl_type);
+ IfcCostSchedule_type = new entity(IfcSchema::Type::IfcCostSchedule, IfcControl_type);
+ IfcCoveringType_type = new entity(IfcSchema::Type::IfcCoveringType, IfcBuildingElementType_type);
+ IfcCrewResource_type = new entity(IfcSchema::Type::IfcCrewResource, IfcConstructionResource_type);
+ IfcCurtainWallType_type = new entity(IfcSchema::Type::IfcCurtainWallType, IfcBuildingElementType_type);
+ IfcDimensionCurveDirectedCallout_type = new entity(IfcSchema::Type::IfcDimensionCurveDirectedCallout, IfcDraughtingCallout_type);
+ IfcDistributionElementType_type = new entity(IfcSchema::Type::IfcDistributionElementType, IfcElementType_type);
+ IfcDistributionFlowElementType_type = new entity(IfcSchema::Type::IfcDistributionFlowElementType, IfcDistributionElementType_type);
+ IfcElectricalBaseProperties_type = new entity(IfcSchema::Type::IfcElectricalBaseProperties, IfcEnergyProperties_type);
+ IfcElement_type = new entity(IfcSchema::Type::IfcElement, IfcProduct_type);
+ IfcElementAssembly_type = new entity(IfcSchema::Type::IfcElementAssembly, IfcElement_type);
+ IfcElementComponent_type = new entity(IfcSchema::Type::IfcElementComponent, IfcElement_type);
+ IfcElementComponentType_type = new entity(IfcSchema::Type::IfcElementComponentType, IfcElementType_type);
+ IfcEllipse_type = new entity(IfcSchema::Type::IfcEllipse, IfcConic_type);
+ IfcEnergyConversionDeviceType_type = new entity(IfcSchema::Type::IfcEnergyConversionDeviceType, IfcDistributionFlowElementType_type);
+ IfcEquipmentElement_type = new entity(IfcSchema::Type::IfcEquipmentElement, IfcElement_type);
+ IfcEquipmentStandard_type = new entity(IfcSchema::Type::IfcEquipmentStandard, IfcControl_type);
+ IfcEvaporativeCoolerType_type = new entity(IfcSchema::Type::IfcEvaporativeCoolerType, IfcEnergyConversionDeviceType_type);
+ IfcEvaporatorType_type = new entity(IfcSchema::Type::IfcEvaporatorType, IfcEnergyConversionDeviceType_type);
+ IfcFacetedBrep_type = new entity(IfcSchema::Type::IfcFacetedBrep, IfcManifoldSolidBrep_type);
+ IfcFacetedBrepWithVoids_type = new entity(IfcSchema::Type::IfcFacetedBrepWithVoids, IfcManifoldSolidBrep_type);
+ IfcFastener_type = new entity(IfcSchema::Type::IfcFastener, IfcElementComponent_type);
+ IfcFastenerType_type = new entity(IfcSchema::Type::IfcFastenerType, IfcElementComponentType_type);
+ IfcFeatureElement_type = new entity(IfcSchema::Type::IfcFeatureElement, IfcElement_type);
+ IfcFeatureElementAddition_type = new entity(IfcSchema::Type::IfcFeatureElementAddition, IfcFeatureElement_type);
+ IfcFeatureElementSubtraction_type = new entity(IfcSchema::Type::IfcFeatureElementSubtraction, IfcFeatureElement_type);
+ IfcFlowControllerType_type = new entity(IfcSchema::Type::IfcFlowControllerType, IfcDistributionFlowElementType_type);
+ IfcFlowFittingType_type = new entity(IfcSchema::Type::IfcFlowFittingType, IfcDistributionFlowElementType_type);
+ IfcFlowMeterType_type = new entity(IfcSchema::Type::IfcFlowMeterType, IfcFlowControllerType_type);
+ IfcFlowMovingDeviceType_type = new entity(IfcSchema::Type::IfcFlowMovingDeviceType, IfcDistributionFlowElementType_type);
+ IfcFlowSegmentType_type = new entity(IfcSchema::Type::IfcFlowSegmentType, IfcDistributionFlowElementType_type);
+ IfcFlowStorageDeviceType_type = new entity(IfcSchema::Type::IfcFlowStorageDeviceType, IfcDistributionFlowElementType_type);
+ IfcFlowTerminalType_type = new entity(IfcSchema::Type::IfcFlowTerminalType, IfcDistributionFlowElementType_type);
+ IfcFlowTreatmentDeviceType_type = new entity(IfcSchema::Type::IfcFlowTreatmentDeviceType, IfcDistributionFlowElementType_type);
+ IfcFurnishingElement_type = new entity(IfcSchema::Type::IfcFurnishingElement, IfcElement_type);
+ IfcFurnitureStandard_type = new entity(IfcSchema::Type::IfcFurnitureStandard, IfcControl_type);
+ IfcGasTerminalType_type = new entity(IfcSchema::Type::IfcGasTerminalType, IfcFlowTerminalType_type);
+ IfcGrid_type = new entity(IfcSchema::Type::IfcGrid, IfcProduct_type);
+ IfcGroup_type = new entity(IfcSchema::Type::IfcGroup, IfcObject_type);
+ IfcHeatExchangerType_type = new entity(IfcSchema::Type::IfcHeatExchangerType, IfcEnergyConversionDeviceType_type);
+ IfcHumidifierType_type = new entity(IfcSchema::Type::IfcHumidifierType, IfcEnergyConversionDeviceType_type);
+ IfcInventory_type = new entity(IfcSchema::Type::IfcInventory, IfcGroup_type);
+ IfcJunctionBoxType_type = new entity(IfcSchema::Type::IfcJunctionBoxType, IfcFlowFittingType_type);
+ IfcLaborResource_type = new entity(IfcSchema::Type::IfcLaborResource, IfcConstructionResource_type);
+ IfcLampType_type = new entity(IfcSchema::Type::IfcLampType, IfcFlowTerminalType_type);
+ IfcLightFixtureType_type = new entity(IfcSchema::Type::IfcLightFixtureType, IfcFlowTerminalType_type);
+ IfcLinearDimension_type = new entity(IfcSchema::Type::IfcLinearDimension, IfcDimensionCurveDirectedCallout_type);
+ IfcMechanicalFastener_type = new entity(IfcSchema::Type::IfcMechanicalFastener, IfcFastener_type);
+ IfcMechanicalFastenerType_type = new entity(IfcSchema::Type::IfcMechanicalFastenerType, IfcFastenerType_type);
+ IfcMemberType_type = new entity(IfcSchema::Type::IfcMemberType, IfcBuildingElementType_type);
+ IfcMotorConnectionType_type = new entity(IfcSchema::Type::IfcMotorConnectionType, IfcEnergyConversionDeviceType_type);
+ IfcMove_type = new entity(IfcSchema::Type::IfcMove, IfcTask_type);
+ IfcOccupant_type = new entity(IfcSchema::Type::IfcOccupant, IfcActor_type);
+ IfcOpeningElement_type = new entity(IfcSchema::Type::IfcOpeningElement, IfcFeatureElementSubtraction_type);
+ IfcOrderAction_type = new entity(IfcSchema::Type::IfcOrderAction, IfcTask_type);
+ IfcOutletType_type = new entity(IfcSchema::Type::IfcOutletType, IfcFlowTerminalType_type);
+ IfcPerformanceHistory_type = new entity(IfcSchema::Type::IfcPerformanceHistory, IfcControl_type);
+ IfcPermit_type = new entity(IfcSchema::Type::IfcPermit, IfcControl_type);
+ IfcPipeFittingType_type = new entity(IfcSchema::Type::IfcPipeFittingType, IfcFlowFittingType_type);
+ IfcPipeSegmentType_type = new entity(IfcSchema::Type::IfcPipeSegmentType, IfcFlowSegmentType_type);
+ IfcPlateType_type = new entity(IfcSchema::Type::IfcPlateType, IfcBuildingElementType_type);
+ IfcPolyline_type = new entity(IfcSchema::Type::IfcPolyline, IfcBoundedCurve_type);
+ IfcPort_type = new entity(IfcSchema::Type::IfcPort, IfcProduct_type);
+ IfcProcedure_type = new entity(IfcSchema::Type::IfcProcedure, IfcProcess_type);
+ IfcProjectOrder_type = new entity(IfcSchema::Type::IfcProjectOrder, IfcControl_type);
+ IfcProjectOrderRecord_type = new entity(IfcSchema::Type::IfcProjectOrderRecord, IfcControl_type);
+ IfcProjectionElement_type = new entity(IfcSchema::Type::IfcProjectionElement, IfcFeatureElementAddition_type);
+ IfcProtectiveDeviceType_type = new entity(IfcSchema::Type::IfcProtectiveDeviceType, IfcFlowControllerType_type);
+ IfcPumpType_type = new entity(IfcSchema::Type::IfcPumpType, IfcFlowMovingDeviceType_type);
+ IfcRadiusDimension_type = new entity(IfcSchema::Type::IfcRadiusDimension, IfcDimensionCurveDirectedCallout_type);
+ IfcRailingType_type = new entity(IfcSchema::Type::IfcRailingType, IfcBuildingElementType_type);
+ IfcRampFlightType_type = new entity(IfcSchema::Type::IfcRampFlightType, IfcBuildingElementType_type);
+ IfcRelAggregates_type = new entity(IfcSchema::Type::IfcRelAggregates, IfcRelDecomposes_type);
+ IfcRelAssignsTasks_type = new entity(IfcSchema::Type::IfcRelAssignsTasks, IfcRelAssignsToControl_type);
+ IfcSanitaryTerminalType_type = new entity(IfcSchema::Type::IfcSanitaryTerminalType, IfcFlowTerminalType_type);
+ IfcScheduleTimeControl_type = new entity(IfcSchema::Type::IfcScheduleTimeControl, IfcControl_type);
+ IfcServiceLife_type = new entity(IfcSchema::Type::IfcServiceLife, IfcControl_type);
+ IfcSite_type = new entity(IfcSchema::Type::IfcSite, IfcSpatialStructureElement_type);
+ IfcSlabType_type = new entity(IfcSchema::Type::IfcSlabType, IfcBuildingElementType_type);
+ IfcSpace_type = new entity(IfcSchema::Type::IfcSpace, IfcSpatialStructureElement_type);
+ IfcSpaceHeaterType_type = new entity(IfcSchema::Type::IfcSpaceHeaterType, IfcEnergyConversionDeviceType_type);
+ IfcSpaceProgram_type = new entity(IfcSchema::Type::IfcSpaceProgram, IfcControl_type);
+ IfcSpaceType_type = new entity(IfcSchema::Type::IfcSpaceType, IfcSpatialStructureElementType_type);
+ IfcStackTerminalType_type = new entity(IfcSchema::Type::IfcStackTerminalType, IfcFlowTerminalType_type);
+ IfcStairFlightType_type = new entity(IfcSchema::Type::IfcStairFlightType, IfcBuildingElementType_type);
+ IfcStructuralAction_type = new entity(IfcSchema::Type::IfcStructuralAction, IfcStructuralActivity_type);
+ IfcStructuralConnection_type = new entity(IfcSchema::Type::IfcStructuralConnection, IfcStructuralItem_type);
+ IfcStructuralCurveConnection_type = new entity(IfcSchema::Type::IfcStructuralCurveConnection, IfcStructuralConnection_type);
+ IfcStructuralCurveMember_type = new entity(IfcSchema::Type::IfcStructuralCurveMember, IfcStructuralMember_type);
+ IfcStructuralCurveMemberVarying_type = new entity(IfcSchema::Type::IfcStructuralCurveMemberVarying, IfcStructuralCurveMember_type);
+ IfcStructuralLinearAction_type = new entity(IfcSchema::Type::IfcStructuralLinearAction, IfcStructuralAction_type);
+ IfcStructuralLinearActionVarying_type = new entity(IfcSchema::Type::IfcStructuralLinearActionVarying, IfcStructuralLinearAction_type);
+ IfcStructuralLoadGroup_type = new entity(IfcSchema::Type::IfcStructuralLoadGroup, IfcGroup_type);
+ IfcStructuralPlanarAction_type = new entity(IfcSchema::Type::IfcStructuralPlanarAction, IfcStructuralAction_type);
+ IfcStructuralPlanarActionVarying_type = new entity(IfcSchema::Type::IfcStructuralPlanarActionVarying, IfcStructuralPlanarAction_type);
+ IfcStructuralPointAction_type = new entity(IfcSchema::Type::IfcStructuralPointAction, IfcStructuralAction_type);
+ IfcStructuralPointConnection_type = new entity(IfcSchema::Type::IfcStructuralPointConnection, IfcStructuralConnection_type);
+ IfcStructuralPointReaction_type = new entity(IfcSchema::Type::IfcStructuralPointReaction, IfcStructuralReaction_type);
+ IfcStructuralResultGroup_type = new entity(IfcSchema::Type::IfcStructuralResultGroup, IfcGroup_type);
+ IfcStructuralSurfaceConnection_type = new entity(IfcSchema::Type::IfcStructuralSurfaceConnection, IfcStructuralConnection_type);
+ IfcSubContractResource_type = new entity(IfcSchema::Type::IfcSubContractResource, IfcConstructionResource_type);
+ IfcSwitchingDeviceType_type = new entity(IfcSchema::Type::IfcSwitchingDeviceType, IfcFlowControllerType_type);
+ IfcSystem_type = new entity(IfcSchema::Type::IfcSystem, IfcGroup_type);
+ IfcTankType_type = new entity(IfcSchema::Type::IfcTankType, IfcFlowStorageDeviceType_type);
+ IfcTimeSeriesSchedule_type = new entity(IfcSchema::Type::IfcTimeSeriesSchedule, IfcControl_type);
+ IfcTransformerType_type = new entity(IfcSchema::Type::IfcTransformerType, IfcEnergyConversionDeviceType_type);
+ IfcTransportElement_type = new entity(IfcSchema::Type::IfcTransportElement, IfcElement_type);
+ IfcTrimmedCurve_type = new entity(IfcSchema::Type::IfcTrimmedCurve, IfcBoundedCurve_type);
+ IfcTubeBundleType_type = new entity(IfcSchema::Type::IfcTubeBundleType, IfcEnergyConversionDeviceType_type);
+ IfcUnitaryEquipmentType_type = new entity(IfcSchema::Type::IfcUnitaryEquipmentType, IfcEnergyConversionDeviceType_type);
+ IfcValveType_type = new entity(IfcSchema::Type::IfcValveType, IfcFlowControllerType_type);
+ IfcVirtualElement_type = new entity(IfcSchema::Type::IfcVirtualElement, IfcElement_type);
+ IfcWallType_type = new entity(IfcSchema::Type::IfcWallType, IfcBuildingElementType_type);
+ IfcWasteTerminalType_type = new entity(IfcSchema::Type::IfcWasteTerminalType, IfcFlowTerminalType_type);
+ IfcWorkControl_type = new entity(IfcSchema::Type::IfcWorkControl, IfcControl_type);
+ IfcWorkPlan_type = new entity(IfcSchema::Type::IfcWorkPlan, IfcWorkControl_type);
+ IfcWorkSchedule_type = new entity(IfcSchema::Type::IfcWorkSchedule, IfcWorkControl_type);
+ IfcZone_type = new entity(IfcSchema::Type::IfcZone, IfcGroup_type);
+ Ifc2DCompositeCurve_type = new entity(IfcSchema::Type::Ifc2DCompositeCurve, IfcCompositeCurve_type);
+ IfcActionRequest_type = new entity(IfcSchema::Type::IfcActionRequest, IfcControl_type);
+ IfcAirTerminalBoxType_type = new entity(IfcSchema::Type::IfcAirTerminalBoxType, IfcFlowControllerType_type);
+ IfcAirTerminalType_type = new entity(IfcSchema::Type::IfcAirTerminalType, IfcFlowTerminalType_type);
+ IfcAirToAirHeatRecoveryType_type = new entity(IfcSchema::Type::IfcAirToAirHeatRecoveryType, IfcEnergyConversionDeviceType_type);
+ IfcAngularDimension_type = new entity(IfcSchema::Type::IfcAngularDimension, IfcDimensionCurveDirectedCallout_type);
+ IfcAsset_type = new entity(IfcSchema::Type::IfcAsset, IfcGroup_type);
+ IfcBSplineCurve_type = new entity(IfcSchema::Type::IfcBSplineCurve, IfcBoundedCurve_type);
+ IfcBeamType_type = new entity(IfcSchema::Type::IfcBeamType, IfcBuildingElementType_type);
+ IfcBezierCurve_type = new entity(IfcSchema::Type::IfcBezierCurve, IfcBSplineCurve_type);
+ IfcBoilerType_type = new entity(IfcSchema::Type::IfcBoilerType, IfcEnergyConversionDeviceType_type);
+ IfcBuildingElement_type = new entity(IfcSchema::Type::IfcBuildingElement, IfcElement_type);
+ IfcBuildingElementComponent_type = new entity(IfcSchema::Type::IfcBuildingElementComponent, IfcBuildingElement_type);
+ IfcBuildingElementPart_type = new entity(IfcSchema::Type::IfcBuildingElementPart, IfcBuildingElementComponent_type);
+ IfcBuildingElementProxy_type = new entity(IfcSchema::Type::IfcBuildingElementProxy, IfcBuildingElement_type);
+ IfcBuildingElementProxyType_type = new entity(IfcSchema::Type::IfcBuildingElementProxyType, IfcBuildingElementType_type);
+ IfcCableCarrierFittingType_type = new entity(IfcSchema::Type::IfcCableCarrierFittingType, IfcFlowFittingType_type);
+ IfcCableCarrierSegmentType_type = new entity(IfcSchema::Type::IfcCableCarrierSegmentType, IfcFlowSegmentType_type);
+ IfcCableSegmentType_type = new entity(IfcSchema::Type::IfcCableSegmentType, IfcFlowSegmentType_type);
+ IfcChillerType_type = new entity(IfcSchema::Type::IfcChillerType, IfcEnergyConversionDeviceType_type);
+ IfcCircle_type = new entity(IfcSchema::Type::IfcCircle, IfcConic_type);
+ IfcCoilType_type = new entity(IfcSchema::Type::IfcCoilType, IfcEnergyConversionDeviceType_type);
+ IfcColumn_type = new entity(IfcSchema::Type::IfcColumn, IfcBuildingElement_type);
+ IfcCompressorType_type = new entity(IfcSchema::Type::IfcCompressorType, IfcFlowMovingDeviceType_type);
+ IfcCondenserType_type = new entity(IfcSchema::Type::IfcCondenserType, IfcEnergyConversionDeviceType_type);
+ IfcCondition_type = new entity(IfcSchema::Type::IfcCondition, IfcGroup_type);
+ IfcConditionCriterion_type = new entity(IfcSchema::Type::IfcConditionCriterion, IfcControl_type);
+ IfcConstructionEquipmentResource_type = new entity(IfcSchema::Type::IfcConstructionEquipmentResource, IfcConstructionResource_type);
+ IfcConstructionMaterialResource_type = new entity(IfcSchema::Type::IfcConstructionMaterialResource, IfcConstructionResource_type);
+ IfcConstructionProductResource_type = new entity(IfcSchema::Type::IfcConstructionProductResource, IfcConstructionResource_type);
+ IfcCooledBeamType_type = new entity(IfcSchema::Type::IfcCooledBeamType, IfcEnergyConversionDeviceType_type);
+ IfcCoolingTowerType_type = new entity(IfcSchema::Type::IfcCoolingTowerType, IfcEnergyConversionDeviceType_type);
+ IfcCovering_type = new entity(IfcSchema::Type::IfcCovering, IfcBuildingElement_type);
+ IfcCurtainWall_type = new entity(IfcSchema::Type::IfcCurtainWall, IfcBuildingElement_type);
+ IfcDamperType_type = new entity(IfcSchema::Type::IfcDamperType, IfcFlowControllerType_type);
+ IfcDiameterDimension_type = new entity(IfcSchema::Type::IfcDiameterDimension, IfcDimensionCurveDirectedCallout_type);
+ IfcDiscreteAccessory_type = new entity(IfcSchema::Type::IfcDiscreteAccessory, IfcElementComponent_type);
+ IfcDiscreteAccessoryType_type = new entity(IfcSchema::Type::IfcDiscreteAccessoryType, IfcElementComponentType_type);
+ IfcDistributionChamberElementType_type = new entity(IfcSchema::Type::IfcDistributionChamberElementType, IfcDistributionFlowElementType_type);
+ IfcDistributionControlElementType_type = new entity(IfcSchema::Type::IfcDistributionControlElementType, IfcDistributionElementType_type);
+ IfcDistributionElement_type = new entity(IfcSchema::Type::IfcDistributionElement, IfcElement_type);
+ IfcDistributionFlowElement_type = new entity(IfcSchema::Type::IfcDistributionFlowElement, IfcDistributionElement_type);
+ IfcDistributionPort_type = new entity(IfcSchema::Type::IfcDistributionPort, IfcPort_type);
+ IfcDoor_type = new entity(IfcSchema::Type::IfcDoor, IfcBuildingElement_type);
+ IfcDuctFittingType_type = new entity(IfcSchema::Type::IfcDuctFittingType, IfcFlowFittingType_type);
+ IfcDuctSegmentType_type = new entity(IfcSchema::Type::IfcDuctSegmentType, IfcFlowSegmentType_type);
+ IfcDuctSilencerType_type = new entity(IfcSchema::Type::IfcDuctSilencerType, IfcFlowTreatmentDeviceType_type);
+ IfcEdgeFeature_type = new entity(IfcSchema::Type::IfcEdgeFeature, IfcFeatureElementSubtraction_type);
+ IfcElectricApplianceType_type = new entity(IfcSchema::Type::IfcElectricApplianceType, IfcFlowTerminalType_type);
+ IfcElectricFlowStorageDeviceType_type = new entity(IfcSchema::Type::IfcElectricFlowStorageDeviceType, IfcFlowStorageDeviceType_type);
+ IfcElectricGeneratorType_type = new entity(IfcSchema::Type::IfcElectricGeneratorType, IfcEnergyConversionDeviceType_type);
+ IfcElectricHeaterType_type = new entity(IfcSchema::Type::IfcElectricHeaterType, IfcFlowTerminalType_type);
+ IfcElectricMotorType_type = new entity(IfcSchema::Type::IfcElectricMotorType, IfcEnergyConversionDeviceType_type);
+ IfcElectricTimeControlType_type = new entity(IfcSchema::Type::IfcElectricTimeControlType, IfcFlowControllerType_type);
+ IfcElectricalCircuit_type = new entity(IfcSchema::Type::IfcElectricalCircuit, IfcSystem_type);
+ IfcElectricalElement_type = new entity(IfcSchema::Type::IfcElectricalElement, IfcElement_type);
+ IfcEnergyConversionDevice_type = new entity(IfcSchema::Type::IfcEnergyConversionDevice, IfcDistributionFlowElement_type);
+ IfcFanType_type = new entity(IfcSchema::Type::IfcFanType, IfcFlowMovingDeviceType_type);
+ IfcFilterType_type = new entity(IfcSchema::Type::IfcFilterType, IfcFlowTreatmentDeviceType_type);
+ IfcFireSuppressionTerminalType_type = new entity(IfcSchema::Type::IfcFireSuppressionTerminalType, IfcFlowTerminalType_type);
+ IfcFlowController_type = new entity(IfcSchema::Type::IfcFlowController, IfcDistributionFlowElement_type);
+ IfcFlowFitting_type = new entity(IfcSchema::Type::IfcFlowFitting, IfcDistributionFlowElement_type);
+ IfcFlowInstrumentType_type = new entity(IfcSchema::Type::IfcFlowInstrumentType, IfcDistributionControlElementType_type);
+ IfcFlowMovingDevice_type = new entity(IfcSchema::Type::IfcFlowMovingDevice, IfcDistributionFlowElement_type);
+ IfcFlowSegment_type = new entity(IfcSchema::Type::IfcFlowSegment, IfcDistributionFlowElement_type);
+ IfcFlowStorageDevice_type = new entity(IfcSchema::Type::IfcFlowStorageDevice, IfcDistributionFlowElement_type);
+ IfcFlowTerminal_type = new entity(IfcSchema::Type::IfcFlowTerminal, IfcDistributionFlowElement_type);
+ IfcFlowTreatmentDevice_type = new entity(IfcSchema::Type::IfcFlowTreatmentDevice, IfcDistributionFlowElement_type);
+ IfcFooting_type = new entity(IfcSchema::Type::IfcFooting, IfcBuildingElement_type);
+ IfcMember_type = new entity(IfcSchema::Type::IfcMember, IfcBuildingElement_type);
+ IfcPile_type = new entity(IfcSchema::Type::IfcPile, IfcBuildingElement_type);
+ IfcPlate_type = new entity(IfcSchema::Type::IfcPlate, IfcBuildingElement_type);
+ IfcRailing_type = new entity(IfcSchema::Type::IfcRailing, IfcBuildingElement_type);
+ IfcRamp_type = new entity(IfcSchema::Type::IfcRamp, IfcBuildingElement_type);
+ IfcRampFlight_type = new entity(IfcSchema::Type::IfcRampFlight, IfcBuildingElement_type);
+ IfcRationalBezierCurve_type = new entity(IfcSchema::Type::IfcRationalBezierCurve, IfcBezierCurve_type);
+ IfcReinforcingElement_type = new entity(IfcSchema::Type::IfcReinforcingElement, IfcBuildingElementComponent_type);
+ IfcReinforcingMesh_type = new entity(IfcSchema::Type::IfcReinforcingMesh, IfcReinforcingElement_type);
+ IfcRoof_type = new entity(IfcSchema::Type::IfcRoof, IfcBuildingElement_type);
+ IfcRoundedEdgeFeature_type = new entity(IfcSchema::Type::IfcRoundedEdgeFeature, IfcEdgeFeature_type);
+ IfcSensorType_type = new entity(IfcSchema::Type::IfcSensorType, IfcDistributionControlElementType_type);
+ IfcSlab_type = new entity(IfcSchema::Type::IfcSlab, IfcBuildingElement_type);
+ IfcStair_type = new entity(IfcSchema::Type::IfcStair, IfcBuildingElement_type);
+ IfcStairFlight_type = new entity(IfcSchema::Type::IfcStairFlight, IfcBuildingElement_type);
+ IfcStructuralAnalysisModel_type = new entity(IfcSchema::Type::IfcStructuralAnalysisModel, IfcSystem_type);
+ IfcTendon_type = new entity(IfcSchema::Type::IfcTendon, IfcReinforcingElement_type);
+ IfcTendonAnchor_type = new entity(IfcSchema::Type::IfcTendonAnchor, IfcReinforcingElement_type);
+ IfcVibrationIsolatorType_type = new entity(IfcSchema::Type::IfcVibrationIsolatorType, IfcDiscreteAccessoryType_type);
+ IfcWall_type = new entity(IfcSchema::Type::IfcWall, IfcBuildingElement_type);
+ IfcWallStandardCase_type = new entity(IfcSchema::Type::IfcWallStandardCase, IfcWall_type);
+ IfcWindow_type = new entity(IfcSchema::Type::IfcWindow, IfcBuildingElement_type);
+ IfcActuatorType_type = new entity(IfcSchema::Type::IfcActuatorType, IfcDistributionControlElementType_type);
+ IfcAlarmType_type = new entity(IfcSchema::Type::IfcAlarmType, IfcDistributionControlElementType_type);
+ IfcBeam_type = new entity(IfcSchema::Type::IfcBeam, IfcBuildingElement_type);
+ IfcChamferEdgeFeature_type = new entity(IfcSchema::Type::IfcChamferEdgeFeature, IfcEdgeFeature_type);
+ IfcControllerType_type = new entity(IfcSchema::Type::IfcControllerType, IfcDistributionControlElementType_type);
+ IfcDistributionChamberElement_type = new entity(IfcSchema::Type::IfcDistributionChamberElement, IfcDistributionFlowElement_type);
+ IfcDistributionControlElement_type = new entity(IfcSchema::Type::IfcDistributionControlElement, IfcDistributionElement_type);
+ IfcElectricDistributionPoint_type = new entity(IfcSchema::Type::IfcElectricDistributionPoint, IfcFlowController_type);
+ IfcReinforcingBar_type = new entity(IfcSchema::Type::IfcReinforcingBar, IfcReinforcingElement_type);
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcOrganization_type);
+ items.push_back(IfcPerson_type);
+ items.push_back(IfcPersonAndOrganization_type);
+ IfcActorSelect_type = new select_type(IfcSchema::Type::IfcActorSelect, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcMeasureWithUnit_type);
+ items.push_back(IfcMonetaryMeasure_type);
+ items.push_back(IfcRatioMeasure_type);
+ IfcAppliedValueSelect_type = new select_type(IfcSchema::Type::IfcAppliedValueSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcAxis2Placement2D_type);
+ items.push_back(IfcAxis2Placement3D_type);
+ IfcAxis2Placement_type = new select_type(IfcSchema::Type::IfcAxis2Placement, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back(IfcBooleanResult_type);
+ items.push_back(IfcCsgPrimitive3D_type);
+ items.push_back(IfcHalfSpaceSolid_type);
+ items.push_back(IfcSolidModel_type);
+ IfcBooleanOperand_type = new select_type(IfcSchema::Type::IfcBooleanOperand, items);
+ }
+ {
+ std::vector items; items.reserve(1);
+ items.push_back(IfcTextStyleForDefinedFont_type);
+ IfcCharacterStyleSelect_type = new select_type(IfcSchema::Type::IfcCharacterStyleSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcClassificationNotation_type);
+ items.push_back(IfcClassificationReference_type);
+ IfcClassificationNotationSelect_type = new select_type(IfcSchema::Type::IfcClassificationNotationSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcColourSpecification_type);
+ items.push_back(IfcPreDefinedColour_type);
+ IfcColour_type = new select_type(IfcSchema::Type::IfcColour, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcColourRgb_type);
+ items.push_back(IfcNormalisedRatioMeasure_type);
+ IfcColourOrFactor_type = new select_type(IfcSchema::Type::IfcColourOrFactor, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcLabel_type);
+ items.push_back(IfcMeasureWithUnit_type);
+ IfcConditionCriterionSelect_type = new select_type(IfcSchema::Type::IfcConditionCriterionSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcBooleanResult_type);
+ items.push_back(IfcCsgPrimitive3D_type);
+ IfcCsgSelect_type = new select_type(IfcSchema::Type::IfcCsgSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcBoundedCurve_type);
+ items.push_back(IfcEdgeCurve_type);
+ IfcCurveOrEdgeCurve_type = new select_type(IfcSchema::Type::IfcCurveOrEdgeCurve, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcCurveStyleFont_type);
+ items.push_back(IfcPreDefinedCurveFont_type);
+ IfcCurveStyleFontSelect_type = new select_type(IfcSchema::Type::IfcCurveStyleFontSelect, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcCalendarDate_type);
+ items.push_back(IfcDateAndTime_type);
+ items.push_back(IfcLocalTime_type);
+ IfcDateTimeSelect_type = new select_type(IfcSchema::Type::IfcDateTimeSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcExternallyDefinedSymbol_type);
+ items.push_back(IfcPreDefinedSymbol_type);
+ IfcDefinedSymbolSelect_type = new select_type(IfcSchema::Type::IfcDefinedSymbolSelect, items);
+ }
+ {
+ std::vector items; items.reserve(68);
+ items.push_back(IfcAbsorbedDoseMeasure_type);
+ items.push_back(IfcAccelerationMeasure_type);
+ items.push_back(IfcAngularVelocityMeasure_type);
+ items.push_back(IfcCompoundPlaneAngleMeasure_type);
+ items.push_back(IfcCurvatureMeasure_type);
+ items.push_back(IfcDoseEquivalentMeasure_type);
+ items.push_back(IfcDynamicViscosityMeasure_type);
+ items.push_back(IfcElectricCapacitanceMeasure_type);
+ items.push_back(IfcElectricChargeMeasure_type);
+ items.push_back(IfcElectricConductanceMeasure_type);
+ items.push_back(IfcElectricResistanceMeasure_type);
+ items.push_back(IfcElectricVoltageMeasure_type);
+ items.push_back(IfcEnergyMeasure_type);
+ items.push_back(IfcForceMeasure_type);
+ items.push_back(IfcFrequencyMeasure_type);
+ items.push_back(IfcHeatFluxDensityMeasure_type);
+ items.push_back(IfcHeatingValueMeasure_type);
+ items.push_back(IfcIlluminanceMeasure_type);
+ items.push_back(IfcInductanceMeasure_type);
+ items.push_back(IfcIntegerCountRateMeasure_type);
+ items.push_back(IfcIonConcentrationMeasure_type);
+ items.push_back(IfcIsothermalMoistureCapacityMeasure_type);
+ items.push_back(IfcKinematicViscosityMeasure_type);
+ items.push_back(IfcLinearForceMeasure_type);
+ items.push_back(IfcLinearMomentMeasure_type);
+ items.push_back(IfcLinearStiffnessMeasure_type);
+ items.push_back(IfcLinearVelocityMeasure_type);
+ items.push_back(IfcLuminousFluxMeasure_type);
+ items.push_back(IfcLuminousIntensityDistributionMeasure_type);
+ items.push_back(IfcMagneticFluxDensityMeasure_type);
+ items.push_back(IfcMagneticFluxMeasure_type);
+ items.push_back(IfcMassDensityMeasure_type);
+ items.push_back(IfcMassFlowRateMeasure_type);
+ items.push_back(IfcMassPerLengthMeasure_type);
+ items.push_back(IfcModulusOfElasticityMeasure_type);
+ items.push_back(IfcModulusOfLinearSubgradeReactionMeasure_type);
+ items.push_back(IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ items.push_back(IfcModulusOfSubgradeReactionMeasure_type);
+ items.push_back(IfcMoistureDiffusivityMeasure_type);
+ items.push_back(IfcMolecularWeightMeasure_type);
+ items.push_back(IfcMomentOfInertiaMeasure_type);
+ items.push_back(IfcMonetaryMeasure_type);
+ items.push_back(IfcPHMeasure_type);
+ items.push_back(IfcPlanarForceMeasure_type);
+ items.push_back(IfcPowerMeasure_type);
+ items.push_back(IfcPressureMeasure_type);
+ items.push_back(IfcRadioActivityMeasure_type);
+ items.push_back(IfcRotationalFrequencyMeasure_type);
+ items.push_back(IfcRotationalMassMeasure_type);
+ items.push_back(IfcRotationalStiffnessMeasure_type);
+ items.push_back(IfcSectionModulusMeasure_type);
+ items.push_back(IfcSectionalAreaIntegralMeasure_type);
+ items.push_back(IfcShearModulusMeasure_type);
+ items.push_back(IfcSoundPowerMeasure_type);
+ items.push_back(IfcSoundPressureMeasure_type);
+ items.push_back(IfcSpecificHeatCapacityMeasure_type);
+ items.push_back(IfcTemperatureGradientMeasure_type);
+ items.push_back(IfcThermalAdmittanceMeasure_type);
+ items.push_back(IfcThermalConductivityMeasure_type);
+ items.push_back(IfcThermalExpansionCoefficientMeasure_type);
+ items.push_back(IfcThermalResistanceMeasure_type);
+ items.push_back(IfcThermalTransmittanceMeasure_type);
+ items.push_back(IfcTimeStamp_type);
+ items.push_back(IfcTorqueMeasure_type);
+ items.push_back(IfcVaporPermeabilityMeasure_type);
+ items.push_back(IfcVolumetricFlowRateMeasure_type);
+ items.push_back(IfcWarpingConstantMeasure_type);
+ items.push_back(IfcWarpingMomentMeasure_type);
+ IfcDerivedMeasureValue_type = new select_type(IfcSchema::Type::IfcDerivedMeasureValue, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcDocumentInformation_type);
+ items.push_back(IfcDocumentReference_type);
+ IfcDocumentSelect_type = new select_type(IfcSchema::Type::IfcDocumentSelect, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcAnnotationCurveOccurrence_type);
+ items.push_back(IfcAnnotationSymbolOccurrence_type);
+ items.push_back(IfcAnnotationTextOccurrence_type);
+ IfcDraughtingCalloutElement_type = new select_type(IfcSchema::Type::IfcDraughtingCalloutElement, items);
+ }
+ {
+ std::vector items; items.reserve(1);
+ items.push_back(IfcFillAreaStyleTileSymbolWithStyle_type);
+ IfcFillAreaStyleTileShapeSelect_type = new select_type(IfcSchema::Type::IfcFillAreaStyleTileShapeSelect, items);
+ }
+ {
+ std::vector items; items.reserve(4);
+ items.push_back(IfcColour_type);
+ items.push_back(IfcExternallyDefinedHatchStyle_type);
+ items.push_back(IfcFillAreaStyleHatching_type);
+ items.push_back(IfcFillAreaStyleTiles_type);
+ IfcFillStyleSelect_type = new select_type(IfcSchema::Type::IfcFillStyleSelect, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcCurve_type);
+ items.push_back(IfcPoint_type);
+ items.push_back(IfcSurface_type);
+ IfcGeometricSetSelect_type = new select_type(IfcSchema::Type::IfcGeometricSetSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcOneDirectionRepeatFactor_type);
+ items.push_back(IfcPositiveLengthMeasure_type);
+ IfcHatchLineDistanceSelect_type = new select_type(IfcSchema::Type::IfcHatchLineDistanceSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcRepresentation_type);
+ items.push_back(IfcRepresentationItem_type);
+ IfcLayeredItem_type = new select_type(IfcSchema::Type::IfcLayeredItem, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcLibraryInformation_type);
+ items.push_back(IfcLibraryReference_type);
+ IfcLibrarySelect_type = new select_type(IfcSchema::Type::IfcLibrarySelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcExternalReference_type);
+ items.push_back(IfcLightIntensityDistribution_type);
+ IfcLightDistributionDataSourceSelect_type = new select_type(IfcSchema::Type::IfcLightDistributionDataSourceSelect, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back(IfcMaterial_type);
+ items.push_back(IfcMaterialLayer_type);
+ items.push_back(IfcMaterialLayerSet_type);
+ items.push_back(IfcMaterialLayerSetUsage_type);
+ items.push_back(IfcMaterialList_type);
+ IfcMaterialSelect_type = new select_type(IfcSchema::Type::IfcMaterialSelect, items);
+ }
+ {
+ std::vector items; items.reserve(22);
+ items.push_back(IfcAmountOfSubstanceMeasure_type);
+ items.push_back(IfcAreaMeasure_type);
+ items.push_back(IfcComplexNumber_type);
+ items.push_back(IfcContextDependentMeasure_type);
+ items.push_back(IfcCountMeasure_type);
+ items.push_back(IfcDescriptiveMeasure_type);
+ items.push_back(IfcElectricCurrentMeasure_type);
+ items.push_back(IfcLengthMeasure_type);
+ items.push_back(IfcLuminousIntensityMeasure_type);
+ items.push_back(IfcMassMeasure_type);
+ items.push_back(IfcNormalisedRatioMeasure_type);
+ items.push_back(IfcNumericMeasure_type);
+ items.push_back(IfcParameterValue_type);
+ items.push_back(IfcPlaneAngleMeasure_type);
+ items.push_back(IfcPositiveLengthMeasure_type);
+ items.push_back(IfcPositivePlaneAngleMeasure_type);
+ items.push_back(IfcPositiveRatioMeasure_type);
+ items.push_back(IfcRatioMeasure_type);
+ items.push_back(IfcSolidAngleMeasure_type);
+ items.push_back(IfcThermodynamicTemperatureMeasure_type);
+ items.push_back(IfcTimeMeasure_type);
+ items.push_back(IfcVolumeMeasure_type);
+ IfcMeasureValue_type = new select_type(IfcSchema::Type::IfcMeasureValue, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back(IfcCostValue_type);
+ items.push_back(IfcDateTimeSelect_type);
+ items.push_back(IfcMeasureWithUnit_type);
+ items.push_back(IfcTable_type);
+ items.push_back(IfcText_type);
+ items.push_back(IfcTimeSeries_type);
+ IfcMetricValueSelect_type = new select_type(IfcSchema::Type::IfcMetricValueSelect, items);
+ }
+ {
+ std::vector items; items.reserve(13);
+ items.push_back(IfcAddress_type);
+ items.push_back(IfcAppliedValue_type);
+ items.push_back(IfcCalendarDate_type);
+ items.push_back(IfcDateAndTime_type);
+ items.push_back(IfcExternalReference_type);
+ items.push_back(IfcLocalTime_type);
+ items.push_back(IfcMaterial_type);
+ items.push_back(IfcMaterialLayer_type);
+ items.push_back(IfcMaterialList_type);
+ items.push_back(IfcOrganization_type);
+ items.push_back(IfcPerson_type);
+ items.push_back(IfcPersonAndOrganization_type);
+ items.push_back(IfcTimeSeries_type);
+ IfcObjectReferenceSelect_type = new select_type(IfcSchema::Type::IfcObjectReferenceSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcDirection_type);
+ items.push_back(IfcPlaneAngleMeasure_type);
+ IfcOrientationSelect_type = new select_type(IfcSchema::Type::IfcOrientationSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcPoint_type);
+ items.push_back(IfcVertexPoint_type);
+ IfcPointOrVertexPoint_type = new select_type(IfcSchema::Type::IfcPointOrVertexPoint, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back(IfcCurveStyle_type);
+ items.push_back(IfcFillAreaStyle_type);
+ items.push_back(IfcNullStyle_type);
+ items.push_back(IfcSurfaceStyle_type);
+ items.push_back(IfcSymbolStyle_type);
+ items.push_back(IfcTextStyle_type);
+ IfcPresentationStyleSelect_type = new select_type(IfcSchema::Type::IfcPresentationStyleSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcClosedShell_type);
+ items.push_back(IfcOpenShell_type);
+ IfcShell_type = new select_type(IfcSchema::Type::IfcShell, items);
+ }
+ {
+ std::vector items; items.reserve(7);
+ items.push_back(IfcBoolean_type);
+ items.push_back(IfcIdentifier_type);
+ items.push_back(IfcInteger_type);
+ items.push_back(IfcLabel_type);
+ items.push_back(IfcLogical_type);
+ items.push_back(IfcReal_type);
+ items.push_back(IfcText_type);
+ IfcSimpleValue_type = new select_type(IfcSchema::Type::IfcSimpleValue, items);
+ }
+ {
+ std::vector items; items.reserve(6);
+ items.push_back(IfcDescriptiveMeasure_type);
+ items.push_back(IfcLengthMeasure_type);
+ items.push_back(IfcNormalisedRatioMeasure_type);
+ items.push_back(IfcPositiveLengthMeasure_type);
+ items.push_back(IfcPositiveRatioMeasure_type);
+ items.push_back(IfcRatioMeasure_type);
+ IfcSizeSelect_type = new select_type(IfcSchema::Type::IfcSizeSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcSpecularExponent_type);
+ items.push_back(IfcSpecularRoughness_type);
+ IfcSpecularHighlightSelect_type = new select_type(IfcSchema::Type::IfcSpecularHighlightSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcElement_type);
+ items.push_back(IfcStructuralItem_type);
+ IfcStructuralActivityAssignmentSelect_type = new select_type(IfcSchema::Type::IfcStructuralActivityAssignmentSelect, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcFaceBasedSurfaceModel_type);
+ items.push_back(IfcFaceSurface_type);
+ items.push_back(IfcSurface_type);
+ IfcSurfaceOrFaceSurface_type = new select_type(IfcSchema::Type::IfcSurfaceOrFaceSurface, items);
+ }
+ {
+ std::vector items; items.reserve(5);
+ items.push_back(IfcExternallyDefinedSurfaceStyle_type);
+ items.push_back(IfcSurfaceStyleLighting_type);
+ items.push_back(IfcSurfaceStyleRefraction_type);
+ items.push_back(IfcSurfaceStyleShading_type);
+ items.push_back(IfcSurfaceStyleWithTextures_type);
+ IfcSurfaceStyleElementSelect_type = new select_type(IfcSchema::Type::IfcSurfaceStyleElementSelect, items);
+ }
+ {
+ std::vector items; items.reserve(1);
+ items.push_back(IfcColour_type);
+ IfcSymbolStyleSelect_type = new select_type(IfcSchema::Type::IfcSymbolStyleSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcExternallyDefinedTextFont_type);
+ items.push_back(IfcPreDefinedTextFont_type);
+ IfcTextFontSelect_type = new select_type(IfcSchema::Type::IfcTextFontSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcTextStyleTextModel_type);
+ items.push_back(IfcTextStyleWithBoxCharacteristics_type);
+ IfcTextStyleSelect_type = new select_type(IfcSchema::Type::IfcTextStyleSelect, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcCartesianPoint_type);
+ items.push_back(IfcParameterValue_type);
+ IfcTrimmingSelect_type = new select_type(IfcSchema::Type::IfcTrimmingSelect, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcDerivedUnit_type);
+ items.push_back(IfcMonetaryUnit_type);
+ items.push_back(IfcNamedUnit_type);
+ IfcUnit_type = new select_type(IfcSchema::Type::IfcUnit, items);
+ }
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcDerivedMeasureValue_type);
+ items.push_back(IfcMeasureValue_type);
+ items.push_back(IfcSimpleValue_type);
+ IfcValue_type = new select_type(IfcSchema::Type::IfcValue, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcDirection_type);
+ items.push_back(IfcVector_type);
+ IfcVectorOrDirection_type = new select_type(IfcSchema::Type::IfcVectorOrDirection, items);
+ }
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcCurveStyleFontAndScaling_type);
+ items.push_back(IfcCurveStyleFontSelect_type);
+ IfcCurveFontOrScaledCurveFontSelect_type = new select_type(IfcSchema::Type::IfcCurveFontOrScaledCurveFontSelect, items);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(2);
+ derived.push_back(false); derived.push_back(false);
+ Ifc2DCompositeCurve_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("RequestID", new named_type(IfcIdentifier_type), false));
+ std::vector derived; derived.reserve(6);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcActionRequest_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("TheActor", new named_type(IfcActorSelect_type), false));
+ std::vector derived; derived.reserve(6);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcActor_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(3);
+ attributes.push_back(new entity::attribute("Role", new named_type(IfcRoleEnum_type), false));
+ attributes.push_back(new entity::attribute("UserDefinedRole", new named_type(IfcLabel_type), true));
+ attributes.push_back(new entity::attribute("Description", new named_type(IfcText_type), true));
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcActorRole_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcActuatorTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcActuatorType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(3);
+ attributes.push_back(new entity::attribute("Purpose", new named_type(IfcAddressTypeEnum_type), true));
+ attributes.push_back(new entity::attribute("Description", new named_type(IfcText_type), true));
+ attributes.push_back(new entity::attribute("UserDefinedPurpose", new named_type(IfcLabel_type), true));
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAddress_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcAirTerminalBoxTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAirTerminalBoxType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcAirTerminalTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAirTerminalType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcAirToAirHeatRecoveryTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAirToAirHeatRecoveryType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcAlarmTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAlarmType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(1);
+ derived.push_back(false);
+ IfcAngularDimension_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(7);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotation_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationCurveOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(2);
+ attributes.push_back(new entity::attribute("OuterBoundary", new named_type(IfcCurve_type), false));
+ attributes.push_back(new entity::attribute("InnerBoundaries", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IfcCurve_type)), true));
+ std::vector derived; derived.reserve(2);
+ derived.push_back(false); derived.push_back(false);
+ IfcAnnotationFillArea_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(2);
+ attributes.push_back(new entity::attribute("FillStyleTarget", new named_type(IfcPoint_type), true));
+ attributes.push_back(new entity::attribute("GlobalOrLocal", new named_type(IfcGlobalOrLocalEnum_type), true));
+ std::vector derived; derived.reserve(5);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationFillAreaOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(2);
+ attributes.push_back(new entity::attribute("Item", new named_type(IfcGeometricRepresentationItem_type), false));
+ attributes.push_back(new entity::attribute("TextureCoordinates", new named_type(IfcTextureCoordinate_type), true));
+ std::vector derived; derived.reserve(2);
+ derived.push_back(false); derived.push_back(false);
+ IfcAnnotationSurface_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationSurfaceOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationSymbolOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationTextOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(4);
+ attributes.push_back(new entity::attribute("ApplicationDeveloper", new named_type(IfcOrganization_type), false));
+ attributes.push_back(new entity::attribute("Version", new named_type(IfcLabel_type), false));
+ attributes.push_back(new entity::attribute("ApplicationFullName", new named_type(IfcLabel_type), false));
+ attributes.push_back(new entity::attribute("ApplicationIdentifier", new named_type(IfcIdentifier_type), false));
+ std::vector derived; derived.reserve(4);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcApplication_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(6);
+ attributes.push_back(new entity::attribute("Name", new named_type(IfcLabel_type), true));
+ attributes.push_back(new entity::attribute("Description", new named_type(IfcText_type), true));
+ attributes.push_back(new entity::attribute("AppliedValue", new named_type(IfcAppliedValueSelect_type), true));
+ attributes.push_back(new entity::attribute("UnitBasis", new named_type(IfcMeasureWithUnit_type), true));
+ attributes.push_back(new entity::attribute("ApplicableDate", new named_type(IfcDateTimeSelect_type), true));
+ attributes.push_back(new entity::attribute("FixedUntilDate", new named_type(IfcDateTimeSelect_type), true));
+ std::vector derived; derived.reserve(6);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAppliedValue_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector