/******************************************************************************** * * * 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 IFC4x2.exp. Do not make modifications * * but instead modify the python script that has been used to generate this. * * * ********************************************************************************/ #include "../ifcparse/IfcSchema.h" #include "../ifcparse/Ifc4x2.h" using namespace IfcParse; entity* IFC4X2_IfcActionRequest_type = 0; entity* IFC4X2_IfcActor_type = 0; entity* IFC4X2_IfcActorRole_type = 0; entity* IFC4X2_IfcActuator_type = 0; entity* IFC4X2_IfcActuatorType_type = 0; entity* IFC4X2_IfcAddress_type = 0; entity* IFC4X2_IfcAdvancedBrep_type = 0; entity* IFC4X2_IfcAdvancedBrepWithVoids_type = 0; entity* IFC4X2_IfcAdvancedFace_type = 0; entity* IFC4X2_IfcAirTerminal_type = 0; entity* IFC4X2_IfcAirTerminalBox_type = 0; entity* IFC4X2_IfcAirTerminalBoxType_type = 0; entity* IFC4X2_IfcAirTerminalType_type = 0; entity* IFC4X2_IfcAirToAirHeatRecovery_type = 0; entity* IFC4X2_IfcAirToAirHeatRecoveryType_type = 0; entity* IFC4X2_IfcAlarm_type = 0; entity* IFC4X2_IfcAlarmType_type = 0; entity* IFC4X2_IfcAlignment_type = 0; entity* IFC4X2_IfcAlignment2DHorizontal_type = 0; entity* IFC4X2_IfcAlignment2DHorizontalSegment_type = 0; entity* IFC4X2_IfcAlignment2DSegment_type = 0; entity* IFC4X2_IfcAlignment2DVerSegCircularArc_type = 0; entity* IFC4X2_IfcAlignment2DVerSegLine_type = 0; entity* IFC4X2_IfcAlignment2DVerSegParabolicArc_type = 0; entity* IFC4X2_IfcAlignment2DVertical_type = 0; entity* IFC4X2_IfcAlignment2DVerticalSegment_type = 0; entity* IFC4X2_IfcAlignmentCurve_type = 0; entity* IFC4X2_IfcAnnotation_type = 0; entity* IFC4X2_IfcAnnotationFillArea_type = 0; entity* IFC4X2_IfcApplication_type = 0; entity* IFC4X2_IfcAppliedValue_type = 0; entity* IFC4X2_IfcApproval_type = 0; entity* IFC4X2_IfcApprovalRelationship_type = 0; entity* IFC4X2_IfcArbitraryClosedProfileDef_type = 0; entity* IFC4X2_IfcArbitraryOpenProfileDef_type = 0; entity* IFC4X2_IfcArbitraryProfileDefWithVoids_type = 0; entity* IFC4X2_IfcAsset_type = 0; entity* IFC4X2_IfcAsymmetricIShapeProfileDef_type = 0; entity* IFC4X2_IfcAudioVisualAppliance_type = 0; entity* IFC4X2_IfcAudioVisualApplianceType_type = 0; entity* IFC4X2_IfcAxis1Placement_type = 0; entity* IFC4X2_IfcAxis2Placement2D_type = 0; entity* IFC4X2_IfcAxis2Placement3D_type = 0; entity* IFC4X2_IfcBSplineCurve_type = 0; entity* IFC4X2_IfcBSplineCurveWithKnots_type = 0; entity* IFC4X2_IfcBSplineSurface_type = 0; entity* IFC4X2_IfcBSplineSurfaceWithKnots_type = 0; entity* IFC4X2_IfcBeam_type = 0; entity* IFC4X2_IfcBeamStandardCase_type = 0; entity* IFC4X2_IfcBeamType_type = 0; entity* IFC4X2_IfcBearing_type = 0; entity* IFC4X2_IfcBearingType_type = 0; entity* IFC4X2_IfcBlobTexture_type = 0; entity* IFC4X2_IfcBlock_type = 0; entity* IFC4X2_IfcBoiler_type = 0; entity* IFC4X2_IfcBoilerType_type = 0; entity* IFC4X2_IfcBooleanClippingResult_type = 0; entity* IFC4X2_IfcBooleanResult_type = 0; entity* IFC4X2_IfcBoundaryCondition_type = 0; entity* IFC4X2_IfcBoundaryCurve_type = 0; entity* IFC4X2_IfcBoundaryEdgeCondition_type = 0; entity* IFC4X2_IfcBoundaryFaceCondition_type = 0; entity* IFC4X2_IfcBoundaryNodeCondition_type = 0; entity* IFC4X2_IfcBoundaryNodeConditionWarping_type = 0; entity* IFC4X2_IfcBoundedCurve_type = 0; entity* IFC4X2_IfcBoundedSurface_type = 0; entity* IFC4X2_IfcBoundingBox_type = 0; entity* IFC4X2_IfcBoxedHalfSpace_type = 0; entity* IFC4X2_IfcBridge_type = 0; entity* IFC4X2_IfcBridgePart_type = 0; entity* IFC4X2_IfcBuilding_type = 0; entity* IFC4X2_IfcBuildingElement_type = 0; entity* IFC4X2_IfcBuildingElementPart_type = 0; entity* IFC4X2_IfcBuildingElementPartType_type = 0; entity* IFC4X2_IfcBuildingElementProxy_type = 0; entity* IFC4X2_IfcBuildingElementProxyType_type = 0; entity* IFC4X2_IfcBuildingElementType_type = 0; entity* IFC4X2_IfcBuildingStorey_type = 0; entity* IFC4X2_IfcBuildingSystem_type = 0; entity* IFC4X2_IfcBurner_type = 0; entity* IFC4X2_IfcBurnerType_type = 0; entity* IFC4X2_IfcCShapeProfileDef_type = 0; entity* IFC4X2_IfcCableCarrierFitting_type = 0; entity* IFC4X2_IfcCableCarrierFittingType_type = 0; entity* IFC4X2_IfcCableCarrierSegment_type = 0; entity* IFC4X2_IfcCableCarrierSegmentType_type = 0; entity* IFC4X2_IfcCableFitting_type = 0; entity* IFC4X2_IfcCableFittingType_type = 0; entity* IFC4X2_IfcCableSegment_type = 0; entity* IFC4X2_IfcCableSegmentType_type = 0; entity* IFC4X2_IfcCaissonFoundation_type = 0; entity* IFC4X2_IfcCaissonFoundationType_type = 0; entity* IFC4X2_IfcCartesianPoint_type = 0; entity* IFC4X2_IfcCartesianPointList_type = 0; entity* IFC4X2_IfcCartesianPointList2D_type = 0; entity* IFC4X2_IfcCartesianPointList3D_type = 0; entity* IFC4X2_IfcCartesianTransformationOperator_type = 0; entity* IFC4X2_IfcCartesianTransformationOperator2D_type = 0; entity* IFC4X2_IfcCartesianTransformationOperator2DnonUniform_type = 0; entity* IFC4X2_IfcCartesianTransformationOperator3D_type = 0; entity* IFC4X2_IfcCartesianTransformationOperator3DnonUniform_type = 0; entity* IFC4X2_IfcCenterLineProfileDef_type = 0; entity* IFC4X2_IfcChiller_type = 0; entity* IFC4X2_IfcChillerType_type = 0; entity* IFC4X2_IfcChimney_type = 0; entity* IFC4X2_IfcChimneyType_type = 0; entity* IFC4X2_IfcCircle_type = 0; entity* IFC4X2_IfcCircleHollowProfileDef_type = 0; entity* IFC4X2_IfcCircleProfileDef_type = 0; entity* IFC4X2_IfcCircularArcSegment2D_type = 0; entity* IFC4X2_IfcCivilElement_type = 0; entity* IFC4X2_IfcCivilElementType_type = 0; entity* IFC4X2_IfcClassification_type = 0; entity* IFC4X2_IfcClassificationReference_type = 0; entity* IFC4X2_IfcClosedShell_type = 0; entity* IFC4X2_IfcCoil_type = 0; entity* IFC4X2_IfcCoilType_type = 0; entity* IFC4X2_IfcColourRgb_type = 0; entity* IFC4X2_IfcColourRgbList_type = 0; entity* IFC4X2_IfcColourSpecification_type = 0; entity* IFC4X2_IfcColumn_type = 0; entity* IFC4X2_IfcColumnStandardCase_type = 0; entity* IFC4X2_IfcColumnType_type = 0; entity* IFC4X2_IfcCommunicationsAppliance_type = 0; entity* IFC4X2_IfcCommunicationsApplianceType_type = 0; entity* IFC4X2_IfcComplexProperty_type = 0; entity* IFC4X2_IfcComplexPropertyTemplate_type = 0; entity* IFC4X2_IfcCompositeCurve_type = 0; entity* IFC4X2_IfcCompositeCurveOnSurface_type = 0; entity* IFC4X2_IfcCompositeCurveSegment_type = 0; entity* IFC4X2_IfcCompositeProfileDef_type = 0; entity* IFC4X2_IfcCompressor_type = 0; entity* IFC4X2_IfcCompressorType_type = 0; entity* IFC4X2_IfcCondenser_type = 0; entity* IFC4X2_IfcCondenserType_type = 0; entity* IFC4X2_IfcConic_type = 0; entity* IFC4X2_IfcConnectedFaceSet_type = 0; entity* IFC4X2_IfcConnectionCurveGeometry_type = 0; entity* IFC4X2_IfcConnectionGeometry_type = 0; entity* IFC4X2_IfcConnectionPointEccentricity_type = 0; entity* IFC4X2_IfcConnectionPointGeometry_type = 0; entity* IFC4X2_IfcConnectionSurfaceGeometry_type = 0; entity* IFC4X2_IfcConnectionVolumeGeometry_type = 0; entity* IFC4X2_IfcConstraint_type = 0; entity* IFC4X2_IfcConstructionEquipmentResource_type = 0; entity* IFC4X2_IfcConstructionEquipmentResourceType_type = 0; entity* IFC4X2_IfcConstructionMaterialResource_type = 0; entity* IFC4X2_IfcConstructionMaterialResourceType_type = 0; entity* IFC4X2_IfcConstructionProductResource_type = 0; entity* IFC4X2_IfcConstructionProductResourceType_type = 0; entity* IFC4X2_IfcConstructionResource_type = 0; entity* IFC4X2_IfcConstructionResourceType_type = 0; entity* IFC4X2_IfcContext_type = 0; entity* IFC4X2_IfcContextDependentUnit_type = 0; entity* IFC4X2_IfcControl_type = 0; entity* IFC4X2_IfcController_type = 0; entity* IFC4X2_IfcControllerType_type = 0; entity* IFC4X2_IfcConversionBasedUnit_type = 0; entity* IFC4X2_IfcConversionBasedUnitWithOffset_type = 0; entity* IFC4X2_IfcCooledBeam_type = 0; entity* IFC4X2_IfcCooledBeamType_type = 0; entity* IFC4X2_IfcCoolingTower_type = 0; entity* IFC4X2_IfcCoolingTowerType_type = 0; entity* IFC4X2_IfcCoordinateOperation_type = 0; entity* IFC4X2_IfcCoordinateReferenceSystem_type = 0; entity* IFC4X2_IfcCostItem_type = 0; entity* IFC4X2_IfcCostSchedule_type = 0; entity* IFC4X2_IfcCostValue_type = 0; entity* IFC4X2_IfcCovering_type = 0; entity* IFC4X2_IfcCoveringType_type = 0; entity* IFC4X2_IfcCrewResource_type = 0; entity* IFC4X2_IfcCrewResourceType_type = 0; entity* IFC4X2_IfcCsgPrimitive3D_type = 0; entity* IFC4X2_IfcCsgSolid_type = 0; entity* IFC4X2_IfcCurrencyRelationship_type = 0; entity* IFC4X2_IfcCurtainWall_type = 0; entity* IFC4X2_IfcCurtainWallType_type = 0; entity* IFC4X2_IfcCurve_type = 0; entity* IFC4X2_IfcCurveBoundedPlane_type = 0; entity* IFC4X2_IfcCurveBoundedSurface_type = 0; entity* IFC4X2_IfcCurveSegment2D_type = 0; entity* IFC4X2_IfcCurveStyle_type = 0; entity* IFC4X2_IfcCurveStyleFont_type = 0; entity* IFC4X2_IfcCurveStyleFontAndScaling_type = 0; entity* IFC4X2_IfcCurveStyleFontPattern_type = 0; entity* IFC4X2_IfcCylindricalSurface_type = 0; entity* IFC4X2_IfcDamper_type = 0; entity* IFC4X2_IfcDamperType_type = 0; entity* IFC4X2_IfcDeepFoundation_type = 0; entity* IFC4X2_IfcDeepFoundationType_type = 0; entity* IFC4X2_IfcDerivedProfileDef_type = 0; entity* IFC4X2_IfcDerivedUnit_type = 0; entity* IFC4X2_IfcDerivedUnitElement_type = 0; entity* IFC4X2_IfcDimensionalExponents_type = 0; entity* IFC4X2_IfcDirection_type = 0; entity* IFC4X2_IfcDiscreteAccessory_type = 0; entity* IFC4X2_IfcDiscreteAccessoryType_type = 0; entity* IFC4X2_IfcDistanceExpression_type = 0; entity* IFC4X2_IfcDistributionChamberElement_type = 0; entity* IFC4X2_IfcDistributionChamberElementType_type = 0; entity* IFC4X2_IfcDistributionCircuit_type = 0; entity* IFC4X2_IfcDistributionControlElement_type = 0; entity* IFC4X2_IfcDistributionControlElementType_type = 0; entity* IFC4X2_IfcDistributionElement_type = 0; entity* IFC4X2_IfcDistributionElementType_type = 0; entity* IFC4X2_IfcDistributionFlowElement_type = 0; entity* IFC4X2_IfcDistributionFlowElementType_type = 0; entity* IFC4X2_IfcDistributionPort_type = 0; entity* IFC4X2_IfcDistributionSystem_type = 0; entity* IFC4X2_IfcDocumentInformation_type = 0; entity* IFC4X2_IfcDocumentInformationRelationship_type = 0; entity* IFC4X2_IfcDocumentReference_type = 0; entity* IFC4X2_IfcDoor_type = 0; entity* IFC4X2_IfcDoorLiningProperties_type = 0; entity* IFC4X2_IfcDoorPanelProperties_type = 0; entity* IFC4X2_IfcDoorStandardCase_type = 0; entity* IFC4X2_IfcDoorStyle_type = 0; entity* IFC4X2_IfcDoorType_type = 0; entity* IFC4X2_IfcDraughtingPreDefinedColour_type = 0; entity* IFC4X2_IfcDraughtingPreDefinedCurveFont_type = 0; entity* IFC4X2_IfcDuctFitting_type = 0; entity* IFC4X2_IfcDuctFittingType_type = 0; entity* IFC4X2_IfcDuctSegment_type = 0; entity* IFC4X2_IfcDuctSegmentType_type = 0; entity* IFC4X2_IfcDuctSilencer_type = 0; entity* IFC4X2_IfcDuctSilencerType_type = 0; entity* IFC4X2_IfcEdge_type = 0; entity* IFC4X2_IfcEdgeCurve_type = 0; entity* IFC4X2_IfcEdgeLoop_type = 0; entity* IFC4X2_IfcElectricAppliance_type = 0; entity* IFC4X2_IfcElectricApplianceType_type = 0; entity* IFC4X2_IfcElectricDistributionBoard_type = 0; entity* IFC4X2_IfcElectricDistributionBoardType_type = 0; entity* IFC4X2_IfcElectricFlowStorageDevice_type = 0; entity* IFC4X2_IfcElectricFlowStorageDeviceType_type = 0; entity* IFC4X2_IfcElectricGenerator_type = 0; entity* IFC4X2_IfcElectricGeneratorType_type = 0; entity* IFC4X2_IfcElectricMotor_type = 0; entity* IFC4X2_IfcElectricMotorType_type = 0; entity* IFC4X2_IfcElectricTimeControl_type = 0; entity* IFC4X2_IfcElectricTimeControlType_type = 0; entity* IFC4X2_IfcElement_type = 0; entity* IFC4X2_IfcElementAssembly_type = 0; entity* IFC4X2_IfcElementAssemblyType_type = 0; entity* IFC4X2_IfcElementComponent_type = 0; entity* IFC4X2_IfcElementComponentType_type = 0; entity* IFC4X2_IfcElementQuantity_type = 0; entity* IFC4X2_IfcElementType_type = 0; entity* IFC4X2_IfcElementarySurface_type = 0; entity* IFC4X2_IfcEllipse_type = 0; entity* IFC4X2_IfcEllipseProfileDef_type = 0; entity* IFC4X2_IfcEnergyConversionDevice_type = 0; entity* IFC4X2_IfcEnergyConversionDeviceType_type = 0; entity* IFC4X2_IfcEngine_type = 0; entity* IFC4X2_IfcEngineType_type = 0; entity* IFC4X2_IfcEvaporativeCooler_type = 0; entity* IFC4X2_IfcEvaporativeCoolerType_type = 0; entity* IFC4X2_IfcEvaporator_type = 0; entity* IFC4X2_IfcEvaporatorType_type = 0; entity* IFC4X2_IfcEvent_type = 0; entity* IFC4X2_IfcEventTime_type = 0; entity* IFC4X2_IfcEventType_type = 0; entity* IFC4X2_IfcExtendedProperties_type = 0; entity* IFC4X2_IfcExternalInformation_type = 0; entity* IFC4X2_IfcExternalReference_type = 0; entity* IFC4X2_IfcExternalReferenceRelationship_type = 0; entity* IFC4X2_IfcExternalSpatialElement_type = 0; entity* IFC4X2_IfcExternalSpatialStructureElement_type = 0; entity* IFC4X2_IfcExternallyDefinedHatchStyle_type = 0; entity* IFC4X2_IfcExternallyDefinedSurfaceStyle_type = 0; entity* IFC4X2_IfcExternallyDefinedTextFont_type = 0; entity* IFC4X2_IfcExtrudedAreaSolid_type = 0; entity* IFC4X2_IfcExtrudedAreaSolidTapered_type = 0; entity* IFC4X2_IfcFace_type = 0; entity* IFC4X2_IfcFaceBasedSurfaceModel_type = 0; entity* IFC4X2_IfcFaceBound_type = 0; entity* IFC4X2_IfcFaceOuterBound_type = 0; entity* IFC4X2_IfcFaceSurface_type = 0; entity* IFC4X2_IfcFacetedBrep_type = 0; entity* IFC4X2_IfcFacetedBrepWithVoids_type = 0; entity* IFC4X2_IfcFacility_type = 0; entity* IFC4X2_IfcFacilityPart_type = 0; entity* IFC4X2_IfcFailureConnectionCondition_type = 0; entity* IFC4X2_IfcFan_type = 0; entity* IFC4X2_IfcFanType_type = 0; entity* IFC4X2_IfcFastener_type = 0; entity* IFC4X2_IfcFastenerType_type = 0; entity* IFC4X2_IfcFeatureElement_type = 0; entity* IFC4X2_IfcFeatureElementAddition_type = 0; entity* IFC4X2_IfcFeatureElementSubtraction_type = 0; entity* IFC4X2_IfcFillAreaStyle_type = 0; entity* IFC4X2_IfcFillAreaStyleHatching_type = 0; entity* IFC4X2_IfcFillAreaStyleTiles_type = 0; entity* IFC4X2_IfcFilter_type = 0; entity* IFC4X2_IfcFilterType_type = 0; entity* IFC4X2_IfcFireSuppressionTerminal_type = 0; entity* IFC4X2_IfcFireSuppressionTerminalType_type = 0; entity* IFC4X2_IfcFixedReferenceSweptAreaSolid_type = 0; entity* IFC4X2_IfcFlowController_type = 0; entity* IFC4X2_IfcFlowControllerType_type = 0; entity* IFC4X2_IfcFlowFitting_type = 0; entity* IFC4X2_IfcFlowFittingType_type = 0; entity* IFC4X2_IfcFlowInstrument_type = 0; entity* IFC4X2_IfcFlowInstrumentType_type = 0; entity* IFC4X2_IfcFlowMeter_type = 0; entity* IFC4X2_IfcFlowMeterType_type = 0; entity* IFC4X2_IfcFlowMovingDevice_type = 0; entity* IFC4X2_IfcFlowMovingDeviceType_type = 0; entity* IFC4X2_IfcFlowSegment_type = 0; entity* IFC4X2_IfcFlowSegmentType_type = 0; entity* IFC4X2_IfcFlowStorageDevice_type = 0; entity* IFC4X2_IfcFlowStorageDeviceType_type = 0; entity* IFC4X2_IfcFlowTerminal_type = 0; entity* IFC4X2_IfcFlowTerminalType_type = 0; entity* IFC4X2_IfcFlowTreatmentDevice_type = 0; entity* IFC4X2_IfcFlowTreatmentDeviceType_type = 0; entity* IFC4X2_IfcFooting_type = 0; entity* IFC4X2_IfcFootingType_type = 0; entity* IFC4X2_IfcFurnishingElement_type = 0; entity* IFC4X2_IfcFurnishingElementType_type = 0; entity* IFC4X2_IfcFurniture_type = 0; entity* IFC4X2_IfcFurnitureType_type = 0; entity* IFC4X2_IfcGeographicElement_type = 0; entity* IFC4X2_IfcGeographicElementType_type = 0; entity* IFC4X2_IfcGeometricCurveSet_type = 0; entity* IFC4X2_IfcGeometricRepresentationContext_type = 0; entity* IFC4X2_IfcGeometricRepresentationItem_type = 0; entity* IFC4X2_IfcGeometricRepresentationSubContext_type = 0; entity* IFC4X2_IfcGeometricSet_type = 0; entity* IFC4X2_IfcGrid_type = 0; entity* IFC4X2_IfcGridAxis_type = 0; entity* IFC4X2_IfcGridPlacement_type = 0; entity* IFC4X2_IfcGroup_type = 0; entity* IFC4X2_IfcHalfSpaceSolid_type = 0; entity* IFC4X2_IfcHeatExchanger_type = 0; entity* IFC4X2_IfcHeatExchangerType_type = 0; entity* IFC4X2_IfcHumidifier_type = 0; entity* IFC4X2_IfcHumidifierType_type = 0; entity* IFC4X2_IfcIShapeProfileDef_type = 0; entity* IFC4X2_IfcImageTexture_type = 0; entity* IFC4X2_IfcIndexedColourMap_type = 0; entity* IFC4X2_IfcIndexedPolyCurve_type = 0; entity* IFC4X2_IfcIndexedPolygonalFace_type = 0; entity* IFC4X2_IfcIndexedPolygonalFaceWithVoids_type = 0; entity* IFC4X2_IfcIndexedTextureMap_type = 0; entity* IFC4X2_IfcIndexedTriangleTextureMap_type = 0; entity* IFC4X2_IfcInterceptor_type = 0; entity* IFC4X2_IfcInterceptorType_type = 0; entity* IFC4X2_IfcIntersectionCurve_type = 0; entity* IFC4X2_IfcInventory_type = 0; entity* IFC4X2_IfcIrregularTimeSeries_type = 0; entity* IFC4X2_IfcIrregularTimeSeriesValue_type = 0; entity* IFC4X2_IfcJunctionBox_type = 0; entity* IFC4X2_IfcJunctionBoxType_type = 0; entity* IFC4X2_IfcLShapeProfileDef_type = 0; entity* IFC4X2_IfcLaborResource_type = 0; entity* IFC4X2_IfcLaborResourceType_type = 0; entity* IFC4X2_IfcLagTime_type = 0; entity* IFC4X2_IfcLamp_type = 0; entity* IFC4X2_IfcLampType_type = 0; entity* IFC4X2_IfcLibraryInformation_type = 0; entity* IFC4X2_IfcLibraryReference_type = 0; entity* IFC4X2_IfcLightDistributionData_type = 0; entity* IFC4X2_IfcLightFixture_type = 0; entity* IFC4X2_IfcLightFixtureType_type = 0; entity* IFC4X2_IfcLightIntensityDistribution_type = 0; entity* IFC4X2_IfcLightSource_type = 0; entity* IFC4X2_IfcLightSourceAmbient_type = 0; entity* IFC4X2_IfcLightSourceDirectional_type = 0; entity* IFC4X2_IfcLightSourceGoniometric_type = 0; entity* IFC4X2_IfcLightSourcePositional_type = 0; entity* IFC4X2_IfcLightSourceSpot_type = 0; entity* IFC4X2_IfcLine_type = 0; entity* IFC4X2_IfcLineSegment2D_type = 0; entity* IFC4X2_IfcLinearPlacement_type = 0; entity* IFC4X2_IfcLinearPositioningElement_type = 0; entity* IFC4X2_IfcLocalPlacement_type = 0; entity* IFC4X2_IfcLoop_type = 0; entity* IFC4X2_IfcManifoldSolidBrep_type = 0; entity* IFC4X2_IfcMapConversion_type = 0; entity* IFC4X2_IfcMappedItem_type = 0; entity* IFC4X2_IfcMaterial_type = 0; entity* IFC4X2_IfcMaterialClassificationRelationship_type = 0; entity* IFC4X2_IfcMaterialConstituent_type = 0; entity* IFC4X2_IfcMaterialConstituentSet_type = 0; entity* IFC4X2_IfcMaterialDefinition_type = 0; entity* IFC4X2_IfcMaterialDefinitionRepresentation_type = 0; entity* IFC4X2_IfcMaterialLayer_type = 0; entity* IFC4X2_IfcMaterialLayerSet_type = 0; entity* IFC4X2_IfcMaterialLayerSetUsage_type = 0; entity* IFC4X2_IfcMaterialLayerWithOffsets_type = 0; entity* IFC4X2_IfcMaterialList_type = 0; entity* IFC4X2_IfcMaterialProfile_type = 0; entity* IFC4X2_IfcMaterialProfileSet_type = 0; entity* IFC4X2_IfcMaterialProfileSetUsage_type = 0; entity* IFC4X2_IfcMaterialProfileSetUsageTapering_type = 0; entity* IFC4X2_IfcMaterialProfileWithOffsets_type = 0; entity* IFC4X2_IfcMaterialProperties_type = 0; entity* IFC4X2_IfcMaterialRelationship_type = 0; entity* IFC4X2_IfcMaterialUsageDefinition_type = 0; entity* IFC4X2_IfcMeasureWithUnit_type = 0; entity* IFC4X2_IfcMechanicalFastener_type = 0; entity* IFC4X2_IfcMechanicalFastenerType_type = 0; entity* IFC4X2_IfcMedicalDevice_type = 0; entity* IFC4X2_IfcMedicalDeviceType_type = 0; entity* IFC4X2_IfcMember_type = 0; entity* IFC4X2_IfcMemberStandardCase_type = 0; entity* IFC4X2_IfcMemberType_type = 0; entity* IFC4X2_IfcMetric_type = 0; entity* IFC4X2_IfcMirroredProfileDef_type = 0; entity* IFC4X2_IfcMonetaryUnit_type = 0; entity* IFC4X2_IfcMotorConnection_type = 0; entity* IFC4X2_IfcMotorConnectionType_type = 0; entity* IFC4X2_IfcNamedUnit_type = 0; entity* IFC4X2_IfcObject_type = 0; entity* IFC4X2_IfcObjectDefinition_type = 0; entity* IFC4X2_IfcObjectPlacement_type = 0; entity* IFC4X2_IfcObjective_type = 0; entity* IFC4X2_IfcOccupant_type = 0; entity* IFC4X2_IfcOffsetCurve_type = 0; entity* IFC4X2_IfcOffsetCurve2D_type = 0; entity* IFC4X2_IfcOffsetCurve3D_type = 0; entity* IFC4X2_IfcOffsetCurveByDistances_type = 0; entity* IFC4X2_IfcOpenShell_type = 0; entity* IFC4X2_IfcOpeningElement_type = 0; entity* IFC4X2_IfcOpeningStandardCase_type = 0; entity* IFC4X2_IfcOrganization_type = 0; entity* IFC4X2_IfcOrganizationRelationship_type = 0; entity* IFC4X2_IfcOrientationExpression_type = 0; entity* IFC4X2_IfcOrientedEdge_type = 0; entity* IFC4X2_IfcOuterBoundaryCurve_type = 0; entity* IFC4X2_IfcOutlet_type = 0; entity* IFC4X2_IfcOutletType_type = 0; entity* IFC4X2_IfcOwnerHistory_type = 0; entity* IFC4X2_IfcParameterizedProfileDef_type = 0; entity* IFC4X2_IfcPath_type = 0; entity* IFC4X2_IfcPcurve_type = 0; entity* IFC4X2_IfcPerformanceHistory_type = 0; entity* IFC4X2_IfcPermeableCoveringProperties_type = 0; entity* IFC4X2_IfcPermit_type = 0; entity* IFC4X2_IfcPerson_type = 0; entity* IFC4X2_IfcPersonAndOrganization_type = 0; entity* IFC4X2_IfcPhysicalComplexQuantity_type = 0; entity* IFC4X2_IfcPhysicalQuantity_type = 0; entity* IFC4X2_IfcPhysicalSimpleQuantity_type = 0; entity* IFC4X2_IfcPile_type = 0; entity* IFC4X2_IfcPileType_type = 0; entity* IFC4X2_IfcPipeFitting_type = 0; entity* IFC4X2_IfcPipeFittingType_type = 0; entity* IFC4X2_IfcPipeSegment_type = 0; entity* IFC4X2_IfcPipeSegmentType_type = 0; entity* IFC4X2_IfcPixelTexture_type = 0; entity* IFC4X2_IfcPlacement_type = 0; entity* IFC4X2_IfcPlanarBox_type = 0; entity* IFC4X2_IfcPlanarExtent_type = 0; entity* IFC4X2_IfcPlane_type = 0; entity* IFC4X2_IfcPlate_type = 0; entity* IFC4X2_IfcPlateStandardCase_type = 0; entity* IFC4X2_IfcPlateType_type = 0; entity* IFC4X2_IfcPoint_type = 0; entity* IFC4X2_IfcPointOnCurve_type = 0; entity* IFC4X2_IfcPointOnSurface_type = 0; entity* IFC4X2_IfcPolyLoop_type = 0; entity* IFC4X2_IfcPolygonalBoundedHalfSpace_type = 0; entity* IFC4X2_IfcPolygonalFaceSet_type = 0; entity* IFC4X2_IfcPolyline_type = 0; entity* IFC4X2_IfcPort_type = 0; entity* IFC4X2_IfcPositioningElement_type = 0; entity* IFC4X2_IfcPostalAddress_type = 0; entity* IFC4X2_IfcPreDefinedColour_type = 0; entity* IFC4X2_IfcPreDefinedCurveFont_type = 0; entity* IFC4X2_IfcPreDefinedItem_type = 0; entity* IFC4X2_IfcPreDefinedProperties_type = 0; entity* IFC4X2_IfcPreDefinedPropertySet_type = 0; entity* IFC4X2_IfcPreDefinedTextFont_type = 0; entity* IFC4X2_IfcPresentationItem_type = 0; entity* IFC4X2_IfcPresentationLayerAssignment_type = 0; entity* IFC4X2_IfcPresentationLayerWithStyle_type = 0; entity* IFC4X2_IfcPresentationStyle_type = 0; entity* IFC4X2_IfcPresentationStyleAssignment_type = 0; entity* IFC4X2_IfcProcedure_type = 0; entity* IFC4X2_IfcProcedureType_type = 0; entity* IFC4X2_IfcProcess_type = 0; entity* IFC4X2_IfcProduct_type = 0; entity* IFC4X2_IfcProductDefinitionShape_type = 0; entity* IFC4X2_IfcProductRepresentation_type = 0; entity* IFC4X2_IfcProfileDef_type = 0; entity* IFC4X2_IfcProfileProperties_type = 0; entity* IFC4X2_IfcProject_type = 0; entity* IFC4X2_IfcProjectLibrary_type = 0; entity* IFC4X2_IfcProjectOrder_type = 0; entity* IFC4X2_IfcProjectedCRS_type = 0; entity* IFC4X2_IfcProjectionElement_type = 0; entity* IFC4X2_IfcProperty_type = 0; entity* IFC4X2_IfcPropertyAbstraction_type = 0; entity* IFC4X2_IfcPropertyBoundedValue_type = 0; entity* IFC4X2_IfcPropertyDefinition_type = 0; entity* IFC4X2_IfcPropertyDependencyRelationship_type = 0; entity* IFC4X2_IfcPropertyEnumeratedValue_type = 0; entity* IFC4X2_IfcPropertyEnumeration_type = 0; entity* IFC4X2_IfcPropertyListValue_type = 0; entity* IFC4X2_IfcPropertyReferenceValue_type = 0; entity* IFC4X2_IfcPropertySet_type = 0; entity* IFC4X2_IfcPropertySetDefinition_type = 0; entity* IFC4X2_IfcPropertySetTemplate_type = 0; entity* IFC4X2_IfcPropertySingleValue_type = 0; entity* IFC4X2_IfcPropertyTableValue_type = 0; entity* IFC4X2_IfcPropertyTemplate_type = 0; entity* IFC4X2_IfcPropertyTemplateDefinition_type = 0; entity* IFC4X2_IfcProtectiveDevice_type = 0; entity* IFC4X2_IfcProtectiveDeviceTrippingUnit_type = 0; entity* IFC4X2_IfcProtectiveDeviceTrippingUnitType_type = 0; entity* IFC4X2_IfcProtectiveDeviceType_type = 0; entity* IFC4X2_IfcProxy_type = 0; entity* IFC4X2_IfcPump_type = 0; entity* IFC4X2_IfcPumpType_type = 0; entity* IFC4X2_IfcQuantityArea_type = 0; entity* IFC4X2_IfcQuantityCount_type = 0; entity* IFC4X2_IfcQuantityLength_type = 0; entity* IFC4X2_IfcQuantitySet_type = 0; entity* IFC4X2_IfcQuantityTime_type = 0; entity* IFC4X2_IfcQuantityVolume_type = 0; entity* IFC4X2_IfcQuantityWeight_type = 0; entity* IFC4X2_IfcRailing_type = 0; entity* IFC4X2_IfcRailingType_type = 0; entity* IFC4X2_IfcRamp_type = 0; entity* IFC4X2_IfcRampFlight_type = 0; entity* IFC4X2_IfcRampFlightType_type = 0; entity* IFC4X2_IfcRampType_type = 0; entity* IFC4X2_IfcRationalBSplineCurveWithKnots_type = 0; entity* IFC4X2_IfcRationalBSplineSurfaceWithKnots_type = 0; entity* IFC4X2_IfcRectangleHollowProfileDef_type = 0; entity* IFC4X2_IfcRectangleProfileDef_type = 0; entity* IFC4X2_IfcRectangularPyramid_type = 0; entity* IFC4X2_IfcRectangularTrimmedSurface_type = 0; entity* IFC4X2_IfcRecurrencePattern_type = 0; entity* IFC4X2_IfcReference_type = 0; entity* IFC4X2_IfcReferent_type = 0; entity* IFC4X2_IfcRegularTimeSeries_type = 0; entity* IFC4X2_IfcReinforcementBarProperties_type = 0; entity* IFC4X2_IfcReinforcementDefinitionProperties_type = 0; entity* IFC4X2_IfcReinforcingBar_type = 0; entity* IFC4X2_IfcReinforcingBarType_type = 0; entity* IFC4X2_IfcReinforcingElement_type = 0; entity* IFC4X2_IfcReinforcingElementType_type = 0; entity* IFC4X2_IfcReinforcingMesh_type = 0; entity* IFC4X2_IfcReinforcingMeshType_type = 0; entity* IFC4X2_IfcRelAggregates_type = 0; entity* IFC4X2_IfcRelAssigns_type = 0; entity* IFC4X2_IfcRelAssignsToActor_type = 0; entity* IFC4X2_IfcRelAssignsToControl_type = 0; entity* IFC4X2_IfcRelAssignsToGroup_type = 0; entity* IFC4X2_IfcRelAssignsToGroupByFactor_type = 0; entity* IFC4X2_IfcRelAssignsToProcess_type = 0; entity* IFC4X2_IfcRelAssignsToProduct_type = 0; entity* IFC4X2_IfcRelAssignsToResource_type = 0; entity* IFC4X2_IfcRelAssociates_type = 0; entity* IFC4X2_IfcRelAssociatesApproval_type = 0; entity* IFC4X2_IfcRelAssociatesClassification_type = 0; entity* IFC4X2_IfcRelAssociatesConstraint_type = 0; entity* IFC4X2_IfcRelAssociatesDocument_type = 0; entity* IFC4X2_IfcRelAssociatesLibrary_type = 0; entity* IFC4X2_IfcRelAssociatesMaterial_type = 0; entity* IFC4X2_IfcRelConnects_type = 0; entity* IFC4X2_IfcRelConnectsElements_type = 0; entity* IFC4X2_IfcRelConnectsPathElements_type = 0; entity* IFC4X2_IfcRelConnectsPortToElement_type = 0; entity* IFC4X2_IfcRelConnectsPorts_type = 0; entity* IFC4X2_IfcRelConnectsStructuralActivity_type = 0; entity* IFC4X2_IfcRelConnectsStructuralMember_type = 0; entity* IFC4X2_IfcRelConnectsWithEccentricity_type = 0; entity* IFC4X2_IfcRelConnectsWithRealizingElements_type = 0; entity* IFC4X2_IfcRelContainedInSpatialStructure_type = 0; entity* IFC4X2_IfcRelCoversBldgElements_type = 0; entity* IFC4X2_IfcRelCoversSpaces_type = 0; entity* IFC4X2_IfcRelDeclares_type = 0; entity* IFC4X2_IfcRelDecomposes_type = 0; entity* IFC4X2_IfcRelDefines_type = 0; entity* IFC4X2_IfcRelDefinesByObject_type = 0; entity* IFC4X2_IfcRelDefinesByProperties_type = 0; entity* IFC4X2_IfcRelDefinesByTemplate_type = 0; entity* IFC4X2_IfcRelDefinesByType_type = 0; entity* IFC4X2_IfcRelFillsElement_type = 0; entity* IFC4X2_IfcRelFlowControlElements_type = 0; entity* IFC4X2_IfcRelInterferesElements_type = 0; entity* IFC4X2_IfcRelNests_type = 0; entity* IFC4X2_IfcRelPositions_type = 0; entity* IFC4X2_IfcRelProjectsElement_type = 0; entity* IFC4X2_IfcRelReferencedInSpatialStructure_type = 0; entity* IFC4X2_IfcRelSequence_type = 0; entity* IFC4X2_IfcRelServicesBuildings_type = 0; entity* IFC4X2_IfcRelSpaceBoundary_type = 0; entity* IFC4X2_IfcRelSpaceBoundary1stLevel_type = 0; entity* IFC4X2_IfcRelSpaceBoundary2ndLevel_type = 0; entity* IFC4X2_IfcRelVoidsElement_type = 0; entity* IFC4X2_IfcRelationship_type = 0; entity* IFC4X2_IfcReparametrisedCompositeCurveSegment_type = 0; entity* IFC4X2_IfcRepresentation_type = 0; entity* IFC4X2_IfcRepresentationContext_type = 0; entity* IFC4X2_IfcRepresentationItem_type = 0; entity* IFC4X2_IfcRepresentationMap_type = 0; entity* IFC4X2_IfcResource_type = 0; entity* IFC4X2_IfcResourceApprovalRelationship_type = 0; entity* IFC4X2_IfcResourceConstraintRelationship_type = 0; entity* IFC4X2_IfcResourceLevelRelationship_type = 0; entity* IFC4X2_IfcResourceTime_type = 0; entity* IFC4X2_IfcRevolvedAreaSolid_type = 0; entity* IFC4X2_IfcRevolvedAreaSolidTapered_type = 0; entity* IFC4X2_IfcRightCircularCone_type = 0; entity* IFC4X2_IfcRightCircularCylinder_type = 0; entity* IFC4X2_IfcRoof_type = 0; entity* IFC4X2_IfcRoofType_type = 0; entity* IFC4X2_IfcRoot_type = 0; entity* IFC4X2_IfcRoundedRectangleProfileDef_type = 0; entity* IFC4X2_IfcSIUnit_type = 0; entity* IFC4X2_IfcSanitaryTerminal_type = 0; entity* IFC4X2_IfcSanitaryTerminalType_type = 0; entity* IFC4X2_IfcSchedulingTime_type = 0; entity* IFC4X2_IfcSeamCurve_type = 0; entity* IFC4X2_IfcSectionProperties_type = 0; entity* IFC4X2_IfcSectionReinforcementProperties_type = 0; entity* IFC4X2_IfcSectionedSolid_type = 0; entity* IFC4X2_IfcSectionedSolidHorizontal_type = 0; entity* IFC4X2_IfcSectionedSpine_type = 0; entity* IFC4X2_IfcSensor_type = 0; entity* IFC4X2_IfcSensorType_type = 0; entity* IFC4X2_IfcShadingDevice_type = 0; entity* IFC4X2_IfcShadingDeviceType_type = 0; entity* IFC4X2_IfcShapeAspect_type = 0; entity* IFC4X2_IfcShapeModel_type = 0; entity* IFC4X2_IfcShapeRepresentation_type = 0; entity* IFC4X2_IfcShellBasedSurfaceModel_type = 0; entity* IFC4X2_IfcSimpleProperty_type = 0; entity* IFC4X2_IfcSimplePropertyTemplate_type = 0; entity* IFC4X2_IfcSite_type = 0; entity* IFC4X2_IfcSlab_type = 0; entity* IFC4X2_IfcSlabElementedCase_type = 0; entity* IFC4X2_IfcSlabStandardCase_type = 0; entity* IFC4X2_IfcSlabType_type = 0; entity* IFC4X2_IfcSlippageConnectionCondition_type = 0; entity* IFC4X2_IfcSolarDevice_type = 0; entity* IFC4X2_IfcSolarDeviceType_type = 0; entity* IFC4X2_IfcSolidModel_type = 0; entity* IFC4X2_IfcSpace_type = 0; entity* IFC4X2_IfcSpaceHeater_type = 0; entity* IFC4X2_IfcSpaceHeaterType_type = 0; entity* IFC4X2_IfcSpaceType_type = 0; entity* IFC4X2_IfcSpatialElement_type = 0; entity* IFC4X2_IfcSpatialElementType_type = 0; entity* IFC4X2_IfcSpatialStructureElement_type = 0; entity* IFC4X2_IfcSpatialStructureElementType_type = 0; entity* IFC4X2_IfcSpatialZone_type = 0; entity* IFC4X2_IfcSpatialZoneType_type = 0; entity* IFC4X2_IfcSphere_type = 0; entity* IFC4X2_IfcSphericalSurface_type = 0; entity* IFC4X2_IfcStackTerminal_type = 0; entity* IFC4X2_IfcStackTerminalType_type = 0; entity* IFC4X2_IfcStair_type = 0; entity* IFC4X2_IfcStairFlight_type = 0; entity* IFC4X2_IfcStairFlightType_type = 0; entity* IFC4X2_IfcStairType_type = 0; entity* IFC4X2_IfcStructuralAction_type = 0; entity* IFC4X2_IfcStructuralActivity_type = 0; entity* IFC4X2_IfcStructuralAnalysisModel_type = 0; entity* IFC4X2_IfcStructuralConnection_type = 0; entity* IFC4X2_IfcStructuralConnectionCondition_type = 0; entity* IFC4X2_IfcStructuralCurveAction_type = 0; entity* IFC4X2_IfcStructuralCurveConnection_type = 0; entity* IFC4X2_IfcStructuralCurveMember_type = 0; entity* IFC4X2_IfcStructuralCurveMemberVarying_type = 0; entity* IFC4X2_IfcStructuralCurveReaction_type = 0; entity* IFC4X2_IfcStructuralItem_type = 0; entity* IFC4X2_IfcStructuralLinearAction_type = 0; entity* IFC4X2_IfcStructuralLoad_type = 0; entity* IFC4X2_IfcStructuralLoadCase_type = 0; entity* IFC4X2_IfcStructuralLoadConfiguration_type = 0; entity* IFC4X2_IfcStructuralLoadGroup_type = 0; entity* IFC4X2_IfcStructuralLoadLinearForce_type = 0; entity* IFC4X2_IfcStructuralLoadOrResult_type = 0; entity* IFC4X2_IfcStructuralLoadPlanarForce_type = 0; entity* IFC4X2_IfcStructuralLoadSingleDisplacement_type = 0; entity* IFC4X2_IfcStructuralLoadSingleDisplacementDistortion_type = 0; entity* IFC4X2_IfcStructuralLoadSingleForce_type = 0; entity* IFC4X2_IfcStructuralLoadSingleForceWarping_type = 0; entity* IFC4X2_IfcStructuralLoadStatic_type = 0; entity* IFC4X2_IfcStructuralLoadTemperature_type = 0; entity* IFC4X2_IfcStructuralMember_type = 0; entity* IFC4X2_IfcStructuralPlanarAction_type = 0; entity* IFC4X2_IfcStructuralPointAction_type = 0; entity* IFC4X2_IfcStructuralPointConnection_type = 0; entity* IFC4X2_IfcStructuralPointReaction_type = 0; entity* IFC4X2_IfcStructuralReaction_type = 0; entity* IFC4X2_IfcStructuralResultGroup_type = 0; entity* IFC4X2_IfcStructuralSurfaceAction_type = 0; entity* IFC4X2_IfcStructuralSurfaceConnection_type = 0; entity* IFC4X2_IfcStructuralSurfaceMember_type = 0; entity* IFC4X2_IfcStructuralSurfaceMemberVarying_type = 0; entity* IFC4X2_IfcStructuralSurfaceReaction_type = 0; entity* IFC4X2_IfcStyleModel_type = 0; entity* IFC4X2_IfcStyledItem_type = 0; entity* IFC4X2_IfcStyledRepresentation_type = 0; entity* IFC4X2_IfcSubContractResource_type = 0; entity* IFC4X2_IfcSubContractResourceType_type = 0; entity* IFC4X2_IfcSubedge_type = 0; entity* IFC4X2_IfcSurface_type = 0; entity* IFC4X2_IfcSurfaceCurve_type = 0; entity* IFC4X2_IfcSurfaceCurveSweptAreaSolid_type = 0; entity* IFC4X2_IfcSurfaceFeature_type = 0; entity* IFC4X2_IfcSurfaceOfLinearExtrusion_type = 0; entity* IFC4X2_IfcSurfaceOfRevolution_type = 0; entity* IFC4X2_IfcSurfaceReinforcementArea_type = 0; entity* IFC4X2_IfcSurfaceStyle_type = 0; entity* IFC4X2_IfcSurfaceStyleLighting_type = 0; entity* IFC4X2_IfcSurfaceStyleRefraction_type = 0; entity* IFC4X2_IfcSurfaceStyleRendering_type = 0; entity* IFC4X2_IfcSurfaceStyleShading_type = 0; entity* IFC4X2_IfcSurfaceStyleWithTextures_type = 0; entity* IFC4X2_IfcSurfaceTexture_type = 0; entity* IFC4X2_IfcSweptAreaSolid_type = 0; entity* IFC4X2_IfcSweptDiskSolid_type = 0; entity* IFC4X2_IfcSweptDiskSolidPolygonal_type = 0; entity* IFC4X2_IfcSweptSurface_type = 0; entity* IFC4X2_IfcSwitchingDevice_type = 0; entity* IFC4X2_IfcSwitchingDeviceType_type = 0; entity* IFC4X2_IfcSystem_type = 0; entity* IFC4X2_IfcSystemFurnitureElement_type = 0; entity* IFC4X2_IfcSystemFurnitureElementType_type = 0; entity* IFC4X2_IfcTShapeProfileDef_type = 0; entity* IFC4X2_IfcTable_type = 0; entity* IFC4X2_IfcTableColumn_type = 0; entity* IFC4X2_IfcTableRow_type = 0; entity* IFC4X2_IfcTank_type = 0; entity* IFC4X2_IfcTankType_type = 0; entity* IFC4X2_IfcTask_type = 0; entity* IFC4X2_IfcTaskTime_type = 0; entity* IFC4X2_IfcTaskTimeRecurring_type = 0; entity* IFC4X2_IfcTaskType_type = 0; entity* IFC4X2_IfcTelecomAddress_type = 0; entity* IFC4X2_IfcTendon_type = 0; entity* IFC4X2_IfcTendonAnchor_type = 0; entity* IFC4X2_IfcTendonAnchorType_type = 0; entity* IFC4X2_IfcTendonConduit_type = 0; entity* IFC4X2_IfcTendonConduitType_type = 0; entity* IFC4X2_IfcTendonType_type = 0; entity* IFC4X2_IfcTessellatedFaceSet_type = 0; entity* IFC4X2_IfcTessellatedItem_type = 0; entity* IFC4X2_IfcTextLiteral_type = 0; entity* IFC4X2_IfcTextLiteralWithExtent_type = 0; entity* IFC4X2_IfcTextStyle_type = 0; entity* IFC4X2_IfcTextStyleFontModel_type = 0; entity* IFC4X2_IfcTextStyleForDefinedFont_type = 0; entity* IFC4X2_IfcTextStyleTextModel_type = 0; entity* IFC4X2_IfcTextureCoordinate_type = 0; entity* IFC4X2_IfcTextureCoordinateGenerator_type = 0; entity* IFC4X2_IfcTextureMap_type = 0; entity* IFC4X2_IfcTextureVertex_type = 0; entity* IFC4X2_IfcTextureVertexList_type = 0; entity* IFC4X2_IfcTimePeriod_type = 0; entity* IFC4X2_IfcTimeSeries_type = 0; entity* IFC4X2_IfcTimeSeriesValue_type = 0; entity* IFC4X2_IfcTopologicalRepresentationItem_type = 0; entity* IFC4X2_IfcTopologyRepresentation_type = 0; entity* IFC4X2_IfcToroidalSurface_type = 0; entity* IFC4X2_IfcTransformer_type = 0; entity* IFC4X2_IfcTransformerType_type = 0; entity* IFC4X2_IfcTransitionCurveSegment2D_type = 0; entity* IFC4X2_IfcTransportElement_type = 0; entity* IFC4X2_IfcTransportElementType_type = 0; entity* IFC4X2_IfcTrapeziumProfileDef_type = 0; entity* IFC4X2_IfcTriangulatedFaceSet_type = 0; entity* IFC4X2_IfcTriangulatedIrregularNetwork_type = 0; entity* IFC4X2_IfcTrimmedCurve_type = 0; entity* IFC4X2_IfcTubeBundle_type = 0; entity* IFC4X2_IfcTubeBundleType_type = 0; entity* IFC4X2_IfcTypeObject_type = 0; entity* IFC4X2_IfcTypeProcess_type = 0; entity* IFC4X2_IfcTypeProduct_type = 0; entity* IFC4X2_IfcTypeResource_type = 0; entity* IFC4X2_IfcUShapeProfileDef_type = 0; entity* IFC4X2_IfcUnitAssignment_type = 0; entity* IFC4X2_IfcUnitaryControlElement_type = 0; entity* IFC4X2_IfcUnitaryControlElementType_type = 0; entity* IFC4X2_IfcUnitaryEquipment_type = 0; entity* IFC4X2_IfcUnitaryEquipmentType_type = 0; entity* IFC4X2_IfcValve_type = 0; entity* IFC4X2_IfcValveType_type = 0; entity* IFC4X2_IfcVector_type = 0; entity* IFC4X2_IfcVertex_type = 0; entity* IFC4X2_IfcVertexLoop_type = 0; entity* IFC4X2_IfcVertexPoint_type = 0; entity* IFC4X2_IfcVibrationDamper_type = 0; entity* IFC4X2_IfcVibrationDamperType_type = 0; entity* IFC4X2_IfcVibrationIsolator_type = 0; entity* IFC4X2_IfcVibrationIsolatorType_type = 0; entity* IFC4X2_IfcVirtualElement_type = 0; entity* IFC4X2_IfcVirtualGridIntersection_type = 0; entity* IFC4X2_IfcVoidingFeature_type = 0; entity* IFC4X2_IfcWall_type = 0; entity* IFC4X2_IfcWallElementedCase_type = 0; entity* IFC4X2_IfcWallStandardCase_type = 0; entity* IFC4X2_IfcWallType_type = 0; entity* IFC4X2_IfcWasteTerminal_type = 0; entity* IFC4X2_IfcWasteTerminalType_type = 0; entity* IFC4X2_IfcWindow_type = 0; entity* IFC4X2_IfcWindowLiningProperties_type = 0; entity* IFC4X2_IfcWindowPanelProperties_type = 0; entity* IFC4X2_IfcWindowStandardCase_type = 0; entity* IFC4X2_IfcWindowStyle_type = 0; entity* IFC4X2_IfcWindowType_type = 0; entity* IFC4X2_IfcWorkCalendar_type = 0; entity* IFC4X2_IfcWorkControl_type = 0; entity* IFC4X2_IfcWorkPlan_type = 0; entity* IFC4X2_IfcWorkSchedule_type = 0; entity* IFC4X2_IfcWorkTime_type = 0; entity* IFC4X2_IfcZShapeProfileDef_type = 0; entity* IFC4X2_IfcZone_type = 0; type_declaration* IFC4X2_IfcAbsorbedDoseMeasure_type = 0; type_declaration* IFC4X2_IfcAccelerationMeasure_type = 0; type_declaration* IFC4X2_IfcAmountOfSubstanceMeasure_type = 0; type_declaration* IFC4X2_IfcAngularVelocityMeasure_type = 0; type_declaration* IFC4X2_IfcArcIndex_type = 0; type_declaration* IFC4X2_IfcAreaDensityMeasure_type = 0; type_declaration* IFC4X2_IfcAreaMeasure_type = 0; type_declaration* IFC4X2_IfcBinary_type = 0; type_declaration* IFC4X2_IfcBoolean_type = 0; type_declaration* IFC4X2_IfcBoxAlignment_type = 0; type_declaration* IFC4X2_IfcCardinalPointReference_type = 0; type_declaration* IFC4X2_IfcComplexNumber_type = 0; type_declaration* IFC4X2_IfcCompoundPlaneAngleMeasure_type = 0; type_declaration* IFC4X2_IfcContextDependentMeasure_type = 0; type_declaration* IFC4X2_IfcCountMeasure_type = 0; type_declaration* IFC4X2_IfcCurvatureMeasure_type = 0; type_declaration* IFC4X2_IfcDate_type = 0; type_declaration* IFC4X2_IfcDateTime_type = 0; type_declaration* IFC4X2_IfcDayInMonthNumber_type = 0; type_declaration* IFC4X2_IfcDayInWeekNumber_type = 0; type_declaration* IFC4X2_IfcDescriptiveMeasure_type = 0; type_declaration* IFC4X2_IfcDimensionCount_type = 0; type_declaration* IFC4X2_IfcDoseEquivalentMeasure_type = 0; type_declaration* IFC4X2_IfcDuration_type = 0; type_declaration* IFC4X2_IfcDynamicViscosityMeasure_type = 0; type_declaration* IFC4X2_IfcElectricCapacitanceMeasure_type = 0; type_declaration* IFC4X2_IfcElectricChargeMeasure_type = 0; type_declaration* IFC4X2_IfcElectricConductanceMeasure_type = 0; type_declaration* IFC4X2_IfcElectricCurrentMeasure_type = 0; type_declaration* IFC4X2_IfcElectricResistanceMeasure_type = 0; type_declaration* IFC4X2_IfcElectricVoltageMeasure_type = 0; type_declaration* IFC4X2_IfcEnergyMeasure_type = 0; type_declaration* IFC4X2_IfcFontStyle_type = 0; type_declaration* IFC4X2_IfcFontVariant_type = 0; type_declaration* IFC4X2_IfcFontWeight_type = 0; type_declaration* IFC4X2_IfcForceMeasure_type = 0; type_declaration* IFC4X2_IfcFrequencyMeasure_type = 0; type_declaration* IFC4X2_IfcGloballyUniqueId_type = 0; type_declaration* IFC4X2_IfcHeatFluxDensityMeasure_type = 0; type_declaration* IFC4X2_IfcHeatingValueMeasure_type = 0; type_declaration* IFC4X2_IfcIdentifier_type = 0; type_declaration* IFC4X2_IfcIlluminanceMeasure_type = 0; type_declaration* IFC4X2_IfcInductanceMeasure_type = 0; type_declaration* IFC4X2_IfcInteger_type = 0; type_declaration* IFC4X2_IfcIntegerCountRateMeasure_type = 0; type_declaration* IFC4X2_IfcIonConcentrationMeasure_type = 0; type_declaration* IFC4X2_IfcIsothermalMoistureCapacityMeasure_type = 0; type_declaration* IFC4X2_IfcKinematicViscosityMeasure_type = 0; type_declaration* IFC4X2_IfcLabel_type = 0; type_declaration* IFC4X2_IfcLanguageId_type = 0; type_declaration* IFC4X2_IfcLengthMeasure_type = 0; type_declaration* IFC4X2_IfcLineIndex_type = 0; type_declaration* IFC4X2_IfcLinearForceMeasure_type = 0; type_declaration* IFC4X2_IfcLinearMomentMeasure_type = 0; type_declaration* IFC4X2_IfcLinearStiffnessMeasure_type = 0; type_declaration* IFC4X2_IfcLinearVelocityMeasure_type = 0; type_declaration* IFC4X2_IfcLogical_type = 0; type_declaration* IFC4X2_IfcLuminousFluxMeasure_type = 0; type_declaration* IFC4X2_IfcLuminousIntensityDistributionMeasure_type = 0; type_declaration* IFC4X2_IfcLuminousIntensityMeasure_type = 0; type_declaration* IFC4X2_IfcMagneticFluxDensityMeasure_type = 0; type_declaration* IFC4X2_IfcMagneticFluxMeasure_type = 0; type_declaration* IFC4X2_IfcMassDensityMeasure_type = 0; type_declaration* IFC4X2_IfcMassFlowRateMeasure_type = 0; type_declaration* IFC4X2_IfcMassMeasure_type = 0; type_declaration* IFC4X2_IfcMassPerLengthMeasure_type = 0; type_declaration* IFC4X2_IfcModulusOfElasticityMeasure_type = 0; type_declaration* IFC4X2_IfcModulusOfLinearSubgradeReactionMeasure_type = 0; type_declaration* IFC4X2_IfcModulusOfRotationalSubgradeReactionMeasure_type = 0; type_declaration* IFC4X2_IfcModulusOfSubgradeReactionMeasure_type = 0; type_declaration* IFC4X2_IfcMoistureDiffusivityMeasure_type = 0; type_declaration* IFC4X2_IfcMolecularWeightMeasure_type = 0; type_declaration* IFC4X2_IfcMomentOfInertiaMeasure_type = 0; type_declaration* IFC4X2_IfcMonetaryMeasure_type = 0; type_declaration* IFC4X2_IfcMonthInYearNumber_type = 0; type_declaration* IFC4X2_IfcNonNegativeLengthMeasure_type = 0; type_declaration* IFC4X2_IfcNormalisedRatioMeasure_type = 0; type_declaration* IFC4X2_IfcNumericMeasure_type = 0; type_declaration* IFC4X2_IfcPHMeasure_type = 0; type_declaration* IFC4X2_IfcParameterValue_type = 0; type_declaration* IFC4X2_IfcPlanarForceMeasure_type = 0; type_declaration* IFC4X2_IfcPlaneAngleMeasure_type = 0; type_declaration* IFC4X2_IfcPositiveInteger_type = 0; type_declaration* IFC4X2_IfcPositiveLengthMeasure_type = 0; type_declaration* IFC4X2_IfcPositivePlaneAngleMeasure_type = 0; type_declaration* IFC4X2_IfcPositiveRatioMeasure_type = 0; type_declaration* IFC4X2_IfcPowerMeasure_type = 0; type_declaration* IFC4X2_IfcPresentableText_type = 0; type_declaration* IFC4X2_IfcPressureMeasure_type = 0; type_declaration* IFC4X2_IfcPropertySetDefinitionSet_type = 0; type_declaration* IFC4X2_IfcRadioActivityMeasure_type = 0; type_declaration* IFC4X2_IfcRatioMeasure_type = 0; type_declaration* IFC4X2_IfcReal_type = 0; type_declaration* IFC4X2_IfcRotationalFrequencyMeasure_type = 0; type_declaration* IFC4X2_IfcRotationalMassMeasure_type = 0; type_declaration* IFC4X2_IfcRotationalStiffnessMeasure_type = 0; type_declaration* IFC4X2_IfcSectionModulusMeasure_type = 0; type_declaration* IFC4X2_IfcSectionalAreaIntegralMeasure_type = 0; type_declaration* IFC4X2_IfcShearModulusMeasure_type = 0; type_declaration* IFC4X2_IfcSolidAngleMeasure_type = 0; type_declaration* IFC4X2_IfcSoundPowerLevelMeasure_type = 0; type_declaration* IFC4X2_IfcSoundPowerMeasure_type = 0; type_declaration* IFC4X2_IfcSoundPressureLevelMeasure_type = 0; type_declaration* IFC4X2_IfcSoundPressureMeasure_type = 0; type_declaration* IFC4X2_IfcSpecificHeatCapacityMeasure_type = 0; type_declaration* IFC4X2_IfcSpecularExponent_type = 0; type_declaration* IFC4X2_IfcSpecularRoughness_type = 0; type_declaration* IFC4X2_IfcTemperatureGradientMeasure_type = 0; type_declaration* IFC4X2_IfcTemperatureRateOfChangeMeasure_type = 0; type_declaration* IFC4X2_IfcText_type = 0; type_declaration* IFC4X2_IfcTextAlignment_type = 0; type_declaration* IFC4X2_IfcTextDecoration_type = 0; type_declaration* IFC4X2_IfcTextFontName_type = 0; type_declaration* IFC4X2_IfcTextTransformation_type = 0; type_declaration* IFC4X2_IfcThermalAdmittanceMeasure_type = 0; type_declaration* IFC4X2_IfcThermalConductivityMeasure_type = 0; type_declaration* IFC4X2_IfcThermalExpansionCoefficientMeasure_type = 0; type_declaration* IFC4X2_IfcThermalResistanceMeasure_type = 0; type_declaration* IFC4X2_IfcThermalTransmittanceMeasure_type = 0; type_declaration* IFC4X2_IfcThermodynamicTemperatureMeasure_type = 0; type_declaration* IFC4X2_IfcTime_type = 0; type_declaration* IFC4X2_IfcTimeMeasure_type = 0; type_declaration* IFC4X2_IfcTimeStamp_type = 0; type_declaration* IFC4X2_IfcTorqueMeasure_type = 0; type_declaration* IFC4X2_IfcURIReference_type = 0; type_declaration* IFC4X2_IfcVaporPermeabilityMeasure_type = 0; type_declaration* IFC4X2_IfcVolumeMeasure_type = 0; type_declaration* IFC4X2_IfcVolumetricFlowRateMeasure_type = 0; type_declaration* IFC4X2_IfcWarpingConstantMeasure_type = 0; type_declaration* IFC4X2_IfcWarpingMomentMeasure_type = 0; select_type* IFC4X2_IfcActorSelect_type = 0; select_type* IFC4X2_IfcAppliedValueSelect_type = 0; select_type* IFC4X2_IfcAxis2Placement_type = 0; select_type* IFC4X2_IfcBendingParameterSelect_type = 0; select_type* IFC4X2_IfcBooleanOperand_type = 0; select_type* IFC4X2_IfcClassificationReferenceSelect_type = 0; select_type* IFC4X2_IfcClassificationSelect_type = 0; select_type* IFC4X2_IfcColour_type = 0; select_type* IFC4X2_IfcColourOrFactor_type = 0; select_type* IFC4X2_IfcCoordinateReferenceSystemSelect_type = 0; select_type* IFC4X2_IfcCsgSelect_type = 0; select_type* IFC4X2_IfcCurveFontOrScaledCurveFontSelect_type = 0; select_type* IFC4X2_IfcCurveOnSurface_type = 0; select_type* IFC4X2_IfcCurveOrEdgeCurve_type = 0; select_type* IFC4X2_IfcCurveStyleFontSelect_type = 0; select_type* IFC4X2_IfcDefinitionSelect_type = 0; select_type* IFC4X2_IfcDerivedMeasureValue_type = 0; select_type* IFC4X2_IfcDocumentSelect_type = 0; select_type* IFC4X2_IfcFillStyleSelect_type = 0; select_type* IFC4X2_IfcGeometricSetSelect_type = 0; select_type* IFC4X2_IfcGridPlacementDirectionSelect_type = 0; select_type* IFC4X2_IfcHatchLineDistanceSelect_type = 0; select_type* IFC4X2_IfcLayeredItem_type = 0; select_type* IFC4X2_IfcLibrarySelect_type = 0; select_type* IFC4X2_IfcLightDistributionDataSourceSelect_type = 0; select_type* IFC4X2_IfcMaterialSelect_type = 0; select_type* IFC4X2_IfcMeasureValue_type = 0; select_type* IFC4X2_IfcMetricValueSelect_type = 0; select_type* IFC4X2_IfcModulusOfRotationalSubgradeReactionSelect_type = 0; select_type* IFC4X2_IfcModulusOfSubgradeReactionSelect_type = 0; select_type* IFC4X2_IfcModulusOfTranslationalSubgradeReactionSelect_type = 0; select_type* IFC4X2_IfcObjectReferenceSelect_type = 0; select_type* IFC4X2_IfcPointOrVertexPoint_type = 0; select_type* IFC4X2_IfcPresentationStyleSelect_type = 0; select_type* IFC4X2_IfcProcessSelect_type = 0; select_type* IFC4X2_IfcProductRepresentationSelect_type = 0; select_type* IFC4X2_IfcProductSelect_type = 0; select_type* IFC4X2_IfcPropertySetDefinitionSelect_type = 0; select_type* IFC4X2_IfcResourceObjectSelect_type = 0; select_type* IFC4X2_IfcResourceSelect_type = 0; select_type* IFC4X2_IfcRotationalStiffnessSelect_type = 0; select_type* IFC4X2_IfcSegmentIndexSelect_type = 0; select_type* IFC4X2_IfcShell_type = 0; select_type* IFC4X2_IfcSimpleValue_type = 0; select_type* IFC4X2_IfcSizeSelect_type = 0; select_type* IFC4X2_IfcSolidOrShell_type = 0; select_type* IFC4X2_IfcSpaceBoundarySelect_type = 0; select_type* IFC4X2_IfcSpecularHighlightSelect_type = 0; select_type* IFC4X2_IfcStructuralActivityAssignmentSelect_type = 0; select_type* IFC4X2_IfcStyleAssignmentSelect_type = 0; select_type* IFC4X2_IfcSurfaceOrFaceSurface_type = 0; select_type* IFC4X2_IfcSurfaceStyleElementSelect_type = 0; select_type* IFC4X2_IfcTextFontSelect_type = 0; select_type* IFC4X2_IfcTimeOrRatioSelect_type = 0; select_type* IFC4X2_IfcTranslationalStiffnessSelect_type = 0; select_type* IFC4X2_IfcTrimmingSelect_type = 0; select_type* IFC4X2_IfcUnit_type = 0; select_type* IFC4X2_IfcValue_type = 0; select_type* IFC4X2_IfcVectorOrDirection_type = 0; select_type* IFC4X2_IfcWarpingStiffnessSelect_type = 0; enumeration_type* IFC4X2_IfcActionRequestTypeEnum_type = 0; enumeration_type* IFC4X2_IfcActionSourceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcActionTypeEnum_type = 0; enumeration_type* IFC4X2_IfcActuatorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcAddressTypeEnum_type = 0; enumeration_type* IFC4X2_IfcAirTerminalBoxTypeEnum_type = 0; enumeration_type* IFC4X2_IfcAirTerminalTypeEnum_type = 0; enumeration_type* IFC4X2_IfcAirToAirHeatRecoveryTypeEnum_type = 0; enumeration_type* IFC4X2_IfcAlarmTypeEnum_type = 0; enumeration_type* IFC4X2_IfcAlignmentTypeEnum_type = 0; enumeration_type* IFC4X2_IfcAnalysisModelTypeEnum_type = 0; enumeration_type* IFC4X2_IfcAnalysisTheoryTypeEnum_type = 0; enumeration_type* IFC4X2_IfcArithmeticOperatorEnum_type = 0; enumeration_type* IFC4X2_IfcAssemblyPlaceEnum_type = 0; enumeration_type* IFC4X2_IfcAudioVisualApplianceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBSplineCurveForm_type = 0; enumeration_type* IFC4X2_IfcBSplineSurfaceForm_type = 0; enumeration_type* IFC4X2_IfcBeamTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBearingTypeDisplacementEnum_type = 0; enumeration_type* IFC4X2_IfcBearingTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBenchmarkEnum_type = 0; enumeration_type* IFC4X2_IfcBoilerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBooleanOperator_type = 0; enumeration_type* IFC4X2_IfcBridgePartTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBridgeTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBuildingElementPartTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBuildingElementProxyTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBuildingSystemTypeEnum_type = 0; enumeration_type* IFC4X2_IfcBurnerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCableCarrierFittingTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCableCarrierSegmentTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCableFittingTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCableSegmentTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCaissonFoundationTypeEnum_type = 0; enumeration_type* IFC4X2_IfcChangeActionEnum_type = 0; enumeration_type* IFC4X2_IfcChillerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcChimneyTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCoilTypeEnum_type = 0; enumeration_type* IFC4X2_IfcColumnTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCommunicationsApplianceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcComplexPropertyTemplateTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCompressorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCondenserTypeEnum_type = 0; enumeration_type* IFC4X2_IfcConnectionTypeEnum_type = 0; enumeration_type* IFC4X2_IfcConstraintEnum_type = 0; enumeration_type* IFC4X2_IfcConstructionEquipmentResourceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcConstructionMaterialResourceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcConstructionProductResourceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcControllerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCooledBeamTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCoolingTowerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCostItemTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCostScheduleTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCoveringTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCrewResourceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCurtainWallTypeEnum_type = 0; enumeration_type* IFC4X2_IfcCurveInterpolationEnum_type = 0; enumeration_type* IFC4X2_IfcDamperTypeEnum_type = 0; enumeration_type* IFC4X2_IfcDataOriginEnum_type = 0; enumeration_type* IFC4X2_IfcDerivedUnitEnum_type = 0; enumeration_type* IFC4X2_IfcDirectionSenseEnum_type = 0; enumeration_type* IFC4X2_IfcDiscreteAccessoryTypeEnum_type = 0; enumeration_type* IFC4X2_IfcDistributionChamberElementTypeEnum_type = 0; enumeration_type* IFC4X2_IfcDistributionPortTypeEnum_type = 0; enumeration_type* IFC4X2_IfcDistributionSystemEnum_type = 0; enumeration_type* IFC4X2_IfcDocumentConfidentialityEnum_type = 0; enumeration_type* IFC4X2_IfcDocumentStatusEnum_type = 0; enumeration_type* IFC4X2_IfcDoorPanelOperationEnum_type = 0; enumeration_type* IFC4X2_IfcDoorPanelPositionEnum_type = 0; enumeration_type* IFC4X2_IfcDoorStyleConstructionEnum_type = 0; enumeration_type* IFC4X2_IfcDoorStyleOperationEnum_type = 0; enumeration_type* IFC4X2_IfcDoorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcDoorTypeOperationEnum_type = 0; enumeration_type* IFC4X2_IfcDuctFittingTypeEnum_type = 0; enumeration_type* IFC4X2_IfcDuctSegmentTypeEnum_type = 0; enumeration_type* IFC4X2_IfcDuctSilencerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcElectricApplianceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcElectricDistributionBoardTypeEnum_type = 0; enumeration_type* IFC4X2_IfcElectricFlowStorageDeviceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcElectricGeneratorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcElectricMotorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcElectricTimeControlTypeEnum_type = 0; enumeration_type* IFC4X2_IfcElementAssemblyTypeEnum_type = 0; enumeration_type* IFC4X2_IfcElementCompositionEnum_type = 0; enumeration_type* IFC4X2_IfcEngineTypeEnum_type = 0; enumeration_type* IFC4X2_IfcEvaporativeCoolerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcEvaporatorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcEventTriggerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcEventTypeEnum_type = 0; enumeration_type* IFC4X2_IfcExternalSpatialElementTypeEnum_type = 0; enumeration_type* IFC4X2_IfcFanTypeEnum_type = 0; enumeration_type* IFC4X2_IfcFastenerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcFilterTypeEnum_type = 0; enumeration_type* IFC4X2_IfcFireSuppressionTerminalTypeEnum_type = 0; enumeration_type* IFC4X2_IfcFlowDirectionEnum_type = 0; enumeration_type* IFC4X2_IfcFlowInstrumentTypeEnum_type = 0; enumeration_type* IFC4X2_IfcFlowMeterTypeEnum_type = 0; enumeration_type* IFC4X2_IfcFootingTypeEnum_type = 0; enumeration_type* IFC4X2_IfcFurnitureTypeEnum_type = 0; enumeration_type* IFC4X2_IfcGeographicElementTypeEnum_type = 0; enumeration_type* IFC4X2_IfcGeometricProjectionEnum_type = 0; enumeration_type* IFC4X2_IfcGlobalOrLocalEnum_type = 0; enumeration_type* IFC4X2_IfcGridTypeEnum_type = 0; enumeration_type* IFC4X2_IfcHeatExchangerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcHumidifierTypeEnum_type = 0; enumeration_type* IFC4X2_IfcInterceptorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcInternalOrExternalEnum_type = 0; enumeration_type* IFC4X2_IfcInventoryTypeEnum_type = 0; enumeration_type* IFC4X2_IfcJunctionBoxTypeEnum_type = 0; enumeration_type* IFC4X2_IfcKnotType_type = 0; enumeration_type* IFC4X2_IfcLaborResourceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcLampTypeEnum_type = 0; enumeration_type* IFC4X2_IfcLayerSetDirectionEnum_type = 0; enumeration_type* IFC4X2_IfcLightDistributionCurveEnum_type = 0; enumeration_type* IFC4X2_IfcLightEmissionSourceEnum_type = 0; enumeration_type* IFC4X2_IfcLightFixtureTypeEnum_type = 0; enumeration_type* IFC4X2_IfcLoadGroupTypeEnum_type = 0; enumeration_type* IFC4X2_IfcLogicalOperatorEnum_type = 0; enumeration_type* IFC4X2_IfcMechanicalFastenerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcMedicalDeviceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcMemberTypeEnum_type = 0; enumeration_type* IFC4X2_IfcMotorConnectionTypeEnum_type = 0; enumeration_type* IFC4X2_IfcNullStyle_type = 0; enumeration_type* IFC4X2_IfcObjectTypeEnum_type = 0; enumeration_type* IFC4X2_IfcObjectiveEnum_type = 0; enumeration_type* IFC4X2_IfcOccupantTypeEnum_type = 0; enumeration_type* IFC4X2_IfcOpeningElementTypeEnum_type = 0; enumeration_type* IFC4X2_IfcOutletTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPerformanceHistoryTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPermeableCoveringOperationEnum_type = 0; enumeration_type* IFC4X2_IfcPermitTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPhysicalOrVirtualEnum_type = 0; enumeration_type* IFC4X2_IfcPileConstructionEnum_type = 0; enumeration_type* IFC4X2_IfcPileTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPipeFittingTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPipeSegmentTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPlateTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPreferredSurfaceCurveRepresentation_type = 0; enumeration_type* IFC4X2_IfcProcedureTypeEnum_type = 0; enumeration_type* IFC4X2_IfcProfileTypeEnum_type = 0; enumeration_type* IFC4X2_IfcProjectOrderTypeEnum_type = 0; enumeration_type* IFC4X2_IfcProjectedOrTrueLengthEnum_type = 0; enumeration_type* IFC4X2_IfcProjectionElementTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPropertySetTemplateTypeEnum_type = 0; enumeration_type* IFC4X2_IfcProtectiveDeviceTrippingUnitTypeEnum_type = 0; enumeration_type* IFC4X2_IfcProtectiveDeviceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcPumpTypeEnum_type = 0; enumeration_type* IFC4X2_IfcRailingTypeEnum_type = 0; enumeration_type* IFC4X2_IfcRampFlightTypeEnum_type = 0; enumeration_type* IFC4X2_IfcRampTypeEnum_type = 0; enumeration_type* IFC4X2_IfcRecurrenceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcReferentTypeEnum_type = 0; enumeration_type* IFC4X2_IfcReflectanceMethodEnum_type = 0; enumeration_type* IFC4X2_IfcReinforcingBarRoleEnum_type = 0; enumeration_type* IFC4X2_IfcReinforcingBarSurfaceEnum_type = 0; enumeration_type* IFC4X2_IfcReinforcingBarTypeEnum_type = 0; enumeration_type* IFC4X2_IfcReinforcingMeshTypeEnum_type = 0; enumeration_type* IFC4X2_IfcRoleEnum_type = 0; enumeration_type* IFC4X2_IfcRoofTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSIPrefix_type = 0; enumeration_type* IFC4X2_IfcSIUnitName_type = 0; enumeration_type* IFC4X2_IfcSanitaryTerminalTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSectionTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSensorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSequenceEnum_type = 0; enumeration_type* IFC4X2_IfcShadingDeviceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSimplePropertyTemplateTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSlabTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSolarDeviceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSpaceHeaterTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSpaceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSpatialZoneTypeEnum_type = 0; enumeration_type* IFC4X2_IfcStackTerminalTypeEnum_type = 0; enumeration_type* IFC4X2_IfcStairFlightTypeEnum_type = 0; enumeration_type* IFC4X2_IfcStairTypeEnum_type = 0; enumeration_type* IFC4X2_IfcStateEnum_type = 0; enumeration_type* IFC4X2_IfcStructuralCurveActivityTypeEnum_type = 0; enumeration_type* IFC4X2_IfcStructuralCurveMemberTypeEnum_type = 0; enumeration_type* IFC4X2_IfcStructuralSurfaceActivityTypeEnum_type = 0; enumeration_type* IFC4X2_IfcStructuralSurfaceMemberTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSubContractResourceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSurfaceFeatureTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSurfaceSide_type = 0; enumeration_type* IFC4X2_IfcSwitchingDeviceTypeEnum_type = 0; enumeration_type* IFC4X2_IfcSystemFurnitureElementTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTankTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTaskDurationEnum_type = 0; enumeration_type* IFC4X2_IfcTaskTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTendonAnchorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTendonConduitTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTendonTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTextPath_type = 0; enumeration_type* IFC4X2_IfcTimeSeriesDataTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTransformerTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTransitionCode_type = 0; enumeration_type* IFC4X2_IfcTransitionCurveType_type = 0; enumeration_type* IFC4X2_IfcTransportElementTypeEnum_type = 0; enumeration_type* IFC4X2_IfcTrimmingPreference_type = 0; enumeration_type* IFC4X2_IfcTubeBundleTypeEnum_type = 0; enumeration_type* IFC4X2_IfcUnitEnum_type = 0; enumeration_type* IFC4X2_IfcUnitaryControlElementTypeEnum_type = 0; enumeration_type* IFC4X2_IfcUnitaryEquipmentTypeEnum_type = 0; enumeration_type* IFC4X2_IfcValveTypeEnum_type = 0; enumeration_type* IFC4X2_IfcVibrationDamperTypeEnum_type = 0; enumeration_type* IFC4X2_IfcVibrationIsolatorTypeEnum_type = 0; enumeration_type* IFC4X2_IfcVoidingFeatureTypeEnum_type = 0; enumeration_type* IFC4X2_IfcWallTypeEnum_type = 0; enumeration_type* IFC4X2_IfcWasteTerminalTypeEnum_type = 0; enumeration_type* IFC4X2_IfcWindowPanelOperationEnum_type = 0; enumeration_type* IFC4X2_IfcWindowPanelPositionEnum_type = 0; enumeration_type* IFC4X2_IfcWindowStyleConstructionEnum_type = 0; enumeration_type* IFC4X2_IfcWindowStyleOperationEnum_type = 0; enumeration_type* IFC4X2_IfcWindowTypeEnum_type = 0; enumeration_type* IFC4X2_IfcWindowTypePartitioningEnum_type = 0; enumeration_type* IFC4X2_IfcWorkCalendarTypeEnum_type = 0; enumeration_type* IFC4X2_IfcWorkPlanTypeEnum_type = 0; enumeration_type* IFC4X2_IfcWorkScheduleTypeEnum_type = 0; class IFC4X2_instance_factory : public IfcParse::instance_factory { virtual IfcUtil::IfcBaseClass* operator()(IfcEntityInstanceData* data) const { switch(data->type()->index_in_schema()) { case 0: return new ::Ifc4x2::IfcAbsorbedDoseMeasure(data); case 1: return new ::Ifc4x2::IfcAccelerationMeasure(data); case 2: return new ::Ifc4x2::IfcActionRequest(data); case 3: return new ::Ifc4x2::IfcActionRequestTypeEnum(data); case 4: return new ::Ifc4x2::IfcActionSourceTypeEnum(data); case 5: return new ::Ifc4x2::IfcActionTypeEnum(data); case 6: return new ::Ifc4x2::IfcActor(data); case 7: return new ::Ifc4x2::IfcActorRole(data); case 9: return new ::Ifc4x2::IfcActuator(data); case 10: return new ::Ifc4x2::IfcActuatorType(data); case 11: return new ::Ifc4x2::IfcActuatorTypeEnum(data); case 12: return new ::Ifc4x2::IfcAddress(data); case 13: return new ::Ifc4x2::IfcAddressTypeEnum(data); case 14: return new ::Ifc4x2::IfcAdvancedBrep(data); case 15: return new ::Ifc4x2::IfcAdvancedBrepWithVoids(data); case 16: return new ::Ifc4x2::IfcAdvancedFace(data); case 17: return new ::Ifc4x2::IfcAirTerminal(data); case 18: return new ::Ifc4x2::IfcAirTerminalBox(data); case 19: return new ::Ifc4x2::IfcAirTerminalBoxType(data); case 20: return new ::Ifc4x2::IfcAirTerminalBoxTypeEnum(data); case 21: return new ::Ifc4x2::IfcAirTerminalType(data); case 22: return new ::Ifc4x2::IfcAirTerminalTypeEnum(data); case 23: return new ::Ifc4x2::IfcAirToAirHeatRecovery(data); case 24: return new ::Ifc4x2::IfcAirToAirHeatRecoveryType(data); case 25: return new ::Ifc4x2::IfcAirToAirHeatRecoveryTypeEnum(data); case 26: return new ::Ifc4x2::IfcAlarm(data); case 27: return new ::Ifc4x2::IfcAlarmType(data); case 28: return new ::Ifc4x2::IfcAlarmTypeEnum(data); case 29: return new ::Ifc4x2::IfcAlignment(data); case 30: return new ::Ifc4x2::IfcAlignment2DHorizontal(data); case 31: return new ::Ifc4x2::IfcAlignment2DHorizontalSegment(data); case 32: return new ::Ifc4x2::IfcAlignment2DSegment(data); case 33: return new ::Ifc4x2::IfcAlignment2DVerSegCircularArc(data); case 34: return new ::Ifc4x2::IfcAlignment2DVerSegLine(data); case 35: return new ::Ifc4x2::IfcAlignment2DVerSegParabolicArc(data); case 36: return new ::Ifc4x2::IfcAlignment2DVertical(data); case 37: return new ::Ifc4x2::IfcAlignment2DVerticalSegment(data); case 38: return new ::Ifc4x2::IfcAlignmentCurve(data); case 39: return new ::Ifc4x2::IfcAlignmentTypeEnum(data); case 40: return new ::Ifc4x2::IfcAmountOfSubstanceMeasure(data); case 41: return new ::Ifc4x2::IfcAnalysisModelTypeEnum(data); case 42: return new ::Ifc4x2::IfcAnalysisTheoryTypeEnum(data); case 43: return new ::Ifc4x2::IfcAngularVelocityMeasure(data); case 44: return new ::Ifc4x2::IfcAnnotation(data); case 45: return new ::Ifc4x2::IfcAnnotationFillArea(data); case 46: return new ::Ifc4x2::IfcApplication(data); case 47: return new ::Ifc4x2::IfcAppliedValue(data); case 49: return new ::Ifc4x2::IfcApproval(data); case 50: return new ::Ifc4x2::IfcApprovalRelationship(data); case 51: return new ::Ifc4x2::IfcArbitraryClosedProfileDef(data); case 52: return new ::Ifc4x2::IfcArbitraryOpenProfileDef(data); case 53: return new ::Ifc4x2::IfcArbitraryProfileDefWithVoids(data); case 54: return new ::Ifc4x2::IfcArcIndex(data); case 55: return new ::Ifc4x2::IfcAreaDensityMeasure(data); case 56: return new ::Ifc4x2::IfcAreaMeasure(data); case 57: return new ::Ifc4x2::IfcArithmeticOperatorEnum(data); case 58: return new ::Ifc4x2::IfcAssemblyPlaceEnum(data); case 59: return new ::Ifc4x2::IfcAsset(data); case 60: return new ::Ifc4x2::IfcAsymmetricIShapeProfileDef(data); case 61: return new ::Ifc4x2::IfcAudioVisualAppliance(data); case 62: return new ::Ifc4x2::IfcAudioVisualApplianceType(data); case 63: return new ::Ifc4x2::IfcAudioVisualApplianceTypeEnum(data); case 64: return new ::Ifc4x2::IfcAxis1Placement(data); case 66: return new ::Ifc4x2::IfcAxis2Placement2D(data); case 67: return new ::Ifc4x2::IfcAxis2Placement3D(data); case 68: return new ::Ifc4x2::IfcBeam(data); case 69: return new ::Ifc4x2::IfcBeamStandardCase(data); case 70: return new ::Ifc4x2::IfcBeamType(data); case 71: return new ::Ifc4x2::IfcBeamTypeEnum(data); case 72: return new ::Ifc4x2::IfcBearing(data); case 73: return new ::Ifc4x2::IfcBearingType(data); case 74: return new ::Ifc4x2::IfcBearingTypeDisplacementEnum(data); case 75: return new ::Ifc4x2::IfcBearingTypeEnum(data); case 76: return new ::Ifc4x2::IfcBenchmarkEnum(data); case 78: return new ::Ifc4x2::IfcBinary(data); case 79: return new ::Ifc4x2::IfcBlobTexture(data); case 80: return new ::Ifc4x2::IfcBlock(data); case 81: return new ::Ifc4x2::IfcBoiler(data); case 82: return new ::Ifc4x2::IfcBoilerType(data); case 83: return new ::Ifc4x2::IfcBoilerTypeEnum(data); case 84: return new ::Ifc4x2::IfcBoolean(data); case 85: return new ::Ifc4x2::IfcBooleanClippingResult(data); case 87: return new ::Ifc4x2::IfcBooleanOperator(data); case 88: return new ::Ifc4x2::IfcBooleanResult(data); case 89: return new ::Ifc4x2::IfcBoundaryCondition(data); case 90: return new ::Ifc4x2::IfcBoundaryCurve(data); case 91: return new ::Ifc4x2::IfcBoundaryEdgeCondition(data); case 92: return new ::Ifc4x2::IfcBoundaryFaceCondition(data); case 93: return new ::Ifc4x2::IfcBoundaryNodeCondition(data); case 94: return new ::Ifc4x2::IfcBoundaryNodeConditionWarping(data); case 95: return new ::Ifc4x2::IfcBoundedCurve(data); case 96: return new ::Ifc4x2::IfcBoundedSurface(data); case 97: return new ::Ifc4x2::IfcBoundingBox(data); case 98: return new ::Ifc4x2::IfcBoxAlignment(data); case 99: return new ::Ifc4x2::IfcBoxedHalfSpace(data); case 100: return new ::Ifc4x2::IfcBridge(data); case 101: return new ::Ifc4x2::IfcBridgePart(data); case 102: return new ::Ifc4x2::IfcBridgePartTypeEnum(data); case 103: return new ::Ifc4x2::IfcBridgeTypeEnum(data); case 104: return new ::Ifc4x2::IfcBSplineCurve(data); case 105: return new ::Ifc4x2::IfcBSplineCurveForm(data); case 106: return new ::Ifc4x2::IfcBSplineCurveWithKnots(data); case 107: return new ::Ifc4x2::IfcBSplineSurface(data); case 108: return new ::Ifc4x2::IfcBSplineSurfaceForm(data); case 109: return new ::Ifc4x2::IfcBSplineSurfaceWithKnots(data); case 110: return new ::Ifc4x2::IfcBuilding(data); case 111: return new ::Ifc4x2::IfcBuildingElement(data); case 112: return new ::Ifc4x2::IfcBuildingElementPart(data); case 113: return new ::Ifc4x2::IfcBuildingElementPartType(data); case 114: return new ::Ifc4x2::IfcBuildingElementPartTypeEnum(data); case 115: return new ::Ifc4x2::IfcBuildingElementProxy(data); case 116: return new ::Ifc4x2::IfcBuildingElementProxyType(data); case 117: return new ::Ifc4x2::IfcBuildingElementProxyTypeEnum(data); case 118: return new ::Ifc4x2::IfcBuildingElementType(data); case 119: return new ::Ifc4x2::IfcBuildingStorey(data); case 120: return new ::Ifc4x2::IfcBuildingSystem(data); case 121: return new ::Ifc4x2::IfcBuildingSystemTypeEnum(data); case 122: return new ::Ifc4x2::IfcBurner(data); case 123: return new ::Ifc4x2::IfcBurnerType(data); case 124: return new ::Ifc4x2::IfcBurnerTypeEnum(data); case 125: return new ::Ifc4x2::IfcCableCarrierFitting(data); case 126: return new ::Ifc4x2::IfcCableCarrierFittingType(data); case 127: return new ::Ifc4x2::IfcCableCarrierFittingTypeEnum(data); case 128: return new ::Ifc4x2::IfcCableCarrierSegment(data); case 129: return new ::Ifc4x2::IfcCableCarrierSegmentType(data); case 130: return new ::Ifc4x2::IfcCableCarrierSegmentTypeEnum(data); case 131: return new ::Ifc4x2::IfcCableFitting(data); case 132: return new ::Ifc4x2::IfcCableFittingType(data); case 133: return new ::Ifc4x2::IfcCableFittingTypeEnum(data); case 134: return new ::Ifc4x2::IfcCableSegment(data); case 135: return new ::Ifc4x2::IfcCableSegmentType(data); case 136: return new ::Ifc4x2::IfcCableSegmentTypeEnum(data); case 137: return new ::Ifc4x2::IfcCaissonFoundation(data); case 138: return new ::Ifc4x2::IfcCaissonFoundationType(data); case 139: return new ::Ifc4x2::IfcCaissonFoundationTypeEnum(data); case 140: return new ::Ifc4x2::IfcCardinalPointReference(data); case 141: return new ::Ifc4x2::IfcCartesianPoint(data); case 142: return new ::Ifc4x2::IfcCartesianPointList(data); case 143: return new ::Ifc4x2::IfcCartesianPointList2D(data); case 144: return new ::Ifc4x2::IfcCartesianPointList3D(data); case 145: return new ::Ifc4x2::IfcCartesianTransformationOperator(data); case 146: return new ::Ifc4x2::IfcCartesianTransformationOperator2D(data); case 147: return new ::Ifc4x2::IfcCartesianTransformationOperator2DnonUniform(data); case 148: return new ::Ifc4x2::IfcCartesianTransformationOperator3D(data); case 149: return new ::Ifc4x2::IfcCartesianTransformationOperator3DnonUniform(data); case 150: return new ::Ifc4x2::IfcCenterLineProfileDef(data); case 151: return new ::Ifc4x2::IfcChangeActionEnum(data); case 152: return new ::Ifc4x2::IfcChiller(data); case 153: return new ::Ifc4x2::IfcChillerType(data); case 154: return new ::Ifc4x2::IfcChillerTypeEnum(data); case 155: return new ::Ifc4x2::IfcChimney(data); case 156: return new ::Ifc4x2::IfcChimneyType(data); case 157: return new ::Ifc4x2::IfcChimneyTypeEnum(data); case 158: return new ::Ifc4x2::IfcCircle(data); case 159: return new ::Ifc4x2::IfcCircleHollowProfileDef(data); case 160: return new ::Ifc4x2::IfcCircleProfileDef(data); case 161: return new ::Ifc4x2::IfcCircularArcSegment2D(data); case 162: return new ::Ifc4x2::IfcCivilElement(data); case 163: return new ::Ifc4x2::IfcCivilElementType(data); case 164: return new ::Ifc4x2::IfcClassification(data); case 165: return new ::Ifc4x2::IfcClassificationReference(data); case 168: return new ::Ifc4x2::IfcClosedShell(data); case 169: return new ::Ifc4x2::IfcCoil(data); case 170: return new ::Ifc4x2::IfcCoilType(data); case 171: return new ::Ifc4x2::IfcCoilTypeEnum(data); case 174: return new ::Ifc4x2::IfcColourRgb(data); case 175: return new ::Ifc4x2::IfcColourRgbList(data); case 176: return new ::Ifc4x2::IfcColourSpecification(data); case 177: return new ::Ifc4x2::IfcColumn(data); case 178: return new ::Ifc4x2::IfcColumnStandardCase(data); case 179: return new ::Ifc4x2::IfcColumnType(data); case 180: return new ::Ifc4x2::IfcColumnTypeEnum(data); case 181: return new ::Ifc4x2::IfcCommunicationsAppliance(data); case 182: return new ::Ifc4x2::IfcCommunicationsApplianceType(data); case 183: return new ::Ifc4x2::IfcCommunicationsApplianceTypeEnum(data); case 184: return new ::Ifc4x2::IfcComplexNumber(data); case 185: return new ::Ifc4x2::IfcComplexProperty(data); case 186: return new ::Ifc4x2::IfcComplexPropertyTemplate(data); case 187: return new ::Ifc4x2::IfcComplexPropertyTemplateTypeEnum(data); case 188: return new ::Ifc4x2::IfcCompositeCurve(data); case 189: return new ::Ifc4x2::IfcCompositeCurveOnSurface(data); case 190: return new ::Ifc4x2::IfcCompositeCurveSegment(data); case 191: return new ::Ifc4x2::IfcCompositeProfileDef(data); case 192: return new ::Ifc4x2::IfcCompoundPlaneAngleMeasure(data); case 193: return new ::Ifc4x2::IfcCompressor(data); case 194: return new ::Ifc4x2::IfcCompressorType(data); case 195: return new ::Ifc4x2::IfcCompressorTypeEnum(data); case 196: return new ::Ifc4x2::IfcCondenser(data); case 197: return new ::Ifc4x2::IfcCondenserType(data); case 198: return new ::Ifc4x2::IfcCondenserTypeEnum(data); case 199: return new ::Ifc4x2::IfcConic(data); case 200: return new ::Ifc4x2::IfcConnectedFaceSet(data); case 201: return new ::Ifc4x2::IfcConnectionCurveGeometry(data); case 202: return new ::Ifc4x2::IfcConnectionGeometry(data); case 203: return new ::Ifc4x2::IfcConnectionPointEccentricity(data); case 204: return new ::Ifc4x2::IfcConnectionPointGeometry(data); case 205: return new ::Ifc4x2::IfcConnectionSurfaceGeometry(data); case 206: return new ::Ifc4x2::IfcConnectionTypeEnum(data); case 207: return new ::Ifc4x2::IfcConnectionVolumeGeometry(data); case 208: return new ::Ifc4x2::IfcConstraint(data); case 209: return new ::Ifc4x2::IfcConstraintEnum(data); case 210: return new ::Ifc4x2::IfcConstructionEquipmentResource(data); case 211: return new ::Ifc4x2::IfcConstructionEquipmentResourceType(data); case 212: return new ::Ifc4x2::IfcConstructionEquipmentResourceTypeEnum(data); case 213: return new ::Ifc4x2::IfcConstructionMaterialResource(data); case 214: return new ::Ifc4x2::IfcConstructionMaterialResourceType(data); case 215: return new ::Ifc4x2::IfcConstructionMaterialResourceTypeEnum(data); case 216: return new ::Ifc4x2::IfcConstructionProductResource(data); case 217: return new ::Ifc4x2::IfcConstructionProductResourceType(data); case 218: return new ::Ifc4x2::IfcConstructionProductResourceTypeEnum(data); case 219: return new ::Ifc4x2::IfcConstructionResource(data); case 220: return new ::Ifc4x2::IfcConstructionResourceType(data); case 221: return new ::Ifc4x2::IfcContext(data); case 222: return new ::Ifc4x2::IfcContextDependentMeasure(data); case 223: return new ::Ifc4x2::IfcContextDependentUnit(data); case 224: return new ::Ifc4x2::IfcControl(data); case 225: return new ::Ifc4x2::IfcController(data); case 226: return new ::Ifc4x2::IfcControllerType(data); case 227: return new ::Ifc4x2::IfcControllerTypeEnum(data); case 228: return new ::Ifc4x2::IfcConversionBasedUnit(data); case 229: return new ::Ifc4x2::IfcConversionBasedUnitWithOffset(data); case 230: return new ::Ifc4x2::IfcCooledBeam(data); case 231: return new ::Ifc4x2::IfcCooledBeamType(data); case 232: return new ::Ifc4x2::IfcCooledBeamTypeEnum(data); case 233: return new ::Ifc4x2::IfcCoolingTower(data); case 234: return new ::Ifc4x2::IfcCoolingTowerType(data); case 235: return new ::Ifc4x2::IfcCoolingTowerTypeEnum(data); case 236: return new ::Ifc4x2::IfcCoordinateOperation(data); case 237: return new ::Ifc4x2::IfcCoordinateReferenceSystem(data); case 239: return new ::Ifc4x2::IfcCostItem(data); case 240: return new ::Ifc4x2::IfcCostItemTypeEnum(data); case 241: return new ::Ifc4x2::IfcCostSchedule(data); case 242: return new ::Ifc4x2::IfcCostScheduleTypeEnum(data); case 243: return new ::Ifc4x2::IfcCostValue(data); case 244: return new ::Ifc4x2::IfcCountMeasure(data); case 245: return new ::Ifc4x2::IfcCovering(data); case 246: return new ::Ifc4x2::IfcCoveringType(data); case 247: return new ::Ifc4x2::IfcCoveringTypeEnum(data); case 248: return new ::Ifc4x2::IfcCrewResource(data); case 249: return new ::Ifc4x2::IfcCrewResourceType(data); case 250: return new ::Ifc4x2::IfcCrewResourceTypeEnum(data); case 251: return new ::Ifc4x2::IfcCsgPrimitive3D(data); case 253: return new ::Ifc4x2::IfcCsgSolid(data); case 254: return new ::Ifc4x2::IfcCShapeProfileDef(data); case 255: return new ::Ifc4x2::IfcCurrencyRelationship(data); case 256: return new ::Ifc4x2::IfcCurtainWall(data); case 257: return new ::Ifc4x2::IfcCurtainWallType(data); case 258: return new ::Ifc4x2::IfcCurtainWallTypeEnum(data); case 259: return new ::Ifc4x2::IfcCurvatureMeasure(data); case 260: return new ::Ifc4x2::IfcCurve(data); case 261: return new ::Ifc4x2::IfcCurveBoundedPlane(data); case 262: return new ::Ifc4x2::IfcCurveBoundedSurface(data); case 264: return new ::Ifc4x2::IfcCurveInterpolationEnum(data); case 267: return new ::Ifc4x2::IfcCurveSegment2D(data); case 268: return new ::Ifc4x2::IfcCurveStyle(data); case 269: return new ::Ifc4x2::IfcCurveStyleFont(data); case 270: return new ::Ifc4x2::IfcCurveStyleFontAndScaling(data); case 271: return new ::Ifc4x2::IfcCurveStyleFontPattern(data); case 273: return new ::Ifc4x2::IfcCylindricalSurface(data); case 274: return new ::Ifc4x2::IfcDamper(data); case 275: return new ::Ifc4x2::IfcDamperType(data); case 276: return new ::Ifc4x2::IfcDamperTypeEnum(data); case 277: return new ::Ifc4x2::IfcDataOriginEnum(data); case 278: return new ::Ifc4x2::IfcDate(data); case 279: return new ::Ifc4x2::IfcDateTime(data); case 280: return new ::Ifc4x2::IfcDayInMonthNumber(data); case 281: return new ::Ifc4x2::IfcDayInWeekNumber(data); case 282: return new ::Ifc4x2::IfcDeepFoundation(data); case 283: return new ::Ifc4x2::IfcDeepFoundationType(data); case 286: return new ::Ifc4x2::IfcDerivedProfileDef(data); case 287: return new ::Ifc4x2::IfcDerivedUnit(data); case 288: return new ::Ifc4x2::IfcDerivedUnitElement(data); case 289: return new ::Ifc4x2::IfcDerivedUnitEnum(data); case 290: return new ::Ifc4x2::IfcDescriptiveMeasure(data); case 291: return new ::Ifc4x2::IfcDimensionalExponents(data); case 292: return new ::Ifc4x2::IfcDimensionCount(data); case 293: return new ::Ifc4x2::IfcDirection(data); case 294: return new ::Ifc4x2::IfcDirectionSenseEnum(data); case 295: return new ::Ifc4x2::IfcDiscreteAccessory(data); case 296: return new ::Ifc4x2::IfcDiscreteAccessoryType(data); case 297: return new ::Ifc4x2::IfcDiscreteAccessoryTypeEnum(data); case 298: return new ::Ifc4x2::IfcDistanceExpression(data); case 299: return new ::Ifc4x2::IfcDistributionChamberElement(data); case 300: return new ::Ifc4x2::IfcDistributionChamberElementType(data); case 301: return new ::Ifc4x2::IfcDistributionChamberElementTypeEnum(data); case 302: return new ::Ifc4x2::IfcDistributionCircuit(data); case 303: return new ::Ifc4x2::IfcDistributionControlElement(data); case 304: return new ::Ifc4x2::IfcDistributionControlElementType(data); case 305: return new ::Ifc4x2::IfcDistributionElement(data); case 306: return new ::Ifc4x2::IfcDistributionElementType(data); case 307: return new ::Ifc4x2::IfcDistributionFlowElement(data); case 308: return new ::Ifc4x2::IfcDistributionFlowElementType(data); case 309: return new ::Ifc4x2::IfcDistributionPort(data); case 310: return new ::Ifc4x2::IfcDistributionPortTypeEnum(data); case 311: return new ::Ifc4x2::IfcDistributionSystem(data); case 312: return new ::Ifc4x2::IfcDistributionSystemEnum(data); case 313: return new ::Ifc4x2::IfcDocumentConfidentialityEnum(data); case 314: return new ::Ifc4x2::IfcDocumentInformation(data); case 315: return new ::Ifc4x2::IfcDocumentInformationRelationship(data); case 316: return new ::Ifc4x2::IfcDocumentReference(data); case 318: return new ::Ifc4x2::IfcDocumentStatusEnum(data); case 319: return new ::Ifc4x2::IfcDoor(data); case 320: return new ::Ifc4x2::IfcDoorLiningProperties(data); case 321: return new ::Ifc4x2::IfcDoorPanelOperationEnum(data); case 322: return new ::Ifc4x2::IfcDoorPanelPositionEnum(data); case 323: return new ::Ifc4x2::IfcDoorPanelProperties(data); case 324: return new ::Ifc4x2::IfcDoorStandardCase(data); case 325: return new ::Ifc4x2::IfcDoorStyle(data); case 326: return new ::Ifc4x2::IfcDoorStyleConstructionEnum(data); case 327: return new ::Ifc4x2::IfcDoorStyleOperationEnum(data); case 328: return new ::Ifc4x2::IfcDoorType(data); case 329: return new ::Ifc4x2::IfcDoorTypeEnum(data); case 330: return new ::Ifc4x2::IfcDoorTypeOperationEnum(data); case 331: return new ::Ifc4x2::IfcDoseEquivalentMeasure(data); case 332: return new ::Ifc4x2::IfcDraughtingPreDefinedColour(data); case 333: return new ::Ifc4x2::IfcDraughtingPreDefinedCurveFont(data); case 334: return new ::Ifc4x2::IfcDuctFitting(data); case 335: return new ::Ifc4x2::IfcDuctFittingType(data); case 336: return new ::Ifc4x2::IfcDuctFittingTypeEnum(data); case 337: return new ::Ifc4x2::IfcDuctSegment(data); case 338: return new ::Ifc4x2::IfcDuctSegmentType(data); case 339: return new ::Ifc4x2::IfcDuctSegmentTypeEnum(data); case 340: return new ::Ifc4x2::IfcDuctSilencer(data); case 341: return new ::Ifc4x2::IfcDuctSilencerType(data); case 342: return new ::Ifc4x2::IfcDuctSilencerTypeEnum(data); case 343: return new ::Ifc4x2::IfcDuration(data); case 344: return new ::Ifc4x2::IfcDynamicViscosityMeasure(data); case 345: return new ::Ifc4x2::IfcEdge(data); case 346: return new ::Ifc4x2::IfcEdgeCurve(data); case 347: return new ::Ifc4x2::IfcEdgeLoop(data); case 348: return new ::Ifc4x2::IfcElectricAppliance(data); case 349: return new ::Ifc4x2::IfcElectricApplianceType(data); case 350: return new ::Ifc4x2::IfcElectricApplianceTypeEnum(data); case 351: return new ::Ifc4x2::IfcElectricCapacitanceMeasure(data); case 352: return new ::Ifc4x2::IfcElectricChargeMeasure(data); case 353: return new ::Ifc4x2::IfcElectricConductanceMeasure(data); case 354: return new ::Ifc4x2::IfcElectricCurrentMeasure(data); case 355: return new ::Ifc4x2::IfcElectricDistributionBoard(data); case 356: return new ::Ifc4x2::IfcElectricDistributionBoardType(data); case 357: return new ::Ifc4x2::IfcElectricDistributionBoardTypeEnum(data); case 358: return new ::Ifc4x2::IfcElectricFlowStorageDevice(data); case 359: return new ::Ifc4x2::IfcElectricFlowStorageDeviceType(data); case 360: return new ::Ifc4x2::IfcElectricFlowStorageDeviceTypeEnum(data); case 361: return new ::Ifc4x2::IfcElectricGenerator(data); case 362: return new ::Ifc4x2::IfcElectricGeneratorType(data); case 363: return new ::Ifc4x2::IfcElectricGeneratorTypeEnum(data); case 364: return new ::Ifc4x2::IfcElectricMotor(data); case 365: return new ::Ifc4x2::IfcElectricMotorType(data); case 366: return new ::Ifc4x2::IfcElectricMotorTypeEnum(data); case 367: return new ::Ifc4x2::IfcElectricResistanceMeasure(data); case 368: return new ::Ifc4x2::IfcElectricTimeControl(data); case 369: return new ::Ifc4x2::IfcElectricTimeControlType(data); case 370: return new ::Ifc4x2::IfcElectricTimeControlTypeEnum(data); case 371: return new ::Ifc4x2::IfcElectricVoltageMeasure(data); case 372: return new ::Ifc4x2::IfcElement(data); case 373: return new ::Ifc4x2::IfcElementarySurface(data); case 374: return new ::Ifc4x2::IfcElementAssembly(data); case 375: return new ::Ifc4x2::IfcElementAssemblyType(data); case 376: return new ::Ifc4x2::IfcElementAssemblyTypeEnum(data); case 377: return new ::Ifc4x2::IfcElementComponent(data); case 378: return new ::Ifc4x2::IfcElementComponentType(data); case 379: return new ::Ifc4x2::IfcElementCompositionEnum(data); case 380: return new ::Ifc4x2::IfcElementQuantity(data); case 381: return new ::Ifc4x2::IfcElementType(data); case 382: return new ::Ifc4x2::IfcEllipse(data); case 383: return new ::Ifc4x2::IfcEllipseProfileDef(data); case 384: return new ::Ifc4x2::IfcEnergyConversionDevice(data); case 385: return new ::Ifc4x2::IfcEnergyConversionDeviceType(data); case 386: return new ::Ifc4x2::IfcEnergyMeasure(data); case 387: return new ::Ifc4x2::IfcEngine(data); case 388: return new ::Ifc4x2::IfcEngineType(data); case 389: return new ::Ifc4x2::IfcEngineTypeEnum(data); case 390: return new ::Ifc4x2::IfcEvaporativeCooler(data); case 391: return new ::Ifc4x2::IfcEvaporativeCoolerType(data); case 392: return new ::Ifc4x2::IfcEvaporativeCoolerTypeEnum(data); case 393: return new ::Ifc4x2::IfcEvaporator(data); case 394: return new ::Ifc4x2::IfcEvaporatorType(data); case 395: return new ::Ifc4x2::IfcEvaporatorTypeEnum(data); case 396: return new ::Ifc4x2::IfcEvent(data); case 397: return new ::Ifc4x2::IfcEventTime(data); case 398: return new ::Ifc4x2::IfcEventTriggerTypeEnum(data); case 399: return new ::Ifc4x2::IfcEventType(data); case 400: return new ::Ifc4x2::IfcEventTypeEnum(data); case 401: return new ::Ifc4x2::IfcExtendedProperties(data); case 402: return new ::Ifc4x2::IfcExternalInformation(data); case 403: return new ::Ifc4x2::IfcExternallyDefinedHatchStyle(data); case 404: return new ::Ifc4x2::IfcExternallyDefinedSurfaceStyle(data); case 405: return new ::Ifc4x2::IfcExternallyDefinedTextFont(data); case 406: return new ::Ifc4x2::IfcExternalReference(data); case 407: return new ::Ifc4x2::IfcExternalReferenceRelationship(data); case 408: return new ::Ifc4x2::IfcExternalSpatialElement(data); case 409: return new ::Ifc4x2::IfcExternalSpatialElementTypeEnum(data); case 410: return new ::Ifc4x2::IfcExternalSpatialStructureElement(data); case 411: return new ::Ifc4x2::IfcExtrudedAreaSolid(data); case 412: return new ::Ifc4x2::IfcExtrudedAreaSolidTapered(data); case 413: return new ::Ifc4x2::IfcFace(data); case 414: return new ::Ifc4x2::IfcFaceBasedSurfaceModel(data); case 415: return new ::Ifc4x2::IfcFaceBound(data); case 416: return new ::Ifc4x2::IfcFaceOuterBound(data); case 417: return new ::Ifc4x2::IfcFaceSurface(data); case 418: return new ::Ifc4x2::IfcFacetedBrep(data); case 419: return new ::Ifc4x2::IfcFacetedBrepWithVoids(data); case 420: return new ::Ifc4x2::IfcFacility(data); case 421: return new ::Ifc4x2::IfcFacilityPart(data); case 422: return new ::Ifc4x2::IfcFailureConnectionCondition(data); case 423: return new ::Ifc4x2::IfcFan(data); case 424: return new ::Ifc4x2::IfcFanType(data); case 425: return new ::Ifc4x2::IfcFanTypeEnum(data); case 426: return new ::Ifc4x2::IfcFastener(data); case 427: return new ::Ifc4x2::IfcFastenerType(data); case 428: return new ::Ifc4x2::IfcFastenerTypeEnum(data); case 429: return new ::Ifc4x2::IfcFeatureElement(data); case 430: return new ::Ifc4x2::IfcFeatureElementAddition(data); case 431: return new ::Ifc4x2::IfcFeatureElementSubtraction(data); case 432: return new ::Ifc4x2::IfcFillAreaStyle(data); case 433: return new ::Ifc4x2::IfcFillAreaStyleHatching(data); case 434: return new ::Ifc4x2::IfcFillAreaStyleTiles(data); case 436: return new ::Ifc4x2::IfcFilter(data); case 437: return new ::Ifc4x2::IfcFilterType(data); case 438: return new ::Ifc4x2::IfcFilterTypeEnum(data); case 439: return new ::Ifc4x2::IfcFireSuppressionTerminal(data); case 440: return new ::Ifc4x2::IfcFireSuppressionTerminalType(data); case 441: return new ::Ifc4x2::IfcFireSuppressionTerminalTypeEnum(data); case 442: return new ::Ifc4x2::IfcFixedReferenceSweptAreaSolid(data); case 443: return new ::Ifc4x2::IfcFlowController(data); case 444: return new ::Ifc4x2::IfcFlowControllerType(data); case 445: return new ::Ifc4x2::IfcFlowDirectionEnum(data); case 446: return new ::Ifc4x2::IfcFlowFitting(data); case 447: return new ::Ifc4x2::IfcFlowFittingType(data); case 448: return new ::Ifc4x2::IfcFlowInstrument(data); case 449: return new ::Ifc4x2::IfcFlowInstrumentType(data); case 450: return new ::Ifc4x2::IfcFlowInstrumentTypeEnum(data); case 451: return new ::Ifc4x2::IfcFlowMeter(data); case 452: return new ::Ifc4x2::IfcFlowMeterType(data); case 453: return new ::Ifc4x2::IfcFlowMeterTypeEnum(data); case 454: return new ::Ifc4x2::IfcFlowMovingDevice(data); case 455: return new ::Ifc4x2::IfcFlowMovingDeviceType(data); case 456: return new ::Ifc4x2::IfcFlowSegment(data); case 457: return new ::Ifc4x2::IfcFlowSegmentType(data); case 458: return new ::Ifc4x2::IfcFlowStorageDevice(data); case 459: return new ::Ifc4x2::IfcFlowStorageDeviceType(data); case 460: return new ::Ifc4x2::IfcFlowTerminal(data); case 461: return new ::Ifc4x2::IfcFlowTerminalType(data); case 462: return new ::Ifc4x2::IfcFlowTreatmentDevice(data); case 463: return new ::Ifc4x2::IfcFlowTreatmentDeviceType(data); case 464: return new ::Ifc4x2::IfcFontStyle(data); case 465: return new ::Ifc4x2::IfcFontVariant(data); case 466: return new ::Ifc4x2::IfcFontWeight(data); case 467: return new ::Ifc4x2::IfcFooting(data); case 468: return new ::Ifc4x2::IfcFootingType(data); case 469: return new ::Ifc4x2::IfcFootingTypeEnum(data); case 470: return new ::Ifc4x2::IfcForceMeasure(data); case 471: return new ::Ifc4x2::IfcFrequencyMeasure(data); case 472: return new ::Ifc4x2::IfcFurnishingElement(data); case 473: return new ::Ifc4x2::IfcFurnishingElementType(data); case 474: return new ::Ifc4x2::IfcFurniture(data); case 475: return new ::Ifc4x2::IfcFurnitureType(data); case 476: return new ::Ifc4x2::IfcFurnitureTypeEnum(data); case 477: return new ::Ifc4x2::IfcGeographicElement(data); case 478: return new ::Ifc4x2::IfcGeographicElementType(data); case 479: return new ::Ifc4x2::IfcGeographicElementTypeEnum(data); case 480: return new ::Ifc4x2::IfcGeometricCurveSet(data); case 481: return new ::Ifc4x2::IfcGeometricProjectionEnum(data); case 482: return new ::Ifc4x2::IfcGeometricRepresentationContext(data); case 483: return new ::Ifc4x2::IfcGeometricRepresentationItem(data); case 484: return new ::Ifc4x2::IfcGeometricRepresentationSubContext(data); case 485: return new ::Ifc4x2::IfcGeometricSet(data); case 487: return new ::Ifc4x2::IfcGloballyUniqueId(data); case 488: return new ::Ifc4x2::IfcGlobalOrLocalEnum(data); case 489: return new ::Ifc4x2::IfcGrid(data); case 490: return new ::Ifc4x2::IfcGridAxis(data); case 491: return new ::Ifc4x2::IfcGridPlacement(data); case 493: return new ::Ifc4x2::IfcGridTypeEnum(data); case 494: return new ::Ifc4x2::IfcGroup(data); case 495: return new ::Ifc4x2::IfcHalfSpaceSolid(data); case 497: return new ::Ifc4x2::IfcHeatExchanger(data); case 498: return new ::Ifc4x2::IfcHeatExchangerType(data); case 499: return new ::Ifc4x2::IfcHeatExchangerTypeEnum(data); case 500: return new ::Ifc4x2::IfcHeatFluxDensityMeasure(data); case 501: return new ::Ifc4x2::IfcHeatingValueMeasure(data); case 502: return new ::Ifc4x2::IfcHumidifier(data); case 503: return new ::Ifc4x2::IfcHumidifierType(data); case 504: return new ::Ifc4x2::IfcHumidifierTypeEnum(data); case 505: return new ::Ifc4x2::IfcIdentifier(data); case 506: return new ::Ifc4x2::IfcIlluminanceMeasure(data); case 507: return new ::Ifc4x2::IfcImageTexture(data); case 508: return new ::Ifc4x2::IfcIndexedColourMap(data); case 509: return new ::Ifc4x2::IfcIndexedPolyCurve(data); case 510: return new ::Ifc4x2::IfcIndexedPolygonalFace(data); case 511: return new ::Ifc4x2::IfcIndexedPolygonalFaceWithVoids(data); case 512: return new ::Ifc4x2::IfcIndexedTextureMap(data); case 513: return new ::Ifc4x2::IfcIndexedTriangleTextureMap(data); case 514: return new ::Ifc4x2::IfcInductanceMeasure(data); case 515: return new ::Ifc4x2::IfcInteger(data); case 516: return new ::Ifc4x2::IfcIntegerCountRateMeasure(data); case 517: return new ::Ifc4x2::IfcInterceptor(data); case 518: return new ::Ifc4x2::IfcInterceptorType(data); case 519: return new ::Ifc4x2::IfcInterceptorTypeEnum(data); case 520: return new ::Ifc4x2::IfcInternalOrExternalEnum(data); case 521: return new ::Ifc4x2::IfcIntersectionCurve(data); case 522: return new ::Ifc4x2::IfcInventory(data); case 523: return new ::Ifc4x2::IfcInventoryTypeEnum(data); case 524: return new ::Ifc4x2::IfcIonConcentrationMeasure(data); case 525: return new ::Ifc4x2::IfcIrregularTimeSeries(data); case 526: return new ::Ifc4x2::IfcIrregularTimeSeriesValue(data); case 527: return new ::Ifc4x2::IfcIShapeProfileDef(data); case 528: return new ::Ifc4x2::IfcIsothermalMoistureCapacityMeasure(data); case 529: return new ::Ifc4x2::IfcJunctionBox(data); case 530: return new ::Ifc4x2::IfcJunctionBoxType(data); case 531: return new ::Ifc4x2::IfcJunctionBoxTypeEnum(data); case 532: return new ::Ifc4x2::IfcKinematicViscosityMeasure(data); case 533: return new ::Ifc4x2::IfcKnotType(data); case 534: return new ::Ifc4x2::IfcLabel(data); case 535: return new ::Ifc4x2::IfcLaborResource(data); case 536: return new ::Ifc4x2::IfcLaborResourceType(data); case 537: return new ::Ifc4x2::IfcLaborResourceTypeEnum(data); case 538: return new ::Ifc4x2::IfcLagTime(data); case 539: return new ::Ifc4x2::IfcLamp(data); case 540: return new ::Ifc4x2::IfcLampType(data); case 541: return new ::Ifc4x2::IfcLampTypeEnum(data); case 542: return new ::Ifc4x2::IfcLanguageId(data); case 544: return new ::Ifc4x2::IfcLayerSetDirectionEnum(data); case 545: return new ::Ifc4x2::IfcLengthMeasure(data); case 546: return new ::Ifc4x2::IfcLibraryInformation(data); case 547: return new ::Ifc4x2::IfcLibraryReference(data); case 549: return new ::Ifc4x2::IfcLightDistributionCurveEnum(data); case 550: return new ::Ifc4x2::IfcLightDistributionData(data); case 552: return new ::Ifc4x2::IfcLightEmissionSourceEnum(data); case 553: return new ::Ifc4x2::IfcLightFixture(data); case 554: return new ::Ifc4x2::IfcLightFixtureType(data); case 555: return new ::Ifc4x2::IfcLightFixtureTypeEnum(data); case 556: return new ::Ifc4x2::IfcLightIntensityDistribution(data); case 557: return new ::Ifc4x2::IfcLightSource(data); case 558: return new ::Ifc4x2::IfcLightSourceAmbient(data); case 559: return new ::Ifc4x2::IfcLightSourceDirectional(data); case 560: return new ::Ifc4x2::IfcLightSourceGoniometric(data); case 561: return new ::Ifc4x2::IfcLightSourcePositional(data); case 562: return new ::Ifc4x2::IfcLightSourceSpot(data); case 563: return new ::Ifc4x2::IfcLine(data); case 564: return new ::Ifc4x2::IfcLinearForceMeasure(data); case 565: return new ::Ifc4x2::IfcLinearMomentMeasure(data); case 566: return new ::Ifc4x2::IfcLinearPlacement(data); case 567: return new ::Ifc4x2::IfcLinearPositioningElement(data); case 568: return new ::Ifc4x2::IfcLinearStiffnessMeasure(data); case 569: return new ::Ifc4x2::IfcLinearVelocityMeasure(data); case 570: return new ::Ifc4x2::IfcLineIndex(data); case 571: return new ::Ifc4x2::IfcLineSegment2D(data); case 572: return new ::Ifc4x2::IfcLoadGroupTypeEnum(data); case 573: return new ::Ifc4x2::IfcLocalPlacement(data); case 574: return new ::Ifc4x2::IfcLogical(data); case 575: return new ::Ifc4x2::IfcLogicalOperatorEnum(data); case 576: return new ::Ifc4x2::IfcLoop(data); case 577: return new ::Ifc4x2::IfcLShapeProfileDef(data); case 578: return new ::Ifc4x2::IfcLuminousFluxMeasure(data); case 579: return new ::Ifc4x2::IfcLuminousIntensityDistributionMeasure(data); case 580: return new ::Ifc4x2::IfcLuminousIntensityMeasure(data); case 581: return new ::Ifc4x2::IfcMagneticFluxDensityMeasure(data); case 582: return new ::Ifc4x2::IfcMagneticFluxMeasure(data); case 583: return new ::Ifc4x2::IfcManifoldSolidBrep(data); case 584: return new ::Ifc4x2::IfcMapConversion(data); case 585: return new ::Ifc4x2::IfcMappedItem(data); case 586: return new ::Ifc4x2::IfcMassDensityMeasure(data); case 587: return new ::Ifc4x2::IfcMassFlowRateMeasure(data); case 588: return new ::Ifc4x2::IfcMassMeasure(data); case 589: return new ::Ifc4x2::IfcMassPerLengthMeasure(data); case 590: return new ::Ifc4x2::IfcMaterial(data); case 591: return new ::Ifc4x2::IfcMaterialClassificationRelationship(data); case 592: return new ::Ifc4x2::IfcMaterialConstituent(data); case 593: return new ::Ifc4x2::IfcMaterialConstituentSet(data); case 594: return new ::Ifc4x2::IfcMaterialDefinition(data); case 595: return new ::Ifc4x2::IfcMaterialDefinitionRepresentation(data); case 596: return new ::Ifc4x2::IfcMaterialLayer(data); case 597: return new ::Ifc4x2::IfcMaterialLayerSet(data); case 598: return new ::Ifc4x2::IfcMaterialLayerSetUsage(data); case 599: return new ::Ifc4x2::IfcMaterialLayerWithOffsets(data); case 600: return new ::Ifc4x2::IfcMaterialList(data); case 601: return new ::Ifc4x2::IfcMaterialProfile(data); case 602: return new ::Ifc4x2::IfcMaterialProfileSet(data); case 603: return new ::Ifc4x2::IfcMaterialProfileSetUsage(data); case 604: return new ::Ifc4x2::IfcMaterialProfileSetUsageTapering(data); case 605: return new ::Ifc4x2::IfcMaterialProfileWithOffsets(data); case 606: return new ::Ifc4x2::IfcMaterialProperties(data); case 607: return new ::Ifc4x2::IfcMaterialRelationship(data); case 609: return new ::Ifc4x2::IfcMaterialUsageDefinition(data); case 611: return new ::Ifc4x2::IfcMeasureWithUnit(data); case 612: return new ::Ifc4x2::IfcMechanicalFastener(data); case 613: return new ::Ifc4x2::IfcMechanicalFastenerType(data); case 614: return new ::Ifc4x2::IfcMechanicalFastenerTypeEnum(data); case 615: return new ::Ifc4x2::IfcMedicalDevice(data); case 616: return new ::Ifc4x2::IfcMedicalDeviceType(data); case 617: return new ::Ifc4x2::IfcMedicalDeviceTypeEnum(data); case 618: return new ::Ifc4x2::IfcMember(data); case 619: return new ::Ifc4x2::IfcMemberStandardCase(data); case 620: return new ::Ifc4x2::IfcMemberType(data); case 621: return new ::Ifc4x2::IfcMemberTypeEnum(data); case 622: return new ::Ifc4x2::IfcMetric(data); case 624: return new ::Ifc4x2::IfcMirroredProfileDef(data); case 625: return new ::Ifc4x2::IfcModulusOfElasticityMeasure(data); case 626: return new ::Ifc4x2::IfcModulusOfLinearSubgradeReactionMeasure(data); case 627: return new ::Ifc4x2::IfcModulusOfRotationalSubgradeReactionMeasure(data); case 629: return new ::Ifc4x2::IfcModulusOfSubgradeReactionMeasure(data); case 632: return new ::Ifc4x2::IfcMoistureDiffusivityMeasure(data); case 633: return new ::Ifc4x2::IfcMolecularWeightMeasure(data); case 634: return new ::Ifc4x2::IfcMomentOfInertiaMeasure(data); case 635: return new ::Ifc4x2::IfcMonetaryMeasure(data); case 636: return new ::Ifc4x2::IfcMonetaryUnit(data); case 637: return new ::Ifc4x2::IfcMonthInYearNumber(data); case 638: return new ::Ifc4x2::IfcMotorConnection(data); case 639: return new ::Ifc4x2::IfcMotorConnectionType(data); case 640: return new ::Ifc4x2::IfcMotorConnectionTypeEnum(data); case 641: return new ::Ifc4x2::IfcNamedUnit(data); case 642: return new ::Ifc4x2::IfcNonNegativeLengthMeasure(data); case 643: return new ::Ifc4x2::IfcNormalisedRatioMeasure(data); case 644: return new ::Ifc4x2::IfcNullStyle(data); case 645: return new ::Ifc4x2::IfcNumericMeasure(data); case 646: return new ::Ifc4x2::IfcObject(data); case 647: return new ::Ifc4x2::IfcObjectDefinition(data); case 648: return new ::Ifc4x2::IfcObjective(data); case 649: return new ::Ifc4x2::IfcObjectiveEnum(data); case 650: return new ::Ifc4x2::IfcObjectPlacement(data); case 652: return new ::Ifc4x2::IfcObjectTypeEnum(data); case 653: return new ::Ifc4x2::IfcOccupant(data); case 654: return new ::Ifc4x2::IfcOccupantTypeEnum(data); case 655: return new ::Ifc4x2::IfcOffsetCurve(data); case 656: return new ::Ifc4x2::IfcOffsetCurve2D(data); case 657: return new ::Ifc4x2::IfcOffsetCurve3D(data); case 658: return new ::Ifc4x2::IfcOffsetCurveByDistances(data); case 659: return new ::Ifc4x2::IfcOpeningElement(data); case 660: return new ::Ifc4x2::IfcOpeningElementTypeEnum(data); case 661: return new ::Ifc4x2::IfcOpeningStandardCase(data); case 662: return new ::Ifc4x2::IfcOpenShell(data); case 663: return new ::Ifc4x2::IfcOrganization(data); case 664: return new ::Ifc4x2::IfcOrganizationRelationship(data); case 665: return new ::Ifc4x2::IfcOrientationExpression(data); case 666: return new ::Ifc4x2::IfcOrientedEdge(data); case 667: return new ::Ifc4x2::IfcOuterBoundaryCurve(data); case 668: return new ::Ifc4x2::IfcOutlet(data); case 669: return new ::Ifc4x2::IfcOutletType(data); case 670: return new ::Ifc4x2::IfcOutletTypeEnum(data); case 671: return new ::Ifc4x2::IfcOwnerHistory(data); case 672: return new ::Ifc4x2::IfcParameterizedProfileDef(data); case 673: return new ::Ifc4x2::IfcParameterValue(data); case 674: return new ::Ifc4x2::IfcPath(data); case 675: return new ::Ifc4x2::IfcPcurve(data); case 676: return new ::Ifc4x2::IfcPerformanceHistory(data); case 677: return new ::Ifc4x2::IfcPerformanceHistoryTypeEnum(data); case 678: return new ::Ifc4x2::IfcPermeableCoveringOperationEnum(data); case 679: return new ::Ifc4x2::IfcPermeableCoveringProperties(data); case 680: return new ::Ifc4x2::IfcPermit(data); case 681: return new ::Ifc4x2::IfcPermitTypeEnum(data); case 682: return new ::Ifc4x2::IfcPerson(data); case 683: return new ::Ifc4x2::IfcPersonAndOrganization(data); case 684: return new ::Ifc4x2::IfcPHMeasure(data); case 685: return new ::Ifc4x2::IfcPhysicalComplexQuantity(data); case 686: return new ::Ifc4x2::IfcPhysicalOrVirtualEnum(data); case 687: return new ::Ifc4x2::IfcPhysicalQuantity(data); case 688: return new ::Ifc4x2::IfcPhysicalSimpleQuantity(data); case 689: return new ::Ifc4x2::IfcPile(data); case 690: return new ::Ifc4x2::IfcPileConstructionEnum(data); case 691: return new ::Ifc4x2::IfcPileType(data); case 692: return new ::Ifc4x2::IfcPileTypeEnum(data); case 693: return new ::Ifc4x2::IfcPipeFitting(data); case 694: return new ::Ifc4x2::IfcPipeFittingType(data); case 695: return new ::Ifc4x2::IfcPipeFittingTypeEnum(data); case 696: return new ::Ifc4x2::IfcPipeSegment(data); case 697: return new ::Ifc4x2::IfcPipeSegmentType(data); case 698: return new ::Ifc4x2::IfcPipeSegmentTypeEnum(data); case 699: return new ::Ifc4x2::IfcPixelTexture(data); case 700: return new ::Ifc4x2::IfcPlacement(data); case 701: return new ::Ifc4x2::IfcPlanarBox(data); case 702: return new ::Ifc4x2::IfcPlanarExtent(data); case 703: return new ::Ifc4x2::IfcPlanarForceMeasure(data); case 704: return new ::Ifc4x2::IfcPlane(data); case 705: return new ::Ifc4x2::IfcPlaneAngleMeasure(data); case 706: return new ::Ifc4x2::IfcPlate(data); case 707: return new ::Ifc4x2::IfcPlateStandardCase(data); case 708: return new ::Ifc4x2::IfcPlateType(data); case 709: return new ::Ifc4x2::IfcPlateTypeEnum(data); case 710: return new ::Ifc4x2::IfcPoint(data); case 711: return new ::Ifc4x2::IfcPointOnCurve(data); case 712: return new ::Ifc4x2::IfcPointOnSurface(data); case 714: return new ::Ifc4x2::IfcPolygonalBoundedHalfSpace(data); case 715: return new ::Ifc4x2::IfcPolygonalFaceSet(data); case 716: return new ::Ifc4x2::IfcPolyline(data); case 717: return new ::Ifc4x2::IfcPolyLoop(data); case 718: return new ::Ifc4x2::IfcPort(data); case 719: return new ::Ifc4x2::IfcPositioningElement(data); case 720: return new ::Ifc4x2::IfcPositiveInteger(data); case 721: return new ::Ifc4x2::IfcPositiveLengthMeasure(data); case 722: return new ::Ifc4x2::IfcPositivePlaneAngleMeasure(data); case 723: return new ::Ifc4x2::IfcPositiveRatioMeasure(data); case 724: return new ::Ifc4x2::IfcPostalAddress(data); case 725: return new ::Ifc4x2::IfcPowerMeasure(data); case 726: return new ::Ifc4x2::IfcPreDefinedColour(data); case 727: return new ::Ifc4x2::IfcPreDefinedCurveFont(data); case 728: return new ::Ifc4x2::IfcPreDefinedItem(data); case 729: return new ::Ifc4x2::IfcPreDefinedProperties(data); case 730: return new ::Ifc4x2::IfcPreDefinedPropertySet(data); case 731: return new ::Ifc4x2::IfcPreDefinedTextFont(data); case 732: return new ::Ifc4x2::IfcPreferredSurfaceCurveRepresentation(data); case 733: return new ::Ifc4x2::IfcPresentableText(data); case 734: return new ::Ifc4x2::IfcPresentationItem(data); case 735: return new ::Ifc4x2::IfcPresentationLayerAssignment(data); case 736: return new ::Ifc4x2::IfcPresentationLayerWithStyle(data); case 737: return new ::Ifc4x2::IfcPresentationStyle(data); case 738: return new ::Ifc4x2::IfcPresentationStyleAssignment(data); case 740: return new ::Ifc4x2::IfcPressureMeasure(data); case 741: return new ::Ifc4x2::IfcProcedure(data); case 742: return new ::Ifc4x2::IfcProcedureType(data); case 743: return new ::Ifc4x2::IfcProcedureTypeEnum(data); case 744: return new ::Ifc4x2::IfcProcess(data); case 746: return new ::Ifc4x2::IfcProduct(data); case 747: return new ::Ifc4x2::IfcProductDefinitionShape(data); case 748: return new ::Ifc4x2::IfcProductRepresentation(data); case 751: return new ::Ifc4x2::IfcProfileDef(data); case 752: return new ::Ifc4x2::IfcProfileProperties(data); case 753: return new ::Ifc4x2::IfcProfileTypeEnum(data); case 754: return new ::Ifc4x2::IfcProject(data); case 755: return new ::Ifc4x2::IfcProjectedCRS(data); case 756: return new ::Ifc4x2::IfcProjectedOrTrueLengthEnum(data); case 757: return new ::Ifc4x2::IfcProjectionElement(data); case 758: return new ::Ifc4x2::IfcProjectionElementTypeEnum(data); case 759: return new ::Ifc4x2::IfcProjectLibrary(data); case 760: return new ::Ifc4x2::IfcProjectOrder(data); case 761: return new ::Ifc4x2::IfcProjectOrderTypeEnum(data); case 762: return new ::Ifc4x2::IfcProperty(data); case 763: return new ::Ifc4x2::IfcPropertyAbstraction(data); case 764: return new ::Ifc4x2::IfcPropertyBoundedValue(data); case 765: return new ::Ifc4x2::IfcPropertyDefinition(data); case 766: return new ::Ifc4x2::IfcPropertyDependencyRelationship(data); case 767: return new ::Ifc4x2::IfcPropertyEnumeratedValue(data); case 768: return new ::Ifc4x2::IfcPropertyEnumeration(data); case 769: return new ::Ifc4x2::IfcPropertyListValue(data); case 770: return new ::Ifc4x2::IfcPropertyReferenceValue(data); case 771: return new ::Ifc4x2::IfcPropertySet(data); case 772: return new ::Ifc4x2::IfcPropertySetDefinition(data); case 774: return new ::Ifc4x2::IfcPropertySetDefinitionSet(data); case 775: return new ::Ifc4x2::IfcPropertySetTemplate(data); case 776: return new ::Ifc4x2::IfcPropertySetTemplateTypeEnum(data); case 777: return new ::Ifc4x2::IfcPropertySingleValue(data); case 778: return new ::Ifc4x2::IfcPropertyTableValue(data); case 779: return new ::Ifc4x2::IfcPropertyTemplate(data); case 780: return new ::Ifc4x2::IfcPropertyTemplateDefinition(data); case 781: return new ::Ifc4x2::IfcProtectiveDevice(data); case 782: return new ::Ifc4x2::IfcProtectiveDeviceTrippingUnit(data); case 783: return new ::Ifc4x2::IfcProtectiveDeviceTrippingUnitType(data); case 784: return new ::Ifc4x2::IfcProtectiveDeviceTrippingUnitTypeEnum(data); case 785: return new ::Ifc4x2::IfcProtectiveDeviceType(data); case 786: return new ::Ifc4x2::IfcProtectiveDeviceTypeEnum(data); case 787: return new ::Ifc4x2::IfcProxy(data); case 788: return new ::Ifc4x2::IfcPump(data); case 789: return new ::Ifc4x2::IfcPumpType(data); case 790: return new ::Ifc4x2::IfcPumpTypeEnum(data); case 791: return new ::Ifc4x2::IfcQuantityArea(data); case 792: return new ::Ifc4x2::IfcQuantityCount(data); case 793: return new ::Ifc4x2::IfcQuantityLength(data); case 794: return new ::Ifc4x2::IfcQuantitySet(data); case 795: return new ::Ifc4x2::IfcQuantityTime(data); case 796: return new ::Ifc4x2::IfcQuantityVolume(data); case 797: return new ::Ifc4x2::IfcQuantityWeight(data); case 798: return new ::Ifc4x2::IfcRadioActivityMeasure(data); case 799: return new ::Ifc4x2::IfcRailing(data); case 800: return new ::Ifc4x2::IfcRailingType(data); case 801: return new ::Ifc4x2::IfcRailingTypeEnum(data); case 802: return new ::Ifc4x2::IfcRamp(data); case 803: return new ::Ifc4x2::IfcRampFlight(data); case 804: return new ::Ifc4x2::IfcRampFlightType(data); case 805: return new ::Ifc4x2::IfcRampFlightTypeEnum(data); case 806: return new ::Ifc4x2::IfcRampType(data); case 807: return new ::Ifc4x2::IfcRampTypeEnum(data); case 808: return new ::Ifc4x2::IfcRatioMeasure(data); case 809: return new ::Ifc4x2::IfcRationalBSplineCurveWithKnots(data); case 810: return new ::Ifc4x2::IfcRationalBSplineSurfaceWithKnots(data); case 811: return new ::Ifc4x2::IfcReal(data); case 812: return new ::Ifc4x2::IfcRectangleHollowProfileDef(data); case 813: return new ::Ifc4x2::IfcRectangleProfileDef(data); case 814: return new ::Ifc4x2::IfcRectangularPyramid(data); case 815: return new ::Ifc4x2::IfcRectangularTrimmedSurface(data); case 816: return new ::Ifc4x2::IfcRecurrencePattern(data); case 817: return new ::Ifc4x2::IfcRecurrenceTypeEnum(data); case 818: return new ::Ifc4x2::IfcReference(data); case 819: return new ::Ifc4x2::IfcReferent(data); case 820: return new ::Ifc4x2::IfcReferentTypeEnum(data); case 821: return new ::Ifc4x2::IfcReflectanceMethodEnum(data); case 822: return new ::Ifc4x2::IfcRegularTimeSeries(data); case 823: return new ::Ifc4x2::IfcReinforcementBarProperties(data); case 824: return new ::Ifc4x2::IfcReinforcementDefinitionProperties(data); case 825: return new ::Ifc4x2::IfcReinforcingBar(data); case 826: return new ::Ifc4x2::IfcReinforcingBarRoleEnum(data); case 827: return new ::Ifc4x2::IfcReinforcingBarSurfaceEnum(data); case 828: return new ::Ifc4x2::IfcReinforcingBarType(data); case 829: return new ::Ifc4x2::IfcReinforcingBarTypeEnum(data); case 830: return new ::Ifc4x2::IfcReinforcingElement(data); case 831: return new ::Ifc4x2::IfcReinforcingElementType(data); case 832: return new ::Ifc4x2::IfcReinforcingMesh(data); case 833: return new ::Ifc4x2::IfcReinforcingMeshType(data); case 834: return new ::Ifc4x2::IfcReinforcingMeshTypeEnum(data); case 835: return new ::Ifc4x2::IfcRelAggregates(data); case 836: return new ::Ifc4x2::IfcRelAssigns(data); case 837: return new ::Ifc4x2::IfcRelAssignsToActor(data); case 838: return new ::Ifc4x2::IfcRelAssignsToControl(data); case 839: return new ::Ifc4x2::IfcRelAssignsToGroup(data); case 840: return new ::Ifc4x2::IfcRelAssignsToGroupByFactor(data); case 841: return new ::Ifc4x2::IfcRelAssignsToProcess(data); case 842: return new ::Ifc4x2::IfcRelAssignsToProduct(data); case 843: return new ::Ifc4x2::IfcRelAssignsToResource(data); case 844: return new ::Ifc4x2::IfcRelAssociates(data); case 845: return new ::Ifc4x2::IfcRelAssociatesApproval(data); case 846: return new ::Ifc4x2::IfcRelAssociatesClassification(data); case 847: return new ::Ifc4x2::IfcRelAssociatesConstraint(data); case 848: return new ::Ifc4x2::IfcRelAssociatesDocument(data); case 849: return new ::Ifc4x2::IfcRelAssociatesLibrary(data); case 850: return new ::Ifc4x2::IfcRelAssociatesMaterial(data); case 851: return new ::Ifc4x2::IfcRelationship(data); case 852: return new ::Ifc4x2::IfcRelConnects(data); case 853: return new ::Ifc4x2::IfcRelConnectsElements(data); case 854: return new ::Ifc4x2::IfcRelConnectsPathElements(data); case 855: return new ::Ifc4x2::IfcRelConnectsPorts(data); case 856: return new ::Ifc4x2::IfcRelConnectsPortToElement(data); case 857: return new ::Ifc4x2::IfcRelConnectsStructuralActivity(data); case 858: return new ::Ifc4x2::IfcRelConnectsStructuralMember(data); case 859: return new ::Ifc4x2::IfcRelConnectsWithEccentricity(data); case 860: return new ::Ifc4x2::IfcRelConnectsWithRealizingElements(data); case 861: return new ::Ifc4x2::IfcRelContainedInSpatialStructure(data); case 862: return new ::Ifc4x2::IfcRelCoversBldgElements(data); case 863: return new ::Ifc4x2::IfcRelCoversSpaces(data); case 864: return new ::Ifc4x2::IfcRelDeclares(data); case 865: return new ::Ifc4x2::IfcRelDecomposes(data); case 866: return new ::Ifc4x2::IfcRelDefines(data); case 867: return new ::Ifc4x2::IfcRelDefinesByObject(data); case 868: return new ::Ifc4x2::IfcRelDefinesByProperties(data); case 869: return new ::Ifc4x2::IfcRelDefinesByTemplate(data); case 870: return new ::Ifc4x2::IfcRelDefinesByType(data); case 871: return new ::Ifc4x2::IfcRelFillsElement(data); case 872: return new ::Ifc4x2::IfcRelFlowControlElements(data); case 873: return new ::Ifc4x2::IfcRelInterferesElements(data); case 874: return new ::Ifc4x2::IfcRelNests(data); case 875: return new ::Ifc4x2::IfcRelPositions(data); case 876: return new ::Ifc4x2::IfcRelProjectsElement(data); case 877: return new ::Ifc4x2::IfcRelReferencedInSpatialStructure(data); case 878: return new ::Ifc4x2::IfcRelSequence(data); case 879: return new ::Ifc4x2::IfcRelServicesBuildings(data); case 880: return new ::Ifc4x2::IfcRelSpaceBoundary(data); case 881: return new ::Ifc4x2::IfcRelSpaceBoundary1stLevel(data); case 882: return new ::Ifc4x2::IfcRelSpaceBoundary2ndLevel(data); case 883: return new ::Ifc4x2::IfcRelVoidsElement(data); case 884: return new ::Ifc4x2::IfcReparametrisedCompositeCurveSegment(data); case 885: return new ::Ifc4x2::IfcRepresentation(data); case 886: return new ::Ifc4x2::IfcRepresentationContext(data); case 887: return new ::Ifc4x2::IfcRepresentationItem(data); case 888: return new ::Ifc4x2::IfcRepresentationMap(data); case 889: return new ::Ifc4x2::IfcResource(data); case 890: return new ::Ifc4x2::IfcResourceApprovalRelationship(data); case 891: return new ::Ifc4x2::IfcResourceConstraintRelationship(data); case 892: return new ::Ifc4x2::IfcResourceLevelRelationship(data); case 895: return new ::Ifc4x2::IfcResourceTime(data); case 896: return new ::Ifc4x2::IfcRevolvedAreaSolid(data); case 897: return new ::Ifc4x2::IfcRevolvedAreaSolidTapered(data); case 898: return new ::Ifc4x2::IfcRightCircularCone(data); case 899: return new ::Ifc4x2::IfcRightCircularCylinder(data); case 900: return new ::Ifc4x2::IfcRoleEnum(data); case 901: return new ::Ifc4x2::IfcRoof(data); case 902: return new ::Ifc4x2::IfcRoofType(data); case 903: return new ::Ifc4x2::IfcRoofTypeEnum(data); case 904: return new ::Ifc4x2::IfcRoot(data); case 905: return new ::Ifc4x2::IfcRotationalFrequencyMeasure(data); case 906: return new ::Ifc4x2::IfcRotationalMassMeasure(data); case 907: return new ::Ifc4x2::IfcRotationalStiffnessMeasure(data); case 909: return new ::Ifc4x2::IfcRoundedRectangleProfileDef(data); case 910: return new ::Ifc4x2::IfcSanitaryTerminal(data); case 911: return new ::Ifc4x2::IfcSanitaryTerminalType(data); case 912: return new ::Ifc4x2::IfcSanitaryTerminalTypeEnum(data); case 913: return new ::Ifc4x2::IfcSchedulingTime(data); case 914: return new ::Ifc4x2::IfcSeamCurve(data); case 915: return new ::Ifc4x2::IfcSectionalAreaIntegralMeasure(data); case 916: return new ::Ifc4x2::IfcSectionedSolid(data); case 917: return new ::Ifc4x2::IfcSectionedSolidHorizontal(data); case 918: return new ::Ifc4x2::IfcSectionedSpine(data); case 919: return new ::Ifc4x2::IfcSectionModulusMeasure(data); case 920: return new ::Ifc4x2::IfcSectionProperties(data); case 921: return new ::Ifc4x2::IfcSectionReinforcementProperties(data); case 922: return new ::Ifc4x2::IfcSectionTypeEnum(data); case 924: return new ::Ifc4x2::IfcSensor(data); case 925: return new ::Ifc4x2::IfcSensorType(data); case 926: return new ::Ifc4x2::IfcSensorTypeEnum(data); case 927: return new ::Ifc4x2::IfcSequenceEnum(data); case 928: return new ::Ifc4x2::IfcShadingDevice(data); case 929: return new ::Ifc4x2::IfcShadingDeviceType(data); case 930: return new ::Ifc4x2::IfcShadingDeviceTypeEnum(data); case 931: return new ::Ifc4x2::IfcShapeAspect(data); case 932: return new ::Ifc4x2::IfcShapeModel(data); case 933: return new ::Ifc4x2::IfcShapeRepresentation(data); case 934: return new ::Ifc4x2::IfcShearModulusMeasure(data); case 936: return new ::Ifc4x2::IfcShellBasedSurfaceModel(data); case 937: return new ::Ifc4x2::IfcSimpleProperty(data); case 938: return new ::Ifc4x2::IfcSimplePropertyTemplate(data); case 939: return new ::Ifc4x2::IfcSimplePropertyTemplateTypeEnum(data); case 941: return new ::Ifc4x2::IfcSIPrefix(data); case 942: return new ::Ifc4x2::IfcSite(data); case 943: return new ::Ifc4x2::IfcSIUnit(data); case 944: return new ::Ifc4x2::IfcSIUnitName(data); case 946: return new ::Ifc4x2::IfcSlab(data); case 947: return new ::Ifc4x2::IfcSlabElementedCase(data); case 948: return new ::Ifc4x2::IfcSlabStandardCase(data); case 949: return new ::Ifc4x2::IfcSlabType(data); case 950: return new ::Ifc4x2::IfcSlabTypeEnum(data); case 951: return new ::Ifc4x2::IfcSlippageConnectionCondition(data); case 952: return new ::Ifc4x2::IfcSolarDevice(data); case 953: return new ::Ifc4x2::IfcSolarDeviceType(data); case 954: return new ::Ifc4x2::IfcSolarDeviceTypeEnum(data); case 955: return new ::Ifc4x2::IfcSolidAngleMeasure(data); case 956: return new ::Ifc4x2::IfcSolidModel(data); case 958: return new ::Ifc4x2::IfcSoundPowerLevelMeasure(data); case 959: return new ::Ifc4x2::IfcSoundPowerMeasure(data); case 960: return new ::Ifc4x2::IfcSoundPressureLevelMeasure(data); case 961: return new ::Ifc4x2::IfcSoundPressureMeasure(data); case 962: return new ::Ifc4x2::IfcSpace(data); case 964: return new ::Ifc4x2::IfcSpaceHeater(data); case 965: return new ::Ifc4x2::IfcSpaceHeaterType(data); case 966: return new ::Ifc4x2::IfcSpaceHeaterTypeEnum(data); case 967: return new ::Ifc4x2::IfcSpaceType(data); case 968: return new ::Ifc4x2::IfcSpaceTypeEnum(data); case 969: return new ::Ifc4x2::IfcSpatialElement(data); case 970: return new ::Ifc4x2::IfcSpatialElementType(data); case 971: return new ::Ifc4x2::IfcSpatialStructureElement(data); case 972: return new ::Ifc4x2::IfcSpatialStructureElementType(data); case 973: return new ::Ifc4x2::IfcSpatialZone(data); case 974: return new ::Ifc4x2::IfcSpatialZoneType(data); case 975: return new ::Ifc4x2::IfcSpatialZoneTypeEnum(data); case 976: return new ::Ifc4x2::IfcSpecificHeatCapacityMeasure(data); case 977: return new ::Ifc4x2::IfcSpecularExponent(data); case 979: return new ::Ifc4x2::IfcSpecularRoughness(data); case 980: return new ::Ifc4x2::IfcSphere(data); case 981: return new ::Ifc4x2::IfcSphericalSurface(data); case 982: return new ::Ifc4x2::IfcStackTerminal(data); case 983: return new ::Ifc4x2::IfcStackTerminalType(data); case 984: return new ::Ifc4x2::IfcStackTerminalTypeEnum(data); case 985: return new ::Ifc4x2::IfcStair(data); case 986: return new ::Ifc4x2::IfcStairFlight(data); case 987: return new ::Ifc4x2::IfcStairFlightType(data); case 988: return new ::Ifc4x2::IfcStairFlightTypeEnum(data); case 989: return new ::Ifc4x2::IfcStairType(data); case 990: return new ::Ifc4x2::IfcStairTypeEnum(data); case 991: return new ::Ifc4x2::IfcStateEnum(data); case 992: return new ::Ifc4x2::IfcStructuralAction(data); case 993: return new ::Ifc4x2::IfcStructuralActivity(data); case 995: return new ::Ifc4x2::IfcStructuralAnalysisModel(data); case 996: return new ::Ifc4x2::IfcStructuralConnection(data); case 997: return new ::Ifc4x2::IfcStructuralConnectionCondition(data); case 998: return new ::Ifc4x2::IfcStructuralCurveAction(data); case 999: return new ::Ifc4x2::IfcStructuralCurveActivityTypeEnum(data); case 1000: return new ::Ifc4x2::IfcStructuralCurveConnection(data); case 1001: return new ::Ifc4x2::IfcStructuralCurveMember(data); case 1002: return new ::Ifc4x2::IfcStructuralCurveMemberTypeEnum(data); case 1003: return new ::Ifc4x2::IfcStructuralCurveMemberVarying(data); case 1004: return new ::Ifc4x2::IfcStructuralCurveReaction(data); case 1005: return new ::Ifc4x2::IfcStructuralItem(data); case 1006: return new ::Ifc4x2::IfcStructuralLinearAction(data); case 1007: return new ::Ifc4x2::IfcStructuralLoad(data); case 1008: return new ::Ifc4x2::IfcStructuralLoadCase(data); case 1009: return new ::Ifc4x2::IfcStructuralLoadConfiguration(data); case 1010: return new ::Ifc4x2::IfcStructuralLoadGroup(data); case 1011: return new ::Ifc4x2::IfcStructuralLoadLinearForce(data); case 1012: return new ::Ifc4x2::IfcStructuralLoadOrResult(data); case 1013: return new ::Ifc4x2::IfcStructuralLoadPlanarForce(data); case 1014: return new ::Ifc4x2::IfcStructuralLoadSingleDisplacement(data); case 1015: return new ::Ifc4x2::IfcStructuralLoadSingleDisplacementDistortion(data); case 1016: return new ::Ifc4x2::IfcStructuralLoadSingleForce(data); case 1017: return new ::Ifc4x2::IfcStructuralLoadSingleForceWarping(data); case 1018: return new ::Ifc4x2::IfcStructuralLoadStatic(data); case 1019: return new ::Ifc4x2::IfcStructuralLoadTemperature(data); case 1020: return new ::Ifc4x2::IfcStructuralMember(data); case 1021: return new ::Ifc4x2::IfcStructuralPlanarAction(data); case 1022: return new ::Ifc4x2::IfcStructuralPointAction(data); case 1023: return new ::Ifc4x2::IfcStructuralPointConnection(data); case 1024: return new ::Ifc4x2::IfcStructuralPointReaction(data); case 1025: return new ::Ifc4x2::IfcStructuralReaction(data); case 1026: return new ::Ifc4x2::IfcStructuralResultGroup(data); case 1027: return new ::Ifc4x2::IfcStructuralSurfaceAction(data); case 1028: return new ::Ifc4x2::IfcStructuralSurfaceActivityTypeEnum(data); case 1029: return new ::Ifc4x2::IfcStructuralSurfaceConnection(data); case 1030: return new ::Ifc4x2::IfcStructuralSurfaceMember(data); case 1031: return new ::Ifc4x2::IfcStructuralSurfaceMemberTypeEnum(data); case 1032: return new ::Ifc4x2::IfcStructuralSurfaceMemberVarying(data); case 1033: return new ::Ifc4x2::IfcStructuralSurfaceReaction(data); case 1035: return new ::Ifc4x2::IfcStyledItem(data); case 1036: return new ::Ifc4x2::IfcStyledRepresentation(data); case 1037: return new ::Ifc4x2::IfcStyleModel(data); case 1038: return new ::Ifc4x2::IfcSubContractResource(data); case 1039: return new ::Ifc4x2::IfcSubContractResourceType(data); case 1040: return new ::Ifc4x2::IfcSubContractResourceTypeEnum(data); case 1041: return new ::Ifc4x2::IfcSubedge(data); case 1042: return new ::Ifc4x2::IfcSurface(data); case 1043: return new ::Ifc4x2::IfcSurfaceCurve(data); case 1044: return new ::Ifc4x2::IfcSurfaceCurveSweptAreaSolid(data); case 1045: return new ::Ifc4x2::IfcSurfaceFeature(data); case 1046: return new ::Ifc4x2::IfcSurfaceFeatureTypeEnum(data); case 1047: return new ::Ifc4x2::IfcSurfaceOfLinearExtrusion(data); case 1048: return new ::Ifc4x2::IfcSurfaceOfRevolution(data); case 1050: return new ::Ifc4x2::IfcSurfaceReinforcementArea(data); case 1051: return new ::Ifc4x2::IfcSurfaceSide(data); case 1052: return new ::Ifc4x2::IfcSurfaceStyle(data); case 1054: return new ::Ifc4x2::IfcSurfaceStyleLighting(data); case 1055: return new ::Ifc4x2::IfcSurfaceStyleRefraction(data); case 1056: return new ::Ifc4x2::IfcSurfaceStyleRendering(data); case 1057: return new ::Ifc4x2::IfcSurfaceStyleShading(data); case 1058: return new ::Ifc4x2::IfcSurfaceStyleWithTextures(data); case 1059: return new ::Ifc4x2::IfcSurfaceTexture(data); case 1060: return new ::Ifc4x2::IfcSweptAreaSolid(data); case 1061: return new ::Ifc4x2::IfcSweptDiskSolid(data); case 1062: return new ::Ifc4x2::IfcSweptDiskSolidPolygonal(data); case 1063: return new ::Ifc4x2::IfcSweptSurface(data); case 1064: return new ::Ifc4x2::IfcSwitchingDevice(data); case 1065: return new ::Ifc4x2::IfcSwitchingDeviceType(data); case 1066: return new ::Ifc4x2::IfcSwitchingDeviceTypeEnum(data); case 1067: return new ::Ifc4x2::IfcSystem(data); case 1068: return new ::Ifc4x2::IfcSystemFurnitureElement(data); case 1069: return new ::Ifc4x2::IfcSystemFurnitureElementType(data); case 1070: return new ::Ifc4x2::IfcSystemFurnitureElementTypeEnum(data); case 1071: return new ::Ifc4x2::IfcTable(data); case 1072: return new ::Ifc4x2::IfcTableColumn(data); case 1073: return new ::Ifc4x2::IfcTableRow(data); case 1074: return new ::Ifc4x2::IfcTank(data); case 1075: return new ::Ifc4x2::IfcTankType(data); case 1076: return new ::Ifc4x2::IfcTankTypeEnum(data); case 1077: return new ::Ifc4x2::IfcTask(data); case 1078: return new ::Ifc4x2::IfcTaskDurationEnum(data); case 1079: return new ::Ifc4x2::IfcTaskTime(data); case 1080: return new ::Ifc4x2::IfcTaskTimeRecurring(data); case 1081: return new ::Ifc4x2::IfcTaskType(data); case 1082: return new ::Ifc4x2::IfcTaskTypeEnum(data); case 1083: return new ::Ifc4x2::IfcTelecomAddress(data); case 1084: return new ::Ifc4x2::IfcTemperatureGradientMeasure(data); case 1085: return new ::Ifc4x2::IfcTemperatureRateOfChangeMeasure(data); case 1086: return new ::Ifc4x2::IfcTendon(data); case 1087: return new ::Ifc4x2::IfcTendonAnchor(data); case 1088: return new ::Ifc4x2::IfcTendonAnchorType(data); case 1089: return new ::Ifc4x2::IfcTendonAnchorTypeEnum(data); case 1090: return new ::Ifc4x2::IfcTendonConduit(data); case 1091: return new ::Ifc4x2::IfcTendonConduitType(data); case 1092: return new ::Ifc4x2::IfcTendonConduitTypeEnum(data); case 1093: return new ::Ifc4x2::IfcTendonType(data); case 1094: return new ::Ifc4x2::IfcTendonTypeEnum(data); case 1095: return new ::Ifc4x2::IfcTessellatedFaceSet(data); case 1096: return new ::Ifc4x2::IfcTessellatedItem(data); case 1097: return new ::Ifc4x2::IfcText(data); case 1098: return new ::Ifc4x2::IfcTextAlignment(data); case 1099: return new ::Ifc4x2::IfcTextDecoration(data); case 1100: return new ::Ifc4x2::IfcTextFontName(data); case 1102: return new ::Ifc4x2::IfcTextLiteral(data); case 1103: return new ::Ifc4x2::IfcTextLiteralWithExtent(data); case 1104: return new ::Ifc4x2::IfcTextPath(data); case 1105: return new ::Ifc4x2::IfcTextStyle(data); case 1106: return new ::Ifc4x2::IfcTextStyleFontModel(data); case 1107: return new ::Ifc4x2::IfcTextStyleForDefinedFont(data); case 1108: return new ::Ifc4x2::IfcTextStyleTextModel(data); case 1109: return new ::Ifc4x2::IfcTextTransformation(data); case 1110: return new ::Ifc4x2::IfcTextureCoordinate(data); case 1111: return new ::Ifc4x2::IfcTextureCoordinateGenerator(data); case 1112: return new ::Ifc4x2::IfcTextureMap(data); case 1113: return new ::Ifc4x2::IfcTextureVertex(data); case 1114: return new ::Ifc4x2::IfcTextureVertexList(data); case 1115: return new ::Ifc4x2::IfcThermalAdmittanceMeasure(data); case 1116: return new ::Ifc4x2::IfcThermalConductivityMeasure(data); case 1117: return new ::Ifc4x2::IfcThermalExpansionCoefficientMeasure(data); case 1118: return new ::Ifc4x2::IfcThermalResistanceMeasure(data); case 1119: return new ::Ifc4x2::IfcThermalTransmittanceMeasure(data); case 1120: return new ::Ifc4x2::IfcThermodynamicTemperatureMeasure(data); case 1121: return new ::Ifc4x2::IfcTime(data); case 1122: return new ::Ifc4x2::IfcTimeMeasure(data); case 1124: return new ::Ifc4x2::IfcTimePeriod(data); case 1125: return new ::Ifc4x2::IfcTimeSeries(data); case 1126: return new ::Ifc4x2::IfcTimeSeriesDataTypeEnum(data); case 1127: return new ::Ifc4x2::IfcTimeSeriesValue(data); case 1128: return new ::Ifc4x2::IfcTimeStamp(data); case 1129: return new ::Ifc4x2::IfcTopologicalRepresentationItem(data); case 1130: return new ::Ifc4x2::IfcTopologyRepresentation(data); case 1131: return new ::Ifc4x2::IfcToroidalSurface(data); case 1132: return new ::Ifc4x2::IfcTorqueMeasure(data); case 1133: return new ::Ifc4x2::IfcTransformer(data); case 1134: return new ::Ifc4x2::IfcTransformerType(data); case 1135: return new ::Ifc4x2::IfcTransformerTypeEnum(data); case 1136: return new ::Ifc4x2::IfcTransitionCode(data); case 1137: return new ::Ifc4x2::IfcTransitionCurveSegment2D(data); case 1138: return new ::Ifc4x2::IfcTransitionCurveType(data); case 1140: return new ::Ifc4x2::IfcTransportElement(data); case 1141: return new ::Ifc4x2::IfcTransportElementType(data); case 1142: return new ::Ifc4x2::IfcTransportElementTypeEnum(data); case 1143: return new ::Ifc4x2::IfcTrapeziumProfileDef(data); case 1144: return new ::Ifc4x2::IfcTriangulatedFaceSet(data); case 1145: return new ::Ifc4x2::IfcTriangulatedIrregularNetwork(data); case 1146: return new ::Ifc4x2::IfcTrimmedCurve(data); case 1147: return new ::Ifc4x2::IfcTrimmingPreference(data); case 1149: return new ::Ifc4x2::IfcTShapeProfileDef(data); case 1150: return new ::Ifc4x2::IfcTubeBundle(data); case 1151: return new ::Ifc4x2::IfcTubeBundleType(data); case 1152: return new ::Ifc4x2::IfcTubeBundleTypeEnum(data); case 1153: return new ::Ifc4x2::IfcTypeObject(data); case 1154: return new ::Ifc4x2::IfcTypeProcess(data); case 1155: return new ::Ifc4x2::IfcTypeProduct(data); case 1156: return new ::Ifc4x2::IfcTypeResource(data); case 1158: return new ::Ifc4x2::IfcUnitaryControlElement(data); case 1159: return new ::Ifc4x2::IfcUnitaryControlElementType(data); case 1160: return new ::Ifc4x2::IfcUnitaryControlElementTypeEnum(data); case 1161: return new ::Ifc4x2::IfcUnitaryEquipment(data); case 1162: return new ::Ifc4x2::IfcUnitaryEquipmentType(data); case 1163: return new ::Ifc4x2::IfcUnitaryEquipmentTypeEnum(data); case 1164: return new ::Ifc4x2::IfcUnitAssignment(data); case 1165: return new ::Ifc4x2::IfcUnitEnum(data); case 1166: return new ::Ifc4x2::IfcURIReference(data); case 1167: return new ::Ifc4x2::IfcUShapeProfileDef(data); case 1169: return new ::Ifc4x2::IfcValve(data); case 1170: return new ::Ifc4x2::IfcValveType(data); case 1171: return new ::Ifc4x2::IfcValveTypeEnum(data); case 1172: return new ::Ifc4x2::IfcVaporPermeabilityMeasure(data); case 1173: return new ::Ifc4x2::IfcVector(data); case 1175: return new ::Ifc4x2::IfcVertex(data); case 1176: return new ::Ifc4x2::IfcVertexLoop(data); case 1177: return new ::Ifc4x2::IfcVertexPoint(data); case 1178: return new ::Ifc4x2::IfcVibrationDamper(data); case 1179: return new ::Ifc4x2::IfcVibrationDamperType(data); case 1180: return new ::Ifc4x2::IfcVibrationDamperTypeEnum(data); case 1181: return new ::Ifc4x2::IfcVibrationIsolator(data); case 1182: return new ::Ifc4x2::IfcVibrationIsolatorType(data); case 1183: return new ::Ifc4x2::IfcVibrationIsolatorTypeEnum(data); case 1184: return new ::Ifc4x2::IfcVirtualElement(data); case 1185: return new ::Ifc4x2::IfcVirtualGridIntersection(data); case 1186: return new ::Ifc4x2::IfcVoidingFeature(data); case 1187: return new ::Ifc4x2::IfcVoidingFeatureTypeEnum(data); case 1188: return new ::Ifc4x2::IfcVolumeMeasure(data); case 1189: return new ::Ifc4x2::IfcVolumetricFlowRateMeasure(data); case 1190: return new ::Ifc4x2::IfcWall(data); case 1191: return new ::Ifc4x2::IfcWallElementedCase(data); case 1192: return new ::Ifc4x2::IfcWallStandardCase(data); case 1193: return new ::Ifc4x2::IfcWallType(data); case 1194: return new ::Ifc4x2::IfcWallTypeEnum(data); case 1195: return new ::Ifc4x2::IfcWarpingConstantMeasure(data); case 1196: return new ::Ifc4x2::IfcWarpingMomentMeasure(data); case 1198: return new ::Ifc4x2::IfcWasteTerminal(data); case 1199: return new ::Ifc4x2::IfcWasteTerminalType(data); case 1200: return new ::Ifc4x2::IfcWasteTerminalTypeEnum(data); case 1201: return new ::Ifc4x2::IfcWindow(data); case 1202: return new ::Ifc4x2::IfcWindowLiningProperties(data); case 1203: return new ::Ifc4x2::IfcWindowPanelOperationEnum(data); case 1204: return new ::Ifc4x2::IfcWindowPanelPositionEnum(data); case 1205: return new ::Ifc4x2::IfcWindowPanelProperties(data); case 1206: return new ::Ifc4x2::IfcWindowStandardCase(data); case 1207: return new ::Ifc4x2::IfcWindowStyle(data); case 1208: return new ::Ifc4x2::IfcWindowStyleConstructionEnum(data); case 1209: return new ::Ifc4x2::IfcWindowStyleOperationEnum(data); case 1210: return new ::Ifc4x2::IfcWindowType(data); case 1211: return new ::Ifc4x2::IfcWindowTypeEnum(data); case 1212: return new ::Ifc4x2::IfcWindowTypePartitioningEnum(data); case 1213: return new ::Ifc4x2::IfcWorkCalendar(data); case 1214: return new ::Ifc4x2::IfcWorkCalendarTypeEnum(data); case 1215: return new ::Ifc4x2::IfcWorkControl(data); case 1216: return new ::Ifc4x2::IfcWorkPlan(data); case 1217: return new ::Ifc4x2::IfcWorkPlanTypeEnum(data); case 1218: return new ::Ifc4x2::IfcWorkSchedule(data); case 1219: return new ::Ifc4x2::IfcWorkScheduleTypeEnum(data); case 1220: return new ::Ifc4x2::IfcWorkTime(data); case 1221: return new ::Ifc4x2::IfcZone(data); case 1222: return new ::Ifc4x2::IfcZShapeProfileDef(data); default: throw IfcParse::IfcException(data->type()->name() + " cannot be instantiated"); } } }; #if defined(__clang__) __attribute__((optnone)) #elif defined(__GNUC__) || defined(__GNUG__) #pragma GCC push_options #pragma GCC optimize ("O0") #elif defined(_MSC_VER) #pragma optimize("", off) #endif IfcParse::schema_definition* IFC4X2_populate_schema() { IFC4X2_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 0, new simple_type(simple_type::real_type)); IFC4X2_IfcAccelerationMeasure_type = new type_declaration("IfcAccelerationMeasure", 1, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(7); items.push_back("EMAIL"); items.push_back("FAX"); items.push_back("NOTDEFINED"); items.push_back("PHONE"); items.push_back("POST"); items.push_back("USERDEFINED"); items.push_back("VERBAL"); IFC4X2_IfcActionRequestTypeEnum_type = new enumeration_type("IfcActionRequestTypeEnum", 3, items); } { std::vector items; items.reserve(27); items.push_back("BRAKES"); items.push_back("BUOYANCY"); items.push_back("COMPLETION_G1"); items.push_back("CREEP"); items.push_back("CURRENT"); items.push_back("DEAD_LOAD_G"); items.push_back("EARTHQUAKE_E"); items.push_back("ERECTION"); items.push_back("FIRE"); items.push_back("ICE"); items.push_back("IMPACT"); items.push_back("IMPULSE"); items.push_back("LACK_OF_FIT"); items.push_back("LIVE_LOAD_Q"); items.push_back("NOTDEFINED"); items.push_back("PRESTRESSING_P"); items.push_back("PROPPING"); items.push_back("RAIN"); items.push_back("SETTLEMENT_U"); items.push_back("SHRINKAGE"); items.push_back("SNOW_S"); items.push_back("SYSTEM_IMPERFECTION"); items.push_back("TEMPERATURE_T"); items.push_back("TRANSPORT"); items.push_back("USERDEFINED"); items.push_back("WAVE"); items.push_back("WIND_W"); IFC4X2_IfcActionSourceTypeEnum_type = new enumeration_type("IfcActionSourceTypeEnum", 4, items); } { std::vector items; items.reserve(5); items.push_back("EXTRAORDINARY_A"); items.push_back("NOTDEFINED"); items.push_back("PERMANENT_G"); items.push_back("USERDEFINED"); items.push_back("VARIABLE_Q"); IFC4X2_IfcActionTypeEnum_type = new enumeration_type("IfcActionTypeEnum", 5, items); } { std::vector items; items.reserve(7); items.push_back("ELECTRICACTUATOR"); items.push_back("HANDOPERATEDACTUATOR"); items.push_back("HYDRAULICACTUATOR"); items.push_back("NOTDEFINED"); items.push_back("PNEUMATICACTUATOR"); items.push_back("THERMOSTATICACTUATOR"); items.push_back("USERDEFINED"); IFC4X2_IfcActuatorTypeEnum_type = new enumeration_type("IfcActuatorTypeEnum", 11, items); } { std::vector items; items.reserve(5); items.push_back("DISTRIBUTIONPOINT"); items.push_back("HOME"); items.push_back("OFFICE"); items.push_back("SITE"); items.push_back("USERDEFINED"); IFC4X2_IfcAddressTypeEnum_type = new enumeration_type("IfcAddressTypeEnum", 13, items); } { std::vector items; items.reserve(5); items.push_back("CONSTANTFLOW"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("VARIABLEFLOWPRESSUREDEPENDANT"); items.push_back("VARIABLEFLOWPRESSUREINDEPENDANT"); IFC4X2_IfcAirTerminalBoxTypeEnum_type = new enumeration_type("IfcAirTerminalBoxTypeEnum", 20, items); } { std::vector items; items.reserve(6); items.push_back("DIFFUSER"); items.push_back("GRILLE"); items.push_back("LOUVRE"); items.push_back("NOTDEFINED"); items.push_back("REGISTER"); items.push_back("USERDEFINED"); IFC4X2_IfcAirTerminalTypeEnum_type = new enumeration_type("IfcAirTerminalTypeEnum", 22, items); } { std::vector items; items.reserve(11); items.push_back("FIXEDPLATECOUNTERFLOWEXCHANGER"); items.push_back("FIXEDPLATECROSSFLOWEXCHANGER"); items.push_back("FIXEDPLATEPARALLELFLOWEXCHANGER"); items.push_back("HEATPIPE"); items.push_back("NOTDEFINED"); items.push_back("ROTARYWHEEL"); items.push_back("RUNAROUNDCOILLOOP"); items.push_back("THERMOSIPHONCOILTYPEHEATEXCHANGERS"); items.push_back("THERMOSIPHONSEALEDTUBEHEATEXCHANGERS"); items.push_back("TWINTOWERENTHALPYRECOVERYLOOPS"); items.push_back("USERDEFINED"); IFC4X2_IfcAirToAirHeatRecoveryTypeEnum_type = new enumeration_type("IfcAirToAirHeatRecoveryTypeEnum", 25, items); } { std::vector items; items.reserve(8); items.push_back("BELL"); items.push_back("BREAKGLASSBUTTON"); items.push_back("LIGHT"); items.push_back("MANUALPULLBOX"); items.push_back("NOTDEFINED"); items.push_back("SIREN"); items.push_back("USERDEFINED"); items.push_back("WHISTLE"); IFC4X2_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 28, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcAlignmentTypeEnum_type = new enumeration_type("IfcAlignmentTypeEnum", 39, items); } IFC4X2_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 40, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("IN_PLANE_LOADING_2D"); items.push_back("LOADING_3D"); items.push_back("NOTDEFINED"); items.push_back("OUT_PLANE_LOADING_2D"); items.push_back("USERDEFINED"); IFC4X2_IfcAnalysisModelTypeEnum_type = new enumeration_type("IfcAnalysisModelTypeEnum", 41, items); } { std::vector items; items.reserve(6); items.push_back("FIRST_ORDER_THEORY"); items.push_back("FULL_NONLINEAR_THEORY"); items.push_back("NOTDEFINED"); items.push_back("SECOND_ORDER_THEORY"); items.push_back("THIRD_ORDER_THEORY"); items.push_back("USERDEFINED"); IFC4X2_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 42, items); } IFC4X2_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 43, new simple_type(simple_type::real_type)); IFC4X2_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 55, new simple_type(simple_type::real_type)); IFC4X2_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 56, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("ADD"); items.push_back("DIVIDE"); items.push_back("MULTIPLY"); items.push_back("SUBTRACT"); IFC4X2_IfcArithmeticOperatorEnum_type = new enumeration_type("IfcArithmeticOperatorEnum", 57, items); } { std::vector items; items.reserve(3); items.push_back("FACTORY"); items.push_back("NOTDEFINED"); items.push_back("SITE"); IFC4X2_IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", 58, items); } { std::vector items; items.reserve(13); items.push_back("AMPLIFIER"); items.push_back("CAMERA"); items.push_back("DISPLAY"); items.push_back("MICROPHONE"); items.push_back("NOTDEFINED"); items.push_back("PLAYER"); items.push_back("PROJECTOR"); items.push_back("RECEIVER"); items.push_back("SPEAKER"); items.push_back("SWITCHER"); items.push_back("TELEPHONE"); items.push_back("TUNER"); items.push_back("USERDEFINED"); IFC4X2_IfcAudioVisualApplianceTypeEnum_type = new enumeration_type("IfcAudioVisualApplianceTypeEnum", 63, items); } { std::vector items; items.reserve(6); items.push_back("CIRCULAR_ARC"); items.push_back("ELLIPTIC_ARC"); items.push_back("HYPERBOLIC_ARC"); items.push_back("PARABOLIC_ARC"); items.push_back("POLYLINE_FORM"); items.push_back("UNSPECIFIED"); IFC4X2_IfcBSplineCurveForm_type = new enumeration_type("IfcBSplineCurveForm", 105, items); } { std::vector items; items.reserve(11); items.push_back("CONICAL_SURF"); items.push_back("CYLINDRICAL_SURF"); items.push_back("GENERALISED_CONE"); items.push_back("PLANE_SURF"); items.push_back("QUADRIC_SURF"); items.push_back("RULED_SURF"); items.push_back("SPHERICAL_SURF"); items.push_back("SURF_OF_LINEAR_EXTRUSION"); items.push_back("SURF_OF_REVOLUTION"); items.push_back("TOROIDAL_SURF"); items.push_back("UNSPECIFIED"); IFC4X2_IfcBSplineSurfaceForm_type = new enumeration_type("IfcBSplineSurfaceForm", 108, items); } { std::vector items; items.reserve(14); items.push_back("BEAM"); items.push_back("CORNICE"); items.push_back("DIAPHRAGM"); items.push_back("EDGEBEAM"); items.push_back("GIRDER_SEGMENT"); items.push_back("HATSTONE"); items.push_back("HOLLOWCORE"); items.push_back("JOIST"); items.push_back("LINTEL"); items.push_back("NOTDEFINED"); items.push_back("PIERCAP"); items.push_back("SPANDREL"); items.push_back("T_BEAM"); items.push_back("USERDEFINED"); IFC4X2_IfcBeamTypeEnum_type = new enumeration_type("IfcBeamTypeEnum", 71, items); } { std::vector items; items.reserve(5); items.push_back("FIXED_MOVEMENT"); items.push_back("FREE_MOVEMENT"); items.push_back("GUIDED_LONGITUDINAL"); items.push_back("GUIDED_TRANSVERSAL"); items.push_back("NOTDEFINED"); IFC4X2_IfcBearingTypeDisplacementEnum_type = new enumeration_type("IfcBearingTypeDisplacementEnum", 74, items); } { std::vector items; items.reserve(10); items.push_back("CYLINDRICAL"); items.push_back("DISK"); items.push_back("ELASTOMERIC"); items.push_back("GUIDE"); items.push_back("NOTDEFINED"); items.push_back("POT"); items.push_back("ROCKER"); items.push_back("ROLLER"); items.push_back("SPHERICAL"); items.push_back("USERDEFINED"); IFC4X2_IfcBearingTypeEnum_type = new enumeration_type("IfcBearingTypeEnum", 75, items); } { std::vector items; items.reserve(10); items.push_back("EQUALTO"); items.push_back("GREATERTHAN"); items.push_back("GREATERTHANOREQUALTO"); items.push_back("INCLUDEDIN"); items.push_back("INCLUDES"); items.push_back("LESSTHAN"); items.push_back("LESSTHANOREQUALTO"); items.push_back("NOTEQUALTO"); items.push_back("NOTINCLUDEDIN"); items.push_back("NOTINCLUDES"); IFC4X2_IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", 76, items); } IFC4X2_IfcBinary_type = new type_declaration("IfcBinary", 78, new simple_type(simple_type::binary_type)); { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("STEAM"); items.push_back("USERDEFINED"); items.push_back("WATER"); IFC4X2_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 83, items); } IFC4X2_IfcBoolean_type = new type_declaration("IfcBoolean", 84, new simple_type(simple_type::boolean_type)); { std::vector items; items.reserve(3); items.push_back("DIFFERENCE"); items.push_back("INTERSECTION"); items.push_back("UNION"); IFC4X2_IfcBooleanOperator_type = new enumeration_type("IfcBooleanOperator", 87, items); } { std::vector items; items.reserve(12); items.push_back("ABUTMENT"); items.push_back("DECK"); items.push_back("DECK_SEGMENT"); items.push_back("FOUNDATION"); items.push_back("NOTDEFINED"); items.push_back("PIER"); items.push_back("PIER_SEGMENT"); items.push_back("PYLON"); items.push_back("SUBSTRUCTURE"); items.push_back("SUPERSTRUCTURE"); items.push_back("SURFACESTRUCTURE"); items.push_back("USERDEFINED"); IFC4X2_IfcBridgePartTypeEnum_type = new enumeration_type("IfcBridgePartTypeEnum", 102, items); } { std::vector items; items.reserve(10); items.push_back("ARCHED"); items.push_back("CABLE_STAYED"); items.push_back("CANTILEVER"); items.push_back("CULVERT"); items.push_back("FRAMEWORK"); items.push_back("GIRDER"); items.push_back("NOTDEFINED"); items.push_back("SUSPENSION"); items.push_back("TRUSS"); items.push_back("USERDEFINED"); IFC4X2_IfcBridgeTypeEnum_type = new enumeration_type("IfcBridgeTypeEnum", 103, items); } { std::vector items; items.reserve(5); items.push_back("APRON"); items.push_back("INSULATION"); items.push_back("NOTDEFINED"); items.push_back("PRECASTPANEL"); items.push_back("USERDEFINED"); IFC4X2_IfcBuildingElementPartTypeEnum_type = new enumeration_type("IfcBuildingElementPartTypeEnum", 114, items); } { std::vector items; items.reserve(7); items.push_back("COMPLEX"); items.push_back("ELEMENT"); items.push_back("NOTDEFINED"); items.push_back("PARTIAL"); items.push_back("PROVISIONFORSPACE"); items.push_back("PROVISIONFORVOID"); items.push_back("USERDEFINED"); IFC4X2_IfcBuildingElementProxyTypeEnum_type = new enumeration_type("IfcBuildingElementProxyTypeEnum", 117, items); } { std::vector items; items.reserve(10); items.push_back("FENESTRATION"); items.push_back("FOUNDATION"); items.push_back("LOADBEARING"); items.push_back("NOTDEFINED"); items.push_back("OUTERSHELL"); items.push_back("PRESTRESSING"); items.push_back("REINFORCING"); items.push_back("SHADING"); items.push_back("TRANSPORT"); items.push_back("USERDEFINED"); IFC4X2_IfcBuildingSystemTypeEnum_type = new enumeration_type("IfcBuildingSystemTypeEnum", 121, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcBurnerTypeEnum_type = new enumeration_type("IfcBurnerTypeEnum", 124, 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"); IFC4X2_IfcCableCarrierFittingTypeEnum_type = new enumeration_type("IfcCableCarrierFittingTypeEnum", 127, 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"); IFC4X2_IfcCableCarrierSegmentTypeEnum_type = new enumeration_type("IfcCableCarrierSegmentTypeEnum", 130, items); } { std::vector items; items.reserve(7); items.push_back("CONNECTOR"); items.push_back("ENTRY"); items.push_back("EXIT"); items.push_back("JUNCTION"); items.push_back("NOTDEFINED"); items.push_back("TRANSITION"); items.push_back("USERDEFINED"); IFC4X2_IfcCableFittingTypeEnum_type = new enumeration_type("IfcCableFittingTypeEnum", 133, items); } { std::vector items; items.reserve(6); items.push_back("BUSBARSEGMENT"); items.push_back("CABLESEGMENT"); items.push_back("CONDUCTORSEGMENT"); items.push_back("CORESEGMENT"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", 136, items); } { std::vector items; items.reserve(4); items.push_back("CAISSON"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("WELL"); IFC4X2_IfcCaissonFoundationTypeEnum_type = new enumeration_type("IfcCaissonFoundationTypeEnum", 139, items); } IFC4X2_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 140, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(5); items.push_back("ADDED"); items.push_back("DELETED"); items.push_back("MODIFIED"); items.push_back("NOCHANGE"); items.push_back("NOTDEFINED"); IFC4X2_IfcChangeActionEnum_type = new enumeration_type("IfcChangeActionEnum", 151, 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"); IFC4X2_IfcChillerTypeEnum_type = new enumeration_type("IfcChillerTypeEnum", 154, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcChimneyTypeEnum_type = new enumeration_type("IfcChimneyTypeEnum", 157, items); } { std::vector items; items.reserve(9); items.push_back("DXCOOLINGCOIL"); items.push_back("ELECTRICHEATINGCOIL"); items.push_back("GASHEATINGCOIL"); items.push_back("HYDRONICCOIL"); items.push_back("NOTDEFINED"); items.push_back("STEAMHEATINGCOIL"); items.push_back("USERDEFINED"); items.push_back("WATERCOOLINGCOIL"); items.push_back("WATERHEATINGCOIL"); IFC4X2_IfcCoilTypeEnum_type = new enumeration_type("IfcCoilTypeEnum", 171, items); } { std::vector items; items.reserve(7); items.push_back("COLUMN"); items.push_back("NOTDEFINED"); items.push_back("PIERSTEM"); items.push_back("PIERSTEM_SEGMENT"); items.push_back("PILASTER"); items.push_back("STANDCOLUMN"); items.push_back("USERDEFINED"); IFC4X2_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 180, items); } { std::vector items; items.reserve(14); items.push_back("ANTENNA"); items.push_back("COMPUTER"); items.push_back("FAX"); items.push_back("GATEWAY"); items.push_back("MODEM"); items.push_back("NETWORKAPPLIANCE"); items.push_back("NETWORKBRIDGE"); items.push_back("NETWORKHUB"); items.push_back("NOTDEFINED"); items.push_back("PRINTER"); items.push_back("REPEATER"); items.push_back("ROUTER"); items.push_back("SCANNER"); items.push_back("USERDEFINED"); IFC4X2_IfcCommunicationsApplianceTypeEnum_type = new enumeration_type("IfcCommunicationsApplianceTypeEnum", 183, items); } IFC4X2_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 184, new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type))); { std::vector items; items.reserve(2); items.push_back("P_COMPLEX"); items.push_back("Q_COMPLEX"); IFC4X2_IfcComplexPropertyTemplateTypeEnum_type = new enumeration_type("IfcComplexPropertyTemplateTypeEnum", 187, items); } IFC4X2_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 192, new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type))); { std::vector items; items.reserve(17); items.push_back("BOOSTER"); items.push_back("DYNAMIC"); items.push_back("HERMETIC"); items.push_back("NOTDEFINED"); items.push_back("OPENTYPE"); items.push_back("RECIPROCATING"); items.push_back("ROLLINGPISTON"); items.push_back("ROTARY"); items.push_back("ROTARYVANE"); items.push_back("SCROLL"); items.push_back("SEMIHERMETIC"); items.push_back("SINGLESCREW"); items.push_back("SINGLESTAGE"); items.push_back("TROCHOIDAL"); items.push_back("TWINSCREW"); items.push_back("USERDEFINED"); items.push_back("WELDEDSHELLHERMETIC"); IFC4X2_IfcCompressorTypeEnum_type = new enumeration_type("IfcCompressorTypeEnum", 195, items); } { std::vector items; items.reserve(9); items.push_back("AIRCOOLED"); items.push_back("EVAPORATIVECOOLED"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("WATERCOOLED"); items.push_back("WATERCOOLEDBRAZEDPLATE"); items.push_back("WATERCOOLEDSHELLCOIL"); items.push_back("WATERCOOLEDSHELLTUBE"); items.push_back("WATERCOOLEDTUBEINTUBE"); IFC4X2_IfcCondenserTypeEnum_type = new enumeration_type("IfcCondenserTypeEnum", 198, items); } { std::vector items; items.reserve(4); items.push_back("ATEND"); items.push_back("ATPATH"); items.push_back("ATSTART"); items.push_back("NOTDEFINED"); IFC4X2_IfcConnectionTypeEnum_type = new enumeration_type("IfcConnectionTypeEnum", 206, 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"); IFC4X2_IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", 209, items); } { std::vector items; items.reserve(10); items.push_back("DEMOLISHING"); items.push_back("EARTHMOVING"); items.push_back("ERECTING"); items.push_back("HEATING"); items.push_back("LIGHTING"); items.push_back("NOTDEFINED"); items.push_back("PAVING"); items.push_back("PUMPING"); items.push_back("TRANSPORTING"); items.push_back("USERDEFINED"); IFC4X2_IfcConstructionEquipmentResourceTypeEnum_type = new enumeration_type("IfcConstructionEquipmentResourceTypeEnum", 212, items); } { std::vector items; items.reserve(11); items.push_back("AGGREGATES"); items.push_back("CONCRETE"); items.push_back("DRYWALL"); items.push_back("FUEL"); items.push_back("GYPSUM"); items.push_back("MASONRY"); items.push_back("METAL"); items.push_back("NOTDEFINED"); items.push_back("PLASTIC"); items.push_back("USERDEFINED"); items.push_back("WOOD"); IFC4X2_IfcConstructionMaterialResourceTypeEnum_type = new enumeration_type("IfcConstructionMaterialResourceTypeEnum", 215, items); } { std::vector items; items.reserve(4); items.push_back("ASSEMBLY"); items.push_back("FORMWORK"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcConstructionProductResourceTypeEnum_type = new enumeration_type("IfcConstructionProductResourceTypeEnum", 218, items); } IFC4X2_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 222, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(7); items.push_back("FLOATING"); items.push_back("MULTIPOSITION"); items.push_back("NOTDEFINED"); items.push_back("PROGRAMMABLE"); items.push_back("PROPORTIONAL"); items.push_back("TWOPOSITION"); items.push_back("USERDEFINED"); IFC4X2_IfcControllerTypeEnum_type = new enumeration_type("IfcControllerTypeEnum", 227, items); } { std::vector items; items.reserve(4); items.push_back("ACTIVE"); items.push_back("NOTDEFINED"); items.push_back("PASSIVE"); items.push_back("USERDEFINED"); IFC4X2_IfcCooledBeamTypeEnum_type = new enumeration_type("IfcCooledBeamTypeEnum", 232, 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"); IFC4X2_IfcCoolingTowerTypeEnum_type = new enumeration_type("IfcCoolingTowerTypeEnum", 235, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcCostItemTypeEnum_type = new enumeration_type("IfcCostItemTypeEnum", 240, 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"); IFC4X2_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 242, items); } IFC4X2_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 244, new simple_type(simple_type::number_type)); { std::vector items; items.reserve(13); items.push_back("CEILING"); items.push_back("CLADDING"); items.push_back("COPING"); items.push_back("FLOORING"); items.push_back("INSULATION"); items.push_back("MEMBRANE"); items.push_back("MOLDING"); items.push_back("NOTDEFINED"); items.push_back("ROOFING"); items.push_back("SKIRTINGBOARD"); items.push_back("SLEEVING"); items.push_back("USERDEFINED"); items.push_back("WRAPPING"); IFC4X2_IfcCoveringTypeEnum_type = new enumeration_type("IfcCoveringTypeEnum", 247, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("OFFICE"); items.push_back("SITE"); items.push_back("USERDEFINED"); IFC4X2_IfcCrewResourceTypeEnum_type = new enumeration_type("IfcCrewResourceTypeEnum", 250, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 258, items); } IFC4X2_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 259, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("LINEAR"); items.push_back("LOG_LINEAR"); items.push_back("LOG_LOG"); items.push_back("NOTDEFINED"); IFC4X2_IfcCurveInterpolationEnum_type = new enumeration_type("IfcCurveInterpolationEnum", 264, 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"); IFC4X2_IfcDamperTypeEnum_type = new enumeration_type("IfcDamperTypeEnum", 276, 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"); IFC4X2_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 277, items); } IFC4X2_IfcDate_type = new type_declaration("IfcDate", 278, new simple_type(simple_type::string_type)); IFC4X2_IfcDateTime_type = new type_declaration("IfcDateTime", 279, new simple_type(simple_type::string_type)); IFC4X2_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 280, new simple_type(simple_type::integer_type)); IFC4X2_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 281, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(53); items.push_back("ACCELERATIONUNIT"); items.push_back("ANGULARVELOCITYUNIT"); items.push_back("AREADENSITYUNIT"); items.push_back("COMPOUNDPLANEANGLEUNIT"); items.push_back("CURVATUREUNIT"); items.push_back("DYNAMICVISCOSITYUNIT"); items.push_back("HEATFLUXDENSITYUNIT"); items.push_back("HEATINGVALUEUNIT"); items.push_back("INTEGERCOUNTRATEUNIT"); items.push_back("IONCONCENTRATIONUNIT"); items.push_back("ISOTHERMALMOISTURECAPACITYUNIT"); items.push_back("KINEMATICVISCOSITYUNIT"); items.push_back("LINEARFORCEUNIT"); items.push_back("LINEARMOMENTUNIT"); items.push_back("LINEARSTIFFNESSUNIT"); items.push_back("LINEARVELOCITYUNIT"); items.push_back("LUMINOUSINTENSITYDISTRIBUTIONUNIT"); items.push_back("MASSDENSITYUNIT"); items.push_back("MASSFLOWRATEUNIT"); items.push_back("MASSPERLENGTHUNIT"); items.push_back("MODULUSOFELASTICITYUNIT"); items.push_back("MODULUSOFLINEARSUBGRADEREACTIONUNIT"); items.push_back("MODULUSOFROTATIONALSUBGRADEREACTIONUNIT"); items.push_back("MODULUSOFSUBGRADEREACTIONUNIT"); items.push_back("MOISTUREDIFFUSIVITYUNIT"); items.push_back("MOLECULARWEIGHTUNIT"); items.push_back("MOMENTOFINERTIAUNIT"); items.push_back("PHUNIT"); items.push_back("PLANARFORCEUNIT"); items.push_back("ROTATIONALFREQUENCYUNIT"); items.push_back("ROTATIONALMASSUNIT"); items.push_back("ROTATIONALSTIFFNESSUNIT"); items.push_back("SECTIONAREAINTEGRALUNIT"); items.push_back("SECTIONMODULUSUNIT"); items.push_back("SHEARMODULUSUNIT"); items.push_back("SOUNDPOWERLEVELUNIT"); items.push_back("SOUNDPOWERUNIT"); items.push_back("SOUNDPRESSURELEVELUNIT"); items.push_back("SOUNDPRESSUREUNIT"); items.push_back("SPECIFICHEATCAPACITYUNIT"); items.push_back("TEMPERATUREGRADIENTUNIT"); items.push_back("TEMPERATURERATEOFCHANGEUNIT"); items.push_back("THERMALADMITTANCEUNIT"); items.push_back("THERMALCONDUCTANCEUNIT"); items.push_back("THERMALEXPANSIONCOEFFICIENTUNIT"); items.push_back("THERMALRESISTANCEUNIT"); items.push_back("THERMALTRANSMITTANCEUNIT"); items.push_back("TORQUEUNIT"); items.push_back("USERDEFINED"); items.push_back("VAPORPERMEABILITYUNIT"); items.push_back("VOLUMETRICFLOWRATEUNIT"); items.push_back("WARPINGCONSTANTUNIT"); items.push_back("WARPINGMOMENTUNIT"); IFC4X2_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 289, items); } IFC4X2_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 290, new simple_type(simple_type::string_type)); IFC4X2_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 292, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(2); items.push_back("NEGATIVE"); items.push_back("POSITIVE"); IFC4X2_IfcDirectionSenseEnum_type = new enumeration_type("IfcDirectionSenseEnum", 294, items); } { std::vector items; items.reserve(6); items.push_back("ANCHORPLATE"); items.push_back("BRACKET"); items.push_back("EXPANSION_JOINT_DEVICE"); items.push_back("NOTDEFINED"); items.push_back("SHOE"); items.push_back("USERDEFINED"); IFC4X2_IfcDiscreteAccessoryTypeEnum_type = new enumeration_type("IfcDiscreteAccessoryTypeEnum", 297, 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"); IFC4X2_IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", 301, items); } { std::vector items; items.reserve(6); items.push_back("CABLE"); items.push_back("CABLECARRIER"); items.push_back("DUCT"); items.push_back("NOTDEFINED"); items.push_back("PIPE"); items.push_back("USERDEFINED"); IFC4X2_IfcDistributionPortTypeEnum_type = new enumeration_type("IfcDistributionPortTypeEnum", 310, items); } { std::vector items; items.reserve(44); items.push_back("AIRCONDITIONING"); items.push_back("AUDIOVISUAL"); items.push_back("CHEMICAL"); items.push_back("CHILLEDWATER"); items.push_back("COMMUNICATION"); items.push_back("COMPRESSEDAIR"); items.push_back("CONDENSERWATER"); items.push_back("CONTROL"); items.push_back("CONVEYING"); items.push_back("DATA"); items.push_back("DISPOSAL"); items.push_back("DOMESTICCOLDWATER"); items.push_back("DOMESTICHOTWATER"); items.push_back("DRAINAGE"); items.push_back("EARTHING"); items.push_back("ELECTRICAL"); items.push_back("ELECTROACOUSTIC"); items.push_back("EXHAUST"); items.push_back("FIREPROTECTION"); items.push_back("FUEL"); items.push_back("GAS"); items.push_back("HAZARDOUS"); items.push_back("HEATING"); items.push_back("LIGHTING"); items.push_back("LIGHTNINGPROTECTION"); items.push_back("MUNICIPALSOLIDWASTE"); items.push_back("NOTDEFINED"); items.push_back("OIL"); items.push_back("OPERATIONAL"); items.push_back("POWERGENERATION"); items.push_back("RAINWATER"); items.push_back("REFRIGERATION"); items.push_back("SECURITY"); items.push_back("SEWAGE"); items.push_back("SIGNAL"); items.push_back("STORMWATER"); items.push_back("TELEPHONE"); items.push_back("TV"); items.push_back("USERDEFINED"); items.push_back("VACUUM"); items.push_back("VENT"); items.push_back("VENTILATION"); items.push_back("WASTEWATER"); items.push_back("WATERSUPPLY"); IFC4X2_IfcDistributionSystemEnum_type = new enumeration_type("IfcDistributionSystemEnum", 312, 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"); IFC4X2_IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", 313, 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"); IFC4X2_IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", 318, items); } { std::vector items; items.reserve(9); items.push_back("DOUBLE_ACTING"); items.push_back("FIXEDPANEL"); items.push_back("FOLDING"); items.push_back("NOTDEFINED"); items.push_back("REVOLVING"); items.push_back("ROLLINGUP"); items.push_back("SLIDING"); items.push_back("SWINGING"); items.push_back("USERDEFINED"); IFC4X2_IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", 321, items); } { std::vector items; items.reserve(4); items.push_back("LEFT"); items.push_back("MIDDLE"); items.push_back("NOTDEFINED"); items.push_back("RIGHT"); IFC4X2_IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", 322, 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"); IFC4X2_IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", 326, 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"); IFC4X2_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 327, items); } { std::vector items; items.reserve(5); items.push_back("DOOR"); items.push_back("GATE"); items.push_back("NOTDEFINED"); items.push_back("TRAPDOOR"); items.push_back("USERDEFINED"); IFC4X2_IfcDoorTypeEnum_type = new enumeration_type("IfcDoorTypeEnum", 329, items); } { std::vector items; items.reserve(20); items.push_back("DOUBLE_DOOR_DOUBLE_SWING"); items.push_back("DOUBLE_DOOR_FOLDING"); items.push_back("DOUBLE_DOOR_SINGLE_SWING"); items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT"); items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT"); items.push_back("DOUBLE_DOOR_SLIDING"); items.push_back("DOUBLE_SWING_LEFT"); items.push_back("DOUBLE_SWING_RIGHT"); items.push_back("FOLDING_TO_LEFT"); items.push_back("FOLDING_TO_RIGHT"); items.push_back("NOTDEFINED"); items.push_back("REVOLVING"); items.push_back("ROLLINGUP"); items.push_back("SINGLE_SWING_LEFT"); items.push_back("SINGLE_SWING_RIGHT"); items.push_back("SLIDING_TO_LEFT"); items.push_back("SLIDING_TO_RIGHT"); items.push_back("SWING_FIXED_LEFT"); items.push_back("SWING_FIXED_RIGHT"); items.push_back("USERDEFINED"); IFC4X2_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 330, items); } IFC4X2_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 331, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("BEND"); items.push_back("CONNECTOR"); items.push_back("ENTRY"); items.push_back("EXIT"); items.push_back("JUNCTION"); items.push_back("NOTDEFINED"); items.push_back("OBSTRUCTION"); items.push_back("TRANSITION"); items.push_back("USERDEFINED"); IFC4X2_IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", 336, items); } { std::vector items; items.reserve(4); items.push_back("FLEXIBLESEGMENT"); items.push_back("NOTDEFINED"); items.push_back("RIGIDSEGMENT"); items.push_back("USERDEFINED"); IFC4X2_IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", 339, 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"); IFC4X2_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 342, items); } IFC4X2_IfcDuration_type = new type_declaration("IfcDuration", 343, new simple_type(simple_type::string_type)); IFC4X2_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 344, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(18); items.push_back("DISHWASHER"); items.push_back("ELECTRICCOOKER"); items.push_back("FREESTANDINGELECTRICHEATER"); items.push_back("FREESTANDINGFAN"); items.push_back("FREESTANDINGWATERCOOLER"); items.push_back("FREESTANDINGWATERHEATER"); items.push_back("FREEZER"); items.push_back("FRIDGE_FREEZER"); items.push_back("HANDDRYER"); items.push_back("KITCHENMACHINE"); items.push_back("MICROWAVE"); items.push_back("NOTDEFINED"); items.push_back("PHOTOCOPIER"); items.push_back("REFRIGERATOR"); items.push_back("TUMBLEDRYER"); items.push_back("USERDEFINED"); items.push_back("VENDINGMACHINE"); items.push_back("WASHINGMACHINE"); IFC4X2_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 350, items); } IFC4X2_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 351, new simple_type(simple_type::real_type)); IFC4X2_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 352, new simple_type(simple_type::real_type)); IFC4X2_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 353, new simple_type(simple_type::real_type)); IFC4X2_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 354, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(6); items.push_back("CONSUMERUNIT"); items.push_back("DISTRIBUTIONBOARD"); items.push_back("MOTORCONTROLCENTRE"); items.push_back("NOTDEFINED"); items.push_back("SWITCHBOARD"); items.push_back("USERDEFINED"); IFC4X2_IfcElectricDistributionBoardTypeEnum_type = new enumeration_type("IfcElectricDistributionBoardTypeEnum", 357, 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"); IFC4X2_IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", 360, items); } { std::vector items; items.reserve(5); items.push_back("CHP"); items.push_back("ENGINEGENERATOR"); items.push_back("NOTDEFINED"); items.push_back("STANDALONE"); items.push_back("USERDEFINED"); IFC4X2_IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", 363, 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"); IFC4X2_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 366, items); } IFC4X2_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 367, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("NOTDEFINED"); items.push_back("RELAY"); items.push_back("TIMECLOCK"); items.push_back("TIMEDELAY"); items.push_back("USERDEFINED"); IFC4X2_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 370, items); } IFC4X2_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 371, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(16); items.push_back("ABUTMENT"); items.push_back("ACCESSORY_ASSEMBLY"); items.push_back("ARCH"); items.push_back("BEAM_GRID"); items.push_back("BRACED_FRAME"); items.push_back("CROSS_BRACING"); items.push_back("DECK"); items.push_back("GIRDER"); items.push_back("NOTDEFINED"); items.push_back("PIER"); items.push_back("PYLON"); items.push_back("REINFORCEMENT_UNIT"); items.push_back("RIGID_FRAME"); items.push_back("SLAB_FIELD"); items.push_back("TRUSS"); items.push_back("USERDEFINED"); IFC4X2_IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", 376, items); } { std::vector items; items.reserve(3); items.push_back("COMPLEX"); items.push_back("ELEMENT"); items.push_back("PARTIAL"); IFC4X2_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 379, items); } IFC4X2_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 386, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("EXTERNALCOMBUSTION"); items.push_back("INTERNALCOMBUSTION"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcEngineTypeEnum_type = new enumeration_type("IfcEngineTypeEnum", 389, 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"); IFC4X2_IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", 392, items); } { std::vector items; items.reserve(8); items.push_back("DIRECTEXPANSION"); items.push_back("DIRECTEXPANSIONBRAZEDPLATE"); items.push_back("DIRECTEXPANSIONSHELLANDTUBE"); items.push_back("DIRECTEXPANSIONTUBEINTUBE"); items.push_back("FLOODEDSHELLANDTUBE"); items.push_back("NOTDEFINED"); items.push_back("SHELLANDCOIL"); items.push_back("USERDEFINED"); IFC4X2_IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", 395, items); } { std::vector items; items.reserve(6); items.push_back("EVENTCOMPLEX"); items.push_back("EVENTMESSAGE"); items.push_back("EVENTRULE"); items.push_back("EVENTTIME"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcEventTriggerTypeEnum_type = new enumeration_type("IfcEventTriggerTypeEnum", 398, items); } { std::vector items; items.reserve(5); items.push_back("ENDEVENT"); items.push_back("INTERMEDIATEEVENT"); items.push_back("NOTDEFINED"); items.push_back("STARTEVENT"); items.push_back("USERDEFINED"); IFC4X2_IfcEventTypeEnum_type = new enumeration_type("IfcEventTypeEnum", 400, items); } { std::vector items; items.reserve(6); items.push_back("EXTERNAL"); items.push_back("EXTERNAL_EARTH"); items.push_back("EXTERNAL_FIRE"); items.push_back("EXTERNAL_WATER"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcExternalSpatialElementTypeEnum_type = new enumeration_type("IfcExternalSpatialElementTypeEnum", 409, 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"); IFC4X2_IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", 425, items); } { std::vector items; items.reserve(5); items.push_back("GLUE"); items.push_back("MORTAR"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("WELD"); IFC4X2_IfcFastenerTypeEnum_type = new enumeration_type("IfcFastenerTypeEnum", 428, items); } { std::vector items; items.reserve(8); items.push_back("AIRPARTICLEFILTER"); items.push_back("COMPRESSEDAIRFILTER"); items.push_back("NOTDEFINED"); items.push_back("ODORFILTER"); items.push_back("OILFILTER"); items.push_back("STRAINER"); items.push_back("USERDEFINED"); items.push_back("WATERFILTER"); IFC4X2_IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", 438, 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"); IFC4X2_IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", 441, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("SINK"); items.push_back("SOURCE"); items.push_back("SOURCEANDSINK"); IFC4X2_IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", 445, 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"); IFC4X2_IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", 450, items); } { std::vector items; items.reserve(6); items.push_back("ENERGYMETER"); items.push_back("GASMETER"); items.push_back("NOTDEFINED"); items.push_back("OILMETER"); items.push_back("USERDEFINED"); items.push_back("WATERMETER"); IFC4X2_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 453, items); } IFC4X2_IfcFontStyle_type = new type_declaration("IfcFontStyle", 464, new simple_type(simple_type::string_type)); IFC4X2_IfcFontVariant_type = new type_declaration("IfcFontVariant", 465, new simple_type(simple_type::string_type)); IFC4X2_IfcFontWeight_type = new type_declaration("IfcFontWeight", 466, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(7); items.push_back("CAISSON_FOUNDATION"); items.push_back("FOOTING_BEAM"); items.push_back("NOTDEFINED"); items.push_back("PAD_FOOTING"); items.push_back("PILE_CAP"); items.push_back("STRIP_FOOTING"); items.push_back("USERDEFINED"); IFC4X2_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 469, items); } IFC4X2_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 470, new simple_type(simple_type::real_type)); IFC4X2_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 471, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("BED"); items.push_back("CHAIR"); items.push_back("DESK"); items.push_back("FILECABINET"); items.push_back("NOTDEFINED"); items.push_back("SHELF"); items.push_back("SOFA"); items.push_back("TABLE"); items.push_back("USERDEFINED"); IFC4X2_IfcFurnitureTypeEnum_type = new enumeration_type("IfcFurnitureTypeEnum", 476, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("SOIL_BORING_POINT"); items.push_back("TERRAIN"); items.push_back("USERDEFINED"); IFC4X2_IfcGeographicElementTypeEnum_type = new enumeration_type("IfcGeographicElementTypeEnum", 479, 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"); IFC4X2_IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", 481, items); } { std::vector items; items.reserve(2); items.push_back("GLOBAL_COORDS"); items.push_back("LOCAL_COORDS"); IFC4X2_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 488, items); } IFC4X2_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 487, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(6); items.push_back("IRREGULAR"); items.push_back("NOTDEFINED"); items.push_back("RADIAL"); items.push_back("RECTANGULAR"); items.push_back("TRIANGULAR"); items.push_back("USERDEFINED"); IFC4X2_IfcGridTypeEnum_type = new enumeration_type("IfcGridTypeEnum", 493, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("PLATE"); items.push_back("SHELLANDTUBE"); items.push_back("USERDEFINED"); IFC4X2_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 499, items); } IFC4X2_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 500, new simple_type(simple_type::real_type)); IFC4X2_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 501, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(15); items.push_back("ADIABATICAIRWASHER"); items.push_back("ADIABATICATOMIZING"); items.push_back("ADIABATICCOMPRESSEDAIRNOZZLE"); items.push_back("ADIABATICPAN"); items.push_back("ADIABATICRIGIDMEDIA"); items.push_back("ADIABATICULTRASONIC"); items.push_back("ADIABATICWETTEDELEMENT"); items.push_back("ASSISTEDBUTANE"); items.push_back("ASSISTEDELECTRIC"); items.push_back("ASSISTEDNATURALGAS"); items.push_back("ASSISTEDPROPANE"); items.push_back("ASSISTEDSTEAM"); items.push_back("NOTDEFINED"); items.push_back("STEAMINJECTION"); items.push_back("USERDEFINED"); IFC4X2_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 504, items); } IFC4X2_IfcIdentifier_type = new type_declaration("IfcIdentifier", 505, new simple_type(simple_type::string_type)); IFC4X2_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 506, new simple_type(simple_type::real_type)); IFC4X2_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 514, new simple_type(simple_type::real_type)); IFC4X2_IfcInteger_type = new type_declaration("IfcInteger", 515, new simple_type(simple_type::integer_type)); IFC4X2_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 516, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(6); items.push_back("CYCLONIC"); items.push_back("GREASE"); items.push_back("NOTDEFINED"); items.push_back("OIL"); items.push_back("PETROL"); items.push_back("USERDEFINED"); IFC4X2_IfcInterceptorTypeEnum_type = new enumeration_type("IfcInterceptorTypeEnum", 519, items); } { std::vector items; items.reserve(6); items.push_back("EXTERNAL"); items.push_back("EXTERNAL_EARTH"); items.push_back("EXTERNAL_FIRE"); items.push_back("EXTERNAL_WATER"); items.push_back("INTERNAL"); items.push_back("NOTDEFINED"); IFC4X2_IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", 520, 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"); IFC4X2_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 523, items); } IFC4X2_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 524, new simple_type(simple_type::real_type)); IFC4X2_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 528, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("DATA"); items.push_back("NOTDEFINED"); items.push_back("POWER"); items.push_back("USERDEFINED"); IFC4X2_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 531, items); } IFC4X2_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 532, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("PIECEWISE_BEZIER_KNOTS"); items.push_back("QUASI_UNIFORM_KNOTS"); items.push_back("UNIFORM_KNOTS"); items.push_back("UNSPECIFIED"); IFC4X2_IfcKnotType_type = new enumeration_type("IfcKnotType", 533, items); } IFC4X2_IfcLabel_type = new type_declaration("IfcLabel", 534, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(21); items.push_back("ADMINISTRATION"); items.push_back("CARPENTRY"); items.push_back("CLEANING"); items.push_back("CONCRETE"); items.push_back("DRYWALL"); items.push_back("ELECTRIC"); items.push_back("FINISHING"); items.push_back("FLOORING"); items.push_back("GENERAL"); items.push_back("HVAC"); items.push_back("LANDSCAPING"); items.push_back("MASONRY"); items.push_back("NOTDEFINED"); items.push_back("PAINTING"); items.push_back("PAVING"); items.push_back("PLUMBING"); items.push_back("ROOFING"); items.push_back("SITEGRADING"); items.push_back("STEELWORK"); items.push_back("SURVEYING"); items.push_back("USERDEFINED"); IFC4X2_IfcLaborResourceTypeEnum_type = new enumeration_type("IfcLaborResourceTypeEnum", 537, items); } { std::vector items; items.reserve(11); items.push_back("COMPACTFLUORESCENT"); items.push_back("FLUORESCENT"); items.push_back("HALOGEN"); items.push_back("HIGHPRESSUREMERCURY"); items.push_back("HIGHPRESSURESODIUM"); items.push_back("LED"); items.push_back("METALHALIDE"); items.push_back("NOTDEFINED"); items.push_back("OLED"); items.push_back("TUNGSTENFILAMENT"); items.push_back("USERDEFINED"); IFC4X2_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 541, items); } IFC4X2_IfcLanguageId_type = new type_declaration("IfcLanguageId", 542, new named_type(IFC4X2_IfcIdentifier_type)); { std::vector items; items.reserve(3); items.push_back("AXIS1"); items.push_back("AXIS2"); items.push_back("AXIS3"); IFC4X2_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 544, items); } IFC4X2_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 545, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("TYPE_A"); items.push_back("TYPE_B"); items.push_back("TYPE_C"); IFC4X2_IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", 549, 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"); IFC4X2_IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", 552, items); } { std::vector items; items.reserve(5); items.push_back("DIRECTIONSOURCE"); items.push_back("NOTDEFINED"); items.push_back("POINTSOURCE"); items.push_back("SECURITYLIGHTING"); items.push_back("USERDEFINED"); IFC4X2_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 555, items); } IFC4X2_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 564, new simple_type(simple_type::real_type)); IFC4X2_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 565, new simple_type(simple_type::real_type)); IFC4X2_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 568, new simple_type(simple_type::real_type)); IFC4X2_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 569, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("LOAD_CASE"); items.push_back("LOAD_COMBINATION"); items.push_back("LOAD_GROUP"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 572, items); } IFC4X2_IfcLogical_type = new type_declaration("IfcLogical", 574, new simple_type(simple_type::logical_type)); { std::vector items; items.reserve(5); items.push_back("LOGICALAND"); items.push_back("LOGICALNOTAND"); items.push_back("LOGICALNOTOR"); items.push_back("LOGICALOR"); items.push_back("LOGICALXOR"); IFC4X2_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 575, items); } IFC4X2_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 578, new simple_type(simple_type::real_type)); IFC4X2_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 579, new simple_type(simple_type::real_type)); IFC4X2_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 580, new simple_type(simple_type::real_type)); IFC4X2_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 581, new simple_type(simple_type::real_type)); IFC4X2_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 582, new simple_type(simple_type::real_type)); IFC4X2_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 586, new simple_type(simple_type::real_type)); IFC4X2_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 587, new simple_type(simple_type::real_type)); IFC4X2_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 588, new simple_type(simple_type::real_type)); IFC4X2_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 589, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(13); items.push_back("ANCHORBOLT"); items.push_back("BOLT"); items.push_back("COUPLER"); items.push_back("DOWEL"); items.push_back("NAIL"); items.push_back("NAILPLATE"); items.push_back("NOTDEFINED"); items.push_back("RIVET"); items.push_back("SCREW"); items.push_back("SHEARCONNECTOR"); items.push_back("STAPLE"); items.push_back("STUDSHEARCONNECTOR"); items.push_back("USERDEFINED"); IFC4X2_IfcMechanicalFastenerTypeEnum_type = new enumeration_type("IfcMechanicalFastenerTypeEnum", 614, items); } { std::vector items; items.reserve(7); items.push_back("AIRSTATION"); items.push_back("FEEDAIRUNIT"); items.push_back("NOTDEFINED"); items.push_back("OXYGENGENERATOR"); items.push_back("OXYGENPLANT"); items.push_back("USERDEFINED"); items.push_back("VACUUMSTATION"); IFC4X2_IfcMedicalDeviceTypeEnum_type = new enumeration_type("IfcMedicalDeviceTypeEnum", 617, items); } { std::vector items; items.reserve(19); items.push_back("ARCH_SEGMENT"); 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("STAY_CABLE"); items.push_back("STIFFENING_RIB"); items.push_back("STRINGER"); items.push_back("STRUT"); items.push_back("STUD"); items.push_back("SUSPENDER"); items.push_back("SUSPENSION_CABLE"); items.push_back("USERDEFINED"); IFC4X2_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 621, items); } IFC4X2_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 625, new simple_type(simple_type::real_type)); IFC4X2_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 626, new simple_type(simple_type::real_type)); IFC4X2_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 627, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcBoolean_type); items.push_back(IFC4X2_IfcModulusOfRotationalSubgradeReactionMeasure_type); IFC4X2_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 628, items); } IFC4X2_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 629, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcBoolean_type); items.push_back(IFC4X2_IfcModulusOfSubgradeReactionMeasure_type); IFC4X2_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 630, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcBoolean_type); items.push_back(IFC4X2_IfcModulusOfLinearSubgradeReactionMeasure_type); IFC4X2_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 631, items); } IFC4X2_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 632, new simple_type(simple_type::real_type)); IFC4X2_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 633, new simple_type(simple_type::real_type)); IFC4X2_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 634, new simple_type(simple_type::real_type)); IFC4X2_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 635, new simple_type(simple_type::real_type)); IFC4X2_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 637, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(5); items.push_back("BELTDRIVE"); items.push_back("COUPLING"); items.push_back("DIRECTDRIVE"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 640, items); } IFC4X2_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 642, new named_type(IFC4X2_IfcLengthMeasure_type)); { std::vector items; items.reserve(1); items.push_back("NULL"); IFC4X2_IfcNullStyle_type = new enumeration_type("IfcNullStyle", 644, items); } IFC4X2_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 645, new simple_type(simple_type::number_type)); { std::vector items; items.reserve(8); items.push_back("ACTOR"); items.push_back("CONTROL"); items.push_back("GROUP"); items.push_back("NOTDEFINED"); items.push_back("PROCESS"); items.push_back("PRODUCT"); items.push_back("PROJECT"); items.push_back("RESOURCE"); IFC4X2_IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", 652, items); } { std::vector items; items.reserve(13); items.push_back("CODECOMPLIANCE"); items.push_back("CODEWAIVER"); items.push_back("DESIGNINTENT"); items.push_back("EXTERNAL"); items.push_back("HEALTHANDSAFETY"); items.push_back("MERGECONFLICT"); items.push_back("MODELVIEW"); items.push_back("NOTDEFINED"); items.push_back("PARAMETER"); items.push_back("REQUIREMENT"); items.push_back("SPECIFICATION"); items.push_back("TRIGGERCONDITION"); items.push_back("USERDEFINED"); IFC4X2_IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", 649, 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"); IFC4X2_IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", 654, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("OPENING"); items.push_back("RECESS"); items.push_back("USERDEFINED"); IFC4X2_IfcOpeningElementTypeEnum_type = new enumeration_type("IfcOpeningElementTypeEnum", 660, items); } { std::vector items; items.reserve(7); items.push_back("AUDIOVISUALOUTLET"); items.push_back("COMMUNICATIONSOUTLET"); items.push_back("DATAOUTLET"); items.push_back("NOTDEFINED"); items.push_back("POWEROUTLET"); items.push_back("TELEPHONEOUTLET"); items.push_back("USERDEFINED"); IFC4X2_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 670, items); } IFC4X2_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 684, new simple_type(simple_type::real_type)); IFC4X2_IfcParameterValue_type = new type_declaration("IfcParameterValue", 673, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcPerformanceHistoryTypeEnum_type = new enumeration_type("IfcPerformanceHistoryTypeEnum", 677, 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"); IFC4X2_IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", 678, items); } { std::vector items; items.reserve(5); items.push_back("ACCESS"); items.push_back("BUILDING"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); items.push_back("WORK"); IFC4X2_IfcPermitTypeEnum_type = new enumeration_type("IfcPermitTypeEnum", 681, items); } { std::vector items; items.reserve(3); items.push_back("NOTDEFINED"); items.push_back("PHYSICAL"); items.push_back("VIRTUAL"); IFC4X2_IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", 686, 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"); IFC4X2_IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", 690, items); } { std::vector items; items.reserve(8); items.push_back("BORED"); items.push_back("COHESION"); items.push_back("DRIVEN"); items.push_back("FRICTION"); items.push_back("JETGROUTING"); items.push_back("NOTDEFINED"); items.push_back("SUPPORT"); items.push_back("USERDEFINED"); IFC4X2_IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", 692, 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"); IFC4X2_IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", 695, items); } { std::vector items; items.reserve(7); items.push_back("CULVERT"); items.push_back("FLEXIBLESEGMENT"); items.push_back("GUTTER"); items.push_back("NOTDEFINED"); items.push_back("RIGIDSEGMENT"); items.push_back("SPOOL"); items.push_back("USERDEFINED"); IFC4X2_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 698, items); } IFC4X2_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 703, new simple_type(simple_type::real_type)); IFC4X2_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 705, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(11); items.push_back("BASE_PLATE"); items.push_back("COVER_PLATE"); items.push_back("CURTAIN_PANEL"); items.push_back("FLANGE_PLATE"); items.push_back("GUSSET_PLATE"); items.push_back("NOTDEFINED"); items.push_back("SHEET"); items.push_back("SPLICE_PLATE"); items.push_back("STIFFENER_PLATE"); items.push_back("USERDEFINED"); items.push_back("WEB_PLATE"); IFC4X2_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 709, items); } IFC4X2_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 720, new named_type(IFC4X2_IfcInteger_type)); IFC4X2_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 721, new named_type(IFC4X2_IfcLengthMeasure_type)); IFC4X2_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 722, new named_type(IFC4X2_IfcPlaneAngleMeasure_type)); IFC4X2_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 725, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(3); items.push_back("CURVE3D"); items.push_back("PCURVE_S1"); items.push_back("PCURVE_S2"); IFC4X2_IfcPreferredSurfaceCurveRepresentation_type = new enumeration_type("IfcPreferredSurfaceCurveRepresentation", 732, items); } IFC4X2_IfcPresentableText_type = new type_declaration("IfcPresentableText", 733, new simple_type(simple_type::string_type)); IFC4X2_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 740, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("ADVICE_CAUTION"); items.push_back("ADVICE_NOTE"); items.push_back("ADVICE_WARNING"); items.push_back("CALIBRATION"); items.push_back("DIAGNOSTIC"); items.push_back("NOTDEFINED"); items.push_back("SHUTDOWN"); items.push_back("STARTUP"); items.push_back("USERDEFINED"); IFC4X2_IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", 743, items); } { std::vector items; items.reserve(2); items.push_back("AREA"); items.push_back("CURVE"); IFC4X2_IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", 753, 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"); IFC4X2_IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", 761, items); } { std::vector items; items.reserve(2); items.push_back("PROJECTED_LENGTH"); items.push_back("TRUE_LENGTH"); IFC4X2_IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", 756, items); } { std::vector items; items.reserve(4); items.push_back("BLISTER"); items.push_back("DEVIATOR"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcProjectionElementTypeEnum_type = new enumeration_type("IfcProjectionElementTypeEnum", 758, items); } { std::vector items; items.reserve(8); items.push_back("NOTDEFINED"); items.push_back("PSET_OCCURRENCEDRIVEN"); items.push_back("PSET_PERFORMANCEDRIVEN"); items.push_back("PSET_TYPEDRIVENONLY"); items.push_back("PSET_TYPEDRIVENOVERRIDE"); items.push_back("QTO_OCCURRENCEDRIVEN"); items.push_back("QTO_TYPEDRIVENONLY"); items.push_back("QTO_TYPEDRIVENOVERRIDE"); IFC4X2_IfcPropertySetTemplateTypeEnum_type = new enumeration_type("IfcPropertySetTemplateTypeEnum", 776, items); } { std::vector items; items.reserve(6); items.push_back("ELECTROMAGNETIC"); items.push_back("ELECTRONIC"); items.push_back("NOTDEFINED"); items.push_back("RESIDUALCURRENT"); items.push_back("THERMAL"); items.push_back("USERDEFINED"); IFC4X2_IfcProtectiveDeviceTrippingUnitTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTrippingUnitTypeEnum", 784, items); } { std::vector items; items.reserve(9); items.push_back("CIRCUITBREAKER"); items.push_back("EARTHINGSWITCH"); items.push_back("EARTHLEAKAGECIRCUITBREAKER"); items.push_back("FUSEDISCONNECTOR"); items.push_back("NOTDEFINED"); items.push_back("RESIDUALCURRENTCIRCUITBREAKER"); items.push_back("RESIDUALCURRENTSWITCH"); items.push_back("USERDEFINED"); items.push_back("VARISTOR"); IFC4X2_IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", 786, items); } { std::vector items; items.reserve(9); items.push_back("CIRCULATOR"); items.push_back("ENDSUCTION"); items.push_back("NOTDEFINED"); items.push_back("SPLITCASE"); items.push_back("SUBMERSIBLEPUMP"); items.push_back("SUMPPUMP"); items.push_back("USERDEFINED"); items.push_back("VERTICALINLINE"); items.push_back("VERTICALTURBINE"); IFC4X2_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 790, items); } IFC4X2_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 798, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("BALUSTRADE"); items.push_back("GUARDRAIL"); items.push_back("HANDRAIL"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", 801, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("SPIRAL"); items.push_back("STRAIGHT"); items.push_back("USERDEFINED"); IFC4X2_IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", 805, 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"); IFC4X2_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 807, items); } IFC4X2_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 808, new simple_type(simple_type::real_type)); IFC4X2_IfcReal_type = new type_declaration("IfcReal", 811, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(8); items.push_back("BY_DAY_COUNT"); items.push_back("BY_WEEKDAY_COUNT"); items.push_back("DAILY"); items.push_back("MONTHLY_BY_DAY_OF_MONTH"); items.push_back("MONTHLY_BY_POSITION"); items.push_back("WEEKLY"); items.push_back("YEARLY_BY_DAY_OF_MONTH"); items.push_back("YEARLY_BY_POSITION"); IFC4X2_IfcRecurrenceTypeEnum_type = new enumeration_type("IfcRecurrenceTypeEnum", 817, items); } { std::vector items; items.reserve(5); items.push_back("KILOPOINT"); items.push_back("MILEPOINT"); items.push_back("NOTDEFINED"); items.push_back("STATION"); items.push_back("USERDEFINED"); IFC4X2_IfcReferentTypeEnum_type = new enumeration_type("IfcReferentTypeEnum", 820, 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"); IFC4X2_IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", 821, items); } { std::vector items; items.reserve(10); items.push_back("ANCHORING"); items.push_back("EDGE"); items.push_back("LIGATURE"); items.push_back("MAIN"); items.push_back("NOTDEFINED"); items.push_back("PUNCHING"); items.push_back("RING"); items.push_back("SHEAR"); items.push_back("STUD"); items.push_back("USERDEFINED"); IFC4X2_IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", 826, items); } { std::vector items; items.reserve(2); items.push_back("PLAIN"); items.push_back("TEXTURED"); IFC4X2_IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", 827, items); } { std::vector items; items.reserve(11); items.push_back("ANCHORING"); items.push_back("EDGE"); items.push_back("LIGATURE"); items.push_back("MAIN"); items.push_back("NOTDEFINED"); items.push_back("PUNCHING"); items.push_back("RING"); items.push_back("SHEAR"); items.push_back("SPACEBAR"); items.push_back("STUD"); items.push_back("USERDEFINED"); IFC4X2_IfcReinforcingBarTypeEnum_type = new enumeration_type("IfcReinforcingBarTypeEnum", 829, items); } { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcReinforcingMeshTypeEnum_type = new enumeration_type("IfcReinforcingMeshTypeEnum", 834, items); } { std::vector items; items.reserve(23); items.push_back("ARCHITECT"); items.push_back("BUILDINGOPERATOR"); items.push_back("BUILDINGOWNER"); items.push_back("CIVILENGINEER"); items.push_back("CLIENT"); items.push_back("COMMISSIONINGENGINEER"); items.push_back("CONSTRUCTIONMANAGER"); items.push_back("CONSULTANT"); items.push_back("CONTRACTOR"); items.push_back("COSTENGINEER"); items.push_back("ELECTRICALENGINEER"); items.push_back("ENGINEER"); items.push_back("FACILITIESMANAGER"); items.push_back("FIELDCONSTRUCTIONMANAGER"); items.push_back("MANUFACTURER"); items.push_back("MECHANICALENGINEER"); items.push_back("OWNER"); items.push_back("PROJECTMANAGER"); items.push_back("RESELLER"); items.push_back("STRUCTURALENGINEER"); items.push_back("SUBCONTRACTOR"); items.push_back("SUPPLIER"); items.push_back("USERDEFINED"); IFC4X2_IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", 900, items); } { std::vector items; items.reserve(15); items.push_back("BARREL_ROOF"); items.push_back("BUTTERFLY_ROOF"); items.push_back("DOME_ROOF"); items.push_back("FLAT_ROOF"); items.push_back("FREEFORM"); items.push_back("GABLE_ROOF"); items.push_back("GAMBREL_ROOF"); items.push_back("HIPPED_GABLE_ROOF"); items.push_back("HIP_ROOF"); items.push_back("MANSARD_ROOF"); items.push_back("NOTDEFINED"); items.push_back("PAVILION_ROOF"); items.push_back("RAINBOW_ROOF"); items.push_back("SHED_ROOF"); items.push_back("USERDEFINED"); IFC4X2_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 903, items); } IFC4X2_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 905, new simple_type(simple_type::real_type)); IFC4X2_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 906, new simple_type(simple_type::real_type)); IFC4X2_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 907, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcBoolean_type); items.push_back(IFC4X2_IfcRotationalStiffnessMeasure_type); IFC4X2_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 908, 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"); IFC4X2_IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", 941, 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"); IFC4X2_IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", 944, 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"); IFC4X2_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 912, items); } IFC4X2_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 919, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back("TAPERED"); items.push_back("UNIFORM"); IFC4X2_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 922, items); } IFC4X2_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 915, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(26); items.push_back("CO2SENSOR"); items.push_back("CONDUCTANCESENSOR"); items.push_back("CONTACTSENSOR"); items.push_back("COSENSOR"); items.push_back("FIRESENSOR"); items.push_back("FLOWSENSOR"); items.push_back("FROSTSENSOR"); items.push_back("GASSENSOR"); items.push_back("HEATSENSOR"); items.push_back("HUMIDITYSENSOR"); items.push_back("IDENTIFIERSENSOR"); items.push_back("IONCONCENTRATIONSENSOR"); items.push_back("LEVELSENSOR"); items.push_back("LIGHTSENSOR"); items.push_back("MOISTURESENSOR"); items.push_back("MOVEMENTSENSOR"); items.push_back("NOTDEFINED"); items.push_back("PHSENSOR"); items.push_back("PRESSURESENSOR"); items.push_back("RADIATIONSENSOR"); items.push_back("RADIOACTIVITYSENSOR"); items.push_back("SMOKESENSOR"); items.push_back("SOUNDSENSOR"); items.push_back("TEMPERATURESENSOR"); items.push_back("USERDEFINED"); items.push_back("WINDSENSOR"); IFC4X2_IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", 926, items); } { std::vector items; items.reserve(6); items.push_back("FINISH_FINISH"); items.push_back("FINISH_START"); items.push_back("NOTDEFINED"); items.push_back("START_FINISH"); items.push_back("START_START"); items.push_back("USERDEFINED"); IFC4X2_IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", 927, items); } { std::vector items; items.reserve(5); items.push_back("AWNING"); items.push_back("JALOUSIE"); items.push_back("NOTDEFINED"); items.push_back("SHUTTER"); items.push_back("USERDEFINED"); IFC4X2_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 930, items); } IFC4X2_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 934, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(12); items.push_back("P_BOUNDEDVALUE"); items.push_back("P_ENUMERATEDVALUE"); items.push_back("P_LISTVALUE"); items.push_back("P_REFERENCEVALUE"); items.push_back("P_SINGLEVALUE"); items.push_back("P_TABLEVALUE"); items.push_back("Q_AREA"); items.push_back("Q_COUNT"); items.push_back("Q_LENGTH"); items.push_back("Q_TIME"); items.push_back("Q_VOLUME"); items.push_back("Q_WEIGHT"); IFC4X2_IfcSimplePropertyTemplateTypeEnum_type = new enumeration_type("IfcSimplePropertyTemplateTypeEnum", 939, items); } { std::vector items; items.reserve(10); items.push_back("APPROACH_SLAB"); items.push_back("BASESLAB"); items.push_back("FLOOR"); items.push_back("LANDING"); items.push_back("NOTDEFINED"); items.push_back("PAVING"); items.push_back("ROOF"); items.push_back("SIDEWALK"); items.push_back("USERDEFINED"); items.push_back("WEARING"); IFC4X2_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 950, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("SOLARCOLLECTOR"); items.push_back("SOLARPANEL"); items.push_back("USERDEFINED"); IFC4X2_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 954, items); } IFC4X2_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 955, new simple_type(simple_type::real_type)); IFC4X2_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 958, new simple_type(simple_type::real_type)); IFC4X2_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 959, new simple_type(simple_type::real_type)); IFC4X2_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 960, new simple_type(simple_type::real_type)); IFC4X2_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 961, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("CONVECTOR"); items.push_back("NOTDEFINED"); items.push_back("RADIATOR"); items.push_back("USERDEFINED"); IFC4X2_IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", 966, items); } { std::vector items; items.reserve(7); items.push_back("EXTERNAL"); items.push_back("GFA"); items.push_back("INTERNAL"); items.push_back("NOTDEFINED"); items.push_back("PARKING"); items.push_back("SPACE"); items.push_back("USERDEFINED"); IFC4X2_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 968, items); } { std::vector items; items.reserve(10); items.push_back("CONSTRUCTION"); items.push_back("FIRESAFETY"); items.push_back("LIGHTING"); items.push_back("NOTDEFINED"); items.push_back("OCCUPANCY"); items.push_back("SECURITY"); items.push_back("THERMAL"); items.push_back("TRANSPORT"); items.push_back("USERDEFINED"); items.push_back("VENTILATION"); IFC4X2_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 975, items); } IFC4X2_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 976, new simple_type(simple_type::real_type)); IFC4X2_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 977, new simple_type(simple_type::real_type)); IFC4X2_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 979, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("BIRDCAGE"); items.push_back("COWL"); items.push_back("NOTDEFINED"); items.push_back("RAINWATERHOPPER"); items.push_back("USERDEFINED"); IFC4X2_IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", 984, 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"); IFC4X2_IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", 988, 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"); IFC4X2_IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", 990, 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"); IFC4X2_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 991, items); } { std::vector items; items.reserve(9); items.push_back("CONST"); items.push_back("DISCRETE"); items.push_back("EQUIDISTANT"); items.push_back("LINEAR"); items.push_back("NOTDEFINED"); items.push_back("PARABOLA"); items.push_back("POLYGONAL"); items.push_back("SINUS"); items.push_back("USERDEFINED"); IFC4X2_IfcStructuralCurveActivityTypeEnum_type = new enumeration_type("IfcStructuralCurveActivityTypeEnum", 999, 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"); IFC4X2_IfcStructuralCurveMemberTypeEnum_type = new enumeration_type("IfcStructuralCurveMemberTypeEnum", 1002, items); } { std::vector items; items.reserve(6); items.push_back("BILINEAR"); items.push_back("CONST"); items.push_back("DISCRETE"); items.push_back("ISOCONTOUR"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcStructuralSurfaceActivityTypeEnum_type = new enumeration_type("IfcStructuralSurfaceActivityTypeEnum", 1028, 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"); IFC4X2_IfcStructuralSurfaceMemberTypeEnum_type = new enumeration_type("IfcStructuralSurfaceMemberTypeEnum", 1031, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("PURCHASE"); items.push_back("USERDEFINED"); items.push_back("WORK"); IFC4X2_IfcSubContractResourceTypeEnum_type = new enumeration_type("IfcSubContractResourceTypeEnum", 1040, items); } { std::vector items; items.reserve(6); items.push_back("DEFECT"); items.push_back("MARK"); items.push_back("NOTDEFINED"); items.push_back("TAG"); items.push_back("TREATMENT"); items.push_back("USERDEFINED"); IFC4X2_IfcSurfaceFeatureTypeEnum_type = new enumeration_type("IfcSurfaceFeatureTypeEnum", 1046, items); } { std::vector items; items.reserve(3); items.push_back("BOTH"); items.push_back("NEGATIVE"); items.push_back("POSITIVE"); IFC4X2_IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", 1051, items); } { std::vector items; items.reserve(11); items.push_back("CONTACTOR"); items.push_back("DIMMERSWITCH"); items.push_back("EMERGENCYSTOP"); items.push_back("KEYPAD"); items.push_back("MOMENTARYSWITCH"); items.push_back("NOTDEFINED"); items.push_back("SELECTORSWITCH"); items.push_back("STARTER"); items.push_back("SWITCHDISCONNECTOR"); items.push_back("TOGGLESWITCH"); items.push_back("USERDEFINED"); IFC4X2_IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", 1066, items); } { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); items.push_back("PANEL"); items.push_back("USERDEFINED"); items.push_back("WORKSURFACE"); IFC4X2_IfcSystemFurnitureElementTypeEnum_type = new enumeration_type("IfcSystemFurnitureElementTypeEnum", 1070, items); } { std::vector items; items.reserve(9); items.push_back("BASIN"); items.push_back("BREAKPRESSURE"); items.push_back("EXPANSION"); items.push_back("FEEDANDEXPANSION"); items.push_back("NOTDEFINED"); items.push_back("PRESSUREVESSEL"); items.push_back("STORAGE"); items.push_back("USERDEFINED"); items.push_back("VESSEL"); IFC4X2_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 1076, items); } { std::vector items; items.reserve(3); items.push_back("ELAPSEDTIME"); items.push_back("NOTDEFINED"); items.push_back("WORKTIME"); IFC4X2_IfcTaskDurationEnum_type = new enumeration_type("IfcTaskDurationEnum", 1078, items); } { std::vector items; items.reserve(14); items.push_back("ATTENDANCE"); items.push_back("CONSTRUCTION"); items.push_back("DEMOLITION"); items.push_back("DISMANTLE"); items.push_back("DISPOSAL"); items.push_back("INSTALLATION"); items.push_back("LOGISTIC"); items.push_back("MAINTENANCE"); items.push_back("MOVE"); items.push_back("NOTDEFINED"); items.push_back("OPERATION"); items.push_back("REMOVAL"); items.push_back("RENOVATION"); items.push_back("USERDEFINED"); IFC4X2_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1082, items); } IFC4X2_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1084, new simple_type(simple_type::real_type)); IFC4X2_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1085, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("COUPLER"); items.push_back("FIXED_END"); items.push_back("NOTDEFINED"); items.push_back("TENSIONING_END"); items.push_back("USERDEFINED"); IFC4X2_IfcTendonAnchorTypeEnum_type = new enumeration_type("IfcTendonAnchorTypeEnum", 1089, items); } { std::vector items; items.reserve(7); items.push_back("COUPLER"); items.push_back("DIABOLO"); items.push_back("DUCT"); items.push_back("GROUTING_DUCT"); items.push_back("NOTDEFINED"); items.push_back("TRUMPET"); items.push_back("USERDEFINED"); IFC4X2_IfcTendonConduitTypeEnum_type = new enumeration_type("IfcTendonConduitTypeEnum", 1092, 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"); IFC4X2_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1094, items); } IFC4X2_IfcText_type = new type_declaration("IfcText", 1097, new simple_type(simple_type::string_type)); IFC4X2_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1098, new simple_type(simple_type::string_type)); IFC4X2_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1099, new simple_type(simple_type::string_type)); IFC4X2_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1100, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(4); items.push_back("DOWN"); items.push_back("LEFT"); items.push_back("RIGHT"); items.push_back("UP"); IFC4X2_IfcTextPath_type = new enumeration_type("IfcTextPath", 1104, items); } IFC4X2_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1109, new simple_type(simple_type::string_type)); IFC4X2_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1115, new simple_type(simple_type::real_type)); IFC4X2_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1116, new simple_type(simple_type::real_type)); IFC4X2_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1117, new simple_type(simple_type::real_type)); IFC4X2_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1118, new simple_type(simple_type::real_type)); IFC4X2_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1119, new simple_type(simple_type::real_type)); IFC4X2_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1120, new simple_type(simple_type::real_type)); IFC4X2_IfcTime_type = new type_declaration("IfcTime", 1121, new simple_type(simple_type::string_type)); IFC4X2_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1122, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcDuration_type); items.push_back(IFC4X2_IfcRatioMeasure_type); IFC4X2_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1123, 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"); IFC4X2_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1126, items); } IFC4X2_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1128, new simple_type(simple_type::integer_type)); IFC4X2_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1132, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(7); items.push_back("CURRENT"); items.push_back("FREQUENCY"); items.push_back("INVERTER"); items.push_back("NOTDEFINED"); items.push_back("RECTIFIER"); items.push_back("USERDEFINED"); items.push_back("VOLTAGE"); IFC4X2_IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", 1135, items); } { std::vector items; items.reserve(4); items.push_back("CONTINUOUS"); items.push_back("CONTSAMEGRADIENT"); items.push_back("CONTSAMEGRADIENTSAMECURVATURE"); items.push_back("DISCONTINUOUS"); IFC4X2_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1136, items); } { std::vector items; items.reserve(6); items.push_back("BIQUADRATICPARABOLA"); items.push_back("BLOSSCURVE"); items.push_back("CLOTHOIDCURVE"); items.push_back("COSINECURVE"); items.push_back("CUBICPARABOLA"); items.push_back("SINECURVE"); IFC4X2_IfcTransitionCurveType_type = new enumeration_type("IfcTransitionCurveType", 1138, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcBoolean_type); items.push_back(IFC4X2_IfcLinearStiffnessMeasure_type); IFC4X2_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1139, items); } { std::vector items; items.reserve(7); items.push_back("CRANEWAY"); items.push_back("ELEVATOR"); items.push_back("ESCALATOR"); items.push_back("LIFTINGGEAR"); items.push_back("MOVINGWALKWAY"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcTransportElementTypeEnum_type = new enumeration_type("IfcTransportElementTypeEnum", 1142, items); } { std::vector items; items.reserve(3); items.push_back("CARTESIAN"); items.push_back("PARAMETER"); items.push_back("UNSPECIFIED"); IFC4X2_IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", 1147, items); } { std::vector items; items.reserve(3); items.push_back("FINNED"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1152, items); } IFC4X2_IfcURIReference_type = new type_declaration("IfcURIReference", 1166, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(30); items.push_back("ABSORBEDDOSEUNIT"); items.push_back("AMOUNTOFSUBSTANCEUNIT"); items.push_back("AREAUNIT"); items.push_back("DOSEEQUIVALENTUNIT"); items.push_back("ELECTRICCAPACITANCEUNIT"); items.push_back("ELECTRICCHARGEUNIT"); items.push_back("ELECTRICCONDUCTANCEUNIT"); items.push_back("ELECTRICCURRENTUNIT"); items.push_back("ELECTRICRESISTANCEUNIT"); items.push_back("ELECTRICVOLTAGEUNIT"); items.push_back("ENERGYUNIT"); items.push_back("FORCEUNIT"); items.push_back("FREQUENCYUNIT"); items.push_back("ILLUMINANCEUNIT"); items.push_back("INDUCTANCEUNIT"); items.push_back("LENGTHUNIT"); items.push_back("LUMINOUSFLUXUNIT"); items.push_back("LUMINOUSINTENSITYUNIT"); items.push_back("MAGNETICFLUXDENSITYUNIT"); items.push_back("MAGNETICFLUXUNIT"); items.push_back("MASSUNIT"); items.push_back("PLANEANGLEUNIT"); items.push_back("POWERUNIT"); items.push_back("PRESSUREUNIT"); items.push_back("RADIOACTIVITYUNIT"); items.push_back("SOLIDANGLEUNIT"); items.push_back("THERMODYNAMICTEMPERATUREUNIT"); items.push_back("TIMEUNIT"); items.push_back("USERDEFINED"); items.push_back("VOLUMEUNIT"); IFC4X2_IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", 1165, items); } { std::vector items; items.reserve(10); items.push_back("ALARMPANEL"); items.push_back("CONTROLPANEL"); items.push_back("GASDETECTIONPANEL"); items.push_back("HUMIDISTAT"); items.push_back("INDICATORPANEL"); items.push_back("MIMICPANEL"); items.push_back("NOTDEFINED"); items.push_back("THERMOSTAT"); items.push_back("USERDEFINED"); items.push_back("WEATHERSTATION"); IFC4X2_IfcUnitaryControlElementTypeEnum_type = new enumeration_type("IfcUnitaryControlElementTypeEnum", 1160, items); } { std::vector items; items.reserve(7); items.push_back("AIRCONDITIONINGUNIT"); items.push_back("AIRHANDLER"); items.push_back("DEHUMIDIFIER"); items.push_back("NOTDEFINED"); items.push_back("ROOFTOPUNIT"); items.push_back("SPLITSYSTEM"); items.push_back("USERDEFINED"); IFC4X2_IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", 1163, 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"); IFC4X2_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1171, items); } IFC4X2_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1172, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(8); items.push_back("AXIAL_YIELD"); items.push_back("BENDING_YIELD"); items.push_back("FRICTION"); items.push_back("NOTDEFINED"); items.push_back("RUBBER"); items.push_back("SHEAR_YIELD"); items.push_back("USERDEFINED"); items.push_back("VISCOUS"); IFC4X2_IfcVibrationDamperTypeEnum_type = new enumeration_type("IfcVibrationDamperTypeEnum", 1180, items); } { std::vector items; items.reserve(5); items.push_back("BASE"); items.push_back("COMPRESSION"); items.push_back("NOTDEFINED"); items.push_back("SPRING"); items.push_back("USERDEFINED"); IFC4X2_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 1183, items); } { std::vector items; items.reserve(8); items.push_back("CHAMFER"); items.push_back("CUTOUT"); items.push_back("EDGE"); items.push_back("HOLE"); items.push_back("MITER"); items.push_back("NOTCH"); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC4X2_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1187, items); } IFC4X2_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1188, new simple_type(simple_type::real_type)); IFC4X2_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1189, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(12); items.push_back("ELEMENTEDWALL"); items.push_back("MOVABLE"); items.push_back("NOTDEFINED"); items.push_back("PARAPET"); items.push_back("PARTITIONING"); items.push_back("PLUMBINGWALL"); items.push_back("POLYGONAL"); items.push_back("RETAININGWALL"); items.push_back("SHEAR"); items.push_back("SOLIDWALL"); items.push_back("STANDARD"); items.push_back("USERDEFINED"); IFC4X2_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1194, items); } IFC4X2_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1195, new simple_type(simple_type::real_type)); IFC4X2_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1196, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcBoolean_type); items.push_back(IFC4X2_IfcWarpingMomentMeasure_type); IFC4X2_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1197, items); } { std::vector items; items.reserve(9); items.push_back("FLOORTRAP"); items.push_back("FLOORWASTE"); items.push_back("GULLYSUMP"); items.push_back("GULLYTRAP"); items.push_back("NOTDEFINED"); items.push_back("ROOFDRAIN"); items.push_back("USERDEFINED"); items.push_back("WASTEDISPOSALUNIT"); items.push_back("WASTETRAP"); IFC4X2_IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", 1200, 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"); IFC4X2_IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", 1203, 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"); IFC4X2_IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", 1204, 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"); IFC4X2_IfcWindowStyleConstructionEnum_type = new enumeration_type("IfcWindowStyleConstructionEnum", 1208, 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"); IFC4X2_IfcWindowStyleOperationEnum_type = new enumeration_type("IfcWindowStyleOperationEnum", 1209, items); } { std::vector items; items.reserve(5); items.push_back("LIGHTDOME"); items.push_back("NOTDEFINED"); items.push_back("SKYLIGHT"); items.push_back("USERDEFINED"); items.push_back("WINDOW"); IFC4X2_IfcWindowTypeEnum_type = new enumeration_type("IfcWindowTypeEnum", 1211, 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"); IFC4X2_IfcWindowTypePartitioningEnum_type = new enumeration_type("IfcWindowTypePartitioningEnum", 1212, items); } { std::vector items; items.reserve(5); items.push_back("FIRSTSHIFT"); items.push_back("NOTDEFINED"); items.push_back("SECONDSHIFT"); items.push_back("THIRDSHIFT"); items.push_back("USERDEFINED"); IFC4X2_IfcWorkCalendarTypeEnum_type = new enumeration_type("IfcWorkCalendarTypeEnum", 1214, 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"); IFC4X2_IfcWorkPlanTypeEnum_type = new enumeration_type("IfcWorkPlanTypeEnum", 1217, 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"); IFC4X2_IfcWorkScheduleTypeEnum_type = new enumeration_type("IfcWorkScheduleTypeEnum", 1219, items); } IFC4X2_IfcActorRole_type = new entity("IfcActorRole", false, 7, 0); IFC4X2_IfcAddress_type = new entity("IfcAddress", true, 12, 0); IFC4X2_IfcApplication_type = new entity("IfcApplication", false, 46, 0); IFC4X2_IfcAppliedValue_type = new entity("IfcAppliedValue", false, 47, 0); IFC4X2_IfcApproval_type = new entity("IfcApproval", false, 49, 0); IFC4X2_IfcBoundaryCondition_type = new entity("IfcBoundaryCondition", true, 89, 0); IFC4X2_IfcBoundaryEdgeCondition_type = new entity("IfcBoundaryEdgeCondition", false, 91, IFC4X2_IfcBoundaryCondition_type); IFC4X2_IfcBoundaryFaceCondition_type = new entity("IfcBoundaryFaceCondition", false, 92, IFC4X2_IfcBoundaryCondition_type); IFC4X2_IfcBoundaryNodeCondition_type = new entity("IfcBoundaryNodeCondition", false, 93, IFC4X2_IfcBoundaryCondition_type); IFC4X2_IfcBoundaryNodeConditionWarping_type = new entity("IfcBoundaryNodeConditionWarping", false, 94, IFC4X2_IfcBoundaryNodeCondition_type); IFC4X2_IfcConnectionGeometry_type = new entity("IfcConnectionGeometry", true, 202, 0); IFC4X2_IfcConnectionPointGeometry_type = new entity("IfcConnectionPointGeometry", false, 204, IFC4X2_IfcConnectionGeometry_type); IFC4X2_IfcConnectionSurfaceGeometry_type = new entity("IfcConnectionSurfaceGeometry", false, 205, IFC4X2_IfcConnectionGeometry_type); IFC4X2_IfcConnectionVolumeGeometry_type = new entity("IfcConnectionVolumeGeometry", false, 207, IFC4X2_IfcConnectionGeometry_type); IFC4X2_IfcConstraint_type = new entity("IfcConstraint", true, 208, 0); IFC4X2_IfcCoordinateOperation_type = new entity("IfcCoordinateOperation", true, 236, 0); IFC4X2_IfcCoordinateReferenceSystem_type = new entity("IfcCoordinateReferenceSystem", true, 237, 0); IFC4X2_IfcCostValue_type = new entity("IfcCostValue", false, 243, IFC4X2_IfcAppliedValue_type); IFC4X2_IfcDerivedUnit_type = new entity("IfcDerivedUnit", false, 287, 0); IFC4X2_IfcDerivedUnitElement_type = new entity("IfcDerivedUnitElement", false, 288, 0); IFC4X2_IfcDimensionalExponents_type = new entity("IfcDimensionalExponents", false, 291, 0); IFC4X2_IfcExternalInformation_type = new entity("IfcExternalInformation", true, 402, 0); IFC4X2_IfcExternalReference_type = new entity("IfcExternalReference", true, 406, 0); IFC4X2_IfcExternallyDefinedHatchStyle_type = new entity("IfcExternallyDefinedHatchStyle", false, 403, IFC4X2_IfcExternalReference_type); IFC4X2_IfcExternallyDefinedSurfaceStyle_type = new entity("IfcExternallyDefinedSurfaceStyle", false, 404, IFC4X2_IfcExternalReference_type); IFC4X2_IfcExternallyDefinedTextFont_type = new entity("IfcExternallyDefinedTextFont", false, 405, IFC4X2_IfcExternalReference_type); IFC4X2_IfcGridAxis_type = new entity("IfcGridAxis", false, 490, 0); IFC4X2_IfcIrregularTimeSeriesValue_type = new entity("IfcIrregularTimeSeriesValue", false, 526, 0); IFC4X2_IfcLibraryInformation_type = new entity("IfcLibraryInformation", false, 546, IFC4X2_IfcExternalInformation_type); IFC4X2_IfcLibraryReference_type = new entity("IfcLibraryReference", false, 547, IFC4X2_IfcExternalReference_type); IFC4X2_IfcLightDistributionData_type = new entity("IfcLightDistributionData", false, 550, 0); IFC4X2_IfcLightIntensityDistribution_type = new entity("IfcLightIntensityDistribution", false, 556, 0); IFC4X2_IfcMapConversion_type = new entity("IfcMapConversion", false, 584, IFC4X2_IfcCoordinateOperation_type); IFC4X2_IfcMaterialClassificationRelationship_type = new entity("IfcMaterialClassificationRelationship", false, 591, 0); IFC4X2_IfcMaterialDefinition_type = new entity("IfcMaterialDefinition", true, 594, 0); IFC4X2_IfcMaterialLayer_type = new entity("IfcMaterialLayer", false, 596, IFC4X2_IfcMaterialDefinition_type); IFC4X2_IfcMaterialLayerSet_type = new entity("IfcMaterialLayerSet", false, 597, IFC4X2_IfcMaterialDefinition_type); IFC4X2_IfcMaterialLayerWithOffsets_type = new entity("IfcMaterialLayerWithOffsets", false, 599, IFC4X2_IfcMaterialLayer_type); IFC4X2_IfcMaterialList_type = new entity("IfcMaterialList", false, 600, 0); IFC4X2_IfcMaterialProfile_type = new entity("IfcMaterialProfile", false, 601, IFC4X2_IfcMaterialDefinition_type); IFC4X2_IfcMaterialProfileSet_type = new entity("IfcMaterialProfileSet", false, 602, IFC4X2_IfcMaterialDefinition_type); IFC4X2_IfcMaterialProfileWithOffsets_type = new entity("IfcMaterialProfileWithOffsets", false, 605, IFC4X2_IfcMaterialProfile_type); IFC4X2_IfcMaterialUsageDefinition_type = new entity("IfcMaterialUsageDefinition", true, 609, 0); IFC4X2_IfcMeasureWithUnit_type = new entity("IfcMeasureWithUnit", false, 611, 0); IFC4X2_IfcMetric_type = new entity("IfcMetric", false, 622, IFC4X2_IfcConstraint_type); IFC4X2_IfcMonetaryUnit_type = new entity("IfcMonetaryUnit", false, 636, 0); IFC4X2_IfcNamedUnit_type = new entity("IfcNamedUnit", true, 641, 0); IFC4X2_IfcObjectPlacement_type = new entity("IfcObjectPlacement", true, 650, 0); IFC4X2_IfcObjective_type = new entity("IfcObjective", false, 648, IFC4X2_IfcConstraint_type); IFC4X2_IfcOrganization_type = new entity("IfcOrganization", false, 663, 0); IFC4X2_IfcOwnerHistory_type = new entity("IfcOwnerHistory", false, 671, 0); IFC4X2_IfcPerson_type = new entity("IfcPerson", false, 682, 0); IFC4X2_IfcPersonAndOrganization_type = new entity("IfcPersonAndOrganization", false, 683, 0); IFC4X2_IfcPhysicalQuantity_type = new entity("IfcPhysicalQuantity", true, 687, 0); IFC4X2_IfcPhysicalSimpleQuantity_type = new entity("IfcPhysicalSimpleQuantity", true, 688, IFC4X2_IfcPhysicalQuantity_type); IFC4X2_IfcPostalAddress_type = new entity("IfcPostalAddress", false, 724, IFC4X2_IfcAddress_type); IFC4X2_IfcPresentationItem_type = new entity("IfcPresentationItem", true, 734, 0); IFC4X2_IfcPresentationLayerAssignment_type = new entity("IfcPresentationLayerAssignment", false, 735, 0); IFC4X2_IfcPresentationLayerWithStyle_type = new entity("IfcPresentationLayerWithStyle", false, 736, IFC4X2_IfcPresentationLayerAssignment_type); IFC4X2_IfcPresentationStyle_type = new entity("IfcPresentationStyle", true, 737, 0); IFC4X2_IfcPresentationStyleAssignment_type = new entity("IfcPresentationStyleAssignment", false, 738, 0); IFC4X2_IfcProductRepresentation_type = new entity("IfcProductRepresentation", true, 748, 0); IFC4X2_IfcProfileDef_type = new entity("IfcProfileDef", false, 751, 0); IFC4X2_IfcProjectedCRS_type = new entity("IfcProjectedCRS", false, 755, IFC4X2_IfcCoordinateReferenceSystem_type); IFC4X2_IfcPropertyAbstraction_type = new entity("IfcPropertyAbstraction", true, 763, 0); IFC4X2_IfcPropertyEnumeration_type = new entity("IfcPropertyEnumeration", false, 768, IFC4X2_IfcPropertyAbstraction_type); IFC4X2_IfcQuantityArea_type = new entity("IfcQuantityArea", false, 791, IFC4X2_IfcPhysicalSimpleQuantity_type); IFC4X2_IfcQuantityCount_type = new entity("IfcQuantityCount", false, 792, IFC4X2_IfcPhysicalSimpleQuantity_type); IFC4X2_IfcQuantityLength_type = new entity("IfcQuantityLength", false, 793, IFC4X2_IfcPhysicalSimpleQuantity_type); IFC4X2_IfcQuantityTime_type = new entity("IfcQuantityTime", false, 795, IFC4X2_IfcPhysicalSimpleQuantity_type); IFC4X2_IfcQuantityVolume_type = new entity("IfcQuantityVolume", false, 796, IFC4X2_IfcPhysicalSimpleQuantity_type); IFC4X2_IfcQuantityWeight_type = new entity("IfcQuantityWeight", false, 797, IFC4X2_IfcPhysicalSimpleQuantity_type); IFC4X2_IfcRecurrencePattern_type = new entity("IfcRecurrencePattern", false, 816, 0); IFC4X2_IfcReference_type = new entity("IfcReference", false, 818, 0); IFC4X2_IfcRepresentation_type = new entity("IfcRepresentation", true, 885, 0); IFC4X2_IfcRepresentationContext_type = new entity("IfcRepresentationContext", true, 886, 0); IFC4X2_IfcRepresentationItem_type = new entity("IfcRepresentationItem", true, 887, 0); IFC4X2_IfcRepresentationMap_type = new entity("IfcRepresentationMap", false, 888, 0); IFC4X2_IfcResourceLevelRelationship_type = new entity("IfcResourceLevelRelationship", true, 892, 0); IFC4X2_IfcRoot_type = new entity("IfcRoot", true, 904, 0); IFC4X2_IfcSIUnit_type = new entity("IfcSIUnit", false, 943, IFC4X2_IfcNamedUnit_type); IFC4X2_IfcSchedulingTime_type = new entity("IfcSchedulingTime", true, 913, 0); IFC4X2_IfcShapeAspect_type = new entity("IfcShapeAspect", false, 931, 0); IFC4X2_IfcShapeModel_type = new entity("IfcShapeModel", true, 932, IFC4X2_IfcRepresentation_type); IFC4X2_IfcShapeRepresentation_type = new entity("IfcShapeRepresentation", false, 933, IFC4X2_IfcShapeModel_type); IFC4X2_IfcStructuralConnectionCondition_type = new entity("IfcStructuralConnectionCondition", true, 997, 0); IFC4X2_IfcStructuralLoad_type = new entity("IfcStructuralLoad", true, 1007, 0); IFC4X2_IfcStructuralLoadConfiguration_type = new entity("IfcStructuralLoadConfiguration", false, 1009, IFC4X2_IfcStructuralLoad_type); IFC4X2_IfcStructuralLoadOrResult_type = new entity("IfcStructuralLoadOrResult", true, 1012, IFC4X2_IfcStructuralLoad_type); IFC4X2_IfcStructuralLoadStatic_type = new entity("IfcStructuralLoadStatic", true, 1018, IFC4X2_IfcStructuralLoadOrResult_type); IFC4X2_IfcStructuralLoadTemperature_type = new entity("IfcStructuralLoadTemperature", false, 1019, IFC4X2_IfcStructuralLoadStatic_type); IFC4X2_IfcStyleModel_type = new entity("IfcStyleModel", true, 1037, IFC4X2_IfcRepresentation_type); IFC4X2_IfcStyledItem_type = new entity("IfcStyledItem", false, 1035, IFC4X2_IfcRepresentationItem_type); IFC4X2_IfcStyledRepresentation_type = new entity("IfcStyledRepresentation", false, 1036, IFC4X2_IfcStyleModel_type); IFC4X2_IfcSurfaceReinforcementArea_type = new entity("IfcSurfaceReinforcementArea", false, 1050, IFC4X2_IfcStructuralLoadOrResult_type); IFC4X2_IfcSurfaceStyle_type = new entity("IfcSurfaceStyle", false, 1052, IFC4X2_IfcPresentationStyle_type); IFC4X2_IfcSurfaceStyleLighting_type = new entity("IfcSurfaceStyleLighting", false, 1054, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcSurfaceStyleRefraction_type = new entity("IfcSurfaceStyleRefraction", false, 1055, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcSurfaceStyleShading_type = new entity("IfcSurfaceStyleShading", false, 1057, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcSurfaceStyleWithTextures_type = new entity("IfcSurfaceStyleWithTextures", false, 1058, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcSurfaceTexture_type = new entity("IfcSurfaceTexture", true, 1059, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcTable_type = new entity("IfcTable", false, 1071, 0); IFC4X2_IfcTableColumn_type = new entity("IfcTableColumn", false, 1072, 0); IFC4X2_IfcTableRow_type = new entity("IfcTableRow", false, 1073, 0); IFC4X2_IfcTaskTime_type = new entity("IfcTaskTime", false, 1079, IFC4X2_IfcSchedulingTime_type); IFC4X2_IfcTaskTimeRecurring_type = new entity("IfcTaskTimeRecurring", false, 1080, IFC4X2_IfcTaskTime_type); IFC4X2_IfcTelecomAddress_type = new entity("IfcTelecomAddress", false, 1083, IFC4X2_IfcAddress_type); IFC4X2_IfcTextStyle_type = new entity("IfcTextStyle", false, 1105, IFC4X2_IfcPresentationStyle_type); IFC4X2_IfcTextStyleForDefinedFont_type = new entity("IfcTextStyleForDefinedFont", false, 1107, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcTextStyleTextModel_type = new entity("IfcTextStyleTextModel", false, 1108, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcTextureCoordinate_type = new entity("IfcTextureCoordinate", true, 1110, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcTextureCoordinateGenerator_type = new entity("IfcTextureCoordinateGenerator", false, 1111, IFC4X2_IfcTextureCoordinate_type); IFC4X2_IfcTextureMap_type = new entity("IfcTextureMap", false, 1112, IFC4X2_IfcTextureCoordinate_type); IFC4X2_IfcTextureVertex_type = new entity("IfcTextureVertex", false, 1113, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcTextureVertexList_type = new entity("IfcTextureVertexList", false, 1114, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcTimePeriod_type = new entity("IfcTimePeriod", false, 1124, 0); IFC4X2_IfcTimeSeries_type = new entity("IfcTimeSeries", true, 1125, 0); IFC4X2_IfcTimeSeriesValue_type = new entity("IfcTimeSeriesValue", false, 1127, 0); IFC4X2_IfcTopologicalRepresentationItem_type = new entity("IfcTopologicalRepresentationItem", true, 1129, IFC4X2_IfcRepresentationItem_type); IFC4X2_IfcTopologyRepresentation_type = new entity("IfcTopologyRepresentation", false, 1130, IFC4X2_IfcShapeModel_type); IFC4X2_IfcUnitAssignment_type = new entity("IfcUnitAssignment", false, 1164, 0); IFC4X2_IfcVertex_type = new entity("IfcVertex", false, 1175, IFC4X2_IfcTopologicalRepresentationItem_type); IFC4X2_IfcVertexPoint_type = new entity("IfcVertexPoint", false, 1177, IFC4X2_IfcVertex_type); IFC4X2_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", false, 1185, 0); IFC4X2_IfcWorkTime_type = new entity("IfcWorkTime", false, 1220, IFC4X2_IfcSchedulingTime_type); { std::vector items; items.reserve(3); items.push_back(IFC4X2_IfcOrganization_type); items.push_back(IFC4X2_IfcPerson_type); items.push_back(IFC4X2_IfcPersonAndOrganization_type); IFC4X2_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items); } IFC4X2_IfcArcIndex_type = new type_declaration("IfcArcIndex", 54, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X2_IfcPositiveInteger_type))); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcLengthMeasure_type); items.push_back(IFC4X2_IfcPlaneAngleMeasure_type); IFC4X2_IfcBendingParameterSelect_type = new select_type("IfcBendingParameterSelect", 77, items); } IFC4X2_IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", 98, new named_type(IFC4X2_IfcLabel_type)); { std::vector items; items.reserve(71); items.push_back(IFC4X2_IfcAbsorbedDoseMeasure_type); items.push_back(IFC4X2_IfcAccelerationMeasure_type); items.push_back(IFC4X2_IfcAngularVelocityMeasure_type); items.push_back(IFC4X2_IfcAreaDensityMeasure_type); items.push_back(IFC4X2_IfcCompoundPlaneAngleMeasure_type); items.push_back(IFC4X2_IfcCurvatureMeasure_type); items.push_back(IFC4X2_IfcDoseEquivalentMeasure_type); items.push_back(IFC4X2_IfcDynamicViscosityMeasure_type); items.push_back(IFC4X2_IfcElectricCapacitanceMeasure_type); items.push_back(IFC4X2_IfcElectricChargeMeasure_type); items.push_back(IFC4X2_IfcElectricConductanceMeasure_type); items.push_back(IFC4X2_IfcElectricResistanceMeasure_type); items.push_back(IFC4X2_IfcElectricVoltageMeasure_type); items.push_back(IFC4X2_IfcEnergyMeasure_type); items.push_back(IFC4X2_IfcForceMeasure_type); items.push_back(IFC4X2_IfcFrequencyMeasure_type); items.push_back(IFC4X2_IfcHeatFluxDensityMeasure_type); items.push_back(IFC4X2_IfcHeatingValueMeasure_type); items.push_back(IFC4X2_IfcIlluminanceMeasure_type); items.push_back(IFC4X2_IfcInductanceMeasure_type); items.push_back(IFC4X2_IfcIntegerCountRateMeasure_type); items.push_back(IFC4X2_IfcIonConcentrationMeasure_type); items.push_back(IFC4X2_IfcIsothermalMoistureCapacityMeasure_type); items.push_back(IFC4X2_IfcKinematicViscosityMeasure_type); items.push_back(IFC4X2_IfcLinearForceMeasure_type); items.push_back(IFC4X2_IfcLinearMomentMeasure_type); items.push_back(IFC4X2_IfcLinearStiffnessMeasure_type); items.push_back(IFC4X2_IfcLinearVelocityMeasure_type); items.push_back(IFC4X2_IfcLuminousFluxMeasure_type); items.push_back(IFC4X2_IfcLuminousIntensityDistributionMeasure_type); items.push_back(IFC4X2_IfcMagneticFluxDensityMeasure_type); items.push_back(IFC4X2_IfcMagneticFluxMeasure_type); items.push_back(IFC4X2_IfcMassDensityMeasure_type); items.push_back(IFC4X2_IfcMassFlowRateMeasure_type); items.push_back(IFC4X2_IfcMassPerLengthMeasure_type); items.push_back(IFC4X2_IfcModulusOfElasticityMeasure_type); items.push_back(IFC4X2_IfcModulusOfLinearSubgradeReactionMeasure_type); items.push_back(IFC4X2_IfcModulusOfRotationalSubgradeReactionMeasure_type); items.push_back(IFC4X2_IfcModulusOfSubgradeReactionMeasure_type); items.push_back(IFC4X2_IfcMoistureDiffusivityMeasure_type); items.push_back(IFC4X2_IfcMolecularWeightMeasure_type); items.push_back(IFC4X2_IfcMomentOfInertiaMeasure_type); items.push_back(IFC4X2_IfcMonetaryMeasure_type); items.push_back(IFC4X2_IfcPHMeasure_type); items.push_back(IFC4X2_IfcPlanarForceMeasure_type); items.push_back(IFC4X2_IfcPowerMeasure_type); items.push_back(IFC4X2_IfcPressureMeasure_type); items.push_back(IFC4X2_IfcRadioActivityMeasure_type); items.push_back(IFC4X2_IfcRotationalFrequencyMeasure_type); items.push_back(IFC4X2_IfcRotationalMassMeasure_type); items.push_back(IFC4X2_IfcRotationalStiffnessMeasure_type); items.push_back(IFC4X2_IfcSectionModulusMeasure_type); items.push_back(IFC4X2_IfcSectionalAreaIntegralMeasure_type); items.push_back(IFC4X2_IfcShearModulusMeasure_type); items.push_back(IFC4X2_IfcSoundPowerLevelMeasure_type); items.push_back(IFC4X2_IfcSoundPowerMeasure_type); items.push_back(IFC4X2_IfcSoundPressureLevelMeasure_type); items.push_back(IFC4X2_IfcSoundPressureMeasure_type); items.push_back(IFC4X2_IfcSpecificHeatCapacityMeasure_type); items.push_back(IFC4X2_IfcTemperatureGradientMeasure_type); items.push_back(IFC4X2_IfcTemperatureRateOfChangeMeasure_type); items.push_back(IFC4X2_IfcThermalAdmittanceMeasure_type); items.push_back(IFC4X2_IfcThermalConductivityMeasure_type); items.push_back(IFC4X2_IfcThermalExpansionCoefficientMeasure_type); items.push_back(IFC4X2_IfcThermalResistanceMeasure_type); items.push_back(IFC4X2_IfcThermalTransmittanceMeasure_type); items.push_back(IFC4X2_IfcTorqueMeasure_type); items.push_back(IFC4X2_IfcVaporPermeabilityMeasure_type); items.push_back(IFC4X2_IfcVolumetricFlowRateMeasure_type); items.push_back(IFC4X2_IfcWarpingConstantMeasure_type); items.push_back(IFC4X2_IfcWarpingMomentMeasure_type); IFC4X2_IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", 285, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcRepresentation_type); items.push_back(IFC4X2_IfcRepresentationItem_type); IFC4X2_IfcLayeredItem_type = new select_type("IfcLayeredItem", 543, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcLibraryInformation_type); items.push_back(IFC4X2_IfcLibraryReference_type); IFC4X2_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 548, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcExternalReference_type); items.push_back(IFC4X2_IfcLightIntensityDistribution_type); IFC4X2_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 551, items); } IFC4X2_IfcLineIndex_type = new type_declaration("IfcLineIndex", 570, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcPositiveInteger_type))); { std::vector items; items.reserve(3); items.push_back(IFC4X2_IfcMaterialDefinition_type); items.push_back(IFC4X2_IfcMaterialList_type); items.push_back(IFC4X2_IfcMaterialUsageDefinition_type); IFC4X2_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 608, items); } IFC4X2_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 643, new named_type(IFC4X2_IfcRatioMeasure_type)); { std::vector items; items.reserve(9); items.push_back(IFC4X2_IfcAddress_type); items.push_back(IFC4X2_IfcAppliedValue_type); items.push_back(IFC4X2_IfcExternalReference_type); items.push_back(IFC4X2_IfcMaterialDefinition_type); items.push_back(IFC4X2_IfcOrganization_type); items.push_back(IFC4X2_IfcPerson_type); items.push_back(IFC4X2_IfcPersonAndOrganization_type); items.push_back(IFC4X2_IfcTable_type); items.push_back(IFC4X2_IfcTimeSeries_type); IFC4X2_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 651, items); } IFC4X2_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 723, new named_type(IFC4X2_IfcRatioMeasure_type)); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcArcIndex_type); items.push_back(IFC4X2_IfcLineIndex_type); IFC4X2_IfcSegmentIndexSelect_type = new select_type("IfcSegmentIndexSelect", 923, items); } { std::vector items; items.reserve(14); items.push_back(IFC4X2_IfcBinary_type); items.push_back(IFC4X2_IfcBoolean_type); items.push_back(IFC4X2_IfcDate_type); items.push_back(IFC4X2_IfcDateTime_type); items.push_back(IFC4X2_IfcDuration_type); items.push_back(IFC4X2_IfcIdentifier_type); items.push_back(IFC4X2_IfcInteger_type); items.push_back(IFC4X2_IfcLabel_type); items.push_back(IFC4X2_IfcLogical_type); items.push_back(IFC4X2_IfcPositiveInteger_type); items.push_back(IFC4X2_IfcReal_type); items.push_back(IFC4X2_IfcText_type); items.push_back(IFC4X2_IfcTime_type); items.push_back(IFC4X2_IfcTimeStamp_type); IFC4X2_IfcSimpleValue_type = new select_type("IfcSimpleValue", 940, items); } { std::vector items; items.reserve(6); items.push_back(IFC4X2_IfcDescriptiveMeasure_type); items.push_back(IFC4X2_IfcLengthMeasure_type); items.push_back(IFC4X2_IfcNormalisedRatioMeasure_type); items.push_back(IFC4X2_IfcPositiveLengthMeasure_type); items.push_back(IFC4X2_IfcPositiveRatioMeasure_type); items.push_back(IFC4X2_IfcRatioMeasure_type); IFC4X2_IfcSizeSelect_type = new select_type("IfcSizeSelect", 945, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcSpecularExponent_type); items.push_back(IFC4X2_IfcSpecularRoughness_type); IFC4X2_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 978, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcPresentationStyle_type); items.push_back(IFC4X2_IfcPresentationStyleAssignment_type); IFC4X2_IfcStyleAssignmentSelect_type = new select_type("IfcStyleAssignmentSelect", 1034, items); } { std::vector items; items.reserve(5); items.push_back(IFC4X2_IfcExternallyDefinedSurfaceStyle_type); items.push_back(IFC4X2_IfcSurfaceStyleLighting_type); items.push_back(IFC4X2_IfcSurfaceStyleRefraction_type); items.push_back(IFC4X2_IfcSurfaceStyleShading_type); items.push_back(IFC4X2_IfcSurfaceStyleWithTextures_type); IFC4X2_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 1053, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X2_IfcDerivedUnit_type); items.push_back(IFC4X2_IfcMonetaryUnit_type); items.push_back(IFC4X2_IfcNamedUnit_type); IFC4X2_IfcUnit_type = new select_type("IfcUnit", 1157, items); } IFC4X2_IfcApprovalRelationship_type = new entity("IfcApprovalRelationship", false, 50, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcArbitraryClosedProfileDef_type = new entity("IfcArbitraryClosedProfileDef", false, 51, IFC4X2_IfcProfileDef_type); IFC4X2_IfcArbitraryOpenProfileDef_type = new entity("IfcArbitraryOpenProfileDef", false, 52, IFC4X2_IfcProfileDef_type); IFC4X2_IfcArbitraryProfileDefWithVoids_type = new entity("IfcArbitraryProfileDefWithVoids", false, 53, IFC4X2_IfcArbitraryClosedProfileDef_type); IFC4X2_IfcBlobTexture_type = new entity("IfcBlobTexture", false, 79, IFC4X2_IfcSurfaceTexture_type); IFC4X2_IfcCenterLineProfileDef_type = new entity("IfcCenterLineProfileDef", false, 150, IFC4X2_IfcArbitraryOpenProfileDef_type); IFC4X2_IfcClassification_type = new entity("IfcClassification", false, 164, IFC4X2_IfcExternalInformation_type); IFC4X2_IfcClassificationReference_type = new entity("IfcClassificationReference", false, 165, IFC4X2_IfcExternalReference_type); IFC4X2_IfcColourRgbList_type = new entity("IfcColourRgbList", false, 175, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcColourSpecification_type = new entity("IfcColourSpecification", true, 176, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcCompositeProfileDef_type = new entity("IfcCompositeProfileDef", false, 191, IFC4X2_IfcProfileDef_type); IFC4X2_IfcConnectedFaceSet_type = new entity("IfcConnectedFaceSet", false, 200, IFC4X2_IfcTopologicalRepresentationItem_type); IFC4X2_IfcConnectionCurveGeometry_type = new entity("IfcConnectionCurveGeometry", false, 201, IFC4X2_IfcConnectionGeometry_type); IFC4X2_IfcConnectionPointEccentricity_type = new entity("IfcConnectionPointEccentricity", false, 203, IFC4X2_IfcConnectionPointGeometry_type); IFC4X2_IfcContextDependentUnit_type = new entity("IfcContextDependentUnit", false, 223, IFC4X2_IfcNamedUnit_type); IFC4X2_IfcConversionBasedUnit_type = new entity("IfcConversionBasedUnit", false, 228, IFC4X2_IfcNamedUnit_type); IFC4X2_IfcConversionBasedUnitWithOffset_type = new entity("IfcConversionBasedUnitWithOffset", false, 229, IFC4X2_IfcConversionBasedUnit_type); IFC4X2_IfcCurrencyRelationship_type = new entity("IfcCurrencyRelationship", false, 255, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcCurveStyle_type = new entity("IfcCurveStyle", false, 268, IFC4X2_IfcPresentationStyle_type); IFC4X2_IfcCurveStyleFont_type = new entity("IfcCurveStyleFont", false, 269, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcCurveStyleFontAndScaling_type = new entity("IfcCurveStyleFontAndScaling", false, 270, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcCurveStyleFontPattern_type = new entity("IfcCurveStyleFontPattern", false, 271, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcDerivedProfileDef_type = new entity("IfcDerivedProfileDef", false, 286, IFC4X2_IfcProfileDef_type); IFC4X2_IfcDocumentInformation_type = new entity("IfcDocumentInformation", false, 314, IFC4X2_IfcExternalInformation_type); IFC4X2_IfcDocumentInformationRelationship_type = new entity("IfcDocumentInformationRelationship", false, 315, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcDocumentReference_type = new entity("IfcDocumentReference", false, 316, IFC4X2_IfcExternalReference_type); IFC4X2_IfcEdge_type = new entity("IfcEdge", false, 345, IFC4X2_IfcTopologicalRepresentationItem_type); IFC4X2_IfcEdgeCurve_type = new entity("IfcEdgeCurve", false, 346, IFC4X2_IfcEdge_type); IFC4X2_IfcEventTime_type = new entity("IfcEventTime", false, 397, IFC4X2_IfcSchedulingTime_type); IFC4X2_IfcExtendedProperties_type = new entity("IfcExtendedProperties", true, 401, IFC4X2_IfcPropertyAbstraction_type); IFC4X2_IfcExternalReferenceRelationship_type = new entity("IfcExternalReferenceRelationship", false, 407, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcFace_type = new entity("IfcFace", false, 413, IFC4X2_IfcTopologicalRepresentationItem_type); IFC4X2_IfcFaceBound_type = new entity("IfcFaceBound", false, 415, IFC4X2_IfcTopologicalRepresentationItem_type); IFC4X2_IfcFaceOuterBound_type = new entity("IfcFaceOuterBound", false, 416, IFC4X2_IfcFaceBound_type); IFC4X2_IfcFaceSurface_type = new entity("IfcFaceSurface", false, 417, IFC4X2_IfcFace_type); IFC4X2_IfcFailureConnectionCondition_type = new entity("IfcFailureConnectionCondition", false, 422, IFC4X2_IfcStructuralConnectionCondition_type); IFC4X2_IfcFillAreaStyle_type = new entity("IfcFillAreaStyle", false, 432, IFC4X2_IfcPresentationStyle_type); IFC4X2_IfcGeometricRepresentationContext_type = new entity("IfcGeometricRepresentationContext", false, 482, IFC4X2_IfcRepresentationContext_type); IFC4X2_IfcGeometricRepresentationItem_type = new entity("IfcGeometricRepresentationItem", true, 483, IFC4X2_IfcRepresentationItem_type); IFC4X2_IfcGeometricRepresentationSubContext_type = new entity("IfcGeometricRepresentationSubContext", false, 484, IFC4X2_IfcGeometricRepresentationContext_type); IFC4X2_IfcGeometricSet_type = new entity("IfcGeometricSet", false, 485, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcGridPlacement_type = new entity("IfcGridPlacement", false, 491, IFC4X2_IfcObjectPlacement_type); IFC4X2_IfcHalfSpaceSolid_type = new entity("IfcHalfSpaceSolid", false, 495, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcImageTexture_type = new entity("IfcImageTexture", false, 507, IFC4X2_IfcSurfaceTexture_type); IFC4X2_IfcIndexedColourMap_type = new entity("IfcIndexedColourMap", false, 508, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcIndexedTextureMap_type = new entity("IfcIndexedTextureMap", true, 512, IFC4X2_IfcTextureCoordinate_type); IFC4X2_IfcIndexedTriangleTextureMap_type = new entity("IfcIndexedTriangleTextureMap", false, 513, IFC4X2_IfcIndexedTextureMap_type); IFC4X2_IfcIrregularTimeSeries_type = new entity("IfcIrregularTimeSeries", false, 525, IFC4X2_IfcTimeSeries_type); IFC4X2_IfcLagTime_type = new entity("IfcLagTime", false, 538, IFC4X2_IfcSchedulingTime_type); IFC4X2_IfcLightSource_type = new entity("IfcLightSource", true, 557, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcLightSourceAmbient_type = new entity("IfcLightSourceAmbient", false, 558, IFC4X2_IfcLightSource_type); IFC4X2_IfcLightSourceDirectional_type = new entity("IfcLightSourceDirectional", false, 559, IFC4X2_IfcLightSource_type); IFC4X2_IfcLightSourceGoniometric_type = new entity("IfcLightSourceGoniometric", false, 560, IFC4X2_IfcLightSource_type); IFC4X2_IfcLightSourcePositional_type = new entity("IfcLightSourcePositional", false, 561, IFC4X2_IfcLightSource_type); IFC4X2_IfcLightSourceSpot_type = new entity("IfcLightSourceSpot", false, 562, IFC4X2_IfcLightSourcePositional_type); IFC4X2_IfcLinearPlacement_type = new entity("IfcLinearPlacement", false, 566, IFC4X2_IfcObjectPlacement_type); IFC4X2_IfcLocalPlacement_type = new entity("IfcLocalPlacement", false, 573, IFC4X2_IfcObjectPlacement_type); IFC4X2_IfcLoop_type = new entity("IfcLoop", false, 576, IFC4X2_IfcTopologicalRepresentationItem_type); IFC4X2_IfcMappedItem_type = new entity("IfcMappedItem", false, 585, IFC4X2_IfcRepresentationItem_type); IFC4X2_IfcMaterial_type = new entity("IfcMaterial", false, 590, IFC4X2_IfcMaterialDefinition_type); IFC4X2_IfcMaterialConstituent_type = new entity("IfcMaterialConstituent", false, 592, IFC4X2_IfcMaterialDefinition_type); IFC4X2_IfcMaterialConstituentSet_type = new entity("IfcMaterialConstituentSet", false, 593, IFC4X2_IfcMaterialDefinition_type); IFC4X2_IfcMaterialDefinitionRepresentation_type = new entity("IfcMaterialDefinitionRepresentation", false, 595, IFC4X2_IfcProductRepresentation_type); IFC4X2_IfcMaterialLayerSetUsage_type = new entity("IfcMaterialLayerSetUsage", false, 598, IFC4X2_IfcMaterialUsageDefinition_type); IFC4X2_IfcMaterialProfileSetUsage_type = new entity("IfcMaterialProfileSetUsage", false, 603, IFC4X2_IfcMaterialUsageDefinition_type); IFC4X2_IfcMaterialProfileSetUsageTapering_type = new entity("IfcMaterialProfileSetUsageTapering", false, 604, IFC4X2_IfcMaterialProfileSetUsage_type); IFC4X2_IfcMaterialProperties_type = new entity("IfcMaterialProperties", false, 606, IFC4X2_IfcExtendedProperties_type); IFC4X2_IfcMaterialRelationship_type = new entity("IfcMaterialRelationship", false, 607, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcMirroredProfileDef_type = new entity("IfcMirroredProfileDef", false, 624, IFC4X2_IfcDerivedProfileDef_type); IFC4X2_IfcObjectDefinition_type = new entity("IfcObjectDefinition", true, 647, IFC4X2_IfcRoot_type); IFC4X2_IfcOpenShell_type = new entity("IfcOpenShell", false, 662, IFC4X2_IfcConnectedFaceSet_type); IFC4X2_IfcOrganizationRelationship_type = new entity("IfcOrganizationRelationship", false, 664, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcOrientationExpression_type = new entity("IfcOrientationExpression", false, 665, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcOrientedEdge_type = new entity("IfcOrientedEdge", false, 666, IFC4X2_IfcEdge_type); IFC4X2_IfcParameterizedProfileDef_type = new entity("IfcParameterizedProfileDef", true, 672, IFC4X2_IfcProfileDef_type); IFC4X2_IfcPath_type = new entity("IfcPath", false, 674, IFC4X2_IfcTopologicalRepresentationItem_type); IFC4X2_IfcPhysicalComplexQuantity_type = new entity("IfcPhysicalComplexQuantity", false, 685, IFC4X2_IfcPhysicalQuantity_type); IFC4X2_IfcPixelTexture_type = new entity("IfcPixelTexture", false, 699, IFC4X2_IfcSurfaceTexture_type); IFC4X2_IfcPlacement_type = new entity("IfcPlacement", true, 700, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcPlanarExtent_type = new entity("IfcPlanarExtent", false, 702, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcPoint_type = new entity("IfcPoint", true, 710, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcPointOnCurve_type = new entity("IfcPointOnCurve", false, 711, IFC4X2_IfcPoint_type); IFC4X2_IfcPointOnSurface_type = new entity("IfcPointOnSurface", false, 712, IFC4X2_IfcPoint_type); IFC4X2_IfcPolyLoop_type = new entity("IfcPolyLoop", false, 717, IFC4X2_IfcLoop_type); IFC4X2_IfcPolygonalBoundedHalfSpace_type = new entity("IfcPolygonalBoundedHalfSpace", false, 714, IFC4X2_IfcHalfSpaceSolid_type); IFC4X2_IfcPreDefinedItem_type = new entity("IfcPreDefinedItem", true, 728, IFC4X2_IfcPresentationItem_type); IFC4X2_IfcPreDefinedProperties_type = new entity("IfcPreDefinedProperties", true, 729, IFC4X2_IfcPropertyAbstraction_type); IFC4X2_IfcPreDefinedTextFont_type = new entity("IfcPreDefinedTextFont", true, 731, IFC4X2_IfcPreDefinedItem_type); IFC4X2_IfcProductDefinitionShape_type = new entity("IfcProductDefinitionShape", false, 747, IFC4X2_IfcProductRepresentation_type); IFC4X2_IfcProfileProperties_type = new entity("IfcProfileProperties", false, 752, IFC4X2_IfcExtendedProperties_type); IFC4X2_IfcProperty_type = new entity("IfcProperty", true, 762, IFC4X2_IfcPropertyAbstraction_type); IFC4X2_IfcPropertyDefinition_type = new entity("IfcPropertyDefinition", true, 765, IFC4X2_IfcRoot_type); IFC4X2_IfcPropertyDependencyRelationship_type = new entity("IfcPropertyDependencyRelationship", false, 766, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcPropertySetDefinition_type = new entity("IfcPropertySetDefinition", true, 772, IFC4X2_IfcPropertyDefinition_type); IFC4X2_IfcPropertyTemplateDefinition_type = new entity("IfcPropertyTemplateDefinition", true, 780, IFC4X2_IfcPropertyDefinition_type); IFC4X2_IfcQuantitySet_type = new entity("IfcQuantitySet", true, 794, IFC4X2_IfcPropertySetDefinition_type); IFC4X2_IfcRectangleProfileDef_type = new entity("IfcRectangleProfileDef", false, 813, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcRegularTimeSeries_type = new entity("IfcRegularTimeSeries", false, 822, IFC4X2_IfcTimeSeries_type); IFC4X2_IfcReinforcementBarProperties_type = new entity("IfcReinforcementBarProperties", false, 823, IFC4X2_IfcPreDefinedProperties_type); IFC4X2_IfcRelationship_type = new entity("IfcRelationship", true, 851, IFC4X2_IfcRoot_type); IFC4X2_IfcResourceApprovalRelationship_type = new entity("IfcResourceApprovalRelationship", false, 890, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcResourceConstraintRelationship_type = new entity("IfcResourceConstraintRelationship", false, 891, IFC4X2_IfcResourceLevelRelationship_type); IFC4X2_IfcResourceTime_type = new entity("IfcResourceTime", false, 895, IFC4X2_IfcSchedulingTime_type); IFC4X2_IfcRoundedRectangleProfileDef_type = new entity("IfcRoundedRectangleProfileDef", false, 909, IFC4X2_IfcRectangleProfileDef_type); IFC4X2_IfcSectionProperties_type = new entity("IfcSectionProperties", false, 920, IFC4X2_IfcPreDefinedProperties_type); IFC4X2_IfcSectionReinforcementProperties_type = new entity("IfcSectionReinforcementProperties", false, 921, IFC4X2_IfcPreDefinedProperties_type); IFC4X2_IfcSectionedSpine_type = new entity("IfcSectionedSpine", false, 918, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcShellBasedSurfaceModel_type = new entity("IfcShellBasedSurfaceModel", false, 936, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcSimpleProperty_type = new entity("IfcSimpleProperty", true, 937, IFC4X2_IfcProperty_type); IFC4X2_IfcSlippageConnectionCondition_type = new entity("IfcSlippageConnectionCondition", false, 951, IFC4X2_IfcStructuralConnectionCondition_type); IFC4X2_IfcSolidModel_type = new entity("IfcSolidModel", true, 956, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcStructuralLoadLinearForce_type = new entity("IfcStructuralLoadLinearForce", false, 1011, IFC4X2_IfcStructuralLoadStatic_type); IFC4X2_IfcStructuralLoadPlanarForce_type = new entity("IfcStructuralLoadPlanarForce", false, 1013, IFC4X2_IfcStructuralLoadStatic_type); IFC4X2_IfcStructuralLoadSingleDisplacement_type = new entity("IfcStructuralLoadSingleDisplacement", false, 1014, IFC4X2_IfcStructuralLoadStatic_type); IFC4X2_IfcStructuralLoadSingleDisplacementDistortion_type = new entity("IfcStructuralLoadSingleDisplacementDistortion", false, 1015, IFC4X2_IfcStructuralLoadSingleDisplacement_type); IFC4X2_IfcStructuralLoadSingleForce_type = new entity("IfcStructuralLoadSingleForce", false, 1016, IFC4X2_IfcStructuralLoadStatic_type); IFC4X2_IfcStructuralLoadSingleForceWarping_type = new entity("IfcStructuralLoadSingleForceWarping", false, 1017, IFC4X2_IfcStructuralLoadSingleForce_type); IFC4X2_IfcSubedge_type = new entity("IfcSubedge", false, 1041, IFC4X2_IfcEdge_type); IFC4X2_IfcSurface_type = new entity("IfcSurface", true, 1042, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcSurfaceStyleRendering_type = new entity("IfcSurfaceStyleRendering", false, 1056, IFC4X2_IfcSurfaceStyleShading_type); IFC4X2_IfcSweptAreaSolid_type = new entity("IfcSweptAreaSolid", true, 1060, IFC4X2_IfcSolidModel_type); IFC4X2_IfcSweptDiskSolid_type = new entity("IfcSweptDiskSolid", false, 1061, IFC4X2_IfcSolidModel_type); IFC4X2_IfcSweptDiskSolidPolygonal_type = new entity("IfcSweptDiskSolidPolygonal", false, 1062, IFC4X2_IfcSweptDiskSolid_type); IFC4X2_IfcSweptSurface_type = new entity("IfcSweptSurface", true, 1063, IFC4X2_IfcSurface_type); IFC4X2_IfcTShapeProfileDef_type = new entity("IfcTShapeProfileDef", false, 1149, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcTessellatedItem_type = new entity("IfcTessellatedItem", true, 1096, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcTextLiteral_type = new entity("IfcTextLiteral", false, 1102, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcTextLiteralWithExtent_type = new entity("IfcTextLiteralWithExtent", false, 1103, IFC4X2_IfcTextLiteral_type); IFC4X2_IfcTextStyleFontModel_type = new entity("IfcTextStyleFontModel", false, 1106, IFC4X2_IfcPreDefinedTextFont_type); IFC4X2_IfcTrapeziumProfileDef_type = new entity("IfcTrapeziumProfileDef", false, 1143, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcTypeObject_type = new entity("IfcTypeObject", false, 1153, IFC4X2_IfcObjectDefinition_type); IFC4X2_IfcTypeProcess_type = new entity("IfcTypeProcess", true, 1154, IFC4X2_IfcTypeObject_type); IFC4X2_IfcTypeProduct_type = new entity("IfcTypeProduct", false, 1155, IFC4X2_IfcTypeObject_type); IFC4X2_IfcTypeResource_type = new entity("IfcTypeResource", true, 1156, IFC4X2_IfcTypeObject_type); IFC4X2_IfcUShapeProfileDef_type = new entity("IfcUShapeProfileDef", false, 1167, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcVector_type = new entity("IfcVector", false, 1173, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcVertexLoop_type = new entity("IfcVertexLoop", false, 1176, IFC4X2_IfcLoop_type); IFC4X2_IfcWindowStyle_type = new entity("IfcWindowStyle", false, 1207, IFC4X2_IfcTypeProduct_type); IFC4X2_IfcZShapeProfileDef_type = new entity("IfcZShapeProfileDef", false, 1222, IFC4X2_IfcParameterizedProfileDef_type); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcClassification_type); items.push_back(IFC4X2_IfcClassificationReference_type); IFC4X2_IfcClassificationReferenceSelect_type = new select_type("IfcClassificationReferenceSelect", 166, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcClassification_type); items.push_back(IFC4X2_IfcClassificationReference_type); IFC4X2_IfcClassificationSelect_type = new select_type("IfcClassificationSelect", 167, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcCoordinateReferenceSystem_type); items.push_back(IFC4X2_IfcGeometricRepresentationContext_type); IFC4X2_IfcCoordinateReferenceSystemSelect_type = new select_type("IfcCoordinateReferenceSystemSelect", 238, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcObjectDefinition_type); items.push_back(IFC4X2_IfcPropertyDefinition_type); IFC4X2_IfcDefinitionSelect_type = new select_type("IfcDefinitionSelect", 284, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcDocumentInformation_type); items.push_back(IFC4X2_IfcDocumentReference_type); IFC4X2_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 317, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcPositiveLengthMeasure_type); items.push_back(IFC4X2_IfcVector_type); IFC4X2_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 496, items); } { std::vector items; items.reserve(23); items.push_back(IFC4X2_IfcAmountOfSubstanceMeasure_type); items.push_back(IFC4X2_IfcAreaMeasure_type); items.push_back(IFC4X2_IfcComplexNumber_type); items.push_back(IFC4X2_IfcContextDependentMeasure_type); items.push_back(IFC4X2_IfcCountMeasure_type); items.push_back(IFC4X2_IfcDescriptiveMeasure_type); items.push_back(IFC4X2_IfcElectricCurrentMeasure_type); items.push_back(IFC4X2_IfcLengthMeasure_type); items.push_back(IFC4X2_IfcLuminousIntensityMeasure_type); items.push_back(IFC4X2_IfcMassMeasure_type); items.push_back(IFC4X2_IfcNonNegativeLengthMeasure_type); items.push_back(IFC4X2_IfcNormalisedRatioMeasure_type); items.push_back(IFC4X2_IfcNumericMeasure_type); items.push_back(IFC4X2_IfcParameterValue_type); items.push_back(IFC4X2_IfcPlaneAngleMeasure_type); items.push_back(IFC4X2_IfcPositiveLengthMeasure_type); items.push_back(IFC4X2_IfcPositivePlaneAngleMeasure_type); items.push_back(IFC4X2_IfcPositiveRatioMeasure_type); items.push_back(IFC4X2_IfcRatioMeasure_type); items.push_back(IFC4X2_IfcSolidAngleMeasure_type); items.push_back(IFC4X2_IfcThermodynamicTemperatureMeasure_type); items.push_back(IFC4X2_IfcTimeMeasure_type); items.push_back(IFC4X2_IfcVolumeMeasure_type); IFC4X2_IfcMeasureValue_type = new select_type("IfcMeasureValue", 610, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcPoint_type); items.push_back(IFC4X2_IfcVertexPoint_type); IFC4X2_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 713, items); } { std::vector items; items.reserve(5); items.push_back(IFC4X2_IfcCurveStyle_type); items.push_back(IFC4X2_IfcFillAreaStyle_type); items.push_back(IFC4X2_IfcNullStyle_type); items.push_back(IFC4X2_IfcSurfaceStyle_type); items.push_back(IFC4X2_IfcTextStyle_type); IFC4X2_IfcPresentationStyleSelect_type = new select_type("IfcPresentationStyleSelect", 739, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcProductDefinitionShape_type); items.push_back(IFC4X2_IfcRepresentationMap_type); IFC4X2_IfcProductRepresentationSelect_type = new select_type("IfcProductRepresentationSelect", 749, items); } IFC4X2_IfcPropertySetDefinitionSet_type = new type_declaration("IfcPropertySetDefinitionSet", 774, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPropertySetDefinition_type))); { std::vector items; items.reserve(17); items.push_back(IFC4X2_IfcActorRole_type); items.push_back(IFC4X2_IfcAppliedValue_type); items.push_back(IFC4X2_IfcApproval_type); items.push_back(IFC4X2_IfcConstraint_type); items.push_back(IFC4X2_IfcContextDependentUnit_type); items.push_back(IFC4X2_IfcConversionBasedUnit_type); items.push_back(IFC4X2_IfcExternalInformation_type); items.push_back(IFC4X2_IfcExternalReference_type); items.push_back(IFC4X2_IfcMaterialDefinition_type); items.push_back(IFC4X2_IfcOrganization_type); items.push_back(IFC4X2_IfcPerson_type); items.push_back(IFC4X2_IfcPersonAndOrganization_type); items.push_back(IFC4X2_IfcPhysicalQuantity_type); items.push_back(IFC4X2_IfcProfileDef_type); items.push_back(IFC4X2_IfcPropertyAbstraction_type); items.push_back(IFC4X2_IfcShapeAspect_type); items.push_back(IFC4X2_IfcTimeSeries_type); IFC4X2_IfcResourceObjectSelect_type = new select_type("IfcResourceObjectSelect", 893, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcExternallyDefinedTextFont_type); items.push_back(IFC4X2_IfcPreDefinedTextFont_type); IFC4X2_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 1101, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X2_IfcDerivedMeasureValue_type); items.push_back(IFC4X2_IfcMeasureValue_type); items.push_back(IFC4X2_IfcSimpleValue_type); IFC4X2_IfcValue_type = new select_type("IfcValue", 1168, items); } IFC4X2_IfcAdvancedFace_type = new entity("IfcAdvancedFace", false, 16, IFC4X2_IfcFaceSurface_type); IFC4X2_IfcAlignment2DHorizontal_type = new entity("IfcAlignment2DHorizontal", false, 30, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcAlignment2DSegment_type = new entity("IfcAlignment2DSegment", true, 32, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcAlignment2DVertical_type = new entity("IfcAlignment2DVertical", false, 36, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcAlignment2DVerticalSegment_type = new entity("IfcAlignment2DVerticalSegment", true, 37, IFC4X2_IfcAlignment2DSegment_type); IFC4X2_IfcAnnotationFillArea_type = new entity("IfcAnnotationFillArea", false, 45, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcAsymmetricIShapeProfileDef_type = new entity("IfcAsymmetricIShapeProfileDef", false, 60, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcAxis1Placement_type = new entity("IfcAxis1Placement", false, 64, IFC4X2_IfcPlacement_type); IFC4X2_IfcAxis2Placement2D_type = new entity("IfcAxis2Placement2D", false, 66, IFC4X2_IfcPlacement_type); IFC4X2_IfcAxis2Placement3D_type = new entity("IfcAxis2Placement3D", false, 67, IFC4X2_IfcPlacement_type); IFC4X2_IfcBooleanResult_type = new entity("IfcBooleanResult", false, 88, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcBoundedSurface_type = new entity("IfcBoundedSurface", true, 96, IFC4X2_IfcSurface_type); IFC4X2_IfcBoundingBox_type = new entity("IfcBoundingBox", false, 97, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcBoxedHalfSpace_type = new entity("IfcBoxedHalfSpace", false, 99, IFC4X2_IfcHalfSpaceSolid_type); IFC4X2_IfcCShapeProfileDef_type = new entity("IfcCShapeProfileDef", false, 254, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcCartesianPoint_type = new entity("IfcCartesianPoint", false, 141, IFC4X2_IfcPoint_type); IFC4X2_IfcCartesianPointList_type = new entity("IfcCartesianPointList", true, 142, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcCartesianPointList2D_type = new entity("IfcCartesianPointList2D", false, 143, IFC4X2_IfcCartesianPointList_type); IFC4X2_IfcCartesianPointList3D_type = new entity("IfcCartesianPointList3D", false, 144, IFC4X2_IfcCartesianPointList_type); IFC4X2_IfcCartesianTransformationOperator_type = new entity("IfcCartesianTransformationOperator", true, 145, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcCartesianTransformationOperator2D_type = new entity("IfcCartesianTransformationOperator2D", false, 146, IFC4X2_IfcCartesianTransformationOperator_type); IFC4X2_IfcCartesianTransformationOperator2DnonUniform_type = new entity("IfcCartesianTransformationOperator2DnonUniform", false, 147, IFC4X2_IfcCartesianTransformationOperator2D_type); IFC4X2_IfcCartesianTransformationOperator3D_type = new entity("IfcCartesianTransformationOperator3D", false, 148, IFC4X2_IfcCartesianTransformationOperator_type); IFC4X2_IfcCartesianTransformationOperator3DnonUniform_type = new entity("IfcCartesianTransformationOperator3DnonUniform", false, 149, IFC4X2_IfcCartesianTransformationOperator3D_type); IFC4X2_IfcCircleProfileDef_type = new entity("IfcCircleProfileDef", false, 160, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcClosedShell_type = new entity("IfcClosedShell", false, 168, IFC4X2_IfcConnectedFaceSet_type); IFC4X2_IfcColourRgb_type = new entity("IfcColourRgb", false, 174, IFC4X2_IfcColourSpecification_type); IFC4X2_IfcComplexProperty_type = new entity("IfcComplexProperty", false, 185, IFC4X2_IfcProperty_type); IFC4X2_IfcCompositeCurveSegment_type = new entity("IfcCompositeCurveSegment", false, 190, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcConstructionResourceType_type = new entity("IfcConstructionResourceType", true, 220, IFC4X2_IfcTypeResource_type); IFC4X2_IfcContext_type = new entity("IfcContext", true, 221, IFC4X2_IfcObjectDefinition_type); IFC4X2_IfcCrewResourceType_type = new entity("IfcCrewResourceType", false, 249, IFC4X2_IfcConstructionResourceType_type); IFC4X2_IfcCsgPrimitive3D_type = new entity("IfcCsgPrimitive3D", true, 251, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcCsgSolid_type = new entity("IfcCsgSolid", false, 253, IFC4X2_IfcSolidModel_type); IFC4X2_IfcCurve_type = new entity("IfcCurve", true, 260, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcCurveBoundedPlane_type = new entity("IfcCurveBoundedPlane", false, 261, IFC4X2_IfcBoundedSurface_type); IFC4X2_IfcCurveBoundedSurface_type = new entity("IfcCurveBoundedSurface", false, 262, IFC4X2_IfcBoundedSurface_type); IFC4X2_IfcDirection_type = new entity("IfcDirection", false, 293, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcDistanceExpression_type = new entity("IfcDistanceExpression", false, 298, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcDoorStyle_type = new entity("IfcDoorStyle", false, 325, IFC4X2_IfcTypeProduct_type); IFC4X2_IfcEdgeLoop_type = new entity("IfcEdgeLoop", false, 347, IFC4X2_IfcLoop_type); IFC4X2_IfcElementQuantity_type = new entity("IfcElementQuantity", false, 380, IFC4X2_IfcQuantitySet_type); IFC4X2_IfcElementType_type = new entity("IfcElementType", true, 381, IFC4X2_IfcTypeProduct_type); IFC4X2_IfcElementarySurface_type = new entity("IfcElementarySurface", true, 373, IFC4X2_IfcSurface_type); IFC4X2_IfcEllipseProfileDef_type = new entity("IfcEllipseProfileDef", false, 383, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcEventType_type = new entity("IfcEventType", false, 399, IFC4X2_IfcTypeProcess_type); IFC4X2_IfcExtrudedAreaSolid_type = new entity("IfcExtrudedAreaSolid", false, 411, IFC4X2_IfcSweptAreaSolid_type); IFC4X2_IfcExtrudedAreaSolidTapered_type = new entity("IfcExtrudedAreaSolidTapered", false, 412, IFC4X2_IfcExtrudedAreaSolid_type); IFC4X2_IfcFaceBasedSurfaceModel_type = new entity("IfcFaceBasedSurfaceModel", false, 414, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcFillAreaStyleHatching_type = new entity("IfcFillAreaStyleHatching", false, 433, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcFillAreaStyleTiles_type = new entity("IfcFillAreaStyleTiles", false, 434, IFC4X2_IfcGeometricRepresentationItem_type); IFC4X2_IfcFixedReferenceSweptAreaSolid_type = new entity("IfcFixedReferenceSweptAreaSolid", false, 442, IFC4X2_IfcSweptAreaSolid_type); IFC4X2_IfcFurnishingElementType_type = new entity("IfcFurnishingElementType", false, 473, IFC4X2_IfcElementType_type); IFC4X2_IfcFurnitureType_type = new entity("IfcFurnitureType", false, 475, IFC4X2_IfcFurnishingElementType_type); IFC4X2_IfcGeographicElementType_type = new entity("IfcGeographicElementType", false, 478, IFC4X2_IfcElementType_type); IFC4X2_IfcGeometricCurveSet_type = new entity("IfcGeometricCurveSet", false, 480, IFC4X2_IfcGeometricSet_type); IFC4X2_IfcIShapeProfileDef_type = new entity("IfcIShapeProfileDef", false, 527, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcIndexedPolygonalFace_type = new entity("IfcIndexedPolygonalFace", false, 510, IFC4X2_IfcTessellatedItem_type); IFC4X2_IfcIndexedPolygonalFaceWithVoids_type = new entity("IfcIndexedPolygonalFaceWithVoids", false, 511, IFC4X2_IfcIndexedPolygonalFace_type); IFC4X2_IfcLShapeProfileDef_type = new entity("IfcLShapeProfileDef", false, 577, IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcLaborResourceType_type = new entity("IfcLaborResourceType", false, 536, IFC4X2_IfcConstructionResourceType_type); IFC4X2_IfcLine_type = new entity("IfcLine", false, 563, IFC4X2_IfcCurve_type); IFC4X2_IfcManifoldSolidBrep_type = new entity("IfcManifoldSolidBrep", true, 583, IFC4X2_IfcSolidModel_type); IFC4X2_IfcObject_type = new entity("IfcObject", true, 646, IFC4X2_IfcObjectDefinition_type); IFC4X2_IfcOffsetCurve_type = new entity("IfcOffsetCurve", true, 655, IFC4X2_IfcCurve_type); IFC4X2_IfcOffsetCurve2D_type = new entity("IfcOffsetCurve2D", false, 656, IFC4X2_IfcOffsetCurve_type); IFC4X2_IfcOffsetCurve3D_type = new entity("IfcOffsetCurve3D", false, 657, IFC4X2_IfcOffsetCurve_type); IFC4X2_IfcOffsetCurveByDistances_type = new entity("IfcOffsetCurveByDistances", false, 658, IFC4X2_IfcOffsetCurve_type); IFC4X2_IfcPcurve_type = new entity("IfcPcurve", false, 675, IFC4X2_IfcCurve_type); IFC4X2_IfcPlanarBox_type = new entity("IfcPlanarBox", false, 701, IFC4X2_IfcPlanarExtent_type); IFC4X2_IfcPlane_type = new entity("IfcPlane", false, 704, IFC4X2_IfcElementarySurface_type); IFC4X2_IfcPreDefinedColour_type = new entity("IfcPreDefinedColour", true, 726, IFC4X2_IfcPreDefinedItem_type); IFC4X2_IfcPreDefinedCurveFont_type = new entity("IfcPreDefinedCurveFont", true, 727, IFC4X2_IfcPreDefinedItem_type); IFC4X2_IfcPreDefinedPropertySet_type = new entity("IfcPreDefinedPropertySet", true, 730, IFC4X2_IfcPropertySetDefinition_type); IFC4X2_IfcProcedureType_type = new entity("IfcProcedureType", false, 742, IFC4X2_IfcTypeProcess_type); IFC4X2_IfcProcess_type = new entity("IfcProcess", true, 744, IFC4X2_IfcObject_type); IFC4X2_IfcProduct_type = new entity("IfcProduct", true, 746, IFC4X2_IfcObject_type); IFC4X2_IfcProject_type = new entity("IfcProject", false, 754, IFC4X2_IfcContext_type); IFC4X2_IfcProjectLibrary_type = new entity("IfcProjectLibrary", false, 759, IFC4X2_IfcContext_type); IFC4X2_IfcPropertyBoundedValue_type = new entity("IfcPropertyBoundedValue", false, 764, IFC4X2_IfcSimpleProperty_type); IFC4X2_IfcPropertyEnumeratedValue_type = new entity("IfcPropertyEnumeratedValue", false, 767, IFC4X2_IfcSimpleProperty_type); IFC4X2_IfcPropertyListValue_type = new entity("IfcPropertyListValue", false, 769, IFC4X2_IfcSimpleProperty_type); IFC4X2_IfcPropertyReferenceValue_type = new entity("IfcPropertyReferenceValue", false, 770, IFC4X2_IfcSimpleProperty_type); IFC4X2_IfcPropertySet_type = new entity("IfcPropertySet", false, 771, IFC4X2_IfcPropertySetDefinition_type); IFC4X2_IfcPropertySetTemplate_type = new entity("IfcPropertySetTemplate", false, 775, IFC4X2_IfcPropertyTemplateDefinition_type); IFC4X2_IfcPropertySingleValue_type = new entity("IfcPropertySingleValue", false, 777, IFC4X2_IfcSimpleProperty_type); IFC4X2_IfcPropertyTableValue_type = new entity("IfcPropertyTableValue", false, 778, IFC4X2_IfcSimpleProperty_type); IFC4X2_IfcPropertyTemplate_type = new entity("IfcPropertyTemplate", true, 779, IFC4X2_IfcPropertyTemplateDefinition_type); IFC4X2_IfcProxy_type = new entity("IfcProxy", false, 787, IFC4X2_IfcProduct_type); IFC4X2_IfcRectangleHollowProfileDef_type = new entity("IfcRectangleHollowProfileDef", false, 812, IFC4X2_IfcRectangleProfileDef_type); IFC4X2_IfcRectangularPyramid_type = new entity("IfcRectangularPyramid", false, 814, IFC4X2_IfcCsgPrimitive3D_type); IFC4X2_IfcRectangularTrimmedSurface_type = new entity("IfcRectangularTrimmedSurface", false, 815, IFC4X2_IfcBoundedSurface_type); IFC4X2_IfcReinforcementDefinitionProperties_type = new entity("IfcReinforcementDefinitionProperties", false, 824, IFC4X2_IfcPreDefinedPropertySet_type); IFC4X2_IfcRelAssigns_type = new entity("IfcRelAssigns", true, 836, IFC4X2_IfcRelationship_type); IFC4X2_IfcRelAssignsToActor_type = new entity("IfcRelAssignsToActor", false, 837, IFC4X2_IfcRelAssigns_type); IFC4X2_IfcRelAssignsToControl_type = new entity("IfcRelAssignsToControl", false, 838, IFC4X2_IfcRelAssigns_type); IFC4X2_IfcRelAssignsToGroup_type = new entity("IfcRelAssignsToGroup", false, 839, IFC4X2_IfcRelAssigns_type); IFC4X2_IfcRelAssignsToGroupByFactor_type = new entity("IfcRelAssignsToGroupByFactor", false, 840, IFC4X2_IfcRelAssignsToGroup_type); IFC4X2_IfcRelAssignsToProcess_type = new entity("IfcRelAssignsToProcess", false, 841, IFC4X2_IfcRelAssigns_type); IFC4X2_IfcRelAssignsToProduct_type = new entity("IfcRelAssignsToProduct", false, 842, IFC4X2_IfcRelAssigns_type); IFC4X2_IfcRelAssignsToResource_type = new entity("IfcRelAssignsToResource", false, 843, IFC4X2_IfcRelAssigns_type); IFC4X2_IfcRelAssociates_type = new entity("IfcRelAssociates", true, 844, IFC4X2_IfcRelationship_type); IFC4X2_IfcRelAssociatesApproval_type = new entity("IfcRelAssociatesApproval", false, 845, IFC4X2_IfcRelAssociates_type); IFC4X2_IfcRelAssociatesClassification_type = new entity("IfcRelAssociatesClassification", false, 846, IFC4X2_IfcRelAssociates_type); IFC4X2_IfcRelAssociatesConstraint_type = new entity("IfcRelAssociatesConstraint", false, 847, IFC4X2_IfcRelAssociates_type); IFC4X2_IfcRelAssociatesDocument_type = new entity("IfcRelAssociatesDocument", false, 848, IFC4X2_IfcRelAssociates_type); IFC4X2_IfcRelAssociatesLibrary_type = new entity("IfcRelAssociatesLibrary", false, 849, IFC4X2_IfcRelAssociates_type); IFC4X2_IfcRelAssociatesMaterial_type = new entity("IfcRelAssociatesMaterial", false, 850, IFC4X2_IfcRelAssociates_type); IFC4X2_IfcRelConnects_type = new entity("IfcRelConnects", true, 852, IFC4X2_IfcRelationship_type); IFC4X2_IfcRelConnectsElements_type = new entity("IfcRelConnectsElements", false, 853, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelConnectsPathElements_type = new entity("IfcRelConnectsPathElements", false, 854, IFC4X2_IfcRelConnectsElements_type); IFC4X2_IfcRelConnectsPortToElement_type = new entity("IfcRelConnectsPortToElement", false, 856, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelConnectsPorts_type = new entity("IfcRelConnectsPorts", false, 855, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelConnectsStructuralActivity_type = new entity("IfcRelConnectsStructuralActivity", false, 857, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelConnectsStructuralMember_type = new entity("IfcRelConnectsStructuralMember", false, 858, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelConnectsWithEccentricity_type = new entity("IfcRelConnectsWithEccentricity", false, 859, IFC4X2_IfcRelConnectsStructuralMember_type); IFC4X2_IfcRelConnectsWithRealizingElements_type = new entity("IfcRelConnectsWithRealizingElements", false, 860, IFC4X2_IfcRelConnectsElements_type); IFC4X2_IfcRelContainedInSpatialStructure_type = new entity("IfcRelContainedInSpatialStructure", false, 861, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelCoversBldgElements_type = new entity("IfcRelCoversBldgElements", false, 862, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelCoversSpaces_type = new entity("IfcRelCoversSpaces", false, 863, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelDeclares_type = new entity("IfcRelDeclares", false, 864, IFC4X2_IfcRelationship_type); IFC4X2_IfcRelDecomposes_type = new entity("IfcRelDecomposes", true, 865, IFC4X2_IfcRelationship_type); IFC4X2_IfcRelDefines_type = new entity("IfcRelDefines", true, 866, IFC4X2_IfcRelationship_type); IFC4X2_IfcRelDefinesByObject_type = new entity("IfcRelDefinesByObject", false, 867, IFC4X2_IfcRelDefines_type); IFC4X2_IfcRelDefinesByProperties_type = new entity("IfcRelDefinesByProperties", false, 868, IFC4X2_IfcRelDefines_type); IFC4X2_IfcRelDefinesByTemplate_type = new entity("IfcRelDefinesByTemplate", false, 869, IFC4X2_IfcRelDefines_type); IFC4X2_IfcRelDefinesByType_type = new entity("IfcRelDefinesByType", false, 870, IFC4X2_IfcRelDefines_type); IFC4X2_IfcRelFillsElement_type = new entity("IfcRelFillsElement", false, 871, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelFlowControlElements_type = new entity("IfcRelFlowControlElements", false, 872, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelInterferesElements_type = new entity("IfcRelInterferesElements", false, 873, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelNests_type = new entity("IfcRelNests", false, 874, IFC4X2_IfcRelDecomposes_type); IFC4X2_IfcRelPositions_type = new entity("IfcRelPositions", false, 875, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelProjectsElement_type = new entity("IfcRelProjectsElement", false, 876, IFC4X2_IfcRelDecomposes_type); IFC4X2_IfcRelReferencedInSpatialStructure_type = new entity("IfcRelReferencedInSpatialStructure", false, 877, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelSequence_type = new entity("IfcRelSequence", false, 878, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelServicesBuildings_type = new entity("IfcRelServicesBuildings", false, 879, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelSpaceBoundary_type = new entity("IfcRelSpaceBoundary", false, 880, IFC4X2_IfcRelConnects_type); IFC4X2_IfcRelSpaceBoundary1stLevel_type = new entity("IfcRelSpaceBoundary1stLevel", false, 881, IFC4X2_IfcRelSpaceBoundary_type); IFC4X2_IfcRelSpaceBoundary2ndLevel_type = new entity("IfcRelSpaceBoundary2ndLevel", false, 882, IFC4X2_IfcRelSpaceBoundary1stLevel_type); IFC4X2_IfcRelVoidsElement_type = new entity("IfcRelVoidsElement", false, 883, IFC4X2_IfcRelDecomposes_type); IFC4X2_IfcReparametrisedCompositeCurveSegment_type = new entity("IfcReparametrisedCompositeCurveSegment", false, 884, IFC4X2_IfcCompositeCurveSegment_type); IFC4X2_IfcResource_type = new entity("IfcResource", true, 889, IFC4X2_IfcObject_type); IFC4X2_IfcRevolvedAreaSolid_type = new entity("IfcRevolvedAreaSolid", false, 896, IFC4X2_IfcSweptAreaSolid_type); IFC4X2_IfcRevolvedAreaSolidTapered_type = new entity("IfcRevolvedAreaSolidTapered", false, 897, IFC4X2_IfcRevolvedAreaSolid_type); IFC4X2_IfcRightCircularCone_type = new entity("IfcRightCircularCone", false, 898, IFC4X2_IfcCsgPrimitive3D_type); IFC4X2_IfcRightCircularCylinder_type = new entity("IfcRightCircularCylinder", false, 899, IFC4X2_IfcCsgPrimitive3D_type); IFC4X2_IfcSectionedSolid_type = new entity("IfcSectionedSolid", true, 916, IFC4X2_IfcSolidModel_type); IFC4X2_IfcSectionedSolidHorizontal_type = new entity("IfcSectionedSolidHorizontal", false, 917, IFC4X2_IfcSectionedSolid_type); IFC4X2_IfcSimplePropertyTemplate_type = new entity("IfcSimplePropertyTemplate", false, 938, IFC4X2_IfcPropertyTemplate_type); IFC4X2_IfcSpatialElement_type = new entity("IfcSpatialElement", true, 969, IFC4X2_IfcProduct_type); IFC4X2_IfcSpatialElementType_type = new entity("IfcSpatialElementType", true, 970, IFC4X2_IfcTypeProduct_type); IFC4X2_IfcSpatialStructureElement_type = new entity("IfcSpatialStructureElement", true, 971, IFC4X2_IfcSpatialElement_type); IFC4X2_IfcSpatialStructureElementType_type = new entity("IfcSpatialStructureElementType", true, 972, IFC4X2_IfcSpatialElementType_type); IFC4X2_IfcSpatialZone_type = new entity("IfcSpatialZone", false, 973, IFC4X2_IfcSpatialElement_type); IFC4X2_IfcSpatialZoneType_type = new entity("IfcSpatialZoneType", false, 974, IFC4X2_IfcSpatialElementType_type); IFC4X2_IfcSphere_type = new entity("IfcSphere", false, 980, IFC4X2_IfcCsgPrimitive3D_type); IFC4X2_IfcSphericalSurface_type = new entity("IfcSphericalSurface", false, 981, IFC4X2_IfcElementarySurface_type); IFC4X2_IfcStructuralActivity_type = new entity("IfcStructuralActivity", true, 993, IFC4X2_IfcProduct_type); IFC4X2_IfcStructuralItem_type = new entity("IfcStructuralItem", true, 1005, IFC4X2_IfcProduct_type); IFC4X2_IfcStructuralMember_type = new entity("IfcStructuralMember", true, 1020, IFC4X2_IfcStructuralItem_type); IFC4X2_IfcStructuralReaction_type = new entity("IfcStructuralReaction", true, 1025, IFC4X2_IfcStructuralActivity_type); IFC4X2_IfcStructuralSurfaceMember_type = new entity("IfcStructuralSurfaceMember", false, 1030, IFC4X2_IfcStructuralMember_type); IFC4X2_IfcStructuralSurfaceMemberVarying_type = new entity("IfcStructuralSurfaceMemberVarying", false, 1032, IFC4X2_IfcStructuralSurfaceMember_type); IFC4X2_IfcStructuralSurfaceReaction_type = new entity("IfcStructuralSurfaceReaction", false, 1033, IFC4X2_IfcStructuralReaction_type); IFC4X2_IfcSubContractResourceType_type = new entity("IfcSubContractResourceType", false, 1039, IFC4X2_IfcConstructionResourceType_type); IFC4X2_IfcSurfaceCurve_type = new entity("IfcSurfaceCurve", false, 1043, IFC4X2_IfcCurve_type); IFC4X2_IfcSurfaceCurveSweptAreaSolid_type = new entity("IfcSurfaceCurveSweptAreaSolid", false, 1044, IFC4X2_IfcSweptAreaSolid_type); IFC4X2_IfcSurfaceOfLinearExtrusion_type = new entity("IfcSurfaceOfLinearExtrusion", false, 1047, IFC4X2_IfcSweptSurface_type); IFC4X2_IfcSurfaceOfRevolution_type = new entity("IfcSurfaceOfRevolution", false, 1048, IFC4X2_IfcSweptSurface_type); IFC4X2_IfcSystemFurnitureElementType_type = new entity("IfcSystemFurnitureElementType", false, 1069, IFC4X2_IfcFurnishingElementType_type); IFC4X2_IfcTask_type = new entity("IfcTask", false, 1077, IFC4X2_IfcProcess_type); IFC4X2_IfcTaskType_type = new entity("IfcTaskType", false, 1081, IFC4X2_IfcTypeProcess_type); IFC4X2_IfcTessellatedFaceSet_type = new entity("IfcTessellatedFaceSet", true, 1095, IFC4X2_IfcTessellatedItem_type); IFC4X2_IfcToroidalSurface_type = new entity("IfcToroidalSurface", false, 1131, IFC4X2_IfcElementarySurface_type); IFC4X2_IfcTransportElementType_type = new entity("IfcTransportElementType", false, 1141, IFC4X2_IfcElementType_type); IFC4X2_IfcTriangulatedFaceSet_type = new entity("IfcTriangulatedFaceSet", false, 1144, IFC4X2_IfcTessellatedFaceSet_type); IFC4X2_IfcTriangulatedIrregularNetwork_type = new entity("IfcTriangulatedIrregularNetwork", false, 1145, IFC4X2_IfcTriangulatedFaceSet_type); IFC4X2_IfcWindowLiningProperties_type = new entity("IfcWindowLiningProperties", false, 1202, IFC4X2_IfcPreDefinedPropertySet_type); IFC4X2_IfcWindowPanelProperties_type = new entity("IfcWindowPanelProperties", false, 1205, IFC4X2_IfcPreDefinedPropertySet_type); { std::vector items; items.reserve(3); items.push_back(IFC4X2_IfcMeasureWithUnit_type); items.push_back(IFC4X2_IfcReference_type); items.push_back(IFC4X2_IfcValue_type); IFC4X2_IfcAppliedValueSelect_type = new select_type("IfcAppliedValueSelect", 48, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcAxis2Placement2D_type); items.push_back(IFC4X2_IfcAxis2Placement3D_type); IFC4X2_IfcAxis2Placement_type = new select_type("IfcAxis2Placement", 65, items); } { std::vector items; items.reserve(5); items.push_back(IFC4X2_IfcBooleanResult_type); items.push_back(IFC4X2_IfcCsgPrimitive3D_type); items.push_back(IFC4X2_IfcHalfSpaceSolid_type); items.push_back(IFC4X2_IfcSolidModel_type); items.push_back(IFC4X2_IfcTessellatedFaceSet_type); IFC4X2_IfcBooleanOperand_type = new select_type("IfcBooleanOperand", 86, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcColourSpecification_type); items.push_back(IFC4X2_IfcPreDefinedColour_type); IFC4X2_IfcColour_type = new select_type("IfcColour", 172, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcColourRgb_type); items.push_back(IFC4X2_IfcNormalisedRatioMeasure_type); IFC4X2_IfcColourOrFactor_type = new select_type("IfcColourOrFactor", 173, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcBooleanResult_type); items.push_back(IFC4X2_IfcCsgPrimitive3D_type); IFC4X2_IfcCsgSelect_type = new select_type("IfcCsgSelect", 252, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcCurveStyleFont_type); items.push_back(IFC4X2_IfcPreDefinedCurveFont_type); IFC4X2_IfcCurveStyleFontSelect_type = new select_type("IfcCurveStyleFontSelect", 272, items); } { std::vector items; items.reserve(4); items.push_back(IFC4X2_IfcColour_type); items.push_back(IFC4X2_IfcExternallyDefinedHatchStyle_type); items.push_back(IFC4X2_IfcFillAreaStyleHatching_type); items.push_back(IFC4X2_IfcFillAreaStyleTiles_type); IFC4X2_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 435, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X2_IfcCurve_type); items.push_back(IFC4X2_IfcPoint_type); items.push_back(IFC4X2_IfcSurface_type); IFC4X2_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 486, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcDirection_type); items.push_back(IFC4X2_IfcVirtualGridIntersection_type); IFC4X2_IfcGridPlacementDirectionSelect_type = new select_type("IfcGridPlacementDirectionSelect", 492, items); } { std::vector items; items.reserve(6); items.push_back(IFC4X2_IfcAppliedValue_type); items.push_back(IFC4X2_IfcMeasureWithUnit_type); items.push_back(IFC4X2_IfcReference_type); items.push_back(IFC4X2_IfcTable_type); items.push_back(IFC4X2_IfcTimeSeries_type); items.push_back(IFC4X2_IfcValue_type); IFC4X2_IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", 623, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcProcess_type); items.push_back(IFC4X2_IfcTypeProcess_type); IFC4X2_IfcProcessSelect_type = new select_type("IfcProcessSelect", 745, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcProduct_type); items.push_back(IFC4X2_IfcTypeProduct_type); IFC4X2_IfcProductSelect_type = new select_type("IfcProductSelect", 750, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcPropertySetDefinition_type); items.push_back(IFC4X2_IfcPropertySetDefinitionSet_type); IFC4X2_IfcPropertySetDefinitionSelect_type = new select_type("IfcPropertySetDefinitionSelect", 773, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcResource_type); items.push_back(IFC4X2_IfcTypeResource_type); IFC4X2_IfcResourceSelect_type = new select_type("IfcResourceSelect", 894, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcClosedShell_type); items.push_back(IFC4X2_IfcOpenShell_type); IFC4X2_IfcShell_type = new select_type("IfcShell", 935, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcClosedShell_type); items.push_back(IFC4X2_IfcSolidModel_type); IFC4X2_IfcSolidOrShell_type = new select_type("IfcSolidOrShell", 957, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X2_IfcFaceBasedSurfaceModel_type); items.push_back(IFC4X2_IfcFaceSurface_type); items.push_back(IFC4X2_IfcSurface_type); IFC4X2_IfcSurfaceOrFaceSurface_type = new select_type("IfcSurfaceOrFaceSurface", 1049, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcCartesianPoint_type); items.push_back(IFC4X2_IfcParameterValue_type); IFC4X2_IfcTrimmingSelect_type = new select_type("IfcTrimmingSelect", 1148, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcDirection_type); items.push_back(IFC4X2_IfcVector_type); IFC4X2_IfcVectorOrDirection_type = new select_type("IfcVectorOrDirection", 1174, items); } IFC4X2_IfcActor_type = new entity("IfcActor", false, 6, IFC4X2_IfcObject_type); IFC4X2_IfcAdvancedBrep_type = new entity("IfcAdvancedBrep", false, 14, IFC4X2_IfcManifoldSolidBrep_type); IFC4X2_IfcAdvancedBrepWithVoids_type = new entity("IfcAdvancedBrepWithVoids", false, 15, IFC4X2_IfcAdvancedBrep_type); IFC4X2_IfcAlignment2DHorizontalSegment_type = new entity("IfcAlignment2DHorizontalSegment", false, 31, IFC4X2_IfcAlignment2DSegment_type); IFC4X2_IfcAlignment2DVerSegCircularArc_type = new entity("IfcAlignment2DVerSegCircularArc", false, 33, IFC4X2_IfcAlignment2DVerticalSegment_type); IFC4X2_IfcAlignment2DVerSegLine_type = new entity("IfcAlignment2DVerSegLine", false, 34, IFC4X2_IfcAlignment2DVerticalSegment_type); IFC4X2_IfcAlignment2DVerSegParabolicArc_type = new entity("IfcAlignment2DVerSegParabolicArc", false, 35, IFC4X2_IfcAlignment2DVerticalSegment_type); IFC4X2_IfcAnnotation_type = new entity("IfcAnnotation", false, 44, IFC4X2_IfcProduct_type); IFC4X2_IfcBSplineSurface_type = new entity("IfcBSplineSurface", true, 107, IFC4X2_IfcBoundedSurface_type); IFC4X2_IfcBSplineSurfaceWithKnots_type = new entity("IfcBSplineSurfaceWithKnots", false, 109, IFC4X2_IfcBSplineSurface_type); IFC4X2_IfcBlock_type = new entity("IfcBlock", false, 80, IFC4X2_IfcCsgPrimitive3D_type); IFC4X2_IfcBooleanClippingResult_type = new entity("IfcBooleanClippingResult", false, 85, IFC4X2_IfcBooleanResult_type); IFC4X2_IfcBoundedCurve_type = new entity("IfcBoundedCurve", true, 95, IFC4X2_IfcCurve_type); IFC4X2_IfcBuildingElementType_type = new entity("IfcBuildingElementType", true, 118, IFC4X2_IfcElementType_type); IFC4X2_IfcChimneyType_type = new entity("IfcChimneyType", false, 156, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcCircleHollowProfileDef_type = new entity("IfcCircleHollowProfileDef", false, 159, IFC4X2_IfcCircleProfileDef_type); IFC4X2_IfcCivilElementType_type = new entity("IfcCivilElementType", false, 163, IFC4X2_IfcElementType_type); IFC4X2_IfcColumnType_type = new entity("IfcColumnType", false, 179, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcComplexPropertyTemplate_type = new entity("IfcComplexPropertyTemplate", false, 186, IFC4X2_IfcPropertyTemplate_type); IFC4X2_IfcCompositeCurve_type = new entity("IfcCompositeCurve", false, 188, IFC4X2_IfcBoundedCurve_type); IFC4X2_IfcCompositeCurveOnSurface_type = new entity("IfcCompositeCurveOnSurface", false, 189, IFC4X2_IfcCompositeCurve_type); IFC4X2_IfcConic_type = new entity("IfcConic", true, 199, IFC4X2_IfcCurve_type); IFC4X2_IfcConstructionEquipmentResourceType_type = new entity("IfcConstructionEquipmentResourceType", false, 211, IFC4X2_IfcConstructionResourceType_type); IFC4X2_IfcConstructionMaterialResourceType_type = new entity("IfcConstructionMaterialResourceType", false, 214, IFC4X2_IfcConstructionResourceType_type); IFC4X2_IfcConstructionProductResourceType_type = new entity("IfcConstructionProductResourceType", false, 217, IFC4X2_IfcConstructionResourceType_type); IFC4X2_IfcConstructionResource_type = new entity("IfcConstructionResource", true, 219, IFC4X2_IfcResource_type); IFC4X2_IfcControl_type = new entity("IfcControl", true, 224, IFC4X2_IfcObject_type); IFC4X2_IfcCostItem_type = new entity("IfcCostItem", false, 239, IFC4X2_IfcControl_type); IFC4X2_IfcCostSchedule_type = new entity("IfcCostSchedule", false, 241, IFC4X2_IfcControl_type); IFC4X2_IfcCoveringType_type = new entity("IfcCoveringType", false, 246, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcCrewResource_type = new entity("IfcCrewResource", false, 248, IFC4X2_IfcConstructionResource_type); IFC4X2_IfcCurtainWallType_type = new entity("IfcCurtainWallType", false, 257, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcCurveSegment2D_type = new entity("IfcCurveSegment2D", true, 267, IFC4X2_IfcBoundedCurve_type); IFC4X2_IfcCylindricalSurface_type = new entity("IfcCylindricalSurface", false, 273, IFC4X2_IfcElementarySurface_type); IFC4X2_IfcDeepFoundationType_type = new entity("IfcDeepFoundationType", false, 283, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcDistributionElementType_type = new entity("IfcDistributionElementType", false, 306, IFC4X2_IfcElementType_type); IFC4X2_IfcDistributionFlowElementType_type = new entity("IfcDistributionFlowElementType", true, 308, IFC4X2_IfcDistributionElementType_type); IFC4X2_IfcDoorLiningProperties_type = new entity("IfcDoorLiningProperties", false, 320, IFC4X2_IfcPreDefinedPropertySet_type); IFC4X2_IfcDoorPanelProperties_type = new entity("IfcDoorPanelProperties", false, 323, IFC4X2_IfcPreDefinedPropertySet_type); IFC4X2_IfcDoorType_type = new entity("IfcDoorType", false, 328, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcDraughtingPreDefinedColour_type = new entity("IfcDraughtingPreDefinedColour", false, 332, IFC4X2_IfcPreDefinedColour_type); IFC4X2_IfcDraughtingPreDefinedCurveFont_type = new entity("IfcDraughtingPreDefinedCurveFont", false, 333, IFC4X2_IfcPreDefinedCurveFont_type); IFC4X2_IfcElement_type = new entity("IfcElement", true, 372, IFC4X2_IfcProduct_type); IFC4X2_IfcElementAssembly_type = new entity("IfcElementAssembly", false, 374, IFC4X2_IfcElement_type); IFC4X2_IfcElementAssemblyType_type = new entity("IfcElementAssemblyType", false, 375, IFC4X2_IfcElementType_type); IFC4X2_IfcElementComponent_type = new entity("IfcElementComponent", true, 377, IFC4X2_IfcElement_type); IFC4X2_IfcElementComponentType_type = new entity("IfcElementComponentType", true, 378, IFC4X2_IfcElementType_type); IFC4X2_IfcEllipse_type = new entity("IfcEllipse", false, 382, IFC4X2_IfcConic_type); IFC4X2_IfcEnergyConversionDeviceType_type = new entity("IfcEnergyConversionDeviceType", true, 385, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcEngineType_type = new entity("IfcEngineType", false, 388, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcEvaporativeCoolerType_type = new entity("IfcEvaporativeCoolerType", false, 391, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcEvaporatorType_type = new entity("IfcEvaporatorType", false, 394, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcEvent_type = new entity("IfcEvent", false, 396, IFC4X2_IfcProcess_type); IFC4X2_IfcExternalSpatialStructureElement_type = new entity("IfcExternalSpatialStructureElement", true, 410, IFC4X2_IfcSpatialElement_type); IFC4X2_IfcFacetedBrep_type = new entity("IfcFacetedBrep", false, 418, IFC4X2_IfcManifoldSolidBrep_type); IFC4X2_IfcFacetedBrepWithVoids_type = new entity("IfcFacetedBrepWithVoids", false, 419, IFC4X2_IfcFacetedBrep_type); IFC4X2_IfcFacility_type = new entity("IfcFacility", false, 420, IFC4X2_IfcSpatialStructureElement_type); IFC4X2_IfcFacilityPart_type = new entity("IfcFacilityPart", false, 421, IFC4X2_IfcSpatialStructureElement_type); IFC4X2_IfcFastener_type = new entity("IfcFastener", false, 426, IFC4X2_IfcElementComponent_type); IFC4X2_IfcFastenerType_type = new entity("IfcFastenerType", false, 427, IFC4X2_IfcElementComponentType_type); IFC4X2_IfcFeatureElement_type = new entity("IfcFeatureElement", true, 429, IFC4X2_IfcElement_type); IFC4X2_IfcFeatureElementAddition_type = new entity("IfcFeatureElementAddition", true, 430, IFC4X2_IfcFeatureElement_type); IFC4X2_IfcFeatureElementSubtraction_type = new entity("IfcFeatureElementSubtraction", true, 431, IFC4X2_IfcFeatureElement_type); IFC4X2_IfcFlowControllerType_type = new entity("IfcFlowControllerType", true, 444, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcFlowFittingType_type = new entity("IfcFlowFittingType", true, 447, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcFlowMeterType_type = new entity("IfcFlowMeterType", false, 452, IFC4X2_IfcFlowControllerType_type); IFC4X2_IfcFlowMovingDeviceType_type = new entity("IfcFlowMovingDeviceType", true, 455, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcFlowSegmentType_type = new entity("IfcFlowSegmentType", true, 457, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcFlowStorageDeviceType_type = new entity("IfcFlowStorageDeviceType", true, 459, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcFlowTerminalType_type = new entity("IfcFlowTerminalType", true, 461, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcFlowTreatmentDeviceType_type = new entity("IfcFlowTreatmentDeviceType", true, 463, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcFootingType_type = new entity("IfcFootingType", false, 468, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcFurnishingElement_type = new entity("IfcFurnishingElement", false, 472, IFC4X2_IfcElement_type); IFC4X2_IfcFurniture_type = new entity("IfcFurniture", false, 474, IFC4X2_IfcFurnishingElement_type); IFC4X2_IfcGeographicElement_type = new entity("IfcGeographicElement", false, 477, IFC4X2_IfcElement_type); IFC4X2_IfcGroup_type = new entity("IfcGroup", false, 494, IFC4X2_IfcObject_type); IFC4X2_IfcHeatExchangerType_type = new entity("IfcHeatExchangerType", false, 498, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcHumidifierType_type = new entity("IfcHumidifierType", false, 503, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcIndexedPolyCurve_type = new entity("IfcIndexedPolyCurve", false, 509, IFC4X2_IfcBoundedCurve_type); IFC4X2_IfcInterceptorType_type = new entity("IfcInterceptorType", false, 518, IFC4X2_IfcFlowTreatmentDeviceType_type); IFC4X2_IfcIntersectionCurve_type = new entity("IfcIntersectionCurve", false, 521, IFC4X2_IfcSurfaceCurve_type); IFC4X2_IfcInventory_type = new entity("IfcInventory", false, 522, IFC4X2_IfcGroup_type); IFC4X2_IfcJunctionBoxType_type = new entity("IfcJunctionBoxType", false, 530, IFC4X2_IfcFlowFittingType_type); IFC4X2_IfcLaborResource_type = new entity("IfcLaborResource", false, 535, IFC4X2_IfcConstructionResource_type); IFC4X2_IfcLampType_type = new entity("IfcLampType", false, 540, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcLightFixtureType_type = new entity("IfcLightFixtureType", false, 554, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcLineSegment2D_type = new entity("IfcLineSegment2D", false, 571, IFC4X2_IfcCurveSegment2D_type); IFC4X2_IfcMechanicalFastener_type = new entity("IfcMechanicalFastener", false, 612, IFC4X2_IfcElementComponent_type); IFC4X2_IfcMechanicalFastenerType_type = new entity("IfcMechanicalFastenerType", false, 613, IFC4X2_IfcElementComponentType_type); IFC4X2_IfcMedicalDeviceType_type = new entity("IfcMedicalDeviceType", false, 616, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcMemberType_type = new entity("IfcMemberType", false, 620, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcMotorConnectionType_type = new entity("IfcMotorConnectionType", false, 639, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcOccupant_type = new entity("IfcOccupant", false, 653, IFC4X2_IfcActor_type); IFC4X2_IfcOpeningElement_type = new entity("IfcOpeningElement", false, 659, IFC4X2_IfcFeatureElementSubtraction_type); IFC4X2_IfcOpeningStandardCase_type = new entity("IfcOpeningStandardCase", false, 661, IFC4X2_IfcOpeningElement_type); IFC4X2_IfcOutletType_type = new entity("IfcOutletType", false, 669, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcPerformanceHistory_type = new entity("IfcPerformanceHistory", false, 676, IFC4X2_IfcControl_type); IFC4X2_IfcPermeableCoveringProperties_type = new entity("IfcPermeableCoveringProperties", false, 679, IFC4X2_IfcPreDefinedPropertySet_type); IFC4X2_IfcPermit_type = new entity("IfcPermit", false, 680, IFC4X2_IfcControl_type); IFC4X2_IfcPileType_type = new entity("IfcPileType", false, 691, IFC4X2_IfcDeepFoundationType_type); IFC4X2_IfcPipeFittingType_type = new entity("IfcPipeFittingType", false, 694, IFC4X2_IfcFlowFittingType_type); IFC4X2_IfcPipeSegmentType_type = new entity("IfcPipeSegmentType", false, 697, IFC4X2_IfcFlowSegmentType_type); IFC4X2_IfcPlateType_type = new entity("IfcPlateType", false, 708, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcPolygonalFaceSet_type = new entity("IfcPolygonalFaceSet", false, 715, IFC4X2_IfcTessellatedFaceSet_type); IFC4X2_IfcPolyline_type = new entity("IfcPolyline", false, 716, IFC4X2_IfcBoundedCurve_type); IFC4X2_IfcPort_type = new entity("IfcPort", true, 718, IFC4X2_IfcProduct_type); IFC4X2_IfcPositioningElement_type = new entity("IfcPositioningElement", true, 719, IFC4X2_IfcProduct_type); IFC4X2_IfcProcedure_type = new entity("IfcProcedure", false, 741, IFC4X2_IfcProcess_type); IFC4X2_IfcProjectOrder_type = new entity("IfcProjectOrder", false, 760, IFC4X2_IfcControl_type); IFC4X2_IfcProjectionElement_type = new entity("IfcProjectionElement", false, 757, IFC4X2_IfcFeatureElementAddition_type); IFC4X2_IfcProtectiveDeviceType_type = new entity("IfcProtectiveDeviceType", false, 785, IFC4X2_IfcFlowControllerType_type); IFC4X2_IfcPumpType_type = new entity("IfcPumpType", false, 789, IFC4X2_IfcFlowMovingDeviceType_type); IFC4X2_IfcRailingType_type = new entity("IfcRailingType", false, 800, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcRampFlightType_type = new entity("IfcRampFlightType", false, 804, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcRampType_type = new entity("IfcRampType", false, 806, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcRationalBSplineSurfaceWithKnots_type = new entity("IfcRationalBSplineSurfaceWithKnots", false, 810, IFC4X2_IfcBSplineSurfaceWithKnots_type); IFC4X2_IfcReferent_type = new entity("IfcReferent", false, 819, IFC4X2_IfcPositioningElement_type); IFC4X2_IfcReinforcingElement_type = new entity("IfcReinforcingElement", true, 830, IFC4X2_IfcElementComponent_type); IFC4X2_IfcReinforcingElementType_type = new entity("IfcReinforcingElementType", true, 831, IFC4X2_IfcElementComponentType_type); IFC4X2_IfcReinforcingMesh_type = new entity("IfcReinforcingMesh", false, 832, IFC4X2_IfcReinforcingElement_type); IFC4X2_IfcReinforcingMeshType_type = new entity("IfcReinforcingMeshType", false, 833, IFC4X2_IfcReinforcingElementType_type); IFC4X2_IfcRelAggregates_type = new entity("IfcRelAggregates", false, 835, IFC4X2_IfcRelDecomposes_type); IFC4X2_IfcRoofType_type = new entity("IfcRoofType", false, 902, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcSanitaryTerminalType_type = new entity("IfcSanitaryTerminalType", false, 911, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcSeamCurve_type = new entity("IfcSeamCurve", false, 914, IFC4X2_IfcSurfaceCurve_type); IFC4X2_IfcShadingDeviceType_type = new entity("IfcShadingDeviceType", false, 929, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcSite_type = new entity("IfcSite", false, 942, IFC4X2_IfcSpatialStructureElement_type); IFC4X2_IfcSlabType_type = new entity("IfcSlabType", false, 949, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcSolarDeviceType_type = new entity("IfcSolarDeviceType", false, 953, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcSpace_type = new entity("IfcSpace", false, 962, IFC4X2_IfcSpatialStructureElement_type); IFC4X2_IfcSpaceHeaterType_type = new entity("IfcSpaceHeaterType", false, 965, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcSpaceType_type = new entity("IfcSpaceType", false, 967, IFC4X2_IfcSpatialStructureElementType_type); IFC4X2_IfcStackTerminalType_type = new entity("IfcStackTerminalType", false, 983, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcStairFlightType_type = new entity("IfcStairFlightType", false, 987, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcStairType_type = new entity("IfcStairType", false, 989, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcStructuralAction_type = new entity("IfcStructuralAction", true, 992, IFC4X2_IfcStructuralActivity_type); IFC4X2_IfcStructuralConnection_type = new entity("IfcStructuralConnection", true, 996, IFC4X2_IfcStructuralItem_type); IFC4X2_IfcStructuralCurveAction_type = new entity("IfcStructuralCurveAction", false, 998, IFC4X2_IfcStructuralAction_type); IFC4X2_IfcStructuralCurveConnection_type = new entity("IfcStructuralCurveConnection", false, 1000, IFC4X2_IfcStructuralConnection_type); IFC4X2_IfcStructuralCurveMember_type = new entity("IfcStructuralCurveMember", false, 1001, IFC4X2_IfcStructuralMember_type); IFC4X2_IfcStructuralCurveMemberVarying_type = new entity("IfcStructuralCurveMemberVarying", false, 1003, IFC4X2_IfcStructuralCurveMember_type); IFC4X2_IfcStructuralCurveReaction_type = new entity("IfcStructuralCurveReaction", false, 1004, IFC4X2_IfcStructuralReaction_type); IFC4X2_IfcStructuralLinearAction_type = new entity("IfcStructuralLinearAction", false, 1006, IFC4X2_IfcStructuralCurveAction_type); IFC4X2_IfcStructuralLoadGroup_type = new entity("IfcStructuralLoadGroup", false, 1010, IFC4X2_IfcGroup_type); IFC4X2_IfcStructuralPointAction_type = new entity("IfcStructuralPointAction", false, 1022, IFC4X2_IfcStructuralAction_type); IFC4X2_IfcStructuralPointConnection_type = new entity("IfcStructuralPointConnection", false, 1023, IFC4X2_IfcStructuralConnection_type); IFC4X2_IfcStructuralPointReaction_type = new entity("IfcStructuralPointReaction", false, 1024, IFC4X2_IfcStructuralReaction_type); IFC4X2_IfcStructuralResultGroup_type = new entity("IfcStructuralResultGroup", false, 1026, IFC4X2_IfcGroup_type); IFC4X2_IfcStructuralSurfaceAction_type = new entity("IfcStructuralSurfaceAction", false, 1027, IFC4X2_IfcStructuralAction_type); IFC4X2_IfcStructuralSurfaceConnection_type = new entity("IfcStructuralSurfaceConnection", false, 1029, IFC4X2_IfcStructuralConnection_type); IFC4X2_IfcSubContractResource_type = new entity("IfcSubContractResource", false, 1038, IFC4X2_IfcConstructionResource_type); IFC4X2_IfcSurfaceFeature_type = new entity("IfcSurfaceFeature", false, 1045, IFC4X2_IfcFeatureElement_type); IFC4X2_IfcSwitchingDeviceType_type = new entity("IfcSwitchingDeviceType", false, 1065, IFC4X2_IfcFlowControllerType_type); IFC4X2_IfcSystem_type = new entity("IfcSystem", false, 1067, IFC4X2_IfcGroup_type); IFC4X2_IfcSystemFurnitureElement_type = new entity("IfcSystemFurnitureElement", false, 1068, IFC4X2_IfcFurnishingElement_type); IFC4X2_IfcTankType_type = new entity("IfcTankType", false, 1075, IFC4X2_IfcFlowStorageDeviceType_type); IFC4X2_IfcTendon_type = new entity("IfcTendon", false, 1086, IFC4X2_IfcReinforcingElement_type); IFC4X2_IfcTendonAnchor_type = new entity("IfcTendonAnchor", false, 1087, IFC4X2_IfcReinforcingElement_type); IFC4X2_IfcTendonAnchorType_type = new entity("IfcTendonAnchorType", false, 1088, IFC4X2_IfcReinforcingElementType_type); IFC4X2_IfcTendonConduit_type = new entity("IfcTendonConduit", false, 1090, IFC4X2_IfcReinforcingElement_type); IFC4X2_IfcTendonConduitType_type = new entity("IfcTendonConduitType", false, 1091, IFC4X2_IfcReinforcingElementType_type); IFC4X2_IfcTendonType_type = new entity("IfcTendonType", false, 1093, IFC4X2_IfcReinforcingElementType_type); IFC4X2_IfcTransformerType_type = new entity("IfcTransformerType", false, 1134, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcTransitionCurveSegment2D_type = new entity("IfcTransitionCurveSegment2D", false, 1137, IFC4X2_IfcCurveSegment2D_type); IFC4X2_IfcTransportElement_type = new entity("IfcTransportElement", false, 1140, IFC4X2_IfcElement_type); IFC4X2_IfcTrimmedCurve_type = new entity("IfcTrimmedCurve", false, 1146, IFC4X2_IfcBoundedCurve_type); IFC4X2_IfcTubeBundleType_type = new entity("IfcTubeBundleType", false, 1151, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcUnitaryEquipmentType_type = new entity("IfcUnitaryEquipmentType", false, 1162, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcValveType_type = new entity("IfcValveType", false, 1170, IFC4X2_IfcFlowControllerType_type); IFC4X2_IfcVibrationDamper_type = new entity("IfcVibrationDamper", false, 1178, IFC4X2_IfcElementComponent_type); IFC4X2_IfcVibrationDamperType_type = new entity("IfcVibrationDamperType", false, 1179, IFC4X2_IfcElementComponentType_type); IFC4X2_IfcVibrationIsolator_type = new entity("IfcVibrationIsolator", false, 1181, IFC4X2_IfcElementComponent_type); IFC4X2_IfcVibrationIsolatorType_type = new entity("IfcVibrationIsolatorType", false, 1182, IFC4X2_IfcElementComponentType_type); IFC4X2_IfcVirtualElement_type = new entity("IfcVirtualElement", false, 1184, IFC4X2_IfcElement_type); IFC4X2_IfcVoidingFeature_type = new entity("IfcVoidingFeature", false, 1186, IFC4X2_IfcFeatureElementSubtraction_type); IFC4X2_IfcWallType_type = new entity("IfcWallType", false, 1193, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcWasteTerminalType_type = new entity("IfcWasteTerminalType", false, 1199, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcWindowType_type = new entity("IfcWindowType", false, 1210, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcWorkCalendar_type = new entity("IfcWorkCalendar", false, 1213, IFC4X2_IfcControl_type); IFC4X2_IfcWorkControl_type = new entity("IfcWorkControl", true, 1215, IFC4X2_IfcControl_type); IFC4X2_IfcWorkPlan_type = new entity("IfcWorkPlan", false, 1216, IFC4X2_IfcWorkControl_type); IFC4X2_IfcWorkSchedule_type = new entity("IfcWorkSchedule", false, 1218, IFC4X2_IfcWorkControl_type); IFC4X2_IfcZone_type = new entity("IfcZone", false, 1221, IFC4X2_IfcSystem_type); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcCurveStyleFontAndScaling_type); items.push_back(IFC4X2_IfcCurveStyleFontSelect_type); IFC4X2_IfcCurveFontOrScaledCurveFontSelect_type = new select_type("IfcCurveFontOrScaledCurveFontSelect", 263, items); } { std::vector items; items.reserve(3); items.push_back(IFC4X2_IfcCompositeCurveOnSurface_type); items.push_back(IFC4X2_IfcPcurve_type); items.push_back(IFC4X2_IfcSurfaceCurve_type); IFC4X2_IfcCurveOnSurface_type = new select_type("IfcCurveOnSurface", 265, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcBoundedCurve_type); items.push_back(IFC4X2_IfcEdgeCurve_type); IFC4X2_IfcCurveOrEdgeCurve_type = new select_type("IfcCurveOrEdgeCurve", 266, items); } { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcElement_type); items.push_back(IFC4X2_IfcStructuralItem_type); IFC4X2_IfcStructuralActivityAssignmentSelect_type = new select_type("IfcStructuralActivityAssignmentSelect", 994, items); } IFC4X2_IfcActionRequest_type = new entity("IfcActionRequest", false, 2, IFC4X2_IfcControl_type); IFC4X2_IfcAirTerminalBoxType_type = new entity("IfcAirTerminalBoxType", false, 19, IFC4X2_IfcFlowControllerType_type); IFC4X2_IfcAirTerminalType_type = new entity("IfcAirTerminalType", false, 21, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcAirToAirHeatRecoveryType_type = new entity("IfcAirToAirHeatRecoveryType", false, 24, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcAlignmentCurve_type = new entity("IfcAlignmentCurve", false, 38, IFC4X2_IfcBoundedCurve_type); IFC4X2_IfcAsset_type = new entity("IfcAsset", false, 59, IFC4X2_IfcGroup_type); IFC4X2_IfcAudioVisualApplianceType_type = new entity("IfcAudioVisualApplianceType", false, 62, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcBSplineCurve_type = new entity("IfcBSplineCurve", true, 104, IFC4X2_IfcBoundedCurve_type); IFC4X2_IfcBSplineCurveWithKnots_type = new entity("IfcBSplineCurveWithKnots", false, 106, IFC4X2_IfcBSplineCurve_type); IFC4X2_IfcBeamType_type = new entity("IfcBeamType", false, 70, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcBearingType_type = new entity("IfcBearingType", false, 73, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcBoilerType_type = new entity("IfcBoilerType", false, 82, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcBoundaryCurve_type = new entity("IfcBoundaryCurve", false, 90, IFC4X2_IfcCompositeCurveOnSurface_type); IFC4X2_IfcBridge_type = new entity("IfcBridge", false, 100, IFC4X2_IfcFacility_type); IFC4X2_IfcBridgePart_type = new entity("IfcBridgePart", false, 101, IFC4X2_IfcFacilityPart_type); IFC4X2_IfcBuilding_type = new entity("IfcBuilding", false, 110, IFC4X2_IfcFacility_type); IFC4X2_IfcBuildingElement_type = new entity("IfcBuildingElement", true, 111, IFC4X2_IfcElement_type); IFC4X2_IfcBuildingElementPart_type = new entity("IfcBuildingElementPart", false, 112, IFC4X2_IfcElementComponent_type); IFC4X2_IfcBuildingElementPartType_type = new entity("IfcBuildingElementPartType", false, 113, IFC4X2_IfcElementComponentType_type); IFC4X2_IfcBuildingElementProxy_type = new entity("IfcBuildingElementProxy", false, 115, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcBuildingElementProxyType_type = new entity("IfcBuildingElementProxyType", false, 116, IFC4X2_IfcBuildingElementType_type); IFC4X2_IfcBuildingStorey_type = new entity("IfcBuildingStorey", false, 119, IFC4X2_IfcFacilityPart_type); IFC4X2_IfcBuildingSystem_type = new entity("IfcBuildingSystem", false, 120, IFC4X2_IfcSystem_type); IFC4X2_IfcBurnerType_type = new entity("IfcBurnerType", false, 123, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcCableCarrierFittingType_type = new entity("IfcCableCarrierFittingType", false, 126, IFC4X2_IfcFlowFittingType_type); IFC4X2_IfcCableCarrierSegmentType_type = new entity("IfcCableCarrierSegmentType", false, 129, IFC4X2_IfcFlowSegmentType_type); IFC4X2_IfcCableFittingType_type = new entity("IfcCableFittingType", false, 132, IFC4X2_IfcFlowFittingType_type); IFC4X2_IfcCableSegmentType_type = new entity("IfcCableSegmentType", false, 135, IFC4X2_IfcFlowSegmentType_type); IFC4X2_IfcCaissonFoundationType_type = new entity("IfcCaissonFoundationType", false, 138, IFC4X2_IfcDeepFoundationType_type); IFC4X2_IfcChillerType_type = new entity("IfcChillerType", false, 153, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcChimney_type = new entity("IfcChimney", false, 155, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcCircle_type = new entity("IfcCircle", false, 158, IFC4X2_IfcConic_type); IFC4X2_IfcCircularArcSegment2D_type = new entity("IfcCircularArcSegment2D", false, 161, IFC4X2_IfcCurveSegment2D_type); IFC4X2_IfcCivilElement_type = new entity("IfcCivilElement", false, 162, IFC4X2_IfcElement_type); IFC4X2_IfcCoilType_type = new entity("IfcCoilType", false, 170, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcColumn_type = new entity("IfcColumn", false, 177, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcColumnStandardCase_type = new entity("IfcColumnStandardCase", false, 178, IFC4X2_IfcColumn_type); IFC4X2_IfcCommunicationsApplianceType_type = new entity("IfcCommunicationsApplianceType", false, 182, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcCompressorType_type = new entity("IfcCompressorType", false, 194, IFC4X2_IfcFlowMovingDeviceType_type); IFC4X2_IfcCondenserType_type = new entity("IfcCondenserType", false, 197, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcConstructionEquipmentResource_type = new entity("IfcConstructionEquipmentResource", false, 210, IFC4X2_IfcConstructionResource_type); IFC4X2_IfcConstructionMaterialResource_type = new entity("IfcConstructionMaterialResource", false, 213, IFC4X2_IfcConstructionResource_type); IFC4X2_IfcConstructionProductResource_type = new entity("IfcConstructionProductResource", false, 216, IFC4X2_IfcConstructionResource_type); IFC4X2_IfcCooledBeamType_type = new entity("IfcCooledBeamType", false, 231, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcCoolingTowerType_type = new entity("IfcCoolingTowerType", false, 234, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcCovering_type = new entity("IfcCovering", false, 245, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcCurtainWall_type = new entity("IfcCurtainWall", false, 256, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcDamperType_type = new entity("IfcDamperType", false, 275, IFC4X2_IfcFlowControllerType_type); IFC4X2_IfcDeepFoundation_type = new entity("IfcDeepFoundation", false, 282, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcDiscreteAccessory_type = new entity("IfcDiscreteAccessory", false, 295, IFC4X2_IfcElementComponent_type); IFC4X2_IfcDiscreteAccessoryType_type = new entity("IfcDiscreteAccessoryType", false, 296, IFC4X2_IfcElementComponentType_type); IFC4X2_IfcDistributionChamberElementType_type = new entity("IfcDistributionChamberElementType", false, 300, IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcDistributionControlElementType_type = new entity("IfcDistributionControlElementType", true, 304, IFC4X2_IfcDistributionElementType_type); IFC4X2_IfcDistributionElement_type = new entity("IfcDistributionElement", false, 305, IFC4X2_IfcElement_type); IFC4X2_IfcDistributionFlowElement_type = new entity("IfcDistributionFlowElement", false, 307, IFC4X2_IfcDistributionElement_type); IFC4X2_IfcDistributionPort_type = new entity("IfcDistributionPort", false, 309, IFC4X2_IfcPort_type); IFC4X2_IfcDistributionSystem_type = new entity("IfcDistributionSystem", false, 311, IFC4X2_IfcSystem_type); IFC4X2_IfcDoor_type = new entity("IfcDoor", false, 319, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcDoorStandardCase_type = new entity("IfcDoorStandardCase", false, 324, IFC4X2_IfcDoor_type); IFC4X2_IfcDuctFittingType_type = new entity("IfcDuctFittingType", false, 335, IFC4X2_IfcFlowFittingType_type); IFC4X2_IfcDuctSegmentType_type = new entity("IfcDuctSegmentType", false, 338, IFC4X2_IfcFlowSegmentType_type); IFC4X2_IfcDuctSilencerType_type = new entity("IfcDuctSilencerType", false, 341, IFC4X2_IfcFlowTreatmentDeviceType_type); IFC4X2_IfcElectricApplianceType_type = new entity("IfcElectricApplianceType", false, 349, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcElectricDistributionBoardType_type = new entity("IfcElectricDistributionBoardType", false, 356, IFC4X2_IfcFlowControllerType_type); IFC4X2_IfcElectricFlowStorageDeviceType_type = new entity("IfcElectricFlowStorageDeviceType", false, 359, IFC4X2_IfcFlowStorageDeviceType_type); IFC4X2_IfcElectricGeneratorType_type = new entity("IfcElectricGeneratorType", false, 362, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcElectricMotorType_type = new entity("IfcElectricMotorType", false, 365, IFC4X2_IfcEnergyConversionDeviceType_type); IFC4X2_IfcElectricTimeControlType_type = new entity("IfcElectricTimeControlType", false, 369, IFC4X2_IfcFlowControllerType_type); IFC4X2_IfcEnergyConversionDevice_type = new entity("IfcEnergyConversionDevice", false, 384, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcEngine_type = new entity("IfcEngine", false, 387, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcEvaporativeCooler_type = new entity("IfcEvaporativeCooler", false, 390, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcEvaporator_type = new entity("IfcEvaporator", false, 393, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcExternalSpatialElement_type = new entity("IfcExternalSpatialElement", false, 408, IFC4X2_IfcExternalSpatialStructureElement_type); IFC4X2_IfcFanType_type = new entity("IfcFanType", false, 424, IFC4X2_IfcFlowMovingDeviceType_type); IFC4X2_IfcFilterType_type = new entity("IfcFilterType", false, 437, IFC4X2_IfcFlowTreatmentDeviceType_type); IFC4X2_IfcFireSuppressionTerminalType_type = new entity("IfcFireSuppressionTerminalType", false, 440, IFC4X2_IfcFlowTerminalType_type); IFC4X2_IfcFlowController_type = new entity("IfcFlowController", false, 443, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcFlowFitting_type = new entity("IfcFlowFitting", false, 446, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcFlowInstrumentType_type = new entity("IfcFlowInstrumentType", false, 449, IFC4X2_IfcDistributionControlElementType_type); IFC4X2_IfcFlowMeter_type = new entity("IfcFlowMeter", false, 451, IFC4X2_IfcFlowController_type); IFC4X2_IfcFlowMovingDevice_type = new entity("IfcFlowMovingDevice", false, 454, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcFlowSegment_type = new entity("IfcFlowSegment", false, 456, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcFlowStorageDevice_type = new entity("IfcFlowStorageDevice", false, 458, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcFlowTerminal_type = new entity("IfcFlowTerminal", false, 460, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcFlowTreatmentDevice_type = new entity("IfcFlowTreatmentDevice", false, 462, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcFooting_type = new entity("IfcFooting", false, 467, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcGrid_type = new entity("IfcGrid", false, 489, IFC4X2_IfcPositioningElement_type); IFC4X2_IfcHeatExchanger_type = new entity("IfcHeatExchanger", false, 497, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcHumidifier_type = new entity("IfcHumidifier", false, 502, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcInterceptor_type = new entity("IfcInterceptor", false, 517, IFC4X2_IfcFlowTreatmentDevice_type); IFC4X2_IfcJunctionBox_type = new entity("IfcJunctionBox", false, 529, IFC4X2_IfcFlowFitting_type); IFC4X2_IfcLamp_type = new entity("IfcLamp", false, 539, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcLightFixture_type = new entity("IfcLightFixture", false, 553, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcLinearPositioningElement_type = new entity("IfcLinearPositioningElement", false, 567, IFC4X2_IfcPositioningElement_type); IFC4X2_IfcMedicalDevice_type = new entity("IfcMedicalDevice", false, 615, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcMember_type = new entity("IfcMember", false, 618, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcMemberStandardCase_type = new entity("IfcMemberStandardCase", false, 619, IFC4X2_IfcMember_type); IFC4X2_IfcMotorConnection_type = new entity("IfcMotorConnection", false, 638, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcOuterBoundaryCurve_type = new entity("IfcOuterBoundaryCurve", false, 667, IFC4X2_IfcBoundaryCurve_type); IFC4X2_IfcOutlet_type = new entity("IfcOutlet", false, 668, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcPile_type = new entity("IfcPile", false, 689, IFC4X2_IfcDeepFoundation_type); IFC4X2_IfcPipeFitting_type = new entity("IfcPipeFitting", false, 693, IFC4X2_IfcFlowFitting_type); IFC4X2_IfcPipeSegment_type = new entity("IfcPipeSegment", false, 696, IFC4X2_IfcFlowSegment_type); IFC4X2_IfcPlate_type = new entity("IfcPlate", false, 706, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcPlateStandardCase_type = new entity("IfcPlateStandardCase", false, 707, IFC4X2_IfcPlate_type); IFC4X2_IfcProtectiveDevice_type = new entity("IfcProtectiveDevice", false, 781, IFC4X2_IfcFlowController_type); IFC4X2_IfcProtectiveDeviceTrippingUnitType_type = new entity("IfcProtectiveDeviceTrippingUnitType", false, 783, IFC4X2_IfcDistributionControlElementType_type); IFC4X2_IfcPump_type = new entity("IfcPump", false, 788, IFC4X2_IfcFlowMovingDevice_type); IFC4X2_IfcRailing_type = new entity("IfcRailing", false, 799, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcRamp_type = new entity("IfcRamp", false, 802, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcRampFlight_type = new entity("IfcRampFlight", false, 803, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcRationalBSplineCurveWithKnots_type = new entity("IfcRationalBSplineCurveWithKnots", false, 809, IFC4X2_IfcBSplineCurveWithKnots_type); IFC4X2_IfcReinforcingBar_type = new entity("IfcReinforcingBar", false, 825, IFC4X2_IfcReinforcingElement_type); IFC4X2_IfcReinforcingBarType_type = new entity("IfcReinforcingBarType", false, 828, IFC4X2_IfcReinforcingElementType_type); IFC4X2_IfcRoof_type = new entity("IfcRoof", false, 901, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcSanitaryTerminal_type = new entity("IfcSanitaryTerminal", false, 910, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcSensorType_type = new entity("IfcSensorType", false, 925, IFC4X2_IfcDistributionControlElementType_type); IFC4X2_IfcShadingDevice_type = new entity("IfcShadingDevice", false, 928, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcSlab_type = new entity("IfcSlab", false, 946, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcSlabElementedCase_type = new entity("IfcSlabElementedCase", false, 947, IFC4X2_IfcSlab_type); IFC4X2_IfcSlabStandardCase_type = new entity("IfcSlabStandardCase", false, 948, IFC4X2_IfcSlab_type); IFC4X2_IfcSolarDevice_type = new entity("IfcSolarDevice", false, 952, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcSpaceHeater_type = new entity("IfcSpaceHeater", false, 964, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcStackTerminal_type = new entity("IfcStackTerminal", false, 982, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcStair_type = new entity("IfcStair", false, 985, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcStairFlight_type = new entity("IfcStairFlight", false, 986, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcStructuralAnalysisModel_type = new entity("IfcStructuralAnalysisModel", false, 995, IFC4X2_IfcSystem_type); IFC4X2_IfcStructuralLoadCase_type = new entity("IfcStructuralLoadCase", false, 1008, IFC4X2_IfcStructuralLoadGroup_type); IFC4X2_IfcStructuralPlanarAction_type = new entity("IfcStructuralPlanarAction", false, 1021, IFC4X2_IfcStructuralSurfaceAction_type); IFC4X2_IfcSwitchingDevice_type = new entity("IfcSwitchingDevice", false, 1064, IFC4X2_IfcFlowController_type); IFC4X2_IfcTank_type = new entity("IfcTank", false, 1074, IFC4X2_IfcFlowStorageDevice_type); IFC4X2_IfcTransformer_type = new entity("IfcTransformer", false, 1133, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcTubeBundle_type = new entity("IfcTubeBundle", false, 1150, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcUnitaryControlElementType_type = new entity("IfcUnitaryControlElementType", false, 1159, IFC4X2_IfcDistributionControlElementType_type); IFC4X2_IfcUnitaryEquipment_type = new entity("IfcUnitaryEquipment", false, 1161, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcValve_type = new entity("IfcValve", false, 1169, IFC4X2_IfcFlowController_type); IFC4X2_IfcWall_type = new entity("IfcWall", false, 1190, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcWallElementedCase_type = new entity("IfcWallElementedCase", false, 1191, IFC4X2_IfcWall_type); IFC4X2_IfcWallStandardCase_type = new entity("IfcWallStandardCase", false, 1192, IFC4X2_IfcWall_type); IFC4X2_IfcWasteTerminal_type = new entity("IfcWasteTerminal", false, 1198, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcWindow_type = new entity("IfcWindow", false, 1201, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcWindowStandardCase_type = new entity("IfcWindowStandardCase", false, 1206, IFC4X2_IfcWindow_type); { std::vector items; items.reserve(2); items.push_back(IFC4X2_IfcExternalSpatialElement_type); items.push_back(IFC4X2_IfcSpace_type); IFC4X2_IfcSpaceBoundarySelect_type = new select_type("IfcSpaceBoundarySelect", 963, items); } IFC4X2_IfcActuatorType_type = new entity("IfcActuatorType", false, 10, IFC4X2_IfcDistributionControlElementType_type); IFC4X2_IfcAirTerminal_type = new entity("IfcAirTerminal", false, 17, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcAirTerminalBox_type = new entity("IfcAirTerminalBox", false, 18, IFC4X2_IfcFlowController_type); IFC4X2_IfcAirToAirHeatRecovery_type = new entity("IfcAirToAirHeatRecovery", false, 23, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcAlarmType_type = new entity("IfcAlarmType", false, 27, IFC4X2_IfcDistributionControlElementType_type); IFC4X2_IfcAlignment_type = new entity("IfcAlignment", false, 29, IFC4X2_IfcLinearPositioningElement_type); IFC4X2_IfcAudioVisualAppliance_type = new entity("IfcAudioVisualAppliance", false, 61, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcBeam_type = new entity("IfcBeam", false, 68, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcBeamStandardCase_type = new entity("IfcBeamStandardCase", false, 69, IFC4X2_IfcBeam_type); IFC4X2_IfcBearing_type = new entity("IfcBearing", false, 72, IFC4X2_IfcBuildingElement_type); IFC4X2_IfcBoiler_type = new entity("IfcBoiler", false, 81, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcBurner_type = new entity("IfcBurner", false, 122, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcCableCarrierFitting_type = new entity("IfcCableCarrierFitting", false, 125, IFC4X2_IfcFlowFitting_type); IFC4X2_IfcCableCarrierSegment_type = new entity("IfcCableCarrierSegment", false, 128, IFC4X2_IfcFlowSegment_type); IFC4X2_IfcCableFitting_type = new entity("IfcCableFitting", false, 131, IFC4X2_IfcFlowFitting_type); IFC4X2_IfcCableSegment_type = new entity("IfcCableSegment", false, 134, IFC4X2_IfcFlowSegment_type); IFC4X2_IfcCaissonFoundation_type = new entity("IfcCaissonFoundation", false, 137, IFC4X2_IfcDeepFoundation_type); IFC4X2_IfcChiller_type = new entity("IfcChiller", false, 152, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcCoil_type = new entity("IfcCoil", false, 169, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcCommunicationsAppliance_type = new entity("IfcCommunicationsAppliance", false, 181, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcCompressor_type = new entity("IfcCompressor", false, 193, IFC4X2_IfcFlowMovingDevice_type); IFC4X2_IfcCondenser_type = new entity("IfcCondenser", false, 196, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcControllerType_type = new entity("IfcControllerType", false, 226, IFC4X2_IfcDistributionControlElementType_type); IFC4X2_IfcCooledBeam_type = new entity("IfcCooledBeam", false, 230, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcCoolingTower_type = new entity("IfcCoolingTower", false, 233, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcDamper_type = new entity("IfcDamper", false, 274, IFC4X2_IfcFlowController_type); IFC4X2_IfcDistributionChamberElement_type = new entity("IfcDistributionChamberElement", false, 299, IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcDistributionCircuit_type = new entity("IfcDistributionCircuit", false, 302, IFC4X2_IfcDistributionSystem_type); IFC4X2_IfcDistributionControlElement_type = new entity("IfcDistributionControlElement", false, 303, IFC4X2_IfcDistributionElement_type); IFC4X2_IfcDuctFitting_type = new entity("IfcDuctFitting", false, 334, IFC4X2_IfcFlowFitting_type); IFC4X2_IfcDuctSegment_type = new entity("IfcDuctSegment", false, 337, IFC4X2_IfcFlowSegment_type); IFC4X2_IfcDuctSilencer_type = new entity("IfcDuctSilencer", false, 340, IFC4X2_IfcFlowTreatmentDevice_type); IFC4X2_IfcElectricAppliance_type = new entity("IfcElectricAppliance", false, 348, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcElectricDistributionBoard_type = new entity("IfcElectricDistributionBoard", false, 355, IFC4X2_IfcFlowController_type); IFC4X2_IfcElectricFlowStorageDevice_type = new entity("IfcElectricFlowStorageDevice", false, 358, IFC4X2_IfcFlowStorageDevice_type); IFC4X2_IfcElectricGenerator_type = new entity("IfcElectricGenerator", false, 361, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcElectricMotor_type = new entity("IfcElectricMotor", false, 364, IFC4X2_IfcEnergyConversionDevice_type); IFC4X2_IfcElectricTimeControl_type = new entity("IfcElectricTimeControl", false, 368, IFC4X2_IfcFlowController_type); IFC4X2_IfcFan_type = new entity("IfcFan", false, 423, IFC4X2_IfcFlowMovingDevice_type); IFC4X2_IfcFilter_type = new entity("IfcFilter", false, 436, IFC4X2_IfcFlowTreatmentDevice_type); IFC4X2_IfcFireSuppressionTerminal_type = new entity("IfcFireSuppressionTerminal", false, 439, IFC4X2_IfcFlowTerminal_type); IFC4X2_IfcFlowInstrument_type = new entity("IfcFlowInstrument", false, 448, IFC4X2_IfcDistributionControlElement_type); IFC4X2_IfcProtectiveDeviceTrippingUnit_type = new entity("IfcProtectiveDeviceTrippingUnit", false, 782, IFC4X2_IfcDistributionControlElement_type); IFC4X2_IfcSensor_type = new entity("IfcSensor", false, 924, IFC4X2_IfcDistributionControlElement_type); IFC4X2_IfcUnitaryControlElement_type = new entity("IfcUnitaryControlElement", false, 1158, IFC4X2_IfcDistributionControlElement_type); IFC4X2_IfcActuator_type = new entity("IfcActuator", false, 9, IFC4X2_IfcDistributionControlElement_type); IFC4X2_IfcAlarm_type = new entity("IfcAlarm", false, 26, IFC4X2_IfcDistributionControlElement_type); IFC4X2_IfcController_type = new entity("IfcController", false, 225, IFC4X2_IfcDistributionControlElement_type); { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcActionRequestTypeEnum_type), true)); attributes.push_back(new attribute("Status", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("LongDescription", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcActionRequest_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("TheActor", new named_type(IFC4X2_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); IFC4X2_IfcActor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Role", new named_type(IFC4X2_IfcRoleEnum_type), false)); attributes.push_back(new attribute("UserDefinedRole", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcActorRole_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcActuatorTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcActuator_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_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); IFC4X2_IfcActuatorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Purpose", new named_type(IFC4X2_IfcAddressTypeEnum_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("UserDefinedPurpose", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAddress_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcAdvancedBrep_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Voids", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcClosedShell_type)), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAdvancedBrepWithVoids_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); IFC4X2_IfcAdvancedFace_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcAirTerminalTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcAirTerminal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcAirTerminalBoxTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcAirTerminalBox_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_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); IFC4X2_IfcAirTerminalBoxType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_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); IFC4X2_IfcAirTerminalType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcAirToAirHeatRecoveryTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcAirToAirHeatRecovery_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_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); IFC4X2_IfcAirToAirHeatRecoveryType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcAlarmTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcAlarm_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_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); IFC4X2_IfcAlarmType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcAlignmentTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcAlignment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("StartDistAlong", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("Segments", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcAlignment2DHorizontalSegment_type)), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAlignment2DHorizontal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("CurveGeometry", new named_type(IFC4X2_IfcCurveSegment2D_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAlignment2DHorizontalSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("TangentialContinuity", new named_type(IFC4X2_IfcBoolean_type), true)); attributes.push_back(new attribute("StartTag", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("EndTag", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAlignment2DSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("IsConvex", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcAlignment2DVerSegCircularArc_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); IFC4X2_IfcAlignment2DVerSegLine_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ParabolaConstant", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("IsConvex", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcAlignment2DVerSegParabolicArc_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Segments", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcAlignment2DVerticalSegment_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcAlignment2DVertical_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("StartDistAlong", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("HorizontalLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("StartHeight", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("StartGradient", new named_type(IFC4X2_IfcRatioMeasure_type), false)); 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); IFC4X2_IfcAlignment2DVerticalSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Horizontal", new named_type(IFC4X2_IfcAlignment2DHorizontal_type), false)); attributes.push_back(new attribute("Vertical", new named_type(IFC4X2_IfcAlignment2DVertical_type), true)); attributes.push_back(new attribute("Tag", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAlignmentCurve_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); IFC4X2_IfcAnnotation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("OuterBoundary", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("InnerBoundaries", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcCurve_type)), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAnnotationFillArea_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("ApplicationDeveloper", new named_type(IFC4X2_IfcOrganization_type), false)); attributes.push_back(new attribute("Version", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("ApplicationFullName", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("ApplicationIdentifier", new named_type(IFC4X2_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); IFC4X2_IfcApplication_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(10); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("AppliedValue", new named_type(IFC4X2_IfcAppliedValueSelect_type), true)); attributes.push_back(new attribute("UnitBasis", new named_type(IFC4X2_IfcMeasureWithUnit_type), true)); attributes.push_back(new attribute("ApplicableDate", new named_type(IFC4X2_IfcDate_type), true)); attributes.push_back(new attribute("FixedUntilDate", new named_type(IFC4X2_IfcDate_type), true)); attributes.push_back(new attribute("Category", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Condition", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("ArithmeticOperator", new named_type(IFC4X2_IfcArithmeticOperatorEnum_type), true)); attributes.push_back(new attribute("Components", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcAppliedValue_type)), true)); 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); IFC4X2_IfcAppliedValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(9); attributes.push_back(new attribute("Identifier", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("TimeOfApproval", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("Status", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Level", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Qualifier", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("RequestingApproval", new named_type(IFC4X2_IfcActorSelect_type), true)); attributes.push_back(new attribute("GivingApproval", new named_type(IFC4X2_IfcActorSelect_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcApproval_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingApproval", new named_type(IFC4X2_IfcApproval_type), false)); attributes.push_back(new attribute("RelatedApprovals", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcApproval_type)), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcApprovalRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("OuterCurve", new named_type(IFC4X2_IfcCurve_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcArbitraryClosedProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Curve", new named_type(IFC4X2_IfcBoundedCurve_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcArbitraryOpenProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("InnerCurves", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcCurve_type)), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcArbitraryProfileDefWithVoids_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(9); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("OriginalValue", new named_type(IFC4X2_IfcCostValue_type), true)); attributes.push_back(new attribute("CurrentValue", new named_type(IFC4X2_IfcCostValue_type), true)); attributes.push_back(new attribute("TotalReplacementCost", new named_type(IFC4X2_IfcCostValue_type), true)); attributes.push_back(new attribute("Owner", new named_type(IFC4X2_IfcActorSelect_type), true)); attributes.push_back(new attribute("User", new named_type(IFC4X2_IfcActorSelect_type), true)); attributes.push_back(new attribute("ResponsiblePerson", new named_type(IFC4X2_IfcPerson_type), true)); attributes.push_back(new attribute("IncorporationDate", new named_type(IFC4X2_IfcDate_type), true)); attributes.push_back(new attribute("DepreciatedValue", new named_type(IFC4X2_IfcCostValue_type), true)); std::vector derived; derived.reserve(14); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAsset_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(12); attributes.push_back(new attribute("BottomFlangeWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("OverallDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("WebThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("BottomFlangeThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("BottomFlangeFilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("TopFlangeWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("TopFlangeThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("TopFlangeFilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("BottomFlangeEdgeRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("BottomFlangeSlope", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); attributes.push_back(new attribute("TopFlangeEdgeRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("TopFlangeSlope", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); std::vector derived; derived.reserve(15); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAsymmetricIShapeProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcAudioVisualApplianceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcAudioVisualAppliance_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcAudioVisualApplianceTypeEnum_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); IFC4X2_IfcAudioVisualApplianceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Axis", new named_type(IFC4X2_IfcDirection_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAxis1Placement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RefDirection", new named_type(IFC4X2_IfcDirection_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAxis2Placement2D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Axis", new named_type(IFC4X2_IfcDirection_type), true)); attributes.push_back(new attribute("RefDirection", new named_type(IFC4X2_IfcDirection_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcAxis2Placement3D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("Degree", new named_type(IFC4X2_IfcInteger_type), false)); attributes.push_back(new attribute("ControlPointsList", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcCartesianPoint_type)), false)); attributes.push_back(new attribute("CurveForm", new named_type(IFC4X2_IfcBSplineCurveForm_type), false)); attributes.push_back(new attribute("ClosedCurve", new named_type(IFC4X2_IfcLogical_type), false)); attributes.push_back(new attribute("SelfIntersect", new named_type(IFC4X2_IfcLogical_type), false)); 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); IFC4X2_IfcBSplineCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("KnotMultiplicities", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcInteger_type)), false)); attributes.push_back(new attribute("Knots", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcParameterValue_type)), false)); attributes.push_back(new attribute("KnotSpec", new named_type(IFC4X2_IfcKnotType_type), false)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcBSplineCurveWithKnots_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("UDegree", new named_type(IFC4X2_IfcInteger_type), false)); attributes.push_back(new attribute("VDegree", new named_type(IFC4X2_IfcInteger_type), false)); attributes.push_back(new attribute("ControlPointsList", new aggregation_type(aggregation_type::list_type, 2, -1, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcCartesianPoint_type))), false)); attributes.push_back(new attribute("SurfaceForm", new named_type(IFC4X2_IfcBSplineSurfaceForm_type), false)); attributes.push_back(new attribute("UClosed", new named_type(IFC4X2_IfcLogical_type), false)); attributes.push_back(new attribute("VClosed", new named_type(IFC4X2_IfcLogical_type), false)); attributes.push_back(new attribute("SelfIntersect", new named_type(IFC4X2_IfcLogical_type), false)); 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); IFC4X2_IfcBSplineSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("UMultiplicities", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcInteger_type)), false)); attributes.push_back(new attribute("VMultiplicities", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcInteger_type)), false)); attributes.push_back(new attribute("UKnots", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcParameterValue_type)), false)); attributes.push_back(new attribute("VKnots", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcParameterValue_type)), false)); attributes.push_back(new attribute("KnotSpec", new named_type(IFC4X2_IfcKnotType_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcBSplineSurfaceWithKnots_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBeamTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcBeam_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcBeamStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBeamTypeEnum_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); IFC4X2_IfcBeamType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBearingTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcBearing_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBearingTypeEnum_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); IFC4X2_IfcBearingType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RasterFormat", new named_type(IFC4X2_IfcIdentifier_type), false)); attributes.push_back(new attribute("RasterCode", new named_type(IFC4X2_IfcBinary_type), false)); 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); IFC4X2_IfcBlobTexture_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("XLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("YLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("ZLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcBlock_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBoilerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcBoiler_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBoilerTypeEnum_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); IFC4X2_IfcBoilerType_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); IFC4X2_IfcBooleanClippingResult_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Operator", new named_type(IFC4X2_IfcBooleanOperator_type), false)); attributes.push_back(new attribute("FirstOperand", new named_type(IFC4X2_IfcBooleanOperand_type), false)); attributes.push_back(new attribute("SecondOperand", new named_type(IFC4X2_IfcBooleanOperand_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcBooleanResult_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcBoundaryCondition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcBoundaryCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("TranslationalStiffnessByLengthX", new named_type(IFC4X2_IfcModulusOfTranslationalSubgradeReactionSelect_type), true)); attributes.push_back(new attribute("TranslationalStiffnessByLengthY", new named_type(IFC4X2_IfcModulusOfTranslationalSubgradeReactionSelect_type), true)); attributes.push_back(new attribute("TranslationalStiffnessByLengthZ", new named_type(IFC4X2_IfcModulusOfTranslationalSubgradeReactionSelect_type), true)); attributes.push_back(new attribute("RotationalStiffnessByLengthX", new named_type(IFC4X2_IfcModulusOfRotationalSubgradeReactionSelect_type), true)); attributes.push_back(new attribute("RotationalStiffnessByLengthY", new named_type(IFC4X2_IfcModulusOfRotationalSubgradeReactionSelect_type), true)); attributes.push_back(new attribute("RotationalStiffnessByLengthZ", new named_type(IFC4X2_IfcModulusOfRotationalSubgradeReactionSelect_type), true)); 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); IFC4X2_IfcBoundaryEdgeCondition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("TranslationalStiffnessByAreaX", new named_type(IFC4X2_IfcModulusOfSubgradeReactionSelect_type), true)); attributes.push_back(new attribute("TranslationalStiffnessByAreaY", new named_type(IFC4X2_IfcModulusOfSubgradeReactionSelect_type), true)); attributes.push_back(new attribute("TranslationalStiffnessByAreaZ", new named_type(IFC4X2_IfcModulusOfSubgradeReactionSelect_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcBoundaryFaceCondition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("TranslationalStiffnessX", new named_type(IFC4X2_IfcTranslationalStiffnessSelect_type), true)); attributes.push_back(new attribute("TranslationalStiffnessY", new named_type(IFC4X2_IfcTranslationalStiffnessSelect_type), true)); attributes.push_back(new attribute("TranslationalStiffnessZ", new named_type(IFC4X2_IfcTranslationalStiffnessSelect_type), true)); attributes.push_back(new attribute("RotationalStiffnessX", new named_type(IFC4X2_IfcRotationalStiffnessSelect_type), true)); attributes.push_back(new attribute("RotationalStiffnessY", new named_type(IFC4X2_IfcRotationalStiffnessSelect_type), true)); attributes.push_back(new attribute("RotationalStiffnessZ", new named_type(IFC4X2_IfcRotationalStiffnessSelect_type), true)); 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); IFC4X2_IfcBoundaryNodeCondition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("WarpingStiffness", new named_type(IFC4X2_IfcWarpingStiffnessSelect_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcBoundaryNodeConditionWarping_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcBoundedCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcBoundedSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Corner", new named_type(IFC4X2_IfcCartesianPoint_type), false)); attributes.push_back(new attribute("XDim", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("YDim", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("ZDim", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcBoundingBox_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Enclosure", new named_type(IFC4X2_IfcBoundingBox_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcBoxedHalfSpace_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBridgeTypeEnum_type), true)); 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); IFC4X2_IfcBridge_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBridgePartTypeEnum_type), true)); 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); IFC4X2_IfcBridgePart_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("ElevationOfRefHeight", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("ElevationOfTerrain", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("BuildingAddress", new named_type(IFC4X2_IfcPostalAddress_type), true)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcBuilding_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcBuildingElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBuildingElementPartTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcBuildingElementPart_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBuildingElementPartTypeEnum_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); IFC4X2_IfcBuildingElementPartType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBuildingElementProxyTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcBuildingElementProxy_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBuildingElementProxyTypeEnum_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); IFC4X2_IfcBuildingElementProxyType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcBuildingElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Elevation", new named_type(IFC4X2_IfcLengthMeasure_type), true)); 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); IFC4X2_IfcBuildingStorey_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBuildingSystemTypeEnum_type), true)); attributes.push_back(new attribute("LongName", new named_type(IFC4X2_IfcLabel_type), true)); 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); IFC4X2_IfcBuildingSystem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBurnerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcBurner_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcBurnerTypeEnum_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); IFC4X2_IfcBurnerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("Depth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("Width", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("WallThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("Girth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("InternalFilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcCShapeProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCableCarrierFittingTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCableCarrierFitting_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCableCarrierFittingTypeEnum_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); IFC4X2_IfcCableCarrierFittingType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCableCarrierSegmentTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCableCarrierSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCableCarrierSegmentTypeEnum_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); IFC4X2_IfcCableCarrierSegmentType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCableFittingTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCableFitting_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCableFittingTypeEnum_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); IFC4X2_IfcCableFittingType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCableSegmentTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCableSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCableSegmentTypeEnum_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); IFC4X2_IfcCableSegmentType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCaissonFoundationTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCaissonFoundation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCaissonFoundationTypeEnum_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); IFC4X2_IfcCaissonFoundationType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Coordinates", new aggregation_type(aggregation_type::list_type, 1, 3, new named_type(IFC4X2_IfcLengthMeasure_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcCartesianPoint_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcCartesianPointList_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("CoordList", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X2_IfcLengthMeasure_type))), false)); attributes.push_back(new attribute("TagList", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCartesianPointList2D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("CoordList", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X2_IfcLengthMeasure_type))), false)); attributes.push_back(new attribute("TagList", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCartesianPointList3D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Axis1", new named_type(IFC4X2_IfcDirection_type), true)); attributes.push_back(new attribute("Axis2", new named_type(IFC4X2_IfcDirection_type), true)); attributes.push_back(new attribute("LocalOrigin", new named_type(IFC4X2_IfcCartesianPoint_type), false)); attributes.push_back(new attribute("Scale", new named_type(IFC4X2_IfcReal_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCartesianTransformationOperator_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCartesianTransformationOperator2D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Scale2", new named_type(IFC4X2_IfcReal_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); IFC4X2_IfcCartesianTransformationOperator2DnonUniform_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Axis3", new named_type(IFC4X2_IfcDirection_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); IFC4X2_IfcCartesianTransformationOperator3D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Scale2", new named_type(IFC4X2_IfcReal_type), true)); attributes.push_back(new attribute("Scale3", new named_type(IFC4X2_IfcReal_type), true)); 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); IFC4X2_IfcCartesianTransformationOperator3DnonUniform_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Thickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCenterLineProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcChillerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcChiller_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcChillerTypeEnum_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); IFC4X2_IfcChillerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcChimneyTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcChimney_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcChimneyTypeEnum_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); IFC4X2_IfcChimneyType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCircle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("WallThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); 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); IFC4X2_IfcCircleHollowProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCircleProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("IsCCW", new named_type(IFC4X2_IfcBoolean_type), false)); 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); IFC4X2_IfcCircularArcSegment2D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcCivilElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCivilElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("Source", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Edition", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("EditionDate", new named_type(IFC4X2_IfcDate_type), true)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Location", new named_type(IFC4X2_IfcURIReference_type), true)); attributes.push_back(new attribute("ReferenceTokens", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcIdentifier_type)), true)); 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); IFC4X2_IfcClassification_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("ReferencedSource", new named_type(IFC4X2_IfcClassificationReferenceSelect_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Sort", new named_type(IFC4X2_IfcIdentifier_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); IFC4X2_IfcClassificationReference_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcClosedShell_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCoilTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCoil_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCoilTypeEnum_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); IFC4X2_IfcCoilType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Red", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), false)); attributes.push_back(new attribute("Green", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), false)); attributes.push_back(new attribute("Blue", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcColourRgb_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ColourList", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X2_IfcNormalisedRatioMeasure_type))), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcColourRgbList_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcColourSpecification_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcColumnTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcColumn_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcColumnStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcColumnTypeEnum_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); IFC4X2_IfcColumnType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCommunicationsApplianceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCommunicationsAppliance_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCommunicationsApplianceTypeEnum_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); IFC4X2_IfcCommunicationsApplianceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("UsageName", new named_type(IFC4X2_IfcIdentifier_type), false)); attributes.push_back(new attribute("HasProperties", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcProperty_type)), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcComplexProperty_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("UsageName", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("TemplateType", new named_type(IFC4X2_IfcComplexPropertyTemplateTypeEnum_type), true)); attributes.push_back(new attribute("HasPropertyTemplates", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPropertyTemplate_type)), true)); 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); IFC4X2_IfcComplexPropertyTemplate_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Segments", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcCompositeCurveSegment_type)), false)); attributes.push_back(new attribute("SelfIntersect", new named_type(IFC4X2_IfcLogical_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCompositeCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCompositeCurveOnSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Transition", new named_type(IFC4X2_IfcTransitionCode_type), false)); attributes.push_back(new attribute("SameSense", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("ParentCurve", new named_type(IFC4X2_IfcCurve_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCompositeCurveSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Profiles", new aggregation_type(aggregation_type::set_type, 2, -1, new named_type(IFC4X2_IfcProfileDef_type)), false)); attributes.push_back(new attribute("Label", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCompositeProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCompressorTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCompressor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCompressorTypeEnum_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); IFC4X2_IfcCompressorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCondenserTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCondenser_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCondenserTypeEnum_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); IFC4X2_IfcCondenserType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcAxis2Placement_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcConic_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("CfsFaces", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcFace_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcConnectedFaceSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("CurveOnRelatingElement", new named_type(IFC4X2_IfcCurveOrEdgeCurve_type), false)); attributes.push_back(new attribute("CurveOnRelatedElement", new named_type(IFC4X2_IfcCurveOrEdgeCurve_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcConnectionCurveGeometry_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcConnectionGeometry_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("EccentricityInX", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("EccentricityInY", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("EccentricityInZ", new named_type(IFC4X2_IfcLengthMeasure_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); IFC4X2_IfcConnectionPointEccentricity_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PointOnRelatingElement", new named_type(IFC4X2_IfcPointOrVertexPoint_type), false)); attributes.push_back(new attribute("PointOnRelatedElement", new named_type(IFC4X2_IfcPointOrVertexPoint_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcConnectionPointGeometry_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("SurfaceOnRelatingElement", new named_type(IFC4X2_IfcSurfaceOrFaceSurface_type), false)); attributes.push_back(new attribute("SurfaceOnRelatedElement", new named_type(IFC4X2_IfcSurfaceOrFaceSurface_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcConnectionSurfaceGeometry_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("VolumeOnRelatingElement", new named_type(IFC4X2_IfcSolidOrShell_type), false)); attributes.push_back(new attribute("VolumeOnRelatedElement", new named_type(IFC4X2_IfcSolidOrShell_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcConnectionVolumeGeometry_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("ConstraintGrade", new named_type(IFC4X2_IfcConstraintEnum_type), false)); attributes.push_back(new attribute("ConstraintSource", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("CreatingActor", new named_type(IFC4X2_IfcActorSelect_type), true)); attributes.push_back(new attribute("CreationTime", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("UserDefinedGrade", new named_type(IFC4X2_IfcLabel_type), true)); 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); IFC4X2_IfcConstraint_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcConstructionEquipmentResourceTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcConstructionEquipmentResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcConstructionEquipmentResourceTypeEnum_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcConstructionEquipmentResourceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcConstructionMaterialResourceTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcConstructionMaterialResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcConstructionMaterialResourceTypeEnum_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcConstructionMaterialResourceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcConstructionProductResourceTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcConstructionProductResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcConstructionProductResourceTypeEnum_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcConstructionProductResourceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Usage", new named_type(IFC4X2_IfcResourceTime_type), true)); attributes.push_back(new attribute("BaseCosts", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcAppliedValue_type)), true)); attributes.push_back(new attribute("BaseQuantity", new named_type(IFC4X2_IfcPhysicalQuantity_type), true)); 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); IFC4X2_IfcConstructionResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("BaseCosts", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcAppliedValue_type)), true)); attributes.push_back(new attribute("BaseQuantity", new named_type(IFC4X2_IfcPhysicalQuantity_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcConstructionResourceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("ObjectType", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("LongName", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Phase", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("RepresentationContexts", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcRepresentationContext_type)), true)); attributes.push_back(new attribute("UnitsInContext", new named_type(IFC4X2_IfcUnitAssignment_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcContext_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcContextDependentUnit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_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); IFC4X2_IfcControl_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcControllerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcController_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcControllerTypeEnum_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); IFC4X2_IfcControllerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("ConversionFactor", new named_type(IFC4X2_IfcMeasureWithUnit_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcConversionBasedUnit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ConversionOffset", new named_type(IFC4X2_IfcReal_type), false)); 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); IFC4X2_IfcConversionBasedUnitWithOffset_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCooledBeamTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCooledBeam_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCooledBeamTypeEnum_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); IFC4X2_IfcCooledBeamType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCoolingTowerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCoolingTower_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCoolingTowerTypeEnum_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); IFC4X2_IfcCoolingTowerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("SourceCRS", new named_type(IFC4X2_IfcCoordinateReferenceSystemSelect_type), false)); attributes.push_back(new attribute("TargetCRS", new named_type(IFC4X2_IfcCoordinateReferenceSystem_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCoordinateOperation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("GeodeticDatum", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("VerticalDatum", new named_type(IFC4X2_IfcIdentifier_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCoordinateReferenceSystem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCostItemTypeEnum_type), true)); attributes.push_back(new attribute("CostValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcCostValue_type)), true)); attributes.push_back(new attribute("CostQuantities", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcPhysicalQuantity_type)), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCostItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCostScheduleTypeEnum_type), true)); attributes.push_back(new attribute("Status", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("SubmittedOn", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("UpdateDate", new named_type(IFC4X2_IfcDateTime_type), true)); 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); IFC4X2_IfcCostSchedule_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); 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); IFC4X2_IfcCostValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCoveringTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCovering_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCoveringTypeEnum_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); IFC4X2_IfcCoveringType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCrewResourceTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcCrewResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCrewResourceTypeEnum_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCrewResourceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcAxis2Placement3D_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcCsgPrimitive3D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("TreeRootExpression", new named_type(IFC4X2_IfcCsgSelect_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcCsgSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("RelatingMonetaryUnit", new named_type(IFC4X2_IfcMonetaryUnit_type), false)); attributes.push_back(new attribute("RelatedMonetaryUnit", new named_type(IFC4X2_IfcMonetaryUnit_type), false)); attributes.push_back(new attribute("ExchangeRate", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), false)); attributes.push_back(new attribute("RateDateTime", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("RateSource", new named_type(IFC4X2_IfcLibraryInformation_type), true)); 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); IFC4X2_IfcCurrencyRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCurtainWallTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcCurtainWall_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcCurtainWallTypeEnum_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); IFC4X2_IfcCurtainWallType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("BasisSurface", new named_type(IFC4X2_IfcPlane_type), false)); attributes.push_back(new attribute("OuterBoundary", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("InnerBoundaries", new aggregation_type(aggregation_type::set_type, 0, -1, new named_type(IFC4X2_IfcCurve_type)), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCurveBoundedPlane_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("BasisSurface", new named_type(IFC4X2_IfcSurface_type), false)); attributes.push_back(new attribute("Boundaries", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcBoundaryCurve_type)), false)); attributes.push_back(new attribute("ImplicitOuter", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCurveBoundedSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("StartPoint", new named_type(IFC4X2_IfcCartesianPoint_type), false)); attributes.push_back(new attribute("StartDirection", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), false)); attributes.push_back(new attribute("SegmentLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCurveSegment2D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("CurveFont", new named_type(IFC4X2_IfcCurveFontOrScaledCurveFontSelect_type), true)); attributes.push_back(new attribute("CurveWidth", new named_type(IFC4X2_IfcSizeSelect_type), true)); attributes.push_back(new attribute("CurveColour", new named_type(IFC4X2_IfcColour_type), true)); attributes.push_back(new attribute("ModelOrDraughting", new named_type(IFC4X2_IfcBoolean_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); IFC4X2_IfcCurveStyle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("PatternList", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcCurveStyleFontPattern_type)), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCurveStyleFont_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("CurveFont", new named_type(IFC4X2_IfcCurveStyleFontSelect_type), false)); attributes.push_back(new attribute("CurveFontScaling", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCurveStyleFontAndScaling_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("VisibleSegmentLength", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("InvisibleSegmentLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCurveStyleFontPattern_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcCylindricalSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDamperTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDamper_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDamperTypeEnum_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); IFC4X2_IfcDamperType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcDeepFoundation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDeepFoundationType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("ParentProfile", new named_type(IFC4X2_IfcProfileDef_type), false)); attributes.push_back(new attribute("Operator", new named_type(IFC4X2_IfcCartesianTransformationOperator2D_type), false)); attributes.push_back(new attribute("Label", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcDerivedProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Elements", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcDerivedUnitElement_type)), false)); attributes.push_back(new attribute("UnitType", new named_type(IFC4X2_IfcDerivedUnitEnum_type), false)); attributes.push_back(new attribute("UserDefinedType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcDerivedUnit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Unit", new named_type(IFC4X2_IfcNamedUnit_type), false)); attributes.push_back(new attribute("Exponent", new simple_type(simple_type::integer_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcDerivedUnitElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("LengthExponent", new simple_type(simple_type::integer_type), false)); attributes.push_back(new attribute("MassExponent", new simple_type(simple_type::integer_type), false)); attributes.push_back(new attribute("TimeExponent", new simple_type(simple_type::integer_type), false)); attributes.push_back(new attribute("ElectricCurrentExponent", new simple_type(simple_type::integer_type), false)); attributes.push_back(new attribute("ThermodynamicTemperatureExponent", new simple_type(simple_type::integer_type), false)); attributes.push_back(new attribute("AmountOfSubstanceExponent", new simple_type(simple_type::integer_type), false)); attributes.push_back(new attribute("LuminousIntensityExponent", new simple_type(simple_type::integer_type), false)); 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); IFC4X2_IfcDimensionalExponents_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("DirectionRatios", new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X2_IfcReal_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcDirection_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDiscreteAccessoryTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDiscreteAccessory_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDiscreteAccessoryTypeEnum_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); IFC4X2_IfcDiscreteAccessoryType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("DistanceAlong", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("OffsetLateral", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("OffsetVertical", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("OffsetLongitudinal", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("AlongHorizontal", new named_type(IFC4X2_IfcBoolean_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); IFC4X2_IfcDistanceExpression_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDistributionChamberElementTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDistributionChamberElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDistributionChamberElementTypeEnum_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); IFC4X2_IfcDistributionChamberElementType_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); IFC4X2_IfcDistributionCircuit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcDistributionControlElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDistributionControlElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcDistributionElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDistributionElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcDistributionFlowElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDistributionFlowElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("FlowDirection", new named_type(IFC4X2_IfcFlowDirectionEnum_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDistributionPortTypeEnum_type), true)); attributes.push_back(new attribute("SystemType", new named_type(IFC4X2_IfcDistributionSystemEnum_type), true)); 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); IFC4X2_IfcDistributionPort_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("LongName", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDistributionSystemEnum_type), true)); 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); IFC4X2_IfcDistributionSystem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(17); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), false)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Location", new named_type(IFC4X2_IfcURIReference_type), true)); attributes.push_back(new attribute("Purpose", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("IntendedUse", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Scope", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Revision", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("DocumentOwner", new named_type(IFC4X2_IfcActorSelect_type), true)); attributes.push_back(new attribute("Editors", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcActorSelect_type)), true)); attributes.push_back(new attribute("CreationTime", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("LastRevisionTime", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ElectronicFormat", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("ValidFrom", new named_type(IFC4X2_IfcDate_type), true)); attributes.push_back(new attribute("ValidUntil", new named_type(IFC4X2_IfcDate_type), true)); attributes.push_back(new attribute("Confidentiality", new named_type(IFC4X2_IfcDocumentConfidentialityEnum_type), true)); attributes.push_back(new attribute("Status", new named_type(IFC4X2_IfcDocumentStatusEnum_type), true)); std::vector derived; derived.reserve(17); 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); 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); IFC4X2_IfcDocumentInformation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("RelatingDocument", new named_type(IFC4X2_IfcDocumentInformation_type), false)); attributes.push_back(new attribute("RelatedDocuments", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcDocumentInformation_type)), false)); attributes.push_back(new attribute("RelationshipType", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcDocumentInformationRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("ReferencedDocument", new named_type(IFC4X2_IfcDocumentInformation_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); IFC4X2_IfcDocumentReference_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("OverallHeight", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("OverallWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDoorTypeEnum_type), true)); attributes.push_back(new attribute("OperationType", new named_type(IFC4X2_IfcDoorTypeOperationEnum_type), true)); attributes.push_back(new attribute("UserDefinedOperationType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcDoor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(13); attributes.push_back(new attribute("LiningDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("LiningThickness", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("ThresholdDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("ThresholdThickness", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("TransomThickness", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("TransomOffset", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("LiningOffset", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("ThresholdOffset", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("CasingThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("CasingDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("ShapeAspectStyle", new named_type(IFC4X2_IfcShapeAspect_type), true)); attributes.push_back(new attribute("LiningToPanelOffsetX", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("LiningToPanelOffsetY", new named_type(IFC4X2_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(17); 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); 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); IFC4X2_IfcDoorLiningProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("PanelDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("PanelOperation", new named_type(IFC4X2_IfcDoorPanelOperationEnum_type), false)); attributes.push_back(new attribute("PanelWidth", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("PanelPosition", new named_type(IFC4X2_IfcDoorPanelPositionEnum_type), false)); attributes.push_back(new attribute("ShapeAspectStyle", new named_type(IFC4X2_IfcShapeAspect_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDoorPanelProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcDoorStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("OperationType", new named_type(IFC4X2_IfcDoorStyleOperationEnum_type), false)); attributes.push_back(new attribute("ConstructionType", new named_type(IFC4X2_IfcDoorStyleConstructionEnum_type), false)); attributes.push_back(new attribute("ParameterTakesPrecedence", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("Sizeable", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcDoorStyle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDoorTypeEnum_type), false)); attributes.push_back(new attribute("OperationType", new named_type(IFC4X2_IfcDoorTypeOperationEnum_type), false)); attributes.push_back(new attribute("ParameterTakesPrecedence", new named_type(IFC4X2_IfcBoolean_type), true)); attributes.push_back(new attribute("UserDefinedOperationType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcDoorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcDraughtingPreDefinedColour_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcDraughtingPreDefinedCurveFont_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDuctFittingTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDuctFitting_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDuctFittingTypeEnum_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); IFC4X2_IfcDuctFittingType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDuctSegmentTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDuctSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDuctSegmentTypeEnum_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); IFC4X2_IfcDuctSegmentType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDuctSilencerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcDuctSilencer_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcDuctSilencerTypeEnum_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); IFC4X2_IfcDuctSilencerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("EdgeStart", new named_type(IFC4X2_IfcVertex_type), false)); attributes.push_back(new attribute("EdgeEnd", new named_type(IFC4X2_IfcVertex_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcEdge_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("EdgeGeometry", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("SameSense", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcEdgeCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("EdgeList", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcOrientedEdge_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcEdgeLoop_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricApplianceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcElectricAppliance_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricApplianceTypeEnum_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); IFC4X2_IfcElectricApplianceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricDistributionBoardTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcElectricDistributionBoard_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricDistributionBoardTypeEnum_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); IFC4X2_IfcElectricDistributionBoardType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricFlowStorageDeviceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcElectricFlowStorageDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricFlowStorageDeviceTypeEnum_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); IFC4X2_IfcElectricFlowStorageDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricGeneratorTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcElectricGenerator_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricGeneratorTypeEnum_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); IFC4X2_IfcElectricGeneratorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricMotorTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcElectricMotor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricMotorTypeEnum_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); IFC4X2_IfcElectricMotorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricTimeControlTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcElectricTimeControl_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElectricTimeControlTypeEnum_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); IFC4X2_IfcElectricTimeControlType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Tag", new named_type(IFC4X2_IfcIdentifier_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("AssemblyPlace", new named_type(IFC4X2_IfcAssemblyPlaceEnum_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElementAssemblyTypeEnum_type), true)); 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); IFC4X2_IfcElementAssembly_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcElementAssemblyTypeEnum_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); IFC4X2_IfcElementAssemblyType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcElementComponent_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcElementComponentType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("MethodOfMeasurement", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Quantities", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPhysicalQuantity_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); IFC4X2_IfcElementQuantity_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ElementType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcAxis2Placement3D_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcElementarySurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("SemiAxis1", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("SemiAxis2", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcEllipse_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("SemiAxis1", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("SemiAxis2", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); 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); IFC4X2_IfcEllipseProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcEnergyConversionDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcEnergyConversionDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcEngineTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcEngine_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcEngineTypeEnum_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); IFC4X2_IfcEngineType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcEvaporativeCoolerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcEvaporativeCooler_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcEvaporativeCoolerTypeEnum_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); IFC4X2_IfcEvaporativeCoolerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcEvaporatorTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcEvaporator_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcEvaporatorTypeEnum_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); IFC4X2_IfcEvaporatorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcEventTypeEnum_type), true)); attributes.push_back(new attribute("EventTriggerType", new named_type(IFC4X2_IfcEventTriggerTypeEnum_type), true)); attributes.push_back(new attribute("UserDefinedEventTriggerType", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("EventOccurenceTime", new named_type(IFC4X2_IfcEventTime_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcEvent_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("ActualDate", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("EarlyDate", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("LateDate", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ScheduleDate", new named_type(IFC4X2_IfcDateTime_type), true)); 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); IFC4X2_IfcEventTime_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcEventTypeEnum_type), false)); attributes.push_back(new attribute("EventTriggerType", new named_type(IFC4X2_IfcEventTriggerTypeEnum_type), false)); attributes.push_back(new attribute("UserDefinedEventTriggerType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcEventType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Properties", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcProperty_type)), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcExtendedProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcExternalInformation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Location", new named_type(IFC4X2_IfcURIReference_type), true)); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcExternalReference_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingReference", new named_type(IFC4X2_IfcExternalReference_type), false)); attributes.push_back(new attribute("RelatedResourceObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcResourceObjectSelect_type)), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcExternalReferenceRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcExternalSpatialElementTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcExternalSpatialElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcExternalSpatialStructureElement_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); IFC4X2_IfcExternallyDefinedHatchStyle_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); IFC4X2_IfcExternallyDefinedSurfaceStyle_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); IFC4X2_IfcExternallyDefinedTextFont_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ExtrudedDirection", new named_type(IFC4X2_IfcDirection_type), false)); attributes.push_back(new attribute("Depth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcExtrudedAreaSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("EndSweptArea", new named_type(IFC4X2_IfcProfileDef_type), false)); 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); IFC4X2_IfcExtrudedAreaSolidTapered_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Bounds", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcFaceBound_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcFace_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("FbsmFaces", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcConnectedFaceSet_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcFaceBasedSurfaceModel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Bound", new named_type(IFC4X2_IfcLoop_type), false)); attributes.push_back(new attribute("Orientation", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcFaceBound_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcFaceOuterBound_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("FaceSurface", new named_type(IFC4X2_IfcSurface_type), false)); attributes.push_back(new attribute("SameSense", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcFaceSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcFacetedBrep_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Voids", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcClosedShell_type)), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcFacetedBrepWithVoids_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFacility_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFacilityPart_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("TensionFailureX", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("TensionFailureY", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("TensionFailureZ", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("CompressionFailureX", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("CompressionFailureY", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("CompressionFailureZ", new named_type(IFC4X2_IfcForceMeasure_type), true)); 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); IFC4X2_IfcFailureConnectionCondition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFanTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFan_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFanTypeEnum_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); IFC4X2_IfcFanType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFastenerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFastener_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFastenerTypeEnum_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); IFC4X2_IfcFastenerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFeatureElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFeatureElementAddition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFeatureElementSubtraction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("FillStyles", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcFillStyleSelect_type)), false)); attributes.push_back(new attribute("ModelorDraughting", new named_type(IFC4X2_IfcBoolean_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcFillAreaStyle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("HatchLineAppearance", new named_type(IFC4X2_IfcCurveStyle_type), false)); attributes.push_back(new attribute("StartOfNextHatchLine", new named_type(IFC4X2_IfcHatchLineDistanceSelect_type), false)); attributes.push_back(new attribute("PointOfReferenceHatchLine", new named_type(IFC4X2_IfcCartesianPoint_type), true)); attributes.push_back(new attribute("PatternStart", new named_type(IFC4X2_IfcCartesianPoint_type), true)); attributes.push_back(new attribute("HatchLineAngle", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), false)); 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); IFC4X2_IfcFillAreaStyleHatching_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("TilingPattern", new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X2_IfcVector_type)), false)); attributes.push_back(new attribute("Tiles", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcStyledItem_type)), false)); attributes.push_back(new attribute("TilingScale", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcFillAreaStyleTiles_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFilterTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFilter_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFilterTypeEnum_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); IFC4X2_IfcFilterType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFireSuppressionTerminalTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFireSuppressionTerminal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFireSuppressionTerminalTypeEnum_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); IFC4X2_IfcFireSuppressionTerminalType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Directrix", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("StartParam", new named_type(IFC4X2_IfcParameterValue_type), true)); attributes.push_back(new attribute("EndParam", new named_type(IFC4X2_IfcParameterValue_type), true)); attributes.push_back(new attribute("FixedReference", new named_type(IFC4X2_IfcDirection_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); IFC4X2_IfcFixedReferenceSweptAreaSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFlowController_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowControllerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFlowFitting_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowFittingType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFlowInstrumentTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowInstrument_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFlowInstrumentTypeEnum_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); IFC4X2_IfcFlowInstrumentType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFlowMeterTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowMeter_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFlowMeterTypeEnum_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); IFC4X2_IfcFlowMeterType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFlowMovingDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowMovingDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFlowSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowSegmentType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFlowStorageDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowStorageDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFlowTerminal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowTerminalType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFlowTreatmentDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFlowTreatmentDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFootingTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFooting_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFootingTypeEnum_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); IFC4X2_IfcFootingType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcFurnishingElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFurnishingElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFurnitureTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcFurniture_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("AssemblyPlace", new named_type(IFC4X2_IfcAssemblyPlaceEnum_type), false)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcFurnitureTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcFurnitureType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcGeographicElementTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcGeographicElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcGeographicElementTypeEnum_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); IFC4X2_IfcGeographicElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcGeometricCurveSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("CoordinateSpaceDimension", new named_type(IFC4X2_IfcDimensionCount_type), false)); attributes.push_back(new attribute("Precision", new named_type(IFC4X2_IfcReal_type), true)); attributes.push_back(new attribute("WorldCoordinateSystem", new named_type(IFC4X2_IfcAxis2Placement_type), false)); attributes.push_back(new attribute("TrueNorth", new named_type(IFC4X2_IfcDirection_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); IFC4X2_IfcGeometricRepresentationContext_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcGeometricRepresentationItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("ParentContext", new named_type(IFC4X2_IfcGeometricRepresentationContext_type), false)); attributes.push_back(new attribute("TargetScale", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), true)); attributes.push_back(new attribute("TargetView", new named_type(IFC4X2_IfcGeometricProjectionEnum_type), false)); attributes.push_back(new attribute("UserDefinedTargetView", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(10); derived.push_back(false); derived.push_back(false); derived.push_back(true); derived.push_back(true); derived.push_back(true); derived.push_back(true); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcGeometricRepresentationSubContext_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Elements", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcGeometricSetSelect_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcGeometricSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("UAxes", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcGridAxis_type)), false)); attributes.push_back(new attribute("VAxes", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcGridAxis_type)), false)); attributes.push_back(new attribute("WAxes", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcGridAxis_type)), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcGridTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcGrid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("AxisTag", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("AxisCurve", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("SameSense", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcGridAxis_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PlacementLocation", new named_type(IFC4X2_IfcVirtualGridIntersection_type), false)); attributes.push_back(new attribute("PlacementRefDirection", new named_type(IFC4X2_IfcGridPlacementDirectionSelect_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcGridPlacement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); 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); IFC4X2_IfcGroup_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("BaseSurface", new named_type(IFC4X2_IfcSurface_type), false)); attributes.push_back(new attribute("AgreementFlag", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcHalfSpaceSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcHeatExchangerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcHeatExchanger_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcHeatExchangerTypeEnum_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); IFC4X2_IfcHeatExchangerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcHumidifierTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcHumidifier_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcHumidifierTypeEnum_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); IFC4X2_IfcHumidifierType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("OverallWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("OverallDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("WebThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FlangeThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("FlangeEdgeRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("FlangeSlope", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); 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); IFC4X2_IfcIShapeProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("URLReference", new named_type(IFC4X2_IfcURIReference_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); IFC4X2_IfcImageTexture_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("MappedTo", new named_type(IFC4X2_IfcTessellatedFaceSet_type), false)); attributes.push_back(new attribute("Opacity", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("Colours", new named_type(IFC4X2_IfcColourRgbList_type), false)); attributes.push_back(new attribute("ColourIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcPositiveInteger_type)), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcIndexedColourMap_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Points", new named_type(IFC4X2_IfcCartesianPointList_type), false)); attributes.push_back(new attribute("Segments", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcSegmentIndexSelect_type)), true)); attributes.push_back(new attribute("SelfIntersect", new named_type(IFC4X2_IfcBoolean_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcIndexedPolyCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("CoordIndex", new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X2_IfcPositiveInteger_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcIndexedPolygonalFace_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("InnerCoordIndices", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X2_IfcPositiveInteger_type))), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcIndexedPolygonalFaceWithVoids_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("MappedTo", new named_type(IFC4X2_IfcTessellatedFaceSet_type), false)); attributes.push_back(new attribute("TexCoords", new named_type(IFC4X2_IfcTextureVertexList_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcIndexedTextureMap_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("TexCoordIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X2_IfcPositiveInteger_type))), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcIndexedTriangleTextureMap_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcInterceptorTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcInterceptor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcInterceptorTypeEnum_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); IFC4X2_IfcInterceptorType_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); IFC4X2_IfcIntersectionCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcInventoryTypeEnum_type), true)); attributes.push_back(new attribute("Jurisdiction", new named_type(IFC4X2_IfcActorSelect_type), true)); attributes.push_back(new attribute("ResponsiblePersons", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPerson_type)), true)); attributes.push_back(new attribute("LastUpdateDate", new named_type(IFC4X2_IfcDate_type), true)); attributes.push_back(new attribute("CurrentValue", new named_type(IFC4X2_IfcCostValue_type), true)); attributes.push_back(new attribute("OriginalValue", new named_type(IFC4X2_IfcCostValue_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcInventory_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Values", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcIrregularTimeSeriesValue_type)), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcIrregularTimeSeries_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("TimeStamp", new named_type(IFC4X2_IfcDateTime_type), false)); attributes.push_back(new attribute("ListValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcValue_type)), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcIrregularTimeSeriesValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcJunctionBoxTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcJunctionBox_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcJunctionBoxTypeEnum_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); IFC4X2_IfcJunctionBoxType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("Depth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("Width", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("Thickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("EdgeRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("LegSlope", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcLShapeProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcLaborResourceTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcLaborResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcLaborResourceTypeEnum_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcLaborResourceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("LagValue", new named_type(IFC4X2_IfcTimeOrRatioSelect_type), false)); attributes.push_back(new attribute("DurationType", new named_type(IFC4X2_IfcTaskDurationEnum_type), false)); 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); IFC4X2_IfcLagTime_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcLampTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcLamp_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcLampTypeEnum_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); IFC4X2_IfcLampType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Version", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Publisher", new named_type(IFC4X2_IfcActorSelect_type), true)); attributes.push_back(new attribute("VersionDate", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("Location", new named_type(IFC4X2_IfcURIReference_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_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); IFC4X2_IfcLibraryInformation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Language", new named_type(IFC4X2_IfcLanguageId_type), true)); attributes.push_back(new attribute("ReferencedLibrary", new named_type(IFC4X2_IfcLibraryInformation_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); IFC4X2_IfcLibraryReference_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("MainPlaneAngle", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), false)); attributes.push_back(new attribute("SecondaryPlaneAngle", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcPlaneAngleMeasure_type)), false)); attributes.push_back(new attribute("LuminousIntensity", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLuminousIntensityDistributionMeasure_type)), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcLightDistributionData_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcLightFixtureTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcLightFixture_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcLightFixtureTypeEnum_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); IFC4X2_IfcLightFixtureType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("LightDistributionCurve", new named_type(IFC4X2_IfcLightDistributionCurveEnum_type), false)); attributes.push_back(new attribute("DistributionData", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLightDistributionData_type)), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcLightIntensityDistribution_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("LightColour", new named_type(IFC4X2_IfcColourRgb_type), false)); attributes.push_back(new attribute("AmbientIntensity", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("Intensity", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcLightSource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcLightSourceAmbient_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Orientation", new named_type(IFC4X2_IfcDirection_type), false)); 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); IFC4X2_IfcLightSourceDirectional_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcAxis2Placement3D_type), false)); attributes.push_back(new attribute("ColourAppearance", new named_type(IFC4X2_IfcColourRgb_type), true)); attributes.push_back(new attribute("ColourTemperature", new named_type(IFC4X2_IfcThermodynamicTemperatureMeasure_type), false)); attributes.push_back(new attribute("LuminousFlux", new named_type(IFC4X2_IfcLuminousFluxMeasure_type), false)); attributes.push_back(new attribute("LightEmissionSource", new named_type(IFC4X2_IfcLightEmissionSourceEnum_type), false)); attributes.push_back(new attribute("LightDistributionDataSource", new named_type(IFC4X2_IfcLightDistributionDataSourceSelect_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); IFC4X2_IfcLightSourceGoniometric_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcCartesianPoint_type), false)); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("ConstantAttenuation", new named_type(IFC4X2_IfcReal_type), false)); attributes.push_back(new attribute("DistanceAttenuation", new named_type(IFC4X2_IfcReal_type), false)); attributes.push_back(new attribute("QuadricAttenuation", new named_type(IFC4X2_IfcReal_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcLightSourcePositional_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Orientation", new named_type(IFC4X2_IfcDirection_type), false)); attributes.push_back(new attribute("ConcentrationExponent", new named_type(IFC4X2_IfcReal_type), true)); attributes.push_back(new attribute("SpreadAngle", new named_type(IFC4X2_IfcPositivePlaneAngleMeasure_type), false)); attributes.push_back(new attribute("BeamWidthAngle", new named_type(IFC4X2_IfcPositivePlaneAngleMeasure_type), false)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcLightSourceSpot_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Pnt", new named_type(IFC4X2_IfcCartesianPoint_type), false)); attributes.push_back(new attribute("Dir", new named_type(IFC4X2_IfcVector_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcLine_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); IFC4X2_IfcLineSegment2D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("PlacementMeasuredAlong", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("Distance", new named_type(IFC4X2_IfcDistanceExpression_type), false)); attributes.push_back(new attribute("Orientation", new named_type(IFC4X2_IfcOrientationExpression_type), true)); attributes.push_back(new attribute("CartesianPosition", new named_type(IFC4X2_IfcAxis2Placement3D_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); IFC4X2_IfcLinearPlacement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Axis", new named_type(IFC4X2_IfcCurve_type), false)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcLinearPositioningElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelativePlacement", new named_type(IFC4X2_IfcAxis2Placement_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcLocalPlacement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcLoop_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Outer", new named_type(IFC4X2_IfcClosedShell_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcManifoldSolidBrep_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("Eastings", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("Northings", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("OrthogonalHeight", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("XAxisAbscissa", new named_type(IFC4X2_IfcReal_type), true)); attributes.push_back(new attribute("XAxisOrdinate", new named_type(IFC4X2_IfcReal_type), true)); attributes.push_back(new attribute("Scale", new named_type(IFC4X2_IfcReal_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcMapConversion_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("MappingSource", new named_type(IFC4X2_IfcRepresentationMap_type), false)); attributes.push_back(new attribute("MappingTarget", new named_type(IFC4X2_IfcCartesianTransformationOperator_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMappedItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Category", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMaterial_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("MaterialClassifications", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcClassificationSelect_type)), false)); attributes.push_back(new attribute("ClassifiedMaterial", new named_type(IFC4X2_IfcMaterial_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMaterialClassificationRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Material", new named_type(IFC4X2_IfcMaterial_type), false)); attributes.push_back(new attribute("Fraction", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("Category", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcMaterialConstituent_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("MaterialConstituents", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcMaterialConstituent_type)), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMaterialConstituentSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcMaterialDefinition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RepresentedMaterial", new named_type(IFC4X2_IfcMaterial_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMaterialDefinitionRepresentation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("Material", new named_type(IFC4X2_IfcMaterial_type), true)); attributes.push_back(new attribute("LayerThickness", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), false)); attributes.push_back(new attribute("IsVentilated", new named_type(IFC4X2_IfcLogical_type), true)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Category", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Priority", new named_type(IFC4X2_IfcInteger_type), true)); 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); IFC4X2_IfcMaterialLayer_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("MaterialLayers", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcMaterialLayer_type)), false)); attributes.push_back(new attribute("LayerSetName", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMaterialLayerSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("ForLayerSet", new named_type(IFC4X2_IfcMaterialLayerSet_type), false)); attributes.push_back(new attribute("LayerSetDirection", new named_type(IFC4X2_IfcLayerSetDirectionEnum_type), false)); attributes.push_back(new attribute("DirectionSense", new named_type(IFC4X2_IfcDirectionSenseEnum_type), false)); attributes.push_back(new attribute("OffsetFromReferenceLine", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("ReferenceExtent", new named_type(IFC4X2_IfcPositiveLengthMeasure_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); IFC4X2_IfcMaterialLayerSetUsage_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("OffsetDirection", new named_type(IFC4X2_IfcLayerSetDirectionEnum_type), false)); attributes.push_back(new attribute("OffsetValues", new aggregation_type(aggregation_type::array_type, 1, 2, new named_type(IFC4X2_IfcLengthMeasure_type)), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcMaterialLayerWithOffsets_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Materials", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcMaterial_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcMaterialList_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Material", new named_type(IFC4X2_IfcMaterial_type), true)); attributes.push_back(new attribute("Profile", new named_type(IFC4X2_IfcProfileDef_type), false)); attributes.push_back(new attribute("Priority", new named_type(IFC4X2_IfcInteger_type), true)); attributes.push_back(new attribute("Category", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcMaterialProfile_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("MaterialProfiles", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcMaterialProfile_type)), false)); attributes.push_back(new attribute("CompositeProfile", new named_type(IFC4X2_IfcCompositeProfileDef_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMaterialProfileSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("ForProfileSet", new named_type(IFC4X2_IfcMaterialProfileSet_type), false)); attributes.push_back(new attribute("CardinalPoint", new named_type(IFC4X2_IfcCardinalPointReference_type), true)); attributes.push_back(new attribute("ReferenceExtent", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMaterialProfileSetUsage_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ForProfileEndSet", new named_type(IFC4X2_IfcMaterialProfileSet_type), false)); attributes.push_back(new attribute("CardinalEndPoint", new named_type(IFC4X2_IfcCardinalPointReference_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); IFC4X2_IfcMaterialProfileSetUsageTapering_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("OffsetValues", new aggregation_type(aggregation_type::array_type, 1, 2, new named_type(IFC4X2_IfcLengthMeasure_type)), false)); 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); IFC4X2_IfcMaterialProfileWithOffsets_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Material", new named_type(IFC4X2_IfcMaterialDefinition_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMaterialProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("RelatingMaterial", new named_type(IFC4X2_IfcMaterial_type), false)); attributes.push_back(new attribute("RelatedMaterials", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcMaterial_type)), false)); attributes.push_back(new attribute("Expression", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcMaterialRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcMaterialUsageDefinition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ValueComponent", new named_type(IFC4X2_IfcValue_type), false)); attributes.push_back(new attribute("UnitComponent", new named_type(IFC4X2_IfcUnit_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMeasureWithUnit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("NominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("NominalLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcMechanicalFastenerTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcMechanicalFastener_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcMechanicalFastenerTypeEnum_type), false)); attributes.push_back(new attribute("NominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("NominalLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcMechanicalFastenerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcMedicalDeviceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcMedicalDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcMedicalDeviceTypeEnum_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); IFC4X2_IfcMedicalDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcMemberTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcMember_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcMemberStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcMemberTypeEnum_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); IFC4X2_IfcMemberType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Benchmark", new named_type(IFC4X2_IfcBenchmarkEnum_type), false)); attributes.push_back(new attribute("ValueSource", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("DataValue", new named_type(IFC4X2_IfcMetricValueSelect_type), true)); attributes.push_back(new attribute("ReferencePath", new named_type(IFC4X2_IfcReference_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcMetric_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(5); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(true); derived.push_back(false); IFC4X2_IfcMirroredProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Currency", new named_type(IFC4X2_IfcLabel_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcMonetaryUnit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcMotorConnectionTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcMotorConnection_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcMotorConnectionTypeEnum_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); IFC4X2_IfcMotorConnectionType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Dimensions", new named_type(IFC4X2_IfcDimensionalExponents_type), false)); attributes.push_back(new attribute("UnitType", new named_type(IFC4X2_IfcUnitEnum_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcNamedUnit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ObjectType", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcObject_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcObjectDefinition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PlacementRelTo", new named_type(IFC4X2_IfcObjectPlacement_type), true)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcObjectPlacement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("BenchmarkValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcConstraint_type)), true)); attributes.push_back(new attribute("LogicalAggregator", new named_type(IFC4X2_IfcLogicalOperatorEnum_type), true)); attributes.push_back(new attribute("ObjectiveQualifier", new named_type(IFC4X2_IfcObjectiveEnum_type), false)); attributes.push_back(new attribute("UserDefinedQualifier", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcObjective_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcOccupantTypeEnum_type), true)); 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); IFC4X2_IfcOccupant_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("BasisCurve", new named_type(IFC4X2_IfcCurve_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcOffsetCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Distance", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("SelfIntersect", new named_type(IFC4X2_IfcLogical_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcOffsetCurve2D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Distance", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("SelfIntersect", new named_type(IFC4X2_IfcLogical_type), false)); attributes.push_back(new attribute("RefDirection", new named_type(IFC4X2_IfcDirection_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcOffsetCurve3D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("OffsetValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcDistanceExpression_type)), false)); attributes.push_back(new attribute("Tag", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcOffsetCurveByDistances_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcOpenShell_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcOpeningElementTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcOpeningElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcOpeningStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Roles", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcActorRole_type)), true)); attributes.push_back(new attribute("Addresses", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcAddress_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); IFC4X2_IfcOrganization_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingOrganization", new named_type(IFC4X2_IfcOrganization_type), false)); attributes.push_back(new attribute("RelatedOrganizations", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcOrganization_type)), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcOrganizationRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("LateralAxisDirection", new named_type(IFC4X2_IfcDirection_type), false)); attributes.push_back(new attribute("VerticalAxisDirection", new named_type(IFC4X2_IfcDirection_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcOrientationExpression_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("EdgeElement", new named_type(IFC4X2_IfcEdge_type), false)); attributes.push_back(new attribute("Orientation", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(4); derived.push_back(true); derived.push_back(true); derived.push_back(false); derived.push_back(false); IFC4X2_IfcOrientedEdge_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcOuterBoundaryCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcOutletTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcOutlet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcOutletTypeEnum_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); IFC4X2_IfcOutletType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(8); attributes.push_back(new attribute("OwningUser", new named_type(IFC4X2_IfcPersonAndOrganization_type), false)); attributes.push_back(new attribute("OwningApplication", new named_type(IFC4X2_IfcApplication_type), false)); attributes.push_back(new attribute("State", new named_type(IFC4X2_IfcStateEnum_type), true)); attributes.push_back(new attribute("ChangeAction", new named_type(IFC4X2_IfcChangeActionEnum_type), true)); attributes.push_back(new attribute("LastModifiedDate", new named_type(IFC4X2_IfcTimeStamp_type), true)); attributes.push_back(new attribute("LastModifyingUser", new named_type(IFC4X2_IfcPersonAndOrganization_type), true)); attributes.push_back(new attribute("LastModifyingApplication", new named_type(IFC4X2_IfcApplication_type), true)); attributes.push_back(new attribute("CreationDate", new named_type(IFC4X2_IfcTimeStamp_type), false)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcOwnerHistory_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcAxis2Placement2D_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcParameterizedProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("EdgeList", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcOrientedEdge_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPath_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("BasisSurface", new named_type(IFC4X2_IfcSurface_type), false)); attributes.push_back(new attribute("ReferenceCurve", new named_type(IFC4X2_IfcCurve_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPcurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("LifeCyclePhase", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPerformanceHistoryTypeEnum_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcPerformanceHistory_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("OperationType", new named_type(IFC4X2_IfcPermeableCoveringOperationEnum_type), false)); attributes.push_back(new attribute("PanelPosition", new named_type(IFC4X2_IfcWindowPanelPositionEnum_type), false)); attributes.push_back(new attribute("FrameDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("FrameThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("ShapeAspectStyle", new named_type(IFC4X2_IfcShapeAspect_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcPermeableCoveringProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPermitTypeEnum_type), true)); attributes.push_back(new attribute("Status", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("LongDescription", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcPermit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(8); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("FamilyName", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("GivenName", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("MiddleNames", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); attributes.push_back(new attribute("PrefixTitles", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); attributes.push_back(new attribute("SuffixTitles", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); attributes.push_back(new attribute("Roles", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcActorRole_type)), true)); attributes.push_back(new attribute("Addresses", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcAddress_type)), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcPerson_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("ThePerson", new named_type(IFC4X2_IfcPerson_type), false)); attributes.push_back(new attribute("TheOrganization", new named_type(IFC4X2_IfcOrganization_type), false)); attributes.push_back(new attribute("Roles", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcActorRole_type)), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPersonAndOrganization_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("HasQuantities", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPhysicalQuantity_type)), false)); attributes.push_back(new attribute("Discrimination", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Quality", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Usage", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcPhysicalComplexQuantity_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPhysicalQuantity_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Unit", new named_type(IFC4X2_IfcNamedUnit_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPhysicalSimpleQuantity_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPileTypeEnum_type), true)); attributes.push_back(new attribute("ConstructionType", new named_type(IFC4X2_IfcPileConstructionEnum_type), true)); 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); IFC4X2_IfcPile_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPileTypeEnum_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); IFC4X2_IfcPileType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPipeFittingTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcPipeFitting_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPipeFittingTypeEnum_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); IFC4X2_IfcPipeFittingType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPipeSegmentTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcPipeSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPipeSegmentTypeEnum_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); IFC4X2_IfcPipeSegmentType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Width", new named_type(IFC4X2_IfcInteger_type), false)); attributes.push_back(new attribute("Height", new named_type(IFC4X2_IfcInteger_type), false)); attributes.push_back(new attribute("ColourComponents", new named_type(IFC4X2_IfcInteger_type), false)); attributes.push_back(new attribute("Pixel", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcBinary_type)), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcPixelTexture_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Location", new named_type(IFC4X2_IfcCartesianPoint_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPlacement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Placement", new named_type(IFC4X2_IfcAxis2Placement_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPlanarBox_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("SizeInX", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("SizeInY", new named_type(IFC4X2_IfcLengthMeasure_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPlanarExtent_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPlane_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPlateTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcPlate_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcPlateStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPlateTypeEnum_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); IFC4X2_IfcPlateType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcPoint_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("BasisCurve", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("PointParameter", new named_type(IFC4X2_IfcParameterValue_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPointOnCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("BasisSurface", new named_type(IFC4X2_IfcSurface_type), false)); attributes.push_back(new attribute("PointParameterU", new named_type(IFC4X2_IfcParameterValue_type), false)); attributes.push_back(new attribute("PointParameterV", new named_type(IFC4X2_IfcParameterValue_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPointOnSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Polygon", new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X2_IfcCartesianPoint_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPolyLoop_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcAxis2Placement3D_type), false)); attributes.push_back(new attribute("PolygonalBoundary", new named_type(IFC4X2_IfcBoundedCurve_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPolygonalBoundedHalfSpace_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Closed", new named_type(IFC4X2_IfcBoolean_type), true)); attributes.push_back(new attribute("Faces", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcIndexedPolygonalFace_type)), false)); attributes.push_back(new attribute("PnIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcPositiveInteger_type)), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPolygonalFaceSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Points", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcCartesianPoint_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPolyline_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); IFC4X2_IfcPort_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); IFC4X2_IfcPositioningElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("InternalLocation", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("AddressLines", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); attributes.push_back(new attribute("PostalBox", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Town", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Region", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("PostalCode", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Country", new named_type(IFC4X2_IfcLabel_type), true)); 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); IFC4X2_IfcPostalAddress_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPreDefinedColour_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPreDefinedCurveFont_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPreDefinedItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcPreDefinedProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPreDefinedPropertySet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPreDefinedTextFont_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcPresentationItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("AssignedItems", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcLayeredItem_type)), false)); attributes.push_back(new attribute("Identifier", new named_type(IFC4X2_IfcIdentifier_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPresentationLayerAssignment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("LayerOn", new named_type(IFC4X2_IfcLogical_type), false)); attributes.push_back(new attribute("LayerFrozen", new named_type(IFC4X2_IfcLogical_type), false)); attributes.push_back(new attribute("LayerBlocked", new named_type(IFC4X2_IfcLogical_type), false)); attributes.push_back(new attribute("LayerStyles", new aggregation_type(aggregation_type::set_type, 0, -1, new named_type(IFC4X2_IfcPresentationStyle_type)), false)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcPresentationLayerWithStyle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPresentationStyle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Styles", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPresentationStyleSelect_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcPresentationStyleAssignment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcProcedureTypeEnum_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcProcedure_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcProcedureTypeEnum_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); IFC4X2_IfcProcedureType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("LongDescription", new named_type(IFC4X2_IfcText_type), true)); 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); IFC4X2_IfcProcess_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ObjectPlacement", new named_type(IFC4X2_IfcObjectPlacement_type), true)); attributes.push_back(new attribute("Representation", new named_type(IFC4X2_IfcProductRepresentation_type), true)); 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); IFC4X2_IfcProduct_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); IFC4X2_IfcProductDefinitionShape_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Representations", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcRepresentation_type)), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcProductRepresentation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ProfileType", new named_type(IFC4X2_IfcProfileTypeEnum_type), false)); attributes.push_back(new attribute("ProfileName", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ProfileDefinition", new named_type(IFC4X2_IfcProfileDef_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcProfileProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcProject_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcProjectLibrary_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcProjectOrderTypeEnum_type), true)); attributes.push_back(new attribute("Status", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("LongDescription", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcProjectOrder_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("MapProjection", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("MapZone", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("MapUnit", new named_type(IFC4X2_IfcNamedUnit_type), true)); 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); IFC4X2_IfcProjectedCRS_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcProjectionElementTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcProjectionElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcIdentifier_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcProperty_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcPropertyAbstraction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("UpperBoundValue", new named_type(IFC4X2_IfcValue_type), true)); attributes.push_back(new attribute("LowerBoundValue", new named_type(IFC4X2_IfcValue_type), true)); attributes.push_back(new attribute("Unit", new named_type(IFC4X2_IfcUnit_type), true)); attributes.push_back(new attribute("SetPointValue", new named_type(IFC4X2_IfcValue_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); IFC4X2_IfcPropertyBoundedValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertyDefinition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("DependingProperty", new named_type(IFC4X2_IfcProperty_type), false)); attributes.push_back(new attribute("DependantProperty", new named_type(IFC4X2_IfcProperty_type), false)); attributes.push_back(new attribute("Expression", new named_type(IFC4X2_IfcText_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); IFC4X2_IfcPropertyDependencyRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("EnumerationValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcValue_type)), true)); attributes.push_back(new attribute("EnumerationReference", new named_type(IFC4X2_IfcPropertyEnumeration_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertyEnumeratedValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("EnumerationValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcValue_type)), false)); attributes.push_back(new attribute("Unit", new named_type(IFC4X2_IfcUnit_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertyEnumeration_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ListValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcValue_type)), true)); attributes.push_back(new attribute("Unit", new named_type(IFC4X2_IfcUnit_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertyListValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("UsageName", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("PropertyReference", new named_type(IFC4X2_IfcObjectReferenceSelect_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertyReferenceValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("HasProperties", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcProperty_type)), false)); 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); IFC4X2_IfcPropertySet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertySetDefinition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("TemplateType", new named_type(IFC4X2_IfcPropertySetTemplateTypeEnum_type), true)); attributes.push_back(new attribute("ApplicableEntity", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("HasPropertyTemplates", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPropertyTemplate_type)), false)); 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); IFC4X2_IfcPropertySetTemplate_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("NominalValue", new named_type(IFC4X2_IfcValue_type), true)); attributes.push_back(new attribute("Unit", new named_type(IFC4X2_IfcUnit_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertySingleValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("DefiningValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcValue_type)), true)); attributes.push_back(new attribute("DefinedValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcValue_type)), true)); attributes.push_back(new attribute("Expression", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("DefiningUnit", new named_type(IFC4X2_IfcUnit_type), true)); attributes.push_back(new attribute("DefinedUnit", new named_type(IFC4X2_IfcUnit_type), true)); attributes.push_back(new attribute("CurveInterpolation", new named_type(IFC4X2_IfcCurveInterpolationEnum_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcPropertyTableValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertyTemplate_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcPropertyTemplateDefinition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcProtectiveDeviceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcProtectiveDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcProtectiveDeviceTrippingUnitTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcProtectiveDeviceTrippingUnit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcProtectiveDeviceTrippingUnitTypeEnum_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); IFC4X2_IfcProtectiveDeviceTrippingUnitType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcProtectiveDeviceTypeEnum_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); IFC4X2_IfcProtectiveDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ProxyType", new named_type(IFC4X2_IfcObjectTypeEnum_type), false)); attributes.push_back(new attribute("Tag", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcProxy_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPumpTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcPump_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcPumpTypeEnum_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); IFC4X2_IfcPumpType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("AreaValue", new named_type(IFC4X2_IfcAreaMeasure_type), false)); attributes.push_back(new attribute("Formula", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcQuantityArea_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("CountValue", new named_type(IFC4X2_IfcCountMeasure_type), false)); attributes.push_back(new attribute("Formula", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcQuantityCount_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("LengthValue", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("Formula", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcQuantityLength_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcQuantitySet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("TimeValue", new named_type(IFC4X2_IfcTimeMeasure_type), false)); attributes.push_back(new attribute("Formula", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcQuantityTime_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("VolumeValue", new named_type(IFC4X2_IfcVolumeMeasure_type), false)); attributes.push_back(new attribute("Formula", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcQuantityVolume_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("WeightValue", new named_type(IFC4X2_IfcMassMeasure_type), false)); attributes.push_back(new attribute("Formula", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcQuantityWeight_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcRailingTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRailing_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcRailingTypeEnum_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); IFC4X2_IfcRailingType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcRampTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRamp_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcRampFlightTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRampFlight_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcRampFlightTypeEnum_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); IFC4X2_IfcRampFlightType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcRampTypeEnum_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); IFC4X2_IfcRampType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("WeightsData", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcReal_type)), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRationalBSplineCurveWithKnots_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("WeightsData", new aggregation_type(aggregation_type::list_type, 2, -1, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcReal_type))), false)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRationalBSplineSurfaceWithKnots_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("WallThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("InnerFilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("OuterFilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcRectangleHollowProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("XDim", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("YDim", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); 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); IFC4X2_IfcRectangleProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("XLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("YLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("Height", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRectangularPyramid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("BasisSurface", new named_type(IFC4X2_IfcSurface_type), false)); attributes.push_back(new attribute("U1", new named_type(IFC4X2_IfcParameterValue_type), false)); attributes.push_back(new attribute("V1", new named_type(IFC4X2_IfcParameterValue_type), false)); attributes.push_back(new attribute("U2", new named_type(IFC4X2_IfcParameterValue_type), false)); attributes.push_back(new attribute("V2", new named_type(IFC4X2_IfcParameterValue_type), false)); attributes.push_back(new attribute("Usense", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("Vsense", new named_type(IFC4X2_IfcBoolean_type), false)); 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); IFC4X2_IfcRectangularTrimmedSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(8); attributes.push_back(new attribute("RecurrenceType", new named_type(IFC4X2_IfcRecurrenceTypeEnum_type), false)); attributes.push_back(new attribute("DayComponent", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcDayInMonthNumber_type)), true)); attributes.push_back(new attribute("WeekdayComponent", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcDayInWeekNumber_type)), true)); attributes.push_back(new attribute("MonthComponent", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcMonthInYearNumber_type)), true)); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcInteger_type), true)); attributes.push_back(new attribute("Interval", new named_type(IFC4X2_IfcInteger_type), true)); attributes.push_back(new attribute("Occurrences", new named_type(IFC4X2_IfcInteger_type), true)); attributes.push_back(new attribute("TimePeriods", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcTimePeriod_type)), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcRecurrencePattern_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("TypeIdentifier", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("AttributeIdentifier", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("InstanceName", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("ListPositions", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcInteger_type)), true)); attributes.push_back(new attribute("InnerReference", new named_type(IFC4X2_IfcReference_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); IFC4X2_IfcReference_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcReferentTypeEnum_type), true)); attributes.push_back(new attribute("RestartDistance", new named_type(IFC4X2_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcReferent_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("TimeStep", new named_type(IFC4X2_IfcTimeMeasure_type), false)); attributes.push_back(new attribute("Values", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcTimeSeriesValue_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); IFC4X2_IfcRegularTimeSeries_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("TotalCrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), false)); attributes.push_back(new attribute("SteelGrade", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("BarSurface", new named_type(IFC4X2_IfcReinforcingBarSurfaceEnum_type), true)); attributes.push_back(new attribute("EffectiveDepth", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("NominalBarDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("BarCount", new named_type(IFC4X2_IfcCountMeasure_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); IFC4X2_IfcReinforcementBarProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("DefinitionType", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("ReinforcementSectionDefinitions", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcSectionReinforcementProperties_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); IFC4X2_IfcReinforcementDefinitionProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("NominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("CrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), true)); attributes.push_back(new attribute("BarLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcReinforcingBarTypeEnum_type), true)); attributes.push_back(new attribute("BarSurface", new named_type(IFC4X2_IfcReinforcingBarSurfaceEnum_type), true)); std::vector derived; derived.reserve(14); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcReinforcingBar_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcReinforcingBarTypeEnum_type), false)); attributes.push_back(new attribute("NominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("CrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), true)); attributes.push_back(new attribute("BarLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("BarSurface", new named_type(IFC4X2_IfcReinforcingBarSurfaceEnum_type), true)); attributes.push_back(new attribute("BendingShapeCode", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("BendingParameters", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcBendingParameterSelect_type)), true)); std::vector derived; derived.reserve(16); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcReinforcingBarType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("SteelGrade", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcReinforcingElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcReinforcingElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(9); attributes.push_back(new attribute("MeshLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("MeshWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("LongitudinalBarNominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("TransverseBarNominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("LongitudinalBarCrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), true)); attributes.push_back(new attribute("TransverseBarCrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), true)); attributes.push_back(new attribute("LongitudinalBarSpacing", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("TransverseBarSpacing", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcReinforcingMeshTypeEnum_type), true)); std::vector derived; derived.reserve(18); 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); 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); IFC4X2_IfcReinforcingMesh_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(11); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcReinforcingMeshTypeEnum_type), false)); attributes.push_back(new attribute("MeshLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("MeshWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("LongitudinalBarNominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("TransverseBarNominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("LongitudinalBarCrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), true)); attributes.push_back(new attribute("TransverseBarCrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), true)); attributes.push_back(new attribute("LongitudinalBarSpacing", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("TransverseBarSpacing", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("BendingShapeCode", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("BendingParameters", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcBendingParameterSelect_type)), true)); std::vector derived; derived.reserve(20); 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); 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); IFC4X2_IfcReinforcingMeshType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingObject", new named_type(IFC4X2_IfcObjectDefinition_type), false)); attributes.push_back(new attribute("RelatedObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcObjectDefinition_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); IFC4X2_IfcRelAggregates_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcObjectDefinition_type)), false)); attributes.push_back(new attribute("RelatedObjectsType", new named_type(IFC4X2_IfcObjectTypeEnum_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); IFC4X2_IfcRelAssigns_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingActor", new named_type(IFC4X2_IfcActor_type), false)); attributes.push_back(new attribute("ActingRole", new named_type(IFC4X2_IfcActorRole_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcRelAssignsToActor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingControl", new named_type(IFC4X2_IfcControl_type), false)); 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); IFC4X2_IfcRelAssignsToControl_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingGroup", new named_type(IFC4X2_IfcGroup_type), false)); 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); IFC4X2_IfcRelAssignsToGroup_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Factor", new named_type(IFC4X2_IfcRatioMeasure_type), false)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcRelAssignsToGroupByFactor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingProcess", new named_type(IFC4X2_IfcProcessSelect_type), false)); attributes.push_back(new attribute("QuantityInProcess", new named_type(IFC4X2_IfcMeasureWithUnit_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcRelAssignsToProcess_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingProduct", new named_type(IFC4X2_IfcProductSelect_type), false)); 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); IFC4X2_IfcRelAssignsToProduct_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingResource", new named_type(IFC4X2_IfcResourceSelect_type), false)); 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); IFC4X2_IfcRelAssignsToResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatedObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcDefinitionSelect_type)), false)); 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); IFC4X2_IfcRelAssociates_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingApproval", new named_type(IFC4X2_IfcApproval_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); IFC4X2_IfcRelAssociatesApproval_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingClassification", new named_type(IFC4X2_IfcClassificationSelect_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); IFC4X2_IfcRelAssociatesClassification_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Intent", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("RelatingConstraint", new named_type(IFC4X2_IfcConstraint_type), false)); 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); IFC4X2_IfcRelAssociatesConstraint_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingDocument", new named_type(IFC4X2_IfcDocumentSelect_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); IFC4X2_IfcRelAssociatesDocument_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingLibrary", new named_type(IFC4X2_IfcLibrarySelect_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); IFC4X2_IfcRelAssociatesLibrary_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RelatingMaterial", new named_type(IFC4X2_IfcMaterialSelect_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); IFC4X2_IfcRelAssociatesMaterial_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRelConnects_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("ConnectionGeometry", new named_type(IFC4X2_IfcConnectionGeometry_type), true)); attributes.push_back(new attribute("RelatingElement", new named_type(IFC4X2_IfcElement_type), false)); attributes.push_back(new attribute("RelatedElement", new named_type(IFC4X2_IfcElement_type), false)); 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); IFC4X2_IfcRelConnectsElements_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("RelatingPriorities", new aggregation_type(aggregation_type::list_type, 0, -1, new named_type(IFC4X2_IfcInteger_type)), false)); attributes.push_back(new attribute("RelatedPriorities", new aggregation_type(aggregation_type::list_type, 0, -1, new named_type(IFC4X2_IfcInteger_type)), false)); attributes.push_back(new attribute("RelatedConnectionType", new named_type(IFC4X2_IfcConnectionTypeEnum_type), false)); attributes.push_back(new attribute("RelatingConnectionType", new named_type(IFC4X2_IfcConnectionTypeEnum_type), false)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcRelConnectsPathElements_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingPort", new named_type(IFC4X2_IfcPort_type), false)); attributes.push_back(new attribute("RelatedElement", new named_type(IFC4X2_IfcDistributionElement_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); IFC4X2_IfcRelConnectsPortToElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("RelatingPort", new named_type(IFC4X2_IfcPort_type), false)); attributes.push_back(new attribute("RelatedPort", new named_type(IFC4X2_IfcPort_type), false)); attributes.push_back(new attribute("RealizingElement", new named_type(IFC4X2_IfcElement_type), true)); 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); IFC4X2_IfcRelConnectsPorts_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingElement", new named_type(IFC4X2_IfcStructuralActivityAssignmentSelect_type), false)); attributes.push_back(new attribute("RelatedStructuralActivity", new named_type(IFC4X2_IfcStructuralActivity_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); IFC4X2_IfcRelConnectsStructuralActivity_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("RelatingStructuralMember", new named_type(IFC4X2_IfcStructuralMember_type), false)); attributes.push_back(new attribute("RelatedStructuralConnection", new named_type(IFC4X2_IfcStructuralConnection_type), false)); attributes.push_back(new attribute("AppliedCondition", new named_type(IFC4X2_IfcBoundaryCondition_type), true)); attributes.push_back(new attribute("AdditionalConditions", new named_type(IFC4X2_IfcStructuralConnectionCondition_type), true)); attributes.push_back(new attribute("SupportedLength", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("ConditionCoordinateSystem", new named_type(IFC4X2_IfcAxis2Placement3D_type), true)); 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); IFC4X2_IfcRelConnectsStructuralMember_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ConnectionConstraint", new named_type(IFC4X2_IfcConnectionGeometry_type), false)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcRelConnectsWithEccentricity_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RealizingElements", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcElement_type)), false)); attributes.push_back(new attribute("ConnectionType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRelConnectsWithRealizingElements_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedElements", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcProduct_type)), false)); attributes.push_back(new attribute("RelatingStructure", new named_type(IFC4X2_IfcSpatialElement_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); IFC4X2_IfcRelContainedInSpatialStructure_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingBuildingElement", new named_type(IFC4X2_IfcElement_type), false)); attributes.push_back(new attribute("RelatedCoverings", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcCovering_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); IFC4X2_IfcRelCoversBldgElements_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingSpace", new named_type(IFC4X2_IfcSpace_type), false)); attributes.push_back(new attribute("RelatedCoverings", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcCovering_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); IFC4X2_IfcRelCoversSpaces_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingContext", new named_type(IFC4X2_IfcContext_type), false)); attributes.push_back(new attribute("RelatedDefinitions", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcDefinitionSelect_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); IFC4X2_IfcRelDeclares_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRelDecomposes_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRelDefines_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcObject_type)), false)); attributes.push_back(new attribute("RelatingObject", new named_type(IFC4X2_IfcObject_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); IFC4X2_IfcRelDefinesByObject_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcObjectDefinition_type)), false)); attributes.push_back(new attribute("RelatingPropertyDefinition", new named_type(IFC4X2_IfcPropertySetDefinitionSelect_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); IFC4X2_IfcRelDefinesByProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedPropertySets", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPropertySetDefinition_type)), false)); attributes.push_back(new attribute("RelatingTemplate", new named_type(IFC4X2_IfcPropertySetTemplate_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); IFC4X2_IfcRelDefinesByTemplate_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcObject_type)), false)); attributes.push_back(new attribute("RelatingType", new named_type(IFC4X2_IfcTypeObject_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); IFC4X2_IfcRelDefinesByType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingOpeningElement", new named_type(IFC4X2_IfcOpeningElement_type), false)); attributes.push_back(new attribute("RelatedBuildingElement", new named_type(IFC4X2_IfcElement_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); IFC4X2_IfcRelFillsElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedControlElements", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcDistributionControlElement_type)), false)); attributes.push_back(new attribute("RelatingFlowElement", new named_type(IFC4X2_IfcDistributionFlowElement_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); IFC4X2_IfcRelFlowControlElements_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("RelatingElement", new named_type(IFC4X2_IfcElement_type), false)); attributes.push_back(new attribute("RelatedElement", new named_type(IFC4X2_IfcElement_type), false)); attributes.push_back(new attribute("InterferenceGeometry", new named_type(IFC4X2_IfcConnectionGeometry_type), true)); attributes.push_back(new attribute("InterferenceType", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("ImpliedOrder", new simple_type(simple_type::logical_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRelInterferesElements_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingObject", new named_type(IFC4X2_IfcObjectDefinition_type), false)); attributes.push_back(new attribute("RelatedObjects", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcObjectDefinition_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); IFC4X2_IfcRelNests_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingPositioningElement", new named_type(IFC4X2_IfcPositioningElement_type), false)); attributes.push_back(new attribute("RelatedProducts", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcProduct_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); IFC4X2_IfcRelPositions_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingElement", new named_type(IFC4X2_IfcElement_type), false)); attributes.push_back(new attribute("RelatedFeatureElement", new named_type(IFC4X2_IfcFeatureElementAddition_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); IFC4X2_IfcRelProjectsElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedElements", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcProduct_type)), false)); attributes.push_back(new attribute("RelatingStructure", new named_type(IFC4X2_IfcSpatialElement_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); IFC4X2_IfcRelReferencedInSpatialStructure_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("RelatingProcess", new named_type(IFC4X2_IfcProcess_type), false)); attributes.push_back(new attribute("RelatedProcess", new named_type(IFC4X2_IfcProcess_type), false)); attributes.push_back(new attribute("TimeLag", new named_type(IFC4X2_IfcLagTime_type), true)); attributes.push_back(new attribute("SequenceType", new named_type(IFC4X2_IfcSequenceEnum_type), true)); attributes.push_back(new attribute("UserDefinedSequenceType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRelSequence_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingSystem", new named_type(IFC4X2_IfcSystem_type), false)); attributes.push_back(new attribute("RelatedBuildings", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcSpatialElement_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); IFC4X2_IfcRelServicesBuildings_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("RelatingSpace", new named_type(IFC4X2_IfcSpaceBoundarySelect_type), false)); attributes.push_back(new attribute("RelatedBuildingElement", new named_type(IFC4X2_IfcElement_type), false)); attributes.push_back(new attribute("ConnectionGeometry", new named_type(IFC4X2_IfcConnectionGeometry_type), true)); attributes.push_back(new attribute("PhysicalOrVirtualBoundary", new named_type(IFC4X2_IfcPhysicalOrVirtualEnum_type), false)); attributes.push_back(new attribute("InternalOrExternalBoundary", new named_type(IFC4X2_IfcInternalOrExternalEnum_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRelSpaceBoundary_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ParentBoundary", new named_type(IFC4X2_IfcRelSpaceBoundary1stLevel_type), true)); 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); IFC4X2_IfcRelSpaceBoundary1stLevel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("CorrespondingBoundary", new named_type(IFC4X2_IfcRelSpaceBoundary2ndLevel_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcRelSpaceBoundary2ndLevel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingBuildingElement", new named_type(IFC4X2_IfcElement_type), false)); attributes.push_back(new attribute("RelatedOpeningElement", new named_type(IFC4X2_IfcFeatureElementSubtraction_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); IFC4X2_IfcRelVoidsElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ParamLength", new named_type(IFC4X2_IfcParameterValue_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcReparametrisedCompositeCurveSegment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("ContextOfItems", new named_type(IFC4X2_IfcRepresentationContext_type), false)); attributes.push_back(new attribute("RepresentationIdentifier", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("RepresentationType", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Items", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcRepresentationItem_type)), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRepresentation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ContextIdentifier", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("ContextType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRepresentationContext_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcRepresentationItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("MappingOrigin", new named_type(IFC4X2_IfcAxis2Placement_type), false)); attributes.push_back(new attribute("MappedRepresentation", new named_type(IFC4X2_IfcRepresentation_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRepresentationMap_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("LongDescription", new named_type(IFC4X2_IfcText_type), true)); 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); IFC4X2_IfcResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatedResourceObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcResourceObjectSelect_type)), false)); attributes.push_back(new attribute("RelatingApproval", new named_type(IFC4X2_IfcApproval_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcResourceApprovalRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RelatingConstraint", new named_type(IFC4X2_IfcConstraint_type), false)); attributes.push_back(new attribute("RelatedResourceObjects", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcResourceObjectSelect_type)), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcResourceConstraintRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcResourceLevelRelationship_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(15); attributes.push_back(new attribute("ScheduleWork", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("ScheduleUsage", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), true)); attributes.push_back(new attribute("ScheduleStart", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ScheduleFinish", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ScheduleContour", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("LevelingDelay", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("IsOverAllocated", new named_type(IFC4X2_IfcBoolean_type), true)); attributes.push_back(new attribute("StatusTime", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ActualWork", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("ActualUsage", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), true)); attributes.push_back(new attribute("ActualStart", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ActualFinish", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("RemainingWork", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("RemainingUsage", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), true)); attributes.push_back(new attribute("Completion", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), true)); std::vector derived; derived.reserve(18); 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); 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); IFC4X2_IfcResourceTime_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Axis", new named_type(IFC4X2_IfcAxis1Placement_type), false)); attributes.push_back(new attribute("Angle", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRevolvedAreaSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("EndSweptArea", new named_type(IFC4X2_IfcProfileDef_type), false)); 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); IFC4X2_IfcRevolvedAreaSolidTapered_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Height", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("BottomRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRightCircularCone_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Height", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRightCircularCylinder_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcRoofTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcRoof_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcRoofTypeEnum_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); IFC4X2_IfcRoofType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("GlobalId", new named_type(IFC4X2_IfcGloballyUniqueId_type), false)); attributes.push_back(new attribute("OwnerHistory", new named_type(IFC4X2_IfcOwnerHistory_type), true)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcRoot_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("RoundingRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_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); IFC4X2_IfcRoundedRectangleProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Prefix", new named_type(IFC4X2_IfcSIPrefix_type), true)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcSIUnitName_type), false)); std::vector derived; derived.reserve(4); derived.push_back(true); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSIUnit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSanitaryTerminalTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSanitaryTerminal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSanitaryTerminalTypeEnum_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); IFC4X2_IfcSanitaryTerminalType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("DataOrigin", new named_type(IFC4X2_IfcDataOriginEnum_type), true)); attributes.push_back(new attribute("UserDefinedDataOrigin", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSchedulingTime_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); IFC4X2_IfcSeamCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("SectionType", new named_type(IFC4X2_IfcSectionTypeEnum_type), false)); attributes.push_back(new attribute("StartProfile", new named_type(IFC4X2_IfcProfileDef_type), false)); attributes.push_back(new attribute("EndProfile", new named_type(IFC4X2_IfcProfileDef_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSectionProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("LongitudinalStartPosition", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("LongitudinalEndPosition", new named_type(IFC4X2_IfcLengthMeasure_type), false)); attributes.push_back(new attribute("TransversePosition", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("ReinforcementRole", new named_type(IFC4X2_IfcReinforcingBarRoleEnum_type), false)); attributes.push_back(new attribute("SectionDefinition", new named_type(IFC4X2_IfcSectionProperties_type), false)); attributes.push_back(new attribute("CrossSectionReinforcementDefinitions", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcReinforcementBarProperties_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); IFC4X2_IfcSectionReinforcementProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Directrix", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("CrossSections", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcProfileDef_type)), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSectionedSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("CrossSectionPositions", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcDistanceExpression_type)), false)); attributes.push_back(new attribute("FixedAxisVertical", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSectionedSolidHorizontal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("SpineCurve", new named_type(IFC4X2_IfcCompositeCurve_type), false)); attributes.push_back(new attribute("CrossSections", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcProfileDef_type)), false)); attributes.push_back(new attribute("CrossSectionPositions", new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4X2_IfcAxis2Placement3D_type)), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSectionedSpine_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSensorTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSensor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSensorTypeEnum_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); IFC4X2_IfcSensorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcShadingDeviceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcShadingDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcShadingDeviceTypeEnum_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); IFC4X2_IfcShadingDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("ShapeRepresentations", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcShapeModel_type)), false)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("ProductDefinitional", new named_type(IFC4X2_IfcLogical_type), false)); attributes.push_back(new attribute("PartOfProductDefinitionShape", new named_type(IFC4X2_IfcProductRepresentationSelect_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); IFC4X2_IfcShapeAspect_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcShapeModel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcShapeRepresentation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("SbsmBoundary", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcShell_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcShellBasedSurfaceModel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSimpleProperty_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(8); attributes.push_back(new attribute("TemplateType", new named_type(IFC4X2_IfcSimplePropertyTemplateTypeEnum_type), true)); attributes.push_back(new attribute("PrimaryMeasureType", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("SecondaryMeasureType", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Enumerators", new named_type(IFC4X2_IfcPropertyEnumeration_type), true)); attributes.push_back(new attribute("PrimaryUnit", new named_type(IFC4X2_IfcUnit_type), true)); attributes.push_back(new attribute("SecondaryUnit", new named_type(IFC4X2_IfcUnit_type), true)); attributes.push_back(new attribute("Expression", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("AccessState", new named_type(IFC4X2_IfcStateEnum_type), true)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSimplePropertyTemplate_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("RefLatitude", new named_type(IFC4X2_IfcCompoundPlaneAngleMeasure_type), true)); attributes.push_back(new attribute("RefLongitude", new named_type(IFC4X2_IfcCompoundPlaneAngleMeasure_type), true)); attributes.push_back(new attribute("RefElevation", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("LandTitleNumber", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("SiteAddress", new named_type(IFC4X2_IfcPostalAddress_type), true)); std::vector derived; derived.reserve(14); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSite_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSlabTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSlab_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSlabElementedCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSlabStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSlabTypeEnum_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); IFC4X2_IfcSlabType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("SlippageX", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("SlippageY", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("SlippageZ", new named_type(IFC4X2_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSlippageConnectionCondition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSolarDeviceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSolarDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSolarDeviceTypeEnum_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); IFC4X2_IfcSolarDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcSolidModel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSpaceTypeEnum_type), true)); attributes.push_back(new attribute("ElevationWithFlooring", new named_type(IFC4X2_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcSpace_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSpaceHeaterTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSpaceHeater_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSpaceHeaterTypeEnum_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); IFC4X2_IfcSpaceHeaterType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSpaceTypeEnum_type), false)); attributes.push_back(new attribute("LongName", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcSpaceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("LongName", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcSpatialElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ElementType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSpatialElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("CompositionType", new named_type(IFC4X2_IfcElementCompositionEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSpatialStructureElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSpatialStructureElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSpatialZoneTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSpatialZone_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSpatialZoneTypeEnum_type), false)); attributes.push_back(new attribute("LongName", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcSpatialZoneType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSphere_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSphericalSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStackTerminalTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStackTerminal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStackTerminalTypeEnum_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); IFC4X2_IfcStackTerminalType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStairTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStair_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("NumberOfRisers", new named_type(IFC4X2_IfcInteger_type), true)); attributes.push_back(new attribute("NumberOfTreads", new named_type(IFC4X2_IfcInteger_type), true)); attributes.push_back(new attribute("RiserHeight", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("TreadLength", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStairFlightTypeEnum_type), true)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStairFlight_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStairFlightTypeEnum_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); IFC4X2_IfcStairFlightType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStairTypeEnum_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); IFC4X2_IfcStairType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("DestabilizingLoad", new named_type(IFC4X2_IfcBoolean_type), true)); 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); IFC4X2_IfcStructuralAction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("AppliedLoad", new named_type(IFC4X2_IfcStructuralLoad_type), false)); attributes.push_back(new attribute("GlobalOrLocal", new named_type(IFC4X2_IfcGlobalOrLocalEnum_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralActivity_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcAnalysisModelTypeEnum_type), false)); attributes.push_back(new attribute("OrientationOf2DPlane", new named_type(IFC4X2_IfcAxis2Placement3D_type), true)); attributes.push_back(new attribute("LoadedBy", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcStructuralLoadGroup_type)), true)); attributes.push_back(new attribute("HasResults", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcStructuralResultGroup_type)), true)); attributes.push_back(new attribute("SharedPlacement", new named_type(IFC4X2_IfcObjectPlacement_type), true)); 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); IFC4X2_IfcStructuralAnalysisModel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("AppliedCondition", new named_type(IFC4X2_IfcBoundaryCondition_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcStructuralConnection_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcStructuralConnectionCondition_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ProjectedOrTrue", new named_type(IFC4X2_IfcProjectedOrTrueLengthEnum_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStructuralCurveActivityTypeEnum_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStructuralCurveAction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Axis", new named_type(IFC4X2_IfcDirection_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralCurveConnection_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStructuralCurveMemberTypeEnum_type), false)); attributes.push_back(new attribute("Axis", new named_type(IFC4X2_IfcDirection_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralCurveMember_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralCurveMemberVarying_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStructuralCurveActivityTypeEnum_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); IFC4X2_IfcStructuralCurveReaction_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); IFC4X2_IfcStructuralItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStructuralLinearAction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcStructuralLoad_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("SelfWeightCoefficients", new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X2_IfcRatioMeasure_type)), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcStructuralLoadCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Values", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcStructuralLoadOrResult_type)), false)); attributes.push_back(new attribute("Locations", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 1, 2, new named_type(IFC4X2_IfcLengthMeasure_type))), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStructuralLoadConfiguration_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcLoadGroupTypeEnum_type), false)); attributes.push_back(new attribute("ActionType", new named_type(IFC4X2_IfcActionTypeEnum_type), false)); attributes.push_back(new attribute("ActionSource", new named_type(IFC4X2_IfcActionSourceTypeEnum_type), false)); attributes.push_back(new attribute("Coefficient", new named_type(IFC4X2_IfcRatioMeasure_type), true)); attributes.push_back(new attribute("Purpose", new named_type(IFC4X2_IfcLabel_type), true)); 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); IFC4X2_IfcStructuralLoadGroup_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("LinearForceX", new named_type(IFC4X2_IfcLinearForceMeasure_type), true)); attributes.push_back(new attribute("LinearForceY", new named_type(IFC4X2_IfcLinearForceMeasure_type), true)); attributes.push_back(new attribute("LinearForceZ", new named_type(IFC4X2_IfcLinearForceMeasure_type), true)); attributes.push_back(new attribute("LinearMomentX", new named_type(IFC4X2_IfcLinearMomentMeasure_type), true)); attributes.push_back(new attribute("LinearMomentY", new named_type(IFC4X2_IfcLinearMomentMeasure_type), true)); attributes.push_back(new attribute("LinearMomentZ", new named_type(IFC4X2_IfcLinearMomentMeasure_type), true)); 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); IFC4X2_IfcStructuralLoadLinearForce_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcStructuralLoadOrResult_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("PlanarForceX", new named_type(IFC4X2_IfcPlanarForceMeasure_type), true)); attributes.push_back(new attribute("PlanarForceY", new named_type(IFC4X2_IfcPlanarForceMeasure_type), true)); attributes.push_back(new attribute("PlanarForceZ", new named_type(IFC4X2_IfcPlanarForceMeasure_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStructuralLoadPlanarForce_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("DisplacementX", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("DisplacementY", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("DisplacementZ", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("RotationalDisplacementRX", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); attributes.push_back(new attribute("RotationalDisplacementRY", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); attributes.push_back(new attribute("RotationalDisplacementRZ", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); 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); IFC4X2_IfcStructuralLoadSingleDisplacement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Distortion", new named_type(IFC4X2_IfcCurvatureMeasure_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcStructuralLoadSingleDisplacementDistortion_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("ForceX", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("ForceY", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("ForceZ", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("MomentX", new named_type(IFC4X2_IfcTorqueMeasure_type), true)); attributes.push_back(new attribute("MomentY", new named_type(IFC4X2_IfcTorqueMeasure_type), true)); attributes.push_back(new attribute("MomentZ", new named_type(IFC4X2_IfcTorqueMeasure_type), true)); 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); IFC4X2_IfcStructuralLoadSingleForce_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("WarpingMoment", new named_type(IFC4X2_IfcWarpingMomentMeasure_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcStructuralLoadSingleForceWarping_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcStructuralLoadStatic_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("DeltaTConstant", new named_type(IFC4X2_IfcThermodynamicTemperatureMeasure_type), true)); attributes.push_back(new attribute("DeltaTY", new named_type(IFC4X2_IfcThermodynamicTemperatureMeasure_type), true)); attributes.push_back(new attribute("DeltaTZ", new named_type(IFC4X2_IfcThermodynamicTemperatureMeasure_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStructuralLoadTemperature_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); IFC4X2_IfcStructuralMember_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStructuralPlanarAction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); 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); IFC4X2_IfcStructuralPointAction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ConditionCoordinateSystem", new named_type(IFC4X2_IfcAxis2Placement3D_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralPointConnection_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralPointReaction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralReaction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("TheoryType", new named_type(IFC4X2_IfcAnalysisTheoryTypeEnum_type), false)); attributes.push_back(new attribute("ResultForLoadGroup", new named_type(IFC4X2_IfcStructuralLoadGroup_type), true)); attributes.push_back(new attribute("IsLinear", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcStructuralResultGroup_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ProjectedOrTrue", new named_type(IFC4X2_IfcProjectedOrTrueLengthEnum_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStructuralSurfaceActivityTypeEnum_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStructuralSurfaceAction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcStructuralSurfaceConnection_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStructuralSurfaceMemberTypeEnum_type), false)); attributes.push_back(new attribute("Thickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralSurfaceMember_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcStructuralSurfaceMemberVarying_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcStructuralSurfaceActivityTypeEnum_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); IFC4X2_IfcStructuralSurfaceReaction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStyleModel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Item", new named_type(IFC4X2_IfcRepresentationItem_type), true)); attributes.push_back(new attribute("Styles", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcStyleAssignmentSelect_type)), false)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStyledItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcStyledRepresentation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSubContractResourceTypeEnum_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcSubContractResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSubContractResourceTypeEnum_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSubContractResourceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ParentEdge", new named_type(IFC4X2_IfcEdge_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSubedge_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Curve3D", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("AssociatedGeometry", new aggregation_type(aggregation_type::list_type, 1, 2, new named_type(IFC4X2_IfcPcurve_type)), false)); attributes.push_back(new attribute("MasterRepresentation", new named_type(IFC4X2_IfcPreferredSurfaceCurveRepresentation_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSurfaceCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Directrix", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("StartParam", new named_type(IFC4X2_IfcParameterValue_type), true)); attributes.push_back(new attribute("EndParam", new named_type(IFC4X2_IfcParameterValue_type), true)); attributes.push_back(new attribute("ReferenceSurface", new named_type(IFC4X2_IfcSurface_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); IFC4X2_IfcSurfaceCurveSweptAreaSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSurfaceFeatureTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSurfaceFeature_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ExtrudedDirection", new named_type(IFC4X2_IfcDirection_type), false)); attributes.push_back(new attribute("Depth", new named_type(IFC4X2_IfcLengthMeasure_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSurfaceOfLinearExtrusion_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("AxisPosition", new named_type(IFC4X2_IfcAxis1Placement_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSurfaceOfRevolution_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("SurfaceReinforcement1", new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X2_IfcLengthMeasure_type)), true)); attributes.push_back(new attribute("SurfaceReinforcement2", new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X2_IfcLengthMeasure_type)), true)); attributes.push_back(new attribute("ShearReinforcement", new named_type(IFC4X2_IfcRatioMeasure_type), true)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSurfaceReinforcementArea_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Side", new named_type(IFC4X2_IfcSurfaceSide_type), false)); attributes.push_back(new attribute("Styles", new aggregation_type(aggregation_type::set_type, 1, 5, new named_type(IFC4X2_IfcSurfaceStyleElementSelect_type)), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSurfaceStyle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("DiffuseTransmissionColour", new named_type(IFC4X2_IfcColourRgb_type), false)); attributes.push_back(new attribute("DiffuseReflectionColour", new named_type(IFC4X2_IfcColourRgb_type), false)); attributes.push_back(new attribute("TransmissionColour", new named_type(IFC4X2_IfcColourRgb_type), false)); attributes.push_back(new attribute("ReflectanceColour", new named_type(IFC4X2_IfcColourRgb_type), false)); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSurfaceStyleLighting_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RefractionIndex", new named_type(IFC4X2_IfcReal_type), true)); attributes.push_back(new attribute("DispersionFactor", new named_type(IFC4X2_IfcReal_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSurfaceStyleRefraction_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("DiffuseColour", new named_type(IFC4X2_IfcColourOrFactor_type), true)); attributes.push_back(new attribute("TransmissionColour", new named_type(IFC4X2_IfcColourOrFactor_type), true)); attributes.push_back(new attribute("DiffuseTransmissionColour", new named_type(IFC4X2_IfcColourOrFactor_type), true)); attributes.push_back(new attribute("ReflectionColour", new named_type(IFC4X2_IfcColourOrFactor_type), true)); attributes.push_back(new attribute("SpecularColour", new named_type(IFC4X2_IfcColourOrFactor_type), true)); attributes.push_back(new attribute("SpecularHighlight", new named_type(IFC4X2_IfcSpecularHighlightSelect_type), true)); attributes.push_back(new attribute("ReflectanceMethod", new named_type(IFC4X2_IfcReflectanceMethodEnum_type), false)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSurfaceStyleRendering_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("SurfaceColour", new named_type(IFC4X2_IfcColourRgb_type), false)); attributes.push_back(new attribute("Transparency", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSurfaceStyleShading_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Textures", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcSurfaceTexture_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcSurfaceStyleWithTextures_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("RepeatS", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("RepeatT", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("Mode", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("TextureTransform", new named_type(IFC4X2_IfcCartesianTransformationOperator2D_type), true)); attributes.push_back(new attribute("Parameter", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcIdentifier_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); IFC4X2_IfcSurfaceTexture_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("SweptArea", new named_type(IFC4X2_IfcProfileDef_type), false)); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcAxis2Placement3D_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSweptAreaSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("Directrix", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("Radius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("InnerRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("StartParam", new named_type(IFC4X2_IfcParameterValue_type), true)); attributes.push_back(new attribute("EndParam", new named_type(IFC4X2_IfcParameterValue_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); IFC4X2_IfcSweptDiskSolid_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("FilletRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_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); IFC4X2_IfcSweptDiskSolidPolygonal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("SweptCurve", new named_type(IFC4X2_IfcProfileDef_type), false)); attributes.push_back(new attribute("Position", new named_type(IFC4X2_IfcAxis2Placement3D_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcSweptSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSwitchingDeviceTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSwitchingDevice_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSwitchingDeviceTypeEnum_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); IFC4X2_IfcSwitchingDeviceType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); 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); IFC4X2_IfcSystem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSystemFurnitureElementTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcSystemFurnitureElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcSystemFurnitureElementTypeEnum_type), true)); 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); IFC4X2_IfcSystemFurnitureElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(9); attributes.push_back(new attribute("Depth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FlangeWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("WebThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FlangeThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("FlangeEdgeRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("WebEdgeRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("WebSlope", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); attributes.push_back(new attribute("FlangeSlope", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTShapeProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Rows", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcTableRow_type)), true)); attributes.push_back(new attribute("Columns", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcTableColumn_type)), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTable_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("Identifier", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("Unit", new named_type(IFC4X2_IfcUnit_type), true)); attributes.push_back(new attribute("ReferencePath", new named_type(IFC4X2_IfcReference_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); IFC4X2_IfcTableColumn_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RowCells", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcValue_type)), true)); attributes.push_back(new attribute("IsHeading", new named_type(IFC4X2_IfcBoolean_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTableRow_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTankTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcTank_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTankTypeEnum_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); IFC4X2_IfcTankType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("Status", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("WorkMethod", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("IsMilestone", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("Priority", new named_type(IFC4X2_IfcInteger_type), true)); attributes.push_back(new attribute("TaskTime", new named_type(IFC4X2_IfcTaskTime_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTaskTypeEnum_type), true)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTask_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(17); attributes.push_back(new attribute("DurationType", new named_type(IFC4X2_IfcTaskDurationEnum_type), true)); attributes.push_back(new attribute("ScheduleDuration", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("ScheduleStart", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ScheduleFinish", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("EarlyStart", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("EarlyFinish", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("LateStart", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("LateFinish", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("FreeFloat", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("TotalFloat", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("IsCritical", new named_type(IFC4X2_IfcBoolean_type), true)); attributes.push_back(new attribute("StatusTime", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ActualDuration", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("ActualStart", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("ActualFinish", new named_type(IFC4X2_IfcDateTime_type), true)); attributes.push_back(new attribute("RemainingTime", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("Completion", new named_type(IFC4X2_IfcPositiveRatioMeasure_type), true)); std::vector derived; derived.reserve(20); 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); 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); IFC4X2_IfcTaskTime_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Recurrence", new named_type(IFC4X2_IfcRecurrencePattern_type), false)); std::vector derived; derived.reserve(21); 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); 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); derived.push_back(false); IFC4X2_IfcTaskTimeRecurring_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTaskTypeEnum_type), false)); attributes.push_back(new attribute("WorkMethod", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(11); 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); derived.push_back(false); IFC4X2_IfcTaskType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("TelephoneNumbers", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); attributes.push_back(new attribute("FacsimileNumbers", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); attributes.push_back(new attribute("PagerNumber", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("ElectronicMailAddresses", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcLabel_type)), true)); attributes.push_back(new attribute("WWWHomePageURL", new named_type(IFC4X2_IfcURIReference_type), true)); attributes.push_back(new attribute("MessagingIDs", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcURIReference_type)), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcTelecomAddress_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(8); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTendonTypeEnum_type), true)); attributes.push_back(new attribute("NominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("CrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), true)); attributes.push_back(new attribute("TensionForce", new named_type(IFC4X2_IfcForceMeasure_type), true)); attributes.push_back(new attribute("PreStress", new named_type(IFC4X2_IfcPressureMeasure_type), true)); attributes.push_back(new attribute("FrictionCoefficient", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("AnchorageSlip", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("MinCurvatureRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); std::vector derived; derived.reserve(17); 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); 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); IFC4X2_IfcTendon_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTendonAnchorTypeEnum_type), true)); 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); IFC4X2_IfcTendonAnchor_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTendonAnchorTypeEnum_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); IFC4X2_IfcTendonAnchorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTendonConduitTypeEnum_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); IFC4X2_IfcTendonConduit_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTendonConduitTypeEnum_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); IFC4X2_IfcTendonConduitType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTendonTypeEnum_type), false)); attributes.push_back(new attribute("NominalDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("CrossSectionArea", new named_type(IFC4X2_IfcAreaMeasure_type), true)); attributes.push_back(new attribute("SheathDiameter", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTendonType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Coordinates", new named_type(IFC4X2_IfcCartesianPointList3D_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcTessellatedFaceSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcTessellatedItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Literal", new named_type(IFC4X2_IfcPresentableText_type), false)); attributes.push_back(new attribute("Placement", new named_type(IFC4X2_IfcAxis2Placement_type), false)); attributes.push_back(new attribute("Path", new named_type(IFC4X2_IfcTextPath_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTextLiteral_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Extent", new named_type(IFC4X2_IfcPlanarExtent_type), false)); attributes.push_back(new attribute("BoxAlignment", new named_type(IFC4X2_IfcBoxAlignment_type), false)); 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); IFC4X2_IfcTextLiteralWithExtent_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("TextCharacterAppearance", new named_type(IFC4X2_IfcTextStyleForDefinedFont_type), true)); attributes.push_back(new attribute("TextStyle", new named_type(IFC4X2_IfcTextStyleTextModel_type), true)); attributes.push_back(new attribute("TextFontStyle", new named_type(IFC4X2_IfcTextFontSelect_type), false)); attributes.push_back(new attribute("ModelOrDraughting", new named_type(IFC4X2_IfcBoolean_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); IFC4X2_IfcTextStyle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("FontFamily", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcTextFontName_type)), false)); attributes.push_back(new attribute("FontStyle", new named_type(IFC4X2_IfcFontStyle_type), true)); attributes.push_back(new attribute("FontVariant", new named_type(IFC4X2_IfcFontVariant_type), true)); attributes.push_back(new attribute("FontWeight", new named_type(IFC4X2_IfcFontWeight_type), true)); attributes.push_back(new attribute("FontSize", new named_type(IFC4X2_IfcSizeSelect_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); IFC4X2_IfcTextStyleFontModel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Colour", new named_type(IFC4X2_IfcColour_type), false)); attributes.push_back(new attribute("BackgroundColour", new named_type(IFC4X2_IfcColour_type), true)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTextStyleForDefinedFont_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("TextIndent", new named_type(IFC4X2_IfcSizeSelect_type), true)); attributes.push_back(new attribute("TextAlign", new named_type(IFC4X2_IfcTextAlignment_type), true)); attributes.push_back(new attribute("TextDecoration", new named_type(IFC4X2_IfcTextDecoration_type), true)); attributes.push_back(new attribute("LetterSpacing", new named_type(IFC4X2_IfcSizeSelect_type), true)); attributes.push_back(new attribute("WordSpacing", new named_type(IFC4X2_IfcSizeSelect_type), true)); attributes.push_back(new attribute("TextTransform", new named_type(IFC4X2_IfcTextTransformation_type), true)); attributes.push_back(new attribute("LineHeight", new named_type(IFC4X2_IfcSizeSelect_type), true)); 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); IFC4X2_IfcTextStyleTextModel_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Maps", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcSurfaceTexture_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcTextureCoordinate_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Mode", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Parameter", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcReal_type)), true)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTextureCoordinateGenerator_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Vertices", new aggregation_type(aggregation_type::list_type, 3, -1, new named_type(IFC4X2_IfcTextureVertex_type)), false)); attributes.push_back(new attribute("MappedTo", new named_type(IFC4X2_IfcFace_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTextureMap_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Coordinates", new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X2_IfcParameterValue_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcTextureVertex_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("TexCoordsList", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X2_IfcParameterValue_type))), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcTextureVertexList_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("StartTime", new named_type(IFC4X2_IfcTime_type), false)); attributes.push_back(new attribute("EndTime", new named_type(IFC4X2_IfcTime_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTimePeriod_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(8); attributes.push_back(new attribute("Name", new named_type(IFC4X2_IfcLabel_type), false)); attributes.push_back(new attribute("Description", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("StartTime", new named_type(IFC4X2_IfcDateTime_type), false)); attributes.push_back(new attribute("EndTime", new named_type(IFC4X2_IfcDateTime_type), false)); attributes.push_back(new attribute("TimeSeriesDataType", new named_type(IFC4X2_IfcTimeSeriesDataTypeEnum_type), false)); attributes.push_back(new attribute("DataOrigin", new named_type(IFC4X2_IfcDataOriginEnum_type), false)); attributes.push_back(new attribute("UserDefinedDataOrigin", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Unit", new named_type(IFC4X2_IfcUnit_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcTimeSeries_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("ListValues", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcValue_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcTimeSeriesValue_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcTopologicalRepresentationItem_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(4); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcTopologyRepresentation_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("MajorRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("MinorRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); std::vector derived; derived.reserve(3); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcToroidalSurface_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTransformerTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcTransformer_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTransformerTypeEnum_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); IFC4X2_IfcTransformerType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("StartRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("EndRadius", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("IsStartRadiusCCW", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("IsEndRadiusCCW", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("TransitionCurveType", new named_type(IFC4X2_IfcTransitionCurveType_type), false)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcTransitionCurveSegment2D_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTransportElementTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcTransportElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTransportElementTypeEnum_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); IFC4X2_IfcTransportElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("BottomXDim", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("TopXDim", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("YDim", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("TopXOffset", new named_type(IFC4X2_IfcLengthMeasure_type), false)); 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); IFC4X2_IfcTrapeziumProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("Normals", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X2_IfcParameterValue_type))), true)); attributes.push_back(new attribute("Closed", new named_type(IFC4X2_IfcBoolean_type), true)); attributes.push_back(new attribute("CoordIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4X2_IfcPositiveInteger_type))), false)); attributes.push_back(new attribute("PnIndex", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcPositiveInteger_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); IFC4X2_IfcTriangulatedFaceSet_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Flags", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcInteger_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); IFC4X2_IfcTriangulatedIrregularNetwork_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("BasisCurve", new named_type(IFC4X2_IfcCurve_type), false)); attributes.push_back(new attribute("Trim1", new aggregation_type(aggregation_type::set_type, 1, 2, new named_type(IFC4X2_IfcTrimmingSelect_type)), false)); attributes.push_back(new attribute("Trim2", new aggregation_type(aggregation_type::set_type, 1, 2, new named_type(IFC4X2_IfcTrimmingSelect_type)), false)); attributes.push_back(new attribute("SenseAgreement", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("MasterRepresentation", new named_type(IFC4X2_IfcTrimmingPreference_type), false)); 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); IFC4X2_IfcTrimmedCurve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTubeBundleTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcTubeBundle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcTubeBundleTypeEnum_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); IFC4X2_IfcTubeBundleType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("ApplicableOccurrence", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("HasPropertySets", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPropertySetDefinition_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); IFC4X2_IfcTypeObject_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("LongDescription", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("ProcessType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcTypeProcess_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("RepresentationMaps", new aggregation_type(aggregation_type::list_type, 1, -1, new named_type(IFC4X2_IfcRepresentationMap_type)), true)); attributes.push_back(new attribute("Tag", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcTypeProduct_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("Identification", new named_type(IFC4X2_IfcIdentifier_type), true)); attributes.push_back(new attribute("LongDescription", new named_type(IFC4X2_IfcText_type), true)); attributes.push_back(new attribute("ResourceType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcTypeResource_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("Depth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FlangeWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("WebThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FlangeThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("EdgeRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("FlangeSlope", new named_type(IFC4X2_IfcPlaneAngleMeasure_type), true)); 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); IFC4X2_IfcUShapeProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("Units", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcUnit_type)), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcUnitAssignment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcUnitaryControlElementTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcUnitaryControlElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcUnitaryControlElementTypeEnum_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); IFC4X2_IfcUnitaryControlElementType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcUnitaryEquipmentTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcUnitaryEquipment_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcUnitaryEquipmentTypeEnum_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); IFC4X2_IfcUnitaryEquipmentType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcValveTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcValve_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcValveTypeEnum_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); IFC4X2_IfcValveType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("Orientation", new named_type(IFC4X2_IfcDirection_type), false)); attributes.push_back(new attribute("Magnitude", new named_type(IFC4X2_IfcLengthMeasure_type), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcVector_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(0); IFC4X2_IfcVertex_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("LoopVertex", new named_type(IFC4X2_IfcVertex_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcVertexLoop_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("VertexGeometry", new named_type(IFC4X2_IfcPoint_type), false)); std::vector derived; derived.reserve(1); derived.push_back(false); IFC4X2_IfcVertexPoint_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcVibrationDamperTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcVibrationDamper_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcVibrationDamperTypeEnum_type), true)); 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); IFC4X2_IfcVibrationDamperType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcVibrationIsolatorTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcVibrationIsolator_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcVibrationIsolatorTypeEnum_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); IFC4X2_IfcVibrationIsolatorType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(8); 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); IFC4X2_IfcVirtualElement_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new attribute("IntersectingAxes", new aggregation_type(aggregation_type::list_type, 2, 2, new named_type(IFC4X2_IfcGridAxis_type)), false)); attributes.push_back(new attribute("OffsetDistances", new aggregation_type(aggregation_type::list_type, 2, 3, new named_type(IFC4X2_IfcLengthMeasure_type)), false)); std::vector derived; derived.reserve(2); derived.push_back(false); derived.push_back(false); IFC4X2_IfcVirtualGridIntersection_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcVoidingFeatureTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcVoidingFeature_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWallTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcWall_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcWallElementedCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcWallStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWallTypeEnum_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); IFC4X2_IfcWallType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWasteTerminalTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcWasteTerminal_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWasteTerminalTypeEnum_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); IFC4X2_IfcWasteTerminalType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("OverallHeight", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("OverallWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWindowTypeEnum_type), true)); attributes.push_back(new attribute("PartitioningType", new named_type(IFC4X2_IfcWindowTypePartitioningEnum_type), true)); attributes.push_back(new attribute("UserDefinedPartitioningType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcWindow_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(12); attributes.push_back(new attribute("LiningDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("LiningThickness", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("TransomThickness", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("MullionThickness", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("FirstTransomOffset", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("SecondTransomOffset", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("FirstMullionOffset", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("SecondMullionOffset", new named_type(IFC4X2_IfcNormalisedRatioMeasure_type), true)); attributes.push_back(new attribute("ShapeAspectStyle", new named_type(IFC4X2_IfcShapeAspect_type), true)); attributes.push_back(new attribute("LiningOffset", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("LiningToPanelOffsetX", new named_type(IFC4X2_IfcLengthMeasure_type), true)); attributes.push_back(new attribute("LiningToPanelOffsetY", new named_type(IFC4X2_IfcLengthMeasure_type), true)); std::vector derived; derived.reserve(16); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcWindowLiningProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new attribute("OperationType", new named_type(IFC4X2_IfcWindowPanelOperationEnum_type), false)); attributes.push_back(new attribute("PanelPosition", new named_type(IFC4X2_IfcWindowPanelPositionEnum_type), false)); attributes.push_back(new attribute("FrameDepth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("FrameThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), true)); attributes.push_back(new attribute("ShapeAspectStyle", new named_type(IFC4X2_IfcShapeAspect_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcWindowPanelProperties_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcWindowStandardCase_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("ConstructionType", new named_type(IFC4X2_IfcWindowStyleConstructionEnum_type), false)); attributes.push_back(new attribute("OperationType", new named_type(IFC4X2_IfcWindowStyleOperationEnum_type), false)); attributes.push_back(new attribute("ParameterTakesPrecedence", new named_type(IFC4X2_IfcBoolean_type), false)); attributes.push_back(new attribute("Sizeable", new named_type(IFC4X2_IfcBoolean_type), false)); std::vector derived; derived.reserve(12); 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); derived.push_back(false); derived.push_back(false); IFC4X2_IfcWindowStyle_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWindowTypeEnum_type), false)); attributes.push_back(new attribute("PartitioningType", new named_type(IFC4X2_IfcWindowTypePartitioningEnum_type), false)); attributes.push_back(new attribute("ParameterTakesPrecedence", new named_type(IFC4X2_IfcBoolean_type), true)); attributes.push_back(new attribute("UserDefinedPartitioningType", new named_type(IFC4X2_IfcLabel_type), true)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcWindowType_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("WorkingTimes", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcWorkTime_type)), true)); attributes.push_back(new attribute("ExceptionTimes", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcWorkTime_type)), true)); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWorkCalendarTypeEnum_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcWorkCalendar_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new attribute("CreationDate", new named_type(IFC4X2_IfcDateTime_type), false)); attributes.push_back(new attribute("Creators", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4X2_IfcPerson_type)), true)); attributes.push_back(new attribute("Purpose", new named_type(IFC4X2_IfcLabel_type), true)); attributes.push_back(new attribute("Duration", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("TotalFloat", new named_type(IFC4X2_IfcDuration_type), true)); attributes.push_back(new attribute("StartTime", new named_type(IFC4X2_IfcDateTime_type), false)); attributes.push_back(new attribute("FinishTime", new named_type(IFC4X2_IfcDateTime_type), true)); std::vector derived; derived.reserve(13); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcWorkControl_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWorkPlanTypeEnum_type), true)); std::vector derived; derived.reserve(14); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcWorkPlan_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("PredefinedType", new named_type(IFC4X2_IfcWorkScheduleTypeEnum_type), true)); std::vector derived; derived.reserve(14); 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); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); IFC4X2_IfcWorkSchedule_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new attribute("RecurrencePattern", new named_type(IFC4X2_IfcRecurrencePattern_type), true)); attributes.push_back(new attribute("Start", new named_type(IFC4X2_IfcDate_type), true)); attributes.push_back(new attribute("Finish", new named_type(IFC4X2_IfcDate_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); IFC4X2_IfcWorkTime_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new attribute("Depth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FlangeWidth", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("WebThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FlangeThickness", new named_type(IFC4X2_IfcPositiveLengthMeasure_type), false)); attributes.push_back(new attribute("FilletRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); attributes.push_back(new attribute("EdgeRadius", new named_type(IFC4X2_IfcNonNegativeLengthMeasure_type), true)); std::vector derived; derived.reserve(9); 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); IFC4X2_IfcZShapeProfileDef_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new attribute("LongName", new named_type(IFC4X2_IfcLabel_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); IFC4X2_IfcZone_type->set_attributes(attributes, derived); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("IsActingUpon", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToActor_type, IFC4X2_IfcRelAssignsToActor_type->attributes()[0])); IFC4X2_IfcActor_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasExternalReference", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); IFC4X2_IfcActorRole_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("OfPerson", inverse_attribute::set_type, 0, -1, IFC4X2_IfcPerson_type, IFC4X2_IfcPerson_type->attributes()[7])); attributes.push_back(new inverse_attribute("OfOrganization", inverse_attribute::set_type, 0, -1, IFC4X2_IfcOrganization_type, IFC4X2_IfcOrganization_type->attributes()[4])); IFC4X2_IfcAddress_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ToAlignmentCurve", inverse_attribute::set_type, 1, -1, IFC4X2_IfcAlignmentCurve_type, IFC4X2_IfcAlignmentCurve_type->attributes()[0])); IFC4X2_IfcAlignment2DHorizontal_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ToHorizontal", inverse_attribute::set_type, 1, 1, IFC4X2_IfcAlignment2DHorizontal_type, IFC4X2_IfcAlignment2DHorizontal_type->attributes()[1])); IFC4X2_IfcAlignment2DHorizontalSegment_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ToAlignmentCurve", inverse_attribute::set_type, 1, 1, IFC4X2_IfcAlignmentCurve_type, IFC4X2_IfcAlignmentCurve_type->attributes()[1])); IFC4X2_IfcAlignment2DVertical_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ToVertical", inverse_attribute::set_type, 1, 1, IFC4X2_IfcAlignment2DVertical_type, IFC4X2_IfcAlignment2DVertical_type->attributes()[0])); IFC4X2_IfcAlignment2DVerticalSegment_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ContainedInStructure", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelContainedInSpatialStructure_type, IFC4X2_IfcRelContainedInSpatialStructure_type->attributes()[0])); IFC4X2_IfcAnnotation_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasExternalReference", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); IFC4X2_IfcAppliedValue_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(5); attributes.push_back(new inverse_attribute("HasExternalReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("ApprovedObjects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociatesApproval_type, IFC4X2_IfcRelAssociatesApproval_type->attributes()[0])); attributes.push_back(new inverse_attribute("ApprovedResources", inverse_attribute::set_type, 0, -1, IFC4X2_IfcResourceApprovalRelationship_type, IFC4X2_IfcResourceApprovalRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsRelatedWith", inverse_attribute::set_type, 0, -1, IFC4X2_IfcApprovalRelationship_type, IFC4X2_IfcApprovalRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("Relates", inverse_attribute::set_type, 0, -1, IFC4X2_IfcApprovalRelationship_type, IFC4X2_IfcApprovalRelationship_type->attributes()[0])); IFC4X2_IfcApproval_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("PositioningElement", inverse_attribute::unspecified_type, -1, -1, IFC4X2_IfcLinearPositioningElement_type, IFC4X2_IfcLinearPositioningElement_type->attributes()[0])); IFC4X2_IfcBoundedCurve_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("ClassificationForObjects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociatesClassification_type, IFC4X2_IfcRelAssociatesClassification_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcClassificationReference_type, IFC4X2_IfcClassificationReference_type->attributes()[0])); IFC4X2_IfcClassification_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("ClassificationRefForObjects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociatesClassification_type, IFC4X2_IfcRelAssociatesClassification_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcClassificationReference_type, IFC4X2_IfcClassificationReference_type->attributes()[0])); IFC4X2_IfcClassificationReference_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("UsingCurves", inverse_attribute::set_type, 1, -1, IFC4X2_IfcCompositeCurve_type, IFC4X2_IfcCompositeCurve_type->attributes()[0])); IFC4X2_IfcCompositeCurveSegment_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("HasExternalReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("PropertiesForConstraint", inverse_attribute::set_type, 0, -1, IFC4X2_IfcResourceConstraintRelationship_type, IFC4X2_IfcResourceConstraintRelationship_type->attributes()[0])); IFC4X2_IfcConstraint_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("IsDefinedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelDefinesByProperties_type, IFC4X2_IfcRelDefinesByProperties_type->attributes()[0])); attributes.push_back(new inverse_attribute("Declares", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelDeclares_type, IFC4X2_IfcRelDeclares_type->attributes()[0])); IFC4X2_IfcContext_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasExternalReference", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); IFC4X2_IfcContextDependentUnit_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("Controls", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToControl_type, IFC4X2_IfcRelAssignsToControl_type->attributes()[0])); IFC4X2_IfcControl_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasExternalReference", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); IFC4X2_IfcConversionBasedUnit_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasCoordinateOperation", inverse_attribute::set_type, 0, 1, IFC4X2_IfcCoordinateOperation_type, IFC4X2_IfcCoordinateOperation_type->attributes()[0])); IFC4X2_IfcCoordinateReferenceSystem_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("CoversSpaces", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelCoversSpaces_type, IFC4X2_IfcRelCoversSpaces_type->attributes()[1])); attributes.push_back(new inverse_attribute("CoversElements", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelCoversBldgElements_type, IFC4X2_IfcRelCoversBldgElements_type->attributes()[1])); IFC4X2_IfcCovering_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("AssignedToFlowElement", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelFlowControlElements_type, IFC4X2_IfcRelFlowControlElements_type->attributes()[0])); IFC4X2_IfcDistributionControlElement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasPorts", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelConnectsPortToElement_type, IFC4X2_IfcRelConnectsPortToElement_type->attributes()[1])); IFC4X2_IfcDistributionElement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasControlElements", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelFlowControlElements_type, IFC4X2_IfcRelFlowControlElements_type->attributes()[1])); IFC4X2_IfcDistributionFlowElement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new inverse_attribute("DocumentInfoForObjects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociatesDocument_type, IFC4X2_IfcRelAssociatesDocument_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasDocumentReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcDocumentReference_type, IFC4X2_IfcDocumentReference_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsPointedTo", inverse_attribute::set_type, 0, -1, IFC4X2_IfcDocumentInformationRelationship_type, IFC4X2_IfcDocumentInformationRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsPointer", inverse_attribute::set_type, 0, 1, IFC4X2_IfcDocumentInformationRelationship_type, IFC4X2_IfcDocumentInformationRelationship_type->attributes()[0])); IFC4X2_IfcDocumentInformation_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("DocumentRefForObjects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociatesDocument_type, IFC4X2_IfcRelAssociatesDocument_type->attributes()[0])); IFC4X2_IfcDocumentReference_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(12); attributes.push_back(new inverse_attribute("FillsVoids", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelFillsElement_type, IFC4X2_IfcRelFillsElement_type->attributes()[1])); attributes.push_back(new inverse_attribute("ConnectedTo", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelConnectsElements_type, IFC4X2_IfcRelConnectsElements_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsInterferedByElements", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelInterferesElements_type, IFC4X2_IfcRelInterferesElements_type->attributes()[1])); attributes.push_back(new inverse_attribute("InterferesElements", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelInterferesElements_type, IFC4X2_IfcRelInterferesElements_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasProjections", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelProjectsElement_type, IFC4X2_IfcRelProjectsElement_type->attributes()[0])); attributes.push_back(new inverse_attribute("ReferencedInStructures", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelReferencedInSpatialStructure_type, IFC4X2_IfcRelReferencedInSpatialStructure_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasOpenings", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelVoidsElement_type, IFC4X2_IfcRelVoidsElement_type->attributes()[0])); attributes.push_back(new inverse_attribute("IsConnectionRealization", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelConnectsWithRealizingElements_type, IFC4X2_IfcRelConnectsWithRealizingElements_type->attributes()[0])); attributes.push_back(new inverse_attribute("ProvidesBoundaries", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelSpaceBoundary_type, IFC4X2_IfcRelSpaceBoundary_type->attributes()[1])); attributes.push_back(new inverse_attribute("ConnectedFrom", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelConnectsElements_type, IFC4X2_IfcRelConnectsElements_type->attributes()[2])); attributes.push_back(new inverse_attribute("ContainedInStructure", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelContainedInSpatialStructure_type, IFC4X2_IfcRelContainedInSpatialStructure_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasCoverings", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelCoversBldgElements_type, IFC4X2_IfcRelCoversBldgElements_type->attributes()[0])); IFC4X2_IfcElement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ExternalReferenceForResources", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[0])); IFC4X2_IfcExternalReference_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("BoundedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelSpaceBoundary_type, IFC4X2_IfcRelSpaceBoundary_type->attributes()[0])); IFC4X2_IfcExternalSpatialElement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasTextureMaps", inverse_attribute::set_type, 0, -1, IFC4X2_IfcTextureMap_type, IFC4X2_IfcTextureMap_type->attributes()[1])); IFC4X2_IfcFace_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ProjectsElements", inverse_attribute::unspecified_type, -1, -1, IFC4X2_IfcRelProjectsElement_type, IFC4X2_IfcRelProjectsElement_type->attributes()[1])); IFC4X2_IfcFeatureElementAddition_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("VoidsElements", inverse_attribute::unspecified_type, -1, -1, IFC4X2_IfcRelVoidsElement_type, IFC4X2_IfcRelVoidsElement_type->attributes()[1])); IFC4X2_IfcFeatureElementSubtraction_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("HasSubContexts", inverse_attribute::set_type, 0, -1, IFC4X2_IfcGeometricRepresentationSubContext_type, IFC4X2_IfcGeometricRepresentationSubContext_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasCoordinateOperation", inverse_attribute::set_type, 0, 1, IFC4X2_IfcCoordinateOperation_type, IFC4X2_IfcCoordinateOperation_type->attributes()[0])); IFC4X2_IfcGeometricRepresentationContext_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new inverse_attribute("PartOfW", inverse_attribute::set_type, 0, 1, IFC4X2_IfcGrid_type, IFC4X2_IfcGrid_type->attributes()[2])); attributes.push_back(new inverse_attribute("PartOfV", inverse_attribute::set_type, 0, 1, IFC4X2_IfcGrid_type, IFC4X2_IfcGrid_type->attributes()[1])); attributes.push_back(new inverse_attribute("PartOfU", inverse_attribute::set_type, 0, 1, IFC4X2_IfcGrid_type, IFC4X2_IfcGrid_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasIntersections", inverse_attribute::set_type, 0, -1, IFC4X2_IfcVirtualGridIntersection_type, IFC4X2_IfcVirtualGridIntersection_type->attributes()[0])); IFC4X2_IfcGridAxis_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("IsGroupedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToGroup_type, IFC4X2_IfcRelAssignsToGroup_type->attributes()[0])); IFC4X2_IfcGroup_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ToFaceSet", inverse_attribute::set_type, 1, -1, IFC4X2_IfcPolygonalFaceSet_type, IFC4X2_IfcPolygonalFaceSet_type->attributes()[1])); IFC4X2_IfcIndexedPolygonalFace_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("LibraryInfoForObjects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociatesLibrary_type, IFC4X2_IfcRelAssociatesLibrary_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasLibraryReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcLibraryReference_type, IFC4X2_IfcLibraryReference_type->attributes()[2])); IFC4X2_IfcLibraryInformation_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("LibraryRefForObjects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociatesLibrary_type, IFC4X2_IfcRelAssociatesLibrary_type->attributes()[0])); IFC4X2_IfcLibraryReference_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new inverse_attribute("HasRepresentation", inverse_attribute::set_type, 0, 1, IFC4X2_IfcMaterialDefinitionRepresentation_type, IFC4X2_IfcMaterialDefinitionRepresentation_type->attributes()[0])); attributes.push_back(new inverse_attribute("IsRelatedWith", inverse_attribute::set_type, 0, -1, IFC4X2_IfcMaterialRelationship_type, IFC4X2_IfcMaterialRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("RelatesTo", inverse_attribute::set_type, 0, 1, IFC4X2_IfcMaterialRelationship_type, IFC4X2_IfcMaterialRelationship_type->attributes()[0])); IFC4X2_IfcMaterial_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ToMaterialConstituentSet", inverse_attribute::unspecified_type, -1, -1, IFC4X2_IfcMaterialConstituentSet_type, IFC4X2_IfcMaterialConstituentSet_type->attributes()[2])); IFC4X2_IfcMaterialConstituent_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new inverse_attribute("AssociatedTo", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociatesMaterial_type, IFC4X2_IfcRelAssociatesMaterial_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasExternalReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("HasProperties", inverse_attribute::set_type, 0, -1, IFC4X2_IfcMaterialProperties_type, IFC4X2_IfcMaterialProperties_type->attributes()[0])); IFC4X2_IfcMaterialDefinition_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ToMaterialLayerSet", inverse_attribute::unspecified_type, -1, -1, IFC4X2_IfcMaterialLayerSet_type, IFC4X2_IfcMaterialLayerSet_type->attributes()[0])); IFC4X2_IfcMaterialLayer_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ToMaterialProfileSet", inverse_attribute::unspecified_type, -1, -1, IFC4X2_IfcMaterialProfileSet_type, IFC4X2_IfcMaterialProfileSet_type->attributes()[2])); IFC4X2_IfcMaterialProfile_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("AssociatedTo", inverse_attribute::set_type, 1, -1, IFC4X2_IfcRelAssociatesMaterial_type, IFC4X2_IfcRelAssociatesMaterial_type->attributes()[0])); IFC4X2_IfcMaterialUsageDefinition_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(4); attributes.push_back(new inverse_attribute("IsDeclaredBy", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelDefinesByObject_type, IFC4X2_IfcRelDefinesByObject_type->attributes()[0])); attributes.push_back(new inverse_attribute("Declares", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelDefinesByObject_type, IFC4X2_IfcRelDefinesByObject_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsTypedBy", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelDefinesByType_type, IFC4X2_IfcRelDefinesByType_type->attributes()[0])); attributes.push_back(new inverse_attribute("IsDefinedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelDefinesByProperties_type, IFC4X2_IfcRelDefinesByProperties_type->attributes()[0])); IFC4X2_IfcObject_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(7); attributes.push_back(new inverse_attribute("HasAssignments", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssigns_type, IFC4X2_IfcRelAssigns_type->attributes()[0])); attributes.push_back(new inverse_attribute("Nests", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelNests_type, IFC4X2_IfcRelNests_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsNestedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelNests_type, IFC4X2_IfcRelNests_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasContext", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelDeclares_type, IFC4X2_IfcRelDeclares_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsDecomposedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAggregates_type, IFC4X2_IfcRelAggregates_type->attributes()[0])); attributes.push_back(new inverse_attribute("Decomposes", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelAggregates_type, IFC4X2_IfcRelAggregates_type->attributes()[1])); attributes.push_back(new inverse_attribute("HasAssociations", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociates_type, IFC4X2_IfcRelAssociates_type->attributes()[0])); IFC4X2_IfcObjectDefinition_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("PlacesObject", inverse_attribute::set_type, 0, -1, IFC4X2_IfcProduct_type, IFC4X2_IfcProduct_type->attributes()[0])); IFC4X2_IfcObjectPlacement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasFillings", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelFillsElement_type, IFC4X2_IfcRelFillsElement_type->attributes()[0])); IFC4X2_IfcOpeningElement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new inverse_attribute("IsRelatedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcOrganizationRelationship_type, IFC4X2_IfcOrganizationRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("Relates", inverse_attribute::set_type, 0, -1, IFC4X2_IfcOrganizationRelationship_type, IFC4X2_IfcOrganizationRelationship_type->attributes()[0])); attributes.push_back(new inverse_attribute("Engages", inverse_attribute::set_type, 0, -1, IFC4X2_IfcPersonAndOrganization_type, IFC4X2_IfcPersonAndOrganization_type->attributes()[1])); IFC4X2_IfcOrganization_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("EngagedIn", inverse_attribute::set_type, 0, -1, IFC4X2_IfcPersonAndOrganization_type, IFC4X2_IfcPersonAndOrganization_type->attributes()[0])); IFC4X2_IfcPerson_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("HasExternalReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("PartOfComplex", inverse_attribute::set_type, 0, 1, IFC4X2_IfcPhysicalComplexQuantity_type, IFC4X2_IfcPhysicalComplexQuantity_type->attributes()[0])); IFC4X2_IfcPhysicalQuantity_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new inverse_attribute("ContainedIn", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelConnectsPortToElement_type, IFC4X2_IfcRelConnectsPortToElement_type->attributes()[0])); attributes.push_back(new inverse_attribute("ConnectedFrom", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelConnectsPorts_type, IFC4X2_IfcRelConnectsPorts_type->attributes()[1])); attributes.push_back(new inverse_attribute("ConnectedTo", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelConnectsPorts_type, IFC4X2_IfcRelConnectsPorts_type->attributes()[0])); IFC4X2_IfcPort_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("ContainedInStructure", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelContainedInSpatialStructure_type, IFC4X2_IfcRelContainedInSpatialStructure_type->attributes()[0])); attributes.push_back(new inverse_attribute("Positions", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelPositions_type, IFC4X2_IfcRelPositions_type->attributes()[0])); IFC4X2_IfcPositioningElement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new inverse_attribute("IsPredecessorTo", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelSequence_type, IFC4X2_IfcRelSequence_type->attributes()[0])); attributes.push_back(new inverse_attribute("IsSuccessorFrom", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelSequence_type, IFC4X2_IfcRelSequence_type->attributes()[1])); attributes.push_back(new inverse_attribute("OperatesOn", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToProcess_type, IFC4X2_IfcRelAssignsToProcess_type->attributes()[0])); IFC4X2_IfcProcess_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("ReferencedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToProduct_type, IFC4X2_IfcRelAssignsToProduct_type->attributes()[0])); attributes.push_back(new inverse_attribute("PositionedRelativeTo", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelPositions_type, IFC4X2_IfcRelPositions_type->attributes()[1])); IFC4X2_IfcProduct_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("ShapeOfProduct", inverse_attribute::set_type, 1, -1, IFC4X2_IfcProduct_type, IFC4X2_IfcProduct_type->attributes()[1])); attributes.push_back(new inverse_attribute("HasShapeAspects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcShapeAspect_type, IFC4X2_IfcShapeAspect_type->attributes()[4])); IFC4X2_IfcProductDefinitionShape_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("HasExternalReference", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("HasProperties", inverse_attribute::set_type, 0, -1, IFC4X2_IfcProfileProperties_type, IFC4X2_IfcProfileProperties_type->attributes()[0])); IFC4X2_IfcProfileDef_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(6); attributes.push_back(new inverse_attribute("PartOfPset", inverse_attribute::set_type, 0, -1, IFC4X2_IfcPropertySet_type, IFC4X2_IfcPropertySet_type->attributes()[0])); attributes.push_back(new inverse_attribute("PropertyForDependance", inverse_attribute::set_type, 0, -1, IFC4X2_IfcPropertyDependencyRelationship_type, IFC4X2_IfcPropertyDependencyRelationship_type->attributes()[0])); attributes.push_back(new inverse_attribute("PropertyDependsOn", inverse_attribute::set_type, 0, -1, IFC4X2_IfcPropertyDependencyRelationship_type, IFC4X2_IfcPropertyDependencyRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("PartOfComplex", inverse_attribute::set_type, 0, -1, IFC4X2_IfcComplexProperty_type, IFC4X2_IfcComplexProperty_type->attributes()[1])); attributes.push_back(new inverse_attribute("HasConstraints", inverse_attribute::set_type, 0, -1, IFC4X2_IfcResourceConstraintRelationship_type, IFC4X2_IfcResourceConstraintRelationship_type->attributes()[1])); attributes.push_back(new inverse_attribute("HasApprovals", inverse_attribute::set_type, 0, -1, IFC4X2_IfcResourceApprovalRelationship_type, IFC4X2_IfcResourceApprovalRelationship_type->attributes()[0])); IFC4X2_IfcProperty_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasExternalReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); IFC4X2_IfcPropertyAbstraction_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("HasContext", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelDeclares_type, IFC4X2_IfcRelDeclares_type->attributes()[1])); attributes.push_back(new inverse_attribute("HasAssociations", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssociates_type, IFC4X2_IfcRelAssociates_type->attributes()[0])); IFC4X2_IfcPropertyDefinition_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new inverse_attribute("DefinesType", inverse_attribute::set_type, 0, -1, IFC4X2_IfcTypeObject_type, IFC4X2_IfcTypeObject_type->attributes()[1])); attributes.push_back(new inverse_attribute("IsDefinedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelDefinesByTemplate_type, IFC4X2_IfcRelDefinesByTemplate_type->attributes()[0])); attributes.push_back(new inverse_attribute("DefinesOccurrence", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelDefinesByProperties_type, IFC4X2_IfcRelDefinesByProperties_type->attributes()[1])); IFC4X2_IfcPropertySetDefinition_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("Defines", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelDefinesByTemplate_type, IFC4X2_IfcRelDefinesByTemplate_type->attributes()[1])); IFC4X2_IfcPropertySetTemplate_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("PartOfComplexTemplate", inverse_attribute::set_type, 0, -1, IFC4X2_IfcComplexPropertyTemplate_type, IFC4X2_IfcComplexPropertyTemplate_type->attributes()[2])); attributes.push_back(new inverse_attribute("PartOfPsetTemplate", inverse_attribute::set_type, 0, -1, IFC4X2_IfcPropertySetTemplate_type, IFC4X2_IfcPropertySetTemplate_type->attributes()[2])); IFC4X2_IfcPropertyTemplate_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("InnerBoundaries", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelSpaceBoundary1stLevel_type, IFC4X2_IfcRelSpaceBoundary1stLevel_type->attributes()[0])); IFC4X2_IfcRelSpaceBoundary1stLevel_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("Corresponds", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelSpaceBoundary2ndLevel_type, IFC4X2_IfcRelSpaceBoundary2ndLevel_type->attributes()[0])); IFC4X2_IfcRelSpaceBoundary2ndLevel_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new inverse_attribute("RepresentationMap", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRepresentationMap_type, IFC4X2_IfcRepresentationMap_type->attributes()[1])); attributes.push_back(new inverse_attribute("LayerAssignments", inverse_attribute::set_type, 0, -1, IFC4X2_IfcPresentationLayerAssignment_type, IFC4X2_IfcPresentationLayerAssignment_type->attributes()[2])); attributes.push_back(new inverse_attribute("OfProductRepresentation", inverse_attribute::set_type, 0, -1, IFC4X2_IfcProductRepresentation_type, IFC4X2_IfcProductRepresentation_type->attributes()[2])); IFC4X2_IfcRepresentation_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("RepresentationsInContext", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRepresentation_type, IFC4X2_IfcRepresentation_type->attributes()[0])); IFC4X2_IfcRepresentationContext_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("LayerAssignment", inverse_attribute::set_type, 0, 1, IFC4X2_IfcPresentationLayerAssignment_type, IFC4X2_IfcPresentationLayerAssignment_type->attributes()[2])); attributes.push_back(new inverse_attribute("StyledByItem", inverse_attribute::set_type, 0, 1, IFC4X2_IfcStyledItem_type, IFC4X2_IfcStyledItem_type->attributes()[0])); IFC4X2_IfcRepresentationItem_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("HasShapeAspects", inverse_attribute::set_type, 0, -1, IFC4X2_IfcShapeAspect_type, IFC4X2_IfcShapeAspect_type->attributes()[4])); attributes.push_back(new inverse_attribute("MapUsage", inverse_attribute::set_type, 0, -1, IFC4X2_IfcMappedItem_type, IFC4X2_IfcMappedItem_type->attributes()[0])); IFC4X2_IfcRepresentationMap_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ResourceOf", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToResource_type, IFC4X2_IfcRelAssignsToResource_type->attributes()[0])); IFC4X2_IfcResource_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasExternalReferences", inverse_attribute::set_type, 0, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); IFC4X2_IfcShapeAspect_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("OfShapeAspect", inverse_attribute::set_type, 0, 1, IFC4X2_IfcShapeAspect_type, IFC4X2_IfcShapeAspect_type->attributes()[0])); IFC4X2_IfcShapeModel_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("HasCoverings", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelCoversSpaces_type, IFC4X2_IfcRelCoversSpaces_type->attributes()[0])); attributes.push_back(new inverse_attribute("BoundedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelSpaceBoundary_type, IFC4X2_IfcRelSpaceBoundary_type->attributes()[0])); IFC4X2_IfcSpace_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(3); attributes.push_back(new inverse_attribute("ContainsElements", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelContainedInSpatialStructure_type, IFC4X2_IfcRelContainedInSpatialStructure_type->attributes()[1])); attributes.push_back(new inverse_attribute("ServicedBySystems", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelServicesBuildings_type, IFC4X2_IfcRelServicesBuildings_type->attributes()[1])); attributes.push_back(new inverse_attribute("ReferencesElements", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelReferencedInSpatialStructure_type, IFC4X2_IfcRelReferencedInSpatialStructure_type->attributes()[1])); IFC4X2_IfcSpatialElement_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("AssignedToStructuralItem", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelConnectsStructuralActivity_type, IFC4X2_IfcRelConnectsStructuralActivity_type->attributes()[1])); IFC4X2_IfcStructuralActivity_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ConnectsStructuralMembers", inverse_attribute::set_type, 1, -1, IFC4X2_IfcRelConnectsStructuralMember_type, IFC4X2_IfcRelConnectsStructuralMember_type->attributes()[1])); IFC4X2_IfcStructuralConnection_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("AssignedStructuralActivity", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelConnectsStructuralActivity_type, IFC4X2_IfcRelConnectsStructuralActivity_type->attributes()[0])); IFC4X2_IfcStructuralItem_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("SourceOfResultGroup", inverse_attribute::set_type, 0, 1, IFC4X2_IfcStructuralResultGroup_type, IFC4X2_IfcStructuralResultGroup_type->attributes()[1])); attributes.push_back(new inverse_attribute("LoadGroupFor", inverse_attribute::set_type, 0, -1, IFC4X2_IfcStructuralAnalysisModel_type, IFC4X2_IfcStructuralAnalysisModel_type->attributes()[2])); IFC4X2_IfcStructuralLoadGroup_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ConnectedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelConnectsStructuralMember_type, IFC4X2_IfcRelConnectsStructuralMember_type->attributes()[0])); IFC4X2_IfcStructuralMember_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ResultGroupFor", inverse_attribute::set_type, 0, 1, IFC4X2_IfcStructuralAnalysisModel_type, IFC4X2_IfcStructuralAnalysisModel_type->attributes()[3])); IFC4X2_IfcStructuralResultGroup_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("IsMappedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcTextureCoordinate_type, IFC4X2_IfcTextureCoordinate_type->attributes()[0])); attributes.push_back(new inverse_attribute("UsedInStyles", inverse_attribute::set_type, 0, -1, IFC4X2_IfcSurfaceStyleWithTextures_type, IFC4X2_IfcSurfaceStyleWithTextures_type->attributes()[0])); IFC4X2_IfcSurfaceTexture_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ServicesBuildings", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelServicesBuildings_type, IFC4X2_IfcRelServicesBuildings_type->attributes()[0])); IFC4X2_IfcSystem_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(2); attributes.push_back(new inverse_attribute("HasColours", inverse_attribute::set_type, 0, 1, IFC4X2_IfcIndexedColourMap_type, IFC4X2_IfcIndexedColourMap_type->attributes()[0])); attributes.push_back(new inverse_attribute("HasTextures", inverse_attribute::set_type, 0, -1, IFC4X2_IfcIndexedTextureMap_type, IFC4X2_IfcIndexedTextureMap_type->attributes()[0])); IFC4X2_IfcTessellatedFaceSet_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("HasExternalReference", inverse_attribute::set_type, 1, -1, IFC4X2_IfcExternalReferenceRelationship_type, IFC4X2_IfcExternalReferenceRelationship_type->attributes()[1])); IFC4X2_IfcTimeSeries_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("Types", inverse_attribute::set_type, 0, 1, IFC4X2_IfcRelDefinesByType_type, IFC4X2_IfcRelDefinesByType_type->attributes()[1])); IFC4X2_IfcTypeObject_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("OperatesOn", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToProcess_type, IFC4X2_IfcRelAssignsToProcess_type->attributes()[0])); IFC4X2_IfcTypeProcess_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ReferencedBy", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToProduct_type, IFC4X2_IfcRelAssignsToProduct_type->attributes()[0])); IFC4X2_IfcTypeProduct_type->set_inverse_attributes(attributes); } { std::vector attributes; attributes.reserve(1); attributes.push_back(new inverse_attribute("ResourceOf", inverse_attribute::set_type, 0, -1, IFC4X2_IfcRelAssignsToResource_type, IFC4X2_IfcRelAssignsToResource_type->attributes()[0])); IFC4X2_IfcTypeResource_type->set_inverse_attributes(attributes); } { std::vector defs; defs.reserve(8); defs.push_back(IFC4X2_IfcActionRequest_type);defs.push_back(IFC4X2_IfcCostItem_type);defs.push_back(IFC4X2_IfcCostSchedule_type);defs.push_back(IFC4X2_IfcPerformanceHistory_type);defs.push_back(IFC4X2_IfcPermit_type);defs.push_back(IFC4X2_IfcProjectOrder_type);defs.push_back(IFC4X2_IfcWorkCalendar_type);defs.push_back(IFC4X2_IfcWorkControl_type); IFC4X2_IfcControl_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcActor_type);defs.push_back(IFC4X2_IfcControl_type);defs.push_back(IFC4X2_IfcGroup_type);defs.push_back(IFC4X2_IfcProcess_type);defs.push_back(IFC4X2_IfcProduct_type);defs.push_back(IFC4X2_IfcResource_type); IFC4X2_IfcObject_type->set_subtypes(defs); } { std::vector defs; defs.reserve(7); defs.push_back(IFC4X2_IfcActuator_type);defs.push_back(IFC4X2_IfcAlarm_type);defs.push_back(IFC4X2_IfcController_type);defs.push_back(IFC4X2_IfcFlowInstrument_type);defs.push_back(IFC4X2_IfcProtectiveDeviceTrippingUnit_type);defs.push_back(IFC4X2_IfcSensor_type);defs.push_back(IFC4X2_IfcUnitaryControlElement_type); IFC4X2_IfcDistributionControlElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(7); defs.push_back(IFC4X2_IfcActuatorType_type);defs.push_back(IFC4X2_IfcAlarmType_type);defs.push_back(IFC4X2_IfcControllerType_type);defs.push_back(IFC4X2_IfcFlowInstrumentType_type);defs.push_back(IFC4X2_IfcProtectiveDeviceTrippingUnitType_type);defs.push_back(IFC4X2_IfcSensorType_type);defs.push_back(IFC4X2_IfcUnitaryControlElementType_type); IFC4X2_IfcDistributionControlElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcAdvancedBrep_type);defs.push_back(IFC4X2_IfcFacetedBrep_type); IFC4X2_IfcManifoldSolidBrep_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcAdvancedBrepWithVoids_type); IFC4X2_IfcAdvancedBrep_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcAdvancedFace_type); IFC4X2_IfcFaceSurface_type->set_subtypes(defs); } { std::vector defs; defs.reserve(13); defs.push_back(IFC4X2_IfcAirTerminal_type);defs.push_back(IFC4X2_IfcAudioVisualAppliance_type);defs.push_back(IFC4X2_IfcCommunicationsAppliance_type);defs.push_back(IFC4X2_IfcElectricAppliance_type);defs.push_back(IFC4X2_IfcFireSuppressionTerminal_type);defs.push_back(IFC4X2_IfcLamp_type);defs.push_back(IFC4X2_IfcLightFixture_type);defs.push_back(IFC4X2_IfcMedicalDevice_type);defs.push_back(IFC4X2_IfcOutlet_type);defs.push_back(IFC4X2_IfcSanitaryTerminal_type);defs.push_back(IFC4X2_IfcSpaceHeater_type);defs.push_back(IFC4X2_IfcStackTerminal_type);defs.push_back(IFC4X2_IfcWasteTerminal_type); IFC4X2_IfcFlowTerminal_type->set_subtypes(defs); } { std::vector defs; defs.reserve(8); defs.push_back(IFC4X2_IfcAirTerminalBox_type);defs.push_back(IFC4X2_IfcDamper_type);defs.push_back(IFC4X2_IfcElectricDistributionBoard_type);defs.push_back(IFC4X2_IfcElectricTimeControl_type);defs.push_back(IFC4X2_IfcFlowMeter_type);defs.push_back(IFC4X2_IfcProtectiveDevice_type);defs.push_back(IFC4X2_IfcSwitchingDevice_type);defs.push_back(IFC4X2_IfcValve_type); IFC4X2_IfcFlowController_type->set_subtypes(defs); } { std::vector defs; defs.reserve(8); defs.push_back(IFC4X2_IfcAirTerminalBoxType_type);defs.push_back(IFC4X2_IfcDamperType_type);defs.push_back(IFC4X2_IfcElectricDistributionBoardType_type);defs.push_back(IFC4X2_IfcElectricTimeControlType_type);defs.push_back(IFC4X2_IfcFlowMeterType_type);defs.push_back(IFC4X2_IfcProtectiveDeviceType_type);defs.push_back(IFC4X2_IfcSwitchingDeviceType_type);defs.push_back(IFC4X2_IfcValveType_type); IFC4X2_IfcFlowControllerType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(13); defs.push_back(IFC4X2_IfcAirTerminalType_type);defs.push_back(IFC4X2_IfcAudioVisualApplianceType_type);defs.push_back(IFC4X2_IfcCommunicationsApplianceType_type);defs.push_back(IFC4X2_IfcElectricApplianceType_type);defs.push_back(IFC4X2_IfcFireSuppressionTerminalType_type);defs.push_back(IFC4X2_IfcLampType_type);defs.push_back(IFC4X2_IfcLightFixtureType_type);defs.push_back(IFC4X2_IfcMedicalDeviceType_type);defs.push_back(IFC4X2_IfcOutletType_type);defs.push_back(IFC4X2_IfcSanitaryTerminalType_type);defs.push_back(IFC4X2_IfcSpaceHeaterType_type);defs.push_back(IFC4X2_IfcStackTerminalType_type);defs.push_back(IFC4X2_IfcWasteTerminalType_type); IFC4X2_IfcFlowTerminalType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(20); defs.push_back(IFC4X2_IfcAirToAirHeatRecovery_type);defs.push_back(IFC4X2_IfcBoiler_type);defs.push_back(IFC4X2_IfcBurner_type);defs.push_back(IFC4X2_IfcChiller_type);defs.push_back(IFC4X2_IfcCoil_type);defs.push_back(IFC4X2_IfcCondenser_type);defs.push_back(IFC4X2_IfcCooledBeam_type);defs.push_back(IFC4X2_IfcCoolingTower_type);defs.push_back(IFC4X2_IfcElectricGenerator_type);defs.push_back(IFC4X2_IfcElectricMotor_type);defs.push_back(IFC4X2_IfcEngine_type);defs.push_back(IFC4X2_IfcEvaporativeCooler_type);defs.push_back(IFC4X2_IfcEvaporator_type);defs.push_back(IFC4X2_IfcHeatExchanger_type);defs.push_back(IFC4X2_IfcHumidifier_type);defs.push_back(IFC4X2_IfcMotorConnection_type);defs.push_back(IFC4X2_IfcSolarDevice_type);defs.push_back(IFC4X2_IfcTransformer_type);defs.push_back(IFC4X2_IfcTubeBundle_type);defs.push_back(IFC4X2_IfcUnitaryEquipment_type); IFC4X2_IfcEnergyConversionDevice_type->set_subtypes(defs); } { std::vector defs; defs.reserve(20); defs.push_back(IFC4X2_IfcAirToAirHeatRecoveryType_type);defs.push_back(IFC4X2_IfcBoilerType_type);defs.push_back(IFC4X2_IfcBurnerType_type);defs.push_back(IFC4X2_IfcChillerType_type);defs.push_back(IFC4X2_IfcCoilType_type);defs.push_back(IFC4X2_IfcCondenserType_type);defs.push_back(IFC4X2_IfcCooledBeamType_type);defs.push_back(IFC4X2_IfcCoolingTowerType_type);defs.push_back(IFC4X2_IfcElectricGeneratorType_type);defs.push_back(IFC4X2_IfcElectricMotorType_type);defs.push_back(IFC4X2_IfcEngineType_type);defs.push_back(IFC4X2_IfcEvaporativeCoolerType_type);defs.push_back(IFC4X2_IfcEvaporatorType_type);defs.push_back(IFC4X2_IfcHeatExchangerType_type);defs.push_back(IFC4X2_IfcHumidifierType_type);defs.push_back(IFC4X2_IfcMotorConnectionType_type);defs.push_back(IFC4X2_IfcSolarDeviceType_type);defs.push_back(IFC4X2_IfcTransformerType_type);defs.push_back(IFC4X2_IfcTubeBundleType_type);defs.push_back(IFC4X2_IfcUnitaryEquipmentType_type); IFC4X2_IfcEnergyConversionDeviceType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcAlignment_type); IFC4X2_IfcLinearPositioningElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(30); defs.push_back(IFC4X2_IfcAlignment2DHorizontal_type);defs.push_back(IFC4X2_IfcAlignment2DSegment_type);defs.push_back(IFC4X2_IfcAlignment2DVertical_type);defs.push_back(IFC4X2_IfcAnnotationFillArea_type);defs.push_back(IFC4X2_IfcBooleanResult_type);defs.push_back(IFC4X2_IfcBoundingBox_type);defs.push_back(IFC4X2_IfcCartesianPointList_type);defs.push_back(IFC4X2_IfcCartesianTransformationOperator_type);defs.push_back(IFC4X2_IfcCompositeCurveSegment_type);defs.push_back(IFC4X2_IfcCsgPrimitive3D_type);defs.push_back(IFC4X2_IfcCurve_type);defs.push_back(IFC4X2_IfcDirection_type);defs.push_back(IFC4X2_IfcDistanceExpression_type);defs.push_back(IFC4X2_IfcFaceBasedSurfaceModel_type);defs.push_back(IFC4X2_IfcFillAreaStyleHatching_type);defs.push_back(IFC4X2_IfcFillAreaStyleTiles_type);defs.push_back(IFC4X2_IfcGeometricSet_type);defs.push_back(IFC4X2_IfcHalfSpaceSolid_type);defs.push_back(IFC4X2_IfcLightSource_type);defs.push_back(IFC4X2_IfcOrientationExpression_type);defs.push_back(IFC4X2_IfcPlacement_type);defs.push_back(IFC4X2_IfcPlanarExtent_type);defs.push_back(IFC4X2_IfcPoint_type);defs.push_back(IFC4X2_IfcSectionedSpine_type);defs.push_back(IFC4X2_IfcShellBasedSurfaceModel_type);defs.push_back(IFC4X2_IfcSolidModel_type);defs.push_back(IFC4X2_IfcSurface_type);defs.push_back(IFC4X2_IfcTessellatedItem_type);defs.push_back(IFC4X2_IfcTextLiteral_type);defs.push_back(IFC4X2_IfcVector_type); IFC4X2_IfcGeometricRepresentationItem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcAlignment2DHorizontalSegment_type);defs.push_back(IFC4X2_IfcAlignment2DVerticalSegment_type); IFC4X2_IfcAlignment2DSegment_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcAlignment2DVerSegCircularArc_type);defs.push_back(IFC4X2_IfcAlignment2DVerSegLine_type);defs.push_back(IFC4X2_IfcAlignment2DVerSegParabolicArc_type); IFC4X2_IfcAlignment2DVerticalSegment_type->set_subtypes(defs); } { std::vector defs; defs.reserve(7); defs.push_back(IFC4X2_IfcAlignmentCurve_type);defs.push_back(IFC4X2_IfcBSplineCurve_type);defs.push_back(IFC4X2_IfcCompositeCurve_type);defs.push_back(IFC4X2_IfcCurveSegment2D_type);defs.push_back(IFC4X2_IfcIndexedPolyCurve_type);defs.push_back(IFC4X2_IfcPolyline_type);defs.push_back(IFC4X2_IfcTrimmedCurve_type); IFC4X2_IfcBoundedCurve_type->set_subtypes(defs); } { std::vector defs; defs.reserve(8); defs.push_back(IFC4X2_IfcAnnotation_type);defs.push_back(IFC4X2_IfcElement_type);defs.push_back(IFC4X2_IfcPort_type);defs.push_back(IFC4X2_IfcPositioningElement_type);defs.push_back(IFC4X2_IfcProxy_type);defs.push_back(IFC4X2_IfcSpatialElement_type);defs.push_back(IFC4X2_IfcStructuralActivity_type);defs.push_back(IFC4X2_IfcStructuralItem_type); IFC4X2_IfcProduct_type->set_subtypes(defs); } { std::vector defs; defs.reserve(9); defs.push_back(IFC4X2_IfcApprovalRelationship_type);defs.push_back(IFC4X2_IfcCurrencyRelationship_type);defs.push_back(IFC4X2_IfcDocumentInformationRelationship_type);defs.push_back(IFC4X2_IfcExternalReferenceRelationship_type);defs.push_back(IFC4X2_IfcMaterialRelationship_type);defs.push_back(IFC4X2_IfcOrganizationRelationship_type);defs.push_back(IFC4X2_IfcPropertyDependencyRelationship_type);defs.push_back(IFC4X2_IfcResourceApprovalRelationship_type);defs.push_back(IFC4X2_IfcResourceConstraintRelationship_type); IFC4X2_IfcResourceLevelRelationship_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcArbitraryClosedProfileDef_type);defs.push_back(IFC4X2_IfcArbitraryOpenProfileDef_type);defs.push_back(IFC4X2_IfcCompositeProfileDef_type);defs.push_back(IFC4X2_IfcDerivedProfileDef_type);defs.push_back(IFC4X2_IfcParameterizedProfileDef_type); IFC4X2_IfcProfileDef_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcArbitraryProfileDefWithVoids_type); IFC4X2_IfcArbitraryClosedProfileDef_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcAsset_type);defs.push_back(IFC4X2_IfcInventory_type);defs.push_back(IFC4X2_IfcStructuralLoadGroup_type);defs.push_back(IFC4X2_IfcStructuralResultGroup_type);defs.push_back(IFC4X2_IfcSystem_type); IFC4X2_IfcGroup_type->set_subtypes(defs); } { std::vector defs; defs.reserve(11); defs.push_back(IFC4X2_IfcAsymmetricIShapeProfileDef_type);defs.push_back(IFC4X2_IfcCShapeProfileDef_type);defs.push_back(IFC4X2_IfcCircleProfileDef_type);defs.push_back(IFC4X2_IfcEllipseProfileDef_type);defs.push_back(IFC4X2_IfcIShapeProfileDef_type);defs.push_back(IFC4X2_IfcLShapeProfileDef_type);defs.push_back(IFC4X2_IfcRectangleProfileDef_type);defs.push_back(IFC4X2_IfcTShapeProfileDef_type);defs.push_back(IFC4X2_IfcTrapeziumProfileDef_type);defs.push_back(IFC4X2_IfcUShapeProfileDef_type);defs.push_back(IFC4X2_IfcZShapeProfileDef_type); IFC4X2_IfcParameterizedProfileDef_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcAxis1Placement_type);defs.push_back(IFC4X2_IfcAxis2Placement2D_type);defs.push_back(IFC4X2_IfcAxis2Placement3D_type); IFC4X2_IfcPlacement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcBSplineCurveWithKnots_type); IFC4X2_IfcBSplineCurve_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcBSplineSurface_type);defs.push_back(IFC4X2_IfcCurveBoundedPlane_type);defs.push_back(IFC4X2_IfcCurveBoundedSurface_type);defs.push_back(IFC4X2_IfcRectangularTrimmedSurface_type); IFC4X2_IfcBoundedSurface_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcBSplineSurfaceWithKnots_type); IFC4X2_IfcBSplineSurface_type->set_subtypes(defs); } { std::vector defs; defs.reserve(22); defs.push_back(IFC4X2_IfcBeam_type);defs.push_back(IFC4X2_IfcBearing_type);defs.push_back(IFC4X2_IfcBuildingElementProxy_type);defs.push_back(IFC4X2_IfcChimney_type);defs.push_back(IFC4X2_IfcColumn_type);defs.push_back(IFC4X2_IfcCovering_type);defs.push_back(IFC4X2_IfcCurtainWall_type);defs.push_back(IFC4X2_IfcDeepFoundation_type);defs.push_back(IFC4X2_IfcDoor_type);defs.push_back(IFC4X2_IfcFooting_type);defs.push_back(IFC4X2_IfcMember_type);defs.push_back(IFC4X2_IfcPlate_type);defs.push_back(IFC4X2_IfcRailing_type);defs.push_back(IFC4X2_IfcRamp_type);defs.push_back(IFC4X2_IfcRampFlight_type);defs.push_back(IFC4X2_IfcRoof_type);defs.push_back(IFC4X2_IfcShadingDevice_type);defs.push_back(IFC4X2_IfcSlab_type);defs.push_back(IFC4X2_IfcStair_type);defs.push_back(IFC4X2_IfcStairFlight_type);defs.push_back(IFC4X2_IfcWall_type);defs.push_back(IFC4X2_IfcWindow_type); IFC4X2_IfcBuildingElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcBeamStandardCase_type); IFC4X2_IfcBeam_type->set_subtypes(defs); } { std::vector defs; defs.reserve(22); defs.push_back(IFC4X2_IfcBeamType_type);defs.push_back(IFC4X2_IfcBearingType_type);defs.push_back(IFC4X2_IfcBuildingElementProxyType_type);defs.push_back(IFC4X2_IfcChimneyType_type);defs.push_back(IFC4X2_IfcColumnType_type);defs.push_back(IFC4X2_IfcCoveringType_type);defs.push_back(IFC4X2_IfcCurtainWallType_type);defs.push_back(IFC4X2_IfcDeepFoundationType_type);defs.push_back(IFC4X2_IfcDoorType_type);defs.push_back(IFC4X2_IfcFootingType_type);defs.push_back(IFC4X2_IfcMemberType_type);defs.push_back(IFC4X2_IfcPlateType_type);defs.push_back(IFC4X2_IfcRailingType_type);defs.push_back(IFC4X2_IfcRampFlightType_type);defs.push_back(IFC4X2_IfcRampType_type);defs.push_back(IFC4X2_IfcRoofType_type);defs.push_back(IFC4X2_IfcShadingDeviceType_type);defs.push_back(IFC4X2_IfcSlabType_type);defs.push_back(IFC4X2_IfcStairFlightType_type);defs.push_back(IFC4X2_IfcStairType_type);defs.push_back(IFC4X2_IfcWallType_type);defs.push_back(IFC4X2_IfcWindowType_type); IFC4X2_IfcBuildingElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcBlobTexture_type);defs.push_back(IFC4X2_IfcImageTexture_type);defs.push_back(IFC4X2_IfcPixelTexture_type); IFC4X2_IfcSurfaceTexture_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcBlock_type);defs.push_back(IFC4X2_IfcRectangularPyramid_type);defs.push_back(IFC4X2_IfcRightCircularCone_type);defs.push_back(IFC4X2_IfcRightCircularCylinder_type);defs.push_back(IFC4X2_IfcSphere_type); IFC4X2_IfcCsgPrimitive3D_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcBooleanClippingResult_type); IFC4X2_IfcBooleanResult_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcBoundaryCurve_type); IFC4X2_IfcCompositeCurveOnSurface_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcBoundaryEdgeCondition_type);defs.push_back(IFC4X2_IfcBoundaryFaceCondition_type);defs.push_back(IFC4X2_IfcBoundaryNodeCondition_type); IFC4X2_IfcBoundaryCondition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcBoundaryNodeConditionWarping_type); IFC4X2_IfcBoundaryNodeCondition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcBoundedCurve_type);defs.push_back(IFC4X2_IfcConic_type);defs.push_back(IFC4X2_IfcLine_type);defs.push_back(IFC4X2_IfcOffsetCurve_type);defs.push_back(IFC4X2_IfcPcurve_type);defs.push_back(IFC4X2_IfcSurfaceCurve_type); IFC4X2_IfcCurve_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcBoundedSurface_type);defs.push_back(IFC4X2_IfcElementarySurface_type);defs.push_back(IFC4X2_IfcSweptSurface_type); IFC4X2_IfcSurface_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcBoxedHalfSpace_type);defs.push_back(IFC4X2_IfcPolygonalBoundedHalfSpace_type); IFC4X2_IfcHalfSpaceSolid_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcBridge_type);defs.push_back(IFC4X2_IfcBuilding_type); IFC4X2_IfcFacility_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcBridgePart_type);defs.push_back(IFC4X2_IfcBuildingStorey_type); IFC4X2_IfcFacilityPart_type->set_subtypes(defs); } { std::vector defs; defs.reserve(10); defs.push_back(IFC4X2_IfcBuildingElement_type);defs.push_back(IFC4X2_IfcCivilElement_type);defs.push_back(IFC4X2_IfcDistributionElement_type);defs.push_back(IFC4X2_IfcElementAssembly_type);defs.push_back(IFC4X2_IfcElementComponent_type);defs.push_back(IFC4X2_IfcFeatureElement_type);defs.push_back(IFC4X2_IfcFurnishingElement_type);defs.push_back(IFC4X2_IfcGeographicElement_type);defs.push_back(IFC4X2_IfcTransportElement_type);defs.push_back(IFC4X2_IfcVirtualElement_type); IFC4X2_IfcElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(7); defs.push_back(IFC4X2_IfcBuildingElementPart_type);defs.push_back(IFC4X2_IfcDiscreteAccessory_type);defs.push_back(IFC4X2_IfcFastener_type);defs.push_back(IFC4X2_IfcMechanicalFastener_type);defs.push_back(IFC4X2_IfcReinforcingElement_type);defs.push_back(IFC4X2_IfcVibrationDamper_type);defs.push_back(IFC4X2_IfcVibrationIsolator_type); IFC4X2_IfcElementComponent_type->set_subtypes(defs); } { std::vector defs; defs.reserve(7); defs.push_back(IFC4X2_IfcBuildingElementPartType_type);defs.push_back(IFC4X2_IfcDiscreteAccessoryType_type);defs.push_back(IFC4X2_IfcFastenerType_type);defs.push_back(IFC4X2_IfcMechanicalFastenerType_type);defs.push_back(IFC4X2_IfcReinforcingElementType_type);defs.push_back(IFC4X2_IfcVibrationDamperType_type);defs.push_back(IFC4X2_IfcVibrationIsolatorType_type); IFC4X2_IfcElementComponentType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(8); defs.push_back(IFC4X2_IfcBuildingElementType_type);defs.push_back(IFC4X2_IfcCivilElementType_type);defs.push_back(IFC4X2_IfcDistributionElementType_type);defs.push_back(IFC4X2_IfcElementAssemblyType_type);defs.push_back(IFC4X2_IfcElementComponentType_type);defs.push_back(IFC4X2_IfcFurnishingElementType_type);defs.push_back(IFC4X2_IfcGeographicElementType_type);defs.push_back(IFC4X2_IfcTransportElementType_type); IFC4X2_IfcElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcBuildingSystem_type);defs.push_back(IFC4X2_IfcDistributionSystem_type);defs.push_back(IFC4X2_IfcStructuralAnalysisModel_type);defs.push_back(IFC4X2_IfcZone_type); IFC4X2_IfcSystem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcCableCarrierFitting_type);defs.push_back(IFC4X2_IfcCableFitting_type);defs.push_back(IFC4X2_IfcDuctFitting_type);defs.push_back(IFC4X2_IfcJunctionBox_type);defs.push_back(IFC4X2_IfcPipeFitting_type); IFC4X2_IfcFlowFitting_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcCableCarrierFittingType_type);defs.push_back(IFC4X2_IfcCableFittingType_type);defs.push_back(IFC4X2_IfcDuctFittingType_type);defs.push_back(IFC4X2_IfcJunctionBoxType_type);defs.push_back(IFC4X2_IfcPipeFittingType_type); IFC4X2_IfcFlowFittingType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcCableCarrierSegment_type);defs.push_back(IFC4X2_IfcCableSegment_type);defs.push_back(IFC4X2_IfcDuctSegment_type);defs.push_back(IFC4X2_IfcPipeSegment_type); IFC4X2_IfcFlowSegment_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcCableCarrierSegmentType_type);defs.push_back(IFC4X2_IfcCableSegmentType_type);defs.push_back(IFC4X2_IfcDuctSegmentType_type);defs.push_back(IFC4X2_IfcPipeSegmentType_type); IFC4X2_IfcFlowSegmentType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcCaissonFoundation_type);defs.push_back(IFC4X2_IfcPile_type); IFC4X2_IfcDeepFoundation_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcCaissonFoundationType_type);defs.push_back(IFC4X2_IfcPileType_type); IFC4X2_IfcDeepFoundationType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcCartesianPoint_type);defs.push_back(IFC4X2_IfcPointOnCurve_type);defs.push_back(IFC4X2_IfcPointOnSurface_type); IFC4X2_IfcPoint_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcCartesianPointList2D_type);defs.push_back(IFC4X2_IfcCartesianPointList3D_type); IFC4X2_IfcCartesianPointList_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcCartesianTransformationOperator2D_type);defs.push_back(IFC4X2_IfcCartesianTransformationOperator3D_type); IFC4X2_IfcCartesianTransformationOperator_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcCartesianTransformationOperator2DnonUniform_type); IFC4X2_IfcCartesianTransformationOperator2D_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcCartesianTransformationOperator3DnonUniform_type); IFC4X2_IfcCartesianTransformationOperator3D_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcCenterLineProfileDef_type); IFC4X2_IfcArbitraryOpenProfileDef_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcCircle_type);defs.push_back(IFC4X2_IfcEllipse_type); IFC4X2_IfcConic_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcCircleHollowProfileDef_type); IFC4X2_IfcCircleProfileDef_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcCircularArcSegment2D_type);defs.push_back(IFC4X2_IfcLineSegment2D_type);defs.push_back(IFC4X2_IfcTransitionCurveSegment2D_type); IFC4X2_IfcCurveSegment2D_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcClassification_type);defs.push_back(IFC4X2_IfcDocumentInformation_type);defs.push_back(IFC4X2_IfcLibraryInformation_type); IFC4X2_IfcExternalInformation_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcClassificationReference_type);defs.push_back(IFC4X2_IfcDocumentReference_type);defs.push_back(IFC4X2_IfcExternallyDefinedHatchStyle_type);defs.push_back(IFC4X2_IfcExternallyDefinedSurfaceStyle_type);defs.push_back(IFC4X2_IfcExternallyDefinedTextFont_type);defs.push_back(IFC4X2_IfcLibraryReference_type); IFC4X2_IfcExternalReference_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcClosedShell_type);defs.push_back(IFC4X2_IfcOpenShell_type); IFC4X2_IfcConnectedFaceSet_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcColourRgb_type); IFC4X2_IfcColourSpecification_type->set_subtypes(defs); } { std::vector defs; defs.reserve(17); defs.push_back(IFC4X2_IfcColourRgbList_type);defs.push_back(IFC4X2_IfcColourSpecification_type);defs.push_back(IFC4X2_IfcCurveStyleFont_type);defs.push_back(IFC4X2_IfcCurveStyleFontAndScaling_type);defs.push_back(IFC4X2_IfcCurveStyleFontPattern_type);defs.push_back(IFC4X2_IfcIndexedColourMap_type);defs.push_back(IFC4X2_IfcPreDefinedItem_type);defs.push_back(IFC4X2_IfcSurfaceStyleLighting_type);defs.push_back(IFC4X2_IfcSurfaceStyleRefraction_type);defs.push_back(IFC4X2_IfcSurfaceStyleShading_type);defs.push_back(IFC4X2_IfcSurfaceStyleWithTextures_type);defs.push_back(IFC4X2_IfcSurfaceTexture_type);defs.push_back(IFC4X2_IfcTextStyleForDefinedFont_type);defs.push_back(IFC4X2_IfcTextStyleTextModel_type);defs.push_back(IFC4X2_IfcTextureCoordinate_type);defs.push_back(IFC4X2_IfcTextureVertex_type);defs.push_back(IFC4X2_IfcTextureVertexList_type); IFC4X2_IfcPresentationItem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcColumnStandardCase_type); IFC4X2_IfcColumn_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcComplexProperty_type);defs.push_back(IFC4X2_IfcSimpleProperty_type); IFC4X2_IfcProperty_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcComplexPropertyTemplate_type);defs.push_back(IFC4X2_IfcSimplePropertyTemplate_type); IFC4X2_IfcPropertyTemplate_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcCompositeCurveOnSurface_type); IFC4X2_IfcCompositeCurve_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcCompressor_type);defs.push_back(IFC4X2_IfcFan_type);defs.push_back(IFC4X2_IfcPump_type); IFC4X2_IfcFlowMovingDevice_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcCompressorType_type);defs.push_back(IFC4X2_IfcFanType_type);defs.push_back(IFC4X2_IfcPumpType_type); IFC4X2_IfcFlowMovingDeviceType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(7); defs.push_back(IFC4X2_IfcConnectedFaceSet_type);defs.push_back(IFC4X2_IfcEdge_type);defs.push_back(IFC4X2_IfcFace_type);defs.push_back(IFC4X2_IfcFaceBound_type);defs.push_back(IFC4X2_IfcLoop_type);defs.push_back(IFC4X2_IfcPath_type);defs.push_back(IFC4X2_IfcVertex_type); IFC4X2_IfcTopologicalRepresentationItem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcConnectionCurveGeometry_type);defs.push_back(IFC4X2_IfcConnectionPointGeometry_type);defs.push_back(IFC4X2_IfcConnectionSurfaceGeometry_type);defs.push_back(IFC4X2_IfcConnectionVolumeGeometry_type); IFC4X2_IfcConnectionGeometry_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcConnectionPointEccentricity_type); IFC4X2_IfcConnectionPointGeometry_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcConstructionEquipmentResource_type);defs.push_back(IFC4X2_IfcConstructionMaterialResource_type);defs.push_back(IFC4X2_IfcConstructionProductResource_type);defs.push_back(IFC4X2_IfcCrewResource_type);defs.push_back(IFC4X2_IfcLaborResource_type);defs.push_back(IFC4X2_IfcSubContractResource_type); IFC4X2_IfcConstructionResource_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcConstructionEquipmentResourceType_type);defs.push_back(IFC4X2_IfcConstructionMaterialResourceType_type);defs.push_back(IFC4X2_IfcConstructionProductResourceType_type);defs.push_back(IFC4X2_IfcCrewResourceType_type);defs.push_back(IFC4X2_IfcLaborResourceType_type);defs.push_back(IFC4X2_IfcSubContractResourceType_type); IFC4X2_IfcConstructionResourceType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcConstructionResource_type); IFC4X2_IfcResource_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcConstructionResourceType_type); IFC4X2_IfcTypeResource_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcContext_type);defs.push_back(IFC4X2_IfcObject_type);defs.push_back(IFC4X2_IfcTypeObject_type); IFC4X2_IfcObjectDefinition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcContextDependentUnit_type);defs.push_back(IFC4X2_IfcConversionBasedUnit_type);defs.push_back(IFC4X2_IfcSIUnit_type); IFC4X2_IfcNamedUnit_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcConversionBasedUnitWithOffset_type); IFC4X2_IfcConversionBasedUnit_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcCostValue_type); IFC4X2_IfcAppliedValue_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcCsgSolid_type);defs.push_back(IFC4X2_IfcManifoldSolidBrep_type);defs.push_back(IFC4X2_IfcSectionedSolid_type);defs.push_back(IFC4X2_IfcSweptAreaSolid_type);defs.push_back(IFC4X2_IfcSweptDiskSolid_type); IFC4X2_IfcSolidModel_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcCurveStyle_type);defs.push_back(IFC4X2_IfcFillAreaStyle_type);defs.push_back(IFC4X2_IfcSurfaceStyle_type);defs.push_back(IFC4X2_IfcTextStyle_type); IFC4X2_IfcPresentationStyle_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcCylindricalSurface_type);defs.push_back(IFC4X2_IfcPlane_type);defs.push_back(IFC4X2_IfcSphericalSurface_type);defs.push_back(IFC4X2_IfcToroidalSurface_type); IFC4X2_IfcElementarySurface_type->set_subtypes(defs); } { std::vector defs; defs.reserve(9); defs.push_back(IFC4X2_IfcDistributionChamberElement_type);defs.push_back(IFC4X2_IfcEnergyConversionDevice_type);defs.push_back(IFC4X2_IfcFlowController_type);defs.push_back(IFC4X2_IfcFlowFitting_type);defs.push_back(IFC4X2_IfcFlowMovingDevice_type);defs.push_back(IFC4X2_IfcFlowSegment_type);defs.push_back(IFC4X2_IfcFlowStorageDevice_type);defs.push_back(IFC4X2_IfcFlowTerminal_type);defs.push_back(IFC4X2_IfcFlowTreatmentDevice_type); IFC4X2_IfcDistributionFlowElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(9); defs.push_back(IFC4X2_IfcDistributionChamberElementType_type);defs.push_back(IFC4X2_IfcEnergyConversionDeviceType_type);defs.push_back(IFC4X2_IfcFlowControllerType_type);defs.push_back(IFC4X2_IfcFlowFittingType_type);defs.push_back(IFC4X2_IfcFlowMovingDeviceType_type);defs.push_back(IFC4X2_IfcFlowSegmentType_type);defs.push_back(IFC4X2_IfcFlowStorageDeviceType_type);defs.push_back(IFC4X2_IfcFlowTerminalType_type);defs.push_back(IFC4X2_IfcFlowTreatmentDeviceType_type); IFC4X2_IfcDistributionFlowElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcDistributionCircuit_type); IFC4X2_IfcDistributionSystem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcDistributionControlElement_type);defs.push_back(IFC4X2_IfcDistributionFlowElement_type); IFC4X2_IfcDistributionElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcDistributionControlElementType_type);defs.push_back(IFC4X2_IfcDistributionFlowElementType_type); IFC4X2_IfcDistributionElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcDistributionPort_type); IFC4X2_IfcPort_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcDoorLiningProperties_type);defs.push_back(IFC4X2_IfcDoorPanelProperties_type);defs.push_back(IFC4X2_IfcPermeableCoveringProperties_type);defs.push_back(IFC4X2_IfcReinforcementDefinitionProperties_type);defs.push_back(IFC4X2_IfcWindowLiningProperties_type);defs.push_back(IFC4X2_IfcWindowPanelProperties_type); IFC4X2_IfcPreDefinedPropertySet_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcDoorStandardCase_type); IFC4X2_IfcDoor_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcDoorStyle_type);defs.push_back(IFC4X2_IfcElementType_type);defs.push_back(IFC4X2_IfcSpatialElementType_type);defs.push_back(IFC4X2_IfcWindowStyle_type); IFC4X2_IfcTypeProduct_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcDraughtingPreDefinedColour_type); IFC4X2_IfcPreDefinedColour_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcDraughtingPreDefinedCurveFont_type); IFC4X2_IfcPreDefinedCurveFont_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcDuctSilencer_type);defs.push_back(IFC4X2_IfcFilter_type);defs.push_back(IFC4X2_IfcInterceptor_type); IFC4X2_IfcFlowTreatmentDevice_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcDuctSilencerType_type);defs.push_back(IFC4X2_IfcFilterType_type);defs.push_back(IFC4X2_IfcInterceptorType_type); IFC4X2_IfcFlowTreatmentDeviceType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcEdgeCurve_type);defs.push_back(IFC4X2_IfcOrientedEdge_type);defs.push_back(IFC4X2_IfcSubedge_type); IFC4X2_IfcEdge_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcEdgeLoop_type);defs.push_back(IFC4X2_IfcPolyLoop_type);defs.push_back(IFC4X2_IfcVertexLoop_type); IFC4X2_IfcLoop_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcElectricFlowStorageDevice_type);defs.push_back(IFC4X2_IfcTank_type); IFC4X2_IfcFlowStorageDevice_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcElectricFlowStorageDeviceType_type);defs.push_back(IFC4X2_IfcTankType_type); IFC4X2_IfcFlowStorageDeviceType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcElementQuantity_type); IFC4X2_IfcQuantitySet_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcEvent_type);defs.push_back(IFC4X2_IfcProcedure_type);defs.push_back(IFC4X2_IfcTask_type); IFC4X2_IfcProcess_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcEventTime_type);defs.push_back(IFC4X2_IfcLagTime_type);defs.push_back(IFC4X2_IfcResourceTime_type);defs.push_back(IFC4X2_IfcTaskTime_type);defs.push_back(IFC4X2_IfcWorkTime_type); IFC4X2_IfcSchedulingTime_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcEventType_type);defs.push_back(IFC4X2_IfcProcedureType_type);defs.push_back(IFC4X2_IfcTaskType_type); IFC4X2_IfcTypeProcess_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcExtendedProperties_type);defs.push_back(IFC4X2_IfcPreDefinedProperties_type);defs.push_back(IFC4X2_IfcProperty_type);defs.push_back(IFC4X2_IfcPropertyEnumeration_type); IFC4X2_IfcPropertyAbstraction_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcExternalSpatialElement_type); IFC4X2_IfcExternalSpatialStructureElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcExternalSpatialStructureElement_type);defs.push_back(IFC4X2_IfcSpatialStructureElement_type);defs.push_back(IFC4X2_IfcSpatialZone_type); IFC4X2_IfcSpatialElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcExtrudedAreaSolid_type);defs.push_back(IFC4X2_IfcFixedReferenceSweptAreaSolid_type);defs.push_back(IFC4X2_IfcRevolvedAreaSolid_type);defs.push_back(IFC4X2_IfcSurfaceCurveSweptAreaSolid_type); IFC4X2_IfcSweptAreaSolid_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcExtrudedAreaSolidTapered_type); IFC4X2_IfcExtrudedAreaSolid_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcFaceOuterBound_type); IFC4X2_IfcFaceBound_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcFaceSurface_type); IFC4X2_IfcFace_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcFacetedBrepWithVoids_type); IFC4X2_IfcFacetedBrep_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcFacility_type);defs.push_back(IFC4X2_IfcFacilityPart_type);defs.push_back(IFC4X2_IfcSite_type);defs.push_back(IFC4X2_IfcSpace_type); IFC4X2_IfcSpatialStructureElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcFailureConnectionCondition_type);defs.push_back(IFC4X2_IfcSlippageConnectionCondition_type); IFC4X2_IfcStructuralConnectionCondition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcFeatureElementAddition_type);defs.push_back(IFC4X2_IfcFeatureElementSubtraction_type);defs.push_back(IFC4X2_IfcSurfaceFeature_type); IFC4X2_IfcFeatureElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcFurniture_type);defs.push_back(IFC4X2_IfcSystemFurnitureElement_type); IFC4X2_IfcFurnishingElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcFurnitureType_type);defs.push_back(IFC4X2_IfcSystemFurnitureElementType_type); IFC4X2_IfcFurnishingElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcGeometricCurveSet_type); IFC4X2_IfcGeometricSet_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcGeometricRepresentationContext_type); IFC4X2_IfcRepresentationContext_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcGeometricRepresentationItem_type);defs.push_back(IFC4X2_IfcMappedItem_type);defs.push_back(IFC4X2_IfcStyledItem_type);defs.push_back(IFC4X2_IfcTopologicalRepresentationItem_type); IFC4X2_IfcRepresentationItem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcGeometricRepresentationSubContext_type); IFC4X2_IfcGeometricRepresentationContext_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcGrid_type);defs.push_back(IFC4X2_IfcLinearPositioningElement_type);defs.push_back(IFC4X2_IfcReferent_type); IFC4X2_IfcPositioningElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcGridPlacement_type);defs.push_back(IFC4X2_IfcLinearPlacement_type);defs.push_back(IFC4X2_IfcLocalPlacement_type); IFC4X2_IfcObjectPlacement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcIndexedPolygonalFace_type);defs.push_back(IFC4X2_IfcTessellatedFaceSet_type); IFC4X2_IfcTessellatedItem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcIndexedPolygonalFaceWithVoids_type); IFC4X2_IfcIndexedPolygonalFace_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcIndexedTextureMap_type);defs.push_back(IFC4X2_IfcTextureCoordinateGenerator_type);defs.push_back(IFC4X2_IfcTextureMap_type); IFC4X2_IfcTextureCoordinate_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcIndexedTriangleTextureMap_type); IFC4X2_IfcIndexedTextureMap_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcIntersectionCurve_type);defs.push_back(IFC4X2_IfcSeamCurve_type); IFC4X2_IfcSurfaceCurve_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcIrregularTimeSeries_type);defs.push_back(IFC4X2_IfcRegularTimeSeries_type); IFC4X2_IfcTimeSeries_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcLightSourceAmbient_type);defs.push_back(IFC4X2_IfcLightSourceDirectional_type);defs.push_back(IFC4X2_IfcLightSourceGoniometric_type);defs.push_back(IFC4X2_IfcLightSourcePositional_type); IFC4X2_IfcLightSource_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcLightSourceSpot_type); IFC4X2_IfcLightSourcePositional_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcMapConversion_type); IFC4X2_IfcCoordinateOperation_type->set_subtypes(defs); } { std::vector defs; defs.reserve(7); defs.push_back(IFC4X2_IfcMaterial_type);defs.push_back(IFC4X2_IfcMaterialConstituent_type);defs.push_back(IFC4X2_IfcMaterialConstituentSet_type);defs.push_back(IFC4X2_IfcMaterialLayer_type);defs.push_back(IFC4X2_IfcMaterialLayerSet_type);defs.push_back(IFC4X2_IfcMaterialProfile_type);defs.push_back(IFC4X2_IfcMaterialProfileSet_type); IFC4X2_IfcMaterialDefinition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcMaterialDefinitionRepresentation_type);defs.push_back(IFC4X2_IfcProductDefinitionShape_type); IFC4X2_IfcProductRepresentation_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcMaterialLayerSetUsage_type);defs.push_back(IFC4X2_IfcMaterialProfileSetUsage_type); IFC4X2_IfcMaterialUsageDefinition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcMaterialLayerWithOffsets_type); IFC4X2_IfcMaterialLayer_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcMaterialProfileSetUsageTapering_type); IFC4X2_IfcMaterialProfileSetUsage_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcMaterialProfileWithOffsets_type); IFC4X2_IfcMaterialProfile_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcMaterialProperties_type);defs.push_back(IFC4X2_IfcProfileProperties_type); IFC4X2_IfcExtendedProperties_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcMemberStandardCase_type); IFC4X2_IfcMember_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcMetric_type);defs.push_back(IFC4X2_IfcObjective_type); IFC4X2_IfcConstraint_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcMirroredProfileDef_type); IFC4X2_IfcDerivedProfileDef_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcObjectDefinition_type);defs.push_back(IFC4X2_IfcPropertyDefinition_type);defs.push_back(IFC4X2_IfcRelationship_type); IFC4X2_IfcRoot_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcOccupant_type); IFC4X2_IfcActor_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcOffsetCurve2D_type);defs.push_back(IFC4X2_IfcOffsetCurve3D_type);defs.push_back(IFC4X2_IfcOffsetCurveByDistances_type); IFC4X2_IfcOffsetCurve_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcOpeningElement_type);defs.push_back(IFC4X2_IfcVoidingFeature_type); IFC4X2_IfcFeatureElementSubtraction_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcOpeningStandardCase_type); IFC4X2_IfcOpeningElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcOuterBoundaryCurve_type); IFC4X2_IfcBoundaryCurve_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcPhysicalComplexQuantity_type);defs.push_back(IFC4X2_IfcPhysicalSimpleQuantity_type); IFC4X2_IfcPhysicalQuantity_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcPlanarBox_type); IFC4X2_IfcPlanarExtent_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcPlateStandardCase_type); IFC4X2_IfcPlate_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcPolygonalFaceSet_type);defs.push_back(IFC4X2_IfcTriangulatedFaceSet_type); IFC4X2_IfcTessellatedFaceSet_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcPostalAddress_type);defs.push_back(IFC4X2_IfcTelecomAddress_type); IFC4X2_IfcAddress_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcPreDefinedColour_type);defs.push_back(IFC4X2_IfcPreDefinedCurveFont_type);defs.push_back(IFC4X2_IfcPreDefinedTextFont_type); IFC4X2_IfcPreDefinedItem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcPreDefinedPropertySet_type);defs.push_back(IFC4X2_IfcPropertySet_type);defs.push_back(IFC4X2_IfcQuantitySet_type); IFC4X2_IfcPropertySetDefinition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcPresentationLayerWithStyle_type); IFC4X2_IfcPresentationLayerAssignment_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcProject_type);defs.push_back(IFC4X2_IfcProjectLibrary_type); IFC4X2_IfcContext_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcProjectedCRS_type); IFC4X2_IfcCoordinateReferenceSystem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcProjectionElement_type); IFC4X2_IfcFeatureElementAddition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcPropertyBoundedValue_type);defs.push_back(IFC4X2_IfcPropertyEnumeratedValue_type);defs.push_back(IFC4X2_IfcPropertyListValue_type);defs.push_back(IFC4X2_IfcPropertyReferenceValue_type);defs.push_back(IFC4X2_IfcPropertySingleValue_type);defs.push_back(IFC4X2_IfcPropertyTableValue_type); IFC4X2_IfcSimpleProperty_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcPropertySetDefinition_type);defs.push_back(IFC4X2_IfcPropertyTemplateDefinition_type); IFC4X2_IfcPropertyDefinition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcPropertySetTemplate_type);defs.push_back(IFC4X2_IfcPropertyTemplate_type); IFC4X2_IfcPropertyTemplateDefinition_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcQuantityArea_type);defs.push_back(IFC4X2_IfcQuantityCount_type);defs.push_back(IFC4X2_IfcQuantityLength_type);defs.push_back(IFC4X2_IfcQuantityTime_type);defs.push_back(IFC4X2_IfcQuantityVolume_type);defs.push_back(IFC4X2_IfcQuantityWeight_type); IFC4X2_IfcPhysicalSimpleQuantity_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcRationalBSplineCurveWithKnots_type); IFC4X2_IfcBSplineCurveWithKnots_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcRationalBSplineSurfaceWithKnots_type); IFC4X2_IfcBSplineSurfaceWithKnots_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcRectangleHollowProfileDef_type);defs.push_back(IFC4X2_IfcRoundedRectangleProfileDef_type); IFC4X2_IfcRectangleProfileDef_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcReinforcementBarProperties_type);defs.push_back(IFC4X2_IfcSectionProperties_type);defs.push_back(IFC4X2_IfcSectionReinforcementProperties_type); IFC4X2_IfcPreDefinedProperties_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcReinforcingBar_type);defs.push_back(IFC4X2_IfcReinforcingMesh_type);defs.push_back(IFC4X2_IfcTendon_type);defs.push_back(IFC4X2_IfcTendonAnchor_type);defs.push_back(IFC4X2_IfcTendonConduit_type); IFC4X2_IfcReinforcingElement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcReinforcingBarType_type);defs.push_back(IFC4X2_IfcReinforcingMeshType_type);defs.push_back(IFC4X2_IfcTendonAnchorType_type);defs.push_back(IFC4X2_IfcTendonConduitType_type);defs.push_back(IFC4X2_IfcTendonType_type); IFC4X2_IfcReinforcingElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcRelAggregates_type);defs.push_back(IFC4X2_IfcRelNests_type);defs.push_back(IFC4X2_IfcRelProjectsElement_type);defs.push_back(IFC4X2_IfcRelVoidsElement_type); IFC4X2_IfcRelDecomposes_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcRelAssigns_type);defs.push_back(IFC4X2_IfcRelAssociates_type);defs.push_back(IFC4X2_IfcRelConnects_type);defs.push_back(IFC4X2_IfcRelDeclares_type);defs.push_back(IFC4X2_IfcRelDecomposes_type);defs.push_back(IFC4X2_IfcRelDefines_type); IFC4X2_IfcRelationship_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcRelAssignsToActor_type);defs.push_back(IFC4X2_IfcRelAssignsToControl_type);defs.push_back(IFC4X2_IfcRelAssignsToGroup_type);defs.push_back(IFC4X2_IfcRelAssignsToProcess_type);defs.push_back(IFC4X2_IfcRelAssignsToProduct_type);defs.push_back(IFC4X2_IfcRelAssignsToResource_type); IFC4X2_IfcRelAssigns_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcRelAssignsToGroupByFactor_type); IFC4X2_IfcRelAssignsToGroup_type->set_subtypes(defs); } { std::vector defs; defs.reserve(6); defs.push_back(IFC4X2_IfcRelAssociatesApproval_type);defs.push_back(IFC4X2_IfcRelAssociatesClassification_type);defs.push_back(IFC4X2_IfcRelAssociatesConstraint_type);defs.push_back(IFC4X2_IfcRelAssociatesDocument_type);defs.push_back(IFC4X2_IfcRelAssociatesLibrary_type);defs.push_back(IFC4X2_IfcRelAssociatesMaterial_type); IFC4X2_IfcRelAssociates_type->set_subtypes(defs); } { std::vector defs; defs.reserve(16); defs.push_back(IFC4X2_IfcRelConnectsElements_type);defs.push_back(IFC4X2_IfcRelConnectsPortToElement_type);defs.push_back(IFC4X2_IfcRelConnectsPorts_type);defs.push_back(IFC4X2_IfcRelConnectsStructuralActivity_type);defs.push_back(IFC4X2_IfcRelConnectsStructuralMember_type);defs.push_back(IFC4X2_IfcRelContainedInSpatialStructure_type);defs.push_back(IFC4X2_IfcRelCoversBldgElements_type);defs.push_back(IFC4X2_IfcRelCoversSpaces_type);defs.push_back(IFC4X2_IfcRelFillsElement_type);defs.push_back(IFC4X2_IfcRelFlowControlElements_type);defs.push_back(IFC4X2_IfcRelInterferesElements_type);defs.push_back(IFC4X2_IfcRelPositions_type);defs.push_back(IFC4X2_IfcRelReferencedInSpatialStructure_type);defs.push_back(IFC4X2_IfcRelSequence_type);defs.push_back(IFC4X2_IfcRelServicesBuildings_type);defs.push_back(IFC4X2_IfcRelSpaceBoundary_type); IFC4X2_IfcRelConnects_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcRelConnectsPathElements_type);defs.push_back(IFC4X2_IfcRelConnectsWithRealizingElements_type); IFC4X2_IfcRelConnectsElements_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcRelConnectsWithEccentricity_type); IFC4X2_IfcRelConnectsStructuralMember_type->set_subtypes(defs); } { std::vector defs; defs.reserve(4); defs.push_back(IFC4X2_IfcRelDefinesByObject_type);defs.push_back(IFC4X2_IfcRelDefinesByProperties_type);defs.push_back(IFC4X2_IfcRelDefinesByTemplate_type);defs.push_back(IFC4X2_IfcRelDefinesByType_type); IFC4X2_IfcRelDefines_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcRelSpaceBoundary1stLevel_type); IFC4X2_IfcRelSpaceBoundary_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcRelSpaceBoundary2ndLevel_type); IFC4X2_IfcRelSpaceBoundary1stLevel_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcReparametrisedCompositeCurveSegment_type); IFC4X2_IfcCompositeCurveSegment_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcRevolvedAreaSolidTapered_type); IFC4X2_IfcRevolvedAreaSolid_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcSectionedSolidHorizontal_type); IFC4X2_IfcSectionedSolid_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcShapeModel_type);defs.push_back(IFC4X2_IfcStyleModel_type); IFC4X2_IfcRepresentation_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcShapeRepresentation_type);defs.push_back(IFC4X2_IfcTopologyRepresentation_type); IFC4X2_IfcShapeModel_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcSlabElementedCase_type);defs.push_back(IFC4X2_IfcSlabStandardCase_type); IFC4X2_IfcSlab_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcSpaceType_type); IFC4X2_IfcSpatialStructureElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcSpatialStructureElementType_type);defs.push_back(IFC4X2_IfcSpatialZoneType_type); IFC4X2_IfcSpatialElementType_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcStructuralAction_type);defs.push_back(IFC4X2_IfcStructuralReaction_type); IFC4X2_IfcStructuralActivity_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcStructuralConnection_type);defs.push_back(IFC4X2_IfcStructuralMember_type); IFC4X2_IfcStructuralItem_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcStructuralCurveAction_type);defs.push_back(IFC4X2_IfcStructuralPointAction_type);defs.push_back(IFC4X2_IfcStructuralSurfaceAction_type); IFC4X2_IfcStructuralAction_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcStructuralCurveConnection_type);defs.push_back(IFC4X2_IfcStructuralPointConnection_type);defs.push_back(IFC4X2_IfcStructuralSurfaceConnection_type); IFC4X2_IfcStructuralConnection_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcStructuralCurveMember_type);defs.push_back(IFC4X2_IfcStructuralSurfaceMember_type); IFC4X2_IfcStructuralMember_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcStructuralCurveMemberVarying_type); IFC4X2_IfcStructuralCurveMember_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcStructuralCurveReaction_type);defs.push_back(IFC4X2_IfcStructuralPointReaction_type);defs.push_back(IFC4X2_IfcStructuralSurfaceReaction_type); IFC4X2_IfcStructuralReaction_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcStructuralLinearAction_type); IFC4X2_IfcStructuralCurveAction_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcStructuralLoadCase_type); IFC4X2_IfcStructuralLoadGroup_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcStructuralLoadConfiguration_type);defs.push_back(IFC4X2_IfcStructuralLoadOrResult_type); IFC4X2_IfcStructuralLoad_type->set_subtypes(defs); } { std::vector defs; defs.reserve(5); defs.push_back(IFC4X2_IfcStructuralLoadLinearForce_type);defs.push_back(IFC4X2_IfcStructuralLoadPlanarForce_type);defs.push_back(IFC4X2_IfcStructuralLoadSingleDisplacement_type);defs.push_back(IFC4X2_IfcStructuralLoadSingleForce_type);defs.push_back(IFC4X2_IfcStructuralLoadTemperature_type); IFC4X2_IfcStructuralLoadStatic_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcStructuralLoadSingleDisplacementDistortion_type); IFC4X2_IfcStructuralLoadSingleDisplacement_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcStructuralLoadSingleForceWarping_type); IFC4X2_IfcStructuralLoadSingleForce_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcStructuralLoadStatic_type);defs.push_back(IFC4X2_IfcSurfaceReinforcementArea_type); IFC4X2_IfcStructuralLoadOrResult_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcStructuralPlanarAction_type); IFC4X2_IfcStructuralSurfaceAction_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcStructuralSurfaceMemberVarying_type); IFC4X2_IfcStructuralSurfaceMember_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcStyledRepresentation_type); IFC4X2_IfcStyleModel_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcSurfaceOfLinearExtrusion_type);defs.push_back(IFC4X2_IfcSurfaceOfRevolution_type); IFC4X2_IfcSweptSurface_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcSurfaceStyleRendering_type); IFC4X2_IfcSurfaceStyleShading_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcSweptDiskSolidPolygonal_type); IFC4X2_IfcSweptDiskSolid_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcTaskTimeRecurring_type); IFC4X2_IfcTaskTime_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcTextLiteralWithExtent_type); IFC4X2_IfcTextLiteral_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcTextStyleFontModel_type); IFC4X2_IfcPreDefinedTextFont_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcTriangulatedIrregularNetwork_type); IFC4X2_IfcTriangulatedFaceSet_type->set_subtypes(defs); } { std::vector defs; defs.reserve(3); defs.push_back(IFC4X2_IfcTypeProcess_type);defs.push_back(IFC4X2_IfcTypeProduct_type);defs.push_back(IFC4X2_IfcTypeResource_type); IFC4X2_IfcTypeObject_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcVertexPoint_type); IFC4X2_IfcVertex_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcWallElementedCase_type);defs.push_back(IFC4X2_IfcWallStandardCase_type); IFC4X2_IfcWall_type->set_subtypes(defs); } { std::vector defs; defs.reserve(1); defs.push_back(IFC4X2_IfcWindowStandardCase_type); IFC4X2_IfcWindow_type->set_subtypes(defs); } { std::vector defs; defs.reserve(2); defs.push_back(IFC4X2_IfcWorkPlan_type);defs.push_back(IFC4X2_IfcWorkSchedule_type); IFC4X2_IfcWorkControl_type->set_subtypes(defs); } std::vector declarations; declarations.reserve(1223); declarations.push_back(IFC4X2_IfcAbsorbedDoseMeasure_type); declarations.push_back(IFC4X2_IfcAccelerationMeasure_type); declarations.push_back(IFC4X2_IfcActionRequest_type); declarations.push_back(IFC4X2_IfcActionRequestTypeEnum_type); declarations.push_back(IFC4X2_IfcActionSourceTypeEnum_type); declarations.push_back(IFC4X2_IfcActionTypeEnum_type); declarations.push_back(IFC4X2_IfcActor_type); declarations.push_back(IFC4X2_IfcActorRole_type); declarations.push_back(IFC4X2_IfcActorSelect_type); declarations.push_back(IFC4X2_IfcActuator_type); declarations.push_back(IFC4X2_IfcActuatorType_type); declarations.push_back(IFC4X2_IfcActuatorTypeEnum_type); declarations.push_back(IFC4X2_IfcAddress_type); declarations.push_back(IFC4X2_IfcAddressTypeEnum_type); declarations.push_back(IFC4X2_IfcAdvancedBrep_type); declarations.push_back(IFC4X2_IfcAdvancedBrepWithVoids_type); declarations.push_back(IFC4X2_IfcAdvancedFace_type); declarations.push_back(IFC4X2_IfcAirTerminal_type); declarations.push_back(IFC4X2_IfcAirTerminalBox_type); declarations.push_back(IFC4X2_IfcAirTerminalBoxType_type); declarations.push_back(IFC4X2_IfcAirTerminalBoxTypeEnum_type); declarations.push_back(IFC4X2_IfcAirTerminalType_type); declarations.push_back(IFC4X2_IfcAirTerminalTypeEnum_type); declarations.push_back(IFC4X2_IfcAirToAirHeatRecovery_type); declarations.push_back(IFC4X2_IfcAirToAirHeatRecoveryType_type); declarations.push_back(IFC4X2_IfcAirToAirHeatRecoveryTypeEnum_type); declarations.push_back(IFC4X2_IfcAlarm_type); declarations.push_back(IFC4X2_IfcAlarmType_type); declarations.push_back(IFC4X2_IfcAlarmTypeEnum_type); declarations.push_back(IFC4X2_IfcAlignment_type); declarations.push_back(IFC4X2_IfcAlignment2DHorizontal_type); declarations.push_back(IFC4X2_IfcAlignment2DHorizontalSegment_type); declarations.push_back(IFC4X2_IfcAlignment2DSegment_type); declarations.push_back(IFC4X2_IfcAlignment2DVerSegCircularArc_type); declarations.push_back(IFC4X2_IfcAlignment2DVerSegLine_type); declarations.push_back(IFC4X2_IfcAlignment2DVerSegParabolicArc_type); declarations.push_back(IFC4X2_IfcAlignment2DVertical_type); declarations.push_back(IFC4X2_IfcAlignment2DVerticalSegment_type); declarations.push_back(IFC4X2_IfcAlignmentCurve_type); declarations.push_back(IFC4X2_IfcAlignmentTypeEnum_type); declarations.push_back(IFC4X2_IfcAmountOfSubstanceMeasure_type); declarations.push_back(IFC4X2_IfcAnalysisModelTypeEnum_type); declarations.push_back(IFC4X2_IfcAnalysisTheoryTypeEnum_type); declarations.push_back(IFC4X2_IfcAngularVelocityMeasure_type); declarations.push_back(IFC4X2_IfcAnnotation_type); declarations.push_back(IFC4X2_IfcAnnotationFillArea_type); declarations.push_back(IFC4X2_IfcApplication_type); declarations.push_back(IFC4X2_IfcAppliedValue_type); declarations.push_back(IFC4X2_IfcAppliedValueSelect_type); declarations.push_back(IFC4X2_IfcApproval_type); declarations.push_back(IFC4X2_IfcApprovalRelationship_type); declarations.push_back(IFC4X2_IfcArbitraryClosedProfileDef_type); declarations.push_back(IFC4X2_IfcArbitraryOpenProfileDef_type); declarations.push_back(IFC4X2_IfcArbitraryProfileDefWithVoids_type); declarations.push_back(IFC4X2_IfcArcIndex_type); declarations.push_back(IFC4X2_IfcAreaDensityMeasure_type); declarations.push_back(IFC4X2_IfcAreaMeasure_type); declarations.push_back(IFC4X2_IfcArithmeticOperatorEnum_type); declarations.push_back(IFC4X2_IfcAssemblyPlaceEnum_type); declarations.push_back(IFC4X2_IfcAsset_type); declarations.push_back(IFC4X2_IfcAsymmetricIShapeProfileDef_type); declarations.push_back(IFC4X2_IfcAudioVisualAppliance_type); declarations.push_back(IFC4X2_IfcAudioVisualApplianceType_type); declarations.push_back(IFC4X2_IfcAudioVisualApplianceTypeEnum_type); declarations.push_back(IFC4X2_IfcAxis1Placement_type); declarations.push_back(IFC4X2_IfcAxis2Placement_type); declarations.push_back(IFC4X2_IfcAxis2Placement2D_type); declarations.push_back(IFC4X2_IfcAxis2Placement3D_type); declarations.push_back(IFC4X2_IfcBeam_type); declarations.push_back(IFC4X2_IfcBeamStandardCase_type); declarations.push_back(IFC4X2_IfcBeamType_type); declarations.push_back(IFC4X2_IfcBeamTypeEnum_type); declarations.push_back(IFC4X2_IfcBearing_type); declarations.push_back(IFC4X2_IfcBearingType_type); declarations.push_back(IFC4X2_IfcBearingTypeDisplacementEnum_type); declarations.push_back(IFC4X2_IfcBearingTypeEnum_type); declarations.push_back(IFC4X2_IfcBenchmarkEnum_type); declarations.push_back(IFC4X2_IfcBendingParameterSelect_type); declarations.push_back(IFC4X2_IfcBinary_type); declarations.push_back(IFC4X2_IfcBlobTexture_type); declarations.push_back(IFC4X2_IfcBlock_type); declarations.push_back(IFC4X2_IfcBoiler_type); declarations.push_back(IFC4X2_IfcBoilerType_type); declarations.push_back(IFC4X2_IfcBoilerTypeEnum_type); declarations.push_back(IFC4X2_IfcBoolean_type); declarations.push_back(IFC4X2_IfcBooleanClippingResult_type); declarations.push_back(IFC4X2_IfcBooleanOperand_type); declarations.push_back(IFC4X2_IfcBooleanOperator_type); declarations.push_back(IFC4X2_IfcBooleanResult_type); declarations.push_back(IFC4X2_IfcBoundaryCondition_type); declarations.push_back(IFC4X2_IfcBoundaryCurve_type); declarations.push_back(IFC4X2_IfcBoundaryEdgeCondition_type); declarations.push_back(IFC4X2_IfcBoundaryFaceCondition_type); declarations.push_back(IFC4X2_IfcBoundaryNodeCondition_type); declarations.push_back(IFC4X2_IfcBoundaryNodeConditionWarping_type); declarations.push_back(IFC4X2_IfcBoundedCurve_type); declarations.push_back(IFC4X2_IfcBoundedSurface_type); declarations.push_back(IFC4X2_IfcBoundingBox_type); declarations.push_back(IFC4X2_IfcBoxAlignment_type); declarations.push_back(IFC4X2_IfcBoxedHalfSpace_type); declarations.push_back(IFC4X2_IfcBridge_type); declarations.push_back(IFC4X2_IfcBridgePart_type); declarations.push_back(IFC4X2_IfcBridgePartTypeEnum_type); declarations.push_back(IFC4X2_IfcBridgeTypeEnum_type); declarations.push_back(IFC4X2_IfcBSplineCurve_type); declarations.push_back(IFC4X2_IfcBSplineCurveForm_type); declarations.push_back(IFC4X2_IfcBSplineCurveWithKnots_type); declarations.push_back(IFC4X2_IfcBSplineSurface_type); declarations.push_back(IFC4X2_IfcBSplineSurfaceForm_type); declarations.push_back(IFC4X2_IfcBSplineSurfaceWithKnots_type); declarations.push_back(IFC4X2_IfcBuilding_type); declarations.push_back(IFC4X2_IfcBuildingElement_type); declarations.push_back(IFC4X2_IfcBuildingElementPart_type); declarations.push_back(IFC4X2_IfcBuildingElementPartType_type); declarations.push_back(IFC4X2_IfcBuildingElementPartTypeEnum_type); declarations.push_back(IFC4X2_IfcBuildingElementProxy_type); declarations.push_back(IFC4X2_IfcBuildingElementProxyType_type); declarations.push_back(IFC4X2_IfcBuildingElementProxyTypeEnum_type); declarations.push_back(IFC4X2_IfcBuildingElementType_type); declarations.push_back(IFC4X2_IfcBuildingStorey_type); declarations.push_back(IFC4X2_IfcBuildingSystem_type); declarations.push_back(IFC4X2_IfcBuildingSystemTypeEnum_type); declarations.push_back(IFC4X2_IfcBurner_type); declarations.push_back(IFC4X2_IfcBurnerType_type); declarations.push_back(IFC4X2_IfcBurnerTypeEnum_type); declarations.push_back(IFC4X2_IfcCableCarrierFitting_type); declarations.push_back(IFC4X2_IfcCableCarrierFittingType_type); declarations.push_back(IFC4X2_IfcCableCarrierFittingTypeEnum_type); declarations.push_back(IFC4X2_IfcCableCarrierSegment_type); declarations.push_back(IFC4X2_IfcCableCarrierSegmentType_type); declarations.push_back(IFC4X2_IfcCableCarrierSegmentTypeEnum_type); declarations.push_back(IFC4X2_IfcCableFitting_type); declarations.push_back(IFC4X2_IfcCableFittingType_type); declarations.push_back(IFC4X2_IfcCableFittingTypeEnum_type); declarations.push_back(IFC4X2_IfcCableSegment_type); declarations.push_back(IFC4X2_IfcCableSegmentType_type); declarations.push_back(IFC4X2_IfcCableSegmentTypeEnum_type); declarations.push_back(IFC4X2_IfcCaissonFoundation_type); declarations.push_back(IFC4X2_IfcCaissonFoundationType_type); declarations.push_back(IFC4X2_IfcCaissonFoundationTypeEnum_type); declarations.push_back(IFC4X2_IfcCardinalPointReference_type); declarations.push_back(IFC4X2_IfcCartesianPoint_type); declarations.push_back(IFC4X2_IfcCartesianPointList_type); declarations.push_back(IFC4X2_IfcCartesianPointList2D_type); declarations.push_back(IFC4X2_IfcCartesianPointList3D_type); declarations.push_back(IFC4X2_IfcCartesianTransformationOperator_type); declarations.push_back(IFC4X2_IfcCartesianTransformationOperator2D_type); declarations.push_back(IFC4X2_IfcCartesianTransformationOperator2DnonUniform_type); declarations.push_back(IFC4X2_IfcCartesianTransformationOperator3D_type); declarations.push_back(IFC4X2_IfcCartesianTransformationOperator3DnonUniform_type); declarations.push_back(IFC4X2_IfcCenterLineProfileDef_type); declarations.push_back(IFC4X2_IfcChangeActionEnum_type); declarations.push_back(IFC4X2_IfcChiller_type); declarations.push_back(IFC4X2_IfcChillerType_type); declarations.push_back(IFC4X2_IfcChillerTypeEnum_type); declarations.push_back(IFC4X2_IfcChimney_type); declarations.push_back(IFC4X2_IfcChimneyType_type); declarations.push_back(IFC4X2_IfcChimneyTypeEnum_type); declarations.push_back(IFC4X2_IfcCircle_type); declarations.push_back(IFC4X2_IfcCircleHollowProfileDef_type); declarations.push_back(IFC4X2_IfcCircleProfileDef_type); declarations.push_back(IFC4X2_IfcCircularArcSegment2D_type); declarations.push_back(IFC4X2_IfcCivilElement_type); declarations.push_back(IFC4X2_IfcCivilElementType_type); declarations.push_back(IFC4X2_IfcClassification_type); declarations.push_back(IFC4X2_IfcClassificationReference_type); declarations.push_back(IFC4X2_IfcClassificationReferenceSelect_type); declarations.push_back(IFC4X2_IfcClassificationSelect_type); declarations.push_back(IFC4X2_IfcClosedShell_type); declarations.push_back(IFC4X2_IfcCoil_type); declarations.push_back(IFC4X2_IfcCoilType_type); declarations.push_back(IFC4X2_IfcCoilTypeEnum_type); declarations.push_back(IFC4X2_IfcColour_type); declarations.push_back(IFC4X2_IfcColourOrFactor_type); declarations.push_back(IFC4X2_IfcColourRgb_type); declarations.push_back(IFC4X2_IfcColourRgbList_type); declarations.push_back(IFC4X2_IfcColourSpecification_type); declarations.push_back(IFC4X2_IfcColumn_type); declarations.push_back(IFC4X2_IfcColumnStandardCase_type); declarations.push_back(IFC4X2_IfcColumnType_type); declarations.push_back(IFC4X2_IfcColumnTypeEnum_type); declarations.push_back(IFC4X2_IfcCommunicationsAppliance_type); declarations.push_back(IFC4X2_IfcCommunicationsApplianceType_type); declarations.push_back(IFC4X2_IfcCommunicationsApplianceTypeEnum_type); declarations.push_back(IFC4X2_IfcComplexNumber_type); declarations.push_back(IFC4X2_IfcComplexProperty_type); declarations.push_back(IFC4X2_IfcComplexPropertyTemplate_type); declarations.push_back(IFC4X2_IfcComplexPropertyTemplateTypeEnum_type); declarations.push_back(IFC4X2_IfcCompositeCurve_type); declarations.push_back(IFC4X2_IfcCompositeCurveOnSurface_type); declarations.push_back(IFC4X2_IfcCompositeCurveSegment_type); declarations.push_back(IFC4X2_IfcCompositeProfileDef_type); declarations.push_back(IFC4X2_IfcCompoundPlaneAngleMeasure_type); declarations.push_back(IFC4X2_IfcCompressor_type); declarations.push_back(IFC4X2_IfcCompressorType_type); declarations.push_back(IFC4X2_IfcCompressorTypeEnum_type); declarations.push_back(IFC4X2_IfcCondenser_type); declarations.push_back(IFC4X2_IfcCondenserType_type); declarations.push_back(IFC4X2_IfcCondenserTypeEnum_type); declarations.push_back(IFC4X2_IfcConic_type); declarations.push_back(IFC4X2_IfcConnectedFaceSet_type); declarations.push_back(IFC4X2_IfcConnectionCurveGeometry_type); declarations.push_back(IFC4X2_IfcConnectionGeometry_type); declarations.push_back(IFC4X2_IfcConnectionPointEccentricity_type); declarations.push_back(IFC4X2_IfcConnectionPointGeometry_type); declarations.push_back(IFC4X2_IfcConnectionSurfaceGeometry_type); declarations.push_back(IFC4X2_IfcConnectionTypeEnum_type); declarations.push_back(IFC4X2_IfcConnectionVolumeGeometry_type); declarations.push_back(IFC4X2_IfcConstraint_type); declarations.push_back(IFC4X2_IfcConstraintEnum_type); declarations.push_back(IFC4X2_IfcConstructionEquipmentResource_type); declarations.push_back(IFC4X2_IfcConstructionEquipmentResourceType_type); declarations.push_back(IFC4X2_IfcConstructionEquipmentResourceTypeEnum_type); declarations.push_back(IFC4X2_IfcConstructionMaterialResource_type); declarations.push_back(IFC4X2_IfcConstructionMaterialResourceType_type); declarations.push_back(IFC4X2_IfcConstructionMaterialResourceTypeEnum_type); declarations.push_back(IFC4X2_IfcConstructionProductResource_type); declarations.push_back(IFC4X2_IfcConstructionProductResourceType_type); declarations.push_back(IFC4X2_IfcConstructionProductResourceTypeEnum_type); declarations.push_back(IFC4X2_IfcConstructionResource_type); declarations.push_back(IFC4X2_IfcConstructionResourceType_type); declarations.push_back(IFC4X2_IfcContext_type); declarations.push_back(IFC4X2_IfcContextDependentMeasure_type); declarations.push_back(IFC4X2_IfcContextDependentUnit_type); declarations.push_back(IFC4X2_IfcControl_type); declarations.push_back(IFC4X2_IfcController_type); declarations.push_back(IFC4X2_IfcControllerType_type); declarations.push_back(IFC4X2_IfcControllerTypeEnum_type); declarations.push_back(IFC4X2_IfcConversionBasedUnit_type); declarations.push_back(IFC4X2_IfcConversionBasedUnitWithOffset_type); declarations.push_back(IFC4X2_IfcCooledBeam_type); declarations.push_back(IFC4X2_IfcCooledBeamType_type); declarations.push_back(IFC4X2_IfcCooledBeamTypeEnum_type); declarations.push_back(IFC4X2_IfcCoolingTower_type); declarations.push_back(IFC4X2_IfcCoolingTowerType_type); declarations.push_back(IFC4X2_IfcCoolingTowerTypeEnum_type); declarations.push_back(IFC4X2_IfcCoordinateOperation_type); declarations.push_back(IFC4X2_IfcCoordinateReferenceSystem_type); declarations.push_back(IFC4X2_IfcCoordinateReferenceSystemSelect_type); declarations.push_back(IFC4X2_IfcCostItem_type); declarations.push_back(IFC4X2_IfcCostItemTypeEnum_type); declarations.push_back(IFC4X2_IfcCostSchedule_type); declarations.push_back(IFC4X2_IfcCostScheduleTypeEnum_type); declarations.push_back(IFC4X2_IfcCostValue_type); declarations.push_back(IFC4X2_IfcCountMeasure_type); declarations.push_back(IFC4X2_IfcCovering_type); declarations.push_back(IFC4X2_IfcCoveringType_type); declarations.push_back(IFC4X2_IfcCoveringTypeEnum_type); declarations.push_back(IFC4X2_IfcCrewResource_type); declarations.push_back(IFC4X2_IfcCrewResourceType_type); declarations.push_back(IFC4X2_IfcCrewResourceTypeEnum_type); declarations.push_back(IFC4X2_IfcCsgPrimitive3D_type); declarations.push_back(IFC4X2_IfcCsgSelect_type); declarations.push_back(IFC4X2_IfcCsgSolid_type); declarations.push_back(IFC4X2_IfcCShapeProfileDef_type); declarations.push_back(IFC4X2_IfcCurrencyRelationship_type); declarations.push_back(IFC4X2_IfcCurtainWall_type); declarations.push_back(IFC4X2_IfcCurtainWallType_type); declarations.push_back(IFC4X2_IfcCurtainWallTypeEnum_type); declarations.push_back(IFC4X2_IfcCurvatureMeasure_type); declarations.push_back(IFC4X2_IfcCurve_type); declarations.push_back(IFC4X2_IfcCurveBoundedPlane_type); declarations.push_back(IFC4X2_IfcCurveBoundedSurface_type); declarations.push_back(IFC4X2_IfcCurveFontOrScaledCurveFontSelect_type); declarations.push_back(IFC4X2_IfcCurveInterpolationEnum_type); declarations.push_back(IFC4X2_IfcCurveOnSurface_type); declarations.push_back(IFC4X2_IfcCurveOrEdgeCurve_type); declarations.push_back(IFC4X2_IfcCurveSegment2D_type); declarations.push_back(IFC4X2_IfcCurveStyle_type); declarations.push_back(IFC4X2_IfcCurveStyleFont_type); declarations.push_back(IFC4X2_IfcCurveStyleFontAndScaling_type); declarations.push_back(IFC4X2_IfcCurveStyleFontPattern_type); declarations.push_back(IFC4X2_IfcCurveStyleFontSelect_type); declarations.push_back(IFC4X2_IfcCylindricalSurface_type); declarations.push_back(IFC4X2_IfcDamper_type); declarations.push_back(IFC4X2_IfcDamperType_type); declarations.push_back(IFC4X2_IfcDamperTypeEnum_type); declarations.push_back(IFC4X2_IfcDataOriginEnum_type); declarations.push_back(IFC4X2_IfcDate_type); declarations.push_back(IFC4X2_IfcDateTime_type); declarations.push_back(IFC4X2_IfcDayInMonthNumber_type); declarations.push_back(IFC4X2_IfcDayInWeekNumber_type); declarations.push_back(IFC4X2_IfcDeepFoundation_type); declarations.push_back(IFC4X2_IfcDeepFoundationType_type); declarations.push_back(IFC4X2_IfcDefinitionSelect_type); declarations.push_back(IFC4X2_IfcDerivedMeasureValue_type); declarations.push_back(IFC4X2_IfcDerivedProfileDef_type); declarations.push_back(IFC4X2_IfcDerivedUnit_type); declarations.push_back(IFC4X2_IfcDerivedUnitElement_type); declarations.push_back(IFC4X2_IfcDerivedUnitEnum_type); declarations.push_back(IFC4X2_IfcDescriptiveMeasure_type); declarations.push_back(IFC4X2_IfcDimensionalExponents_type); declarations.push_back(IFC4X2_IfcDimensionCount_type); declarations.push_back(IFC4X2_IfcDirection_type); declarations.push_back(IFC4X2_IfcDirectionSenseEnum_type); declarations.push_back(IFC4X2_IfcDiscreteAccessory_type); declarations.push_back(IFC4X2_IfcDiscreteAccessoryType_type); declarations.push_back(IFC4X2_IfcDiscreteAccessoryTypeEnum_type); declarations.push_back(IFC4X2_IfcDistanceExpression_type); declarations.push_back(IFC4X2_IfcDistributionChamberElement_type); declarations.push_back(IFC4X2_IfcDistributionChamberElementType_type); declarations.push_back(IFC4X2_IfcDistributionChamberElementTypeEnum_type); declarations.push_back(IFC4X2_IfcDistributionCircuit_type); declarations.push_back(IFC4X2_IfcDistributionControlElement_type); declarations.push_back(IFC4X2_IfcDistributionControlElementType_type); declarations.push_back(IFC4X2_IfcDistributionElement_type); declarations.push_back(IFC4X2_IfcDistributionElementType_type); declarations.push_back(IFC4X2_IfcDistributionFlowElement_type); declarations.push_back(IFC4X2_IfcDistributionFlowElementType_type); declarations.push_back(IFC4X2_IfcDistributionPort_type); declarations.push_back(IFC4X2_IfcDistributionPortTypeEnum_type); declarations.push_back(IFC4X2_IfcDistributionSystem_type); declarations.push_back(IFC4X2_IfcDistributionSystemEnum_type); declarations.push_back(IFC4X2_IfcDocumentConfidentialityEnum_type); declarations.push_back(IFC4X2_IfcDocumentInformation_type); declarations.push_back(IFC4X2_IfcDocumentInformationRelationship_type); declarations.push_back(IFC4X2_IfcDocumentReference_type); declarations.push_back(IFC4X2_IfcDocumentSelect_type); declarations.push_back(IFC4X2_IfcDocumentStatusEnum_type); declarations.push_back(IFC4X2_IfcDoor_type); declarations.push_back(IFC4X2_IfcDoorLiningProperties_type); declarations.push_back(IFC4X2_IfcDoorPanelOperationEnum_type); declarations.push_back(IFC4X2_IfcDoorPanelPositionEnum_type); declarations.push_back(IFC4X2_IfcDoorPanelProperties_type); declarations.push_back(IFC4X2_IfcDoorStandardCase_type); declarations.push_back(IFC4X2_IfcDoorStyle_type); declarations.push_back(IFC4X2_IfcDoorStyleConstructionEnum_type); declarations.push_back(IFC4X2_IfcDoorStyleOperationEnum_type); declarations.push_back(IFC4X2_IfcDoorType_type); declarations.push_back(IFC4X2_IfcDoorTypeEnum_type); declarations.push_back(IFC4X2_IfcDoorTypeOperationEnum_type); declarations.push_back(IFC4X2_IfcDoseEquivalentMeasure_type); declarations.push_back(IFC4X2_IfcDraughtingPreDefinedColour_type); declarations.push_back(IFC4X2_IfcDraughtingPreDefinedCurveFont_type); declarations.push_back(IFC4X2_IfcDuctFitting_type); declarations.push_back(IFC4X2_IfcDuctFittingType_type); declarations.push_back(IFC4X2_IfcDuctFittingTypeEnum_type); declarations.push_back(IFC4X2_IfcDuctSegment_type); declarations.push_back(IFC4X2_IfcDuctSegmentType_type); declarations.push_back(IFC4X2_IfcDuctSegmentTypeEnum_type); declarations.push_back(IFC4X2_IfcDuctSilencer_type); declarations.push_back(IFC4X2_IfcDuctSilencerType_type); declarations.push_back(IFC4X2_IfcDuctSilencerTypeEnum_type); declarations.push_back(IFC4X2_IfcDuration_type); declarations.push_back(IFC4X2_IfcDynamicViscosityMeasure_type); declarations.push_back(IFC4X2_IfcEdge_type); declarations.push_back(IFC4X2_IfcEdgeCurve_type); declarations.push_back(IFC4X2_IfcEdgeLoop_type); declarations.push_back(IFC4X2_IfcElectricAppliance_type); declarations.push_back(IFC4X2_IfcElectricApplianceType_type); declarations.push_back(IFC4X2_IfcElectricApplianceTypeEnum_type); declarations.push_back(IFC4X2_IfcElectricCapacitanceMeasure_type); declarations.push_back(IFC4X2_IfcElectricChargeMeasure_type); declarations.push_back(IFC4X2_IfcElectricConductanceMeasure_type); declarations.push_back(IFC4X2_IfcElectricCurrentMeasure_type); declarations.push_back(IFC4X2_IfcElectricDistributionBoard_type); declarations.push_back(IFC4X2_IfcElectricDistributionBoardType_type); declarations.push_back(IFC4X2_IfcElectricDistributionBoardTypeEnum_type); declarations.push_back(IFC4X2_IfcElectricFlowStorageDevice_type); declarations.push_back(IFC4X2_IfcElectricFlowStorageDeviceType_type); declarations.push_back(IFC4X2_IfcElectricFlowStorageDeviceTypeEnum_type); declarations.push_back(IFC4X2_IfcElectricGenerator_type); declarations.push_back(IFC4X2_IfcElectricGeneratorType_type); declarations.push_back(IFC4X2_IfcElectricGeneratorTypeEnum_type); declarations.push_back(IFC4X2_IfcElectricMotor_type); declarations.push_back(IFC4X2_IfcElectricMotorType_type); declarations.push_back(IFC4X2_IfcElectricMotorTypeEnum_type); declarations.push_back(IFC4X2_IfcElectricResistanceMeasure_type); declarations.push_back(IFC4X2_IfcElectricTimeControl_type); declarations.push_back(IFC4X2_IfcElectricTimeControlType_type); declarations.push_back(IFC4X2_IfcElectricTimeControlTypeEnum_type); declarations.push_back(IFC4X2_IfcElectricVoltageMeasure_type); declarations.push_back(IFC4X2_IfcElement_type); declarations.push_back(IFC4X2_IfcElementarySurface_type); declarations.push_back(IFC4X2_IfcElementAssembly_type); declarations.push_back(IFC4X2_IfcElementAssemblyType_type); declarations.push_back(IFC4X2_IfcElementAssemblyTypeEnum_type); declarations.push_back(IFC4X2_IfcElementComponent_type); declarations.push_back(IFC4X2_IfcElementComponentType_type); declarations.push_back(IFC4X2_IfcElementCompositionEnum_type); declarations.push_back(IFC4X2_IfcElementQuantity_type); declarations.push_back(IFC4X2_IfcElementType_type); declarations.push_back(IFC4X2_IfcEllipse_type); declarations.push_back(IFC4X2_IfcEllipseProfileDef_type); declarations.push_back(IFC4X2_IfcEnergyConversionDevice_type); declarations.push_back(IFC4X2_IfcEnergyConversionDeviceType_type); declarations.push_back(IFC4X2_IfcEnergyMeasure_type); declarations.push_back(IFC4X2_IfcEngine_type); declarations.push_back(IFC4X2_IfcEngineType_type); declarations.push_back(IFC4X2_IfcEngineTypeEnum_type); declarations.push_back(IFC4X2_IfcEvaporativeCooler_type); declarations.push_back(IFC4X2_IfcEvaporativeCoolerType_type); declarations.push_back(IFC4X2_IfcEvaporativeCoolerTypeEnum_type); declarations.push_back(IFC4X2_IfcEvaporator_type); declarations.push_back(IFC4X2_IfcEvaporatorType_type); declarations.push_back(IFC4X2_IfcEvaporatorTypeEnum_type); declarations.push_back(IFC4X2_IfcEvent_type); declarations.push_back(IFC4X2_IfcEventTime_type); declarations.push_back(IFC4X2_IfcEventTriggerTypeEnum_type); declarations.push_back(IFC4X2_IfcEventType_type); declarations.push_back(IFC4X2_IfcEventTypeEnum_type); declarations.push_back(IFC4X2_IfcExtendedProperties_type); declarations.push_back(IFC4X2_IfcExternalInformation_type); declarations.push_back(IFC4X2_IfcExternallyDefinedHatchStyle_type); declarations.push_back(IFC4X2_IfcExternallyDefinedSurfaceStyle_type); declarations.push_back(IFC4X2_IfcExternallyDefinedTextFont_type); declarations.push_back(IFC4X2_IfcExternalReference_type); declarations.push_back(IFC4X2_IfcExternalReferenceRelationship_type); declarations.push_back(IFC4X2_IfcExternalSpatialElement_type); declarations.push_back(IFC4X2_IfcExternalSpatialElementTypeEnum_type); declarations.push_back(IFC4X2_IfcExternalSpatialStructureElement_type); declarations.push_back(IFC4X2_IfcExtrudedAreaSolid_type); declarations.push_back(IFC4X2_IfcExtrudedAreaSolidTapered_type); declarations.push_back(IFC4X2_IfcFace_type); declarations.push_back(IFC4X2_IfcFaceBasedSurfaceModel_type); declarations.push_back(IFC4X2_IfcFaceBound_type); declarations.push_back(IFC4X2_IfcFaceOuterBound_type); declarations.push_back(IFC4X2_IfcFaceSurface_type); declarations.push_back(IFC4X2_IfcFacetedBrep_type); declarations.push_back(IFC4X2_IfcFacetedBrepWithVoids_type); declarations.push_back(IFC4X2_IfcFacility_type); declarations.push_back(IFC4X2_IfcFacilityPart_type); declarations.push_back(IFC4X2_IfcFailureConnectionCondition_type); declarations.push_back(IFC4X2_IfcFan_type); declarations.push_back(IFC4X2_IfcFanType_type); declarations.push_back(IFC4X2_IfcFanTypeEnum_type); declarations.push_back(IFC4X2_IfcFastener_type); declarations.push_back(IFC4X2_IfcFastenerType_type); declarations.push_back(IFC4X2_IfcFastenerTypeEnum_type); declarations.push_back(IFC4X2_IfcFeatureElement_type); declarations.push_back(IFC4X2_IfcFeatureElementAddition_type); declarations.push_back(IFC4X2_IfcFeatureElementSubtraction_type); declarations.push_back(IFC4X2_IfcFillAreaStyle_type); declarations.push_back(IFC4X2_IfcFillAreaStyleHatching_type); declarations.push_back(IFC4X2_IfcFillAreaStyleTiles_type); declarations.push_back(IFC4X2_IfcFillStyleSelect_type); declarations.push_back(IFC4X2_IfcFilter_type); declarations.push_back(IFC4X2_IfcFilterType_type); declarations.push_back(IFC4X2_IfcFilterTypeEnum_type); declarations.push_back(IFC4X2_IfcFireSuppressionTerminal_type); declarations.push_back(IFC4X2_IfcFireSuppressionTerminalType_type); declarations.push_back(IFC4X2_IfcFireSuppressionTerminalTypeEnum_type); declarations.push_back(IFC4X2_IfcFixedReferenceSweptAreaSolid_type); declarations.push_back(IFC4X2_IfcFlowController_type); declarations.push_back(IFC4X2_IfcFlowControllerType_type); declarations.push_back(IFC4X2_IfcFlowDirectionEnum_type); declarations.push_back(IFC4X2_IfcFlowFitting_type); declarations.push_back(IFC4X2_IfcFlowFittingType_type); declarations.push_back(IFC4X2_IfcFlowInstrument_type); declarations.push_back(IFC4X2_IfcFlowInstrumentType_type); declarations.push_back(IFC4X2_IfcFlowInstrumentTypeEnum_type); declarations.push_back(IFC4X2_IfcFlowMeter_type); declarations.push_back(IFC4X2_IfcFlowMeterType_type); declarations.push_back(IFC4X2_IfcFlowMeterTypeEnum_type); declarations.push_back(IFC4X2_IfcFlowMovingDevice_type); declarations.push_back(IFC4X2_IfcFlowMovingDeviceType_type); declarations.push_back(IFC4X2_IfcFlowSegment_type); declarations.push_back(IFC4X2_IfcFlowSegmentType_type); declarations.push_back(IFC4X2_IfcFlowStorageDevice_type); declarations.push_back(IFC4X2_IfcFlowStorageDeviceType_type); declarations.push_back(IFC4X2_IfcFlowTerminal_type); declarations.push_back(IFC4X2_IfcFlowTerminalType_type); declarations.push_back(IFC4X2_IfcFlowTreatmentDevice_type); declarations.push_back(IFC4X2_IfcFlowTreatmentDeviceType_type); declarations.push_back(IFC4X2_IfcFontStyle_type); declarations.push_back(IFC4X2_IfcFontVariant_type); declarations.push_back(IFC4X2_IfcFontWeight_type); declarations.push_back(IFC4X2_IfcFooting_type); declarations.push_back(IFC4X2_IfcFootingType_type); declarations.push_back(IFC4X2_IfcFootingTypeEnum_type); declarations.push_back(IFC4X2_IfcForceMeasure_type); declarations.push_back(IFC4X2_IfcFrequencyMeasure_type); declarations.push_back(IFC4X2_IfcFurnishingElement_type); declarations.push_back(IFC4X2_IfcFurnishingElementType_type); declarations.push_back(IFC4X2_IfcFurniture_type); declarations.push_back(IFC4X2_IfcFurnitureType_type); declarations.push_back(IFC4X2_IfcFurnitureTypeEnum_type); declarations.push_back(IFC4X2_IfcGeographicElement_type); declarations.push_back(IFC4X2_IfcGeographicElementType_type); declarations.push_back(IFC4X2_IfcGeographicElementTypeEnum_type); declarations.push_back(IFC4X2_IfcGeometricCurveSet_type); declarations.push_back(IFC4X2_IfcGeometricProjectionEnum_type); declarations.push_back(IFC4X2_IfcGeometricRepresentationContext_type); declarations.push_back(IFC4X2_IfcGeometricRepresentationItem_type); declarations.push_back(IFC4X2_IfcGeometricRepresentationSubContext_type); declarations.push_back(IFC4X2_IfcGeometricSet_type); declarations.push_back(IFC4X2_IfcGeometricSetSelect_type); declarations.push_back(IFC4X2_IfcGloballyUniqueId_type); declarations.push_back(IFC4X2_IfcGlobalOrLocalEnum_type); declarations.push_back(IFC4X2_IfcGrid_type); declarations.push_back(IFC4X2_IfcGridAxis_type); declarations.push_back(IFC4X2_IfcGridPlacement_type); declarations.push_back(IFC4X2_IfcGridPlacementDirectionSelect_type); declarations.push_back(IFC4X2_IfcGridTypeEnum_type); declarations.push_back(IFC4X2_IfcGroup_type); declarations.push_back(IFC4X2_IfcHalfSpaceSolid_type); declarations.push_back(IFC4X2_IfcHatchLineDistanceSelect_type); declarations.push_back(IFC4X2_IfcHeatExchanger_type); declarations.push_back(IFC4X2_IfcHeatExchangerType_type); declarations.push_back(IFC4X2_IfcHeatExchangerTypeEnum_type); declarations.push_back(IFC4X2_IfcHeatFluxDensityMeasure_type); declarations.push_back(IFC4X2_IfcHeatingValueMeasure_type); declarations.push_back(IFC4X2_IfcHumidifier_type); declarations.push_back(IFC4X2_IfcHumidifierType_type); declarations.push_back(IFC4X2_IfcHumidifierTypeEnum_type); declarations.push_back(IFC4X2_IfcIdentifier_type); declarations.push_back(IFC4X2_IfcIlluminanceMeasure_type); declarations.push_back(IFC4X2_IfcImageTexture_type); declarations.push_back(IFC4X2_IfcIndexedColourMap_type); declarations.push_back(IFC4X2_IfcIndexedPolyCurve_type); declarations.push_back(IFC4X2_IfcIndexedPolygonalFace_type); declarations.push_back(IFC4X2_IfcIndexedPolygonalFaceWithVoids_type); declarations.push_back(IFC4X2_IfcIndexedTextureMap_type); declarations.push_back(IFC4X2_IfcIndexedTriangleTextureMap_type); declarations.push_back(IFC4X2_IfcInductanceMeasure_type); declarations.push_back(IFC4X2_IfcInteger_type); declarations.push_back(IFC4X2_IfcIntegerCountRateMeasure_type); declarations.push_back(IFC4X2_IfcInterceptor_type); declarations.push_back(IFC4X2_IfcInterceptorType_type); declarations.push_back(IFC4X2_IfcInterceptorTypeEnum_type); declarations.push_back(IFC4X2_IfcInternalOrExternalEnum_type); declarations.push_back(IFC4X2_IfcIntersectionCurve_type); declarations.push_back(IFC4X2_IfcInventory_type); declarations.push_back(IFC4X2_IfcInventoryTypeEnum_type); declarations.push_back(IFC4X2_IfcIonConcentrationMeasure_type); declarations.push_back(IFC4X2_IfcIrregularTimeSeries_type); declarations.push_back(IFC4X2_IfcIrregularTimeSeriesValue_type); declarations.push_back(IFC4X2_IfcIShapeProfileDef_type); declarations.push_back(IFC4X2_IfcIsothermalMoistureCapacityMeasure_type); declarations.push_back(IFC4X2_IfcJunctionBox_type); declarations.push_back(IFC4X2_IfcJunctionBoxType_type); declarations.push_back(IFC4X2_IfcJunctionBoxTypeEnum_type); declarations.push_back(IFC4X2_IfcKinematicViscosityMeasure_type); declarations.push_back(IFC4X2_IfcKnotType_type); declarations.push_back(IFC4X2_IfcLabel_type); declarations.push_back(IFC4X2_IfcLaborResource_type); declarations.push_back(IFC4X2_IfcLaborResourceType_type); declarations.push_back(IFC4X2_IfcLaborResourceTypeEnum_type); declarations.push_back(IFC4X2_IfcLagTime_type); declarations.push_back(IFC4X2_IfcLamp_type); declarations.push_back(IFC4X2_IfcLampType_type); declarations.push_back(IFC4X2_IfcLampTypeEnum_type); declarations.push_back(IFC4X2_IfcLanguageId_type); declarations.push_back(IFC4X2_IfcLayeredItem_type); declarations.push_back(IFC4X2_IfcLayerSetDirectionEnum_type); declarations.push_back(IFC4X2_IfcLengthMeasure_type); declarations.push_back(IFC4X2_IfcLibraryInformation_type); declarations.push_back(IFC4X2_IfcLibraryReference_type); declarations.push_back(IFC4X2_IfcLibrarySelect_type); declarations.push_back(IFC4X2_IfcLightDistributionCurveEnum_type); declarations.push_back(IFC4X2_IfcLightDistributionData_type); declarations.push_back(IFC4X2_IfcLightDistributionDataSourceSelect_type); declarations.push_back(IFC4X2_IfcLightEmissionSourceEnum_type); declarations.push_back(IFC4X2_IfcLightFixture_type); declarations.push_back(IFC4X2_IfcLightFixtureType_type); declarations.push_back(IFC4X2_IfcLightFixtureTypeEnum_type); declarations.push_back(IFC4X2_IfcLightIntensityDistribution_type); declarations.push_back(IFC4X2_IfcLightSource_type); declarations.push_back(IFC4X2_IfcLightSourceAmbient_type); declarations.push_back(IFC4X2_IfcLightSourceDirectional_type); declarations.push_back(IFC4X2_IfcLightSourceGoniometric_type); declarations.push_back(IFC4X2_IfcLightSourcePositional_type); declarations.push_back(IFC4X2_IfcLightSourceSpot_type); declarations.push_back(IFC4X2_IfcLine_type); declarations.push_back(IFC4X2_IfcLinearForceMeasure_type); declarations.push_back(IFC4X2_IfcLinearMomentMeasure_type); declarations.push_back(IFC4X2_IfcLinearPlacement_type); declarations.push_back(IFC4X2_IfcLinearPositioningElement_type); declarations.push_back(IFC4X2_IfcLinearStiffnessMeasure_type); declarations.push_back(IFC4X2_IfcLinearVelocityMeasure_type); declarations.push_back(IFC4X2_IfcLineIndex_type); declarations.push_back(IFC4X2_IfcLineSegment2D_type); declarations.push_back(IFC4X2_IfcLoadGroupTypeEnum_type); declarations.push_back(IFC4X2_IfcLocalPlacement_type); declarations.push_back(IFC4X2_IfcLogical_type); declarations.push_back(IFC4X2_IfcLogicalOperatorEnum_type); declarations.push_back(IFC4X2_IfcLoop_type); declarations.push_back(IFC4X2_IfcLShapeProfileDef_type); declarations.push_back(IFC4X2_IfcLuminousFluxMeasure_type); declarations.push_back(IFC4X2_IfcLuminousIntensityDistributionMeasure_type); declarations.push_back(IFC4X2_IfcLuminousIntensityMeasure_type); declarations.push_back(IFC4X2_IfcMagneticFluxDensityMeasure_type); declarations.push_back(IFC4X2_IfcMagneticFluxMeasure_type); declarations.push_back(IFC4X2_IfcManifoldSolidBrep_type); declarations.push_back(IFC4X2_IfcMapConversion_type); declarations.push_back(IFC4X2_IfcMappedItem_type); declarations.push_back(IFC4X2_IfcMassDensityMeasure_type); declarations.push_back(IFC4X2_IfcMassFlowRateMeasure_type); declarations.push_back(IFC4X2_IfcMassMeasure_type); declarations.push_back(IFC4X2_IfcMassPerLengthMeasure_type); declarations.push_back(IFC4X2_IfcMaterial_type); declarations.push_back(IFC4X2_IfcMaterialClassificationRelationship_type); declarations.push_back(IFC4X2_IfcMaterialConstituent_type); declarations.push_back(IFC4X2_IfcMaterialConstituentSet_type); declarations.push_back(IFC4X2_IfcMaterialDefinition_type); declarations.push_back(IFC4X2_IfcMaterialDefinitionRepresentation_type); declarations.push_back(IFC4X2_IfcMaterialLayer_type); declarations.push_back(IFC4X2_IfcMaterialLayerSet_type); declarations.push_back(IFC4X2_IfcMaterialLayerSetUsage_type); declarations.push_back(IFC4X2_IfcMaterialLayerWithOffsets_type); declarations.push_back(IFC4X2_IfcMaterialList_type); declarations.push_back(IFC4X2_IfcMaterialProfile_type); declarations.push_back(IFC4X2_IfcMaterialProfileSet_type); declarations.push_back(IFC4X2_IfcMaterialProfileSetUsage_type); declarations.push_back(IFC4X2_IfcMaterialProfileSetUsageTapering_type); declarations.push_back(IFC4X2_IfcMaterialProfileWithOffsets_type); declarations.push_back(IFC4X2_IfcMaterialProperties_type); declarations.push_back(IFC4X2_IfcMaterialRelationship_type); declarations.push_back(IFC4X2_IfcMaterialSelect_type); declarations.push_back(IFC4X2_IfcMaterialUsageDefinition_type); declarations.push_back(IFC4X2_IfcMeasureValue_type); declarations.push_back(IFC4X2_IfcMeasureWithUnit_type); declarations.push_back(IFC4X2_IfcMechanicalFastener_type); declarations.push_back(IFC4X2_IfcMechanicalFastenerType_type); declarations.push_back(IFC4X2_IfcMechanicalFastenerTypeEnum_type); declarations.push_back(IFC4X2_IfcMedicalDevice_type); declarations.push_back(IFC4X2_IfcMedicalDeviceType_type); declarations.push_back(IFC4X2_IfcMedicalDeviceTypeEnum_type); declarations.push_back(IFC4X2_IfcMember_type); declarations.push_back(IFC4X2_IfcMemberStandardCase_type); declarations.push_back(IFC4X2_IfcMemberType_type); declarations.push_back(IFC4X2_IfcMemberTypeEnum_type); declarations.push_back(IFC4X2_IfcMetric_type); declarations.push_back(IFC4X2_IfcMetricValueSelect_type); declarations.push_back(IFC4X2_IfcMirroredProfileDef_type); declarations.push_back(IFC4X2_IfcModulusOfElasticityMeasure_type); declarations.push_back(IFC4X2_IfcModulusOfLinearSubgradeReactionMeasure_type); declarations.push_back(IFC4X2_IfcModulusOfRotationalSubgradeReactionMeasure_type); declarations.push_back(IFC4X2_IfcModulusOfRotationalSubgradeReactionSelect_type); declarations.push_back(IFC4X2_IfcModulusOfSubgradeReactionMeasure_type); declarations.push_back(IFC4X2_IfcModulusOfSubgradeReactionSelect_type); declarations.push_back(IFC4X2_IfcModulusOfTranslationalSubgradeReactionSelect_type); declarations.push_back(IFC4X2_IfcMoistureDiffusivityMeasure_type); declarations.push_back(IFC4X2_IfcMolecularWeightMeasure_type); declarations.push_back(IFC4X2_IfcMomentOfInertiaMeasure_type); declarations.push_back(IFC4X2_IfcMonetaryMeasure_type); declarations.push_back(IFC4X2_IfcMonetaryUnit_type); declarations.push_back(IFC4X2_IfcMonthInYearNumber_type); declarations.push_back(IFC4X2_IfcMotorConnection_type); declarations.push_back(IFC4X2_IfcMotorConnectionType_type); declarations.push_back(IFC4X2_IfcMotorConnectionTypeEnum_type); declarations.push_back(IFC4X2_IfcNamedUnit_type); declarations.push_back(IFC4X2_IfcNonNegativeLengthMeasure_type); declarations.push_back(IFC4X2_IfcNormalisedRatioMeasure_type); declarations.push_back(IFC4X2_IfcNullStyle_type); declarations.push_back(IFC4X2_IfcNumericMeasure_type); declarations.push_back(IFC4X2_IfcObject_type); declarations.push_back(IFC4X2_IfcObjectDefinition_type); declarations.push_back(IFC4X2_IfcObjective_type); declarations.push_back(IFC4X2_IfcObjectiveEnum_type); declarations.push_back(IFC4X2_IfcObjectPlacement_type); declarations.push_back(IFC4X2_IfcObjectReferenceSelect_type); declarations.push_back(IFC4X2_IfcObjectTypeEnum_type); declarations.push_back(IFC4X2_IfcOccupant_type); declarations.push_back(IFC4X2_IfcOccupantTypeEnum_type); declarations.push_back(IFC4X2_IfcOffsetCurve_type); declarations.push_back(IFC4X2_IfcOffsetCurve2D_type); declarations.push_back(IFC4X2_IfcOffsetCurve3D_type); declarations.push_back(IFC4X2_IfcOffsetCurveByDistances_type); declarations.push_back(IFC4X2_IfcOpeningElement_type); declarations.push_back(IFC4X2_IfcOpeningElementTypeEnum_type); declarations.push_back(IFC4X2_IfcOpeningStandardCase_type); declarations.push_back(IFC4X2_IfcOpenShell_type); declarations.push_back(IFC4X2_IfcOrganization_type); declarations.push_back(IFC4X2_IfcOrganizationRelationship_type); declarations.push_back(IFC4X2_IfcOrientationExpression_type); declarations.push_back(IFC4X2_IfcOrientedEdge_type); declarations.push_back(IFC4X2_IfcOuterBoundaryCurve_type); declarations.push_back(IFC4X2_IfcOutlet_type); declarations.push_back(IFC4X2_IfcOutletType_type); declarations.push_back(IFC4X2_IfcOutletTypeEnum_type); declarations.push_back(IFC4X2_IfcOwnerHistory_type); declarations.push_back(IFC4X2_IfcParameterizedProfileDef_type); declarations.push_back(IFC4X2_IfcParameterValue_type); declarations.push_back(IFC4X2_IfcPath_type); declarations.push_back(IFC4X2_IfcPcurve_type); declarations.push_back(IFC4X2_IfcPerformanceHistory_type); declarations.push_back(IFC4X2_IfcPerformanceHistoryTypeEnum_type); declarations.push_back(IFC4X2_IfcPermeableCoveringOperationEnum_type); declarations.push_back(IFC4X2_IfcPermeableCoveringProperties_type); declarations.push_back(IFC4X2_IfcPermit_type); declarations.push_back(IFC4X2_IfcPermitTypeEnum_type); declarations.push_back(IFC4X2_IfcPerson_type); declarations.push_back(IFC4X2_IfcPersonAndOrganization_type); declarations.push_back(IFC4X2_IfcPHMeasure_type); declarations.push_back(IFC4X2_IfcPhysicalComplexQuantity_type); declarations.push_back(IFC4X2_IfcPhysicalOrVirtualEnum_type); declarations.push_back(IFC4X2_IfcPhysicalQuantity_type); declarations.push_back(IFC4X2_IfcPhysicalSimpleQuantity_type); declarations.push_back(IFC4X2_IfcPile_type); declarations.push_back(IFC4X2_IfcPileConstructionEnum_type); declarations.push_back(IFC4X2_IfcPileType_type); declarations.push_back(IFC4X2_IfcPileTypeEnum_type); declarations.push_back(IFC4X2_IfcPipeFitting_type); declarations.push_back(IFC4X2_IfcPipeFittingType_type); declarations.push_back(IFC4X2_IfcPipeFittingTypeEnum_type); declarations.push_back(IFC4X2_IfcPipeSegment_type); declarations.push_back(IFC4X2_IfcPipeSegmentType_type); declarations.push_back(IFC4X2_IfcPipeSegmentTypeEnum_type); declarations.push_back(IFC4X2_IfcPixelTexture_type); declarations.push_back(IFC4X2_IfcPlacement_type); declarations.push_back(IFC4X2_IfcPlanarBox_type); declarations.push_back(IFC4X2_IfcPlanarExtent_type); declarations.push_back(IFC4X2_IfcPlanarForceMeasure_type); declarations.push_back(IFC4X2_IfcPlane_type); declarations.push_back(IFC4X2_IfcPlaneAngleMeasure_type); declarations.push_back(IFC4X2_IfcPlate_type); declarations.push_back(IFC4X2_IfcPlateStandardCase_type); declarations.push_back(IFC4X2_IfcPlateType_type); declarations.push_back(IFC4X2_IfcPlateTypeEnum_type); declarations.push_back(IFC4X2_IfcPoint_type); declarations.push_back(IFC4X2_IfcPointOnCurve_type); declarations.push_back(IFC4X2_IfcPointOnSurface_type); declarations.push_back(IFC4X2_IfcPointOrVertexPoint_type); declarations.push_back(IFC4X2_IfcPolygonalBoundedHalfSpace_type); declarations.push_back(IFC4X2_IfcPolygonalFaceSet_type); declarations.push_back(IFC4X2_IfcPolyline_type); declarations.push_back(IFC4X2_IfcPolyLoop_type); declarations.push_back(IFC4X2_IfcPort_type); declarations.push_back(IFC4X2_IfcPositioningElement_type); declarations.push_back(IFC4X2_IfcPositiveInteger_type); declarations.push_back(IFC4X2_IfcPositiveLengthMeasure_type); declarations.push_back(IFC4X2_IfcPositivePlaneAngleMeasure_type); declarations.push_back(IFC4X2_IfcPositiveRatioMeasure_type); declarations.push_back(IFC4X2_IfcPostalAddress_type); declarations.push_back(IFC4X2_IfcPowerMeasure_type); declarations.push_back(IFC4X2_IfcPreDefinedColour_type); declarations.push_back(IFC4X2_IfcPreDefinedCurveFont_type); declarations.push_back(IFC4X2_IfcPreDefinedItem_type); declarations.push_back(IFC4X2_IfcPreDefinedProperties_type); declarations.push_back(IFC4X2_IfcPreDefinedPropertySet_type); declarations.push_back(IFC4X2_IfcPreDefinedTextFont_type); declarations.push_back(IFC4X2_IfcPreferredSurfaceCurveRepresentation_type); declarations.push_back(IFC4X2_IfcPresentableText_type); declarations.push_back(IFC4X2_IfcPresentationItem_type); declarations.push_back(IFC4X2_IfcPresentationLayerAssignment_type); declarations.push_back(IFC4X2_IfcPresentationLayerWithStyle_type); declarations.push_back(IFC4X2_IfcPresentationStyle_type); declarations.push_back(IFC4X2_IfcPresentationStyleAssignment_type); declarations.push_back(IFC4X2_IfcPresentationStyleSelect_type); declarations.push_back(IFC4X2_IfcPressureMeasure_type); declarations.push_back(IFC4X2_IfcProcedure_type); declarations.push_back(IFC4X2_IfcProcedureType_type); declarations.push_back(IFC4X2_IfcProcedureTypeEnum_type); declarations.push_back(IFC4X2_IfcProcess_type); declarations.push_back(IFC4X2_IfcProcessSelect_type); declarations.push_back(IFC4X2_IfcProduct_type); declarations.push_back(IFC4X2_IfcProductDefinitionShape_type); declarations.push_back(IFC4X2_IfcProductRepresentation_type); declarations.push_back(IFC4X2_IfcProductRepresentationSelect_type); declarations.push_back(IFC4X2_IfcProductSelect_type); declarations.push_back(IFC4X2_IfcProfileDef_type); declarations.push_back(IFC4X2_IfcProfileProperties_type); declarations.push_back(IFC4X2_IfcProfileTypeEnum_type); declarations.push_back(IFC4X2_IfcProject_type); declarations.push_back(IFC4X2_IfcProjectedCRS_type); declarations.push_back(IFC4X2_IfcProjectedOrTrueLengthEnum_type); declarations.push_back(IFC4X2_IfcProjectionElement_type); declarations.push_back(IFC4X2_IfcProjectionElementTypeEnum_type); declarations.push_back(IFC4X2_IfcProjectLibrary_type); declarations.push_back(IFC4X2_IfcProjectOrder_type); declarations.push_back(IFC4X2_IfcProjectOrderTypeEnum_type); declarations.push_back(IFC4X2_IfcProperty_type); declarations.push_back(IFC4X2_IfcPropertyAbstraction_type); declarations.push_back(IFC4X2_IfcPropertyBoundedValue_type); declarations.push_back(IFC4X2_IfcPropertyDefinition_type); declarations.push_back(IFC4X2_IfcPropertyDependencyRelationship_type); declarations.push_back(IFC4X2_IfcPropertyEnumeratedValue_type); declarations.push_back(IFC4X2_IfcPropertyEnumeration_type); declarations.push_back(IFC4X2_IfcPropertyListValue_type); declarations.push_back(IFC4X2_IfcPropertyReferenceValue_type); declarations.push_back(IFC4X2_IfcPropertySet_type); declarations.push_back(IFC4X2_IfcPropertySetDefinition_type); declarations.push_back(IFC4X2_IfcPropertySetDefinitionSelect_type); declarations.push_back(IFC4X2_IfcPropertySetDefinitionSet_type); declarations.push_back(IFC4X2_IfcPropertySetTemplate_type); declarations.push_back(IFC4X2_IfcPropertySetTemplateTypeEnum_type); declarations.push_back(IFC4X2_IfcPropertySingleValue_type); declarations.push_back(IFC4X2_IfcPropertyTableValue_type); declarations.push_back(IFC4X2_IfcPropertyTemplate_type); declarations.push_back(IFC4X2_IfcPropertyTemplateDefinition_type); declarations.push_back(IFC4X2_IfcProtectiveDevice_type); declarations.push_back(IFC4X2_IfcProtectiveDeviceTrippingUnit_type); declarations.push_back(IFC4X2_IfcProtectiveDeviceTrippingUnitType_type); declarations.push_back(IFC4X2_IfcProtectiveDeviceTrippingUnitTypeEnum_type); declarations.push_back(IFC4X2_IfcProtectiveDeviceType_type); declarations.push_back(IFC4X2_IfcProtectiveDeviceTypeEnum_type); declarations.push_back(IFC4X2_IfcProxy_type); declarations.push_back(IFC4X2_IfcPump_type); declarations.push_back(IFC4X2_IfcPumpType_type); declarations.push_back(IFC4X2_IfcPumpTypeEnum_type); declarations.push_back(IFC4X2_IfcQuantityArea_type); declarations.push_back(IFC4X2_IfcQuantityCount_type); declarations.push_back(IFC4X2_IfcQuantityLength_type); declarations.push_back(IFC4X2_IfcQuantitySet_type); declarations.push_back(IFC4X2_IfcQuantityTime_type); declarations.push_back(IFC4X2_IfcQuantityVolume_type); declarations.push_back(IFC4X2_IfcQuantityWeight_type); declarations.push_back(IFC4X2_IfcRadioActivityMeasure_type); declarations.push_back(IFC4X2_IfcRailing_type); declarations.push_back(IFC4X2_IfcRailingType_type); declarations.push_back(IFC4X2_IfcRailingTypeEnum_type); declarations.push_back(IFC4X2_IfcRamp_type); declarations.push_back(IFC4X2_IfcRampFlight_type); declarations.push_back(IFC4X2_IfcRampFlightType_type); declarations.push_back(IFC4X2_IfcRampFlightTypeEnum_type); declarations.push_back(IFC4X2_IfcRampType_type); declarations.push_back(IFC4X2_IfcRampTypeEnum_type); declarations.push_back(IFC4X2_IfcRatioMeasure_type); declarations.push_back(IFC4X2_IfcRationalBSplineCurveWithKnots_type); declarations.push_back(IFC4X2_IfcRationalBSplineSurfaceWithKnots_type); declarations.push_back(IFC4X2_IfcReal_type); declarations.push_back(IFC4X2_IfcRectangleHollowProfileDef_type); declarations.push_back(IFC4X2_IfcRectangleProfileDef_type); declarations.push_back(IFC4X2_IfcRectangularPyramid_type); declarations.push_back(IFC4X2_IfcRectangularTrimmedSurface_type); declarations.push_back(IFC4X2_IfcRecurrencePattern_type); declarations.push_back(IFC4X2_IfcRecurrenceTypeEnum_type); declarations.push_back(IFC4X2_IfcReference_type); declarations.push_back(IFC4X2_IfcReferent_type); declarations.push_back(IFC4X2_IfcReferentTypeEnum_type); declarations.push_back(IFC4X2_IfcReflectanceMethodEnum_type); declarations.push_back(IFC4X2_IfcRegularTimeSeries_type); declarations.push_back(IFC4X2_IfcReinforcementBarProperties_type); declarations.push_back(IFC4X2_IfcReinforcementDefinitionProperties_type); declarations.push_back(IFC4X2_IfcReinforcingBar_type); declarations.push_back(IFC4X2_IfcReinforcingBarRoleEnum_type); declarations.push_back(IFC4X2_IfcReinforcingBarSurfaceEnum_type); declarations.push_back(IFC4X2_IfcReinforcingBarType_type); declarations.push_back(IFC4X2_IfcReinforcingBarTypeEnum_type); declarations.push_back(IFC4X2_IfcReinforcingElement_type); declarations.push_back(IFC4X2_IfcReinforcingElementType_type); declarations.push_back(IFC4X2_IfcReinforcingMesh_type); declarations.push_back(IFC4X2_IfcReinforcingMeshType_type); declarations.push_back(IFC4X2_IfcReinforcingMeshTypeEnum_type); declarations.push_back(IFC4X2_IfcRelAggregates_type); declarations.push_back(IFC4X2_IfcRelAssigns_type); declarations.push_back(IFC4X2_IfcRelAssignsToActor_type); declarations.push_back(IFC4X2_IfcRelAssignsToControl_type); declarations.push_back(IFC4X2_IfcRelAssignsToGroup_type); declarations.push_back(IFC4X2_IfcRelAssignsToGroupByFactor_type); declarations.push_back(IFC4X2_IfcRelAssignsToProcess_type); declarations.push_back(IFC4X2_IfcRelAssignsToProduct_type); declarations.push_back(IFC4X2_IfcRelAssignsToResource_type); declarations.push_back(IFC4X2_IfcRelAssociates_type); declarations.push_back(IFC4X2_IfcRelAssociatesApproval_type); declarations.push_back(IFC4X2_IfcRelAssociatesClassification_type); declarations.push_back(IFC4X2_IfcRelAssociatesConstraint_type); declarations.push_back(IFC4X2_IfcRelAssociatesDocument_type); declarations.push_back(IFC4X2_IfcRelAssociatesLibrary_type); declarations.push_back(IFC4X2_IfcRelAssociatesMaterial_type); declarations.push_back(IFC4X2_IfcRelationship_type); declarations.push_back(IFC4X2_IfcRelConnects_type); declarations.push_back(IFC4X2_IfcRelConnectsElements_type); declarations.push_back(IFC4X2_IfcRelConnectsPathElements_type); declarations.push_back(IFC4X2_IfcRelConnectsPorts_type); declarations.push_back(IFC4X2_IfcRelConnectsPortToElement_type); declarations.push_back(IFC4X2_IfcRelConnectsStructuralActivity_type); declarations.push_back(IFC4X2_IfcRelConnectsStructuralMember_type); declarations.push_back(IFC4X2_IfcRelConnectsWithEccentricity_type); declarations.push_back(IFC4X2_IfcRelConnectsWithRealizingElements_type); declarations.push_back(IFC4X2_IfcRelContainedInSpatialStructure_type); declarations.push_back(IFC4X2_IfcRelCoversBldgElements_type); declarations.push_back(IFC4X2_IfcRelCoversSpaces_type); declarations.push_back(IFC4X2_IfcRelDeclares_type); declarations.push_back(IFC4X2_IfcRelDecomposes_type); declarations.push_back(IFC4X2_IfcRelDefines_type); declarations.push_back(IFC4X2_IfcRelDefinesByObject_type); declarations.push_back(IFC4X2_IfcRelDefinesByProperties_type); declarations.push_back(IFC4X2_IfcRelDefinesByTemplate_type); declarations.push_back(IFC4X2_IfcRelDefinesByType_type); declarations.push_back(IFC4X2_IfcRelFillsElement_type); declarations.push_back(IFC4X2_IfcRelFlowControlElements_type); declarations.push_back(IFC4X2_IfcRelInterferesElements_type); declarations.push_back(IFC4X2_IfcRelNests_type); declarations.push_back(IFC4X2_IfcRelPositions_type); declarations.push_back(IFC4X2_IfcRelProjectsElement_type); declarations.push_back(IFC4X2_IfcRelReferencedInSpatialStructure_type); declarations.push_back(IFC4X2_IfcRelSequence_type); declarations.push_back(IFC4X2_IfcRelServicesBuildings_type); declarations.push_back(IFC4X2_IfcRelSpaceBoundary_type); declarations.push_back(IFC4X2_IfcRelSpaceBoundary1stLevel_type); declarations.push_back(IFC4X2_IfcRelSpaceBoundary2ndLevel_type); declarations.push_back(IFC4X2_IfcRelVoidsElement_type); declarations.push_back(IFC4X2_IfcReparametrisedCompositeCurveSegment_type); declarations.push_back(IFC4X2_IfcRepresentation_type); declarations.push_back(IFC4X2_IfcRepresentationContext_type); declarations.push_back(IFC4X2_IfcRepresentationItem_type); declarations.push_back(IFC4X2_IfcRepresentationMap_type); declarations.push_back(IFC4X2_IfcResource_type); declarations.push_back(IFC4X2_IfcResourceApprovalRelationship_type); declarations.push_back(IFC4X2_IfcResourceConstraintRelationship_type); declarations.push_back(IFC4X2_IfcResourceLevelRelationship_type); declarations.push_back(IFC4X2_IfcResourceObjectSelect_type); declarations.push_back(IFC4X2_IfcResourceSelect_type); declarations.push_back(IFC4X2_IfcResourceTime_type); declarations.push_back(IFC4X2_IfcRevolvedAreaSolid_type); declarations.push_back(IFC4X2_IfcRevolvedAreaSolidTapered_type); declarations.push_back(IFC4X2_IfcRightCircularCone_type); declarations.push_back(IFC4X2_IfcRightCircularCylinder_type); declarations.push_back(IFC4X2_IfcRoleEnum_type); declarations.push_back(IFC4X2_IfcRoof_type); declarations.push_back(IFC4X2_IfcRoofType_type); declarations.push_back(IFC4X2_IfcRoofTypeEnum_type); declarations.push_back(IFC4X2_IfcRoot_type); declarations.push_back(IFC4X2_IfcRotationalFrequencyMeasure_type); declarations.push_back(IFC4X2_IfcRotationalMassMeasure_type); declarations.push_back(IFC4X2_IfcRotationalStiffnessMeasure_type); declarations.push_back(IFC4X2_IfcRotationalStiffnessSelect_type); declarations.push_back(IFC4X2_IfcRoundedRectangleProfileDef_type); declarations.push_back(IFC4X2_IfcSanitaryTerminal_type); declarations.push_back(IFC4X2_IfcSanitaryTerminalType_type); declarations.push_back(IFC4X2_IfcSanitaryTerminalTypeEnum_type); declarations.push_back(IFC4X2_IfcSchedulingTime_type); declarations.push_back(IFC4X2_IfcSeamCurve_type); declarations.push_back(IFC4X2_IfcSectionalAreaIntegralMeasure_type); declarations.push_back(IFC4X2_IfcSectionedSolid_type); declarations.push_back(IFC4X2_IfcSectionedSolidHorizontal_type); declarations.push_back(IFC4X2_IfcSectionedSpine_type); declarations.push_back(IFC4X2_IfcSectionModulusMeasure_type); declarations.push_back(IFC4X2_IfcSectionProperties_type); declarations.push_back(IFC4X2_IfcSectionReinforcementProperties_type); declarations.push_back(IFC4X2_IfcSectionTypeEnum_type); declarations.push_back(IFC4X2_IfcSegmentIndexSelect_type); declarations.push_back(IFC4X2_IfcSensor_type); declarations.push_back(IFC4X2_IfcSensorType_type); declarations.push_back(IFC4X2_IfcSensorTypeEnum_type); declarations.push_back(IFC4X2_IfcSequenceEnum_type); declarations.push_back(IFC4X2_IfcShadingDevice_type); declarations.push_back(IFC4X2_IfcShadingDeviceType_type); declarations.push_back(IFC4X2_IfcShadingDeviceTypeEnum_type); declarations.push_back(IFC4X2_IfcShapeAspect_type); declarations.push_back(IFC4X2_IfcShapeModel_type); declarations.push_back(IFC4X2_IfcShapeRepresentation_type); declarations.push_back(IFC4X2_IfcShearModulusMeasure_type); declarations.push_back(IFC4X2_IfcShell_type); declarations.push_back(IFC4X2_IfcShellBasedSurfaceModel_type); declarations.push_back(IFC4X2_IfcSimpleProperty_type); declarations.push_back(IFC4X2_IfcSimplePropertyTemplate_type); declarations.push_back(IFC4X2_IfcSimplePropertyTemplateTypeEnum_type); declarations.push_back(IFC4X2_IfcSimpleValue_type); declarations.push_back(IFC4X2_IfcSIPrefix_type); declarations.push_back(IFC4X2_IfcSite_type); declarations.push_back(IFC4X2_IfcSIUnit_type); declarations.push_back(IFC4X2_IfcSIUnitName_type); declarations.push_back(IFC4X2_IfcSizeSelect_type); declarations.push_back(IFC4X2_IfcSlab_type); declarations.push_back(IFC4X2_IfcSlabElementedCase_type); declarations.push_back(IFC4X2_IfcSlabStandardCase_type); declarations.push_back(IFC4X2_IfcSlabType_type); declarations.push_back(IFC4X2_IfcSlabTypeEnum_type); declarations.push_back(IFC4X2_IfcSlippageConnectionCondition_type); declarations.push_back(IFC4X2_IfcSolarDevice_type); declarations.push_back(IFC4X2_IfcSolarDeviceType_type); declarations.push_back(IFC4X2_IfcSolarDeviceTypeEnum_type); declarations.push_back(IFC4X2_IfcSolidAngleMeasure_type); declarations.push_back(IFC4X2_IfcSolidModel_type); declarations.push_back(IFC4X2_IfcSolidOrShell_type); declarations.push_back(IFC4X2_IfcSoundPowerLevelMeasure_type); declarations.push_back(IFC4X2_IfcSoundPowerMeasure_type); declarations.push_back(IFC4X2_IfcSoundPressureLevelMeasure_type); declarations.push_back(IFC4X2_IfcSoundPressureMeasure_type); declarations.push_back(IFC4X2_IfcSpace_type); declarations.push_back(IFC4X2_IfcSpaceBoundarySelect_type); declarations.push_back(IFC4X2_IfcSpaceHeater_type); declarations.push_back(IFC4X2_IfcSpaceHeaterType_type); declarations.push_back(IFC4X2_IfcSpaceHeaterTypeEnum_type); declarations.push_back(IFC4X2_IfcSpaceType_type); declarations.push_back(IFC4X2_IfcSpaceTypeEnum_type); declarations.push_back(IFC4X2_IfcSpatialElement_type); declarations.push_back(IFC4X2_IfcSpatialElementType_type); declarations.push_back(IFC4X2_IfcSpatialStructureElement_type); declarations.push_back(IFC4X2_IfcSpatialStructureElementType_type); declarations.push_back(IFC4X2_IfcSpatialZone_type); declarations.push_back(IFC4X2_IfcSpatialZoneType_type); declarations.push_back(IFC4X2_IfcSpatialZoneTypeEnum_type); declarations.push_back(IFC4X2_IfcSpecificHeatCapacityMeasure_type); declarations.push_back(IFC4X2_IfcSpecularExponent_type); declarations.push_back(IFC4X2_IfcSpecularHighlightSelect_type); declarations.push_back(IFC4X2_IfcSpecularRoughness_type); declarations.push_back(IFC4X2_IfcSphere_type); declarations.push_back(IFC4X2_IfcSphericalSurface_type); declarations.push_back(IFC4X2_IfcStackTerminal_type); declarations.push_back(IFC4X2_IfcStackTerminalType_type); declarations.push_back(IFC4X2_IfcStackTerminalTypeEnum_type); declarations.push_back(IFC4X2_IfcStair_type); declarations.push_back(IFC4X2_IfcStairFlight_type); declarations.push_back(IFC4X2_IfcStairFlightType_type); declarations.push_back(IFC4X2_IfcStairFlightTypeEnum_type); declarations.push_back(IFC4X2_IfcStairType_type); declarations.push_back(IFC4X2_IfcStairTypeEnum_type); declarations.push_back(IFC4X2_IfcStateEnum_type); declarations.push_back(IFC4X2_IfcStructuralAction_type); declarations.push_back(IFC4X2_IfcStructuralActivity_type); declarations.push_back(IFC4X2_IfcStructuralActivityAssignmentSelect_type); declarations.push_back(IFC4X2_IfcStructuralAnalysisModel_type); declarations.push_back(IFC4X2_IfcStructuralConnection_type); declarations.push_back(IFC4X2_IfcStructuralConnectionCondition_type); declarations.push_back(IFC4X2_IfcStructuralCurveAction_type); declarations.push_back(IFC4X2_IfcStructuralCurveActivityTypeEnum_type); declarations.push_back(IFC4X2_IfcStructuralCurveConnection_type); declarations.push_back(IFC4X2_IfcStructuralCurveMember_type); declarations.push_back(IFC4X2_IfcStructuralCurveMemberTypeEnum_type); declarations.push_back(IFC4X2_IfcStructuralCurveMemberVarying_type); declarations.push_back(IFC4X2_IfcStructuralCurveReaction_type); declarations.push_back(IFC4X2_IfcStructuralItem_type); declarations.push_back(IFC4X2_IfcStructuralLinearAction_type); declarations.push_back(IFC4X2_IfcStructuralLoad_type); declarations.push_back(IFC4X2_IfcStructuralLoadCase_type); declarations.push_back(IFC4X2_IfcStructuralLoadConfiguration_type); declarations.push_back(IFC4X2_IfcStructuralLoadGroup_type); declarations.push_back(IFC4X2_IfcStructuralLoadLinearForce_type); declarations.push_back(IFC4X2_IfcStructuralLoadOrResult_type); declarations.push_back(IFC4X2_IfcStructuralLoadPlanarForce_type); declarations.push_back(IFC4X2_IfcStructuralLoadSingleDisplacement_type); declarations.push_back(IFC4X2_IfcStructuralLoadSingleDisplacementDistortion_type); declarations.push_back(IFC4X2_IfcStructuralLoadSingleForce_type); declarations.push_back(IFC4X2_IfcStructuralLoadSingleForceWarping_type); declarations.push_back(IFC4X2_IfcStructuralLoadStatic_type); declarations.push_back(IFC4X2_IfcStructuralLoadTemperature_type); declarations.push_back(IFC4X2_IfcStructuralMember_type); declarations.push_back(IFC4X2_IfcStructuralPlanarAction_type); declarations.push_back(IFC4X2_IfcStructuralPointAction_type); declarations.push_back(IFC4X2_IfcStructuralPointConnection_type); declarations.push_back(IFC4X2_IfcStructuralPointReaction_type); declarations.push_back(IFC4X2_IfcStructuralReaction_type); declarations.push_back(IFC4X2_IfcStructuralResultGroup_type); declarations.push_back(IFC4X2_IfcStructuralSurfaceAction_type); declarations.push_back(IFC4X2_IfcStructuralSurfaceActivityTypeEnum_type); declarations.push_back(IFC4X2_IfcStructuralSurfaceConnection_type); declarations.push_back(IFC4X2_IfcStructuralSurfaceMember_type); declarations.push_back(IFC4X2_IfcStructuralSurfaceMemberTypeEnum_type); declarations.push_back(IFC4X2_IfcStructuralSurfaceMemberVarying_type); declarations.push_back(IFC4X2_IfcStructuralSurfaceReaction_type); declarations.push_back(IFC4X2_IfcStyleAssignmentSelect_type); declarations.push_back(IFC4X2_IfcStyledItem_type); declarations.push_back(IFC4X2_IfcStyledRepresentation_type); declarations.push_back(IFC4X2_IfcStyleModel_type); declarations.push_back(IFC4X2_IfcSubContractResource_type); declarations.push_back(IFC4X2_IfcSubContractResourceType_type); declarations.push_back(IFC4X2_IfcSubContractResourceTypeEnum_type); declarations.push_back(IFC4X2_IfcSubedge_type); declarations.push_back(IFC4X2_IfcSurface_type); declarations.push_back(IFC4X2_IfcSurfaceCurve_type); declarations.push_back(IFC4X2_IfcSurfaceCurveSweptAreaSolid_type); declarations.push_back(IFC4X2_IfcSurfaceFeature_type); declarations.push_back(IFC4X2_IfcSurfaceFeatureTypeEnum_type); declarations.push_back(IFC4X2_IfcSurfaceOfLinearExtrusion_type); declarations.push_back(IFC4X2_IfcSurfaceOfRevolution_type); declarations.push_back(IFC4X2_IfcSurfaceOrFaceSurface_type); declarations.push_back(IFC4X2_IfcSurfaceReinforcementArea_type); declarations.push_back(IFC4X2_IfcSurfaceSide_type); declarations.push_back(IFC4X2_IfcSurfaceStyle_type); declarations.push_back(IFC4X2_IfcSurfaceStyleElementSelect_type); declarations.push_back(IFC4X2_IfcSurfaceStyleLighting_type); declarations.push_back(IFC4X2_IfcSurfaceStyleRefraction_type); declarations.push_back(IFC4X2_IfcSurfaceStyleRendering_type); declarations.push_back(IFC4X2_IfcSurfaceStyleShading_type); declarations.push_back(IFC4X2_IfcSurfaceStyleWithTextures_type); declarations.push_back(IFC4X2_IfcSurfaceTexture_type); declarations.push_back(IFC4X2_IfcSweptAreaSolid_type); declarations.push_back(IFC4X2_IfcSweptDiskSolid_type); declarations.push_back(IFC4X2_IfcSweptDiskSolidPolygonal_type); declarations.push_back(IFC4X2_IfcSweptSurface_type); declarations.push_back(IFC4X2_IfcSwitchingDevice_type); declarations.push_back(IFC4X2_IfcSwitchingDeviceType_type); declarations.push_back(IFC4X2_IfcSwitchingDeviceTypeEnum_type); declarations.push_back(IFC4X2_IfcSystem_type); declarations.push_back(IFC4X2_IfcSystemFurnitureElement_type); declarations.push_back(IFC4X2_IfcSystemFurnitureElementType_type); declarations.push_back(IFC4X2_IfcSystemFurnitureElementTypeEnum_type); declarations.push_back(IFC4X2_IfcTable_type); declarations.push_back(IFC4X2_IfcTableColumn_type); declarations.push_back(IFC4X2_IfcTableRow_type); declarations.push_back(IFC4X2_IfcTank_type); declarations.push_back(IFC4X2_IfcTankType_type); declarations.push_back(IFC4X2_IfcTankTypeEnum_type); declarations.push_back(IFC4X2_IfcTask_type); declarations.push_back(IFC4X2_IfcTaskDurationEnum_type); declarations.push_back(IFC4X2_IfcTaskTime_type); declarations.push_back(IFC4X2_IfcTaskTimeRecurring_type); declarations.push_back(IFC4X2_IfcTaskType_type); declarations.push_back(IFC4X2_IfcTaskTypeEnum_type); declarations.push_back(IFC4X2_IfcTelecomAddress_type); declarations.push_back(IFC4X2_IfcTemperatureGradientMeasure_type); declarations.push_back(IFC4X2_IfcTemperatureRateOfChangeMeasure_type); declarations.push_back(IFC4X2_IfcTendon_type); declarations.push_back(IFC4X2_IfcTendonAnchor_type); declarations.push_back(IFC4X2_IfcTendonAnchorType_type); declarations.push_back(IFC4X2_IfcTendonAnchorTypeEnum_type); declarations.push_back(IFC4X2_IfcTendonConduit_type); declarations.push_back(IFC4X2_IfcTendonConduitType_type); declarations.push_back(IFC4X2_IfcTendonConduitTypeEnum_type); declarations.push_back(IFC4X2_IfcTendonType_type); declarations.push_back(IFC4X2_IfcTendonTypeEnum_type); declarations.push_back(IFC4X2_IfcTessellatedFaceSet_type); declarations.push_back(IFC4X2_IfcTessellatedItem_type); declarations.push_back(IFC4X2_IfcText_type); declarations.push_back(IFC4X2_IfcTextAlignment_type); declarations.push_back(IFC4X2_IfcTextDecoration_type); declarations.push_back(IFC4X2_IfcTextFontName_type); declarations.push_back(IFC4X2_IfcTextFontSelect_type); declarations.push_back(IFC4X2_IfcTextLiteral_type); declarations.push_back(IFC4X2_IfcTextLiteralWithExtent_type); declarations.push_back(IFC4X2_IfcTextPath_type); declarations.push_back(IFC4X2_IfcTextStyle_type); declarations.push_back(IFC4X2_IfcTextStyleFontModel_type); declarations.push_back(IFC4X2_IfcTextStyleForDefinedFont_type); declarations.push_back(IFC4X2_IfcTextStyleTextModel_type); declarations.push_back(IFC4X2_IfcTextTransformation_type); declarations.push_back(IFC4X2_IfcTextureCoordinate_type); declarations.push_back(IFC4X2_IfcTextureCoordinateGenerator_type); declarations.push_back(IFC4X2_IfcTextureMap_type); declarations.push_back(IFC4X2_IfcTextureVertex_type); declarations.push_back(IFC4X2_IfcTextureVertexList_type); declarations.push_back(IFC4X2_IfcThermalAdmittanceMeasure_type); declarations.push_back(IFC4X2_IfcThermalConductivityMeasure_type); declarations.push_back(IFC4X2_IfcThermalExpansionCoefficientMeasure_type); declarations.push_back(IFC4X2_IfcThermalResistanceMeasure_type); declarations.push_back(IFC4X2_IfcThermalTransmittanceMeasure_type); declarations.push_back(IFC4X2_IfcThermodynamicTemperatureMeasure_type); declarations.push_back(IFC4X2_IfcTime_type); declarations.push_back(IFC4X2_IfcTimeMeasure_type); declarations.push_back(IFC4X2_IfcTimeOrRatioSelect_type); declarations.push_back(IFC4X2_IfcTimePeriod_type); declarations.push_back(IFC4X2_IfcTimeSeries_type); declarations.push_back(IFC4X2_IfcTimeSeriesDataTypeEnum_type); declarations.push_back(IFC4X2_IfcTimeSeriesValue_type); declarations.push_back(IFC4X2_IfcTimeStamp_type); declarations.push_back(IFC4X2_IfcTopologicalRepresentationItem_type); declarations.push_back(IFC4X2_IfcTopologyRepresentation_type); declarations.push_back(IFC4X2_IfcToroidalSurface_type); declarations.push_back(IFC4X2_IfcTorqueMeasure_type); declarations.push_back(IFC4X2_IfcTransformer_type); declarations.push_back(IFC4X2_IfcTransformerType_type); declarations.push_back(IFC4X2_IfcTransformerTypeEnum_type); declarations.push_back(IFC4X2_IfcTransitionCode_type); declarations.push_back(IFC4X2_IfcTransitionCurveSegment2D_type); declarations.push_back(IFC4X2_IfcTransitionCurveType_type); declarations.push_back(IFC4X2_IfcTranslationalStiffnessSelect_type); declarations.push_back(IFC4X2_IfcTransportElement_type); declarations.push_back(IFC4X2_IfcTransportElementType_type); declarations.push_back(IFC4X2_IfcTransportElementTypeEnum_type); declarations.push_back(IFC4X2_IfcTrapeziumProfileDef_type); declarations.push_back(IFC4X2_IfcTriangulatedFaceSet_type); declarations.push_back(IFC4X2_IfcTriangulatedIrregularNetwork_type); declarations.push_back(IFC4X2_IfcTrimmedCurve_type); declarations.push_back(IFC4X2_IfcTrimmingPreference_type); declarations.push_back(IFC4X2_IfcTrimmingSelect_type); declarations.push_back(IFC4X2_IfcTShapeProfileDef_type); declarations.push_back(IFC4X2_IfcTubeBundle_type); declarations.push_back(IFC4X2_IfcTubeBundleType_type); declarations.push_back(IFC4X2_IfcTubeBundleTypeEnum_type); declarations.push_back(IFC4X2_IfcTypeObject_type); declarations.push_back(IFC4X2_IfcTypeProcess_type); declarations.push_back(IFC4X2_IfcTypeProduct_type); declarations.push_back(IFC4X2_IfcTypeResource_type); declarations.push_back(IFC4X2_IfcUnit_type); declarations.push_back(IFC4X2_IfcUnitaryControlElement_type); declarations.push_back(IFC4X2_IfcUnitaryControlElementType_type); declarations.push_back(IFC4X2_IfcUnitaryControlElementTypeEnum_type); declarations.push_back(IFC4X2_IfcUnitaryEquipment_type); declarations.push_back(IFC4X2_IfcUnitaryEquipmentType_type); declarations.push_back(IFC4X2_IfcUnitaryEquipmentTypeEnum_type); declarations.push_back(IFC4X2_IfcUnitAssignment_type); declarations.push_back(IFC4X2_IfcUnitEnum_type); declarations.push_back(IFC4X2_IfcURIReference_type); declarations.push_back(IFC4X2_IfcUShapeProfileDef_type); declarations.push_back(IFC4X2_IfcValue_type); declarations.push_back(IFC4X2_IfcValve_type); declarations.push_back(IFC4X2_IfcValveType_type); declarations.push_back(IFC4X2_IfcValveTypeEnum_type); declarations.push_back(IFC4X2_IfcVaporPermeabilityMeasure_type); declarations.push_back(IFC4X2_IfcVector_type); declarations.push_back(IFC4X2_IfcVectorOrDirection_type); declarations.push_back(IFC4X2_IfcVertex_type); declarations.push_back(IFC4X2_IfcVertexLoop_type); declarations.push_back(IFC4X2_IfcVertexPoint_type); declarations.push_back(IFC4X2_IfcVibrationDamper_type); declarations.push_back(IFC4X2_IfcVibrationDamperType_type); declarations.push_back(IFC4X2_IfcVibrationDamperTypeEnum_type); declarations.push_back(IFC4X2_IfcVibrationIsolator_type); declarations.push_back(IFC4X2_IfcVibrationIsolatorType_type); declarations.push_back(IFC4X2_IfcVibrationIsolatorTypeEnum_type); declarations.push_back(IFC4X2_IfcVirtualElement_type); declarations.push_back(IFC4X2_IfcVirtualGridIntersection_type); declarations.push_back(IFC4X2_IfcVoidingFeature_type); declarations.push_back(IFC4X2_IfcVoidingFeatureTypeEnum_type); declarations.push_back(IFC4X2_IfcVolumeMeasure_type); declarations.push_back(IFC4X2_IfcVolumetricFlowRateMeasure_type); declarations.push_back(IFC4X2_IfcWall_type); declarations.push_back(IFC4X2_IfcWallElementedCase_type); declarations.push_back(IFC4X2_IfcWallStandardCase_type); declarations.push_back(IFC4X2_IfcWallType_type); declarations.push_back(IFC4X2_IfcWallTypeEnum_type); declarations.push_back(IFC4X2_IfcWarpingConstantMeasure_type); declarations.push_back(IFC4X2_IfcWarpingMomentMeasure_type); declarations.push_back(IFC4X2_IfcWarpingStiffnessSelect_type); declarations.push_back(IFC4X2_IfcWasteTerminal_type); declarations.push_back(IFC4X2_IfcWasteTerminalType_type); declarations.push_back(IFC4X2_IfcWasteTerminalTypeEnum_type); declarations.push_back(IFC4X2_IfcWindow_type); declarations.push_back(IFC4X2_IfcWindowLiningProperties_type); declarations.push_back(IFC4X2_IfcWindowPanelOperationEnum_type); declarations.push_back(IFC4X2_IfcWindowPanelPositionEnum_type); declarations.push_back(IFC4X2_IfcWindowPanelProperties_type); declarations.push_back(IFC4X2_IfcWindowStandardCase_type); declarations.push_back(IFC4X2_IfcWindowStyle_type); declarations.push_back(IFC4X2_IfcWindowStyleConstructionEnum_type); declarations.push_back(IFC4X2_IfcWindowStyleOperationEnum_type); declarations.push_back(IFC4X2_IfcWindowType_type); declarations.push_back(IFC4X2_IfcWindowTypeEnum_type); declarations.push_back(IFC4X2_IfcWindowTypePartitioningEnum_type); declarations.push_back(IFC4X2_IfcWorkCalendar_type); declarations.push_back(IFC4X2_IfcWorkCalendarTypeEnum_type); declarations.push_back(IFC4X2_IfcWorkControl_type); declarations.push_back(IFC4X2_IfcWorkPlan_type); declarations.push_back(IFC4X2_IfcWorkPlanTypeEnum_type); declarations.push_back(IFC4X2_IfcWorkSchedule_type); declarations.push_back(IFC4X2_IfcWorkScheduleTypeEnum_type); declarations.push_back(IFC4X2_IfcWorkTime_type); declarations.push_back(IFC4X2_IfcZone_type); declarations.push_back(IFC4X2_IfcZShapeProfileDef_type); return new schema_definition("IFC4X2", declarations, new IFC4X2_instance_factory()); } #if defined(__clang__) #elif defined(__GNUC__) || defined(__GNUG__) #pragma GCC pop_options #elif defined(_MSC_VER) #pragma optimize("", on) #endif static std::unique_ptr schema; void Ifc4x2::clear_schema() { schema.reset(); } const schema_definition& Ifc4x2::get_schema() { if (!schema) { schema.reset(IFC4X2_populate_schema()); } return *schema; }