// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at https://mozilla.org/MPL/2.0/.
//! Auto-generated IFC Type Enum
//!
//! Generated from EXPRESS schema: IFC2X3
//!
//! DO NOT EDIT - This file is auto-generated by @ifc-lite/codegen
#![allow(dead_code, clippy::enum_variant_names)] // Full EXPRESS names are required; registry consumers currently use only name lookup and attribute slots.
use std::fmt;
/// A normalized IFC keyword not declared by the supported schema universe.
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub(crate) struct UnknownIfcType {
name: String,
id: u32,
}
impl UnknownIfcType {
fn new(name: String) -> Self {
let id = crc32_hash(&name);
Self { name, id }
}
/// Normalized uppercase STEP keyword.
pub(crate) fn as_str(&self) -> &str {
&self.name
}
/// CRC32 identifier of the normalized keyword.
pub(crate) fn id(&self) -> u32 {
self.id
}
}
/// IFC Entity Types
///
/// All 653 entity types from the supported schema universe.
#[derive(Debug, Clone, PartialEq, Eq, Hash)]
pub(crate) enum IfcType {
// Spatial Structure
IfcBoxedHalfSpace,
IfcBuilding,
/// Abstract entity
IfcBuildingElement,
/// Abstract entity
IfcBuildingElementComponent,
IfcBuildingElementPart,
IfcBuildingElementProxy,
IfcBuildingElementProxyType,
/// Abstract entity
IfcBuildingElementType,
IfcBuildingStorey,
IfcHalfSpaceSolid,
IfcPolygonalBoundedHalfSpace,
IfcProject,
IfcProjectOrder,
IfcProjectOrderRecord,
IfcProjectionCurve,
IfcProjectionElement,
IfcRelAssignsToProjectOrder,
IfcRelCoversSpaces,
IfcRelOccupiesSpaces,
IfcRelProjectsElement,
IfcRelServicesBuildings,
IfcRelSpaceBoundary,
IfcSite,
IfcSpace,
IfcSpaceHeaterType,
IfcSpaceProgram,
IfcSpaceThermalLoadProperties,
IfcSpaceType,
/// Abstract entity
IfcSpatialStructureElement,
// Building Elements
IfcBeam,
IfcBeamType,
IfcColumn,
IfcColumnType,
IfcCooledBeamType,
IfcCovering,
IfcCurtainWall,
IfcCurtainWallType,
IfcDoor,
IfcFooting,
IfcMember,
IfcPile,
IfcPlate,
IfcRailing,
IfcRamp,
IfcRampFlight,
IfcReinforcingBar,
/// Abstract entity
IfcReinforcingElement,
IfcReinforcingMesh,
IfcRoof,
IfcSlab,
IfcSlabType,
IfcStair,
IfcStairFlight,
IfcTendon,
IfcTendonAnchor,
IfcWall,
IfcWallStandardCase,
IfcWallType,
IfcWindow,
// Openings
IfcDoorLiningProperties,
IfcDoorPanelProperties,
IfcDoorStyle,
IfcOpeningElement,
IfcWindowLiningProperties,
IfcWindowPanelProperties,
IfcWindowStyle,
// MEP
IfcCableCarrierFittingType,
IfcCableCarrierSegmentType,
IfcCableSegmentType,
IfcDistributionChamberElement,
IfcDistributionControlElement,
IfcDistributionElement,
IfcDistributionFlowElement,
IfcDuctFittingType,
IfcDuctSegmentType,
IfcDuctSilencerType,
IfcElectricDistributionPoint,
IfcEnergyConversionDevice,
IfcFlowController,
IfcFlowFitting,
IfcFlowMovingDevice,
IfcFlowSegment,
IfcFlowStorageDevice,
IfcFlowTerminal,
IfcFlowTreatmentDevice,
IfcPipeFittingType,
IfcPipeSegmentType,
// Geometry Representations
IfcAsymmetricIShapeProfileDef,
IfcCShapeProfileDef,
IfcCraneRailAShapeProfileDef,
IfcCraneRailFShapeProfileDef,
IfcGeometricRepresentationContext,
/// Abstract entity
IfcGeometricRepresentationItem,
IfcGeometricRepresentationSubContext,
IfcGeometricSet,
IfcIShapeProfileDef,
IfcLShapeProfileDef,
IfcMaterialDefinitionRepresentation,
IfcProductDefinitionShape,
IfcProductRepresentation,
IfcRepresentation,
IfcRepresentationContext,
/// Abstract entity
IfcRepresentationItem,
IfcRepresentationMap,
IfcShapeAspect,
/// Abstract entity
IfcShapeModel,
IfcShapeRepresentation,
IfcStyledRepresentation,
IfcTShapeProfileDef,
/// Abstract entity
IfcTopologicalRepresentationItem,
IfcTopologyRepresentation,
IfcUShapeProfileDef,
IfcZShapeProfileDef,
// Geometry Primitives
IfcBooleanClippingResult,
IfcBooleanResult,
IfcConnectedFaceSet,
/// Abstract entity
IfcCsgPrimitive3D,
IfcCsgSolid,
IfcExtrudedAreaSolid,
IfcFacetedBrep,
IfcFacetedBrepWithVoids,
/// Abstract entity
IfcManifoldSolidBrep,
IfcRevolvedAreaSolid,
/// Abstract entity
IfcSolidModel,
IfcSurfaceCurveSweptAreaSolid,
/// Abstract entity
IfcSweptAreaSolid,
IfcSweptDiskSolid,
// Profiles
IfcArbitraryClosedProfileDef,
IfcArbitraryOpenProfileDef,
IfcArbitraryProfileDefWithVoids,
IfcCenterLineProfileDef,
IfcCircleHollowProfileDef,
IfcCircleProfileDef,
IfcCompositeProfileDef,
IfcDerivedProfileDef,
IfcEllipseProfileDef,
IfcGeneralProfileProperties,
/// Abstract entity
IfcParameterizedProfileDef,
/// Abstract entity
IfcProfileDef,
/// Abstract entity
IfcProfileProperties,
IfcRectangleHollowProfileDef,
IfcRectangleProfileDef,
IfcRelAssociatesProfileProperties,
IfcRibPlateProfileProperties,
IfcRoundedRectangleProfileDef,
IfcStructuralProfileProperties,
IfcStructuralSteelProfileProperties,
IfcTrapeziumProfileDef,
// Curves
Ifc2DCompositeCurve,
IfcAnnotationCurveOccurrence,
/// Abstract entity
IfcBSplineCurve,
IfcBezierCurve,
/// Abstract entity
IfcBoundedCurve,
IfcCircle,
IfcCompositeCurve,
IfcCompositeCurveSegment,
IfcConnectionCurveGeometry,
/// Abstract entity
IfcCurve,
IfcCurveBoundedPlane,
IfcCurveStyle,
IfcCurveStyleFont,
IfcCurveStyleFontAndScaling,
IfcCurveStyleFontPattern,
IfcDimensionCurve,
IfcDimensionCurveDirectedCallout,
IfcDimensionCurveTerminator,
IfcDraughtingPreDefinedCurveFont,
IfcEdgeCurve,
IfcEllipse,
IfcGeometricCurveSet,
IfcLine,
IfcLinearDimension,
IfcOffsetCurve2D,
IfcOffsetCurve3D,
IfcPointOnCurve,
IfcPolyline,
/// Abstract entity
IfcPreDefinedCurveFont,
IfcRationalBezierCurve,
IfcStructuralCurveConnection,
IfcStructuralCurveMember,
IfcStructuralCurveMemberVarying,
IfcStructuralLinearAction,
IfcStructuralLinearActionVarying,
IfcStructuralLoadLinearForce,
IfcSurfaceOfLinearExtrusion,
IfcTrimmedCurve,
// Surfaces
IfcAnnotationSurface,
IfcAnnotationSurfaceOccurrence,
IfcBoundedSurface,
IfcConnectionSurfaceGeometry,
/// Abstract entity
IfcElementarySurface,
IfcExternallyDefinedSurfaceStyle,
IfcFaceBasedSurfaceModel,
IfcFaceSurface,
IfcPlane,
IfcPointOnSurface,
IfcRectangularTrimmedSurface,
IfcShellBasedSurfaceModel,
IfcStructuralSurfaceConnection,
IfcStructuralSurfaceMember,
IfcStructuralSurfaceMemberVarying,
/// Abstract entity
IfcSurface,
IfcSurfaceOfRevolution,
IfcSurfaceStyle,
IfcSurfaceStyleLighting,
IfcSurfaceStyleRefraction,
IfcSurfaceStyleRendering,
IfcSurfaceStyleShading,
IfcSurfaceStyleWithTextures,
/// Abstract entity
IfcSurfaceTexture,
/// Abstract entity
IfcSweptSurface,
// Relationships
IfcRelAggregates,
/// Abstract entity
IfcRelAssigns,
IfcRelAssignsTasks,
IfcRelAssignsToActor,
IfcRelAssignsToControl,
IfcRelAssignsToGroup,
IfcRelAssignsToProcess,
IfcRelAssignsToProduct,
IfcRelAssignsToResource,
IfcRelAssociates,
IfcRelAssociatesAppliedValue,
IfcRelAssociatesApproval,
IfcRelAssociatesClassification,
IfcRelAssociatesConstraint,
IfcRelAssociatesDocument,
IfcRelAssociatesLibrary,
IfcRelAssociatesMaterial,
/// Abstract entity
IfcRelConnects,
IfcRelConnectsElements,
IfcRelConnectsPathElements,
IfcRelConnectsPortToElement,
IfcRelConnectsPorts,
IfcRelConnectsStructuralActivity,
IfcRelConnectsStructuralElement,
IfcRelConnectsStructuralMember,
IfcRelConnectsWithEccentricity,
IfcRelConnectsWithRealizingElements,
IfcRelContainedInSpatialStructure,
IfcRelCoversBldgElements,
/// Abstract entity
IfcRelDecomposes,
/// Abstract entity
IfcRelDefines,
IfcRelDefinesByProperties,
IfcRelDefinesByType,
IfcRelFillsElement,
IfcRelFlowControlElements,
IfcRelInteractionRequirements,
IfcRelNests,
IfcRelOverridesProperties,
IfcRelReferencedInSpatialStructure,
IfcRelSchedulesCostItems,
IfcRelSequence,
IfcRelVoidsElement,
/// Abstract entity
IfcRelationship,
IfcRelaxation,
// Properties
/// Abstract entity
IfcAppliedValue,
IfcAppliedValueRelationship,
IfcApprovalPropertyRelationship,
IfcComplexProperty,
IfcCostValue,
IfcElementQuantity,
IfcEnvironmentalImpactValue,
IfcIrregularTimeSeriesValue,
IfcPhysicalComplexQuantity,
/// Abstract entity
IfcPhysicalQuantity,
/// Abstract entity
IfcPhysicalSimpleQuantity,
/// Abstract entity
IfcProperty,
IfcPropertyBoundedValue,
IfcPropertyConstraintRelationship,
/// Abstract entity
IfcPropertyDefinition,
IfcPropertyDependencyRelationship,
IfcPropertyEnumeratedValue,
IfcPropertyEnumeration,
IfcPropertyListValue,
IfcPropertyReferenceValue,
IfcPropertySet,
/// Abstract entity
IfcPropertySetDefinition,
IfcPropertySingleValue,
IfcPropertyTableValue,
IfcQuantityArea,
IfcQuantityCount,
IfcQuantityLength,
IfcQuantityTime,
IfcQuantityVolume,
IfcQuantityWeight,
IfcReferencesValueDocument,
/// Abstract entity
IfcSimpleProperty,
IfcSoundValue,
IfcTimeSeriesValue,
// Materials
IfcConstructionMaterialResource,
IfcExtendedMaterialProperties,
IfcGeneralMaterialProperties,
IfcHygroscopicMaterialProperties,
IfcMaterial,
IfcMaterialClassificationRelationship,
IfcMaterialLayer,
IfcMaterialLayerSet,
IfcMaterialLayerSetUsage,
IfcMaterialList,
/// Abstract entity
IfcMaterialProperties,
IfcMechanicalConcreteMaterialProperties,
IfcMechanicalMaterialProperties,
IfcMechanicalSteelMaterialProperties,
IfcOpticalMaterialProperties,
IfcThermalMaterialProperties,
// Presentation & Style
IfcColourRgb,
/// Abstract entity
IfcColourSpecification,
IfcDraughtingPreDefinedColour,
IfcExternallyDefinedHatchStyle,
IfcFillAreaStyle,
IfcFillAreaStyleHatching,
IfcFillAreaStyleTileSymbolWithStyle,
IfcFillAreaStyleTiles,
/// Abstract entity
IfcPreDefinedColour,
IfcPresentationLayerAssignment,
IfcPresentationLayerWithStyle,
/// Abstract entity
IfcPresentationStyle,
IfcPresentationStyleAssignment,
/// Abstract entity
IfcStyleModel,
IfcStyledItem,
IfcSymbolStyle,
IfcTextStyle,
IfcTextStyleFontModel,
IfcTextStyleForDefinedFont,
IfcTextStyleTextModel,
IfcTextStyleWithBoxCharacteristics,
// Core & Common
IfcConstructionEquipmentResource,
IfcConstructionProductResource,
/// Abstract entity
IfcConstructionResource,
IfcCrewResource,
IfcDerivedUnitElement,
IfcDistributionChamberElementType,
/// Abstract entity
IfcDistributionControlElementType,
IfcDistributionElementType,
/// Abstract entity
IfcDistributionFlowElementType,
IfcElectricalElement,
/// Abstract entity
IfcElement,
IfcElementAssembly,
/// Abstract entity
IfcElementComponent,
/// Abstract entity
IfcElementComponentType,
/// Abstract entity
IfcElementType,
IfcEquipmentElement,
/// Abstract entity
IfcFeatureElement,
/// Abstract entity
IfcFeatureElementAddition,
/// Abstract entity
IfcFeatureElementSubtraction,
IfcFurnishingElement,
IfcFurnishingElementType,
IfcLaborResource,
/// Abstract entity
IfcObject,
/// Abstract entity
IfcObjectDefinition,
/// Abstract entity
IfcObjectPlacement,
IfcObjective,
/// Abstract entity
IfcProduct,
IfcProductsOfCombustionProperties,
/// Abstract entity
IfcResource,
/// Abstract entity
IfcRoot,
/// Abstract entity
IfcSpatialStructureElementType,
IfcSubContractResource,
IfcSystemFurnitureElementType,
IfcTransportElement,
IfcTransportElementType,
IfcTypeObject,
IfcTypeProduct,
IfcVirtualElement,
// Other
IfcActionRequest,
IfcActor,
IfcActorRole,
IfcActuatorType,
/// Abstract entity
IfcAddress,
IfcAirTerminalBoxType,
IfcAirTerminalType,
IfcAirToAirHeatRecoveryType,
IfcAlarmType,
IfcAngularDimension,
IfcAnnotation,
IfcAnnotationFillArea,
IfcAnnotationFillAreaOccurrence,
/// Abstract entity
IfcAnnotationOccurrence,
IfcAnnotationSymbolOccurrence,
IfcAnnotationTextOccurrence,
IfcApplication,
IfcApproval,
IfcApprovalActorRelationship,
IfcApprovalRelationship,
IfcAsset,
IfcAxis1Placement,
IfcAxis2Placement2D,
IfcAxis2Placement3D,
IfcBlobTexture,
IfcBlock,
IfcBoilerType,
/// Abstract entity
IfcBoundaryCondition,
IfcBoundaryEdgeCondition,
IfcBoundaryFaceCondition,
IfcBoundaryNodeCondition,
IfcBoundaryNodeConditionWarping,
IfcBoundingBox,
IfcCalendarDate,
IfcCartesianPoint,
/// Abstract entity
IfcCartesianTransformationOperator,
IfcCartesianTransformationOperator2D,
IfcCartesianTransformationOperator2DnonUniform,
IfcCartesianTransformationOperator3D,
IfcCartesianTransformationOperator3DnonUniform,
IfcChamferEdgeFeature,
IfcChillerType,
IfcClassification,
IfcClassificationItem,
IfcClassificationItemRelationship,
IfcClassificationNotation,
IfcClassificationNotationFacet,
IfcClassificationReference,
IfcClosedShell,
IfcCoilType,
IfcCompressorType,
IfcCondenserType,
IfcCondition,
IfcConditionCriterion,
/// Abstract entity
IfcConic,
/// Abstract entity
IfcConnectionGeometry,
IfcConnectionPointEccentricity,
IfcConnectionPointGeometry,
IfcConnectionPortGeometry,
/// Abstract entity
IfcConstraint,
IfcConstraintAggregationRelationship,
IfcConstraintClassificationRelationship,
IfcConstraintRelationship,
IfcContextDependentUnit,
/// Abstract entity
IfcControl,
IfcControllerType,
IfcConversionBasedUnit,
IfcCoolingTowerType,
IfcCoordinatedUniversalTimeOffset,
IfcCostItem,
IfcCostSchedule,
IfcCoveringType,
IfcCurrencyRelationship,
IfcDamperType,
IfcDateAndTime,
IfcDefinedSymbol,
IfcDerivedUnit,
IfcDiameterDimension,
IfcDimensionCalloutRelationship,
IfcDimensionPair,
IfcDimensionalExponents,
IfcDirection,
IfcDiscreteAccessory,
IfcDiscreteAccessoryType,
IfcDistributionPort,
IfcDocumentElectronicFormat,
IfcDocumentInformation,
IfcDocumentInformationRelationship,
IfcDocumentReference,
IfcDraughtingCallout,
IfcDraughtingCalloutRelationship,
IfcDraughtingPreDefinedTextFont,
IfcEdge,
/// Abstract entity
IfcEdgeFeature,
IfcEdgeLoop,
IfcElectricApplianceType,
IfcElectricFlowStorageDeviceType,
IfcElectricGeneratorType,
IfcElectricHeaterType,
IfcElectricMotorType,
IfcElectricTimeControlType,
IfcElectricalBaseProperties,
IfcElectricalCircuit,
/// Abstract entity
IfcEnergyConversionDeviceType,
IfcEnergyProperties,
IfcEquipmentStandard,
IfcEvaporativeCoolerType,
IfcEvaporatorType,
/// Abstract entity
IfcExternalReference,
IfcExternallyDefinedSymbol,
IfcExternallyDefinedTextFont,
IfcFace,
IfcFaceBound,
IfcFaceOuterBound,
IfcFailureConnectionCondition,
IfcFanType,
IfcFastener,
IfcFastenerType,
IfcFilterType,
IfcFireSuppressionTerminalType,
/// Abstract entity
IfcFlowControllerType,
/// Abstract entity
IfcFlowFittingType,
IfcFlowInstrumentType,
IfcFlowMeterType,
/// Abstract entity
IfcFlowMovingDeviceType,
/// Abstract entity
IfcFlowSegmentType,
/// Abstract entity
IfcFlowStorageDeviceType,
/// Abstract entity
IfcFlowTerminalType,
/// Abstract entity
IfcFlowTreatmentDeviceType,
IfcFluidFlowProperties,
IfcFuelProperties,
IfcFurnitureStandard,
IfcFurnitureType,
IfcGasTerminalType,
IfcGrid,
IfcGridAxis,
IfcGridPlacement,
IfcGroup,
IfcHeatExchangerType,
IfcHumidifierType,
IfcImageTexture,
IfcInventory,
IfcIrregularTimeSeries,
IfcJunctionBoxType,
IfcLampType,
IfcLibraryInformation,
IfcLibraryReference,
IfcLightDistributionData,
IfcLightFixtureType,
IfcLightIntensityDistribution,
/// Abstract entity
IfcLightSource,
IfcLightSourceAmbient,
IfcLightSourceDirectional,
IfcLightSourceGoniometric,
IfcLightSourcePositional,
IfcLightSourceSpot,
IfcLocalPlacement,
IfcLocalTime,
IfcLoop,
IfcMappedItem,
IfcMeasureWithUnit,
IfcMechanicalFastener,
IfcMechanicalFastenerType,
IfcMemberType,
IfcMetric,
IfcMonetaryUnit,
IfcMotorConnectionType,
IfcMove,
/// Abstract entity
IfcNamedUnit,
IfcOccupant,
IfcOneDirectionRepeatFactor,
IfcOpenShell,
IfcOrderAction,
IfcOrganization,
IfcOrganizationRelationship,
IfcOrientedEdge,
IfcOutletType,
IfcOwnerHistory,
IfcPath,
IfcPerformanceHistory,
IfcPermeableCoveringProperties,
IfcPermit,
IfcPerson,
IfcPersonAndOrganization,
IfcPixelTexture,
/// Abstract entity
IfcPlacement,
IfcPlanarBox,
IfcPlanarExtent,
IfcPlateType,
/// Abstract entity
IfcPoint,
IfcPolyLoop,
/// Abstract entity
IfcPort,
IfcPostalAddress,
IfcPreDefinedDimensionSymbol,
/// Abstract entity
IfcPreDefinedItem,
IfcPreDefinedPointMarkerSymbol,
/// Abstract entity
IfcPreDefinedSymbol,
IfcPreDefinedTerminatorSymbol,
/// Abstract entity
IfcPreDefinedTextFont,
IfcProcedure,
/// Abstract entity
IfcProcess,
IfcProtectiveDeviceType,
IfcProxy,
IfcPumpType,
IfcRadiusDimension,
IfcRailingType,
IfcRampFlightType,
IfcRectangularPyramid,
IfcRegularTimeSeries,
IfcReinforcementBarProperties,
IfcReinforcementDefinitionProperties,
IfcRightCircularCone,
IfcRightCircularCylinder,
IfcRoundedEdgeFeature,
IfcSIUnit,
IfcSanitaryTerminalType,
IfcScheduleTimeControl,
IfcSectionProperties,
IfcSectionReinforcementProperties,
IfcSectionedSpine,
IfcSensorType,
IfcServiceLife,
IfcServiceLifeFactor,
IfcSlippageConnectionCondition,
IfcSoundProperties,
IfcSphere,
IfcStackTerminalType,
IfcStairFlightType,
/// Abstract entity
IfcStructuralAction,
/// Abstract entity
IfcStructuralActivity,
IfcStructuralAnalysisModel,
/// Abstract entity
IfcStructuralConnection,
/// Abstract entity
IfcStructuralConnectionCondition,
/// Abstract entity
IfcStructuralItem,
/// Abstract entity
IfcStructuralLoad,
IfcStructuralLoadGroup,
IfcStructuralLoadPlanarForce,
IfcStructuralLoadSingleDisplacement,
IfcStructuralLoadSingleDisplacementDistortion,
IfcStructuralLoadSingleForce,
IfcStructuralLoadSingleForceWarping,
/// Abstract entity
IfcStructuralLoadStatic,
IfcStructuralLoadTemperature,
/// Abstract entity
IfcStructuralMember,
IfcStructuralPlanarAction,
IfcStructuralPlanarActionVarying,
IfcStructuralPointAction,
IfcStructuralPointConnection,
IfcStructuralPointReaction,
/// Abstract entity
IfcStructuralReaction,
IfcStructuralResultGroup,
IfcStructuredDimensionCallout,
IfcSubedge,
IfcSwitchingDeviceType,
IfcSystem,
IfcTable,
IfcTableRow,
IfcTankType,
IfcTask,
IfcTelecomAddress,
IfcTerminatorSymbol,
IfcTextLiteral,
IfcTextLiteralWithExtent,
/// Abstract entity
IfcTextureCoordinate,
IfcTextureCoordinateGenerator,
IfcTextureMap,
IfcTextureVertex,
/// Abstract entity
IfcTimeSeries,
IfcTimeSeriesReferenceRelationship,
IfcTimeSeriesSchedule,
IfcTransformerType,
IfcTubeBundleType,
IfcTwoDirectionRepeatFactor,
IfcUnitAssignment,
IfcUnitaryEquipmentType,
IfcValveType,
IfcVector,
IfcVertex,
IfcVertexBasedTextureMap,
IfcVertexLoop,
IfcVertexPoint,
IfcVibrationIsolatorType,
IfcVirtualGridIntersection,
IfcWasteTerminalType,
IfcWaterProperties,
/// Abstract entity
IfcWorkControl,
IfcWorkPlan,
IfcWorkSchedule,
IfcZone,
/// Unknown/unrecognized IFC type with its normalized keyword.
Unknown(UnknownIfcType),
}
impl IfcType {
/// Parse IFC type from string (case-insensitive)
#[allow(clippy::should_implement_trait)]
pub fn from_str(s: &str) -> Self {
// #3987: recognized STEP names need no normalization scan.
if let Some(known) = Self::from_canonical_name(s) {
return known;
}
if s.bytes().all(|b| b.is_ascii() && !b.is_ascii_lowercase()) {
return Self::Unknown(UnknownIfcType::new(s.to_owned()));
}
// Keep Unicode uppercase expansion and the exact unknown-type CRC.
let upper = s.to_uppercase();
Self::from_canonical_name(&upper)
.unwrap_or_else(|| Self::Unknown(UnknownIfcType::new(upper)))
}
fn from_canonical_name(s: &str) -> Option<Self> {
Some(match s {
"IFC2DCOMPOSITECURVE" => Self::Ifc2DCompositeCurve,
"IFCACTIONREQUEST" => Self::IfcActionRequest,
"IFCACTOR" => Self::IfcActor,
"IFCACTORROLE" => Self::IfcActorRole,
"IFCACTUATORTYPE" => Self::IfcActuatorType,
"IFCADDRESS" => Self::IfcAddress,
"IFCAIRTERMINALBOXTYPE" => Self::IfcAirTerminalBoxType,
"IFCAIRTERMINALTYPE" => Self::IfcAirTerminalType,
"IFCAIRTOAIRHEATRECOVERYTYPE" => Self::IfcAirToAirHeatRecoveryType,
"IFCALARMTYPE" => Self::IfcAlarmType,
"IFCANGULARDIMENSION" => Self::IfcAngularDimension,
"IFCANNOTATION" => Self::IfcAnnotation,
"IFCANNOTATIONCURVEOCCURRENCE" => Self::IfcAnnotationCurveOccurrence,
"IFCANNOTATIONFILLAREA" => Self::IfcAnnotationFillArea,
"IFCANNOTATIONFILLAREAOCCURRENCE" => Self::IfcAnnotationFillAreaOccurrence,
"IFCANNOTATIONOCCURRENCE" => Self::IfcAnnotationOccurrence,
"IFCANNOTATIONSURFACE" => Self::IfcAnnotationSurface,
"IFCANNOTATIONSURFACEOCCURRENCE" => Self::IfcAnnotationSurfaceOccurrence,
"IFCANNOTATIONSYMBOLOCCURRENCE" => Self::IfcAnnotationSymbolOccurrence,
"IFCANNOTATIONTEXTOCCURRENCE" => Self::IfcAnnotationTextOccurrence,
"IFCAPPLICATION" => Self::IfcApplication,
"IFCAPPLIEDVALUE" => Self::IfcAppliedValue,
"IFCAPPLIEDVALUERELATIONSHIP" => Self::IfcAppliedValueRelationship,
"IFCAPPROVAL" => Self::IfcApproval,
"IFCAPPROVALACTORRELATIONSHIP" => Self::IfcApprovalActorRelationship,
"IFCAPPROVALPROPERTYRELATIONSHIP" => Self::IfcApprovalPropertyRelationship,
"IFCAPPROVALRELATIONSHIP" => Self::IfcApprovalRelationship,
"IFCARBITRARYCLOSEDPROFILEDEF" => Self::IfcArbitraryClosedProfileDef,
"IFCARBITRARYOPENPROFILEDEF" => Self::IfcArbitraryOpenProfileDef,
"IFCARBITRARYPROFILEDEFWITHVOIDS" => Self::IfcArbitraryProfileDefWithVoids,
"IFCASSET" => Self::IfcAsset,
"IFCASYMMETRICISHAPEPROFILEDEF" => Self::IfcAsymmetricIShapeProfileDef,
"IFCAXIS1PLACEMENT" => Self::IfcAxis1Placement,
"IFCAXIS2PLACEMENT2D" => Self::IfcAxis2Placement2D,
"IFCAXIS2PLACEMENT3D" => Self::IfcAxis2Placement3D,
"IFCBSPLINECURVE" => Self::IfcBSplineCurve,
"IFCBEAM" => Self::IfcBeam,
"IFCBEAMTYPE" => Self::IfcBeamType,
"IFCBEZIERCURVE" => Self::IfcBezierCurve,
"IFCBLOBTEXTURE" => Self::IfcBlobTexture,
"IFCBLOCK" => Self::IfcBlock,
"IFCBOILERTYPE" => Self::IfcBoilerType,
"IFCBOOLEANCLIPPINGRESULT" => Self::IfcBooleanClippingResult,
"IFCBOOLEANRESULT" => Self::IfcBooleanResult,
"IFCBOUNDARYCONDITION" => Self::IfcBoundaryCondition,
"IFCBOUNDARYEDGECONDITION" => Self::IfcBoundaryEdgeCondition,
"IFCBOUNDARYFACECONDITION" => Self::IfcBoundaryFaceCondition,
"IFCBOUNDARYNODECONDITION" => Self::IfcBoundaryNodeCondition,
"IFCBOUNDARYNODECONDITIONWARPING" => Self::IfcBoundaryNodeConditionWarping,
"IFCBOUNDEDCURVE" => Self::IfcBoundedCurve,
"IFCBOUNDEDSURFACE" => Self::IfcBoundedSurface,
"IFCBOUNDINGBOX" => Self::IfcBoundingBox,
"IFCBOXEDHALFSPACE" => Self::IfcBoxedHalfSpace,
"IFCBUILDING" => Self::IfcBuilding,
"IFCBUILDINGELEMENT" => Self::IfcBuildingElement,
"IFCBUILDINGELEMENTCOMPONENT" => Self::IfcBuildingElementComponent,
"IFCBUILDINGELEMENTPART" => Self::IfcBuildingElementPart,
"IFCBUILDINGELEMENTPROXY" => Self::IfcBuildingElementProxy,
"IFCBUILDINGELEMENTPROXYTYPE" => Self::IfcBuildingElementProxyType,
"IFCBUILDINGELEMENTTYPE" => Self::IfcBuildingElementType,
"IFCBUILDINGSTOREY" => Self::IfcBuildingStorey,
"IFCCSHAPEPROFILEDEF" => Self::IfcCShapeProfileDef,
"IFCCABLECARRIERFITTINGTYPE" => Self::IfcCableCarrierFittingType,
"IFCCABLECARRIERSEGMENTTYPE" => Self::IfcCableCarrierSegmentType,
"IFCCABLESEGMENTTYPE" => Self::IfcCableSegmentType,
"IFCCALENDARDATE" => Self::IfcCalendarDate,
"IFCCARTESIANPOINT" => Self::IfcCartesianPoint,
"IFCCARTESIANTRANSFORMATIONOPERATOR" => Self::IfcCartesianTransformationOperator,
"IFCCARTESIANTRANSFORMATIONOPERATOR2D" => Self::IfcCartesianTransformationOperator2D,
"IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM" => Self::IfcCartesianTransformationOperator2DnonUniform,
"IFCCARTESIANTRANSFORMATIONOPERATOR3D" => Self::IfcCartesianTransformationOperator3D,
"IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM" => Self::IfcCartesianTransformationOperator3DnonUniform,
"IFCCENTERLINEPROFILEDEF" => Self::IfcCenterLineProfileDef,
"IFCCHAMFEREDGEFEATURE" => Self::IfcChamferEdgeFeature,
"IFCCHILLERTYPE" => Self::IfcChillerType,
"IFCCIRCLE" => Self::IfcCircle,
"IFCCIRCLEHOLLOWPROFILEDEF" => Self::IfcCircleHollowProfileDef,
"IFCCIRCLEPROFILEDEF" => Self::IfcCircleProfileDef,
"IFCCLASSIFICATION" => Self::IfcClassification,
"IFCCLASSIFICATIONITEM" => Self::IfcClassificationItem,
"IFCCLASSIFICATIONITEMRELATIONSHIP" => Self::IfcClassificationItemRelationship,
"IFCCLASSIFICATIONNOTATION" => Self::IfcClassificationNotation,
"IFCCLASSIFICATIONNOTATIONFACET" => Self::IfcClassificationNotationFacet,
"IFCCLASSIFICATIONREFERENCE" => Self::IfcClassificationReference,
"IFCCLOSEDSHELL" => Self::IfcClosedShell,
"IFCCOILTYPE" => Self::IfcCoilType,
"IFCCOLOURRGB" => Self::IfcColourRgb,
"IFCCOLOURSPECIFICATION" => Self::IfcColourSpecification,
"IFCCOLUMN" => Self::IfcColumn,
"IFCCOLUMNTYPE" => Self::IfcColumnType,
"IFCCOMPLEXPROPERTY" => Self::IfcComplexProperty,
"IFCCOMPOSITECURVE" => Self::IfcCompositeCurve,
"IFCCOMPOSITECURVESEGMENT" => Self::IfcCompositeCurveSegment,
"IFCCOMPOSITEPROFILEDEF" => Self::IfcCompositeProfileDef,
"IFCCOMPRESSORTYPE" => Self::IfcCompressorType,
"IFCCONDENSERTYPE" => Self::IfcCondenserType,
"IFCCONDITION" => Self::IfcCondition,
"IFCCONDITIONCRITERION" => Self::IfcConditionCriterion,
"IFCCONIC" => Self::IfcConic,
"IFCCONNECTEDFACESET" => Self::IfcConnectedFaceSet,
"IFCCONNECTIONCURVEGEOMETRY" => Self::IfcConnectionCurveGeometry,
"IFCCONNECTIONGEOMETRY" => Self::IfcConnectionGeometry,
"IFCCONNECTIONPOINTECCENTRICITY" => Self::IfcConnectionPointEccentricity,
"IFCCONNECTIONPOINTGEOMETRY" => Self::IfcConnectionPointGeometry,
"IFCCONNECTIONPORTGEOMETRY" => Self::IfcConnectionPortGeometry,
"IFCCONNECTIONSURFACEGEOMETRY" => Self::IfcConnectionSurfaceGeometry,
"IFCCONSTRAINT" => Self::IfcConstraint,
"IFCCONSTRAINTAGGREGATIONRELATIONSHIP" => Self::IfcConstraintAggregationRelationship,
"IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP" => Self::IfcConstraintClassificationRelationship,
"IFCCONSTRAINTRELATIONSHIP" => Self::IfcConstraintRelationship,
"IFCCONSTRUCTIONEQUIPMENTRESOURCE" => Self::IfcConstructionEquipmentResource,
"IFCCONSTRUCTIONMATERIALRESOURCE" => Self::IfcConstructionMaterialResource,
"IFCCONSTRUCTIONPRODUCTRESOURCE" => Self::IfcConstructionProductResource,
"IFCCONSTRUCTIONRESOURCE" => Self::IfcConstructionResource,
"IFCCONTEXTDEPENDENTUNIT" => Self::IfcContextDependentUnit,
"IFCCONTROL" => Self::IfcControl,
"IFCCONTROLLERTYPE" => Self::IfcControllerType,
"IFCCONVERSIONBASEDUNIT" => Self::IfcConversionBasedUnit,
"IFCCOOLEDBEAMTYPE" => Self::IfcCooledBeamType,
"IFCCOOLINGTOWERTYPE" => Self::IfcCoolingTowerType,
"IFCCOORDINATEDUNIVERSALTIMEOFFSET" => Self::IfcCoordinatedUniversalTimeOffset,
"IFCCOSTITEM" => Self::IfcCostItem,
"IFCCOSTSCHEDULE" => Self::IfcCostSchedule,
"IFCCOSTVALUE" => Self::IfcCostValue,
"IFCCOVERING" => Self::IfcCovering,
"IFCCOVERINGTYPE" => Self::IfcCoveringType,
"IFCCRANERAILASHAPEPROFILEDEF" => Self::IfcCraneRailAShapeProfileDef,
"IFCCRANERAILFSHAPEPROFILEDEF" => Self::IfcCraneRailFShapeProfileDef,
"IFCCREWRESOURCE" => Self::IfcCrewResource,
"IFCCSGPRIMITIVE3D" => Self::IfcCsgPrimitive3D,
"IFCCSGSOLID" => Self::IfcCsgSolid,
"IFCCURRENCYRELATIONSHIP" => Self::IfcCurrencyRelationship,
"IFCCURTAINWALL" => Self::IfcCurtainWall,
"IFCCURTAINWALLTYPE" => Self::IfcCurtainWallType,
"IFCCURVE" => Self::IfcCurve,
"IFCCURVEBOUNDEDPLANE" => Self::IfcCurveBoundedPlane,
"IFCCURVESTYLE" => Self::IfcCurveStyle,
"IFCCURVESTYLEFONT" => Self::IfcCurveStyleFont,
"IFCCURVESTYLEFONTANDSCALING" => Self::IfcCurveStyleFontAndScaling,
"IFCCURVESTYLEFONTPATTERN" => Self::IfcCurveStyleFontPattern,
"IFCDAMPERTYPE" => Self::IfcDamperType,
"IFCDATEANDTIME" => Self::IfcDateAndTime,
"IFCDEFINEDSYMBOL" => Self::IfcDefinedSymbol,
"IFCDERIVEDPROFILEDEF" => Self::IfcDerivedProfileDef,
"IFCDERIVEDUNIT" => Self::IfcDerivedUnit,
"IFCDERIVEDUNITELEMENT" => Self::IfcDerivedUnitElement,
"IFCDIAMETERDIMENSION" => Self::IfcDiameterDimension,
"IFCDIMENSIONCALLOUTRELATIONSHIP" => Self::IfcDimensionCalloutRelationship,
"IFCDIMENSIONCURVE" => Self::IfcDimensionCurve,
"IFCDIMENSIONCURVEDIRECTEDCALLOUT" => Self::IfcDimensionCurveDirectedCallout,
"IFCDIMENSIONCURVETERMINATOR" => Self::IfcDimensionCurveTerminator,
"IFCDIMENSIONPAIR" => Self::IfcDimensionPair,
"IFCDIMENSIONALEXPONENTS" => Self::IfcDimensionalExponents,
"IFCDIRECTION" => Self::IfcDirection,
"IFCDISCRETEACCESSORY" => Self::IfcDiscreteAccessory,
"IFCDISCRETEACCESSORYTYPE" => Self::IfcDiscreteAccessoryType,
"IFCDISTRIBUTIONCHAMBERELEMENT" => Self::IfcDistributionChamberElement,
"IFCDISTRIBUTIONCHAMBERELEMENTTYPE" => Self::IfcDistributionChamberElementType,
"IFCDISTRIBUTIONCONTROLELEMENT" => Self::IfcDistributionControlElement,
"IFCDISTRIBUTIONCONTROLELEMENTTYPE" => Self::IfcDistributionControlElementType,
"IFCDISTRIBUTIONELEMENT" => Self::IfcDistributionElement,
"IFCDISTRIBUTIONELEMENTTYPE" => Self::IfcDistributionElementType,
"IFCDISTRIBUTIONFLOWELEMENT" => Self::IfcDistributionFlowElement,
"IFCDISTRIBUTIONFLOWELEMENTTYPE" => Self::IfcDistributionFlowElementType,
"IFCDISTRIBUTIONPORT" => Self::IfcDistributionPort,
"IFCDOCUMENTELECTRONICFORMAT" => Self::IfcDocumentElectronicFormat,
"IFCDOCUMENTINFORMATION" => Self::IfcDocumentInformation,
"IFCDOCUMENTINFORMATIONRELATIONSHIP" => Self::IfcDocumentInformationRelationship,
"IFCDOCUMENTREFERENCE" => Self::IfcDocumentReference,
"IFCDOOR" => Self::IfcDoor,
"IFCDOORLININGPROPERTIES" => Self::IfcDoorLiningProperties,
"IFCDOORPANELPROPERTIES" => Self::IfcDoorPanelProperties,
"IFCDOORSTYLE" => Self::IfcDoorStyle,
"IFCDRAUGHTINGCALLOUT" => Self::IfcDraughtingCallout,
"IFCDRAUGHTINGCALLOUTRELATIONSHIP" => Self::IfcDraughtingCalloutRelationship,
"IFCDRAUGHTINGPREDEFINEDCOLOUR" => Self::IfcDraughtingPreDefinedColour,
"IFCDRAUGHTINGPREDEFINEDCURVEFONT" => Self::IfcDraughtingPreDefinedCurveFont,
"IFCDRAUGHTINGPREDEFINEDTEXTFONT" => Self::IfcDraughtingPreDefinedTextFont,
"IFCDUCTFITTINGTYPE" => Self::IfcDuctFittingType,
"IFCDUCTSEGMENTTYPE" => Self::IfcDuctSegmentType,
"IFCDUCTSILENCERTYPE" => Self::IfcDuctSilencerType,
"IFCEDGE" => Self::IfcEdge,
"IFCEDGECURVE" => Self::IfcEdgeCurve,
"IFCEDGEFEATURE" => Self::IfcEdgeFeature,
"IFCEDGELOOP" => Self::IfcEdgeLoop,
"IFCELECTRICAPPLIANCETYPE" => Self::IfcElectricApplianceType,
"IFCELECTRICDISTRIBUTIONPOINT" => Self::IfcElectricDistributionPoint,
"IFCELECTRICFLOWSTORAGEDEVICETYPE" => Self::IfcElectricFlowStorageDeviceType,
"IFCELECTRICGENERATORTYPE" => Self::IfcElectricGeneratorType,
"IFCELECTRICHEATERTYPE" => Self::IfcElectricHeaterType,
"IFCELECTRICMOTORTYPE" => Self::IfcElectricMotorType,
"IFCELECTRICTIMECONTROLTYPE" => Self::IfcElectricTimeControlType,
"IFCELECTRICALBASEPROPERTIES" => Self::IfcElectricalBaseProperties,
"IFCELECTRICALCIRCUIT" => Self::IfcElectricalCircuit,
"IFCELECTRICALELEMENT" => Self::IfcElectricalElement,
"IFCELEMENT" => Self::IfcElement,
"IFCELEMENTASSEMBLY" => Self::IfcElementAssembly,
"IFCELEMENTCOMPONENT" => Self::IfcElementComponent,
"IFCELEMENTCOMPONENTTYPE" => Self::IfcElementComponentType,
"IFCELEMENTQUANTITY" => Self::IfcElementQuantity,
"IFCELEMENTTYPE" => Self::IfcElementType,
"IFCELEMENTARYSURFACE" => Self::IfcElementarySurface,
"IFCELLIPSE" => Self::IfcEllipse,
"IFCELLIPSEPROFILEDEF" => Self::IfcEllipseProfileDef,
"IFCENERGYCONVERSIONDEVICE" => Self::IfcEnergyConversionDevice,
"IFCENERGYCONVERSIONDEVICETYPE" => Self::IfcEnergyConversionDeviceType,
"IFCENERGYPROPERTIES" => Self::IfcEnergyProperties,
"IFCENVIRONMENTALIMPACTVALUE" => Self::IfcEnvironmentalImpactValue,
"IFCEQUIPMENTELEMENT" => Self::IfcEquipmentElement,
"IFCEQUIPMENTSTANDARD" => Self::IfcEquipmentStandard,
"IFCEVAPORATIVECOOLERTYPE" => Self::IfcEvaporativeCoolerType,
"IFCEVAPORATORTYPE" => Self::IfcEvaporatorType,
"IFCEXTENDEDMATERIALPROPERTIES" => Self::IfcExtendedMaterialProperties,
"IFCEXTERNALREFERENCE" => Self::IfcExternalReference,
"IFCEXTERNALLYDEFINEDHATCHSTYLE" => Self::IfcExternallyDefinedHatchStyle,
"IFCEXTERNALLYDEFINEDSURFACESTYLE" => Self::IfcExternallyDefinedSurfaceStyle,
"IFCEXTERNALLYDEFINEDSYMBOL" => Self::IfcExternallyDefinedSymbol,
"IFCEXTERNALLYDEFINEDTEXTFONT" => Self::IfcExternallyDefinedTextFont,
"IFCEXTRUDEDAREASOLID" => Self::IfcExtrudedAreaSolid,
"IFCFACE" => Self::IfcFace,
"IFCFACEBASEDSURFACEMODEL" => Self::IfcFaceBasedSurfaceModel,
"IFCFACEBOUND" => Self::IfcFaceBound,
"IFCFACEOUTERBOUND" => Self::IfcFaceOuterBound,
"IFCFACESURFACE" => Self::IfcFaceSurface,
"IFCFACETEDBREP" => Self::IfcFacetedBrep,
"IFCFACETEDBREPWITHVOIDS" => Self::IfcFacetedBrepWithVoids,
"IFCFAILURECONNECTIONCONDITION" => Self::IfcFailureConnectionCondition,
"IFCFANTYPE" => Self::IfcFanType,
"IFCFASTENER" => Self::IfcFastener,
"IFCFASTENERTYPE" => Self::IfcFastenerType,
"IFCFEATUREELEMENT" => Self::IfcFeatureElement,
"IFCFEATUREELEMENTADDITION" => Self::IfcFeatureElementAddition,
"IFCFEATUREELEMENTSUBTRACTION" => Self::IfcFeatureElementSubtraction,
"IFCFILLAREASTYLE" => Self::IfcFillAreaStyle,
"IFCFILLAREASTYLEHATCHING" => Self::IfcFillAreaStyleHatching,
"IFCFILLAREASTYLETILESYMBOLWITHSTYLE" => Self::IfcFillAreaStyleTileSymbolWithStyle,
"IFCFILLAREASTYLETILES" => Self::IfcFillAreaStyleTiles,
"IFCFILTERTYPE" => Self::IfcFilterType,
"IFCFIRESUPPRESSIONTERMINALTYPE" => Self::IfcFireSuppressionTerminalType,
"IFCFLOWCONTROLLER" => Self::IfcFlowController,
"IFCFLOWCONTROLLERTYPE" => Self::IfcFlowControllerType,
"IFCFLOWFITTING" => Self::IfcFlowFitting,
"IFCFLOWFITTINGTYPE" => Self::IfcFlowFittingType,
"IFCFLOWINSTRUMENTTYPE" => Self::IfcFlowInstrumentType,
"IFCFLOWMETERTYPE" => Self::IfcFlowMeterType,
"IFCFLOWMOVINGDEVICE" => Self::IfcFlowMovingDevice,
"IFCFLOWMOVINGDEVICETYPE" => Self::IfcFlowMovingDeviceType,
"IFCFLOWSEGMENT" => Self::IfcFlowSegment,
"IFCFLOWSEGMENTTYPE" => Self::IfcFlowSegmentType,
"IFCFLOWSTORAGEDEVICE" => Self::IfcFlowStorageDevice,
"IFCFLOWSTORAGEDEVICETYPE" => Self::IfcFlowStorageDeviceType,
"IFCFLOWTERMINAL" => Self::IfcFlowTerminal,
"IFCFLOWTERMINALTYPE" => Self::IfcFlowTerminalType,
"IFCFLOWTREATMENTDEVICE" => Self::IfcFlowTreatmentDevice,
"IFCFLOWTREATMENTDEVICETYPE" => Self::IfcFlowTreatmentDeviceType,
"IFCFLUIDFLOWPROPERTIES" => Self::IfcFluidFlowProperties,
"IFCFOOTING" => Self::IfcFooting,
"IFCFUELPROPERTIES" => Self::IfcFuelProperties,
"IFCFURNISHINGELEMENT" => Self::IfcFurnishingElement,
"IFCFURNISHINGELEMENTTYPE" => Self::IfcFurnishingElementType,
"IFCFURNITURESTANDARD" => Self::IfcFurnitureStandard,
"IFCFURNITURETYPE" => Self::IfcFurnitureType,
"IFCGASTERMINALTYPE" => Self::IfcGasTerminalType,
"IFCGENERALMATERIALPROPERTIES" => Self::IfcGeneralMaterialProperties,
"IFCGENERALPROFILEPROPERTIES" => Self::IfcGeneralProfileProperties,
"IFCGEOMETRICCURVESET" => Self::IfcGeometricCurveSet,
"IFCGEOMETRICREPRESENTATIONCONTEXT" => Self::IfcGeometricRepresentationContext,
"IFCGEOMETRICREPRESENTATIONITEM" => Self::IfcGeometricRepresentationItem,
"IFCGEOMETRICREPRESENTATIONSUBCONTEXT" => Self::IfcGeometricRepresentationSubContext,
"IFCGEOMETRICSET" => Self::IfcGeometricSet,
"IFCGRID" => Self::IfcGrid,
"IFCGRIDAXIS" => Self::IfcGridAxis,
"IFCGRIDPLACEMENT" => Self::IfcGridPlacement,
"IFCGROUP" => Self::IfcGroup,
"IFCHALFSPACESOLID" => Self::IfcHalfSpaceSolid,
"IFCHEATEXCHANGERTYPE" => Self::IfcHeatExchangerType,
"IFCHUMIDIFIERTYPE" => Self::IfcHumidifierType,
"IFCHYGROSCOPICMATERIALPROPERTIES" => Self::IfcHygroscopicMaterialProperties,
"IFCISHAPEPROFILEDEF" => Self::IfcIShapeProfileDef,
"IFCIMAGETEXTURE" => Self::IfcImageTexture,
"IFCINVENTORY" => Self::IfcInventory,
"IFCIRREGULARTIMESERIES" => Self::IfcIrregularTimeSeries,
"IFCIRREGULARTIMESERIESVALUE" => Self::IfcIrregularTimeSeriesValue,
"IFCJUNCTIONBOXTYPE" => Self::IfcJunctionBoxType,
"IFCLSHAPEPROFILEDEF" => Self::IfcLShapeProfileDef,
"IFCLABORRESOURCE" => Self::IfcLaborResource,
"IFCLAMPTYPE" => Self::IfcLampType,
"IFCLIBRARYINFORMATION" => Self::IfcLibraryInformation,
"IFCLIBRARYREFERENCE" => Self::IfcLibraryReference,
"IFCLIGHTDISTRIBUTIONDATA" => Self::IfcLightDistributionData,
"IFCLIGHTFIXTURETYPE" => Self::IfcLightFixtureType,
"IFCLIGHTINTENSITYDISTRIBUTION" => Self::IfcLightIntensityDistribution,
"IFCLIGHTSOURCE" => Self::IfcLightSource,
"IFCLIGHTSOURCEAMBIENT" => Self::IfcLightSourceAmbient,
"IFCLIGHTSOURCEDIRECTIONAL" => Self::IfcLightSourceDirectional,
"IFCLIGHTSOURCEGONIOMETRIC" => Self::IfcLightSourceGoniometric,
"IFCLIGHTSOURCEPOSITIONAL" => Self::IfcLightSourcePositional,
"IFCLIGHTSOURCESPOT" => Self::IfcLightSourceSpot,
"IFCLINE" => Self::IfcLine,
"IFCLINEARDIMENSION" => Self::IfcLinearDimension,
"IFCLOCALPLACEMENT" => Self::IfcLocalPlacement,
"IFCLOCALTIME" => Self::IfcLocalTime,
"IFCLOOP" => Self::IfcLoop,
"IFCMANIFOLDSOLIDBREP" => Self::IfcManifoldSolidBrep,
"IFCMAPPEDITEM" => Self::IfcMappedItem,
"IFCMATERIAL" => Self::IfcMaterial,
"IFCMATERIALCLASSIFICATIONRELATIONSHIP" => Self::IfcMaterialClassificationRelationship,
"IFCMATERIALDEFINITIONREPRESENTATION" => Self::IfcMaterialDefinitionRepresentation,
"IFCMATERIALLAYER" => Self::IfcMaterialLayer,
"IFCMATERIALLAYERSET" => Self::IfcMaterialLayerSet,
"IFCMATERIALLAYERSETUSAGE" => Self::IfcMaterialLayerSetUsage,
"IFCMATERIALLIST" => Self::IfcMaterialList,
"IFCMATERIALPROPERTIES" => Self::IfcMaterialProperties,
"IFCMEASUREWITHUNIT" => Self::IfcMeasureWithUnit,
"IFCMECHANICALCONCRETEMATERIALPROPERTIES" => Self::IfcMechanicalConcreteMaterialProperties,
"IFCMECHANICALFASTENER" => Self::IfcMechanicalFastener,
"IFCMECHANICALFASTENERTYPE" => Self::IfcMechanicalFastenerType,
"IFCMECHANICALMATERIALPROPERTIES" => Self::IfcMechanicalMaterialProperties,
"IFCMECHANICALSTEELMATERIALPROPERTIES" => Self::IfcMechanicalSteelMaterialProperties,
"IFCMEMBER" => Self::IfcMember,
"IFCMEMBERTYPE" => Self::IfcMemberType,
"IFCMETRIC" => Self::IfcMetric,
"IFCMONETARYUNIT" => Self::IfcMonetaryUnit,
"IFCMOTORCONNECTIONTYPE" => Self::IfcMotorConnectionType,
"IFCMOVE" => Self::IfcMove,
"IFCNAMEDUNIT" => Self::IfcNamedUnit,
"IFCOBJECT" => Self::IfcObject,
"IFCOBJECTDEFINITION" => Self::IfcObjectDefinition,
"IFCOBJECTPLACEMENT" => Self::IfcObjectPlacement,
"IFCOBJECTIVE" => Self::IfcObjective,
"IFCOCCUPANT" => Self::IfcOccupant,
"IFCOFFSETCURVE2D" => Self::IfcOffsetCurve2D,
"IFCOFFSETCURVE3D" => Self::IfcOffsetCurve3D,
"IFCONEDIRECTIONREPEATFACTOR" => Self::IfcOneDirectionRepeatFactor,
"IFCOPENSHELL" => Self::IfcOpenShell,
"IFCOPENINGELEMENT" => Self::IfcOpeningElement,
"IFCOPTICALMATERIALPROPERTIES" => Self::IfcOpticalMaterialProperties,
"IFCORDERACTION" => Self::IfcOrderAction,
"IFCORGANIZATION" => Self::IfcOrganization,
"IFCORGANIZATIONRELATIONSHIP" => Self::IfcOrganizationRelationship,
"IFCORIENTEDEDGE" => Self::IfcOrientedEdge,
"IFCOUTLETTYPE" => Self::IfcOutletType,
"IFCOWNERHISTORY" => Self::IfcOwnerHistory,
"IFCPARAMETERIZEDPROFILEDEF" => Self::IfcParameterizedProfileDef,
"IFCPATH" => Self::IfcPath,
"IFCPERFORMANCEHISTORY" => Self::IfcPerformanceHistory,
"IFCPERMEABLECOVERINGPROPERTIES" => Self::IfcPermeableCoveringProperties,
"IFCPERMIT" => Self::IfcPermit,
"IFCPERSON" => Self::IfcPerson,
"IFCPERSONANDORGANIZATION" => Self::IfcPersonAndOrganization,
"IFCPHYSICALCOMPLEXQUANTITY" => Self::IfcPhysicalComplexQuantity,
"IFCPHYSICALQUANTITY" => Self::IfcPhysicalQuantity,
"IFCPHYSICALSIMPLEQUANTITY" => Self::IfcPhysicalSimpleQuantity,
"IFCPILE" => Self::IfcPile,
"IFCPIPEFITTINGTYPE" => Self::IfcPipeFittingType,
"IFCPIPESEGMENTTYPE" => Self::IfcPipeSegmentType,
"IFCPIXELTEXTURE" => Self::IfcPixelTexture,
"IFCPLACEMENT" => Self::IfcPlacement,
"IFCPLANARBOX" => Self::IfcPlanarBox,
"IFCPLANAREXTENT" => Self::IfcPlanarExtent,
"IFCPLANE" => Self::IfcPlane,
"IFCPLATE" => Self::IfcPlate,
"IFCPLATETYPE" => Self::IfcPlateType,
"IFCPOINT" => Self::IfcPoint,
"IFCPOINTONCURVE" => Self::IfcPointOnCurve,
"IFCPOINTONSURFACE" => Self::IfcPointOnSurface,
"IFCPOLYLOOP" => Self::IfcPolyLoop,
"IFCPOLYGONALBOUNDEDHALFSPACE" => Self::IfcPolygonalBoundedHalfSpace,
"IFCPOLYLINE" => Self::IfcPolyline,
"IFCPORT" => Self::IfcPort,
"IFCPOSTALADDRESS" => Self::IfcPostalAddress,
"IFCPREDEFINEDCOLOUR" => Self::IfcPreDefinedColour,
"IFCPREDEFINEDCURVEFONT" => Self::IfcPreDefinedCurveFont,
"IFCPREDEFINEDDIMENSIONSYMBOL" => Self::IfcPreDefinedDimensionSymbol,
"IFCPREDEFINEDITEM" => Self::IfcPreDefinedItem,
"IFCPREDEFINEDPOINTMARKERSYMBOL" => Self::IfcPreDefinedPointMarkerSymbol,
"IFCPREDEFINEDSYMBOL" => Self::IfcPreDefinedSymbol,
"IFCPREDEFINEDTERMINATORSYMBOL" => Self::IfcPreDefinedTerminatorSymbol,
"IFCPREDEFINEDTEXTFONT" => Self::IfcPreDefinedTextFont,
"IFCPRESENTATIONLAYERASSIGNMENT" => Self::IfcPresentationLayerAssignment,
"IFCPRESENTATIONLAYERWITHSTYLE" => Self::IfcPresentationLayerWithStyle,
"IFCPRESENTATIONSTYLE" => Self::IfcPresentationStyle,
"IFCPRESENTATIONSTYLEASSIGNMENT" => Self::IfcPresentationStyleAssignment,
"IFCPROCEDURE" => Self::IfcProcedure,
"IFCPROCESS" => Self::IfcProcess,
"IFCPRODUCT" => Self::IfcProduct,
"IFCPRODUCTDEFINITIONSHAPE" => Self::IfcProductDefinitionShape,
"IFCPRODUCTREPRESENTATION" => Self::IfcProductRepresentation,
"IFCPRODUCTSOFCOMBUSTIONPROPERTIES" => Self::IfcProductsOfCombustionProperties,
"IFCPROFILEDEF" => Self::IfcProfileDef,
"IFCPROFILEPROPERTIES" => Self::IfcProfileProperties,
"IFCPROJECT" => Self::IfcProject,
"IFCPROJECTORDER" => Self::IfcProjectOrder,
"IFCPROJECTORDERRECORD" => Self::IfcProjectOrderRecord,
"IFCPROJECTIONCURVE" => Self::IfcProjectionCurve,
"IFCPROJECTIONELEMENT" => Self::IfcProjectionElement,
"IFCPROPERTY" => Self::IfcProperty,
"IFCPROPERTYBOUNDEDVALUE" => Self::IfcPropertyBoundedValue,
"IFCPROPERTYCONSTRAINTRELATIONSHIP" => Self::IfcPropertyConstraintRelationship,
"IFCPROPERTYDEFINITION" => Self::IfcPropertyDefinition,
"IFCPROPERTYDEPENDENCYRELATIONSHIP" => Self::IfcPropertyDependencyRelationship,
"IFCPROPERTYENUMERATEDVALUE" => Self::IfcPropertyEnumeratedValue,
"IFCPROPERTYENUMERATION" => Self::IfcPropertyEnumeration,
"IFCPROPERTYLISTVALUE" => Self::IfcPropertyListValue,
"IFCPROPERTYREFERENCEVALUE" => Self::IfcPropertyReferenceValue,
"IFCPROPERTYSET" => Self::IfcPropertySet,
"IFCPROPERTYSETDEFINITION" => Self::IfcPropertySetDefinition,
"IFCPROPERTYSINGLEVALUE" => Self::IfcPropertySingleValue,
"IFCPROPERTYTABLEVALUE" => Self::IfcPropertyTableValue,
"IFCPROTECTIVEDEVICETYPE" => Self::IfcProtectiveDeviceType,
"IFCPROXY" => Self::IfcProxy,
"IFCPUMPTYPE" => Self::IfcPumpType,
"IFCQUANTITYAREA" => Self::IfcQuantityArea,
"IFCQUANTITYCOUNT" => Self::IfcQuantityCount,
"IFCQUANTITYLENGTH" => Self::IfcQuantityLength,
"IFCQUANTITYTIME" => Self::IfcQuantityTime,
"IFCQUANTITYVOLUME" => Self::IfcQuantityVolume,
"IFCQUANTITYWEIGHT" => Self::IfcQuantityWeight,
"IFCRADIUSDIMENSION" => Self::IfcRadiusDimension,
"IFCRAILING" => Self::IfcRailing,
"IFCRAILINGTYPE" => Self::IfcRailingType,
"IFCRAMP" => Self::IfcRamp,
"IFCRAMPFLIGHT" => Self::IfcRampFlight,
"IFCRAMPFLIGHTTYPE" => Self::IfcRampFlightType,
"IFCRATIONALBEZIERCURVE" => Self::IfcRationalBezierCurve,
"IFCRECTANGLEHOLLOWPROFILEDEF" => Self::IfcRectangleHollowProfileDef,
"IFCRECTANGLEPROFILEDEF" => Self::IfcRectangleProfileDef,
"IFCRECTANGULARPYRAMID" => Self::IfcRectangularPyramid,
"IFCRECTANGULARTRIMMEDSURFACE" => Self::IfcRectangularTrimmedSurface,
"IFCREFERENCESVALUEDOCUMENT" => Self::IfcReferencesValueDocument,
"IFCREGULARTIMESERIES" => Self::IfcRegularTimeSeries,
"IFCREINFORCEMENTBARPROPERTIES" => Self::IfcReinforcementBarProperties,
"IFCREINFORCEMENTDEFINITIONPROPERTIES" => Self::IfcReinforcementDefinitionProperties,
"IFCREINFORCINGBAR" => Self::IfcReinforcingBar,
"IFCREINFORCINGELEMENT" => Self::IfcReinforcingElement,
"IFCREINFORCINGMESH" => Self::IfcReinforcingMesh,
"IFCRELAGGREGATES" => Self::IfcRelAggregates,
"IFCRELASSIGNS" => Self::IfcRelAssigns,
"IFCRELASSIGNSTASKS" => Self::IfcRelAssignsTasks,
"IFCRELASSIGNSTOACTOR" => Self::IfcRelAssignsToActor,
"IFCRELASSIGNSTOCONTROL" => Self::IfcRelAssignsToControl,
"IFCRELASSIGNSTOGROUP" => Self::IfcRelAssignsToGroup,
"IFCRELASSIGNSTOPROCESS" => Self::IfcRelAssignsToProcess,
"IFCRELASSIGNSTOPRODUCT" => Self::IfcRelAssignsToProduct,
"IFCRELASSIGNSTOPROJECTORDER" => Self::IfcRelAssignsToProjectOrder,
"IFCRELASSIGNSTORESOURCE" => Self::IfcRelAssignsToResource,
"IFCRELASSOCIATES" => Self::IfcRelAssociates,
"IFCRELASSOCIATESAPPLIEDVALUE" => Self::IfcRelAssociatesAppliedValue,
"IFCRELASSOCIATESAPPROVAL" => Self::IfcRelAssociatesApproval,
"IFCRELASSOCIATESCLASSIFICATION" => Self::IfcRelAssociatesClassification,
"IFCRELASSOCIATESCONSTRAINT" => Self::IfcRelAssociatesConstraint,
"IFCRELASSOCIATESDOCUMENT" => Self::IfcRelAssociatesDocument,
"IFCRELASSOCIATESLIBRARY" => Self::IfcRelAssociatesLibrary,
"IFCRELASSOCIATESMATERIAL" => Self::IfcRelAssociatesMaterial,
"IFCRELASSOCIATESPROFILEPROPERTIES" => Self::IfcRelAssociatesProfileProperties,
"IFCRELCONNECTS" => Self::IfcRelConnects,
"IFCRELCONNECTSELEMENTS" => Self::IfcRelConnectsElements,
"IFCRELCONNECTSPATHELEMENTS" => Self::IfcRelConnectsPathElements,
"IFCRELCONNECTSPORTTOELEMENT" => Self::IfcRelConnectsPortToElement,
"IFCRELCONNECTSPORTS" => Self::IfcRelConnectsPorts,
"IFCRELCONNECTSSTRUCTURALACTIVITY" => Self::IfcRelConnectsStructuralActivity,
"IFCRELCONNECTSSTRUCTURALELEMENT" => Self::IfcRelConnectsStructuralElement,
"IFCRELCONNECTSSTRUCTURALMEMBER" => Self::IfcRelConnectsStructuralMember,
"IFCRELCONNECTSWITHECCENTRICITY" => Self::IfcRelConnectsWithEccentricity,
"IFCRELCONNECTSWITHREALIZINGELEMENTS" => Self::IfcRelConnectsWithRealizingElements,
"IFCRELCONTAINEDINSPATIALSTRUCTURE" => Self::IfcRelContainedInSpatialStructure,
"IFCRELCOVERSBLDGELEMENTS" => Self::IfcRelCoversBldgElements,
"IFCRELCOVERSSPACES" => Self::IfcRelCoversSpaces,
"IFCRELDECOMPOSES" => Self::IfcRelDecomposes,
"IFCRELDEFINES" => Self::IfcRelDefines,
"IFCRELDEFINESBYPROPERTIES" => Self::IfcRelDefinesByProperties,
"IFCRELDEFINESBYTYPE" => Self::IfcRelDefinesByType,
"IFCRELFILLSELEMENT" => Self::IfcRelFillsElement,
"IFCRELFLOWCONTROLELEMENTS" => Self::IfcRelFlowControlElements,
"IFCRELINTERACTIONREQUIREMENTS" => Self::IfcRelInteractionRequirements,
"IFCRELNESTS" => Self::IfcRelNests,
"IFCRELOCCUPIESSPACES" => Self::IfcRelOccupiesSpaces,
"IFCRELOVERRIDESPROPERTIES" => Self::IfcRelOverridesProperties,
"IFCRELPROJECTSELEMENT" => Self::IfcRelProjectsElement,
"IFCRELREFERENCEDINSPATIALSTRUCTURE" => Self::IfcRelReferencedInSpatialStructure,
"IFCRELSCHEDULESCOSTITEMS" => Self::IfcRelSchedulesCostItems,
"IFCRELSEQUENCE" => Self::IfcRelSequence,
"IFCRELSERVICESBUILDINGS" => Self::IfcRelServicesBuildings,
"IFCRELSPACEBOUNDARY" => Self::IfcRelSpaceBoundary,
"IFCRELVOIDSELEMENT" => Self::IfcRelVoidsElement,
"IFCRELATIONSHIP" => Self::IfcRelationship,
"IFCRELAXATION" => Self::IfcRelaxation,
"IFCREPRESENTATION" => Self::IfcRepresentation,
"IFCREPRESENTATIONCONTEXT" => Self::IfcRepresentationContext,
"IFCREPRESENTATIONITEM" => Self::IfcRepresentationItem,
"IFCREPRESENTATIONMAP" => Self::IfcRepresentationMap,
"IFCRESOURCE" => Self::IfcResource,
"IFCREVOLVEDAREASOLID" => Self::IfcRevolvedAreaSolid,
"IFCRIBPLATEPROFILEPROPERTIES" => Self::IfcRibPlateProfileProperties,
"IFCRIGHTCIRCULARCONE" => Self::IfcRightCircularCone,
"IFCRIGHTCIRCULARCYLINDER" => Self::IfcRightCircularCylinder,
"IFCROOF" => Self::IfcRoof,
"IFCROOT" => Self::IfcRoot,
"IFCROUNDEDEDGEFEATURE" => Self::IfcRoundedEdgeFeature,
"IFCROUNDEDRECTANGLEPROFILEDEF" => Self::IfcRoundedRectangleProfileDef,
"IFCSIUNIT" => Self::IfcSIUnit,
"IFCSANITARYTERMINALTYPE" => Self::IfcSanitaryTerminalType,
"IFCSCHEDULETIMECONTROL" => Self::IfcScheduleTimeControl,
"IFCSECTIONPROPERTIES" => Self::IfcSectionProperties,
"IFCSECTIONREINFORCEMENTPROPERTIES" => Self::IfcSectionReinforcementProperties,
"IFCSECTIONEDSPINE" => Self::IfcSectionedSpine,
"IFCSENSORTYPE" => Self::IfcSensorType,
"IFCSERVICELIFE" => Self::IfcServiceLife,
"IFCSERVICELIFEFACTOR" => Self::IfcServiceLifeFactor,
"IFCSHAPEASPECT" => Self::IfcShapeAspect,
"IFCSHAPEMODEL" => Self::IfcShapeModel,
"IFCSHAPEREPRESENTATION" => Self::IfcShapeRepresentation,
"IFCSHELLBASEDSURFACEMODEL" => Self::IfcShellBasedSurfaceModel,
"IFCSIMPLEPROPERTY" => Self::IfcSimpleProperty,
"IFCSITE" => Self::IfcSite,
"IFCSLAB" => Self::IfcSlab,
"IFCSLABTYPE" => Self::IfcSlabType,
"IFCSLIPPAGECONNECTIONCONDITION" => Self::IfcSlippageConnectionCondition,
"IFCSOLIDMODEL" => Self::IfcSolidModel,
"IFCSOUNDPROPERTIES" => Self::IfcSoundProperties,
"IFCSOUNDVALUE" => Self::IfcSoundValue,
"IFCSPACE" => Self::IfcSpace,
"IFCSPACEHEATERTYPE" => Self::IfcSpaceHeaterType,
"IFCSPACEPROGRAM" => Self::IfcSpaceProgram,
"IFCSPACETHERMALLOADPROPERTIES" => Self::IfcSpaceThermalLoadProperties,
"IFCSPACETYPE" => Self::IfcSpaceType,
"IFCSPATIALSTRUCTUREELEMENT" => Self::IfcSpatialStructureElement,
"IFCSPATIALSTRUCTUREELEMENTTYPE" => Self::IfcSpatialStructureElementType,
"IFCSPHERE" => Self::IfcSphere,
"IFCSTACKTERMINALTYPE" => Self::IfcStackTerminalType,
"IFCSTAIR" => Self::IfcStair,
"IFCSTAIRFLIGHT" => Self::IfcStairFlight,
"IFCSTAIRFLIGHTTYPE" => Self::IfcStairFlightType,
"IFCSTRUCTURALACTION" => Self::IfcStructuralAction,
"IFCSTRUCTURALACTIVITY" => Self::IfcStructuralActivity,
"IFCSTRUCTURALANALYSISMODEL" => Self::IfcStructuralAnalysisModel,
"IFCSTRUCTURALCONNECTION" => Self::IfcStructuralConnection,
"IFCSTRUCTURALCONNECTIONCONDITION" => Self::IfcStructuralConnectionCondition,
"IFCSTRUCTURALCURVECONNECTION" => Self::IfcStructuralCurveConnection,
"IFCSTRUCTURALCURVEMEMBER" => Self::IfcStructuralCurveMember,
"IFCSTRUCTURALCURVEMEMBERVARYING" => Self::IfcStructuralCurveMemberVarying,
"IFCSTRUCTURALITEM" => Self::IfcStructuralItem,
"IFCSTRUCTURALLINEARACTION" => Self::IfcStructuralLinearAction,
"IFCSTRUCTURALLINEARACTIONVARYING" => Self::IfcStructuralLinearActionVarying,
"IFCSTRUCTURALLOAD" => Self::IfcStructuralLoad,
"IFCSTRUCTURALLOADGROUP" => Self::IfcStructuralLoadGroup,
"IFCSTRUCTURALLOADLINEARFORCE" => Self::IfcStructuralLoadLinearForce,
"IFCSTRUCTURALLOADPLANARFORCE" => Self::IfcStructuralLoadPlanarForce,
"IFCSTRUCTURALLOADSINGLEDISPLACEMENT" => Self::IfcStructuralLoadSingleDisplacement,
"IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION" => Self::IfcStructuralLoadSingleDisplacementDistortion,
"IFCSTRUCTURALLOADSINGLEFORCE" => Self::IfcStructuralLoadSingleForce,
"IFCSTRUCTURALLOADSINGLEFORCEWARPING" => Self::IfcStructuralLoadSingleForceWarping,
"IFCSTRUCTURALLOADSTATIC" => Self::IfcStructuralLoadStatic,
"IFCSTRUCTURALLOADTEMPERATURE" => Self::IfcStructuralLoadTemperature,
"IFCSTRUCTURALMEMBER" => Self::IfcStructuralMember,
"IFCSTRUCTURALPLANARACTION" => Self::IfcStructuralPlanarAction,
"IFCSTRUCTURALPLANARACTIONVARYING" => Self::IfcStructuralPlanarActionVarying,
"IFCSTRUCTURALPOINTACTION" => Self::IfcStructuralPointAction,
"IFCSTRUCTURALPOINTCONNECTION" => Self::IfcStructuralPointConnection,
"IFCSTRUCTURALPOINTREACTION" => Self::IfcStructuralPointReaction,
"IFCSTRUCTURALPROFILEPROPERTIES" => Self::IfcStructuralProfileProperties,
"IFCSTRUCTURALREACTION" => Self::IfcStructuralReaction,
"IFCSTRUCTURALRESULTGROUP" => Self::IfcStructuralResultGroup,
"IFCSTRUCTURALSTEELPROFILEPROPERTIES" => Self::IfcStructuralSteelProfileProperties,
"IFCSTRUCTURALSURFACECONNECTION" => Self::IfcStructuralSurfaceConnection,
"IFCSTRUCTURALSURFACEMEMBER" => Self::IfcStructuralSurfaceMember,
"IFCSTRUCTURALSURFACEMEMBERVARYING" => Self::IfcStructuralSurfaceMemberVarying,
"IFCSTRUCTUREDDIMENSIONCALLOUT" => Self::IfcStructuredDimensionCallout,
"IFCSTYLEMODEL" => Self::IfcStyleModel,
"IFCSTYLEDITEM" => Self::IfcStyledItem,
"IFCSTYLEDREPRESENTATION" => Self::IfcStyledRepresentation,
"IFCSUBCONTRACTRESOURCE" => Self::IfcSubContractResource,
"IFCSUBEDGE" => Self::IfcSubedge,
"IFCSURFACE" => Self::IfcSurface,
"IFCSURFACECURVESWEPTAREASOLID" => Self::IfcSurfaceCurveSweptAreaSolid,
"IFCSURFACEOFLINEAREXTRUSION" => Self::IfcSurfaceOfLinearExtrusion,
"IFCSURFACEOFREVOLUTION" => Self::IfcSurfaceOfRevolution,
"IFCSURFACESTYLE" => Self::IfcSurfaceStyle,
"IFCSURFACESTYLELIGHTING" => Self::IfcSurfaceStyleLighting,
"IFCSURFACESTYLEREFRACTION" => Self::IfcSurfaceStyleRefraction,
"IFCSURFACESTYLERENDERING" => Self::IfcSurfaceStyleRendering,
"IFCSURFACESTYLESHADING" => Self::IfcSurfaceStyleShading,
"IFCSURFACESTYLEWITHTEXTURES" => Self::IfcSurfaceStyleWithTextures,
"IFCSURFACETEXTURE" => Self::IfcSurfaceTexture,
"IFCSWEPTAREASOLID" => Self::IfcSweptAreaSolid,
"IFCSWEPTDISKSOLID" => Self::IfcSweptDiskSolid,
"IFCSWEPTSURFACE" => Self::IfcSweptSurface,
"IFCSWITCHINGDEVICETYPE" => Self::IfcSwitchingDeviceType,
"IFCSYMBOLSTYLE" => Self::IfcSymbolStyle,
"IFCSYSTEM" => Self::IfcSystem,
"IFCSYSTEMFURNITUREELEMENTTYPE" => Self::IfcSystemFurnitureElementType,
"IFCTSHAPEPROFILEDEF" => Self::IfcTShapeProfileDef,
"IFCTABLE" => Self::IfcTable,
"IFCTABLEROW" => Self::IfcTableRow,
"IFCTANKTYPE" => Self::IfcTankType,
"IFCTASK" => Self::IfcTask,
"IFCTELECOMADDRESS" => Self::IfcTelecomAddress,
"IFCTENDON" => Self::IfcTendon,
"IFCTENDONANCHOR" => Self::IfcTendonAnchor,
"IFCTERMINATORSYMBOL" => Self::IfcTerminatorSymbol,
"IFCTEXTLITERAL" => Self::IfcTextLiteral,
"IFCTEXTLITERALWITHEXTENT" => Self::IfcTextLiteralWithExtent,
"IFCTEXTSTYLE" => Self::IfcTextStyle,
"IFCTEXTSTYLEFONTMODEL" => Self::IfcTextStyleFontModel,
"IFCTEXTSTYLEFORDEFINEDFONT" => Self::IfcTextStyleForDefinedFont,
"IFCTEXTSTYLETEXTMODEL" => Self::IfcTextStyleTextModel,
"IFCTEXTSTYLEWITHBOXCHARACTERISTICS" => Self::IfcTextStyleWithBoxCharacteristics,
"IFCTEXTURECOORDINATE" => Self::IfcTextureCoordinate,
"IFCTEXTURECOORDINATEGENERATOR" => Self::IfcTextureCoordinateGenerator,
"IFCTEXTUREMAP" => Self::IfcTextureMap,
"IFCTEXTUREVERTEX" => Self::IfcTextureVertex,
"IFCTHERMALMATERIALPROPERTIES" => Self::IfcThermalMaterialProperties,
"IFCTIMESERIES" => Self::IfcTimeSeries,
"IFCTIMESERIESREFERENCERELATIONSHIP" => Self::IfcTimeSeriesReferenceRelationship,
"IFCTIMESERIESSCHEDULE" => Self::IfcTimeSeriesSchedule,
"IFCTIMESERIESVALUE" => Self::IfcTimeSeriesValue,
"IFCTOPOLOGICALREPRESENTATIONITEM" => Self::IfcTopologicalRepresentationItem,
"IFCTOPOLOGYREPRESENTATION" => Self::IfcTopologyRepresentation,
"IFCTRANSFORMERTYPE" => Self::IfcTransformerType,
"IFCTRANSPORTELEMENT" => Self::IfcTransportElement,
"IFCTRANSPORTELEMENTTYPE" => Self::IfcTransportElementType,
"IFCTRAPEZIUMPROFILEDEF" => Self::IfcTrapeziumProfileDef,
"IFCTRIMMEDCURVE" => Self::IfcTrimmedCurve,
"IFCTUBEBUNDLETYPE" => Self::IfcTubeBundleType,
"IFCTWODIRECTIONREPEATFACTOR" => Self::IfcTwoDirectionRepeatFactor,
"IFCTYPEOBJECT" => Self::IfcTypeObject,
"IFCTYPEPRODUCT" => Self::IfcTypeProduct,
"IFCUSHAPEPROFILEDEF" => Self::IfcUShapeProfileDef,
"IFCUNITASSIGNMENT" => Self::IfcUnitAssignment,
"IFCUNITARYEQUIPMENTTYPE" => Self::IfcUnitaryEquipmentType,
"IFCVALVETYPE" => Self::IfcValveType,
"IFCVECTOR" => Self::IfcVector,
"IFCVERTEX" => Self::IfcVertex,
"IFCVERTEXBASEDTEXTUREMAP" => Self::IfcVertexBasedTextureMap,
"IFCVERTEXLOOP" => Self::IfcVertexLoop,
"IFCVERTEXPOINT" => Self::IfcVertexPoint,
"IFCVIBRATIONISOLATORTYPE" => Self::IfcVibrationIsolatorType,
"IFCVIRTUALELEMENT" => Self::IfcVirtualElement,
"IFCVIRTUALGRIDINTERSECTION" => Self::IfcVirtualGridIntersection,
"IFCWALL" => Self::IfcWall,
"IFCWALLSTANDARDCASE" => Self::IfcWallStandardCase,
"IFCWALLTYPE" => Self::IfcWallType,
"IFCWASTETERMINALTYPE" => Self::IfcWasteTerminalType,
"IFCWATERPROPERTIES" => Self::IfcWaterProperties,
"IFCWINDOW" => Self::IfcWindow,
"IFCWINDOWLININGPROPERTIES" => Self::IfcWindowLiningProperties,
"IFCWINDOWPANELPROPERTIES" => Self::IfcWindowPanelProperties,
"IFCWINDOWSTYLE" => Self::IfcWindowStyle,
"IFCWORKCONTROL" => Self::IfcWorkControl,
"IFCWORKPLAN" => Self::IfcWorkPlan,
"IFCWORKSCHEDULE" => Self::IfcWorkSchedule,
"IFCZSHAPEPROFILEDEF" => Self::IfcZShapeProfileDef,
"IFCZONE" => Self::IfcZone,
_ => return None,
})
}
/// Parse a known schema type from a CRC32 type ID.
///
/// Unknown keywords cannot be reconstructed from a hash.
pub fn from_id(id: u32) -> Option<Self> {
match id {
1213861670 => Some(Self::Ifc2DCompositeCurve),
3821786052 => Some(Self::IfcActionRequest),
2296667514 => Some(Self::IfcActor),
3630933823 => Some(Self::IfcActorRole),
2874132201 => Some(Self::IfcActuatorType),
618182010 => Some(Self::IfcAddress),
1411407467 => Some(Self::IfcAirTerminalBoxType),
3352864051 => Some(Self::IfcAirTerminalType),
1871374353 => Some(Self::IfcAirToAirHeatRecoveryType),
3001207471 => Some(Self::IfcAlarmType),
2470393545 => Some(Self::IfcAngularDimension),
1674181508 => Some(Self::IfcAnnotation),
3288037868 => Some(Self::IfcAnnotationCurveOccurrence),
669184980 => Some(Self::IfcAnnotationFillArea),
2265737646 => Some(Self::IfcAnnotationFillAreaOccurrence),
2442683028 => Some(Self::IfcAnnotationOccurrence),
1302238472 => Some(Self::IfcAnnotationSurface),
962685235 => Some(Self::IfcAnnotationSurfaceOccurrence),
3612888222 => Some(Self::IfcAnnotationSymbolOccurrence),
2297822566 => Some(Self::IfcAnnotationTextOccurrence),
639542469 => Some(Self::IfcApplication),
411424972 => Some(Self::IfcAppliedValue),
1110488051 => Some(Self::IfcAppliedValueRelationship),
130549933 => Some(Self::IfcApproval),
2080292479 => Some(Self::IfcApprovalActorRelationship),
390851274 => Some(Self::IfcApprovalPropertyRelationship),
3869604511 => Some(Self::IfcApprovalRelationship),
3798115385 => Some(Self::IfcArbitraryClosedProfileDef),
1310608509 => Some(Self::IfcArbitraryOpenProfileDef),
2705031697 => Some(Self::IfcArbitraryProfileDefWithVoids),
3460190687 => Some(Self::IfcAsset),
3207858831 => Some(Self::IfcAsymmetricIShapeProfileDef),
4261334040 => Some(Self::IfcAxis1Placement),
3125803723 => Some(Self::IfcAxis2Placement2D),
2740243338 => Some(Self::IfcAxis2Placement3D),
1967976161 => Some(Self::IfcBSplineCurve),
753842376 => Some(Self::IfcBeam),
819618141 => Some(Self::IfcBeamType),
1916977116 => Some(Self::IfcBezierCurve),
616511568 => Some(Self::IfcBlobTexture),
1334484129 => Some(Self::IfcBlock),
231477066 => Some(Self::IfcBoilerType),
3649129432 => Some(Self::IfcBooleanClippingResult),
2736907675 => Some(Self::IfcBooleanResult),
4037036970 => Some(Self::IfcBoundaryCondition),
1560379544 => Some(Self::IfcBoundaryEdgeCondition),
3367102660 => Some(Self::IfcBoundaryFaceCondition),
1387855156 => Some(Self::IfcBoundaryNodeCondition),
2069777674 => Some(Self::IfcBoundaryNodeConditionWarping),
1260505505 => Some(Self::IfcBoundedCurve),
4182860854 => Some(Self::IfcBoundedSurface),
2581212453 => Some(Self::IfcBoundingBox),
2713105998 => Some(Self::IfcBoxedHalfSpace),
4031249490 => Some(Self::IfcBuilding),
3299480353 => Some(Self::IfcBuildingElement),
52481810 => Some(Self::IfcBuildingElementComponent),
2979338954 => Some(Self::IfcBuildingElementPart),
1095909175 => Some(Self::IfcBuildingElementProxy),
1909888760 => Some(Self::IfcBuildingElementProxyType),
1950629157 => Some(Self::IfcBuildingElementType),
3124254112 => Some(Self::IfcBuildingStorey),
2898889636 => Some(Self::IfcCShapeProfileDef),
395041908 => Some(Self::IfcCableCarrierFittingType),
3293546465 => Some(Self::IfcCableCarrierSegmentType),
1285652485 => Some(Self::IfcCableSegmentType),
622194075 => Some(Self::IfcCalendarDate),
1123145078 => Some(Self::IfcCartesianPoint),
59481748 => Some(Self::IfcCartesianTransformationOperator),
3749851601 => Some(Self::IfcCartesianTransformationOperator2D),
3486308946 => Some(Self::IfcCartesianTransformationOperator2DnonUniform),
3331915920 => Some(Self::IfcCartesianTransformationOperator3D),
1416205885 => Some(Self::IfcCartesianTransformationOperator3DnonUniform),
3150382593 => Some(Self::IfcCenterLineProfileDef),
2454782716 => Some(Self::IfcChamferEdgeFeature),
2951183804 => Some(Self::IfcChillerType),
2611217952 => Some(Self::IfcCircle),
2937912522 => Some(Self::IfcCircleHollowProfileDef),
1383045692 => Some(Self::IfcCircleProfileDef),
747523909 => Some(Self::IfcClassification),
1767535486 => Some(Self::IfcClassificationItem),
1098599126 => Some(Self::IfcClassificationItemRelationship),
938368621 => Some(Self::IfcClassificationNotation),
3639012971 => Some(Self::IfcClassificationNotationFacet),
647927063 => Some(Self::IfcClassificationReference),
2205249479 => Some(Self::IfcClosedShell),
2301859152 => Some(Self::IfcCoilType),
776857604 => Some(Self::IfcColourRgb),
3264961684 => Some(Self::IfcColourSpecification),
843113511 => Some(Self::IfcColumn),
300633059 => Some(Self::IfcColumnType),
2542286263 => Some(Self::IfcComplexProperty),
3732776249 => Some(Self::IfcCompositeCurve),
2485617015 => Some(Self::IfcCompositeCurveSegment),
1485152156 => Some(Self::IfcCompositeProfileDef),
3850581409 => Some(Self::IfcCompressorType),
2816379211 => Some(Self::IfcCondenserType),
2188551683 => Some(Self::IfcCondition),
1163958913 => Some(Self::IfcConditionCriterion),
2510884976 => Some(Self::IfcConic),
370225590 => Some(Self::IfcConnectedFaceSet),
1981873012 => Some(Self::IfcConnectionCurveGeometry),
2859738748 => Some(Self::IfcConnectionGeometry),
45288368 => Some(Self::IfcConnectionPointEccentricity),
2614616156 => Some(Self::IfcConnectionPointGeometry),
4257277454 => Some(Self::IfcConnectionPortGeometry),
2732653382 => Some(Self::IfcConnectionSurfaceGeometry),
1959218052 => Some(Self::IfcConstraint),
1658513725 => Some(Self::IfcConstraintAggregationRelationship),
613356794 => Some(Self::IfcConstraintClassificationRelationship),
347226245 => Some(Self::IfcConstraintRelationship),
3898045240 => Some(Self::IfcConstructionEquipmentResource),
1060000209 => Some(Self::IfcConstructionMaterialResource),
488727124 => Some(Self::IfcConstructionProductResource),
2559216714 => Some(Self::IfcConstructionResource),
3050246964 => Some(Self::IfcContextDependentUnit),
3293443760 => Some(Self::IfcControl),
578613899 => Some(Self::IfcControllerType),
2889183280 => Some(Self::IfcConversionBasedUnit),
335055490 => Some(Self::IfcCooledBeamType),
2954562838 => Some(Self::IfcCoolingTowerType),
1065062679 => Some(Self::IfcCoordinatedUniversalTimeOffset),
3895139033 => Some(Self::IfcCostItem),
1419761937 => Some(Self::IfcCostSchedule),
602808272 => Some(Self::IfcCostValue),
1973544240 => Some(Self::IfcCovering),
1916426348 => Some(Self::IfcCoveringType),
4133800736 => Some(Self::IfcCraneRailAShapeProfileDef),
194851669 => Some(Self::IfcCraneRailFShapeProfileDef),
3295246426 => Some(Self::IfcCrewResource),
2506170314 => Some(Self::IfcCsgPrimitive3D),
2147822146 => Some(Self::IfcCsgSolid),
539742890 => Some(Self::IfcCurrencyRelationship),
3495092785 => Some(Self::IfcCurtainWall),
1457835157 => Some(Self::IfcCurtainWallType),
2601014836 => Some(Self::IfcCurve),
2827736869 => Some(Self::IfcCurveBoundedPlane),
3800577675 => Some(Self::IfcCurveStyle),
1105321065 => Some(Self::IfcCurveStyleFont),
2367409068 => Some(Self::IfcCurveStyleFontAndScaling),
3510044353 => Some(Self::IfcCurveStyleFontPattern),
3961806047 => Some(Self::IfcDamperType),
1072939445 => Some(Self::IfcDateAndTime),
693772133 => Some(Self::IfcDefinedSymbol),
3632507154 => Some(Self::IfcDerivedProfileDef),
1765591967 => Some(Self::IfcDerivedUnit),
1045800335 => Some(Self::IfcDerivedUnitElement),
4147604152 => Some(Self::IfcDiameterDimension),
2273265877 => Some(Self::IfcDimensionCalloutRelationship),
606661476 => Some(Self::IfcDimensionCurve),
681481545 => Some(Self::IfcDimensionCurveDirectedCallout),
4054601972 => Some(Self::IfcDimensionCurveTerminator),
1694125774 => Some(Self::IfcDimensionPair),
2949456006 => Some(Self::IfcDimensionalExponents),
32440307 => Some(Self::IfcDirection),
1335981549 => Some(Self::IfcDiscreteAccessory),
2635815018 => Some(Self::IfcDiscreteAccessoryType),
1052013943 => Some(Self::IfcDistributionChamberElement),
1599208980 => Some(Self::IfcDistributionChamberElementType),
1062813311 => Some(Self::IfcDistributionControlElement),
2063403501 => Some(Self::IfcDistributionControlElementType),
1945004755 => Some(Self::IfcDistributionElement),
3256556792 => Some(Self::IfcDistributionElementType),
3040386961 => Some(Self::IfcDistributionFlowElement),
3849074793 => Some(Self::IfcDistributionFlowElementType),
3041715199 => Some(Self::IfcDistributionPort),
1376555844 => Some(Self::IfcDocumentElectronicFormat),
1154170062 => Some(Self::IfcDocumentInformation),
770865208 => Some(Self::IfcDocumentInformationRelationship),
3732053477 => Some(Self::IfcDocumentReference),
395920057 => Some(Self::IfcDoor),
2963535650 => Some(Self::IfcDoorLiningProperties),
1714330368 => Some(Self::IfcDoorPanelProperties),
526551008 => Some(Self::IfcDoorStyle),
3073041342 => Some(Self::IfcDraughtingCallout),
3796139169 => Some(Self::IfcDraughtingCalloutRelationship),
445594917 => Some(Self::IfcDraughtingPreDefinedColour),
4006246654 => Some(Self::IfcDraughtingPreDefinedCurveFont),
4170525392 => Some(Self::IfcDraughtingPreDefinedTextFont),
869906466 => Some(Self::IfcDuctFittingType),
3760055223 => Some(Self::IfcDuctSegmentType),
2030761528 => Some(Self::IfcDuctSilencerType),
3900360178 => Some(Self::IfcEdge),
476780140 => Some(Self::IfcEdgeCurve),
855621170 => Some(Self::IfcEdgeFeature),
1472233963 => Some(Self::IfcEdgeLoop),
663422040 => Some(Self::IfcElectricApplianceType),
3700593921 => Some(Self::IfcElectricDistributionPoint),
3277789161 => Some(Self::IfcElectricFlowStorageDeviceType),
1534661035 => Some(Self::IfcElectricGeneratorType),
1365060375 => Some(Self::IfcElectricHeaterType),
1217240411 => Some(Self::IfcElectricMotorType),
712377611 => Some(Self::IfcElectricTimeControlType),
360485395 => Some(Self::IfcElectricalBaseProperties),
1634875225 => Some(Self::IfcElectricalCircuit),
857184966 => Some(Self::IfcElectricalElement),
1758889154 => Some(Self::IfcElement),
4123344466 => Some(Self::IfcElementAssembly),
1623761950 => Some(Self::IfcElementComponent),
2590856083 => Some(Self::IfcElementComponentType),
1883228015 => Some(Self::IfcElementQuantity),
339256511 => Some(Self::IfcElementType),
2777663545 => Some(Self::IfcElementarySurface),
1704287377 => Some(Self::IfcEllipse),
2835456948 => Some(Self::IfcEllipseProfileDef),
1658829314 => Some(Self::IfcEnergyConversionDevice),
2107101300 => Some(Self::IfcEnergyConversionDeviceType),
80994333 => Some(Self::IfcEnergyProperties),
1648886627 => Some(Self::IfcEnvironmentalImpactValue),
1962604670 => Some(Self::IfcEquipmentElement),
3272907226 => Some(Self::IfcEquipmentStandard),
3174744832 => Some(Self::IfcEvaporativeCoolerType),
3390157468 => Some(Self::IfcEvaporatorType),
1860660968 => Some(Self::IfcExtendedMaterialProperties),
3200245327 => Some(Self::IfcExternalReference),
2242383968 => Some(Self::IfcExternallyDefinedHatchStyle),
1040185647 => Some(Self::IfcExternallyDefinedSurfaceStyle),
3207319532 => Some(Self::IfcExternallyDefinedSymbol),
3548104201 => Some(Self::IfcExternallyDefinedTextFont),
477187591 => Some(Self::IfcExtrudedAreaSolid),
2556980723 => Some(Self::IfcFace),
2047409740 => Some(Self::IfcFaceBasedSurfaceModel),
1809719519 => Some(Self::IfcFaceBound),
803316827 => Some(Self::IfcFaceOuterBound),
3008276851 => Some(Self::IfcFaceSurface),
807026263 => Some(Self::IfcFacetedBrep),
3737207727 => Some(Self::IfcFacetedBrepWithVoids),
4219587988 => Some(Self::IfcFailureConnectionCondition),
346874300 => Some(Self::IfcFanType),
647756555 => Some(Self::IfcFastener),
2489546625 => Some(Self::IfcFastenerType),
2827207264 => Some(Self::IfcFeatureElement),
2143335405 => Some(Self::IfcFeatureElementAddition),
1287392070 => Some(Self::IfcFeatureElementSubtraction),
738692330 => Some(Self::IfcFillAreaStyle),
374418227 => Some(Self::IfcFillAreaStyleHatching),
4203026998 => Some(Self::IfcFillAreaStyleTileSymbolWithStyle),
315944413 => Some(Self::IfcFillAreaStyleTiles),
1810631287 => Some(Self::IfcFilterType),
4222183408 => Some(Self::IfcFireSuppressionTerminalType),
2058353004 => Some(Self::IfcFlowController),
3907093117 => Some(Self::IfcFlowControllerType),
4278956645 => Some(Self::IfcFlowFitting),
3198132628 => Some(Self::IfcFlowFittingType),
4037862832 => Some(Self::IfcFlowInstrumentType),
3815607619 => Some(Self::IfcFlowMeterType),
3132237377 => Some(Self::IfcFlowMovingDevice),
1482959167 => Some(Self::IfcFlowMovingDeviceType),
987401354 => Some(Self::IfcFlowSegment),
1834744321 => Some(Self::IfcFlowSegmentType),
707683696 => Some(Self::IfcFlowStorageDevice),
1339347760 => Some(Self::IfcFlowStorageDeviceType),
2223149337 => Some(Self::IfcFlowTerminal),
2297155007 => Some(Self::IfcFlowTerminalType),
3508470533 => Some(Self::IfcFlowTreatmentDevice),
3009222698 => Some(Self::IfcFlowTreatmentDeviceType),
3455213021 => Some(Self::IfcFluidFlowProperties),
900683007 => Some(Self::IfcFooting),
3857492461 => Some(Self::IfcFuelProperties),
263784265 => Some(Self::IfcFurnishingElement),
4238390223 => Some(Self::IfcFurnishingElementType),
814719939 => Some(Self::IfcFurnitureStandard),
1268542332 => Some(Self::IfcFurnitureType),
200128114 => Some(Self::IfcGasTerminalType),
803998398 => Some(Self::IfcGeneralMaterialProperties),
1446786286 => Some(Self::IfcGeneralProfileProperties),
987898635 => Some(Self::IfcGeometricCurveSet),
3448662350 => Some(Self::IfcGeometricRepresentationContext),
2453401579 => Some(Self::IfcGeometricRepresentationItem),
4142052618 => Some(Self::IfcGeometricRepresentationSubContext),
3590301190 => Some(Self::IfcGeometricSet),
3009204131 => Some(Self::IfcGrid),
852622518 => Some(Self::IfcGridAxis),
178086475 => Some(Self::IfcGridPlacement),
2706460486 => Some(Self::IfcGroup),
812098782 => Some(Self::IfcHalfSpaceSolid),
1251058090 => Some(Self::IfcHeatExchangerType),
1806887404 => Some(Self::IfcHumidifierType),
2445078500 => Some(Self::IfcHygroscopicMaterialProperties),
1484403080 => Some(Self::IfcIShapeProfileDef),
3905492369 => Some(Self::IfcImageTexture),
2391368822 => Some(Self::IfcInventory),
3741457305 => Some(Self::IfcIrregularTimeSeries),
3020489413 => Some(Self::IfcIrregularTimeSeriesValue),
4288270099 => Some(Self::IfcJunctionBoxType),
572779678 => Some(Self::IfcLShapeProfileDef),
3827777499 => Some(Self::IfcLaborResource),
1051575348 => Some(Self::IfcLampType),
2655187982 => Some(Self::IfcLibraryInformation),
3452421091 => Some(Self::IfcLibraryReference),
4162380809 => Some(Self::IfcLightDistributionData),
1161773419 => Some(Self::IfcLightFixtureType),
1566485204 => Some(Self::IfcLightIntensityDistribution),
1402838566 => Some(Self::IfcLightSource),
125510826 => Some(Self::IfcLightSourceAmbient),
2604431987 => Some(Self::IfcLightSourceDirectional),
4266656042 => Some(Self::IfcLightSourceGoniometric),
1520743889 => Some(Self::IfcLightSourcePositional),
3422422726 => Some(Self::IfcLightSourceSpot),
1281925730 => Some(Self::IfcLine),
2506943328 => Some(Self::IfcLinearDimension),
2624227202 => Some(Self::IfcLocalPlacement),
30780891 => Some(Self::IfcLocalTime),
1008929658 => Some(Self::IfcLoop),
1425443689 => Some(Self::IfcManifoldSolidBrep),
2347385850 => Some(Self::IfcMappedItem),
1838606355 => Some(Self::IfcMaterial),
1847130766 => Some(Self::IfcMaterialClassificationRelationship),
2022407955 => Some(Self::IfcMaterialDefinitionRepresentation),
248100487 => Some(Self::IfcMaterialLayer),
3303938423 => Some(Self::IfcMaterialLayerSet),
1303795690 => Some(Self::IfcMaterialLayerSetUsage),
2199411900 => Some(Self::IfcMaterialList),
3265635763 => Some(Self::IfcMaterialProperties),
2597039031 => Some(Self::IfcMeasureWithUnit),
1430189142 => Some(Self::IfcMechanicalConcreteMaterialProperties),
377706215 => Some(Self::IfcMechanicalFastener),
2108223431 => Some(Self::IfcMechanicalFastenerType),
4256014907 => Some(Self::IfcMechanicalMaterialProperties),
677618848 => Some(Self::IfcMechanicalSteelMaterialProperties),
1073191201 => Some(Self::IfcMember),
3181161470 => Some(Self::IfcMemberType),
3368373690 => Some(Self::IfcMetric),
2706619895 => Some(Self::IfcMonetaryUnit),
977012517 => Some(Self::IfcMotorConnectionType),
1916936684 => Some(Self::IfcMove),
1918398963 => Some(Self::IfcNamedUnit),
3888040117 => Some(Self::IfcObject),
219451334 => Some(Self::IfcObjectDefinition),
3701648758 => Some(Self::IfcObjectPlacement),
2251480897 => Some(Self::IfcObjective),
4143007308 => Some(Self::IfcOccupant),
3388369263 => Some(Self::IfcOffsetCurve2D),
3505215534 => Some(Self::IfcOffsetCurve3D),
2833995503 => Some(Self::IfcOneDirectionRepeatFactor),
2665983363 => Some(Self::IfcOpenShell),
3588315303 => Some(Self::IfcOpeningElement),
1227763645 => Some(Self::IfcOpticalMaterialProperties),
3425660407 => Some(Self::IfcOrderAction),
4251960020 => Some(Self::IfcOrganization),
1411181986 => Some(Self::IfcOrganizationRelationship),
1029017970 => Some(Self::IfcOrientedEdge),
2837617999 => Some(Self::IfcOutletType),
1207048766 => Some(Self::IfcOwnerHistory),
2529465313 => Some(Self::IfcParameterizedProfileDef),
2519244187 => Some(Self::IfcPath),
2382730787 => Some(Self::IfcPerformanceHistory),
3566463478 => Some(Self::IfcPermeableCoveringProperties),
3327091369 => Some(Self::IfcPermit),
2077209135 => Some(Self::IfcPerson),
101040310 => Some(Self::IfcPersonAndOrganization),
3021840470 => Some(Self::IfcPhysicalComplexQuantity),
2483315170 => Some(Self::IfcPhysicalQuantity),
2226359599 => Some(Self::IfcPhysicalSimpleQuantity),
1687234759 => Some(Self::IfcPile),
804291784 => Some(Self::IfcPipeFittingType),
4231323485 => Some(Self::IfcPipeSegmentType),
597895409 => Some(Self::IfcPixelTexture),
2004835150 => Some(Self::IfcPlacement),
603570806 => Some(Self::IfcPlanarBox),
1663979128 => Some(Self::IfcPlanarExtent),
220341763 => Some(Self::IfcPlane),
3171933400 => Some(Self::IfcPlate),
4017108033 => Some(Self::IfcPlateType),
2067069095 => Some(Self::IfcPoint),
4022376103 => Some(Self::IfcPointOnCurve),
1423911732 => Some(Self::IfcPointOnSurface),
2924175390 => Some(Self::IfcPolyLoop),
2775532180 => Some(Self::IfcPolygonalBoundedHalfSpace),
3724593414 => Some(Self::IfcPolyline),
3740093272 => Some(Self::IfcPort),
3355820592 => Some(Self::IfcPostalAddress),
759155922 => Some(Self::IfcPreDefinedColour),
2559016684 => Some(Self::IfcPreDefinedCurveFont),
433424934 => Some(Self::IfcPreDefinedDimensionSymbol),
3727388367 => Some(Self::IfcPreDefinedItem),
179317114 => Some(Self::IfcPreDefinedPointMarkerSymbol),
990879717 => Some(Self::IfcPreDefinedSymbol),
3213052703 => Some(Self::IfcPreDefinedTerminatorSymbol),
1775413392 => Some(Self::IfcPreDefinedTextFont),
2022622350 => Some(Self::IfcPresentationLayerAssignment),
1304840413 => Some(Self::IfcPresentationLayerWithStyle),
3119450353 => Some(Self::IfcPresentationStyle),
2417041796 => Some(Self::IfcPresentationStyleAssignment),
2744685151 => Some(Self::IfcProcedure),
2945172077 => Some(Self::IfcProcess),
4208778838 => Some(Self::IfcProduct),
673634403 => Some(Self::IfcProductDefinitionShape),
2095639259 => Some(Self::IfcProductRepresentation),
2267347899 => Some(Self::IfcProductsOfCombustionProperties),
3958567839 => Some(Self::IfcProfileDef),
2802850158 => Some(Self::IfcProfileProperties),
103090709 => Some(Self::IfcProject),
2904328755 => Some(Self::IfcProjectOrder),
3642467123 => Some(Self::IfcProjectOrderRecord),
4194566429 => Some(Self::IfcProjectionCurve),
3651124850 => Some(Self::IfcProjectionElement),
2598011224 => Some(Self::IfcProperty),
871118103 => Some(Self::IfcPropertyBoundedValue),
3896028662 => Some(Self::IfcPropertyConstraintRelationship),
1680319473 => Some(Self::IfcPropertyDefinition),
148025276 => Some(Self::IfcPropertyDependencyRelationship),
4166981789 => Some(Self::IfcPropertyEnumeratedValue),
3710013099 => Some(Self::IfcPropertyEnumeration),
2752243245 => Some(Self::IfcPropertyListValue),
941946838 => Some(Self::IfcPropertyReferenceValue),
1451395588 => Some(Self::IfcPropertySet),
3357820518 => Some(Self::IfcPropertySetDefinition),
3650150729 => Some(Self::IfcPropertySingleValue),
110355661 => Some(Self::IfcPropertyTableValue),
1842657554 => Some(Self::IfcProtectiveDeviceType),
3219374653 => Some(Self::IfcProxy),
2250791053 => Some(Self::IfcPumpType),
2044713172 => Some(Self::IfcQuantityArea),
2093928680 => Some(Self::IfcQuantityCount),
931644368 => Some(Self::IfcQuantityLength),
3252649465 => Some(Self::IfcQuantityTime),
2405470396 => Some(Self::IfcQuantityVolume),
825690147 => Some(Self::IfcQuantityWeight),
3248260540 => Some(Self::IfcRadiusDimension),
2262370178 => Some(Self::IfcRailing),
2893384427 => Some(Self::IfcRailingType),
3024970846 => Some(Self::IfcRamp),
3283111854 => Some(Self::IfcRampFlight),
2324767716 => Some(Self::IfcRampFlightType),
3055160366 => Some(Self::IfcRationalBezierCurve),
2770003689 => Some(Self::IfcRectangleHollowProfileDef),
3615266464 => Some(Self::IfcRectangleProfileDef),
2798486643 => Some(Self::IfcRectangularPyramid),
3454111270 => Some(Self::IfcRectangularTrimmedSurface),
2692823254 => Some(Self::IfcReferencesValueDocument),
3413951693 => Some(Self::IfcRegularTimeSeries),
1580146022 => Some(Self::IfcReinforcementBarProperties),
3765753017 => Some(Self::IfcReinforcementDefinitionProperties),
979691226 => Some(Self::IfcReinforcingBar),
3027567501 => Some(Self::IfcReinforcingElement),
2320036040 => Some(Self::IfcReinforcingMesh),
160246688 => Some(Self::IfcRelAggregates),
3939117080 => Some(Self::IfcRelAssigns),
2863920197 => Some(Self::IfcRelAssignsTasks),
1683148259 => Some(Self::IfcRelAssignsToActor),
2495723537 => Some(Self::IfcRelAssignsToControl),
1307041759 => Some(Self::IfcRelAssignsToGroup),
4278684876 => Some(Self::IfcRelAssignsToProcess),
2857406711 => Some(Self::IfcRelAssignsToProduct),
3372526763 => Some(Self::IfcRelAssignsToProjectOrder),
205026976 => Some(Self::IfcRelAssignsToResource),
1865459582 => Some(Self::IfcRelAssociates),
1327628568 => Some(Self::IfcRelAssociatesAppliedValue),
4095574036 => Some(Self::IfcRelAssociatesApproval),
919958153 => Some(Self::IfcRelAssociatesClassification),
2728634034 => Some(Self::IfcRelAssociatesConstraint),
982818633 => Some(Self::IfcRelAssociatesDocument),
3840914261 => Some(Self::IfcRelAssociatesLibrary),
2655215786 => Some(Self::IfcRelAssociatesMaterial),
2851387026 => Some(Self::IfcRelAssociatesProfileProperties),
826625072 => Some(Self::IfcRelConnects),
1204542856 => Some(Self::IfcRelConnectsElements),
3945020480 => Some(Self::IfcRelConnectsPathElements),
4201705270 => Some(Self::IfcRelConnectsPortToElement),
3190031847 => Some(Self::IfcRelConnectsPorts),
2127690289 => Some(Self::IfcRelConnectsStructuralActivity),
3912681535 => Some(Self::IfcRelConnectsStructuralElement),
1638771189 => Some(Self::IfcRelConnectsStructuralMember),
504942748 => Some(Self::IfcRelConnectsWithEccentricity),
3678494232 => Some(Self::IfcRelConnectsWithRealizingElements),
3242617779 => Some(Self::IfcRelContainedInSpatialStructure),
886880790 => Some(Self::IfcRelCoversBldgElements),
2802773753 => Some(Self::IfcRelCoversSpaces),
2551354335 => Some(Self::IfcRelDecomposes),
693640335 => Some(Self::IfcRelDefines),
4186316022 => Some(Self::IfcRelDefinesByProperties),
781010003 => Some(Self::IfcRelDefinesByType),
3940055652 => Some(Self::IfcRelFillsElement),
279856033 => Some(Self::IfcRelFlowControlElements),
4189434867 => Some(Self::IfcRelInteractionRequirements),
3268803585 => Some(Self::IfcRelNests),
2051452291 => Some(Self::IfcRelOccupiesSpaces),
202636808 => Some(Self::IfcRelOverridesProperties),
750771296 => Some(Self::IfcRelProjectsElement),
1245217292 => Some(Self::IfcRelReferencedInSpatialStructure),
1058617721 => Some(Self::IfcRelSchedulesCostItems),
4122056220 => Some(Self::IfcRelSequence),
366585022 => Some(Self::IfcRelServicesBuildings),
3451746338 => Some(Self::IfcRelSpaceBoundary),
1401173127 => Some(Self::IfcRelVoidsElement),
478536968 => Some(Self::IfcRelationship),
1222501353 => Some(Self::IfcRelaxation),
1076942058 => Some(Self::IfcRepresentation),
3377609919 => Some(Self::IfcRepresentationContext),
3008791417 => Some(Self::IfcRepresentationItem),
1660063152 => Some(Self::IfcRepresentationMap),
2914609552 => Some(Self::IfcResource),
1856042241 => Some(Self::IfcRevolvedAreaSolid),
3679540991 => Some(Self::IfcRibPlateProfileProperties),
4158566097 => Some(Self::IfcRightCircularCone),
3626867408 => Some(Self::IfcRightCircularCylinder),
2016517767 => Some(Self::IfcRoof),
2341007311 => Some(Self::IfcRoot),
1376911519 => Some(Self::IfcRoundedEdgeFeature),
2778083089 => Some(Self::IfcRoundedRectangleProfileDef),
448429030 => Some(Self::IfcSIUnit),
1768891740 => Some(Self::IfcSanitaryTerminalType),
3517283431 => Some(Self::IfcScheduleTimeControl),
2042790032 => Some(Self::IfcSectionProperties),
4165799628 => Some(Self::IfcSectionReinforcementProperties),
1509187699 => Some(Self::IfcSectionedSpine),
1783015770 => Some(Self::IfcSensorType),
4105383287 => Some(Self::IfcServiceLife),
2411513650 => Some(Self::IfcServiceLifeFactor),
867548509 => Some(Self::IfcShapeAspect),
3982875396 => Some(Self::IfcShapeModel),
4240577450 => Some(Self::IfcShapeRepresentation),
4124623270 => Some(Self::IfcShellBasedSurfaceModel),
3692461612 => Some(Self::IfcSimpleProperty),
4097777520 => Some(Self::IfcSite),
1529196076 => Some(Self::IfcSlab),
2533589738 => Some(Self::IfcSlabType),
2609359061 => Some(Self::IfcSlippageConnectionCondition),
723233188 => Some(Self::IfcSolidModel),
2485662743 => Some(Self::IfcSoundProperties),
1202362311 => Some(Self::IfcSoundValue),
3856911033 => Some(Self::IfcSpace),
1305183839 => Some(Self::IfcSpaceHeaterType),
652456506 => Some(Self::IfcSpaceProgram),
390701378 => Some(Self::IfcSpaceThermalLoadProperties),
3812236995 => Some(Self::IfcSpaceType),
2706606064 => Some(Self::IfcSpatialStructureElement),
3893378262 => Some(Self::IfcSpatialStructureElementType),
451544542 => Some(Self::IfcSphere),
3112655638 => Some(Self::IfcStackTerminalType),
331165859 => Some(Self::IfcStair),
4252922144 => Some(Self::IfcStairFlight),
1039846685 => Some(Self::IfcStairFlightType),
682877961 => Some(Self::IfcStructuralAction),
3544373492 => Some(Self::IfcStructuralActivity),
2515109513 => Some(Self::IfcStructuralAnalysisModel),
1179482911 => Some(Self::IfcStructuralConnection),
2273995522 => Some(Self::IfcStructuralConnectionCondition),
4243806635 => Some(Self::IfcStructuralCurveConnection),
214636428 => Some(Self::IfcStructuralCurveMember),
2445595289 => Some(Self::IfcStructuralCurveMemberVarying),
3136571912 => Some(Self::IfcStructuralItem),
1807405624 => Some(Self::IfcStructuralLinearAction),
1721250024 => Some(Self::IfcStructuralLinearActionVarying),
2162789131 => Some(Self::IfcStructuralLoad),
1252848954 => Some(Self::IfcStructuralLoadGroup),
1595516126 => Some(Self::IfcStructuralLoadLinearForce),
2668620305 => Some(Self::IfcStructuralLoadPlanarForce),
2473145415 => Some(Self::IfcStructuralLoadSingleDisplacement),
1973038258 => Some(Self::IfcStructuralLoadSingleDisplacementDistortion),
1597423693 => Some(Self::IfcStructuralLoadSingleForce),
1190533807 => Some(Self::IfcStructuralLoadSingleForceWarping),
2525727697 => Some(Self::IfcStructuralLoadStatic),
3408363356 => Some(Self::IfcStructuralLoadTemperature),
530289379 => Some(Self::IfcStructuralMember),
1621171031 => Some(Self::IfcStructuralPlanarAction),
3987759626 => Some(Self::IfcStructuralPlanarActionVarying),
2082059205 => Some(Self::IfcStructuralPointAction),
734778138 => Some(Self::IfcStructuralPointConnection),
1235345126 => Some(Self::IfcStructuralPointReaction),
3843319758 => Some(Self::IfcStructuralProfileProperties),
3689010777 => Some(Self::IfcStructuralReaction),
2986769608 => Some(Self::IfcStructuralResultGroup),
3653947884 => Some(Self::IfcStructuralSteelProfileProperties),
1975003073 => Some(Self::IfcStructuralSurfaceConnection),
3979015343 => Some(Self::IfcStructuralSurfaceMember),
2218152070 => Some(Self::IfcStructuralSurfaceMemberVarying),
4070609034 => Some(Self::IfcStructuredDimensionCallout),
2830218821 => Some(Self::IfcStyleModel),
3958052878 => Some(Self::IfcStyledItem),
3049322572 => Some(Self::IfcStyledRepresentation),
148013059 => Some(Self::IfcSubContractResource),
2233826070 => Some(Self::IfcSubedge),
2513912981 => Some(Self::IfcSurface),
2028607225 => Some(Self::IfcSurfaceCurveSweptAreaSolid),
2809605785 => Some(Self::IfcSurfaceOfLinearExtrusion),
4124788165 => Some(Self::IfcSurfaceOfRevolution),
1300840506 => Some(Self::IfcSurfaceStyle),
3303107099 => Some(Self::IfcSurfaceStyleLighting),
1607154358 => Some(Self::IfcSurfaceStyleRefraction),
1878645084 => Some(Self::IfcSurfaceStyleRendering),
846575682 => Some(Self::IfcSurfaceStyleShading),
1351298697 => Some(Self::IfcSurfaceStyleWithTextures),
626085974 => Some(Self::IfcSurfaceTexture),
2247615214 => Some(Self::IfcSweptAreaSolid),
1260650574 => Some(Self::IfcSweptDiskSolid),
230924584 => Some(Self::IfcSweptSurface),
2315554128 => Some(Self::IfcSwitchingDeviceType),
1290481447 => Some(Self::IfcSymbolStyle),
2254336722 => Some(Self::IfcSystem),
1580310250 => Some(Self::IfcSystemFurnitureElementType),
3071757647 => Some(Self::IfcTShapeProfileDef),
985171141 => Some(Self::IfcTable),
531007025 => Some(Self::IfcTableRow),
5716631 => Some(Self::IfcTankType),
3473067441 => Some(Self::IfcTask),
912023232 => Some(Self::IfcTelecomAddress),
3824725483 => Some(Self::IfcTendon),
2347447852 => Some(Self::IfcTendonAnchor),
3028897424 => Some(Self::IfcTerminatorSymbol),
4282788508 => Some(Self::IfcTextLiteral),
3124975700 => Some(Self::IfcTextLiteralWithExtent),
1447204868 => Some(Self::IfcTextStyle),
1983826977 => Some(Self::IfcTextStyleFontModel),
2636378356 => Some(Self::IfcTextStyleForDefinedFont),
1640371178 => Some(Self::IfcTextStyleTextModel),
1484833681 => Some(Self::IfcTextStyleWithBoxCharacteristics),
280115917 => Some(Self::IfcTextureCoordinate),
1742049831 => Some(Self::IfcTextureCoordinateGenerator),
2552916305 => Some(Self::IfcTextureMap),
1210645708 => Some(Self::IfcTextureVertex),
3317419933 => Some(Self::IfcThermalMaterialProperties),
3101149627 => Some(Self::IfcTimeSeries),
1718945513 => Some(Self::IfcTimeSeriesReferenceRelationship),
1637806684 => Some(Self::IfcTimeSeriesSchedule),
581633288 => Some(Self::IfcTimeSeriesValue),
1377556343 => Some(Self::IfcTopologicalRepresentationItem),
1735638870 => Some(Self::IfcTopologyRepresentation),
1692211062 => Some(Self::IfcTransformerType),
1620046519 => Some(Self::IfcTransportElement),
2097647324 => Some(Self::IfcTransportElementType),
2715220739 => Some(Self::IfcTrapeziumProfileDef),
3593883385 => Some(Self::IfcTrimmedCurve),
1600972822 => Some(Self::IfcTubeBundleType),
1345879162 => Some(Self::IfcTwoDirectionRepeatFactor),
1628702193 => Some(Self::IfcTypeObject),
2347495698 => Some(Self::IfcTypeProduct),
427810014 => Some(Self::IfcUShapeProfileDef),
180925521 => Some(Self::IfcUnitAssignment),
1911125066 => Some(Self::IfcUnitaryEquipmentType),
728799441 => Some(Self::IfcValveType),
1417489154 => Some(Self::IfcVector),
2799835756 => Some(Self::IfcVertex),
3304826586 => Some(Self::IfcVertexBasedTextureMap),
2759199220 => Some(Self::IfcVertexLoop),
1907098498 => Some(Self::IfcVertexPoint),
3313531582 => Some(Self::IfcVibrationIsolatorType),
2769231204 => Some(Self::IfcVirtualElement),
891718957 => Some(Self::IfcVirtualGridIntersection),
2391406946 => Some(Self::IfcWall),
3512223829 => Some(Self::IfcWallStandardCase),
1898987631 => Some(Self::IfcWallType),
1133259667 => Some(Self::IfcWasteTerminalType),
1065908215 => Some(Self::IfcWaterProperties),
3304561284 => Some(Self::IfcWindow),
336235671 => Some(Self::IfcWindowLiningProperties),
512836454 => Some(Self::IfcWindowPanelProperties),
1299126871 => Some(Self::IfcWindowStyle),
1028945134 => Some(Self::IfcWorkControl),
4218914973 => Some(Self::IfcWorkPlan),
3342526732 => Some(Self::IfcWorkSchedule),
2543172580 => Some(Self::IfcZShapeProfileDef),
1033361043 => Some(Self::IfcZone),
_ => None,
}
}
/// Get CRC32 type ID
pub fn id(&self) -> u32 {
match self {
Self::Ifc2DCompositeCurve => 1213861670,
Self::IfcActionRequest => 3821786052,
Self::IfcActor => 2296667514,
Self::IfcActorRole => 3630933823,
Self::IfcActuatorType => 2874132201,
Self::IfcAddress => 618182010,
Self::IfcAirTerminalBoxType => 1411407467,
Self::IfcAirTerminalType => 3352864051,
Self::IfcAirToAirHeatRecoveryType => 1871374353,
Self::IfcAlarmType => 3001207471,
Self::IfcAngularDimension => 2470393545,
Self::IfcAnnotation => 1674181508,
Self::IfcAnnotationCurveOccurrence => 3288037868,
Self::IfcAnnotationFillArea => 669184980,
Self::IfcAnnotationFillAreaOccurrence => 2265737646,
Self::IfcAnnotationOccurrence => 2442683028,
Self::IfcAnnotationSurface => 1302238472,
Self::IfcAnnotationSurfaceOccurrence => 962685235,
Self::IfcAnnotationSymbolOccurrence => 3612888222,
Self::IfcAnnotationTextOccurrence => 2297822566,
Self::IfcApplication => 639542469,
Self::IfcAppliedValue => 411424972,
Self::IfcAppliedValueRelationship => 1110488051,
Self::IfcApproval => 130549933,
Self::IfcApprovalActorRelationship => 2080292479,
Self::IfcApprovalPropertyRelationship => 390851274,
Self::IfcApprovalRelationship => 3869604511,
Self::IfcArbitraryClosedProfileDef => 3798115385,
Self::IfcArbitraryOpenProfileDef => 1310608509,
Self::IfcArbitraryProfileDefWithVoids => 2705031697,
Self::IfcAsset => 3460190687,
Self::IfcAsymmetricIShapeProfileDef => 3207858831,
Self::IfcAxis1Placement => 4261334040,
Self::IfcAxis2Placement2D => 3125803723,
Self::IfcAxis2Placement3D => 2740243338,
Self::IfcBSplineCurve => 1967976161,
Self::IfcBeam => 753842376,
Self::IfcBeamType => 819618141,
Self::IfcBezierCurve => 1916977116,
Self::IfcBlobTexture => 616511568,
Self::IfcBlock => 1334484129,
Self::IfcBoilerType => 231477066,
Self::IfcBooleanClippingResult => 3649129432,
Self::IfcBooleanResult => 2736907675,
Self::IfcBoundaryCondition => 4037036970,
Self::IfcBoundaryEdgeCondition => 1560379544,
Self::IfcBoundaryFaceCondition => 3367102660,
Self::IfcBoundaryNodeCondition => 1387855156,
Self::IfcBoundaryNodeConditionWarping => 2069777674,
Self::IfcBoundedCurve => 1260505505,
Self::IfcBoundedSurface => 4182860854,
Self::IfcBoundingBox => 2581212453,
Self::IfcBoxedHalfSpace => 2713105998,
Self::IfcBuilding => 4031249490,
Self::IfcBuildingElement => 3299480353,
Self::IfcBuildingElementComponent => 52481810,
Self::IfcBuildingElementPart => 2979338954,
Self::IfcBuildingElementProxy => 1095909175,
Self::IfcBuildingElementProxyType => 1909888760,
Self::IfcBuildingElementType => 1950629157,
Self::IfcBuildingStorey => 3124254112,
Self::IfcCShapeProfileDef => 2898889636,
Self::IfcCableCarrierFittingType => 395041908,
Self::IfcCableCarrierSegmentType => 3293546465,
Self::IfcCableSegmentType => 1285652485,
Self::IfcCalendarDate => 622194075,
Self::IfcCartesianPoint => 1123145078,
Self::IfcCartesianTransformationOperator => 59481748,
Self::IfcCartesianTransformationOperator2D => 3749851601,
Self::IfcCartesianTransformationOperator2DnonUniform => 3486308946,
Self::IfcCartesianTransformationOperator3D => 3331915920,
Self::IfcCartesianTransformationOperator3DnonUniform => 1416205885,
Self::IfcCenterLineProfileDef => 3150382593,
Self::IfcChamferEdgeFeature => 2454782716,
Self::IfcChillerType => 2951183804,
Self::IfcCircle => 2611217952,
Self::IfcCircleHollowProfileDef => 2937912522,
Self::IfcCircleProfileDef => 1383045692,
Self::IfcClassification => 747523909,
Self::IfcClassificationItem => 1767535486,
Self::IfcClassificationItemRelationship => 1098599126,
Self::IfcClassificationNotation => 938368621,
Self::IfcClassificationNotationFacet => 3639012971,
Self::IfcClassificationReference => 647927063,
Self::IfcClosedShell => 2205249479,
Self::IfcCoilType => 2301859152,
Self::IfcColourRgb => 776857604,
Self::IfcColourSpecification => 3264961684,
Self::IfcColumn => 843113511,
Self::IfcColumnType => 300633059,
Self::IfcComplexProperty => 2542286263,
Self::IfcCompositeCurve => 3732776249,
Self::IfcCompositeCurveSegment => 2485617015,
Self::IfcCompositeProfileDef => 1485152156,
Self::IfcCompressorType => 3850581409,
Self::IfcCondenserType => 2816379211,
Self::IfcCondition => 2188551683,
Self::IfcConditionCriterion => 1163958913,
Self::IfcConic => 2510884976,
Self::IfcConnectedFaceSet => 370225590,
Self::IfcConnectionCurveGeometry => 1981873012,
Self::IfcConnectionGeometry => 2859738748,
Self::IfcConnectionPointEccentricity => 45288368,
Self::IfcConnectionPointGeometry => 2614616156,
Self::IfcConnectionPortGeometry => 4257277454,
Self::IfcConnectionSurfaceGeometry => 2732653382,
Self::IfcConstraint => 1959218052,
Self::IfcConstraintAggregationRelationship => 1658513725,
Self::IfcConstraintClassificationRelationship => 613356794,
Self::IfcConstraintRelationship => 347226245,
Self::IfcConstructionEquipmentResource => 3898045240,
Self::IfcConstructionMaterialResource => 1060000209,
Self::IfcConstructionProductResource => 488727124,
Self::IfcConstructionResource => 2559216714,
Self::IfcContextDependentUnit => 3050246964,
Self::IfcControl => 3293443760,
Self::IfcControllerType => 578613899,
Self::IfcConversionBasedUnit => 2889183280,
Self::IfcCooledBeamType => 335055490,
Self::IfcCoolingTowerType => 2954562838,
Self::IfcCoordinatedUniversalTimeOffset => 1065062679,
Self::IfcCostItem => 3895139033,
Self::IfcCostSchedule => 1419761937,
Self::IfcCostValue => 602808272,
Self::IfcCovering => 1973544240,
Self::IfcCoveringType => 1916426348,
Self::IfcCraneRailAShapeProfileDef => 4133800736,
Self::IfcCraneRailFShapeProfileDef => 194851669,
Self::IfcCrewResource => 3295246426,
Self::IfcCsgPrimitive3D => 2506170314,
Self::IfcCsgSolid => 2147822146,
Self::IfcCurrencyRelationship => 539742890,
Self::IfcCurtainWall => 3495092785,
Self::IfcCurtainWallType => 1457835157,
Self::IfcCurve => 2601014836,
Self::IfcCurveBoundedPlane => 2827736869,
Self::IfcCurveStyle => 3800577675,
Self::IfcCurveStyleFont => 1105321065,
Self::IfcCurveStyleFontAndScaling => 2367409068,
Self::IfcCurveStyleFontPattern => 3510044353,
Self::IfcDamperType => 3961806047,
Self::IfcDateAndTime => 1072939445,
Self::IfcDefinedSymbol => 693772133,
Self::IfcDerivedProfileDef => 3632507154,
Self::IfcDerivedUnit => 1765591967,
Self::IfcDerivedUnitElement => 1045800335,
Self::IfcDiameterDimension => 4147604152,
Self::IfcDimensionCalloutRelationship => 2273265877,
Self::IfcDimensionCurve => 606661476,
Self::IfcDimensionCurveDirectedCallout => 681481545,
Self::IfcDimensionCurveTerminator => 4054601972,
Self::IfcDimensionPair => 1694125774,
Self::IfcDimensionalExponents => 2949456006,
Self::IfcDirection => 32440307,
Self::IfcDiscreteAccessory => 1335981549,
Self::IfcDiscreteAccessoryType => 2635815018,
Self::IfcDistributionChamberElement => 1052013943,
Self::IfcDistributionChamberElementType => 1599208980,
Self::IfcDistributionControlElement => 1062813311,
Self::IfcDistributionControlElementType => 2063403501,
Self::IfcDistributionElement => 1945004755,
Self::IfcDistributionElementType => 3256556792,
Self::IfcDistributionFlowElement => 3040386961,
Self::IfcDistributionFlowElementType => 3849074793,
Self::IfcDistributionPort => 3041715199,
Self::IfcDocumentElectronicFormat => 1376555844,
Self::IfcDocumentInformation => 1154170062,
Self::IfcDocumentInformationRelationship => 770865208,
Self::IfcDocumentReference => 3732053477,
Self::IfcDoor => 395920057,
Self::IfcDoorLiningProperties => 2963535650,
Self::IfcDoorPanelProperties => 1714330368,
Self::IfcDoorStyle => 526551008,
Self::IfcDraughtingCallout => 3073041342,
Self::IfcDraughtingCalloutRelationship => 3796139169,
Self::IfcDraughtingPreDefinedColour => 445594917,
Self::IfcDraughtingPreDefinedCurveFont => 4006246654,
Self::IfcDraughtingPreDefinedTextFont => 4170525392,
Self::IfcDuctFittingType => 869906466,
Self::IfcDuctSegmentType => 3760055223,
Self::IfcDuctSilencerType => 2030761528,
Self::IfcEdge => 3900360178,
Self::IfcEdgeCurve => 476780140,
Self::IfcEdgeFeature => 855621170,
Self::IfcEdgeLoop => 1472233963,
Self::IfcElectricApplianceType => 663422040,
Self::IfcElectricDistributionPoint => 3700593921,
Self::IfcElectricFlowStorageDeviceType => 3277789161,
Self::IfcElectricGeneratorType => 1534661035,
Self::IfcElectricHeaterType => 1365060375,
Self::IfcElectricMotorType => 1217240411,
Self::IfcElectricTimeControlType => 712377611,
Self::IfcElectricalBaseProperties => 360485395,
Self::IfcElectricalCircuit => 1634875225,
Self::IfcElectricalElement => 857184966,
Self::IfcElement => 1758889154,
Self::IfcElementAssembly => 4123344466,
Self::IfcElementComponent => 1623761950,
Self::IfcElementComponentType => 2590856083,
Self::IfcElementQuantity => 1883228015,
Self::IfcElementType => 339256511,
Self::IfcElementarySurface => 2777663545,
Self::IfcEllipse => 1704287377,
Self::IfcEllipseProfileDef => 2835456948,
Self::IfcEnergyConversionDevice => 1658829314,
Self::IfcEnergyConversionDeviceType => 2107101300,
Self::IfcEnergyProperties => 80994333,
Self::IfcEnvironmentalImpactValue => 1648886627,
Self::IfcEquipmentElement => 1962604670,
Self::IfcEquipmentStandard => 3272907226,
Self::IfcEvaporativeCoolerType => 3174744832,
Self::IfcEvaporatorType => 3390157468,
Self::IfcExtendedMaterialProperties => 1860660968,
Self::IfcExternalReference => 3200245327,
Self::IfcExternallyDefinedHatchStyle => 2242383968,
Self::IfcExternallyDefinedSurfaceStyle => 1040185647,
Self::IfcExternallyDefinedSymbol => 3207319532,
Self::IfcExternallyDefinedTextFont => 3548104201,
Self::IfcExtrudedAreaSolid => 477187591,
Self::IfcFace => 2556980723,
Self::IfcFaceBasedSurfaceModel => 2047409740,
Self::IfcFaceBound => 1809719519,
Self::IfcFaceOuterBound => 803316827,
Self::IfcFaceSurface => 3008276851,
Self::IfcFacetedBrep => 807026263,
Self::IfcFacetedBrepWithVoids => 3737207727,
Self::IfcFailureConnectionCondition => 4219587988,
Self::IfcFanType => 346874300,
Self::IfcFastener => 647756555,
Self::IfcFastenerType => 2489546625,
Self::IfcFeatureElement => 2827207264,
Self::IfcFeatureElementAddition => 2143335405,
Self::IfcFeatureElementSubtraction => 1287392070,
Self::IfcFillAreaStyle => 738692330,
Self::IfcFillAreaStyleHatching => 374418227,
Self::IfcFillAreaStyleTileSymbolWithStyle => 4203026998,
Self::IfcFillAreaStyleTiles => 315944413,
Self::IfcFilterType => 1810631287,
Self::IfcFireSuppressionTerminalType => 4222183408,
Self::IfcFlowController => 2058353004,
Self::IfcFlowControllerType => 3907093117,
Self::IfcFlowFitting => 4278956645,
Self::IfcFlowFittingType => 3198132628,
Self::IfcFlowInstrumentType => 4037862832,
Self::IfcFlowMeterType => 3815607619,
Self::IfcFlowMovingDevice => 3132237377,
Self::IfcFlowMovingDeviceType => 1482959167,
Self::IfcFlowSegment => 987401354,
Self::IfcFlowSegmentType => 1834744321,
Self::IfcFlowStorageDevice => 707683696,
Self::IfcFlowStorageDeviceType => 1339347760,
Self::IfcFlowTerminal => 2223149337,
Self::IfcFlowTerminalType => 2297155007,
Self::IfcFlowTreatmentDevice => 3508470533,
Self::IfcFlowTreatmentDeviceType => 3009222698,
Self::IfcFluidFlowProperties => 3455213021,
Self::IfcFooting => 900683007,
Self::IfcFuelProperties => 3857492461,
Self::IfcFurnishingElement => 263784265,
Self::IfcFurnishingElementType => 4238390223,
Self::IfcFurnitureStandard => 814719939,
Self::IfcFurnitureType => 1268542332,
Self::IfcGasTerminalType => 200128114,
Self::IfcGeneralMaterialProperties => 803998398,
Self::IfcGeneralProfileProperties => 1446786286,
Self::IfcGeometricCurveSet => 987898635,
Self::IfcGeometricRepresentationContext => 3448662350,
Self::IfcGeometricRepresentationItem => 2453401579,
Self::IfcGeometricRepresentationSubContext => 4142052618,
Self::IfcGeometricSet => 3590301190,
Self::IfcGrid => 3009204131,
Self::IfcGridAxis => 852622518,
Self::IfcGridPlacement => 178086475,
Self::IfcGroup => 2706460486,
Self::IfcHalfSpaceSolid => 812098782,
Self::IfcHeatExchangerType => 1251058090,
Self::IfcHumidifierType => 1806887404,
Self::IfcHygroscopicMaterialProperties => 2445078500,
Self::IfcIShapeProfileDef => 1484403080,
Self::IfcImageTexture => 3905492369,
Self::IfcInventory => 2391368822,
Self::IfcIrregularTimeSeries => 3741457305,
Self::IfcIrregularTimeSeriesValue => 3020489413,
Self::IfcJunctionBoxType => 4288270099,
Self::IfcLShapeProfileDef => 572779678,
Self::IfcLaborResource => 3827777499,
Self::IfcLampType => 1051575348,
Self::IfcLibraryInformation => 2655187982,
Self::IfcLibraryReference => 3452421091,
Self::IfcLightDistributionData => 4162380809,
Self::IfcLightFixtureType => 1161773419,
Self::IfcLightIntensityDistribution => 1566485204,
Self::IfcLightSource => 1402838566,
Self::IfcLightSourceAmbient => 125510826,
Self::IfcLightSourceDirectional => 2604431987,
Self::IfcLightSourceGoniometric => 4266656042,
Self::IfcLightSourcePositional => 1520743889,
Self::IfcLightSourceSpot => 3422422726,
Self::IfcLine => 1281925730,
Self::IfcLinearDimension => 2506943328,
Self::IfcLocalPlacement => 2624227202,
Self::IfcLocalTime => 30780891,
Self::IfcLoop => 1008929658,
Self::IfcManifoldSolidBrep => 1425443689,
Self::IfcMappedItem => 2347385850,
Self::IfcMaterial => 1838606355,
Self::IfcMaterialClassificationRelationship => 1847130766,
Self::IfcMaterialDefinitionRepresentation => 2022407955,
Self::IfcMaterialLayer => 248100487,
Self::IfcMaterialLayerSet => 3303938423,
Self::IfcMaterialLayerSetUsage => 1303795690,
Self::IfcMaterialList => 2199411900,
Self::IfcMaterialProperties => 3265635763,
Self::IfcMeasureWithUnit => 2597039031,
Self::IfcMechanicalConcreteMaterialProperties => 1430189142,
Self::IfcMechanicalFastener => 377706215,
Self::IfcMechanicalFastenerType => 2108223431,
Self::IfcMechanicalMaterialProperties => 4256014907,
Self::IfcMechanicalSteelMaterialProperties => 677618848,
Self::IfcMember => 1073191201,
Self::IfcMemberType => 3181161470,
Self::IfcMetric => 3368373690,
Self::IfcMonetaryUnit => 2706619895,
Self::IfcMotorConnectionType => 977012517,
Self::IfcMove => 1916936684,
Self::IfcNamedUnit => 1918398963,
Self::IfcObject => 3888040117,
Self::IfcObjectDefinition => 219451334,
Self::IfcObjectPlacement => 3701648758,
Self::IfcObjective => 2251480897,
Self::IfcOccupant => 4143007308,
Self::IfcOffsetCurve2D => 3388369263,
Self::IfcOffsetCurve3D => 3505215534,
Self::IfcOneDirectionRepeatFactor => 2833995503,
Self::IfcOpenShell => 2665983363,
Self::IfcOpeningElement => 3588315303,
Self::IfcOpticalMaterialProperties => 1227763645,
Self::IfcOrderAction => 3425660407,
Self::IfcOrganization => 4251960020,
Self::IfcOrganizationRelationship => 1411181986,
Self::IfcOrientedEdge => 1029017970,
Self::IfcOutletType => 2837617999,
Self::IfcOwnerHistory => 1207048766,
Self::IfcParameterizedProfileDef => 2529465313,
Self::IfcPath => 2519244187,
Self::IfcPerformanceHistory => 2382730787,
Self::IfcPermeableCoveringProperties => 3566463478,
Self::IfcPermit => 3327091369,
Self::IfcPerson => 2077209135,
Self::IfcPersonAndOrganization => 101040310,
Self::IfcPhysicalComplexQuantity => 3021840470,
Self::IfcPhysicalQuantity => 2483315170,
Self::IfcPhysicalSimpleQuantity => 2226359599,
Self::IfcPile => 1687234759,
Self::IfcPipeFittingType => 804291784,
Self::IfcPipeSegmentType => 4231323485,
Self::IfcPixelTexture => 597895409,
Self::IfcPlacement => 2004835150,
Self::IfcPlanarBox => 603570806,
Self::IfcPlanarExtent => 1663979128,
Self::IfcPlane => 220341763,
Self::IfcPlate => 3171933400,
Self::IfcPlateType => 4017108033,
Self::IfcPoint => 2067069095,
Self::IfcPointOnCurve => 4022376103,
Self::IfcPointOnSurface => 1423911732,
Self::IfcPolyLoop => 2924175390,
Self::IfcPolygonalBoundedHalfSpace => 2775532180,
Self::IfcPolyline => 3724593414,
Self::IfcPort => 3740093272,
Self::IfcPostalAddress => 3355820592,
Self::IfcPreDefinedColour => 759155922,
Self::IfcPreDefinedCurveFont => 2559016684,
Self::IfcPreDefinedDimensionSymbol => 433424934,
Self::IfcPreDefinedItem => 3727388367,
Self::IfcPreDefinedPointMarkerSymbol => 179317114,
Self::IfcPreDefinedSymbol => 990879717,
Self::IfcPreDefinedTerminatorSymbol => 3213052703,
Self::IfcPreDefinedTextFont => 1775413392,
Self::IfcPresentationLayerAssignment => 2022622350,
Self::IfcPresentationLayerWithStyle => 1304840413,
Self::IfcPresentationStyle => 3119450353,
Self::IfcPresentationStyleAssignment => 2417041796,
Self::IfcProcedure => 2744685151,
Self::IfcProcess => 2945172077,
Self::IfcProduct => 4208778838,
Self::IfcProductDefinitionShape => 673634403,
Self::IfcProductRepresentation => 2095639259,
Self::IfcProductsOfCombustionProperties => 2267347899,
Self::IfcProfileDef => 3958567839,
Self::IfcProfileProperties => 2802850158,
Self::IfcProject => 103090709,
Self::IfcProjectOrder => 2904328755,
Self::IfcProjectOrderRecord => 3642467123,
Self::IfcProjectionCurve => 4194566429,
Self::IfcProjectionElement => 3651124850,
Self::IfcProperty => 2598011224,
Self::IfcPropertyBoundedValue => 871118103,
Self::IfcPropertyConstraintRelationship => 3896028662,
Self::IfcPropertyDefinition => 1680319473,
Self::IfcPropertyDependencyRelationship => 148025276,
Self::IfcPropertyEnumeratedValue => 4166981789,
Self::IfcPropertyEnumeration => 3710013099,
Self::IfcPropertyListValue => 2752243245,
Self::IfcPropertyReferenceValue => 941946838,
Self::IfcPropertySet => 1451395588,
Self::IfcPropertySetDefinition => 3357820518,
Self::IfcPropertySingleValue => 3650150729,
Self::IfcPropertyTableValue => 110355661,
Self::IfcProtectiveDeviceType => 1842657554,
Self::IfcProxy => 3219374653,
Self::IfcPumpType => 2250791053,
Self::IfcQuantityArea => 2044713172,
Self::IfcQuantityCount => 2093928680,
Self::IfcQuantityLength => 931644368,
Self::IfcQuantityTime => 3252649465,
Self::IfcQuantityVolume => 2405470396,
Self::IfcQuantityWeight => 825690147,
Self::IfcRadiusDimension => 3248260540,
Self::IfcRailing => 2262370178,
Self::IfcRailingType => 2893384427,
Self::IfcRamp => 3024970846,
Self::IfcRampFlight => 3283111854,
Self::IfcRampFlightType => 2324767716,
Self::IfcRationalBezierCurve => 3055160366,
Self::IfcRectangleHollowProfileDef => 2770003689,
Self::IfcRectangleProfileDef => 3615266464,
Self::IfcRectangularPyramid => 2798486643,
Self::IfcRectangularTrimmedSurface => 3454111270,
Self::IfcReferencesValueDocument => 2692823254,
Self::IfcRegularTimeSeries => 3413951693,
Self::IfcReinforcementBarProperties => 1580146022,
Self::IfcReinforcementDefinitionProperties => 3765753017,
Self::IfcReinforcingBar => 979691226,
Self::IfcReinforcingElement => 3027567501,
Self::IfcReinforcingMesh => 2320036040,
Self::IfcRelAggregates => 160246688,
Self::IfcRelAssigns => 3939117080,
Self::IfcRelAssignsTasks => 2863920197,
Self::IfcRelAssignsToActor => 1683148259,
Self::IfcRelAssignsToControl => 2495723537,
Self::IfcRelAssignsToGroup => 1307041759,
Self::IfcRelAssignsToProcess => 4278684876,
Self::IfcRelAssignsToProduct => 2857406711,
Self::IfcRelAssignsToProjectOrder => 3372526763,
Self::IfcRelAssignsToResource => 205026976,
Self::IfcRelAssociates => 1865459582,
Self::IfcRelAssociatesAppliedValue => 1327628568,
Self::IfcRelAssociatesApproval => 4095574036,
Self::IfcRelAssociatesClassification => 919958153,
Self::IfcRelAssociatesConstraint => 2728634034,
Self::IfcRelAssociatesDocument => 982818633,
Self::IfcRelAssociatesLibrary => 3840914261,
Self::IfcRelAssociatesMaterial => 2655215786,
Self::IfcRelAssociatesProfileProperties => 2851387026,
Self::IfcRelConnects => 826625072,
Self::IfcRelConnectsElements => 1204542856,
Self::IfcRelConnectsPathElements => 3945020480,
Self::IfcRelConnectsPortToElement => 4201705270,
Self::IfcRelConnectsPorts => 3190031847,
Self::IfcRelConnectsStructuralActivity => 2127690289,
Self::IfcRelConnectsStructuralElement => 3912681535,
Self::IfcRelConnectsStructuralMember => 1638771189,
Self::IfcRelConnectsWithEccentricity => 504942748,
Self::IfcRelConnectsWithRealizingElements => 3678494232,
Self::IfcRelContainedInSpatialStructure => 3242617779,
Self::IfcRelCoversBldgElements => 886880790,
Self::IfcRelCoversSpaces => 2802773753,
Self::IfcRelDecomposes => 2551354335,
Self::IfcRelDefines => 693640335,
Self::IfcRelDefinesByProperties => 4186316022,
Self::IfcRelDefinesByType => 781010003,
Self::IfcRelFillsElement => 3940055652,
Self::IfcRelFlowControlElements => 279856033,
Self::IfcRelInteractionRequirements => 4189434867,
Self::IfcRelNests => 3268803585,
Self::IfcRelOccupiesSpaces => 2051452291,
Self::IfcRelOverridesProperties => 202636808,
Self::IfcRelProjectsElement => 750771296,
Self::IfcRelReferencedInSpatialStructure => 1245217292,
Self::IfcRelSchedulesCostItems => 1058617721,
Self::IfcRelSequence => 4122056220,
Self::IfcRelServicesBuildings => 366585022,
Self::IfcRelSpaceBoundary => 3451746338,
Self::IfcRelVoidsElement => 1401173127,
Self::IfcRelationship => 478536968,
Self::IfcRelaxation => 1222501353,
Self::IfcRepresentation => 1076942058,
Self::IfcRepresentationContext => 3377609919,
Self::IfcRepresentationItem => 3008791417,
Self::IfcRepresentationMap => 1660063152,
Self::IfcResource => 2914609552,
Self::IfcRevolvedAreaSolid => 1856042241,
Self::IfcRibPlateProfileProperties => 3679540991,
Self::IfcRightCircularCone => 4158566097,
Self::IfcRightCircularCylinder => 3626867408,
Self::IfcRoof => 2016517767,
Self::IfcRoot => 2341007311,
Self::IfcRoundedEdgeFeature => 1376911519,
Self::IfcRoundedRectangleProfileDef => 2778083089,
Self::IfcSIUnit => 448429030,
Self::IfcSanitaryTerminalType => 1768891740,
Self::IfcScheduleTimeControl => 3517283431,
Self::IfcSectionProperties => 2042790032,
Self::IfcSectionReinforcementProperties => 4165799628,
Self::IfcSectionedSpine => 1509187699,
Self::IfcSensorType => 1783015770,
Self::IfcServiceLife => 4105383287,
Self::IfcServiceLifeFactor => 2411513650,
Self::IfcShapeAspect => 867548509,
Self::IfcShapeModel => 3982875396,
Self::IfcShapeRepresentation => 4240577450,
Self::IfcShellBasedSurfaceModel => 4124623270,
Self::IfcSimpleProperty => 3692461612,
Self::IfcSite => 4097777520,
Self::IfcSlab => 1529196076,
Self::IfcSlabType => 2533589738,
Self::IfcSlippageConnectionCondition => 2609359061,
Self::IfcSolidModel => 723233188,
Self::IfcSoundProperties => 2485662743,
Self::IfcSoundValue => 1202362311,
Self::IfcSpace => 3856911033,
Self::IfcSpaceHeaterType => 1305183839,
Self::IfcSpaceProgram => 652456506,
Self::IfcSpaceThermalLoadProperties => 390701378,
Self::IfcSpaceType => 3812236995,
Self::IfcSpatialStructureElement => 2706606064,
Self::IfcSpatialStructureElementType => 3893378262,
Self::IfcSphere => 451544542,
Self::IfcStackTerminalType => 3112655638,
Self::IfcStair => 331165859,
Self::IfcStairFlight => 4252922144,
Self::IfcStairFlightType => 1039846685,
Self::IfcStructuralAction => 682877961,
Self::IfcStructuralActivity => 3544373492,
Self::IfcStructuralAnalysisModel => 2515109513,
Self::IfcStructuralConnection => 1179482911,
Self::IfcStructuralConnectionCondition => 2273995522,
Self::IfcStructuralCurveConnection => 4243806635,
Self::IfcStructuralCurveMember => 214636428,
Self::IfcStructuralCurveMemberVarying => 2445595289,
Self::IfcStructuralItem => 3136571912,
Self::IfcStructuralLinearAction => 1807405624,
Self::IfcStructuralLinearActionVarying => 1721250024,
Self::IfcStructuralLoad => 2162789131,
Self::IfcStructuralLoadGroup => 1252848954,
Self::IfcStructuralLoadLinearForce => 1595516126,
Self::IfcStructuralLoadPlanarForce => 2668620305,
Self::IfcStructuralLoadSingleDisplacement => 2473145415,
Self::IfcStructuralLoadSingleDisplacementDistortion => 1973038258,
Self::IfcStructuralLoadSingleForce => 1597423693,
Self::IfcStructuralLoadSingleForceWarping => 1190533807,
Self::IfcStructuralLoadStatic => 2525727697,
Self::IfcStructuralLoadTemperature => 3408363356,
Self::IfcStructuralMember => 530289379,
Self::IfcStructuralPlanarAction => 1621171031,
Self::IfcStructuralPlanarActionVarying => 3987759626,
Self::IfcStructuralPointAction => 2082059205,
Self::IfcStructuralPointConnection => 734778138,
Self::IfcStructuralPointReaction => 1235345126,
Self::IfcStructuralProfileProperties => 3843319758,
Self::IfcStructuralReaction => 3689010777,
Self::IfcStructuralResultGroup => 2986769608,
Self::IfcStructuralSteelProfileProperties => 3653947884,
Self::IfcStructuralSurfaceConnection => 1975003073,
Self::IfcStructuralSurfaceMember => 3979015343,
Self::IfcStructuralSurfaceMemberVarying => 2218152070,
Self::IfcStructuredDimensionCallout => 4070609034,
Self::IfcStyleModel => 2830218821,
Self::IfcStyledItem => 3958052878,
Self::IfcStyledRepresentation => 3049322572,
Self::IfcSubContractResource => 148013059,
Self::IfcSubedge => 2233826070,
Self::IfcSurface => 2513912981,
Self::IfcSurfaceCurveSweptAreaSolid => 2028607225,
Self::IfcSurfaceOfLinearExtrusion => 2809605785,
Self::IfcSurfaceOfRevolution => 4124788165,
Self::IfcSurfaceStyle => 1300840506,
Self::IfcSurfaceStyleLighting => 3303107099,
Self::IfcSurfaceStyleRefraction => 1607154358,
Self::IfcSurfaceStyleRendering => 1878645084,
Self::IfcSurfaceStyleShading => 846575682,
Self::IfcSurfaceStyleWithTextures => 1351298697,
Self::IfcSurfaceTexture => 626085974,
Self::IfcSweptAreaSolid => 2247615214,
Self::IfcSweptDiskSolid => 1260650574,
Self::IfcSweptSurface => 230924584,
Self::IfcSwitchingDeviceType => 2315554128,
Self::IfcSymbolStyle => 1290481447,
Self::IfcSystem => 2254336722,
Self::IfcSystemFurnitureElementType => 1580310250,
Self::IfcTShapeProfileDef => 3071757647,
Self::IfcTable => 985171141,
Self::IfcTableRow => 531007025,
Self::IfcTankType => 5716631,
Self::IfcTask => 3473067441,
Self::IfcTelecomAddress => 912023232,
Self::IfcTendon => 3824725483,
Self::IfcTendonAnchor => 2347447852,
Self::IfcTerminatorSymbol => 3028897424,
Self::IfcTextLiteral => 4282788508,
Self::IfcTextLiteralWithExtent => 3124975700,
Self::IfcTextStyle => 1447204868,
Self::IfcTextStyleFontModel => 1983826977,
Self::IfcTextStyleForDefinedFont => 2636378356,
Self::IfcTextStyleTextModel => 1640371178,
Self::IfcTextStyleWithBoxCharacteristics => 1484833681,
Self::IfcTextureCoordinate => 280115917,
Self::IfcTextureCoordinateGenerator => 1742049831,
Self::IfcTextureMap => 2552916305,
Self::IfcTextureVertex => 1210645708,
Self::IfcThermalMaterialProperties => 3317419933,
Self::IfcTimeSeries => 3101149627,
Self::IfcTimeSeriesReferenceRelationship => 1718945513,
Self::IfcTimeSeriesSchedule => 1637806684,
Self::IfcTimeSeriesValue => 581633288,
Self::IfcTopologicalRepresentationItem => 1377556343,
Self::IfcTopologyRepresentation => 1735638870,
Self::IfcTransformerType => 1692211062,
Self::IfcTransportElement => 1620046519,
Self::IfcTransportElementType => 2097647324,
Self::IfcTrapeziumProfileDef => 2715220739,
Self::IfcTrimmedCurve => 3593883385,
Self::IfcTubeBundleType => 1600972822,
Self::IfcTwoDirectionRepeatFactor => 1345879162,
Self::IfcTypeObject => 1628702193,
Self::IfcTypeProduct => 2347495698,
Self::IfcUShapeProfileDef => 427810014,
Self::IfcUnitAssignment => 180925521,
Self::IfcUnitaryEquipmentType => 1911125066,
Self::IfcValveType => 728799441,
Self::IfcVector => 1417489154,
Self::IfcVertex => 2799835756,
Self::IfcVertexBasedTextureMap => 3304826586,
Self::IfcVertexLoop => 2759199220,
Self::IfcVertexPoint => 1907098498,
Self::IfcVibrationIsolatorType => 3313531582,
Self::IfcVirtualElement => 2769231204,
Self::IfcVirtualGridIntersection => 891718957,
Self::IfcWall => 2391406946,
Self::IfcWallStandardCase => 3512223829,
Self::IfcWallType => 1898987631,
Self::IfcWasteTerminalType => 1133259667,
Self::IfcWaterProperties => 1065908215,
Self::IfcWindow => 3304561284,
Self::IfcWindowLiningProperties => 336235671,
Self::IfcWindowPanelProperties => 512836454,
Self::IfcWindowStyle => 1299126871,
Self::IfcWorkControl => 1028945134,
Self::IfcWorkPlan => 4218914973,
Self::IfcWorkSchedule => 3342526732,
Self::IfcZShapeProfileDef => 2543172580,
Self::IfcZone => 1033361043,
Self::Unknown(unknown) => unknown.id(),
}
}
/// Get string representation (uppercase)
pub fn as_str(&self) -> &str {
match self {
Self::Ifc2DCompositeCurve => "IFC2DCOMPOSITECURVE",
Self::IfcActionRequest => "IFCACTIONREQUEST",
Self::IfcActor => "IFCACTOR",
Self::IfcActorRole => "IFCACTORROLE",
Self::IfcActuatorType => "IFCACTUATORTYPE",
Self::IfcAddress => "IFCADDRESS",
Self::IfcAirTerminalBoxType => "IFCAIRTERMINALBOXTYPE",
Self::IfcAirTerminalType => "IFCAIRTERMINALTYPE",
Self::IfcAirToAirHeatRecoveryType => "IFCAIRTOAIRHEATRECOVERYTYPE",
Self::IfcAlarmType => "IFCALARMTYPE",
Self::IfcAngularDimension => "IFCANGULARDIMENSION",
Self::IfcAnnotation => "IFCANNOTATION",
Self::IfcAnnotationCurveOccurrence => "IFCANNOTATIONCURVEOCCURRENCE",
Self::IfcAnnotationFillArea => "IFCANNOTATIONFILLAREA",
Self::IfcAnnotationFillAreaOccurrence => "IFCANNOTATIONFILLAREAOCCURRENCE",
Self::IfcAnnotationOccurrence => "IFCANNOTATIONOCCURRENCE",
Self::IfcAnnotationSurface => "IFCANNOTATIONSURFACE",
Self::IfcAnnotationSurfaceOccurrence => "IFCANNOTATIONSURFACEOCCURRENCE",
Self::IfcAnnotationSymbolOccurrence => "IFCANNOTATIONSYMBOLOCCURRENCE",
Self::IfcAnnotationTextOccurrence => "IFCANNOTATIONTEXTOCCURRENCE",
Self::IfcApplication => "IFCAPPLICATION",
Self::IfcAppliedValue => "IFCAPPLIEDVALUE",
Self::IfcAppliedValueRelationship => "IFCAPPLIEDVALUERELATIONSHIP",
Self::IfcApproval => "IFCAPPROVAL",
Self::IfcApprovalActorRelationship => "IFCAPPROVALACTORRELATIONSHIP",
Self::IfcApprovalPropertyRelationship => "IFCAPPROVALPROPERTYRELATIONSHIP",
Self::IfcApprovalRelationship => "IFCAPPROVALRELATIONSHIP",
Self::IfcArbitraryClosedProfileDef => "IFCARBITRARYCLOSEDPROFILEDEF",
Self::IfcArbitraryOpenProfileDef => "IFCARBITRARYOPENPROFILEDEF",
Self::IfcArbitraryProfileDefWithVoids => "IFCARBITRARYPROFILEDEFWITHVOIDS",
Self::IfcAsset => "IFCASSET",
Self::IfcAsymmetricIShapeProfileDef => "IFCASYMMETRICISHAPEPROFILEDEF",
Self::IfcAxis1Placement => "IFCAXIS1PLACEMENT",
Self::IfcAxis2Placement2D => "IFCAXIS2PLACEMENT2D",
Self::IfcAxis2Placement3D => "IFCAXIS2PLACEMENT3D",
Self::IfcBSplineCurve => "IFCBSPLINECURVE",
Self::IfcBeam => "IFCBEAM",
Self::IfcBeamType => "IFCBEAMTYPE",
Self::IfcBezierCurve => "IFCBEZIERCURVE",
Self::IfcBlobTexture => "IFCBLOBTEXTURE",
Self::IfcBlock => "IFCBLOCK",
Self::IfcBoilerType => "IFCBOILERTYPE",
Self::IfcBooleanClippingResult => "IFCBOOLEANCLIPPINGRESULT",
Self::IfcBooleanResult => "IFCBOOLEANRESULT",
Self::IfcBoundaryCondition => "IFCBOUNDARYCONDITION",
Self::IfcBoundaryEdgeCondition => "IFCBOUNDARYEDGECONDITION",
Self::IfcBoundaryFaceCondition => "IFCBOUNDARYFACECONDITION",
Self::IfcBoundaryNodeCondition => "IFCBOUNDARYNODECONDITION",
Self::IfcBoundaryNodeConditionWarping => "IFCBOUNDARYNODECONDITIONWARPING",
Self::IfcBoundedCurve => "IFCBOUNDEDCURVE",
Self::IfcBoundedSurface => "IFCBOUNDEDSURFACE",
Self::IfcBoundingBox => "IFCBOUNDINGBOX",
Self::IfcBoxedHalfSpace => "IFCBOXEDHALFSPACE",
Self::IfcBuilding => "IFCBUILDING",
Self::IfcBuildingElement => "IFCBUILDINGELEMENT",
Self::IfcBuildingElementComponent => "IFCBUILDINGELEMENTCOMPONENT",
Self::IfcBuildingElementPart => "IFCBUILDINGELEMENTPART",
Self::IfcBuildingElementProxy => "IFCBUILDINGELEMENTPROXY",
Self::IfcBuildingElementProxyType => "IFCBUILDINGELEMENTPROXYTYPE",
Self::IfcBuildingElementType => "IFCBUILDINGELEMENTTYPE",
Self::IfcBuildingStorey => "IFCBUILDINGSTOREY",
Self::IfcCShapeProfileDef => "IFCCSHAPEPROFILEDEF",
Self::IfcCableCarrierFittingType => "IFCCABLECARRIERFITTINGTYPE",
Self::IfcCableCarrierSegmentType => "IFCCABLECARRIERSEGMENTTYPE",
Self::IfcCableSegmentType => "IFCCABLESEGMENTTYPE",
Self::IfcCalendarDate => "IFCCALENDARDATE",
Self::IfcCartesianPoint => "IFCCARTESIANPOINT",
Self::IfcCartesianTransformationOperator => "IFCCARTESIANTRANSFORMATIONOPERATOR",
Self::IfcCartesianTransformationOperator2D => "IFCCARTESIANTRANSFORMATIONOPERATOR2D",
Self::IfcCartesianTransformationOperator2DnonUniform => "IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM",
Self::IfcCartesianTransformationOperator3D => "IFCCARTESIANTRANSFORMATIONOPERATOR3D",
Self::IfcCartesianTransformationOperator3DnonUniform => "IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM",
Self::IfcCenterLineProfileDef => "IFCCENTERLINEPROFILEDEF",
Self::IfcChamferEdgeFeature => "IFCCHAMFEREDGEFEATURE",
Self::IfcChillerType => "IFCCHILLERTYPE",
Self::IfcCircle => "IFCCIRCLE",
Self::IfcCircleHollowProfileDef => "IFCCIRCLEHOLLOWPROFILEDEF",
Self::IfcCircleProfileDef => "IFCCIRCLEPROFILEDEF",
Self::IfcClassification => "IFCCLASSIFICATION",
Self::IfcClassificationItem => "IFCCLASSIFICATIONITEM",
Self::IfcClassificationItemRelationship => "IFCCLASSIFICATIONITEMRELATIONSHIP",
Self::IfcClassificationNotation => "IFCCLASSIFICATIONNOTATION",
Self::IfcClassificationNotationFacet => "IFCCLASSIFICATIONNOTATIONFACET",
Self::IfcClassificationReference => "IFCCLASSIFICATIONREFERENCE",
Self::IfcClosedShell => "IFCCLOSEDSHELL",
Self::IfcCoilType => "IFCCOILTYPE",
Self::IfcColourRgb => "IFCCOLOURRGB",
Self::IfcColourSpecification => "IFCCOLOURSPECIFICATION",
Self::IfcColumn => "IFCCOLUMN",
Self::IfcColumnType => "IFCCOLUMNTYPE",
Self::IfcComplexProperty => "IFCCOMPLEXPROPERTY",
Self::IfcCompositeCurve => "IFCCOMPOSITECURVE",
Self::IfcCompositeCurveSegment => "IFCCOMPOSITECURVESEGMENT",
Self::IfcCompositeProfileDef => "IFCCOMPOSITEPROFILEDEF",
Self::IfcCompressorType => "IFCCOMPRESSORTYPE",
Self::IfcCondenserType => "IFCCONDENSERTYPE",
Self::IfcCondition => "IFCCONDITION",
Self::IfcConditionCriterion => "IFCCONDITIONCRITERION",
Self::IfcConic => "IFCCONIC",
Self::IfcConnectedFaceSet => "IFCCONNECTEDFACESET",
Self::IfcConnectionCurveGeometry => "IFCCONNECTIONCURVEGEOMETRY",
Self::IfcConnectionGeometry => "IFCCONNECTIONGEOMETRY",
Self::IfcConnectionPointEccentricity => "IFCCONNECTIONPOINTECCENTRICITY",
Self::IfcConnectionPointGeometry => "IFCCONNECTIONPOINTGEOMETRY",
Self::IfcConnectionPortGeometry => "IFCCONNECTIONPORTGEOMETRY",
Self::IfcConnectionSurfaceGeometry => "IFCCONNECTIONSURFACEGEOMETRY",
Self::IfcConstraint => "IFCCONSTRAINT",
Self::IfcConstraintAggregationRelationship => "IFCCONSTRAINTAGGREGATIONRELATIONSHIP",
Self::IfcConstraintClassificationRelationship => "IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP",
Self::IfcConstraintRelationship => "IFCCONSTRAINTRELATIONSHIP",
Self::IfcConstructionEquipmentResource => "IFCCONSTRUCTIONEQUIPMENTRESOURCE",
Self::IfcConstructionMaterialResource => "IFCCONSTRUCTIONMATERIALRESOURCE",
Self::IfcConstructionProductResource => "IFCCONSTRUCTIONPRODUCTRESOURCE",
Self::IfcConstructionResource => "IFCCONSTRUCTIONRESOURCE",
Self::IfcContextDependentUnit => "IFCCONTEXTDEPENDENTUNIT",
Self::IfcControl => "IFCCONTROL",
Self::IfcControllerType => "IFCCONTROLLERTYPE",
Self::IfcConversionBasedUnit => "IFCCONVERSIONBASEDUNIT",
Self::IfcCooledBeamType => "IFCCOOLEDBEAMTYPE",
Self::IfcCoolingTowerType => "IFCCOOLINGTOWERTYPE",
Self::IfcCoordinatedUniversalTimeOffset => "IFCCOORDINATEDUNIVERSALTIMEOFFSET",
Self::IfcCostItem => "IFCCOSTITEM",
Self::IfcCostSchedule => "IFCCOSTSCHEDULE",
Self::IfcCostValue => "IFCCOSTVALUE",
Self::IfcCovering => "IFCCOVERING",
Self::IfcCoveringType => "IFCCOVERINGTYPE",
Self::IfcCraneRailAShapeProfileDef => "IFCCRANERAILASHAPEPROFILEDEF",
Self::IfcCraneRailFShapeProfileDef => "IFCCRANERAILFSHAPEPROFILEDEF",
Self::IfcCrewResource => "IFCCREWRESOURCE",
Self::IfcCsgPrimitive3D => "IFCCSGPRIMITIVE3D",
Self::IfcCsgSolid => "IFCCSGSOLID",
Self::IfcCurrencyRelationship => "IFCCURRENCYRELATIONSHIP",
Self::IfcCurtainWall => "IFCCURTAINWALL",
Self::IfcCurtainWallType => "IFCCURTAINWALLTYPE",
Self::IfcCurve => "IFCCURVE",
Self::IfcCurveBoundedPlane => "IFCCURVEBOUNDEDPLANE",
Self::IfcCurveStyle => "IFCCURVESTYLE",
Self::IfcCurveStyleFont => "IFCCURVESTYLEFONT",
Self::IfcCurveStyleFontAndScaling => "IFCCURVESTYLEFONTANDSCALING",
Self::IfcCurveStyleFontPattern => "IFCCURVESTYLEFONTPATTERN",
Self::IfcDamperType => "IFCDAMPERTYPE",
Self::IfcDateAndTime => "IFCDATEANDTIME",
Self::IfcDefinedSymbol => "IFCDEFINEDSYMBOL",
Self::IfcDerivedProfileDef => "IFCDERIVEDPROFILEDEF",
Self::IfcDerivedUnit => "IFCDERIVEDUNIT",
Self::IfcDerivedUnitElement => "IFCDERIVEDUNITELEMENT",
Self::IfcDiameterDimension => "IFCDIAMETERDIMENSION",
Self::IfcDimensionCalloutRelationship => "IFCDIMENSIONCALLOUTRELATIONSHIP",
Self::IfcDimensionCurve => "IFCDIMENSIONCURVE",
Self::IfcDimensionCurveDirectedCallout => "IFCDIMENSIONCURVEDIRECTEDCALLOUT",
Self::IfcDimensionCurveTerminator => "IFCDIMENSIONCURVETERMINATOR",
Self::IfcDimensionPair => "IFCDIMENSIONPAIR",
Self::IfcDimensionalExponents => "IFCDIMENSIONALEXPONENTS",
Self::IfcDirection => "IFCDIRECTION",
Self::IfcDiscreteAccessory => "IFCDISCRETEACCESSORY",
Self::IfcDiscreteAccessoryType => "IFCDISCRETEACCESSORYTYPE",
Self::IfcDistributionChamberElement => "IFCDISTRIBUTIONCHAMBERELEMENT",
Self::IfcDistributionChamberElementType => "IFCDISTRIBUTIONCHAMBERELEMENTTYPE",
Self::IfcDistributionControlElement => "IFCDISTRIBUTIONCONTROLELEMENT",
Self::IfcDistributionControlElementType => "IFCDISTRIBUTIONCONTROLELEMENTTYPE",
Self::IfcDistributionElement => "IFCDISTRIBUTIONELEMENT",
Self::IfcDistributionElementType => "IFCDISTRIBUTIONELEMENTTYPE",
Self::IfcDistributionFlowElement => "IFCDISTRIBUTIONFLOWELEMENT",
Self::IfcDistributionFlowElementType => "IFCDISTRIBUTIONFLOWELEMENTTYPE",
Self::IfcDistributionPort => "IFCDISTRIBUTIONPORT",
Self::IfcDocumentElectronicFormat => "IFCDOCUMENTELECTRONICFORMAT",
Self::IfcDocumentInformation => "IFCDOCUMENTINFORMATION",
Self::IfcDocumentInformationRelationship => "IFCDOCUMENTINFORMATIONRELATIONSHIP",
Self::IfcDocumentReference => "IFCDOCUMENTREFERENCE",
Self::IfcDoor => "IFCDOOR",
Self::IfcDoorLiningProperties => "IFCDOORLININGPROPERTIES",
Self::IfcDoorPanelProperties => "IFCDOORPANELPROPERTIES",
Self::IfcDoorStyle => "IFCDOORSTYLE",
Self::IfcDraughtingCallout => "IFCDRAUGHTINGCALLOUT",
Self::IfcDraughtingCalloutRelationship => "IFCDRAUGHTINGCALLOUTRELATIONSHIP",
Self::IfcDraughtingPreDefinedColour => "IFCDRAUGHTINGPREDEFINEDCOLOUR",
Self::IfcDraughtingPreDefinedCurveFont => "IFCDRAUGHTINGPREDEFINEDCURVEFONT",
Self::IfcDraughtingPreDefinedTextFont => "IFCDRAUGHTINGPREDEFINEDTEXTFONT",
Self::IfcDuctFittingType => "IFCDUCTFITTINGTYPE",
Self::IfcDuctSegmentType => "IFCDUCTSEGMENTTYPE",
Self::IfcDuctSilencerType => "IFCDUCTSILENCERTYPE",
Self::IfcEdge => "IFCEDGE",
Self::IfcEdgeCurve => "IFCEDGECURVE",
Self::IfcEdgeFeature => "IFCEDGEFEATURE",
Self::IfcEdgeLoop => "IFCEDGELOOP",
Self::IfcElectricApplianceType => "IFCELECTRICAPPLIANCETYPE",
Self::IfcElectricDistributionPoint => "IFCELECTRICDISTRIBUTIONPOINT",
Self::IfcElectricFlowStorageDeviceType => "IFCELECTRICFLOWSTORAGEDEVICETYPE",
Self::IfcElectricGeneratorType => "IFCELECTRICGENERATORTYPE",
Self::IfcElectricHeaterType => "IFCELECTRICHEATERTYPE",
Self::IfcElectricMotorType => "IFCELECTRICMOTORTYPE",
Self::IfcElectricTimeControlType => "IFCELECTRICTIMECONTROLTYPE",
Self::IfcElectricalBaseProperties => "IFCELECTRICALBASEPROPERTIES",
Self::IfcElectricalCircuit => "IFCELECTRICALCIRCUIT",
Self::IfcElectricalElement => "IFCELECTRICALELEMENT",
Self::IfcElement => "IFCELEMENT",
Self::IfcElementAssembly => "IFCELEMENTASSEMBLY",
Self::IfcElementComponent => "IFCELEMENTCOMPONENT",
Self::IfcElementComponentType => "IFCELEMENTCOMPONENTTYPE",
Self::IfcElementQuantity => "IFCELEMENTQUANTITY",
Self::IfcElementType => "IFCELEMENTTYPE",
Self::IfcElementarySurface => "IFCELEMENTARYSURFACE",
Self::IfcEllipse => "IFCELLIPSE",
Self::IfcEllipseProfileDef => "IFCELLIPSEPROFILEDEF",
Self::IfcEnergyConversionDevice => "IFCENERGYCONVERSIONDEVICE",
Self::IfcEnergyConversionDeviceType => "IFCENERGYCONVERSIONDEVICETYPE",
Self::IfcEnergyProperties => "IFCENERGYPROPERTIES",
Self::IfcEnvironmentalImpactValue => "IFCENVIRONMENTALIMPACTVALUE",
Self::IfcEquipmentElement => "IFCEQUIPMENTELEMENT",
Self::IfcEquipmentStandard => "IFCEQUIPMENTSTANDARD",
Self::IfcEvaporativeCoolerType => "IFCEVAPORATIVECOOLERTYPE",
Self::IfcEvaporatorType => "IFCEVAPORATORTYPE",
Self::IfcExtendedMaterialProperties => "IFCEXTENDEDMATERIALPROPERTIES",
Self::IfcExternalReference => "IFCEXTERNALREFERENCE",
Self::IfcExternallyDefinedHatchStyle => "IFCEXTERNALLYDEFINEDHATCHSTYLE",
Self::IfcExternallyDefinedSurfaceStyle => "IFCEXTERNALLYDEFINEDSURFACESTYLE",
Self::IfcExternallyDefinedSymbol => "IFCEXTERNALLYDEFINEDSYMBOL",
Self::IfcExternallyDefinedTextFont => "IFCEXTERNALLYDEFINEDTEXTFONT",
Self::IfcExtrudedAreaSolid => "IFCEXTRUDEDAREASOLID",
Self::IfcFace => "IFCFACE",
Self::IfcFaceBasedSurfaceModel => "IFCFACEBASEDSURFACEMODEL",
Self::IfcFaceBound => "IFCFACEBOUND",
Self::IfcFaceOuterBound => "IFCFACEOUTERBOUND",
Self::IfcFaceSurface => "IFCFACESURFACE",
Self::IfcFacetedBrep => "IFCFACETEDBREP",
Self::IfcFacetedBrepWithVoids => "IFCFACETEDBREPWITHVOIDS",
Self::IfcFailureConnectionCondition => "IFCFAILURECONNECTIONCONDITION",
Self::IfcFanType => "IFCFANTYPE",
Self::IfcFastener => "IFCFASTENER",
Self::IfcFastenerType => "IFCFASTENERTYPE",
Self::IfcFeatureElement => "IFCFEATUREELEMENT",
Self::IfcFeatureElementAddition => "IFCFEATUREELEMENTADDITION",
Self::IfcFeatureElementSubtraction => "IFCFEATUREELEMENTSUBTRACTION",
Self::IfcFillAreaStyle => "IFCFILLAREASTYLE",
Self::IfcFillAreaStyleHatching => "IFCFILLAREASTYLEHATCHING",
Self::IfcFillAreaStyleTileSymbolWithStyle => "IFCFILLAREASTYLETILESYMBOLWITHSTYLE",
Self::IfcFillAreaStyleTiles => "IFCFILLAREASTYLETILES",
Self::IfcFilterType => "IFCFILTERTYPE",
Self::IfcFireSuppressionTerminalType => "IFCFIRESUPPRESSIONTERMINALTYPE",
Self::IfcFlowController => "IFCFLOWCONTROLLER",
Self::IfcFlowControllerType => "IFCFLOWCONTROLLERTYPE",
Self::IfcFlowFitting => "IFCFLOWFITTING",
Self::IfcFlowFittingType => "IFCFLOWFITTINGTYPE",
Self::IfcFlowInstrumentType => "IFCFLOWINSTRUMENTTYPE",
Self::IfcFlowMeterType => "IFCFLOWMETERTYPE",
Self::IfcFlowMovingDevice => "IFCFLOWMOVINGDEVICE",
Self::IfcFlowMovingDeviceType => "IFCFLOWMOVINGDEVICETYPE",
Self::IfcFlowSegment => "IFCFLOWSEGMENT",
Self::IfcFlowSegmentType => "IFCFLOWSEGMENTTYPE",
Self::IfcFlowStorageDevice => "IFCFLOWSTORAGEDEVICE",
Self::IfcFlowStorageDeviceType => "IFCFLOWSTORAGEDEVICETYPE",
Self::IfcFlowTerminal => "IFCFLOWTERMINAL",
Self::IfcFlowTerminalType => "IFCFLOWTERMINALTYPE",
Self::IfcFlowTreatmentDevice => "IFCFLOWTREATMENTDEVICE",
Self::IfcFlowTreatmentDeviceType => "IFCFLOWTREATMENTDEVICETYPE",
Self::IfcFluidFlowProperties => "IFCFLUIDFLOWPROPERTIES",
Self::IfcFooting => "IFCFOOTING",
Self::IfcFuelProperties => "IFCFUELPROPERTIES",
Self::IfcFurnishingElement => "IFCFURNISHINGELEMENT",
Self::IfcFurnishingElementType => "IFCFURNISHINGELEMENTTYPE",
Self::IfcFurnitureStandard => "IFCFURNITURESTANDARD",
Self::IfcFurnitureType => "IFCFURNITURETYPE",
Self::IfcGasTerminalType => "IFCGASTERMINALTYPE",
Self::IfcGeneralMaterialProperties => "IFCGENERALMATERIALPROPERTIES",
Self::IfcGeneralProfileProperties => "IFCGENERALPROFILEPROPERTIES",
Self::IfcGeometricCurveSet => "IFCGEOMETRICCURVESET",
Self::IfcGeometricRepresentationContext => "IFCGEOMETRICREPRESENTATIONCONTEXT",
Self::IfcGeometricRepresentationItem => "IFCGEOMETRICREPRESENTATIONITEM",
Self::IfcGeometricRepresentationSubContext => "IFCGEOMETRICREPRESENTATIONSUBCONTEXT",
Self::IfcGeometricSet => "IFCGEOMETRICSET",
Self::IfcGrid => "IFCGRID",
Self::IfcGridAxis => "IFCGRIDAXIS",
Self::IfcGridPlacement => "IFCGRIDPLACEMENT",
Self::IfcGroup => "IFCGROUP",
Self::IfcHalfSpaceSolid => "IFCHALFSPACESOLID",
Self::IfcHeatExchangerType => "IFCHEATEXCHANGERTYPE",
Self::IfcHumidifierType => "IFCHUMIDIFIERTYPE",
Self::IfcHygroscopicMaterialProperties => "IFCHYGROSCOPICMATERIALPROPERTIES",
Self::IfcIShapeProfileDef => "IFCISHAPEPROFILEDEF",
Self::IfcImageTexture => "IFCIMAGETEXTURE",
Self::IfcInventory => "IFCINVENTORY",
Self::IfcIrregularTimeSeries => "IFCIRREGULARTIMESERIES",
Self::IfcIrregularTimeSeriesValue => "IFCIRREGULARTIMESERIESVALUE",
Self::IfcJunctionBoxType => "IFCJUNCTIONBOXTYPE",
Self::IfcLShapeProfileDef => "IFCLSHAPEPROFILEDEF",
Self::IfcLaborResource => "IFCLABORRESOURCE",
Self::IfcLampType => "IFCLAMPTYPE",
Self::IfcLibraryInformation => "IFCLIBRARYINFORMATION",
Self::IfcLibraryReference => "IFCLIBRARYREFERENCE",
Self::IfcLightDistributionData => "IFCLIGHTDISTRIBUTIONDATA",
Self::IfcLightFixtureType => "IFCLIGHTFIXTURETYPE",
Self::IfcLightIntensityDistribution => "IFCLIGHTINTENSITYDISTRIBUTION",
Self::IfcLightSource => "IFCLIGHTSOURCE",
Self::IfcLightSourceAmbient => "IFCLIGHTSOURCEAMBIENT",
Self::IfcLightSourceDirectional => "IFCLIGHTSOURCEDIRECTIONAL",
Self::IfcLightSourceGoniometric => "IFCLIGHTSOURCEGONIOMETRIC",
Self::IfcLightSourcePositional => "IFCLIGHTSOURCEPOSITIONAL",
Self::IfcLightSourceSpot => "IFCLIGHTSOURCESPOT",
Self::IfcLine => "IFCLINE",
Self::IfcLinearDimension => "IFCLINEARDIMENSION",
Self::IfcLocalPlacement => "IFCLOCALPLACEMENT",
Self::IfcLocalTime => "IFCLOCALTIME",
Self::IfcLoop => "IFCLOOP",
Self::IfcManifoldSolidBrep => "IFCMANIFOLDSOLIDBREP",
Self::IfcMappedItem => "IFCMAPPEDITEM",
Self::IfcMaterial => "IFCMATERIAL",
Self::IfcMaterialClassificationRelationship => "IFCMATERIALCLASSIFICATIONRELATIONSHIP",
Self::IfcMaterialDefinitionRepresentation => "IFCMATERIALDEFINITIONREPRESENTATION",
Self::IfcMaterialLayer => "IFCMATERIALLAYER",
Self::IfcMaterialLayerSet => "IFCMATERIALLAYERSET",
Self::IfcMaterialLayerSetUsage => "IFCMATERIALLAYERSETUSAGE",
Self::IfcMaterialList => "IFCMATERIALLIST",
Self::IfcMaterialProperties => "IFCMATERIALPROPERTIES",
Self::IfcMeasureWithUnit => "IFCMEASUREWITHUNIT",
Self::IfcMechanicalConcreteMaterialProperties => "IFCMECHANICALCONCRETEMATERIALPROPERTIES",
Self::IfcMechanicalFastener => "IFCMECHANICALFASTENER",
Self::IfcMechanicalFastenerType => "IFCMECHANICALFASTENERTYPE",
Self::IfcMechanicalMaterialProperties => "IFCMECHANICALMATERIALPROPERTIES",
Self::IfcMechanicalSteelMaterialProperties => "IFCMECHANICALSTEELMATERIALPROPERTIES",
Self::IfcMember => "IFCMEMBER",
Self::IfcMemberType => "IFCMEMBERTYPE",
Self::IfcMetric => "IFCMETRIC",
Self::IfcMonetaryUnit => "IFCMONETARYUNIT",
Self::IfcMotorConnectionType => "IFCMOTORCONNECTIONTYPE",
Self::IfcMove => "IFCMOVE",
Self::IfcNamedUnit => "IFCNAMEDUNIT",
Self::IfcObject => "IFCOBJECT",
Self::IfcObjectDefinition => "IFCOBJECTDEFINITION",
Self::IfcObjectPlacement => "IFCOBJECTPLACEMENT",
Self::IfcObjective => "IFCOBJECTIVE",
Self::IfcOccupant => "IFCOCCUPANT",
Self::IfcOffsetCurve2D => "IFCOFFSETCURVE2D",
Self::IfcOffsetCurve3D => "IFCOFFSETCURVE3D",
Self::IfcOneDirectionRepeatFactor => "IFCONEDIRECTIONREPEATFACTOR",
Self::IfcOpenShell => "IFCOPENSHELL",
Self::IfcOpeningElement => "IFCOPENINGELEMENT",
Self::IfcOpticalMaterialProperties => "IFCOPTICALMATERIALPROPERTIES",
Self::IfcOrderAction => "IFCORDERACTION",
Self::IfcOrganization => "IFCORGANIZATION",
Self::IfcOrganizationRelationship => "IFCORGANIZATIONRELATIONSHIP",
Self::IfcOrientedEdge => "IFCORIENTEDEDGE",
Self::IfcOutletType => "IFCOUTLETTYPE",
Self::IfcOwnerHistory => "IFCOWNERHISTORY",
Self::IfcParameterizedProfileDef => "IFCPARAMETERIZEDPROFILEDEF",
Self::IfcPath => "IFCPATH",
Self::IfcPerformanceHistory => "IFCPERFORMANCEHISTORY",
Self::IfcPermeableCoveringProperties => "IFCPERMEABLECOVERINGPROPERTIES",
Self::IfcPermit => "IFCPERMIT",
Self::IfcPerson => "IFCPERSON",
Self::IfcPersonAndOrganization => "IFCPERSONANDORGANIZATION",
Self::IfcPhysicalComplexQuantity => "IFCPHYSICALCOMPLEXQUANTITY",
Self::IfcPhysicalQuantity => "IFCPHYSICALQUANTITY",
Self::IfcPhysicalSimpleQuantity => "IFCPHYSICALSIMPLEQUANTITY",
Self::IfcPile => "IFCPILE",
Self::IfcPipeFittingType => "IFCPIPEFITTINGTYPE",
Self::IfcPipeSegmentType => "IFCPIPESEGMENTTYPE",
Self::IfcPixelTexture => "IFCPIXELTEXTURE",
Self::IfcPlacement => "IFCPLACEMENT",
Self::IfcPlanarBox => "IFCPLANARBOX",
Self::IfcPlanarExtent => "IFCPLANAREXTENT",
Self::IfcPlane => "IFCPLANE",
Self::IfcPlate => "IFCPLATE",
Self::IfcPlateType => "IFCPLATETYPE",
Self::IfcPoint => "IFCPOINT",
Self::IfcPointOnCurve => "IFCPOINTONCURVE",
Self::IfcPointOnSurface => "IFCPOINTONSURFACE",
Self::IfcPolyLoop => "IFCPOLYLOOP",
Self::IfcPolygonalBoundedHalfSpace => "IFCPOLYGONALBOUNDEDHALFSPACE",
Self::IfcPolyline => "IFCPOLYLINE",
Self::IfcPort => "IFCPORT",
Self::IfcPostalAddress => "IFCPOSTALADDRESS",
Self::IfcPreDefinedColour => "IFCPREDEFINEDCOLOUR",
Self::IfcPreDefinedCurveFont => "IFCPREDEFINEDCURVEFONT",
Self::IfcPreDefinedDimensionSymbol => "IFCPREDEFINEDDIMENSIONSYMBOL",
Self::IfcPreDefinedItem => "IFCPREDEFINEDITEM",
Self::IfcPreDefinedPointMarkerSymbol => "IFCPREDEFINEDPOINTMARKERSYMBOL",
Self::IfcPreDefinedSymbol => "IFCPREDEFINEDSYMBOL",
Self::IfcPreDefinedTerminatorSymbol => "IFCPREDEFINEDTERMINATORSYMBOL",
Self::IfcPreDefinedTextFont => "IFCPREDEFINEDTEXTFONT",
Self::IfcPresentationLayerAssignment => "IFCPRESENTATIONLAYERASSIGNMENT",
Self::IfcPresentationLayerWithStyle => "IFCPRESENTATIONLAYERWITHSTYLE",
Self::IfcPresentationStyle => "IFCPRESENTATIONSTYLE",
Self::IfcPresentationStyleAssignment => "IFCPRESENTATIONSTYLEASSIGNMENT",
Self::IfcProcedure => "IFCPROCEDURE",
Self::IfcProcess => "IFCPROCESS",
Self::IfcProduct => "IFCPRODUCT",
Self::IfcProductDefinitionShape => "IFCPRODUCTDEFINITIONSHAPE",
Self::IfcProductRepresentation => "IFCPRODUCTREPRESENTATION",
Self::IfcProductsOfCombustionProperties => "IFCPRODUCTSOFCOMBUSTIONPROPERTIES",
Self::IfcProfileDef => "IFCPROFILEDEF",
Self::IfcProfileProperties => "IFCPROFILEPROPERTIES",
Self::IfcProject => "IFCPROJECT",
Self::IfcProjectOrder => "IFCPROJECTORDER",
Self::IfcProjectOrderRecord => "IFCPROJECTORDERRECORD",
Self::IfcProjectionCurve => "IFCPROJECTIONCURVE",
Self::IfcProjectionElement => "IFCPROJECTIONELEMENT",
Self::IfcProperty => "IFCPROPERTY",
Self::IfcPropertyBoundedValue => "IFCPROPERTYBOUNDEDVALUE",
Self::IfcPropertyConstraintRelationship => "IFCPROPERTYCONSTRAINTRELATIONSHIP",
Self::IfcPropertyDefinition => "IFCPROPERTYDEFINITION",
Self::IfcPropertyDependencyRelationship => "IFCPROPERTYDEPENDENCYRELATIONSHIP",
Self::IfcPropertyEnumeratedValue => "IFCPROPERTYENUMERATEDVALUE",
Self::IfcPropertyEnumeration => "IFCPROPERTYENUMERATION",
Self::IfcPropertyListValue => "IFCPROPERTYLISTVALUE",
Self::IfcPropertyReferenceValue => "IFCPROPERTYREFERENCEVALUE",
Self::IfcPropertySet => "IFCPROPERTYSET",
Self::IfcPropertySetDefinition => "IFCPROPERTYSETDEFINITION",
Self::IfcPropertySingleValue => "IFCPROPERTYSINGLEVALUE",
Self::IfcPropertyTableValue => "IFCPROPERTYTABLEVALUE",
Self::IfcProtectiveDeviceType => "IFCPROTECTIVEDEVICETYPE",
Self::IfcProxy => "IFCPROXY",
Self::IfcPumpType => "IFCPUMPTYPE",
Self::IfcQuantityArea => "IFCQUANTITYAREA",
Self::IfcQuantityCount => "IFCQUANTITYCOUNT",
Self::IfcQuantityLength => "IFCQUANTITYLENGTH",
Self::IfcQuantityTime => "IFCQUANTITYTIME",
Self::IfcQuantityVolume => "IFCQUANTITYVOLUME",
Self::IfcQuantityWeight => "IFCQUANTITYWEIGHT",
Self::IfcRadiusDimension => "IFCRADIUSDIMENSION",
Self::IfcRailing => "IFCRAILING",
Self::IfcRailingType => "IFCRAILINGTYPE",
Self::IfcRamp => "IFCRAMP",
Self::IfcRampFlight => "IFCRAMPFLIGHT",
Self::IfcRampFlightType => "IFCRAMPFLIGHTTYPE",
Self::IfcRationalBezierCurve => "IFCRATIONALBEZIERCURVE",
Self::IfcRectangleHollowProfileDef => "IFCRECTANGLEHOLLOWPROFILEDEF",
Self::IfcRectangleProfileDef => "IFCRECTANGLEPROFILEDEF",
Self::IfcRectangularPyramid => "IFCRECTANGULARPYRAMID",
Self::IfcRectangularTrimmedSurface => "IFCRECTANGULARTRIMMEDSURFACE",
Self::IfcReferencesValueDocument => "IFCREFERENCESVALUEDOCUMENT",
Self::IfcRegularTimeSeries => "IFCREGULARTIMESERIES",
Self::IfcReinforcementBarProperties => "IFCREINFORCEMENTBARPROPERTIES",
Self::IfcReinforcementDefinitionProperties => "IFCREINFORCEMENTDEFINITIONPROPERTIES",
Self::IfcReinforcingBar => "IFCREINFORCINGBAR",
Self::IfcReinforcingElement => "IFCREINFORCINGELEMENT",
Self::IfcReinforcingMesh => "IFCREINFORCINGMESH",
Self::IfcRelAggregates => "IFCRELAGGREGATES",
Self::IfcRelAssigns => "IFCRELASSIGNS",
Self::IfcRelAssignsTasks => "IFCRELASSIGNSTASKS",
Self::IfcRelAssignsToActor => "IFCRELASSIGNSTOACTOR",
Self::IfcRelAssignsToControl => "IFCRELASSIGNSTOCONTROL",
Self::IfcRelAssignsToGroup => "IFCRELASSIGNSTOGROUP",
Self::IfcRelAssignsToProcess => "IFCRELASSIGNSTOPROCESS",
Self::IfcRelAssignsToProduct => "IFCRELASSIGNSTOPRODUCT",
Self::IfcRelAssignsToProjectOrder => "IFCRELASSIGNSTOPROJECTORDER",
Self::IfcRelAssignsToResource => "IFCRELASSIGNSTORESOURCE",
Self::IfcRelAssociates => "IFCRELASSOCIATES",
Self::IfcRelAssociatesAppliedValue => "IFCRELASSOCIATESAPPLIEDVALUE",
Self::IfcRelAssociatesApproval => "IFCRELASSOCIATESAPPROVAL",
Self::IfcRelAssociatesClassification => "IFCRELASSOCIATESCLASSIFICATION",
Self::IfcRelAssociatesConstraint => "IFCRELASSOCIATESCONSTRAINT",
Self::IfcRelAssociatesDocument => "IFCRELASSOCIATESDOCUMENT",
Self::IfcRelAssociatesLibrary => "IFCRELASSOCIATESLIBRARY",
Self::IfcRelAssociatesMaterial => "IFCRELASSOCIATESMATERIAL",
Self::IfcRelAssociatesProfileProperties => "IFCRELASSOCIATESPROFILEPROPERTIES",
Self::IfcRelConnects => "IFCRELCONNECTS",
Self::IfcRelConnectsElements => "IFCRELCONNECTSELEMENTS",
Self::IfcRelConnectsPathElements => "IFCRELCONNECTSPATHELEMENTS",
Self::IfcRelConnectsPortToElement => "IFCRELCONNECTSPORTTOELEMENT",
Self::IfcRelConnectsPorts => "IFCRELCONNECTSPORTS",
Self::IfcRelConnectsStructuralActivity => "IFCRELCONNECTSSTRUCTURALACTIVITY",
Self::IfcRelConnectsStructuralElement => "IFCRELCONNECTSSTRUCTURALELEMENT",
Self::IfcRelConnectsStructuralMember => "IFCRELCONNECTSSTRUCTURALMEMBER",
Self::IfcRelConnectsWithEccentricity => "IFCRELCONNECTSWITHECCENTRICITY",
Self::IfcRelConnectsWithRealizingElements => "IFCRELCONNECTSWITHREALIZINGELEMENTS",
Self::IfcRelContainedInSpatialStructure => "IFCRELCONTAINEDINSPATIALSTRUCTURE",
Self::IfcRelCoversBldgElements => "IFCRELCOVERSBLDGELEMENTS",
Self::IfcRelCoversSpaces => "IFCRELCOVERSSPACES",
Self::IfcRelDecomposes => "IFCRELDECOMPOSES",
Self::IfcRelDefines => "IFCRELDEFINES",
Self::IfcRelDefinesByProperties => "IFCRELDEFINESBYPROPERTIES",
Self::IfcRelDefinesByType => "IFCRELDEFINESBYTYPE",
Self::IfcRelFillsElement => "IFCRELFILLSELEMENT",
Self::IfcRelFlowControlElements => "IFCRELFLOWCONTROLELEMENTS",
Self::IfcRelInteractionRequirements => "IFCRELINTERACTIONREQUIREMENTS",
Self::IfcRelNests => "IFCRELNESTS",
Self::IfcRelOccupiesSpaces => "IFCRELOCCUPIESSPACES",
Self::IfcRelOverridesProperties => "IFCRELOVERRIDESPROPERTIES",
Self::IfcRelProjectsElement => "IFCRELPROJECTSELEMENT",
Self::IfcRelReferencedInSpatialStructure => "IFCRELREFERENCEDINSPATIALSTRUCTURE",
Self::IfcRelSchedulesCostItems => "IFCRELSCHEDULESCOSTITEMS",
Self::IfcRelSequence => "IFCRELSEQUENCE",
Self::IfcRelServicesBuildings => "IFCRELSERVICESBUILDINGS",
Self::IfcRelSpaceBoundary => "IFCRELSPACEBOUNDARY",
Self::IfcRelVoidsElement => "IFCRELVOIDSELEMENT",
Self::IfcRelationship => "IFCRELATIONSHIP",
Self::IfcRelaxation => "IFCRELAXATION",
Self::IfcRepresentation => "IFCREPRESENTATION",
Self::IfcRepresentationContext => "IFCREPRESENTATIONCONTEXT",
Self::IfcRepresentationItem => "IFCREPRESENTATIONITEM",
Self::IfcRepresentationMap => "IFCREPRESENTATIONMAP",
Self::IfcResource => "IFCRESOURCE",
Self::IfcRevolvedAreaSolid => "IFCREVOLVEDAREASOLID",
Self::IfcRibPlateProfileProperties => "IFCRIBPLATEPROFILEPROPERTIES",
Self::IfcRightCircularCone => "IFCRIGHTCIRCULARCONE",
Self::IfcRightCircularCylinder => "IFCRIGHTCIRCULARCYLINDER",
Self::IfcRoof => "IFCROOF",
Self::IfcRoot => "IFCROOT",
Self::IfcRoundedEdgeFeature => "IFCROUNDEDEDGEFEATURE",
Self::IfcRoundedRectangleProfileDef => "IFCROUNDEDRECTANGLEPROFILEDEF",
Self::IfcSIUnit => "IFCSIUNIT",
Self::IfcSanitaryTerminalType => "IFCSANITARYTERMINALTYPE",
Self::IfcScheduleTimeControl => "IFCSCHEDULETIMECONTROL",
Self::IfcSectionProperties => "IFCSECTIONPROPERTIES",
Self::IfcSectionReinforcementProperties => "IFCSECTIONREINFORCEMENTPROPERTIES",
Self::IfcSectionedSpine => "IFCSECTIONEDSPINE",
Self::IfcSensorType => "IFCSENSORTYPE",
Self::IfcServiceLife => "IFCSERVICELIFE",
Self::IfcServiceLifeFactor => "IFCSERVICELIFEFACTOR",
Self::IfcShapeAspect => "IFCSHAPEASPECT",
Self::IfcShapeModel => "IFCSHAPEMODEL",
Self::IfcShapeRepresentation => "IFCSHAPEREPRESENTATION",
Self::IfcShellBasedSurfaceModel => "IFCSHELLBASEDSURFACEMODEL",
Self::IfcSimpleProperty => "IFCSIMPLEPROPERTY",
Self::IfcSite => "IFCSITE",
Self::IfcSlab => "IFCSLAB",
Self::IfcSlabType => "IFCSLABTYPE",
Self::IfcSlippageConnectionCondition => "IFCSLIPPAGECONNECTIONCONDITION",
Self::IfcSolidModel => "IFCSOLIDMODEL",
Self::IfcSoundProperties => "IFCSOUNDPROPERTIES",
Self::IfcSoundValue => "IFCSOUNDVALUE",
Self::IfcSpace => "IFCSPACE",
Self::IfcSpaceHeaterType => "IFCSPACEHEATERTYPE",
Self::IfcSpaceProgram => "IFCSPACEPROGRAM",
Self::IfcSpaceThermalLoadProperties => "IFCSPACETHERMALLOADPROPERTIES",
Self::IfcSpaceType => "IFCSPACETYPE",
Self::IfcSpatialStructureElement => "IFCSPATIALSTRUCTUREELEMENT",
Self::IfcSpatialStructureElementType => "IFCSPATIALSTRUCTUREELEMENTTYPE",
Self::IfcSphere => "IFCSPHERE",
Self::IfcStackTerminalType => "IFCSTACKTERMINALTYPE",
Self::IfcStair => "IFCSTAIR",
Self::IfcStairFlight => "IFCSTAIRFLIGHT",
Self::IfcStairFlightType => "IFCSTAIRFLIGHTTYPE",
Self::IfcStructuralAction => "IFCSTRUCTURALACTION",
Self::IfcStructuralActivity => "IFCSTRUCTURALACTIVITY",
Self::IfcStructuralAnalysisModel => "IFCSTRUCTURALANALYSISMODEL",
Self::IfcStructuralConnection => "IFCSTRUCTURALCONNECTION",
Self::IfcStructuralConnectionCondition => "IFCSTRUCTURALCONNECTIONCONDITION",
Self::IfcStructuralCurveConnection => "IFCSTRUCTURALCURVECONNECTION",
Self::IfcStructuralCurveMember => "IFCSTRUCTURALCURVEMEMBER",
Self::IfcStructuralCurveMemberVarying => "IFCSTRUCTURALCURVEMEMBERVARYING",
Self::IfcStructuralItem => "IFCSTRUCTURALITEM",
Self::IfcStructuralLinearAction => "IFCSTRUCTURALLINEARACTION",
Self::IfcStructuralLinearActionVarying => "IFCSTRUCTURALLINEARACTIONVARYING",
Self::IfcStructuralLoad => "IFCSTRUCTURALLOAD",
Self::IfcStructuralLoadGroup => "IFCSTRUCTURALLOADGROUP",
Self::IfcStructuralLoadLinearForce => "IFCSTRUCTURALLOADLINEARFORCE",
Self::IfcStructuralLoadPlanarForce => "IFCSTRUCTURALLOADPLANARFORCE",
Self::IfcStructuralLoadSingleDisplacement => "IFCSTRUCTURALLOADSINGLEDISPLACEMENT",
Self::IfcStructuralLoadSingleDisplacementDistortion => "IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION",
Self::IfcStructuralLoadSingleForce => "IFCSTRUCTURALLOADSINGLEFORCE",
Self::IfcStructuralLoadSingleForceWarping => "IFCSTRUCTURALLOADSINGLEFORCEWARPING",
Self::IfcStructuralLoadStatic => "IFCSTRUCTURALLOADSTATIC",
Self::IfcStructuralLoadTemperature => "IFCSTRUCTURALLOADTEMPERATURE",
Self::IfcStructuralMember => "IFCSTRUCTURALMEMBER",
Self::IfcStructuralPlanarAction => "IFCSTRUCTURALPLANARACTION",
Self::IfcStructuralPlanarActionVarying => "IFCSTRUCTURALPLANARACTIONVARYING",
Self::IfcStructuralPointAction => "IFCSTRUCTURALPOINTACTION",
Self::IfcStructuralPointConnection => "IFCSTRUCTURALPOINTCONNECTION",
Self::IfcStructuralPointReaction => "IFCSTRUCTURALPOINTREACTION",
Self::IfcStructuralProfileProperties => "IFCSTRUCTURALPROFILEPROPERTIES",
Self::IfcStructuralReaction => "IFCSTRUCTURALREACTION",
Self::IfcStructuralResultGroup => "IFCSTRUCTURALRESULTGROUP",
Self::IfcStructuralSteelProfileProperties => "IFCSTRUCTURALSTEELPROFILEPROPERTIES",
Self::IfcStructuralSurfaceConnection => "IFCSTRUCTURALSURFACECONNECTION",
Self::IfcStructuralSurfaceMember => "IFCSTRUCTURALSURFACEMEMBER",
Self::IfcStructuralSurfaceMemberVarying => "IFCSTRUCTURALSURFACEMEMBERVARYING",
Self::IfcStructuredDimensionCallout => "IFCSTRUCTUREDDIMENSIONCALLOUT",
Self::IfcStyleModel => "IFCSTYLEMODEL",
Self::IfcStyledItem => "IFCSTYLEDITEM",
Self::IfcStyledRepresentation => "IFCSTYLEDREPRESENTATION",
Self::IfcSubContractResource => "IFCSUBCONTRACTRESOURCE",
Self::IfcSubedge => "IFCSUBEDGE",
Self::IfcSurface => "IFCSURFACE",
Self::IfcSurfaceCurveSweptAreaSolid => "IFCSURFACECURVESWEPTAREASOLID",
Self::IfcSurfaceOfLinearExtrusion => "IFCSURFACEOFLINEAREXTRUSION",
Self::IfcSurfaceOfRevolution => "IFCSURFACEOFREVOLUTION",
Self::IfcSurfaceStyle => "IFCSURFACESTYLE",
Self::IfcSurfaceStyleLighting => "IFCSURFACESTYLELIGHTING",
Self::IfcSurfaceStyleRefraction => "IFCSURFACESTYLEREFRACTION",
Self::IfcSurfaceStyleRendering => "IFCSURFACESTYLERENDERING",
Self::IfcSurfaceStyleShading => "IFCSURFACESTYLESHADING",
Self::IfcSurfaceStyleWithTextures => "IFCSURFACESTYLEWITHTEXTURES",
Self::IfcSurfaceTexture => "IFCSURFACETEXTURE",
Self::IfcSweptAreaSolid => "IFCSWEPTAREASOLID",
Self::IfcSweptDiskSolid => "IFCSWEPTDISKSOLID",
Self::IfcSweptSurface => "IFCSWEPTSURFACE",
Self::IfcSwitchingDeviceType => "IFCSWITCHINGDEVICETYPE",
Self::IfcSymbolStyle => "IFCSYMBOLSTYLE",
Self::IfcSystem => "IFCSYSTEM",
Self::IfcSystemFurnitureElementType => "IFCSYSTEMFURNITUREELEMENTTYPE",
Self::IfcTShapeProfileDef => "IFCTSHAPEPROFILEDEF",
Self::IfcTable => "IFCTABLE",
Self::IfcTableRow => "IFCTABLEROW",
Self::IfcTankType => "IFCTANKTYPE",
Self::IfcTask => "IFCTASK",
Self::IfcTelecomAddress => "IFCTELECOMADDRESS",
Self::IfcTendon => "IFCTENDON",
Self::IfcTendonAnchor => "IFCTENDONANCHOR",
Self::IfcTerminatorSymbol => "IFCTERMINATORSYMBOL",
Self::IfcTextLiteral => "IFCTEXTLITERAL",
Self::IfcTextLiteralWithExtent => "IFCTEXTLITERALWITHEXTENT",
Self::IfcTextStyle => "IFCTEXTSTYLE",
Self::IfcTextStyleFontModel => "IFCTEXTSTYLEFONTMODEL",
Self::IfcTextStyleForDefinedFont => "IFCTEXTSTYLEFORDEFINEDFONT",
Self::IfcTextStyleTextModel => "IFCTEXTSTYLETEXTMODEL",
Self::IfcTextStyleWithBoxCharacteristics => "IFCTEXTSTYLEWITHBOXCHARACTERISTICS",
Self::IfcTextureCoordinate => "IFCTEXTURECOORDINATE",
Self::IfcTextureCoordinateGenerator => "IFCTEXTURECOORDINATEGENERATOR",
Self::IfcTextureMap => "IFCTEXTUREMAP",
Self::IfcTextureVertex => "IFCTEXTUREVERTEX",
Self::IfcThermalMaterialProperties => "IFCTHERMALMATERIALPROPERTIES",
Self::IfcTimeSeries => "IFCTIMESERIES",
Self::IfcTimeSeriesReferenceRelationship => "IFCTIMESERIESREFERENCERELATIONSHIP",
Self::IfcTimeSeriesSchedule => "IFCTIMESERIESSCHEDULE",
Self::IfcTimeSeriesValue => "IFCTIMESERIESVALUE",
Self::IfcTopologicalRepresentationItem => "IFCTOPOLOGICALREPRESENTATIONITEM",
Self::IfcTopologyRepresentation => "IFCTOPOLOGYREPRESENTATION",
Self::IfcTransformerType => "IFCTRANSFORMERTYPE",
Self::IfcTransportElement => "IFCTRANSPORTELEMENT",
Self::IfcTransportElementType => "IFCTRANSPORTELEMENTTYPE",
Self::IfcTrapeziumProfileDef => "IFCTRAPEZIUMPROFILEDEF",
Self::IfcTrimmedCurve => "IFCTRIMMEDCURVE",
Self::IfcTubeBundleType => "IFCTUBEBUNDLETYPE",
Self::IfcTwoDirectionRepeatFactor => "IFCTWODIRECTIONREPEATFACTOR",
Self::IfcTypeObject => "IFCTYPEOBJECT",
Self::IfcTypeProduct => "IFCTYPEPRODUCT",
Self::IfcUShapeProfileDef => "IFCUSHAPEPROFILEDEF",
Self::IfcUnitAssignment => "IFCUNITASSIGNMENT",
Self::IfcUnitaryEquipmentType => "IFCUNITARYEQUIPMENTTYPE",
Self::IfcValveType => "IFCVALVETYPE",
Self::IfcVector => "IFCVECTOR",
Self::IfcVertex => "IFCVERTEX",
Self::IfcVertexBasedTextureMap => "IFCVERTEXBASEDTEXTUREMAP",
Self::IfcVertexLoop => "IFCVERTEXLOOP",
Self::IfcVertexPoint => "IFCVERTEXPOINT",
Self::IfcVibrationIsolatorType => "IFCVIBRATIONISOLATORTYPE",
Self::IfcVirtualElement => "IFCVIRTUALELEMENT",
Self::IfcVirtualGridIntersection => "IFCVIRTUALGRIDINTERSECTION",
Self::IfcWall => "IFCWALL",
Self::IfcWallStandardCase => "IFCWALLSTANDARDCASE",
Self::IfcWallType => "IFCWALLTYPE",
Self::IfcWasteTerminalType => "IFCWASTETERMINALTYPE",
Self::IfcWaterProperties => "IFCWATERPROPERTIES",
Self::IfcWindow => "IFCWINDOW",
Self::IfcWindowLiningProperties => "IFCWINDOWLININGPROPERTIES",
Self::IfcWindowPanelProperties => "IFCWINDOWPANELPROPERTIES",
Self::IfcWindowStyle => "IFCWINDOWSTYLE",
Self::IfcWorkControl => "IFCWORKCONTROL",
Self::IfcWorkPlan => "IFCWORKPLAN",
Self::IfcWorkSchedule => "IFCWORKSCHEDULE",
Self::IfcZShapeProfileDef => "IFCZSHAPEPROFILEDEF",
Self::IfcZone => "IFCZONE",
Self::Unknown(unknown) => unknown.as_str(),
}
}
/// Static schema keyword for a known type, or None for an owned unknown.
pub fn known_as_str(&self) -> Option<&'static str> {
match self {
Self::Ifc2DCompositeCurve => Some("IFC2DCOMPOSITECURVE"),
Self::IfcActionRequest => Some("IFCACTIONREQUEST"),
Self::IfcActor => Some("IFCACTOR"),
Self::IfcActorRole => Some("IFCACTORROLE"),
Self::IfcActuatorType => Some("IFCACTUATORTYPE"),
Self::IfcAddress => Some("IFCADDRESS"),
Self::IfcAirTerminalBoxType => Some("IFCAIRTERMINALBOXTYPE"),
Self::IfcAirTerminalType => Some("IFCAIRTERMINALTYPE"),
Self::IfcAirToAirHeatRecoveryType => Some("IFCAIRTOAIRHEATRECOVERYTYPE"),
Self::IfcAlarmType => Some("IFCALARMTYPE"),
Self::IfcAngularDimension => Some("IFCANGULARDIMENSION"),
Self::IfcAnnotation => Some("IFCANNOTATION"),
Self::IfcAnnotationCurveOccurrence => Some("IFCANNOTATIONCURVEOCCURRENCE"),
Self::IfcAnnotationFillArea => Some("IFCANNOTATIONFILLAREA"),
Self::IfcAnnotationFillAreaOccurrence => Some("IFCANNOTATIONFILLAREAOCCURRENCE"),
Self::IfcAnnotationOccurrence => Some("IFCANNOTATIONOCCURRENCE"),
Self::IfcAnnotationSurface => Some("IFCANNOTATIONSURFACE"),
Self::IfcAnnotationSurfaceOccurrence => Some("IFCANNOTATIONSURFACEOCCURRENCE"),
Self::IfcAnnotationSymbolOccurrence => Some("IFCANNOTATIONSYMBOLOCCURRENCE"),
Self::IfcAnnotationTextOccurrence => Some("IFCANNOTATIONTEXTOCCURRENCE"),
Self::IfcApplication => Some("IFCAPPLICATION"),
Self::IfcAppliedValue => Some("IFCAPPLIEDVALUE"),
Self::IfcAppliedValueRelationship => Some("IFCAPPLIEDVALUERELATIONSHIP"),
Self::IfcApproval => Some("IFCAPPROVAL"),
Self::IfcApprovalActorRelationship => Some("IFCAPPROVALACTORRELATIONSHIP"),
Self::IfcApprovalPropertyRelationship => Some("IFCAPPROVALPROPERTYRELATIONSHIP"),
Self::IfcApprovalRelationship => Some("IFCAPPROVALRELATIONSHIP"),
Self::IfcArbitraryClosedProfileDef => Some("IFCARBITRARYCLOSEDPROFILEDEF"),
Self::IfcArbitraryOpenProfileDef => Some("IFCARBITRARYOPENPROFILEDEF"),
Self::IfcArbitraryProfileDefWithVoids => Some("IFCARBITRARYPROFILEDEFWITHVOIDS"),
Self::IfcAsset => Some("IFCASSET"),
Self::IfcAsymmetricIShapeProfileDef => Some("IFCASYMMETRICISHAPEPROFILEDEF"),
Self::IfcAxis1Placement => Some("IFCAXIS1PLACEMENT"),
Self::IfcAxis2Placement2D => Some("IFCAXIS2PLACEMENT2D"),
Self::IfcAxis2Placement3D => Some("IFCAXIS2PLACEMENT3D"),
Self::IfcBSplineCurve => Some("IFCBSPLINECURVE"),
Self::IfcBeam => Some("IFCBEAM"),
Self::IfcBeamType => Some("IFCBEAMTYPE"),
Self::IfcBezierCurve => Some("IFCBEZIERCURVE"),
Self::IfcBlobTexture => Some("IFCBLOBTEXTURE"),
Self::IfcBlock => Some("IFCBLOCK"),
Self::IfcBoilerType => Some("IFCBOILERTYPE"),
Self::IfcBooleanClippingResult => Some("IFCBOOLEANCLIPPINGRESULT"),
Self::IfcBooleanResult => Some("IFCBOOLEANRESULT"),
Self::IfcBoundaryCondition => Some("IFCBOUNDARYCONDITION"),
Self::IfcBoundaryEdgeCondition => Some("IFCBOUNDARYEDGECONDITION"),
Self::IfcBoundaryFaceCondition => Some("IFCBOUNDARYFACECONDITION"),
Self::IfcBoundaryNodeCondition => Some("IFCBOUNDARYNODECONDITION"),
Self::IfcBoundaryNodeConditionWarping => Some("IFCBOUNDARYNODECONDITIONWARPING"),
Self::IfcBoundedCurve => Some("IFCBOUNDEDCURVE"),
Self::IfcBoundedSurface => Some("IFCBOUNDEDSURFACE"),
Self::IfcBoundingBox => Some("IFCBOUNDINGBOX"),
Self::IfcBoxedHalfSpace => Some("IFCBOXEDHALFSPACE"),
Self::IfcBuilding => Some("IFCBUILDING"),
Self::IfcBuildingElement => Some("IFCBUILDINGELEMENT"),
Self::IfcBuildingElementComponent => Some("IFCBUILDINGELEMENTCOMPONENT"),
Self::IfcBuildingElementPart => Some("IFCBUILDINGELEMENTPART"),
Self::IfcBuildingElementProxy => Some("IFCBUILDINGELEMENTPROXY"),
Self::IfcBuildingElementProxyType => Some("IFCBUILDINGELEMENTPROXYTYPE"),
Self::IfcBuildingElementType => Some("IFCBUILDINGELEMENTTYPE"),
Self::IfcBuildingStorey => Some("IFCBUILDINGSTOREY"),
Self::IfcCShapeProfileDef => Some("IFCCSHAPEPROFILEDEF"),
Self::IfcCableCarrierFittingType => Some("IFCCABLECARRIERFITTINGTYPE"),
Self::IfcCableCarrierSegmentType => Some("IFCCABLECARRIERSEGMENTTYPE"),
Self::IfcCableSegmentType => Some("IFCCABLESEGMENTTYPE"),
Self::IfcCalendarDate => Some("IFCCALENDARDATE"),
Self::IfcCartesianPoint => Some("IFCCARTESIANPOINT"),
Self::IfcCartesianTransformationOperator => Some("IFCCARTESIANTRANSFORMATIONOPERATOR"),
Self::IfcCartesianTransformationOperator2D => Some("IFCCARTESIANTRANSFORMATIONOPERATOR2D"),
Self::IfcCartesianTransformationOperator2DnonUniform => Some("IFCCARTESIANTRANSFORMATIONOPERATOR2DNONUNIFORM"),
Self::IfcCartesianTransformationOperator3D => Some("IFCCARTESIANTRANSFORMATIONOPERATOR3D"),
Self::IfcCartesianTransformationOperator3DnonUniform => Some("IFCCARTESIANTRANSFORMATIONOPERATOR3DNONUNIFORM"),
Self::IfcCenterLineProfileDef => Some("IFCCENTERLINEPROFILEDEF"),
Self::IfcChamferEdgeFeature => Some("IFCCHAMFEREDGEFEATURE"),
Self::IfcChillerType => Some("IFCCHILLERTYPE"),
Self::IfcCircle => Some("IFCCIRCLE"),
Self::IfcCircleHollowProfileDef => Some("IFCCIRCLEHOLLOWPROFILEDEF"),
Self::IfcCircleProfileDef => Some("IFCCIRCLEPROFILEDEF"),
Self::IfcClassification => Some("IFCCLASSIFICATION"),
Self::IfcClassificationItem => Some("IFCCLASSIFICATIONITEM"),
Self::IfcClassificationItemRelationship => Some("IFCCLASSIFICATIONITEMRELATIONSHIP"),
Self::IfcClassificationNotation => Some("IFCCLASSIFICATIONNOTATION"),
Self::IfcClassificationNotationFacet => Some("IFCCLASSIFICATIONNOTATIONFACET"),
Self::IfcClassificationReference => Some("IFCCLASSIFICATIONREFERENCE"),
Self::IfcClosedShell => Some("IFCCLOSEDSHELL"),
Self::IfcCoilType => Some("IFCCOILTYPE"),
Self::IfcColourRgb => Some("IFCCOLOURRGB"),
Self::IfcColourSpecification => Some("IFCCOLOURSPECIFICATION"),
Self::IfcColumn => Some("IFCCOLUMN"),
Self::IfcColumnType => Some("IFCCOLUMNTYPE"),
Self::IfcComplexProperty => Some("IFCCOMPLEXPROPERTY"),
Self::IfcCompositeCurve => Some("IFCCOMPOSITECURVE"),
Self::IfcCompositeCurveSegment => Some("IFCCOMPOSITECURVESEGMENT"),
Self::IfcCompositeProfileDef => Some("IFCCOMPOSITEPROFILEDEF"),
Self::IfcCompressorType => Some("IFCCOMPRESSORTYPE"),
Self::IfcCondenserType => Some("IFCCONDENSERTYPE"),
Self::IfcCondition => Some("IFCCONDITION"),
Self::IfcConditionCriterion => Some("IFCCONDITIONCRITERION"),
Self::IfcConic => Some("IFCCONIC"),
Self::IfcConnectedFaceSet => Some("IFCCONNECTEDFACESET"),
Self::IfcConnectionCurveGeometry => Some("IFCCONNECTIONCURVEGEOMETRY"),
Self::IfcConnectionGeometry => Some("IFCCONNECTIONGEOMETRY"),
Self::IfcConnectionPointEccentricity => Some("IFCCONNECTIONPOINTECCENTRICITY"),
Self::IfcConnectionPointGeometry => Some("IFCCONNECTIONPOINTGEOMETRY"),
Self::IfcConnectionPortGeometry => Some("IFCCONNECTIONPORTGEOMETRY"),
Self::IfcConnectionSurfaceGeometry => Some("IFCCONNECTIONSURFACEGEOMETRY"),
Self::IfcConstraint => Some("IFCCONSTRAINT"),
Self::IfcConstraintAggregationRelationship => Some("IFCCONSTRAINTAGGREGATIONRELATIONSHIP"),
Self::IfcConstraintClassificationRelationship => Some("IFCCONSTRAINTCLASSIFICATIONRELATIONSHIP"),
Self::IfcConstraintRelationship => Some("IFCCONSTRAINTRELATIONSHIP"),
Self::IfcConstructionEquipmentResource => Some("IFCCONSTRUCTIONEQUIPMENTRESOURCE"),
Self::IfcConstructionMaterialResource => Some("IFCCONSTRUCTIONMATERIALRESOURCE"),
Self::IfcConstructionProductResource => Some("IFCCONSTRUCTIONPRODUCTRESOURCE"),
Self::IfcConstructionResource => Some("IFCCONSTRUCTIONRESOURCE"),
Self::IfcContextDependentUnit => Some("IFCCONTEXTDEPENDENTUNIT"),
Self::IfcControl => Some("IFCCONTROL"),
Self::IfcControllerType => Some("IFCCONTROLLERTYPE"),
Self::IfcConversionBasedUnit => Some("IFCCONVERSIONBASEDUNIT"),
Self::IfcCooledBeamType => Some("IFCCOOLEDBEAMTYPE"),
Self::IfcCoolingTowerType => Some("IFCCOOLINGTOWERTYPE"),
Self::IfcCoordinatedUniversalTimeOffset => Some("IFCCOORDINATEDUNIVERSALTIMEOFFSET"),
Self::IfcCostItem => Some("IFCCOSTITEM"),
Self::IfcCostSchedule => Some("IFCCOSTSCHEDULE"),
Self::IfcCostValue => Some("IFCCOSTVALUE"),
Self::IfcCovering => Some("IFCCOVERING"),
Self::IfcCoveringType => Some("IFCCOVERINGTYPE"),
Self::IfcCraneRailAShapeProfileDef => Some("IFCCRANERAILASHAPEPROFILEDEF"),
Self::IfcCraneRailFShapeProfileDef => Some("IFCCRANERAILFSHAPEPROFILEDEF"),
Self::IfcCrewResource => Some("IFCCREWRESOURCE"),
Self::IfcCsgPrimitive3D => Some("IFCCSGPRIMITIVE3D"),
Self::IfcCsgSolid => Some("IFCCSGSOLID"),
Self::IfcCurrencyRelationship => Some("IFCCURRENCYRELATIONSHIP"),
Self::IfcCurtainWall => Some("IFCCURTAINWALL"),
Self::IfcCurtainWallType => Some("IFCCURTAINWALLTYPE"),
Self::IfcCurve => Some("IFCCURVE"),
Self::IfcCurveBoundedPlane => Some("IFCCURVEBOUNDEDPLANE"),
Self::IfcCurveStyle => Some("IFCCURVESTYLE"),
Self::IfcCurveStyleFont => Some("IFCCURVESTYLEFONT"),
Self::IfcCurveStyleFontAndScaling => Some("IFCCURVESTYLEFONTANDSCALING"),
Self::IfcCurveStyleFontPattern => Some("IFCCURVESTYLEFONTPATTERN"),
Self::IfcDamperType => Some("IFCDAMPERTYPE"),
Self::IfcDateAndTime => Some("IFCDATEANDTIME"),
Self::IfcDefinedSymbol => Some("IFCDEFINEDSYMBOL"),
Self::IfcDerivedProfileDef => Some("IFCDERIVEDPROFILEDEF"),
Self::IfcDerivedUnit => Some("IFCDERIVEDUNIT"),
Self::IfcDerivedUnitElement => Some("IFCDERIVEDUNITELEMENT"),
Self::IfcDiameterDimension => Some("IFCDIAMETERDIMENSION"),
Self::IfcDimensionCalloutRelationship => Some("IFCDIMENSIONCALLOUTRELATIONSHIP"),
Self::IfcDimensionCurve => Some("IFCDIMENSIONCURVE"),
Self::IfcDimensionCurveDirectedCallout => Some("IFCDIMENSIONCURVEDIRECTEDCALLOUT"),
Self::IfcDimensionCurveTerminator => Some("IFCDIMENSIONCURVETERMINATOR"),
Self::IfcDimensionPair => Some("IFCDIMENSIONPAIR"),
Self::IfcDimensionalExponents => Some("IFCDIMENSIONALEXPONENTS"),
Self::IfcDirection => Some("IFCDIRECTION"),
Self::IfcDiscreteAccessory => Some("IFCDISCRETEACCESSORY"),
Self::IfcDiscreteAccessoryType => Some("IFCDISCRETEACCESSORYTYPE"),
Self::IfcDistributionChamberElement => Some("IFCDISTRIBUTIONCHAMBERELEMENT"),
Self::IfcDistributionChamberElementType => Some("IFCDISTRIBUTIONCHAMBERELEMENTTYPE"),
Self::IfcDistributionControlElement => Some("IFCDISTRIBUTIONCONTROLELEMENT"),
Self::IfcDistributionControlElementType => Some("IFCDISTRIBUTIONCONTROLELEMENTTYPE"),
Self::IfcDistributionElement => Some("IFCDISTRIBUTIONELEMENT"),
Self::IfcDistributionElementType => Some("IFCDISTRIBUTIONELEMENTTYPE"),
Self::IfcDistributionFlowElement => Some("IFCDISTRIBUTIONFLOWELEMENT"),
Self::IfcDistributionFlowElementType => Some("IFCDISTRIBUTIONFLOWELEMENTTYPE"),
Self::IfcDistributionPort => Some("IFCDISTRIBUTIONPORT"),
Self::IfcDocumentElectronicFormat => Some("IFCDOCUMENTELECTRONICFORMAT"),
Self::IfcDocumentInformation => Some("IFCDOCUMENTINFORMATION"),
Self::IfcDocumentInformationRelationship => Some("IFCDOCUMENTINFORMATIONRELATIONSHIP"),
Self::IfcDocumentReference => Some("IFCDOCUMENTREFERENCE"),
Self::IfcDoor => Some("IFCDOOR"),
Self::IfcDoorLiningProperties => Some("IFCDOORLININGPROPERTIES"),
Self::IfcDoorPanelProperties => Some("IFCDOORPANELPROPERTIES"),
Self::IfcDoorStyle => Some("IFCDOORSTYLE"),
Self::IfcDraughtingCallout => Some("IFCDRAUGHTINGCALLOUT"),
Self::IfcDraughtingCalloutRelationship => Some("IFCDRAUGHTINGCALLOUTRELATIONSHIP"),
Self::IfcDraughtingPreDefinedColour => Some("IFCDRAUGHTINGPREDEFINEDCOLOUR"),
Self::IfcDraughtingPreDefinedCurveFont => Some("IFCDRAUGHTINGPREDEFINEDCURVEFONT"),
Self::IfcDraughtingPreDefinedTextFont => Some("IFCDRAUGHTINGPREDEFINEDTEXTFONT"),
Self::IfcDuctFittingType => Some("IFCDUCTFITTINGTYPE"),
Self::IfcDuctSegmentType => Some("IFCDUCTSEGMENTTYPE"),
Self::IfcDuctSilencerType => Some("IFCDUCTSILENCERTYPE"),
Self::IfcEdge => Some("IFCEDGE"),
Self::IfcEdgeCurve => Some("IFCEDGECURVE"),
Self::IfcEdgeFeature => Some("IFCEDGEFEATURE"),
Self::IfcEdgeLoop => Some("IFCEDGELOOP"),
Self::IfcElectricApplianceType => Some("IFCELECTRICAPPLIANCETYPE"),
Self::IfcElectricDistributionPoint => Some("IFCELECTRICDISTRIBUTIONPOINT"),
Self::IfcElectricFlowStorageDeviceType => Some("IFCELECTRICFLOWSTORAGEDEVICETYPE"),
Self::IfcElectricGeneratorType => Some("IFCELECTRICGENERATORTYPE"),
Self::IfcElectricHeaterType => Some("IFCELECTRICHEATERTYPE"),
Self::IfcElectricMotorType => Some("IFCELECTRICMOTORTYPE"),
Self::IfcElectricTimeControlType => Some("IFCELECTRICTIMECONTROLTYPE"),
Self::IfcElectricalBaseProperties => Some("IFCELECTRICALBASEPROPERTIES"),
Self::IfcElectricalCircuit => Some("IFCELECTRICALCIRCUIT"),
Self::IfcElectricalElement => Some("IFCELECTRICALELEMENT"),
Self::IfcElement => Some("IFCELEMENT"),
Self::IfcElementAssembly => Some("IFCELEMENTASSEMBLY"),
Self::IfcElementComponent => Some("IFCELEMENTCOMPONENT"),
Self::IfcElementComponentType => Some("IFCELEMENTCOMPONENTTYPE"),
Self::IfcElementQuantity => Some("IFCELEMENTQUANTITY"),
Self::IfcElementType => Some("IFCELEMENTTYPE"),
Self::IfcElementarySurface => Some("IFCELEMENTARYSURFACE"),
Self::IfcEllipse => Some("IFCELLIPSE"),
Self::IfcEllipseProfileDef => Some("IFCELLIPSEPROFILEDEF"),
Self::IfcEnergyConversionDevice => Some("IFCENERGYCONVERSIONDEVICE"),
Self::IfcEnergyConversionDeviceType => Some("IFCENERGYCONVERSIONDEVICETYPE"),
Self::IfcEnergyProperties => Some("IFCENERGYPROPERTIES"),
Self::IfcEnvironmentalImpactValue => Some("IFCENVIRONMENTALIMPACTVALUE"),
Self::IfcEquipmentElement => Some("IFCEQUIPMENTELEMENT"),
Self::IfcEquipmentStandard => Some("IFCEQUIPMENTSTANDARD"),
Self::IfcEvaporativeCoolerType => Some("IFCEVAPORATIVECOOLERTYPE"),
Self::IfcEvaporatorType => Some("IFCEVAPORATORTYPE"),
Self::IfcExtendedMaterialProperties => Some("IFCEXTENDEDMATERIALPROPERTIES"),
Self::IfcExternalReference => Some("IFCEXTERNALREFERENCE"),
Self::IfcExternallyDefinedHatchStyle => Some("IFCEXTERNALLYDEFINEDHATCHSTYLE"),
Self::IfcExternallyDefinedSurfaceStyle => Some("IFCEXTERNALLYDEFINEDSURFACESTYLE"),
Self::IfcExternallyDefinedSymbol => Some("IFCEXTERNALLYDEFINEDSYMBOL"),
Self::IfcExternallyDefinedTextFont => Some("IFCEXTERNALLYDEFINEDTEXTFONT"),
Self::IfcExtrudedAreaSolid => Some("IFCEXTRUDEDAREASOLID"),
Self::IfcFace => Some("IFCFACE"),
Self::IfcFaceBasedSurfaceModel => Some("IFCFACEBASEDSURFACEMODEL"),
Self::IfcFaceBound => Some("IFCFACEBOUND"),
Self::IfcFaceOuterBound => Some("IFCFACEOUTERBOUND"),
Self::IfcFaceSurface => Some("IFCFACESURFACE"),
Self::IfcFacetedBrep => Some("IFCFACETEDBREP"),
Self::IfcFacetedBrepWithVoids => Some("IFCFACETEDBREPWITHVOIDS"),
Self::IfcFailureConnectionCondition => Some("IFCFAILURECONNECTIONCONDITION"),
Self::IfcFanType => Some("IFCFANTYPE"),
Self::IfcFastener => Some("IFCFASTENER"),
Self::IfcFastenerType => Some("IFCFASTENERTYPE"),
Self::IfcFeatureElement => Some("IFCFEATUREELEMENT"),
Self::IfcFeatureElementAddition => Some("IFCFEATUREELEMENTADDITION"),
Self::IfcFeatureElementSubtraction => Some("IFCFEATUREELEMENTSUBTRACTION"),
Self::IfcFillAreaStyle => Some("IFCFILLAREASTYLE"),
Self::IfcFillAreaStyleHatching => Some("IFCFILLAREASTYLEHATCHING"),
Self::IfcFillAreaStyleTileSymbolWithStyle => Some("IFCFILLAREASTYLETILESYMBOLWITHSTYLE"),
Self::IfcFillAreaStyleTiles => Some("IFCFILLAREASTYLETILES"),
Self::IfcFilterType => Some("IFCFILTERTYPE"),
Self::IfcFireSuppressionTerminalType => Some("IFCFIRESUPPRESSIONTERMINALTYPE"),
Self::IfcFlowController => Some("IFCFLOWCONTROLLER"),
Self::IfcFlowControllerType => Some("IFCFLOWCONTROLLERTYPE"),
Self::IfcFlowFitting => Some("IFCFLOWFITTING"),
Self::IfcFlowFittingType => Some("IFCFLOWFITTINGTYPE"),
Self::IfcFlowInstrumentType => Some("IFCFLOWINSTRUMENTTYPE"),
Self::IfcFlowMeterType => Some("IFCFLOWMETERTYPE"),
Self::IfcFlowMovingDevice => Some("IFCFLOWMOVINGDEVICE"),
Self::IfcFlowMovingDeviceType => Some("IFCFLOWMOVINGDEVICETYPE"),
Self::IfcFlowSegment => Some("IFCFLOWSEGMENT"),
Self::IfcFlowSegmentType => Some("IFCFLOWSEGMENTTYPE"),
Self::IfcFlowStorageDevice => Some("IFCFLOWSTORAGEDEVICE"),
Self::IfcFlowStorageDeviceType => Some("IFCFLOWSTORAGEDEVICETYPE"),
Self::IfcFlowTerminal => Some("IFCFLOWTERMINAL"),
Self::IfcFlowTerminalType => Some("IFCFLOWTERMINALTYPE"),
Self::IfcFlowTreatmentDevice => Some("IFCFLOWTREATMENTDEVICE"),
Self::IfcFlowTreatmentDeviceType => Some("IFCFLOWTREATMENTDEVICETYPE"),
Self::IfcFluidFlowProperties => Some("IFCFLUIDFLOWPROPERTIES"),
Self::IfcFooting => Some("IFCFOOTING"),
Self::IfcFuelProperties => Some("IFCFUELPROPERTIES"),
Self::IfcFurnishingElement => Some("IFCFURNISHINGELEMENT"),
Self::IfcFurnishingElementType => Some("IFCFURNISHINGELEMENTTYPE"),
Self::IfcFurnitureStandard => Some("IFCFURNITURESTANDARD"),
Self::IfcFurnitureType => Some("IFCFURNITURETYPE"),
Self::IfcGasTerminalType => Some("IFCGASTERMINALTYPE"),
Self::IfcGeneralMaterialProperties => Some("IFCGENERALMATERIALPROPERTIES"),
Self::IfcGeneralProfileProperties => Some("IFCGENERALPROFILEPROPERTIES"),
Self::IfcGeometricCurveSet => Some("IFCGEOMETRICCURVESET"),
Self::IfcGeometricRepresentationContext => Some("IFCGEOMETRICREPRESENTATIONCONTEXT"),
Self::IfcGeometricRepresentationItem => Some("IFCGEOMETRICREPRESENTATIONITEM"),
Self::IfcGeometricRepresentationSubContext => Some("IFCGEOMETRICREPRESENTATIONSUBCONTEXT"),
Self::IfcGeometricSet => Some("IFCGEOMETRICSET"),
Self::IfcGrid => Some("IFCGRID"),
Self::IfcGridAxis => Some("IFCGRIDAXIS"),
Self::IfcGridPlacement => Some("IFCGRIDPLACEMENT"),
Self::IfcGroup => Some("IFCGROUP"),
Self::IfcHalfSpaceSolid => Some("IFCHALFSPACESOLID"),
Self::IfcHeatExchangerType => Some("IFCHEATEXCHANGERTYPE"),
Self::IfcHumidifierType => Some("IFCHUMIDIFIERTYPE"),
Self::IfcHygroscopicMaterialProperties => Some("IFCHYGROSCOPICMATERIALPROPERTIES"),
Self::IfcIShapeProfileDef => Some("IFCISHAPEPROFILEDEF"),
Self::IfcImageTexture => Some("IFCIMAGETEXTURE"),
Self::IfcInventory => Some("IFCINVENTORY"),
Self::IfcIrregularTimeSeries => Some("IFCIRREGULARTIMESERIES"),
Self::IfcIrregularTimeSeriesValue => Some("IFCIRREGULARTIMESERIESVALUE"),
Self::IfcJunctionBoxType => Some("IFCJUNCTIONBOXTYPE"),
Self::IfcLShapeProfileDef => Some("IFCLSHAPEPROFILEDEF"),
Self::IfcLaborResource => Some("IFCLABORRESOURCE"),
Self::IfcLampType => Some("IFCLAMPTYPE"),
Self::IfcLibraryInformation => Some("IFCLIBRARYINFORMATION"),
Self::IfcLibraryReference => Some("IFCLIBRARYREFERENCE"),
Self::IfcLightDistributionData => Some("IFCLIGHTDISTRIBUTIONDATA"),
Self::IfcLightFixtureType => Some("IFCLIGHTFIXTURETYPE"),
Self::IfcLightIntensityDistribution => Some("IFCLIGHTINTENSITYDISTRIBUTION"),
Self::IfcLightSource => Some("IFCLIGHTSOURCE"),
Self::IfcLightSourceAmbient => Some("IFCLIGHTSOURCEAMBIENT"),
Self::IfcLightSourceDirectional => Some("IFCLIGHTSOURCEDIRECTIONAL"),
Self::IfcLightSourceGoniometric => Some("IFCLIGHTSOURCEGONIOMETRIC"),
Self::IfcLightSourcePositional => Some("IFCLIGHTSOURCEPOSITIONAL"),
Self::IfcLightSourceSpot => Some("IFCLIGHTSOURCESPOT"),
Self::IfcLine => Some("IFCLINE"),
Self::IfcLinearDimension => Some("IFCLINEARDIMENSION"),
Self::IfcLocalPlacement => Some("IFCLOCALPLACEMENT"),
Self::IfcLocalTime => Some("IFCLOCALTIME"),
Self::IfcLoop => Some("IFCLOOP"),
Self::IfcManifoldSolidBrep => Some("IFCMANIFOLDSOLIDBREP"),
Self::IfcMappedItem => Some("IFCMAPPEDITEM"),
Self::IfcMaterial => Some("IFCMATERIAL"),
Self::IfcMaterialClassificationRelationship => Some("IFCMATERIALCLASSIFICATIONRELATIONSHIP"),
Self::IfcMaterialDefinitionRepresentation => Some("IFCMATERIALDEFINITIONREPRESENTATION"),
Self::IfcMaterialLayer => Some("IFCMATERIALLAYER"),
Self::IfcMaterialLayerSet => Some("IFCMATERIALLAYERSET"),
Self::IfcMaterialLayerSetUsage => Some("IFCMATERIALLAYERSETUSAGE"),
Self::IfcMaterialList => Some("IFCMATERIALLIST"),
Self::IfcMaterialProperties => Some("IFCMATERIALPROPERTIES"),
Self::IfcMeasureWithUnit => Some("IFCMEASUREWITHUNIT"),
Self::IfcMechanicalConcreteMaterialProperties => Some("IFCMECHANICALCONCRETEMATERIALPROPERTIES"),
Self::IfcMechanicalFastener => Some("IFCMECHANICALFASTENER"),
Self::IfcMechanicalFastenerType => Some("IFCMECHANICALFASTENERTYPE"),
Self::IfcMechanicalMaterialProperties => Some("IFCMECHANICALMATERIALPROPERTIES"),
Self::IfcMechanicalSteelMaterialProperties => Some("IFCMECHANICALSTEELMATERIALPROPERTIES"),
Self::IfcMember => Some("IFCMEMBER"),
Self::IfcMemberType => Some("IFCMEMBERTYPE"),
Self::IfcMetric => Some("IFCMETRIC"),
Self::IfcMonetaryUnit => Some("IFCMONETARYUNIT"),
Self::IfcMotorConnectionType => Some("IFCMOTORCONNECTIONTYPE"),
Self::IfcMove => Some("IFCMOVE"),
Self::IfcNamedUnit => Some("IFCNAMEDUNIT"),
Self::IfcObject => Some("IFCOBJECT"),
Self::IfcObjectDefinition => Some("IFCOBJECTDEFINITION"),
Self::IfcObjectPlacement => Some("IFCOBJECTPLACEMENT"),
Self::IfcObjective => Some("IFCOBJECTIVE"),
Self::IfcOccupant => Some("IFCOCCUPANT"),
Self::IfcOffsetCurve2D => Some("IFCOFFSETCURVE2D"),
Self::IfcOffsetCurve3D => Some("IFCOFFSETCURVE3D"),
Self::IfcOneDirectionRepeatFactor => Some("IFCONEDIRECTIONREPEATFACTOR"),
Self::IfcOpenShell => Some("IFCOPENSHELL"),
Self::IfcOpeningElement => Some("IFCOPENINGELEMENT"),
Self::IfcOpticalMaterialProperties => Some("IFCOPTICALMATERIALPROPERTIES"),
Self::IfcOrderAction => Some("IFCORDERACTION"),
Self::IfcOrganization => Some("IFCORGANIZATION"),
Self::IfcOrganizationRelationship => Some("IFCORGANIZATIONRELATIONSHIP"),
Self::IfcOrientedEdge => Some("IFCORIENTEDEDGE"),
Self::IfcOutletType => Some("IFCOUTLETTYPE"),
Self::IfcOwnerHistory => Some("IFCOWNERHISTORY"),
Self::IfcParameterizedProfileDef => Some("IFCPARAMETERIZEDPROFILEDEF"),
Self::IfcPath => Some("IFCPATH"),
Self::IfcPerformanceHistory => Some("IFCPERFORMANCEHISTORY"),
Self::IfcPermeableCoveringProperties => Some("IFCPERMEABLECOVERINGPROPERTIES"),
Self::IfcPermit => Some("IFCPERMIT"),
Self::IfcPerson => Some("IFCPERSON"),
Self::IfcPersonAndOrganization => Some("IFCPERSONANDORGANIZATION"),
Self::IfcPhysicalComplexQuantity => Some("IFCPHYSICALCOMPLEXQUANTITY"),
Self::IfcPhysicalQuantity => Some("IFCPHYSICALQUANTITY"),
Self::IfcPhysicalSimpleQuantity => Some("IFCPHYSICALSIMPLEQUANTITY"),
Self::IfcPile => Some("IFCPILE"),
Self::IfcPipeFittingType => Some("IFCPIPEFITTINGTYPE"),
Self::IfcPipeSegmentType => Some("IFCPIPESEGMENTTYPE"),
Self::IfcPixelTexture => Some("IFCPIXELTEXTURE"),
Self::IfcPlacement => Some("IFCPLACEMENT"),
Self::IfcPlanarBox => Some("IFCPLANARBOX"),
Self::IfcPlanarExtent => Some("IFCPLANAREXTENT"),
Self::IfcPlane => Some("IFCPLANE"),
Self::IfcPlate => Some("IFCPLATE"),
Self::IfcPlateType => Some("IFCPLATETYPE"),
Self::IfcPoint => Some("IFCPOINT"),
Self::IfcPointOnCurve => Some("IFCPOINTONCURVE"),
Self::IfcPointOnSurface => Some("IFCPOINTONSURFACE"),
Self::IfcPolyLoop => Some("IFCPOLYLOOP"),
Self::IfcPolygonalBoundedHalfSpace => Some("IFCPOLYGONALBOUNDEDHALFSPACE"),
Self::IfcPolyline => Some("IFCPOLYLINE"),
Self::IfcPort => Some("IFCPORT"),
Self::IfcPostalAddress => Some("IFCPOSTALADDRESS"),
Self::IfcPreDefinedColour => Some("IFCPREDEFINEDCOLOUR"),
Self::IfcPreDefinedCurveFont => Some("IFCPREDEFINEDCURVEFONT"),
Self::IfcPreDefinedDimensionSymbol => Some("IFCPREDEFINEDDIMENSIONSYMBOL"),
Self::IfcPreDefinedItem => Some("IFCPREDEFINEDITEM"),
Self::IfcPreDefinedPointMarkerSymbol => Some("IFCPREDEFINEDPOINTMARKERSYMBOL"),
Self::IfcPreDefinedSymbol => Some("IFCPREDEFINEDSYMBOL"),
Self::IfcPreDefinedTerminatorSymbol => Some("IFCPREDEFINEDTERMINATORSYMBOL"),
Self::IfcPreDefinedTextFont => Some("IFCPREDEFINEDTEXTFONT"),
Self::IfcPresentationLayerAssignment => Some("IFCPRESENTATIONLAYERASSIGNMENT"),
Self::IfcPresentationLayerWithStyle => Some("IFCPRESENTATIONLAYERWITHSTYLE"),
Self::IfcPresentationStyle => Some("IFCPRESENTATIONSTYLE"),
Self::IfcPresentationStyleAssignment => Some("IFCPRESENTATIONSTYLEASSIGNMENT"),
Self::IfcProcedure => Some("IFCPROCEDURE"),
Self::IfcProcess => Some("IFCPROCESS"),
Self::IfcProduct => Some("IFCPRODUCT"),
Self::IfcProductDefinitionShape => Some("IFCPRODUCTDEFINITIONSHAPE"),
Self::IfcProductRepresentation => Some("IFCPRODUCTREPRESENTATION"),
Self::IfcProductsOfCombustionProperties => Some("IFCPRODUCTSOFCOMBUSTIONPROPERTIES"),
Self::IfcProfileDef => Some("IFCPROFILEDEF"),
Self::IfcProfileProperties => Some("IFCPROFILEPROPERTIES"),
Self::IfcProject => Some("IFCPROJECT"),
Self::IfcProjectOrder => Some("IFCPROJECTORDER"),
Self::IfcProjectOrderRecord => Some("IFCPROJECTORDERRECORD"),
Self::IfcProjectionCurve => Some("IFCPROJECTIONCURVE"),
Self::IfcProjectionElement => Some("IFCPROJECTIONELEMENT"),
Self::IfcProperty => Some("IFCPROPERTY"),
Self::IfcPropertyBoundedValue => Some("IFCPROPERTYBOUNDEDVALUE"),
Self::IfcPropertyConstraintRelationship => Some("IFCPROPERTYCONSTRAINTRELATIONSHIP"),
Self::IfcPropertyDefinition => Some("IFCPROPERTYDEFINITION"),
Self::IfcPropertyDependencyRelationship => Some("IFCPROPERTYDEPENDENCYRELATIONSHIP"),
Self::IfcPropertyEnumeratedValue => Some("IFCPROPERTYENUMERATEDVALUE"),
Self::IfcPropertyEnumeration => Some("IFCPROPERTYENUMERATION"),
Self::IfcPropertyListValue => Some("IFCPROPERTYLISTVALUE"),
Self::IfcPropertyReferenceValue => Some("IFCPROPERTYREFERENCEVALUE"),
Self::IfcPropertySet => Some("IFCPROPERTYSET"),
Self::IfcPropertySetDefinition => Some("IFCPROPERTYSETDEFINITION"),
Self::IfcPropertySingleValue => Some("IFCPROPERTYSINGLEVALUE"),
Self::IfcPropertyTableValue => Some("IFCPROPERTYTABLEVALUE"),
Self::IfcProtectiveDeviceType => Some("IFCPROTECTIVEDEVICETYPE"),
Self::IfcProxy => Some("IFCPROXY"),
Self::IfcPumpType => Some("IFCPUMPTYPE"),
Self::IfcQuantityArea => Some("IFCQUANTITYAREA"),
Self::IfcQuantityCount => Some("IFCQUANTITYCOUNT"),
Self::IfcQuantityLength => Some("IFCQUANTITYLENGTH"),
Self::IfcQuantityTime => Some("IFCQUANTITYTIME"),
Self::IfcQuantityVolume => Some("IFCQUANTITYVOLUME"),
Self::IfcQuantityWeight => Some("IFCQUANTITYWEIGHT"),
Self::IfcRadiusDimension => Some("IFCRADIUSDIMENSION"),
Self::IfcRailing => Some("IFCRAILING"),
Self::IfcRailingType => Some("IFCRAILINGTYPE"),
Self::IfcRamp => Some("IFCRAMP"),
Self::IfcRampFlight => Some("IFCRAMPFLIGHT"),
Self::IfcRampFlightType => Some("IFCRAMPFLIGHTTYPE"),
Self::IfcRationalBezierCurve => Some("IFCRATIONALBEZIERCURVE"),
Self::IfcRectangleHollowProfileDef => Some("IFCRECTANGLEHOLLOWPROFILEDEF"),
Self::IfcRectangleProfileDef => Some("IFCRECTANGLEPROFILEDEF"),
Self::IfcRectangularPyramid => Some("IFCRECTANGULARPYRAMID"),
Self::IfcRectangularTrimmedSurface => Some("IFCRECTANGULARTRIMMEDSURFACE"),
Self::IfcReferencesValueDocument => Some("IFCREFERENCESVALUEDOCUMENT"),
Self::IfcRegularTimeSeries => Some("IFCREGULARTIMESERIES"),
Self::IfcReinforcementBarProperties => Some("IFCREINFORCEMENTBARPROPERTIES"),
Self::IfcReinforcementDefinitionProperties => Some("IFCREINFORCEMENTDEFINITIONPROPERTIES"),
Self::IfcReinforcingBar => Some("IFCREINFORCINGBAR"),
Self::IfcReinforcingElement => Some("IFCREINFORCINGELEMENT"),
Self::IfcReinforcingMesh => Some("IFCREINFORCINGMESH"),
Self::IfcRelAggregates => Some("IFCRELAGGREGATES"),
Self::IfcRelAssigns => Some("IFCRELASSIGNS"),
Self::IfcRelAssignsTasks => Some("IFCRELASSIGNSTASKS"),
Self::IfcRelAssignsToActor => Some("IFCRELASSIGNSTOACTOR"),
Self::IfcRelAssignsToControl => Some("IFCRELASSIGNSTOCONTROL"),
Self::IfcRelAssignsToGroup => Some("IFCRELASSIGNSTOGROUP"),
Self::IfcRelAssignsToProcess => Some("IFCRELASSIGNSTOPROCESS"),
Self::IfcRelAssignsToProduct => Some("IFCRELASSIGNSTOPRODUCT"),
Self::IfcRelAssignsToProjectOrder => Some("IFCRELASSIGNSTOPROJECTORDER"),
Self::IfcRelAssignsToResource => Some("IFCRELASSIGNSTORESOURCE"),
Self::IfcRelAssociates => Some("IFCRELASSOCIATES"),
Self::IfcRelAssociatesAppliedValue => Some("IFCRELASSOCIATESAPPLIEDVALUE"),
Self::IfcRelAssociatesApproval => Some("IFCRELASSOCIATESAPPROVAL"),
Self::IfcRelAssociatesClassification => Some("IFCRELASSOCIATESCLASSIFICATION"),
Self::IfcRelAssociatesConstraint => Some("IFCRELASSOCIATESCONSTRAINT"),
Self::IfcRelAssociatesDocument => Some("IFCRELASSOCIATESDOCUMENT"),
Self::IfcRelAssociatesLibrary => Some("IFCRELASSOCIATESLIBRARY"),
Self::IfcRelAssociatesMaterial => Some("IFCRELASSOCIATESMATERIAL"),
Self::IfcRelAssociatesProfileProperties => Some("IFCRELASSOCIATESPROFILEPROPERTIES"),
Self::IfcRelConnects => Some("IFCRELCONNECTS"),
Self::IfcRelConnectsElements => Some("IFCRELCONNECTSELEMENTS"),
Self::IfcRelConnectsPathElements => Some("IFCRELCONNECTSPATHELEMENTS"),
Self::IfcRelConnectsPortToElement => Some("IFCRELCONNECTSPORTTOELEMENT"),
Self::IfcRelConnectsPorts => Some("IFCRELCONNECTSPORTS"),
Self::IfcRelConnectsStructuralActivity => Some("IFCRELCONNECTSSTRUCTURALACTIVITY"),
Self::IfcRelConnectsStructuralElement => Some("IFCRELCONNECTSSTRUCTURALELEMENT"),
Self::IfcRelConnectsStructuralMember => Some("IFCRELCONNECTSSTRUCTURALMEMBER"),
Self::IfcRelConnectsWithEccentricity => Some("IFCRELCONNECTSWITHECCENTRICITY"),
Self::IfcRelConnectsWithRealizingElements => Some("IFCRELCONNECTSWITHREALIZINGELEMENTS"),
Self::IfcRelContainedInSpatialStructure => Some("IFCRELCONTAINEDINSPATIALSTRUCTURE"),
Self::IfcRelCoversBldgElements => Some("IFCRELCOVERSBLDGELEMENTS"),
Self::IfcRelCoversSpaces => Some("IFCRELCOVERSSPACES"),
Self::IfcRelDecomposes => Some("IFCRELDECOMPOSES"),
Self::IfcRelDefines => Some("IFCRELDEFINES"),
Self::IfcRelDefinesByProperties => Some("IFCRELDEFINESBYPROPERTIES"),
Self::IfcRelDefinesByType => Some("IFCRELDEFINESBYTYPE"),
Self::IfcRelFillsElement => Some("IFCRELFILLSELEMENT"),
Self::IfcRelFlowControlElements => Some("IFCRELFLOWCONTROLELEMENTS"),
Self::IfcRelInteractionRequirements => Some("IFCRELINTERACTIONREQUIREMENTS"),
Self::IfcRelNests => Some("IFCRELNESTS"),
Self::IfcRelOccupiesSpaces => Some("IFCRELOCCUPIESSPACES"),
Self::IfcRelOverridesProperties => Some("IFCRELOVERRIDESPROPERTIES"),
Self::IfcRelProjectsElement => Some("IFCRELPROJECTSELEMENT"),
Self::IfcRelReferencedInSpatialStructure => Some("IFCRELREFERENCEDINSPATIALSTRUCTURE"),
Self::IfcRelSchedulesCostItems => Some("IFCRELSCHEDULESCOSTITEMS"),
Self::IfcRelSequence => Some("IFCRELSEQUENCE"),
Self::IfcRelServicesBuildings => Some("IFCRELSERVICESBUILDINGS"),
Self::IfcRelSpaceBoundary => Some("IFCRELSPACEBOUNDARY"),
Self::IfcRelVoidsElement => Some("IFCRELVOIDSELEMENT"),
Self::IfcRelationship => Some("IFCRELATIONSHIP"),
Self::IfcRelaxation => Some("IFCRELAXATION"),
Self::IfcRepresentation => Some("IFCREPRESENTATION"),
Self::IfcRepresentationContext => Some("IFCREPRESENTATIONCONTEXT"),
Self::IfcRepresentationItem => Some("IFCREPRESENTATIONITEM"),
Self::IfcRepresentationMap => Some("IFCREPRESENTATIONMAP"),
Self::IfcResource => Some("IFCRESOURCE"),
Self::IfcRevolvedAreaSolid => Some("IFCREVOLVEDAREASOLID"),
Self::IfcRibPlateProfileProperties => Some("IFCRIBPLATEPROFILEPROPERTIES"),
Self::IfcRightCircularCone => Some("IFCRIGHTCIRCULARCONE"),
Self::IfcRightCircularCylinder => Some("IFCRIGHTCIRCULARCYLINDER"),
Self::IfcRoof => Some("IFCROOF"),
Self::IfcRoot => Some("IFCROOT"),
Self::IfcRoundedEdgeFeature => Some("IFCROUNDEDEDGEFEATURE"),
Self::IfcRoundedRectangleProfileDef => Some("IFCROUNDEDRECTANGLEPROFILEDEF"),
Self::IfcSIUnit => Some("IFCSIUNIT"),
Self::IfcSanitaryTerminalType => Some("IFCSANITARYTERMINALTYPE"),
Self::IfcScheduleTimeControl => Some("IFCSCHEDULETIMECONTROL"),
Self::IfcSectionProperties => Some("IFCSECTIONPROPERTIES"),
Self::IfcSectionReinforcementProperties => Some("IFCSECTIONREINFORCEMENTPROPERTIES"),
Self::IfcSectionedSpine => Some("IFCSECTIONEDSPINE"),
Self::IfcSensorType => Some("IFCSENSORTYPE"),
Self::IfcServiceLife => Some("IFCSERVICELIFE"),
Self::IfcServiceLifeFactor => Some("IFCSERVICELIFEFACTOR"),
Self::IfcShapeAspect => Some("IFCSHAPEASPECT"),
Self::IfcShapeModel => Some("IFCSHAPEMODEL"),
Self::IfcShapeRepresentation => Some("IFCSHAPEREPRESENTATION"),
Self::IfcShellBasedSurfaceModel => Some("IFCSHELLBASEDSURFACEMODEL"),
Self::IfcSimpleProperty => Some("IFCSIMPLEPROPERTY"),
Self::IfcSite => Some("IFCSITE"),
Self::IfcSlab => Some("IFCSLAB"),
Self::IfcSlabType => Some("IFCSLABTYPE"),
Self::IfcSlippageConnectionCondition => Some("IFCSLIPPAGECONNECTIONCONDITION"),
Self::IfcSolidModel => Some("IFCSOLIDMODEL"),
Self::IfcSoundProperties => Some("IFCSOUNDPROPERTIES"),
Self::IfcSoundValue => Some("IFCSOUNDVALUE"),
Self::IfcSpace => Some("IFCSPACE"),
Self::IfcSpaceHeaterType => Some("IFCSPACEHEATERTYPE"),
Self::IfcSpaceProgram => Some("IFCSPACEPROGRAM"),
Self::IfcSpaceThermalLoadProperties => Some("IFCSPACETHERMALLOADPROPERTIES"),
Self::IfcSpaceType => Some("IFCSPACETYPE"),
Self::IfcSpatialStructureElement => Some("IFCSPATIALSTRUCTUREELEMENT"),
Self::IfcSpatialStructureElementType => Some("IFCSPATIALSTRUCTUREELEMENTTYPE"),
Self::IfcSphere => Some("IFCSPHERE"),
Self::IfcStackTerminalType => Some("IFCSTACKTERMINALTYPE"),
Self::IfcStair => Some("IFCSTAIR"),
Self::IfcStairFlight => Some("IFCSTAIRFLIGHT"),
Self::IfcStairFlightType => Some("IFCSTAIRFLIGHTTYPE"),
Self::IfcStructuralAction => Some("IFCSTRUCTURALACTION"),
Self::IfcStructuralActivity => Some("IFCSTRUCTURALACTIVITY"),
Self::IfcStructuralAnalysisModel => Some("IFCSTRUCTURALANALYSISMODEL"),
Self::IfcStructuralConnection => Some("IFCSTRUCTURALCONNECTION"),
Self::IfcStructuralConnectionCondition => Some("IFCSTRUCTURALCONNECTIONCONDITION"),
Self::IfcStructuralCurveConnection => Some("IFCSTRUCTURALCURVECONNECTION"),
Self::IfcStructuralCurveMember => Some("IFCSTRUCTURALCURVEMEMBER"),
Self::IfcStructuralCurveMemberVarying => Some("IFCSTRUCTURALCURVEMEMBERVARYING"),
Self::IfcStructuralItem => Some("IFCSTRUCTURALITEM"),
Self::IfcStructuralLinearAction => Some("IFCSTRUCTURALLINEARACTION"),
Self::IfcStructuralLinearActionVarying => Some("IFCSTRUCTURALLINEARACTIONVARYING"),
Self::IfcStructuralLoad => Some("IFCSTRUCTURALLOAD"),
Self::IfcStructuralLoadGroup => Some("IFCSTRUCTURALLOADGROUP"),
Self::IfcStructuralLoadLinearForce => Some("IFCSTRUCTURALLOADLINEARFORCE"),
Self::IfcStructuralLoadPlanarForce => Some("IFCSTRUCTURALLOADPLANARFORCE"),
Self::IfcStructuralLoadSingleDisplacement => Some("IFCSTRUCTURALLOADSINGLEDISPLACEMENT"),
Self::IfcStructuralLoadSingleDisplacementDistortion => Some("IFCSTRUCTURALLOADSINGLEDISPLACEMENTDISTORTION"),
Self::IfcStructuralLoadSingleForce => Some("IFCSTRUCTURALLOADSINGLEFORCE"),
Self::IfcStructuralLoadSingleForceWarping => Some("IFCSTRUCTURALLOADSINGLEFORCEWARPING"),
Self::IfcStructuralLoadStatic => Some("IFCSTRUCTURALLOADSTATIC"),
Self::IfcStructuralLoadTemperature => Some("IFCSTRUCTURALLOADTEMPERATURE"),
Self::IfcStructuralMember => Some("IFCSTRUCTURALMEMBER"),
Self::IfcStructuralPlanarAction => Some("IFCSTRUCTURALPLANARACTION"),
Self::IfcStructuralPlanarActionVarying => Some("IFCSTRUCTURALPLANARACTIONVARYING"),
Self::IfcStructuralPointAction => Some("IFCSTRUCTURALPOINTACTION"),
Self::IfcStructuralPointConnection => Some("IFCSTRUCTURALPOINTCONNECTION"),
Self::IfcStructuralPointReaction => Some("IFCSTRUCTURALPOINTREACTION"),
Self::IfcStructuralProfileProperties => Some("IFCSTRUCTURALPROFILEPROPERTIES"),
Self::IfcStructuralReaction => Some("IFCSTRUCTURALREACTION"),
Self::IfcStructuralResultGroup => Some("IFCSTRUCTURALRESULTGROUP"),
Self::IfcStructuralSteelProfileProperties => Some("IFCSTRUCTURALSTEELPROFILEPROPERTIES"),
Self::IfcStructuralSurfaceConnection => Some("IFCSTRUCTURALSURFACECONNECTION"),
Self::IfcStructuralSurfaceMember => Some("IFCSTRUCTURALSURFACEMEMBER"),
Self::IfcStructuralSurfaceMemberVarying => Some("IFCSTRUCTURALSURFACEMEMBERVARYING"),
Self::IfcStructuredDimensionCallout => Some("IFCSTRUCTUREDDIMENSIONCALLOUT"),
Self::IfcStyleModel => Some("IFCSTYLEMODEL"),
Self::IfcStyledItem => Some("IFCSTYLEDITEM"),
Self::IfcStyledRepresentation => Some("IFCSTYLEDREPRESENTATION"),
Self::IfcSubContractResource => Some("IFCSUBCONTRACTRESOURCE"),
Self::IfcSubedge => Some("IFCSUBEDGE"),
Self::IfcSurface => Some("IFCSURFACE"),
Self::IfcSurfaceCurveSweptAreaSolid => Some("IFCSURFACECURVESWEPTAREASOLID"),
Self::IfcSurfaceOfLinearExtrusion => Some("IFCSURFACEOFLINEAREXTRUSION"),
Self::IfcSurfaceOfRevolution => Some("IFCSURFACEOFREVOLUTION"),
Self::IfcSurfaceStyle => Some("IFCSURFACESTYLE"),
Self::IfcSurfaceStyleLighting => Some("IFCSURFACESTYLELIGHTING"),
Self::IfcSurfaceStyleRefraction => Some("IFCSURFACESTYLEREFRACTION"),
Self::IfcSurfaceStyleRendering => Some("IFCSURFACESTYLERENDERING"),
Self::IfcSurfaceStyleShading => Some("IFCSURFACESTYLESHADING"),
Self::IfcSurfaceStyleWithTextures => Some("IFCSURFACESTYLEWITHTEXTURES"),
Self::IfcSurfaceTexture => Some("IFCSURFACETEXTURE"),
Self::IfcSweptAreaSolid => Some("IFCSWEPTAREASOLID"),
Self::IfcSweptDiskSolid => Some("IFCSWEPTDISKSOLID"),
Self::IfcSweptSurface => Some("IFCSWEPTSURFACE"),
Self::IfcSwitchingDeviceType => Some("IFCSWITCHINGDEVICETYPE"),
Self::IfcSymbolStyle => Some("IFCSYMBOLSTYLE"),
Self::IfcSystem => Some("IFCSYSTEM"),
Self::IfcSystemFurnitureElementType => Some("IFCSYSTEMFURNITUREELEMENTTYPE"),
Self::IfcTShapeProfileDef => Some("IFCTSHAPEPROFILEDEF"),
Self::IfcTable => Some("IFCTABLE"),
Self::IfcTableRow => Some("IFCTABLEROW"),
Self::IfcTankType => Some("IFCTANKTYPE"),
Self::IfcTask => Some("IFCTASK"),
Self::IfcTelecomAddress => Some("IFCTELECOMADDRESS"),
Self::IfcTendon => Some("IFCTENDON"),
Self::IfcTendonAnchor => Some("IFCTENDONANCHOR"),
Self::IfcTerminatorSymbol => Some("IFCTERMINATORSYMBOL"),
Self::IfcTextLiteral => Some("IFCTEXTLITERAL"),
Self::IfcTextLiteralWithExtent => Some("IFCTEXTLITERALWITHEXTENT"),
Self::IfcTextStyle => Some("IFCTEXTSTYLE"),
Self::IfcTextStyleFontModel => Some("IFCTEXTSTYLEFONTMODEL"),
Self::IfcTextStyleForDefinedFont => Some("IFCTEXTSTYLEFORDEFINEDFONT"),
Self::IfcTextStyleTextModel => Some("IFCTEXTSTYLETEXTMODEL"),
Self::IfcTextStyleWithBoxCharacteristics => Some("IFCTEXTSTYLEWITHBOXCHARACTERISTICS"),
Self::IfcTextureCoordinate => Some("IFCTEXTURECOORDINATE"),
Self::IfcTextureCoordinateGenerator => Some("IFCTEXTURECOORDINATEGENERATOR"),
Self::IfcTextureMap => Some("IFCTEXTUREMAP"),
Self::IfcTextureVertex => Some("IFCTEXTUREVERTEX"),
Self::IfcThermalMaterialProperties => Some("IFCTHERMALMATERIALPROPERTIES"),
Self::IfcTimeSeries => Some("IFCTIMESERIES"),
Self::IfcTimeSeriesReferenceRelationship => Some("IFCTIMESERIESREFERENCERELATIONSHIP"),
Self::IfcTimeSeriesSchedule => Some("IFCTIMESERIESSCHEDULE"),
Self::IfcTimeSeriesValue => Some("IFCTIMESERIESVALUE"),
Self::IfcTopologicalRepresentationItem => Some("IFCTOPOLOGICALREPRESENTATIONITEM"),
Self::IfcTopologyRepresentation => Some("IFCTOPOLOGYREPRESENTATION"),
Self::IfcTransformerType => Some("IFCTRANSFORMERTYPE"),
Self::IfcTransportElement => Some("IFCTRANSPORTELEMENT"),
Self::IfcTransportElementType => Some("IFCTRANSPORTELEMENTTYPE"),
Self::IfcTrapeziumProfileDef => Some("IFCTRAPEZIUMPROFILEDEF"),
Self::IfcTrimmedCurve => Some("IFCTRIMMEDCURVE"),
Self::IfcTubeBundleType => Some("IFCTUBEBUNDLETYPE"),
Self::IfcTwoDirectionRepeatFactor => Some("IFCTWODIRECTIONREPEATFACTOR"),
Self::IfcTypeObject => Some("IFCTYPEOBJECT"),
Self::IfcTypeProduct => Some("IFCTYPEPRODUCT"),
Self::IfcUShapeProfileDef => Some("IFCUSHAPEPROFILEDEF"),
Self::IfcUnitAssignment => Some("IFCUNITASSIGNMENT"),
Self::IfcUnitaryEquipmentType => Some("IFCUNITARYEQUIPMENTTYPE"),
Self::IfcValveType => Some("IFCVALVETYPE"),
Self::IfcVector => Some("IFCVECTOR"),
Self::IfcVertex => Some("IFCVERTEX"),
Self::IfcVertexBasedTextureMap => Some("IFCVERTEXBASEDTEXTUREMAP"),
Self::IfcVertexLoop => Some("IFCVERTEXLOOP"),
Self::IfcVertexPoint => Some("IFCVERTEXPOINT"),
Self::IfcVibrationIsolatorType => Some("IFCVIBRATIONISOLATORTYPE"),
Self::IfcVirtualElement => Some("IFCVIRTUALELEMENT"),
Self::IfcVirtualGridIntersection => Some("IFCVIRTUALGRIDINTERSECTION"),
Self::IfcWall => Some("IFCWALL"),
Self::IfcWallStandardCase => Some("IFCWALLSTANDARDCASE"),
Self::IfcWallType => Some("IFCWALLTYPE"),
Self::IfcWasteTerminalType => Some("IFCWASTETERMINALTYPE"),
Self::IfcWaterProperties => Some("IFCWATERPROPERTIES"),
Self::IfcWindow => Some("IFCWINDOW"),
Self::IfcWindowLiningProperties => Some("IFCWINDOWLININGPROPERTIES"),
Self::IfcWindowPanelProperties => Some("IFCWINDOWPANELPROPERTIES"),
Self::IfcWindowStyle => Some("IFCWINDOWSTYLE"),
Self::IfcWorkControl => Some("IFCWORKCONTROL"),
Self::IfcWorkPlan => Some("IFCWORKPLAN"),
Self::IfcWorkSchedule => Some("IFCWORKSCHEDULE"),
Self::IfcZShapeProfileDef => Some("IFCZSHAPEPROFILEDEF"),
Self::IfcZone => Some("IFCZONE"),
Self::Unknown(_) => None,
}
}
/// Get display name (PascalCase)
pub fn name(&self) -> &str {
match self {
Self::Ifc2DCompositeCurve => "Ifc2DCompositeCurve",
Self::IfcActionRequest => "IfcActionRequest",
Self::IfcActor => "IfcActor",
Self::IfcActorRole => "IfcActorRole",
Self::IfcActuatorType => "IfcActuatorType",
Self::IfcAddress => "IfcAddress",
Self::IfcAirTerminalBoxType => "IfcAirTerminalBoxType",
Self::IfcAirTerminalType => "IfcAirTerminalType",
Self::IfcAirToAirHeatRecoveryType => "IfcAirToAirHeatRecoveryType",
Self::IfcAlarmType => "IfcAlarmType",
Self::IfcAngularDimension => "IfcAngularDimension",
Self::IfcAnnotation => "IfcAnnotation",
Self::IfcAnnotationCurveOccurrence => "IfcAnnotationCurveOccurrence",
Self::IfcAnnotationFillArea => "IfcAnnotationFillArea",
Self::IfcAnnotationFillAreaOccurrence => "IfcAnnotationFillAreaOccurrence",
Self::IfcAnnotationOccurrence => "IfcAnnotationOccurrence",
Self::IfcAnnotationSurface => "IfcAnnotationSurface",
Self::IfcAnnotationSurfaceOccurrence => "IfcAnnotationSurfaceOccurrence",
Self::IfcAnnotationSymbolOccurrence => "IfcAnnotationSymbolOccurrence",
Self::IfcAnnotationTextOccurrence => "IfcAnnotationTextOccurrence",
Self::IfcApplication => "IfcApplication",
Self::IfcAppliedValue => "IfcAppliedValue",
Self::IfcAppliedValueRelationship => "IfcAppliedValueRelationship",
Self::IfcApproval => "IfcApproval",
Self::IfcApprovalActorRelationship => "IfcApprovalActorRelationship",
Self::IfcApprovalPropertyRelationship => "IfcApprovalPropertyRelationship",
Self::IfcApprovalRelationship => "IfcApprovalRelationship",
Self::IfcArbitraryClosedProfileDef => "IfcArbitraryClosedProfileDef",
Self::IfcArbitraryOpenProfileDef => "IfcArbitraryOpenProfileDef",
Self::IfcArbitraryProfileDefWithVoids => "IfcArbitraryProfileDefWithVoids",
Self::IfcAsset => "IfcAsset",
Self::IfcAsymmetricIShapeProfileDef => "IfcAsymmetricIShapeProfileDef",
Self::IfcAxis1Placement => "IfcAxis1Placement",
Self::IfcAxis2Placement2D => "IfcAxis2Placement2D",
Self::IfcAxis2Placement3D => "IfcAxis2Placement3D",
Self::IfcBSplineCurve => "IfcBSplineCurve",
Self::IfcBeam => "IfcBeam",
Self::IfcBeamType => "IfcBeamType",
Self::IfcBezierCurve => "IfcBezierCurve",
Self::IfcBlobTexture => "IfcBlobTexture",
Self::IfcBlock => "IfcBlock",
Self::IfcBoilerType => "IfcBoilerType",
Self::IfcBooleanClippingResult => "IfcBooleanClippingResult",
Self::IfcBooleanResult => "IfcBooleanResult",
Self::IfcBoundaryCondition => "IfcBoundaryCondition",
Self::IfcBoundaryEdgeCondition => "IfcBoundaryEdgeCondition",
Self::IfcBoundaryFaceCondition => "IfcBoundaryFaceCondition",
Self::IfcBoundaryNodeCondition => "IfcBoundaryNodeCondition",
Self::IfcBoundaryNodeConditionWarping => "IfcBoundaryNodeConditionWarping",
Self::IfcBoundedCurve => "IfcBoundedCurve",
Self::IfcBoundedSurface => "IfcBoundedSurface",
Self::IfcBoundingBox => "IfcBoundingBox",
Self::IfcBoxedHalfSpace => "IfcBoxedHalfSpace",
Self::IfcBuilding => "IfcBuilding",
Self::IfcBuildingElement => "IfcBuildingElement",
Self::IfcBuildingElementComponent => "IfcBuildingElementComponent",
Self::IfcBuildingElementPart => "IfcBuildingElementPart",
Self::IfcBuildingElementProxy => "IfcBuildingElementProxy",
Self::IfcBuildingElementProxyType => "IfcBuildingElementProxyType",
Self::IfcBuildingElementType => "IfcBuildingElementType",
Self::IfcBuildingStorey => "IfcBuildingStorey",
Self::IfcCShapeProfileDef => "IfcCShapeProfileDef",
Self::IfcCableCarrierFittingType => "IfcCableCarrierFittingType",
Self::IfcCableCarrierSegmentType => "IfcCableCarrierSegmentType",
Self::IfcCableSegmentType => "IfcCableSegmentType",
Self::IfcCalendarDate => "IfcCalendarDate",
Self::IfcCartesianPoint => "IfcCartesianPoint",
Self::IfcCartesianTransformationOperator => "IfcCartesianTransformationOperator",
Self::IfcCartesianTransformationOperator2D => "IfcCartesianTransformationOperator2D",
Self::IfcCartesianTransformationOperator2DnonUniform => "IfcCartesianTransformationOperator2DnonUniform",
Self::IfcCartesianTransformationOperator3D => "IfcCartesianTransformationOperator3D",
Self::IfcCartesianTransformationOperator3DnonUniform => "IfcCartesianTransformationOperator3DnonUniform",
Self::IfcCenterLineProfileDef => "IfcCenterLineProfileDef",
Self::IfcChamferEdgeFeature => "IfcChamferEdgeFeature",
Self::IfcChillerType => "IfcChillerType",
Self::IfcCircle => "IfcCircle",
Self::IfcCircleHollowProfileDef => "IfcCircleHollowProfileDef",
Self::IfcCircleProfileDef => "IfcCircleProfileDef",
Self::IfcClassification => "IfcClassification",
Self::IfcClassificationItem => "IfcClassificationItem",
Self::IfcClassificationItemRelationship => "IfcClassificationItemRelationship",
Self::IfcClassificationNotation => "IfcClassificationNotation",
Self::IfcClassificationNotationFacet => "IfcClassificationNotationFacet",
Self::IfcClassificationReference => "IfcClassificationReference",
Self::IfcClosedShell => "IfcClosedShell",
Self::IfcCoilType => "IfcCoilType",
Self::IfcColourRgb => "IfcColourRgb",
Self::IfcColourSpecification => "IfcColourSpecification",
Self::IfcColumn => "IfcColumn",
Self::IfcColumnType => "IfcColumnType",
Self::IfcComplexProperty => "IfcComplexProperty",
Self::IfcCompositeCurve => "IfcCompositeCurve",
Self::IfcCompositeCurveSegment => "IfcCompositeCurveSegment",
Self::IfcCompositeProfileDef => "IfcCompositeProfileDef",
Self::IfcCompressorType => "IfcCompressorType",
Self::IfcCondenserType => "IfcCondenserType",
Self::IfcCondition => "IfcCondition",
Self::IfcConditionCriterion => "IfcConditionCriterion",
Self::IfcConic => "IfcConic",
Self::IfcConnectedFaceSet => "IfcConnectedFaceSet",
Self::IfcConnectionCurveGeometry => "IfcConnectionCurveGeometry",
Self::IfcConnectionGeometry => "IfcConnectionGeometry",
Self::IfcConnectionPointEccentricity => "IfcConnectionPointEccentricity",
Self::IfcConnectionPointGeometry => "IfcConnectionPointGeometry",
Self::IfcConnectionPortGeometry => "IfcConnectionPortGeometry",
Self::IfcConnectionSurfaceGeometry => "IfcConnectionSurfaceGeometry",
Self::IfcConstraint => "IfcConstraint",
Self::IfcConstraintAggregationRelationship => "IfcConstraintAggregationRelationship",
Self::IfcConstraintClassificationRelationship => "IfcConstraintClassificationRelationship",
Self::IfcConstraintRelationship => "IfcConstraintRelationship",
Self::IfcConstructionEquipmentResource => "IfcConstructionEquipmentResource",
Self::IfcConstructionMaterialResource => "IfcConstructionMaterialResource",
Self::IfcConstructionProductResource => "IfcConstructionProductResource",
Self::IfcConstructionResource => "IfcConstructionResource",
Self::IfcContextDependentUnit => "IfcContextDependentUnit",
Self::IfcControl => "IfcControl",
Self::IfcControllerType => "IfcControllerType",
Self::IfcConversionBasedUnit => "IfcConversionBasedUnit",
Self::IfcCooledBeamType => "IfcCooledBeamType",
Self::IfcCoolingTowerType => "IfcCoolingTowerType",
Self::IfcCoordinatedUniversalTimeOffset => "IfcCoordinatedUniversalTimeOffset",
Self::IfcCostItem => "IfcCostItem",
Self::IfcCostSchedule => "IfcCostSchedule",
Self::IfcCostValue => "IfcCostValue",
Self::IfcCovering => "IfcCovering",
Self::IfcCoveringType => "IfcCoveringType",
Self::IfcCraneRailAShapeProfileDef => "IfcCraneRailAShapeProfileDef",
Self::IfcCraneRailFShapeProfileDef => "IfcCraneRailFShapeProfileDef",
Self::IfcCrewResource => "IfcCrewResource",
Self::IfcCsgPrimitive3D => "IfcCsgPrimitive3D",
Self::IfcCsgSolid => "IfcCsgSolid",
Self::IfcCurrencyRelationship => "IfcCurrencyRelationship",
Self::IfcCurtainWall => "IfcCurtainWall",
Self::IfcCurtainWallType => "IfcCurtainWallType",
Self::IfcCurve => "IfcCurve",
Self::IfcCurveBoundedPlane => "IfcCurveBoundedPlane",
Self::IfcCurveStyle => "IfcCurveStyle",
Self::IfcCurveStyleFont => "IfcCurveStyleFont",
Self::IfcCurveStyleFontAndScaling => "IfcCurveStyleFontAndScaling",
Self::IfcCurveStyleFontPattern => "IfcCurveStyleFontPattern",
Self::IfcDamperType => "IfcDamperType",
Self::IfcDateAndTime => "IfcDateAndTime",
Self::IfcDefinedSymbol => "IfcDefinedSymbol",
Self::IfcDerivedProfileDef => "IfcDerivedProfileDef",
Self::IfcDerivedUnit => "IfcDerivedUnit",
Self::IfcDerivedUnitElement => "IfcDerivedUnitElement",
Self::IfcDiameterDimension => "IfcDiameterDimension",
Self::IfcDimensionCalloutRelationship => "IfcDimensionCalloutRelationship",
Self::IfcDimensionCurve => "IfcDimensionCurve",
Self::IfcDimensionCurveDirectedCallout => "IfcDimensionCurveDirectedCallout",
Self::IfcDimensionCurveTerminator => "IfcDimensionCurveTerminator",
Self::IfcDimensionPair => "IfcDimensionPair",
Self::IfcDimensionalExponents => "IfcDimensionalExponents",
Self::IfcDirection => "IfcDirection",
Self::IfcDiscreteAccessory => "IfcDiscreteAccessory",
Self::IfcDiscreteAccessoryType => "IfcDiscreteAccessoryType",
Self::IfcDistributionChamberElement => "IfcDistributionChamberElement",
Self::IfcDistributionChamberElementType => "IfcDistributionChamberElementType",
Self::IfcDistributionControlElement => "IfcDistributionControlElement",
Self::IfcDistributionControlElementType => "IfcDistributionControlElementType",
Self::IfcDistributionElement => "IfcDistributionElement",
Self::IfcDistributionElementType => "IfcDistributionElementType",
Self::IfcDistributionFlowElement => "IfcDistributionFlowElement",
Self::IfcDistributionFlowElementType => "IfcDistributionFlowElementType",
Self::IfcDistributionPort => "IfcDistributionPort",
Self::IfcDocumentElectronicFormat => "IfcDocumentElectronicFormat",
Self::IfcDocumentInformation => "IfcDocumentInformation",
Self::IfcDocumentInformationRelationship => "IfcDocumentInformationRelationship",
Self::IfcDocumentReference => "IfcDocumentReference",
Self::IfcDoor => "IfcDoor",
Self::IfcDoorLiningProperties => "IfcDoorLiningProperties",
Self::IfcDoorPanelProperties => "IfcDoorPanelProperties",
Self::IfcDoorStyle => "IfcDoorStyle",
Self::IfcDraughtingCallout => "IfcDraughtingCallout",
Self::IfcDraughtingCalloutRelationship => "IfcDraughtingCalloutRelationship",
Self::IfcDraughtingPreDefinedColour => "IfcDraughtingPreDefinedColour",
Self::IfcDraughtingPreDefinedCurveFont => "IfcDraughtingPreDefinedCurveFont",
Self::IfcDraughtingPreDefinedTextFont => "IfcDraughtingPreDefinedTextFont",
Self::IfcDuctFittingType => "IfcDuctFittingType",
Self::IfcDuctSegmentType => "IfcDuctSegmentType",
Self::IfcDuctSilencerType => "IfcDuctSilencerType",
Self::IfcEdge => "IfcEdge",
Self::IfcEdgeCurve => "IfcEdgeCurve",
Self::IfcEdgeFeature => "IfcEdgeFeature",
Self::IfcEdgeLoop => "IfcEdgeLoop",
Self::IfcElectricApplianceType => "IfcElectricApplianceType",
Self::IfcElectricDistributionPoint => "IfcElectricDistributionPoint",
Self::IfcElectricFlowStorageDeviceType => "IfcElectricFlowStorageDeviceType",
Self::IfcElectricGeneratorType => "IfcElectricGeneratorType",
Self::IfcElectricHeaterType => "IfcElectricHeaterType",
Self::IfcElectricMotorType => "IfcElectricMotorType",
Self::IfcElectricTimeControlType => "IfcElectricTimeControlType",
Self::IfcElectricalBaseProperties => "IfcElectricalBaseProperties",
Self::IfcElectricalCircuit => "IfcElectricalCircuit",
Self::IfcElectricalElement => "IfcElectricalElement",
Self::IfcElement => "IfcElement",
Self::IfcElementAssembly => "IfcElementAssembly",
Self::IfcElementComponent => "IfcElementComponent",
Self::IfcElementComponentType => "IfcElementComponentType",
Self::IfcElementQuantity => "IfcElementQuantity",
Self::IfcElementType => "IfcElementType",
Self::IfcElementarySurface => "IfcElementarySurface",
Self::IfcEllipse => "IfcEllipse",
Self::IfcEllipseProfileDef => "IfcEllipseProfileDef",
Self::IfcEnergyConversionDevice => "IfcEnergyConversionDevice",
Self::IfcEnergyConversionDeviceType => "IfcEnergyConversionDeviceType",
Self::IfcEnergyProperties => "IfcEnergyProperties",
Self::IfcEnvironmentalImpactValue => "IfcEnvironmentalImpactValue",
Self::IfcEquipmentElement => "IfcEquipmentElement",
Self::IfcEquipmentStandard => "IfcEquipmentStandard",
Self::IfcEvaporativeCoolerType => "IfcEvaporativeCoolerType",
Self::IfcEvaporatorType => "IfcEvaporatorType",
Self::IfcExtendedMaterialProperties => "IfcExtendedMaterialProperties",
Self::IfcExternalReference => "IfcExternalReference",
Self::IfcExternallyDefinedHatchStyle => "IfcExternallyDefinedHatchStyle",
Self::IfcExternallyDefinedSurfaceStyle => "IfcExternallyDefinedSurfaceStyle",
Self::IfcExternallyDefinedSymbol => "IfcExternallyDefinedSymbol",
Self::IfcExternallyDefinedTextFont => "IfcExternallyDefinedTextFont",
Self::IfcExtrudedAreaSolid => "IfcExtrudedAreaSolid",
Self::IfcFace => "IfcFace",
Self::IfcFaceBasedSurfaceModel => "IfcFaceBasedSurfaceModel",
Self::IfcFaceBound => "IfcFaceBound",
Self::IfcFaceOuterBound => "IfcFaceOuterBound",
Self::IfcFaceSurface => "IfcFaceSurface",
Self::IfcFacetedBrep => "IfcFacetedBrep",
Self::IfcFacetedBrepWithVoids => "IfcFacetedBrepWithVoids",
Self::IfcFailureConnectionCondition => "IfcFailureConnectionCondition",
Self::IfcFanType => "IfcFanType",
Self::IfcFastener => "IfcFastener",
Self::IfcFastenerType => "IfcFastenerType",
Self::IfcFeatureElement => "IfcFeatureElement",
Self::IfcFeatureElementAddition => "IfcFeatureElementAddition",
Self::IfcFeatureElementSubtraction => "IfcFeatureElementSubtraction",
Self::IfcFillAreaStyle => "IfcFillAreaStyle",
Self::IfcFillAreaStyleHatching => "IfcFillAreaStyleHatching",
Self::IfcFillAreaStyleTileSymbolWithStyle => "IfcFillAreaStyleTileSymbolWithStyle",
Self::IfcFillAreaStyleTiles => "IfcFillAreaStyleTiles",
Self::IfcFilterType => "IfcFilterType",
Self::IfcFireSuppressionTerminalType => "IfcFireSuppressionTerminalType",
Self::IfcFlowController => "IfcFlowController",
Self::IfcFlowControllerType => "IfcFlowControllerType",
Self::IfcFlowFitting => "IfcFlowFitting",
Self::IfcFlowFittingType => "IfcFlowFittingType",
Self::IfcFlowInstrumentType => "IfcFlowInstrumentType",
Self::IfcFlowMeterType => "IfcFlowMeterType",
Self::IfcFlowMovingDevice => "IfcFlowMovingDevice",
Self::IfcFlowMovingDeviceType => "IfcFlowMovingDeviceType",
Self::IfcFlowSegment => "IfcFlowSegment",
Self::IfcFlowSegmentType => "IfcFlowSegmentType",
Self::IfcFlowStorageDevice => "IfcFlowStorageDevice",
Self::IfcFlowStorageDeviceType => "IfcFlowStorageDeviceType",
Self::IfcFlowTerminal => "IfcFlowTerminal",
Self::IfcFlowTerminalType => "IfcFlowTerminalType",
Self::IfcFlowTreatmentDevice => "IfcFlowTreatmentDevice",
Self::IfcFlowTreatmentDeviceType => "IfcFlowTreatmentDeviceType",
Self::IfcFluidFlowProperties => "IfcFluidFlowProperties",
Self::IfcFooting => "IfcFooting",
Self::IfcFuelProperties => "IfcFuelProperties",
Self::IfcFurnishingElement => "IfcFurnishingElement",
Self::IfcFurnishingElementType => "IfcFurnishingElementType",
Self::IfcFurnitureStandard => "IfcFurnitureStandard",
Self::IfcFurnitureType => "IfcFurnitureType",
Self::IfcGasTerminalType => "IfcGasTerminalType",
Self::IfcGeneralMaterialProperties => "IfcGeneralMaterialProperties",
Self::IfcGeneralProfileProperties => "IfcGeneralProfileProperties",
Self::IfcGeometricCurveSet => "IfcGeometricCurveSet",
Self::IfcGeometricRepresentationContext => "IfcGeometricRepresentationContext",
Self::IfcGeometricRepresentationItem => "IfcGeometricRepresentationItem",
Self::IfcGeometricRepresentationSubContext => "IfcGeometricRepresentationSubContext",
Self::IfcGeometricSet => "IfcGeometricSet",
Self::IfcGrid => "IfcGrid",
Self::IfcGridAxis => "IfcGridAxis",
Self::IfcGridPlacement => "IfcGridPlacement",
Self::IfcGroup => "IfcGroup",
Self::IfcHalfSpaceSolid => "IfcHalfSpaceSolid",
Self::IfcHeatExchangerType => "IfcHeatExchangerType",
Self::IfcHumidifierType => "IfcHumidifierType",
Self::IfcHygroscopicMaterialProperties => "IfcHygroscopicMaterialProperties",
Self::IfcIShapeProfileDef => "IfcIShapeProfileDef",
Self::IfcImageTexture => "IfcImageTexture",
Self::IfcInventory => "IfcInventory",
Self::IfcIrregularTimeSeries => "IfcIrregularTimeSeries",
Self::IfcIrregularTimeSeriesValue => "IfcIrregularTimeSeriesValue",
Self::IfcJunctionBoxType => "IfcJunctionBoxType",
Self::IfcLShapeProfileDef => "IfcLShapeProfileDef",
Self::IfcLaborResource => "IfcLaborResource",
Self::IfcLampType => "IfcLampType",
Self::IfcLibraryInformation => "IfcLibraryInformation",
Self::IfcLibraryReference => "IfcLibraryReference",
Self::IfcLightDistributionData => "IfcLightDistributionData",
Self::IfcLightFixtureType => "IfcLightFixtureType",
Self::IfcLightIntensityDistribution => "IfcLightIntensityDistribution",
Self::IfcLightSource => "IfcLightSource",
Self::IfcLightSourceAmbient => "IfcLightSourceAmbient",
Self::IfcLightSourceDirectional => "IfcLightSourceDirectional",
Self::IfcLightSourceGoniometric => "IfcLightSourceGoniometric",
Self::IfcLightSourcePositional => "IfcLightSourcePositional",
Self::IfcLightSourceSpot => "IfcLightSourceSpot",
Self::IfcLine => "IfcLine",
Self::IfcLinearDimension => "IfcLinearDimension",
Self::IfcLocalPlacement => "IfcLocalPlacement",
Self::IfcLocalTime => "IfcLocalTime",
Self::IfcLoop => "IfcLoop",
Self::IfcManifoldSolidBrep => "IfcManifoldSolidBrep",
Self::IfcMappedItem => "IfcMappedItem",
Self::IfcMaterial => "IfcMaterial",
Self::IfcMaterialClassificationRelationship => "IfcMaterialClassificationRelationship",
Self::IfcMaterialDefinitionRepresentation => "IfcMaterialDefinitionRepresentation",
Self::IfcMaterialLayer => "IfcMaterialLayer",
Self::IfcMaterialLayerSet => "IfcMaterialLayerSet",
Self::IfcMaterialLayerSetUsage => "IfcMaterialLayerSetUsage",
Self::IfcMaterialList => "IfcMaterialList",
Self::IfcMaterialProperties => "IfcMaterialProperties",
Self::IfcMeasureWithUnit => "IfcMeasureWithUnit",
Self::IfcMechanicalConcreteMaterialProperties => "IfcMechanicalConcreteMaterialProperties",
Self::IfcMechanicalFastener => "IfcMechanicalFastener",
Self::IfcMechanicalFastenerType => "IfcMechanicalFastenerType",
Self::IfcMechanicalMaterialProperties => "IfcMechanicalMaterialProperties",
Self::IfcMechanicalSteelMaterialProperties => "IfcMechanicalSteelMaterialProperties",
Self::IfcMember => "IfcMember",
Self::IfcMemberType => "IfcMemberType",
Self::IfcMetric => "IfcMetric",
Self::IfcMonetaryUnit => "IfcMonetaryUnit",
Self::IfcMotorConnectionType => "IfcMotorConnectionType",
Self::IfcMove => "IfcMove",
Self::IfcNamedUnit => "IfcNamedUnit",
Self::IfcObject => "IfcObject",
Self::IfcObjectDefinition => "IfcObjectDefinition",
Self::IfcObjectPlacement => "IfcObjectPlacement",
Self::IfcObjective => "IfcObjective",
Self::IfcOccupant => "IfcOccupant",
Self::IfcOffsetCurve2D => "IfcOffsetCurve2D",
Self::IfcOffsetCurve3D => "IfcOffsetCurve3D",
Self::IfcOneDirectionRepeatFactor => "IfcOneDirectionRepeatFactor",
Self::IfcOpenShell => "IfcOpenShell",
Self::IfcOpeningElement => "IfcOpeningElement",
Self::IfcOpticalMaterialProperties => "IfcOpticalMaterialProperties",
Self::IfcOrderAction => "IfcOrderAction",
Self::IfcOrganization => "IfcOrganization",
Self::IfcOrganizationRelationship => "IfcOrganizationRelationship",
Self::IfcOrientedEdge => "IfcOrientedEdge",
Self::IfcOutletType => "IfcOutletType",
Self::IfcOwnerHistory => "IfcOwnerHistory",
Self::IfcParameterizedProfileDef => "IfcParameterizedProfileDef",
Self::IfcPath => "IfcPath",
Self::IfcPerformanceHistory => "IfcPerformanceHistory",
Self::IfcPermeableCoveringProperties => "IfcPermeableCoveringProperties",
Self::IfcPermit => "IfcPermit",
Self::IfcPerson => "IfcPerson",
Self::IfcPersonAndOrganization => "IfcPersonAndOrganization",
Self::IfcPhysicalComplexQuantity => "IfcPhysicalComplexQuantity",
Self::IfcPhysicalQuantity => "IfcPhysicalQuantity",
Self::IfcPhysicalSimpleQuantity => "IfcPhysicalSimpleQuantity",
Self::IfcPile => "IfcPile",
Self::IfcPipeFittingType => "IfcPipeFittingType",
Self::IfcPipeSegmentType => "IfcPipeSegmentType",
Self::IfcPixelTexture => "IfcPixelTexture",
Self::IfcPlacement => "IfcPlacement",
Self::IfcPlanarBox => "IfcPlanarBox",
Self::IfcPlanarExtent => "IfcPlanarExtent",
Self::IfcPlane => "IfcPlane",
Self::IfcPlate => "IfcPlate",
Self::IfcPlateType => "IfcPlateType",
Self::IfcPoint => "IfcPoint",
Self::IfcPointOnCurve => "IfcPointOnCurve",
Self::IfcPointOnSurface => "IfcPointOnSurface",
Self::IfcPolyLoop => "IfcPolyLoop",
Self::IfcPolygonalBoundedHalfSpace => "IfcPolygonalBoundedHalfSpace",
Self::IfcPolyline => "IfcPolyline",
Self::IfcPort => "IfcPort",
Self::IfcPostalAddress => "IfcPostalAddress",
Self::IfcPreDefinedColour => "IfcPreDefinedColour",
Self::IfcPreDefinedCurveFont => "IfcPreDefinedCurveFont",
Self::IfcPreDefinedDimensionSymbol => "IfcPreDefinedDimensionSymbol",
Self::IfcPreDefinedItem => "IfcPreDefinedItem",
Self::IfcPreDefinedPointMarkerSymbol => "IfcPreDefinedPointMarkerSymbol",
Self::IfcPreDefinedSymbol => "IfcPreDefinedSymbol",
Self::IfcPreDefinedTerminatorSymbol => "IfcPreDefinedTerminatorSymbol",
Self::IfcPreDefinedTextFont => "IfcPreDefinedTextFont",
Self::IfcPresentationLayerAssignment => "IfcPresentationLayerAssignment",
Self::IfcPresentationLayerWithStyle => "IfcPresentationLayerWithStyle",
Self::IfcPresentationStyle => "IfcPresentationStyle",
Self::IfcPresentationStyleAssignment => "IfcPresentationStyleAssignment",
Self::IfcProcedure => "IfcProcedure",
Self::IfcProcess => "IfcProcess",
Self::IfcProduct => "IfcProduct",
Self::IfcProductDefinitionShape => "IfcProductDefinitionShape",
Self::IfcProductRepresentation => "IfcProductRepresentation",
Self::IfcProductsOfCombustionProperties => "IfcProductsOfCombustionProperties",
Self::IfcProfileDef => "IfcProfileDef",
Self::IfcProfileProperties => "IfcProfileProperties",
Self::IfcProject => "IfcProject",
Self::IfcProjectOrder => "IfcProjectOrder",
Self::IfcProjectOrderRecord => "IfcProjectOrderRecord",
Self::IfcProjectionCurve => "IfcProjectionCurve",
Self::IfcProjectionElement => "IfcProjectionElement",
Self::IfcProperty => "IfcProperty",
Self::IfcPropertyBoundedValue => "IfcPropertyBoundedValue",
Self::IfcPropertyConstraintRelationship => "IfcPropertyConstraintRelationship",
Self::IfcPropertyDefinition => "IfcPropertyDefinition",
Self::IfcPropertyDependencyRelationship => "IfcPropertyDependencyRelationship",
Self::IfcPropertyEnumeratedValue => "IfcPropertyEnumeratedValue",
Self::IfcPropertyEnumeration => "IfcPropertyEnumeration",
Self::IfcPropertyListValue => "IfcPropertyListValue",
Self::IfcPropertyReferenceValue => "IfcPropertyReferenceValue",
Self::IfcPropertySet => "IfcPropertySet",
Self::IfcPropertySetDefinition => "IfcPropertySetDefinition",
Self::IfcPropertySingleValue => "IfcPropertySingleValue",
Self::IfcPropertyTableValue => "IfcPropertyTableValue",
Self::IfcProtectiveDeviceType => "IfcProtectiveDeviceType",
Self::IfcProxy => "IfcProxy",
Self::IfcPumpType => "IfcPumpType",
Self::IfcQuantityArea => "IfcQuantityArea",
Self::IfcQuantityCount => "IfcQuantityCount",
Self::IfcQuantityLength => "IfcQuantityLength",
Self::IfcQuantityTime => "IfcQuantityTime",
Self::IfcQuantityVolume => "IfcQuantityVolume",
Self::IfcQuantityWeight => "IfcQuantityWeight",
Self::IfcRadiusDimension => "IfcRadiusDimension",
Self::IfcRailing => "IfcRailing",
Self::IfcRailingType => "IfcRailingType",
Self::IfcRamp => "IfcRamp",
Self::IfcRampFlight => "IfcRampFlight",
Self::IfcRampFlightType => "IfcRampFlightType",
Self::IfcRationalBezierCurve => "IfcRationalBezierCurve",
Self::IfcRectangleHollowProfileDef => "IfcRectangleHollowProfileDef",
Self::IfcRectangleProfileDef => "IfcRectangleProfileDef",
Self::IfcRectangularPyramid => "IfcRectangularPyramid",
Self::IfcRectangularTrimmedSurface => "IfcRectangularTrimmedSurface",
Self::IfcReferencesValueDocument => "IfcReferencesValueDocument",
Self::IfcRegularTimeSeries => "IfcRegularTimeSeries",
Self::IfcReinforcementBarProperties => "IfcReinforcementBarProperties",
Self::IfcReinforcementDefinitionProperties => "IfcReinforcementDefinitionProperties",
Self::IfcReinforcingBar => "IfcReinforcingBar",
Self::IfcReinforcingElement => "IfcReinforcingElement",
Self::IfcReinforcingMesh => "IfcReinforcingMesh",
Self::IfcRelAggregates => "IfcRelAggregates",
Self::IfcRelAssigns => "IfcRelAssigns",
Self::IfcRelAssignsTasks => "IfcRelAssignsTasks",
Self::IfcRelAssignsToActor => "IfcRelAssignsToActor",
Self::IfcRelAssignsToControl => "IfcRelAssignsToControl",
Self::IfcRelAssignsToGroup => "IfcRelAssignsToGroup",
Self::IfcRelAssignsToProcess => "IfcRelAssignsToProcess",
Self::IfcRelAssignsToProduct => "IfcRelAssignsToProduct",
Self::IfcRelAssignsToProjectOrder => "IfcRelAssignsToProjectOrder",
Self::IfcRelAssignsToResource => "IfcRelAssignsToResource",
Self::IfcRelAssociates => "IfcRelAssociates",
Self::IfcRelAssociatesAppliedValue => "IfcRelAssociatesAppliedValue",
Self::IfcRelAssociatesApproval => "IfcRelAssociatesApproval",
Self::IfcRelAssociatesClassification => "IfcRelAssociatesClassification",
Self::IfcRelAssociatesConstraint => "IfcRelAssociatesConstraint",
Self::IfcRelAssociatesDocument => "IfcRelAssociatesDocument",
Self::IfcRelAssociatesLibrary => "IfcRelAssociatesLibrary",
Self::IfcRelAssociatesMaterial => "IfcRelAssociatesMaterial",
Self::IfcRelAssociatesProfileProperties => "IfcRelAssociatesProfileProperties",
Self::IfcRelConnects => "IfcRelConnects",
Self::IfcRelConnectsElements => "IfcRelConnectsElements",
Self::IfcRelConnectsPathElements => "IfcRelConnectsPathElements",
Self::IfcRelConnectsPortToElement => "IfcRelConnectsPortToElement",
Self::IfcRelConnectsPorts => "IfcRelConnectsPorts",
Self::IfcRelConnectsStructuralActivity => "IfcRelConnectsStructuralActivity",
Self::IfcRelConnectsStructuralElement => "IfcRelConnectsStructuralElement",
Self::IfcRelConnectsStructuralMember => "IfcRelConnectsStructuralMember",
Self::IfcRelConnectsWithEccentricity => "IfcRelConnectsWithEccentricity",
Self::IfcRelConnectsWithRealizingElements => "IfcRelConnectsWithRealizingElements",
Self::IfcRelContainedInSpatialStructure => "IfcRelContainedInSpatialStructure",
Self::IfcRelCoversBldgElements => "IfcRelCoversBldgElements",
Self::IfcRelCoversSpaces => "IfcRelCoversSpaces",
Self::IfcRelDecomposes => "IfcRelDecomposes",
Self::IfcRelDefines => "IfcRelDefines",
Self::IfcRelDefinesByProperties => "IfcRelDefinesByProperties",
Self::IfcRelDefinesByType => "IfcRelDefinesByType",
Self::IfcRelFillsElement => "IfcRelFillsElement",
Self::IfcRelFlowControlElements => "IfcRelFlowControlElements",
Self::IfcRelInteractionRequirements => "IfcRelInteractionRequirements",
Self::IfcRelNests => "IfcRelNests",
Self::IfcRelOccupiesSpaces => "IfcRelOccupiesSpaces",
Self::IfcRelOverridesProperties => "IfcRelOverridesProperties",
Self::IfcRelProjectsElement => "IfcRelProjectsElement",
Self::IfcRelReferencedInSpatialStructure => "IfcRelReferencedInSpatialStructure",
Self::IfcRelSchedulesCostItems => "IfcRelSchedulesCostItems",
Self::IfcRelSequence => "IfcRelSequence",
Self::IfcRelServicesBuildings => "IfcRelServicesBuildings",
Self::IfcRelSpaceBoundary => "IfcRelSpaceBoundary",
Self::IfcRelVoidsElement => "IfcRelVoidsElement",
Self::IfcRelationship => "IfcRelationship",
Self::IfcRelaxation => "IfcRelaxation",
Self::IfcRepresentation => "IfcRepresentation",
Self::IfcRepresentationContext => "IfcRepresentationContext",
Self::IfcRepresentationItem => "IfcRepresentationItem",
Self::IfcRepresentationMap => "IfcRepresentationMap",
Self::IfcResource => "IfcResource",
Self::IfcRevolvedAreaSolid => "IfcRevolvedAreaSolid",
Self::IfcRibPlateProfileProperties => "IfcRibPlateProfileProperties",
Self::IfcRightCircularCone => "IfcRightCircularCone",
Self::IfcRightCircularCylinder => "IfcRightCircularCylinder",
Self::IfcRoof => "IfcRoof",
Self::IfcRoot => "IfcRoot",
Self::IfcRoundedEdgeFeature => "IfcRoundedEdgeFeature",
Self::IfcRoundedRectangleProfileDef => "IfcRoundedRectangleProfileDef",
Self::IfcSIUnit => "IfcSIUnit",
Self::IfcSanitaryTerminalType => "IfcSanitaryTerminalType",
Self::IfcScheduleTimeControl => "IfcScheduleTimeControl",
Self::IfcSectionProperties => "IfcSectionProperties",
Self::IfcSectionReinforcementProperties => "IfcSectionReinforcementProperties",
Self::IfcSectionedSpine => "IfcSectionedSpine",
Self::IfcSensorType => "IfcSensorType",
Self::IfcServiceLife => "IfcServiceLife",
Self::IfcServiceLifeFactor => "IfcServiceLifeFactor",
Self::IfcShapeAspect => "IfcShapeAspect",
Self::IfcShapeModel => "IfcShapeModel",
Self::IfcShapeRepresentation => "IfcShapeRepresentation",
Self::IfcShellBasedSurfaceModel => "IfcShellBasedSurfaceModel",
Self::IfcSimpleProperty => "IfcSimpleProperty",
Self::IfcSite => "IfcSite",
Self::IfcSlab => "IfcSlab",
Self::IfcSlabType => "IfcSlabType",
Self::IfcSlippageConnectionCondition => "IfcSlippageConnectionCondition",
Self::IfcSolidModel => "IfcSolidModel",
Self::IfcSoundProperties => "IfcSoundProperties",
Self::IfcSoundValue => "IfcSoundValue",
Self::IfcSpace => "IfcSpace",
Self::IfcSpaceHeaterType => "IfcSpaceHeaterType",
Self::IfcSpaceProgram => "IfcSpaceProgram",
Self::IfcSpaceThermalLoadProperties => "IfcSpaceThermalLoadProperties",
Self::IfcSpaceType => "IfcSpaceType",
Self::IfcSpatialStructureElement => "IfcSpatialStructureElement",
Self::IfcSpatialStructureElementType => "IfcSpatialStructureElementType",
Self::IfcSphere => "IfcSphere",
Self::IfcStackTerminalType => "IfcStackTerminalType",
Self::IfcStair => "IfcStair",
Self::IfcStairFlight => "IfcStairFlight",
Self::IfcStairFlightType => "IfcStairFlightType",
Self::IfcStructuralAction => "IfcStructuralAction",
Self::IfcStructuralActivity => "IfcStructuralActivity",
Self::IfcStructuralAnalysisModel => "IfcStructuralAnalysisModel",
Self::IfcStructuralConnection => "IfcStructuralConnection",
Self::IfcStructuralConnectionCondition => "IfcStructuralConnectionCondition",
Self::IfcStructuralCurveConnection => "IfcStructuralCurveConnection",
Self::IfcStructuralCurveMember => "IfcStructuralCurveMember",
Self::IfcStructuralCurveMemberVarying => "IfcStructuralCurveMemberVarying",
Self::IfcStructuralItem => "IfcStructuralItem",
Self::IfcStructuralLinearAction => "IfcStructuralLinearAction",
Self::IfcStructuralLinearActionVarying => "IfcStructuralLinearActionVarying",
Self::IfcStructuralLoad => "IfcStructuralLoad",
Self::IfcStructuralLoadGroup => "IfcStructuralLoadGroup",
Self::IfcStructuralLoadLinearForce => "IfcStructuralLoadLinearForce",
Self::IfcStructuralLoadPlanarForce => "IfcStructuralLoadPlanarForce",
Self::IfcStructuralLoadSingleDisplacement => "IfcStructuralLoadSingleDisplacement",
Self::IfcStructuralLoadSingleDisplacementDistortion => "IfcStructuralLoadSingleDisplacementDistortion",
Self::IfcStructuralLoadSingleForce => "IfcStructuralLoadSingleForce",
Self::IfcStructuralLoadSingleForceWarping => "IfcStructuralLoadSingleForceWarping",
Self::IfcStructuralLoadStatic => "IfcStructuralLoadStatic",
Self::IfcStructuralLoadTemperature => "IfcStructuralLoadTemperature",
Self::IfcStructuralMember => "IfcStructuralMember",
Self::IfcStructuralPlanarAction => "IfcStructuralPlanarAction",
Self::IfcStructuralPlanarActionVarying => "IfcStructuralPlanarActionVarying",
Self::IfcStructuralPointAction => "IfcStructuralPointAction",
Self::IfcStructuralPointConnection => "IfcStructuralPointConnection",
Self::IfcStructuralPointReaction => "IfcStructuralPointReaction",
Self::IfcStructuralProfileProperties => "IfcStructuralProfileProperties",
Self::IfcStructuralReaction => "IfcStructuralReaction",
Self::IfcStructuralResultGroup => "IfcStructuralResultGroup",
Self::IfcStructuralSteelProfileProperties => "IfcStructuralSteelProfileProperties",
Self::IfcStructuralSurfaceConnection => "IfcStructuralSurfaceConnection",
Self::IfcStructuralSurfaceMember => "IfcStructuralSurfaceMember",
Self::IfcStructuralSurfaceMemberVarying => "IfcStructuralSurfaceMemberVarying",
Self::IfcStructuredDimensionCallout => "IfcStructuredDimensionCallout",
Self::IfcStyleModel => "IfcStyleModel",
Self::IfcStyledItem => "IfcStyledItem",
Self::IfcStyledRepresentation => "IfcStyledRepresentation",
Self::IfcSubContractResource => "IfcSubContractResource",
Self::IfcSubedge => "IfcSubedge",
Self::IfcSurface => "IfcSurface",
Self::IfcSurfaceCurveSweptAreaSolid => "IfcSurfaceCurveSweptAreaSolid",
Self::IfcSurfaceOfLinearExtrusion => "IfcSurfaceOfLinearExtrusion",
Self::IfcSurfaceOfRevolution => "IfcSurfaceOfRevolution",
Self::IfcSurfaceStyle => "IfcSurfaceStyle",
Self::IfcSurfaceStyleLighting => "IfcSurfaceStyleLighting",
Self::IfcSurfaceStyleRefraction => "IfcSurfaceStyleRefraction",
Self::IfcSurfaceStyleRendering => "IfcSurfaceStyleRendering",
Self::IfcSurfaceStyleShading => "IfcSurfaceStyleShading",
Self::IfcSurfaceStyleWithTextures => "IfcSurfaceStyleWithTextures",
Self::IfcSurfaceTexture => "IfcSurfaceTexture",
Self::IfcSweptAreaSolid => "IfcSweptAreaSolid",
Self::IfcSweptDiskSolid => "IfcSweptDiskSolid",
Self::IfcSweptSurface => "IfcSweptSurface",
Self::IfcSwitchingDeviceType => "IfcSwitchingDeviceType",
Self::IfcSymbolStyle => "IfcSymbolStyle",
Self::IfcSystem => "IfcSystem",
Self::IfcSystemFurnitureElementType => "IfcSystemFurnitureElementType",
Self::IfcTShapeProfileDef => "IfcTShapeProfileDef",
Self::IfcTable => "IfcTable",
Self::IfcTableRow => "IfcTableRow",
Self::IfcTankType => "IfcTankType",
Self::IfcTask => "IfcTask",
Self::IfcTelecomAddress => "IfcTelecomAddress",
Self::IfcTendon => "IfcTendon",
Self::IfcTendonAnchor => "IfcTendonAnchor",
Self::IfcTerminatorSymbol => "IfcTerminatorSymbol",
Self::IfcTextLiteral => "IfcTextLiteral",
Self::IfcTextLiteralWithExtent => "IfcTextLiteralWithExtent",
Self::IfcTextStyle => "IfcTextStyle",
Self::IfcTextStyleFontModel => "IfcTextStyleFontModel",
Self::IfcTextStyleForDefinedFont => "IfcTextStyleForDefinedFont",
Self::IfcTextStyleTextModel => "IfcTextStyleTextModel",
Self::IfcTextStyleWithBoxCharacteristics => "IfcTextStyleWithBoxCharacteristics",
Self::IfcTextureCoordinate => "IfcTextureCoordinate",
Self::IfcTextureCoordinateGenerator => "IfcTextureCoordinateGenerator",
Self::IfcTextureMap => "IfcTextureMap",
Self::IfcTextureVertex => "IfcTextureVertex",
Self::IfcThermalMaterialProperties => "IfcThermalMaterialProperties",
Self::IfcTimeSeries => "IfcTimeSeries",
Self::IfcTimeSeriesReferenceRelationship => "IfcTimeSeriesReferenceRelationship",
Self::IfcTimeSeriesSchedule => "IfcTimeSeriesSchedule",
Self::IfcTimeSeriesValue => "IfcTimeSeriesValue",
Self::IfcTopologicalRepresentationItem => "IfcTopologicalRepresentationItem",
Self::IfcTopologyRepresentation => "IfcTopologyRepresentation",
Self::IfcTransformerType => "IfcTransformerType",
Self::IfcTransportElement => "IfcTransportElement",
Self::IfcTransportElementType => "IfcTransportElementType",
Self::IfcTrapeziumProfileDef => "IfcTrapeziumProfileDef",
Self::IfcTrimmedCurve => "IfcTrimmedCurve",
Self::IfcTubeBundleType => "IfcTubeBundleType",
Self::IfcTwoDirectionRepeatFactor => "IfcTwoDirectionRepeatFactor",
Self::IfcTypeObject => "IfcTypeObject",
Self::IfcTypeProduct => "IfcTypeProduct",
Self::IfcUShapeProfileDef => "IfcUShapeProfileDef",
Self::IfcUnitAssignment => "IfcUnitAssignment",
Self::IfcUnitaryEquipmentType => "IfcUnitaryEquipmentType",
Self::IfcValveType => "IfcValveType",
Self::IfcVector => "IfcVector",
Self::IfcVertex => "IfcVertex",
Self::IfcVertexBasedTextureMap => "IfcVertexBasedTextureMap",
Self::IfcVertexLoop => "IfcVertexLoop",
Self::IfcVertexPoint => "IfcVertexPoint",
Self::IfcVibrationIsolatorType => "IfcVibrationIsolatorType",
Self::IfcVirtualElement => "IfcVirtualElement",
Self::IfcVirtualGridIntersection => "IfcVirtualGridIntersection",
Self::IfcWall => "IfcWall",
Self::IfcWallStandardCase => "IfcWallStandardCase",
Self::IfcWallType => "IfcWallType",
Self::IfcWasteTerminalType => "IfcWasteTerminalType",
Self::IfcWaterProperties => "IfcWaterProperties",
Self::IfcWindow => "IfcWindow",
Self::IfcWindowLiningProperties => "IfcWindowLiningProperties",
Self::IfcWindowPanelProperties => "IfcWindowPanelProperties",
Self::IfcWindowStyle => "IfcWindowStyle",
Self::IfcWorkControl => "IfcWorkControl",
Self::IfcWorkPlan => "IfcWorkPlan",
Self::IfcWorkSchedule => "IfcWorkSchedule",
Self::IfcZShapeProfileDef => "IfcZShapeProfileDef",
Self::IfcZone => "IfcZone",
Self::Unknown(unknown) => unknown.as_str(),
}
}
/// Get parent type (if any)
pub fn parent(&self) -> Option<Self> {
match self {
Self::Ifc2DCompositeCurve => Some(Self::IfcCompositeCurve),
Self::IfcActionRequest => Some(Self::IfcControl),
Self::IfcActor => Some(Self::IfcObject),
Self::IfcActuatorType => Some(Self::IfcDistributionControlElementType),
Self::IfcAirTerminalBoxType => Some(Self::IfcFlowControllerType),
Self::IfcAirTerminalType => Some(Self::IfcFlowTerminalType),
Self::IfcAirToAirHeatRecoveryType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcAlarmType => Some(Self::IfcDistributionControlElementType),
Self::IfcAngularDimension => Some(Self::IfcDimensionCurveDirectedCallout),
Self::IfcAnnotation => Some(Self::IfcProduct),
Self::IfcAnnotationCurveOccurrence => Some(Self::IfcAnnotationOccurrence),
Self::IfcAnnotationFillArea => Some(Self::IfcGeometricRepresentationItem),
Self::IfcAnnotationFillAreaOccurrence => Some(Self::IfcAnnotationOccurrence),
Self::IfcAnnotationOccurrence => Some(Self::IfcStyledItem),
Self::IfcAnnotationSurface => Some(Self::IfcGeometricRepresentationItem),
Self::IfcAnnotationSurfaceOccurrence => Some(Self::IfcAnnotationOccurrence),
Self::IfcAnnotationSymbolOccurrence => Some(Self::IfcAnnotationOccurrence),
Self::IfcAnnotationTextOccurrence => Some(Self::IfcAnnotationOccurrence),
Self::IfcArbitraryClosedProfileDef => Some(Self::IfcProfileDef),
Self::IfcArbitraryOpenProfileDef => Some(Self::IfcProfileDef),
Self::IfcArbitraryProfileDefWithVoids => Some(Self::IfcArbitraryClosedProfileDef),
Self::IfcAsset => Some(Self::IfcGroup),
Self::IfcAsymmetricIShapeProfileDef => Some(Self::IfcIShapeProfileDef),
Self::IfcAxis1Placement => Some(Self::IfcPlacement),
Self::IfcAxis2Placement2D => Some(Self::IfcPlacement),
Self::IfcAxis2Placement3D => Some(Self::IfcPlacement),
Self::IfcBSplineCurve => Some(Self::IfcBoundedCurve),
Self::IfcBeam => Some(Self::IfcBuildingElement),
Self::IfcBeamType => Some(Self::IfcBuildingElementType),
Self::IfcBezierCurve => Some(Self::IfcBSplineCurve),
Self::IfcBlobTexture => Some(Self::IfcSurfaceTexture),
Self::IfcBlock => Some(Self::IfcCsgPrimitive3D),
Self::IfcBoilerType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcBooleanClippingResult => Some(Self::IfcBooleanResult),
Self::IfcBooleanResult => Some(Self::IfcGeometricRepresentationItem),
Self::IfcBoundaryEdgeCondition => Some(Self::IfcBoundaryCondition),
Self::IfcBoundaryFaceCondition => Some(Self::IfcBoundaryCondition),
Self::IfcBoundaryNodeCondition => Some(Self::IfcBoundaryCondition),
Self::IfcBoundaryNodeConditionWarping => Some(Self::IfcBoundaryNodeCondition),
Self::IfcBoundedCurve => Some(Self::IfcCurve),
Self::IfcBoundedSurface => Some(Self::IfcSurface),
Self::IfcBoundingBox => Some(Self::IfcGeometricRepresentationItem),
Self::IfcBoxedHalfSpace => Some(Self::IfcHalfSpaceSolid),
Self::IfcBuilding => Some(Self::IfcSpatialStructureElement),
Self::IfcBuildingElement => Some(Self::IfcElement),
Self::IfcBuildingElementComponent => Some(Self::IfcBuildingElement),
Self::IfcBuildingElementPart => Some(Self::IfcBuildingElementComponent),
Self::IfcBuildingElementProxy => Some(Self::IfcBuildingElement),
Self::IfcBuildingElementProxyType => Some(Self::IfcBuildingElementType),
Self::IfcBuildingElementType => Some(Self::IfcElementType),
Self::IfcBuildingStorey => Some(Self::IfcSpatialStructureElement),
Self::IfcCShapeProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcCableCarrierFittingType => Some(Self::IfcFlowFittingType),
Self::IfcCableCarrierSegmentType => Some(Self::IfcFlowSegmentType),
Self::IfcCableSegmentType => Some(Self::IfcFlowSegmentType),
Self::IfcCartesianPoint => Some(Self::IfcPoint),
Self::IfcCartesianTransformationOperator => Some(Self::IfcGeometricRepresentationItem),
Self::IfcCartesianTransformationOperator2D => Some(Self::IfcCartesianTransformationOperator),
Self::IfcCartesianTransformationOperator2DnonUniform => Some(Self::IfcCartesianTransformationOperator2D),
Self::IfcCartesianTransformationOperator3D => Some(Self::IfcCartesianTransformationOperator),
Self::IfcCartesianTransformationOperator3DnonUniform => Some(Self::IfcCartesianTransformationOperator3D),
Self::IfcCenterLineProfileDef => Some(Self::IfcArbitraryOpenProfileDef),
Self::IfcChamferEdgeFeature => Some(Self::IfcEdgeFeature),
Self::IfcChillerType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcCircle => Some(Self::IfcConic),
Self::IfcCircleHollowProfileDef => Some(Self::IfcCircleProfileDef),
Self::IfcCircleProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcClassificationReference => Some(Self::IfcExternalReference),
Self::IfcClosedShell => Some(Self::IfcConnectedFaceSet),
Self::IfcCoilType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcColourRgb => Some(Self::IfcColourSpecification),
Self::IfcColumn => Some(Self::IfcBuildingElement),
Self::IfcColumnType => Some(Self::IfcBuildingElementType),
Self::IfcComplexProperty => Some(Self::IfcProperty),
Self::IfcCompositeCurve => Some(Self::IfcBoundedCurve),
Self::IfcCompositeCurveSegment => Some(Self::IfcGeometricRepresentationItem),
Self::IfcCompositeProfileDef => Some(Self::IfcProfileDef),
Self::IfcCompressorType => Some(Self::IfcFlowMovingDeviceType),
Self::IfcCondenserType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcCondition => Some(Self::IfcGroup),
Self::IfcConditionCriterion => Some(Self::IfcControl),
Self::IfcConic => Some(Self::IfcCurve),
Self::IfcConnectedFaceSet => Some(Self::IfcTopologicalRepresentationItem),
Self::IfcConnectionCurveGeometry => Some(Self::IfcConnectionGeometry),
Self::IfcConnectionPointEccentricity => Some(Self::IfcConnectionPointGeometry),
Self::IfcConnectionPointGeometry => Some(Self::IfcConnectionGeometry),
Self::IfcConnectionPortGeometry => Some(Self::IfcConnectionGeometry),
Self::IfcConnectionSurfaceGeometry => Some(Self::IfcConnectionGeometry),
Self::IfcConstructionEquipmentResource => Some(Self::IfcConstructionResource),
Self::IfcConstructionMaterialResource => Some(Self::IfcConstructionResource),
Self::IfcConstructionProductResource => Some(Self::IfcConstructionResource),
Self::IfcConstructionResource => Some(Self::IfcResource),
Self::IfcContextDependentUnit => Some(Self::IfcNamedUnit),
Self::IfcControl => Some(Self::IfcObject),
Self::IfcControllerType => Some(Self::IfcDistributionControlElementType),
Self::IfcConversionBasedUnit => Some(Self::IfcNamedUnit),
Self::IfcCooledBeamType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcCoolingTowerType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcCostItem => Some(Self::IfcControl),
Self::IfcCostSchedule => Some(Self::IfcControl),
Self::IfcCostValue => Some(Self::IfcAppliedValue),
Self::IfcCovering => Some(Self::IfcBuildingElement),
Self::IfcCoveringType => Some(Self::IfcBuildingElementType),
Self::IfcCraneRailAShapeProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcCraneRailFShapeProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcCrewResource => Some(Self::IfcConstructionResource),
Self::IfcCsgPrimitive3D => Some(Self::IfcGeometricRepresentationItem),
Self::IfcCsgSolid => Some(Self::IfcSolidModel),
Self::IfcCurtainWall => Some(Self::IfcBuildingElement),
Self::IfcCurtainWallType => Some(Self::IfcBuildingElementType),
Self::IfcCurve => Some(Self::IfcGeometricRepresentationItem),
Self::IfcCurveBoundedPlane => Some(Self::IfcBoundedSurface),
Self::IfcCurveStyle => Some(Self::IfcPresentationStyle),
Self::IfcDamperType => Some(Self::IfcFlowControllerType),
Self::IfcDefinedSymbol => Some(Self::IfcGeometricRepresentationItem),
Self::IfcDerivedProfileDef => Some(Self::IfcProfileDef),
Self::IfcDiameterDimension => Some(Self::IfcDimensionCurveDirectedCallout),
Self::IfcDimensionCalloutRelationship => Some(Self::IfcDraughtingCalloutRelationship),
Self::IfcDimensionCurve => Some(Self::IfcAnnotationCurveOccurrence),
Self::IfcDimensionCurveDirectedCallout => Some(Self::IfcDraughtingCallout),
Self::IfcDimensionCurveTerminator => Some(Self::IfcTerminatorSymbol),
Self::IfcDimensionPair => Some(Self::IfcDraughtingCalloutRelationship),
Self::IfcDirection => Some(Self::IfcGeometricRepresentationItem),
Self::IfcDiscreteAccessory => Some(Self::IfcElementComponent),
Self::IfcDiscreteAccessoryType => Some(Self::IfcElementComponentType),
Self::IfcDistributionChamberElement => Some(Self::IfcDistributionFlowElement),
Self::IfcDistributionChamberElementType => Some(Self::IfcDistributionFlowElementType),
Self::IfcDistributionControlElement => Some(Self::IfcDistributionElement),
Self::IfcDistributionControlElementType => Some(Self::IfcDistributionElementType),
Self::IfcDistributionElement => Some(Self::IfcElement),
Self::IfcDistributionElementType => Some(Self::IfcElementType),
Self::IfcDistributionFlowElement => Some(Self::IfcDistributionElement),
Self::IfcDistributionFlowElementType => Some(Self::IfcDistributionElementType),
Self::IfcDistributionPort => Some(Self::IfcPort),
Self::IfcDocumentReference => Some(Self::IfcExternalReference),
Self::IfcDoor => Some(Self::IfcBuildingElement),
Self::IfcDoorLiningProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcDoorPanelProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcDoorStyle => Some(Self::IfcTypeProduct),
Self::IfcDraughtingCallout => Some(Self::IfcGeometricRepresentationItem),
Self::IfcDraughtingPreDefinedColour => Some(Self::IfcPreDefinedColour),
Self::IfcDraughtingPreDefinedCurveFont => Some(Self::IfcPreDefinedCurveFont),
Self::IfcDraughtingPreDefinedTextFont => Some(Self::IfcPreDefinedTextFont),
Self::IfcDuctFittingType => Some(Self::IfcFlowFittingType),
Self::IfcDuctSegmentType => Some(Self::IfcFlowSegmentType),
Self::IfcDuctSilencerType => Some(Self::IfcFlowTreatmentDeviceType),
Self::IfcEdge => Some(Self::IfcTopologicalRepresentationItem),
Self::IfcEdgeCurve => Some(Self::IfcEdge),
Self::IfcEdgeFeature => Some(Self::IfcFeatureElementSubtraction),
Self::IfcEdgeLoop => Some(Self::IfcLoop),
Self::IfcElectricApplianceType => Some(Self::IfcFlowTerminalType),
Self::IfcElectricDistributionPoint => Some(Self::IfcFlowController),
Self::IfcElectricFlowStorageDeviceType => Some(Self::IfcFlowStorageDeviceType),
Self::IfcElectricGeneratorType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcElectricHeaterType => Some(Self::IfcFlowTerminalType),
Self::IfcElectricMotorType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcElectricTimeControlType => Some(Self::IfcFlowControllerType),
Self::IfcElectricalBaseProperties => Some(Self::IfcEnergyProperties),
Self::IfcElectricalCircuit => Some(Self::IfcSystem),
Self::IfcElectricalElement => Some(Self::IfcElement),
Self::IfcElement => Some(Self::IfcProduct),
Self::IfcElementAssembly => Some(Self::IfcElement),
Self::IfcElementComponent => Some(Self::IfcElement),
Self::IfcElementComponentType => Some(Self::IfcElementType),
Self::IfcElementQuantity => Some(Self::IfcPropertySetDefinition),
Self::IfcElementType => Some(Self::IfcTypeProduct),
Self::IfcElementarySurface => Some(Self::IfcSurface),
Self::IfcEllipse => Some(Self::IfcConic),
Self::IfcEllipseProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcEnergyConversionDevice => Some(Self::IfcDistributionFlowElement),
Self::IfcEnergyConversionDeviceType => Some(Self::IfcDistributionFlowElementType),
Self::IfcEnergyProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcEnvironmentalImpactValue => Some(Self::IfcAppliedValue),
Self::IfcEquipmentElement => Some(Self::IfcElement),
Self::IfcEquipmentStandard => Some(Self::IfcControl),
Self::IfcEvaporativeCoolerType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcEvaporatorType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcExtendedMaterialProperties => Some(Self::IfcMaterialProperties),
Self::IfcExternallyDefinedHatchStyle => Some(Self::IfcExternalReference),
Self::IfcExternallyDefinedSurfaceStyle => Some(Self::IfcExternalReference),
Self::IfcExternallyDefinedSymbol => Some(Self::IfcExternalReference),
Self::IfcExternallyDefinedTextFont => Some(Self::IfcExternalReference),
Self::IfcExtrudedAreaSolid => Some(Self::IfcSweptAreaSolid),
Self::IfcFace => Some(Self::IfcTopologicalRepresentationItem),
Self::IfcFaceBasedSurfaceModel => Some(Self::IfcGeometricRepresentationItem),
Self::IfcFaceBound => Some(Self::IfcTopologicalRepresentationItem),
Self::IfcFaceOuterBound => Some(Self::IfcFaceBound),
Self::IfcFaceSurface => Some(Self::IfcFace),
Self::IfcFacetedBrep => Some(Self::IfcManifoldSolidBrep),
Self::IfcFacetedBrepWithVoids => Some(Self::IfcManifoldSolidBrep),
Self::IfcFailureConnectionCondition => Some(Self::IfcStructuralConnectionCondition),
Self::IfcFanType => Some(Self::IfcFlowMovingDeviceType),
Self::IfcFastener => Some(Self::IfcElementComponent),
Self::IfcFastenerType => Some(Self::IfcElementComponentType),
Self::IfcFeatureElement => Some(Self::IfcElement),
Self::IfcFeatureElementAddition => Some(Self::IfcFeatureElement),
Self::IfcFeatureElementSubtraction => Some(Self::IfcFeatureElement),
Self::IfcFillAreaStyle => Some(Self::IfcPresentationStyle),
Self::IfcFillAreaStyleHatching => Some(Self::IfcGeometricRepresentationItem),
Self::IfcFillAreaStyleTileSymbolWithStyle => Some(Self::IfcGeometricRepresentationItem),
Self::IfcFillAreaStyleTiles => Some(Self::IfcGeometricRepresentationItem),
Self::IfcFilterType => Some(Self::IfcFlowTreatmentDeviceType),
Self::IfcFireSuppressionTerminalType => Some(Self::IfcFlowTerminalType),
Self::IfcFlowController => Some(Self::IfcDistributionFlowElement),
Self::IfcFlowControllerType => Some(Self::IfcDistributionFlowElementType),
Self::IfcFlowFitting => Some(Self::IfcDistributionFlowElement),
Self::IfcFlowFittingType => Some(Self::IfcDistributionFlowElementType),
Self::IfcFlowInstrumentType => Some(Self::IfcDistributionControlElementType),
Self::IfcFlowMeterType => Some(Self::IfcFlowControllerType),
Self::IfcFlowMovingDevice => Some(Self::IfcDistributionFlowElement),
Self::IfcFlowMovingDeviceType => Some(Self::IfcDistributionFlowElementType),
Self::IfcFlowSegment => Some(Self::IfcDistributionFlowElement),
Self::IfcFlowSegmentType => Some(Self::IfcDistributionFlowElementType),
Self::IfcFlowStorageDevice => Some(Self::IfcDistributionFlowElement),
Self::IfcFlowStorageDeviceType => Some(Self::IfcDistributionFlowElementType),
Self::IfcFlowTerminal => Some(Self::IfcDistributionFlowElement),
Self::IfcFlowTerminalType => Some(Self::IfcDistributionFlowElementType),
Self::IfcFlowTreatmentDevice => Some(Self::IfcDistributionFlowElement),
Self::IfcFlowTreatmentDeviceType => Some(Self::IfcDistributionFlowElementType),
Self::IfcFluidFlowProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcFooting => Some(Self::IfcBuildingElement),
Self::IfcFuelProperties => Some(Self::IfcMaterialProperties),
Self::IfcFurnishingElement => Some(Self::IfcElement),
Self::IfcFurnishingElementType => Some(Self::IfcElementType),
Self::IfcFurnitureStandard => Some(Self::IfcControl),
Self::IfcFurnitureType => Some(Self::IfcFurnishingElementType),
Self::IfcGasTerminalType => Some(Self::IfcFlowTerminalType),
Self::IfcGeneralMaterialProperties => Some(Self::IfcMaterialProperties),
Self::IfcGeneralProfileProperties => Some(Self::IfcProfileProperties),
Self::IfcGeometricCurveSet => Some(Self::IfcGeometricSet),
Self::IfcGeometricRepresentationContext => Some(Self::IfcRepresentationContext),
Self::IfcGeometricRepresentationItem => Some(Self::IfcRepresentationItem),
Self::IfcGeometricRepresentationSubContext => Some(Self::IfcGeometricRepresentationContext),
Self::IfcGeometricSet => Some(Self::IfcGeometricRepresentationItem),
Self::IfcGrid => Some(Self::IfcProduct),
Self::IfcGridPlacement => Some(Self::IfcObjectPlacement),
Self::IfcGroup => Some(Self::IfcObject),
Self::IfcHalfSpaceSolid => Some(Self::IfcGeometricRepresentationItem),
Self::IfcHeatExchangerType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcHumidifierType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcHygroscopicMaterialProperties => Some(Self::IfcMaterialProperties),
Self::IfcIShapeProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcImageTexture => Some(Self::IfcSurfaceTexture),
Self::IfcInventory => Some(Self::IfcGroup),
Self::IfcIrregularTimeSeries => Some(Self::IfcTimeSeries),
Self::IfcJunctionBoxType => Some(Self::IfcFlowFittingType),
Self::IfcLShapeProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcLaborResource => Some(Self::IfcConstructionResource),
Self::IfcLampType => Some(Self::IfcFlowTerminalType),
Self::IfcLibraryReference => Some(Self::IfcExternalReference),
Self::IfcLightFixtureType => Some(Self::IfcFlowTerminalType),
Self::IfcLightSource => Some(Self::IfcGeometricRepresentationItem),
Self::IfcLightSourceAmbient => Some(Self::IfcLightSource),
Self::IfcLightSourceDirectional => Some(Self::IfcLightSource),
Self::IfcLightSourceGoniometric => Some(Self::IfcLightSource),
Self::IfcLightSourcePositional => Some(Self::IfcLightSource),
Self::IfcLightSourceSpot => Some(Self::IfcLightSourcePositional),
Self::IfcLine => Some(Self::IfcCurve),
Self::IfcLinearDimension => Some(Self::IfcDimensionCurveDirectedCallout),
Self::IfcLocalPlacement => Some(Self::IfcObjectPlacement),
Self::IfcLoop => Some(Self::IfcTopologicalRepresentationItem),
Self::IfcManifoldSolidBrep => Some(Self::IfcSolidModel),
Self::IfcMappedItem => Some(Self::IfcRepresentationItem),
Self::IfcMaterialDefinitionRepresentation => Some(Self::IfcProductRepresentation),
Self::IfcMechanicalConcreteMaterialProperties => Some(Self::IfcMechanicalMaterialProperties),
Self::IfcMechanicalFastener => Some(Self::IfcFastener),
Self::IfcMechanicalFastenerType => Some(Self::IfcFastenerType),
Self::IfcMechanicalMaterialProperties => Some(Self::IfcMaterialProperties),
Self::IfcMechanicalSteelMaterialProperties => Some(Self::IfcMechanicalMaterialProperties),
Self::IfcMember => Some(Self::IfcBuildingElement),
Self::IfcMemberType => Some(Self::IfcBuildingElementType),
Self::IfcMetric => Some(Self::IfcConstraint),
Self::IfcMotorConnectionType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcMove => Some(Self::IfcTask),
Self::IfcObject => Some(Self::IfcObjectDefinition),
Self::IfcObjectDefinition => Some(Self::IfcRoot),
Self::IfcObjective => Some(Self::IfcConstraint),
Self::IfcOccupant => Some(Self::IfcActor),
Self::IfcOffsetCurve2D => Some(Self::IfcCurve),
Self::IfcOffsetCurve3D => Some(Self::IfcCurve),
Self::IfcOneDirectionRepeatFactor => Some(Self::IfcGeometricRepresentationItem),
Self::IfcOpenShell => Some(Self::IfcConnectedFaceSet),
Self::IfcOpeningElement => Some(Self::IfcFeatureElementSubtraction),
Self::IfcOpticalMaterialProperties => Some(Self::IfcMaterialProperties),
Self::IfcOrderAction => Some(Self::IfcTask),
Self::IfcOrientedEdge => Some(Self::IfcEdge),
Self::IfcOutletType => Some(Self::IfcFlowTerminalType),
Self::IfcParameterizedProfileDef => Some(Self::IfcProfileDef),
Self::IfcPath => Some(Self::IfcTopologicalRepresentationItem),
Self::IfcPerformanceHistory => Some(Self::IfcControl),
Self::IfcPermeableCoveringProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcPermit => Some(Self::IfcControl),
Self::IfcPhysicalComplexQuantity => Some(Self::IfcPhysicalQuantity),
Self::IfcPhysicalSimpleQuantity => Some(Self::IfcPhysicalQuantity),
Self::IfcPile => Some(Self::IfcBuildingElement),
Self::IfcPipeFittingType => Some(Self::IfcFlowFittingType),
Self::IfcPipeSegmentType => Some(Self::IfcFlowSegmentType),
Self::IfcPixelTexture => Some(Self::IfcSurfaceTexture),
Self::IfcPlacement => Some(Self::IfcGeometricRepresentationItem),
Self::IfcPlanarBox => Some(Self::IfcPlanarExtent),
Self::IfcPlanarExtent => Some(Self::IfcGeometricRepresentationItem),
Self::IfcPlane => Some(Self::IfcElementarySurface),
Self::IfcPlate => Some(Self::IfcBuildingElement),
Self::IfcPlateType => Some(Self::IfcBuildingElementType),
Self::IfcPoint => Some(Self::IfcGeometricRepresentationItem),
Self::IfcPointOnCurve => Some(Self::IfcPoint),
Self::IfcPointOnSurface => Some(Self::IfcPoint),
Self::IfcPolyLoop => Some(Self::IfcLoop),
Self::IfcPolygonalBoundedHalfSpace => Some(Self::IfcHalfSpaceSolid),
Self::IfcPolyline => Some(Self::IfcBoundedCurve),
Self::IfcPort => Some(Self::IfcProduct),
Self::IfcPostalAddress => Some(Self::IfcAddress),
Self::IfcPreDefinedColour => Some(Self::IfcPreDefinedItem),
Self::IfcPreDefinedCurveFont => Some(Self::IfcPreDefinedItem),
Self::IfcPreDefinedDimensionSymbol => Some(Self::IfcPreDefinedSymbol),
Self::IfcPreDefinedPointMarkerSymbol => Some(Self::IfcPreDefinedSymbol),
Self::IfcPreDefinedSymbol => Some(Self::IfcPreDefinedItem),
Self::IfcPreDefinedTerminatorSymbol => Some(Self::IfcPreDefinedSymbol),
Self::IfcPreDefinedTextFont => Some(Self::IfcPreDefinedItem),
Self::IfcPresentationLayerWithStyle => Some(Self::IfcPresentationLayerAssignment),
Self::IfcProcedure => Some(Self::IfcProcess),
Self::IfcProcess => Some(Self::IfcObject),
Self::IfcProduct => Some(Self::IfcObject),
Self::IfcProductDefinitionShape => Some(Self::IfcProductRepresentation),
Self::IfcProductsOfCombustionProperties => Some(Self::IfcMaterialProperties),
Self::IfcProject => Some(Self::IfcObject),
Self::IfcProjectOrder => Some(Self::IfcControl),
Self::IfcProjectOrderRecord => Some(Self::IfcControl),
Self::IfcProjectionCurve => Some(Self::IfcAnnotationCurveOccurrence),
Self::IfcProjectionElement => Some(Self::IfcFeatureElementAddition),
Self::IfcPropertyBoundedValue => Some(Self::IfcSimpleProperty),
Self::IfcPropertyDefinition => Some(Self::IfcRoot),
Self::IfcPropertyEnumeratedValue => Some(Self::IfcSimpleProperty),
Self::IfcPropertyListValue => Some(Self::IfcSimpleProperty),
Self::IfcPropertyReferenceValue => Some(Self::IfcSimpleProperty),
Self::IfcPropertySet => Some(Self::IfcPropertySetDefinition),
Self::IfcPropertySetDefinition => Some(Self::IfcPropertyDefinition),
Self::IfcPropertySingleValue => Some(Self::IfcSimpleProperty),
Self::IfcPropertyTableValue => Some(Self::IfcSimpleProperty),
Self::IfcProtectiveDeviceType => Some(Self::IfcFlowControllerType),
Self::IfcProxy => Some(Self::IfcProduct),
Self::IfcPumpType => Some(Self::IfcFlowMovingDeviceType),
Self::IfcQuantityArea => Some(Self::IfcPhysicalSimpleQuantity),
Self::IfcQuantityCount => Some(Self::IfcPhysicalSimpleQuantity),
Self::IfcQuantityLength => Some(Self::IfcPhysicalSimpleQuantity),
Self::IfcQuantityTime => Some(Self::IfcPhysicalSimpleQuantity),
Self::IfcQuantityVolume => Some(Self::IfcPhysicalSimpleQuantity),
Self::IfcQuantityWeight => Some(Self::IfcPhysicalSimpleQuantity),
Self::IfcRadiusDimension => Some(Self::IfcDimensionCurveDirectedCallout),
Self::IfcRailing => Some(Self::IfcBuildingElement),
Self::IfcRailingType => Some(Self::IfcBuildingElementType),
Self::IfcRamp => Some(Self::IfcBuildingElement),
Self::IfcRampFlight => Some(Self::IfcBuildingElement),
Self::IfcRampFlightType => Some(Self::IfcBuildingElementType),
Self::IfcRationalBezierCurve => Some(Self::IfcBezierCurve),
Self::IfcRectangleHollowProfileDef => Some(Self::IfcRectangleProfileDef),
Self::IfcRectangleProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcRectangularPyramid => Some(Self::IfcCsgPrimitive3D),
Self::IfcRectangularTrimmedSurface => Some(Self::IfcBoundedSurface),
Self::IfcRegularTimeSeries => Some(Self::IfcTimeSeries),
Self::IfcReinforcementDefinitionProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcReinforcingBar => Some(Self::IfcReinforcingElement),
Self::IfcReinforcingElement => Some(Self::IfcBuildingElementComponent),
Self::IfcReinforcingMesh => Some(Self::IfcReinforcingElement),
Self::IfcRelAggregates => Some(Self::IfcRelDecomposes),
Self::IfcRelAssigns => Some(Self::IfcRelationship),
Self::IfcRelAssignsTasks => Some(Self::IfcRelAssignsToControl),
Self::IfcRelAssignsToActor => Some(Self::IfcRelAssigns),
Self::IfcRelAssignsToControl => Some(Self::IfcRelAssigns),
Self::IfcRelAssignsToGroup => Some(Self::IfcRelAssigns),
Self::IfcRelAssignsToProcess => Some(Self::IfcRelAssigns),
Self::IfcRelAssignsToProduct => Some(Self::IfcRelAssigns),
Self::IfcRelAssignsToProjectOrder => Some(Self::IfcRelAssignsToControl),
Self::IfcRelAssignsToResource => Some(Self::IfcRelAssigns),
Self::IfcRelAssociates => Some(Self::IfcRelationship),
Self::IfcRelAssociatesAppliedValue => Some(Self::IfcRelAssociates),
Self::IfcRelAssociatesApproval => Some(Self::IfcRelAssociates),
Self::IfcRelAssociatesClassification => Some(Self::IfcRelAssociates),
Self::IfcRelAssociatesConstraint => Some(Self::IfcRelAssociates),
Self::IfcRelAssociatesDocument => Some(Self::IfcRelAssociates),
Self::IfcRelAssociatesLibrary => Some(Self::IfcRelAssociates),
Self::IfcRelAssociatesMaterial => Some(Self::IfcRelAssociates),
Self::IfcRelAssociatesProfileProperties => Some(Self::IfcRelAssociates),
Self::IfcRelConnects => Some(Self::IfcRelationship),
Self::IfcRelConnectsElements => Some(Self::IfcRelConnects),
Self::IfcRelConnectsPathElements => Some(Self::IfcRelConnectsElements),
Self::IfcRelConnectsPortToElement => Some(Self::IfcRelConnects),
Self::IfcRelConnectsPorts => Some(Self::IfcRelConnects),
Self::IfcRelConnectsStructuralActivity => Some(Self::IfcRelConnects),
Self::IfcRelConnectsStructuralElement => Some(Self::IfcRelConnects),
Self::IfcRelConnectsStructuralMember => Some(Self::IfcRelConnects),
Self::IfcRelConnectsWithEccentricity => Some(Self::IfcRelConnectsStructuralMember),
Self::IfcRelConnectsWithRealizingElements => Some(Self::IfcRelConnectsElements),
Self::IfcRelContainedInSpatialStructure => Some(Self::IfcRelConnects),
Self::IfcRelCoversBldgElements => Some(Self::IfcRelConnects),
Self::IfcRelCoversSpaces => Some(Self::IfcRelConnects),
Self::IfcRelDecomposes => Some(Self::IfcRelationship),
Self::IfcRelDefines => Some(Self::IfcRelationship),
Self::IfcRelDefinesByProperties => Some(Self::IfcRelDefines),
Self::IfcRelDefinesByType => Some(Self::IfcRelDefines),
Self::IfcRelFillsElement => Some(Self::IfcRelConnects),
Self::IfcRelFlowControlElements => Some(Self::IfcRelConnects),
Self::IfcRelInteractionRequirements => Some(Self::IfcRelConnects),
Self::IfcRelNests => Some(Self::IfcRelDecomposes),
Self::IfcRelOccupiesSpaces => Some(Self::IfcRelAssignsToActor),
Self::IfcRelOverridesProperties => Some(Self::IfcRelDefinesByProperties),
Self::IfcRelProjectsElement => Some(Self::IfcRelConnects),
Self::IfcRelReferencedInSpatialStructure => Some(Self::IfcRelConnects),
Self::IfcRelSchedulesCostItems => Some(Self::IfcRelAssignsToControl),
Self::IfcRelSequence => Some(Self::IfcRelConnects),
Self::IfcRelServicesBuildings => Some(Self::IfcRelConnects),
Self::IfcRelSpaceBoundary => Some(Self::IfcRelConnects),
Self::IfcRelVoidsElement => Some(Self::IfcRelConnects),
Self::IfcRelationship => Some(Self::IfcRoot),
Self::IfcResource => Some(Self::IfcObject),
Self::IfcRevolvedAreaSolid => Some(Self::IfcSweptAreaSolid),
Self::IfcRibPlateProfileProperties => Some(Self::IfcProfileProperties),
Self::IfcRightCircularCone => Some(Self::IfcCsgPrimitive3D),
Self::IfcRightCircularCylinder => Some(Self::IfcCsgPrimitive3D),
Self::IfcRoof => Some(Self::IfcBuildingElement),
Self::IfcRoundedEdgeFeature => Some(Self::IfcEdgeFeature),
Self::IfcRoundedRectangleProfileDef => Some(Self::IfcRectangleProfileDef),
Self::IfcSIUnit => Some(Self::IfcNamedUnit),
Self::IfcSanitaryTerminalType => Some(Self::IfcFlowTerminalType),
Self::IfcScheduleTimeControl => Some(Self::IfcControl),
Self::IfcSectionedSpine => Some(Self::IfcGeometricRepresentationItem),
Self::IfcSensorType => Some(Self::IfcDistributionControlElementType),
Self::IfcServiceLife => Some(Self::IfcControl),
Self::IfcServiceLifeFactor => Some(Self::IfcPropertySetDefinition),
Self::IfcShapeModel => Some(Self::IfcRepresentation),
Self::IfcShapeRepresentation => Some(Self::IfcShapeModel),
Self::IfcShellBasedSurfaceModel => Some(Self::IfcGeometricRepresentationItem),
Self::IfcSimpleProperty => Some(Self::IfcProperty),
Self::IfcSite => Some(Self::IfcSpatialStructureElement),
Self::IfcSlab => Some(Self::IfcBuildingElement),
Self::IfcSlabType => Some(Self::IfcBuildingElementType),
Self::IfcSlippageConnectionCondition => Some(Self::IfcStructuralConnectionCondition),
Self::IfcSolidModel => Some(Self::IfcGeometricRepresentationItem),
Self::IfcSoundProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcSoundValue => Some(Self::IfcPropertySetDefinition),
Self::IfcSpace => Some(Self::IfcSpatialStructureElement),
Self::IfcSpaceHeaterType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcSpaceProgram => Some(Self::IfcControl),
Self::IfcSpaceThermalLoadProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcSpaceType => Some(Self::IfcSpatialStructureElementType),
Self::IfcSpatialStructureElement => Some(Self::IfcProduct),
Self::IfcSpatialStructureElementType => Some(Self::IfcElementType),
Self::IfcSphere => Some(Self::IfcCsgPrimitive3D),
Self::IfcStackTerminalType => Some(Self::IfcFlowTerminalType),
Self::IfcStair => Some(Self::IfcBuildingElement),
Self::IfcStairFlight => Some(Self::IfcBuildingElement),
Self::IfcStairFlightType => Some(Self::IfcBuildingElementType),
Self::IfcStructuralAction => Some(Self::IfcStructuralActivity),
Self::IfcStructuralActivity => Some(Self::IfcProduct),
Self::IfcStructuralAnalysisModel => Some(Self::IfcSystem),
Self::IfcStructuralConnection => Some(Self::IfcStructuralItem),
Self::IfcStructuralCurveConnection => Some(Self::IfcStructuralConnection),
Self::IfcStructuralCurveMember => Some(Self::IfcStructuralMember),
Self::IfcStructuralCurveMemberVarying => Some(Self::IfcStructuralCurveMember),
Self::IfcStructuralItem => Some(Self::IfcProduct),
Self::IfcStructuralLinearAction => Some(Self::IfcStructuralAction),
Self::IfcStructuralLinearActionVarying => Some(Self::IfcStructuralLinearAction),
Self::IfcStructuralLoadGroup => Some(Self::IfcGroup),
Self::IfcStructuralLoadLinearForce => Some(Self::IfcStructuralLoadStatic),
Self::IfcStructuralLoadPlanarForce => Some(Self::IfcStructuralLoadStatic),
Self::IfcStructuralLoadSingleDisplacement => Some(Self::IfcStructuralLoadStatic),
Self::IfcStructuralLoadSingleDisplacementDistortion => Some(Self::IfcStructuralLoadSingleDisplacement),
Self::IfcStructuralLoadSingleForce => Some(Self::IfcStructuralLoadStatic),
Self::IfcStructuralLoadSingleForceWarping => Some(Self::IfcStructuralLoadSingleForce),
Self::IfcStructuralLoadStatic => Some(Self::IfcStructuralLoad),
Self::IfcStructuralLoadTemperature => Some(Self::IfcStructuralLoadStatic),
Self::IfcStructuralMember => Some(Self::IfcStructuralItem),
Self::IfcStructuralPlanarAction => Some(Self::IfcStructuralAction),
Self::IfcStructuralPlanarActionVarying => Some(Self::IfcStructuralPlanarAction),
Self::IfcStructuralPointAction => Some(Self::IfcStructuralAction),
Self::IfcStructuralPointConnection => Some(Self::IfcStructuralConnection),
Self::IfcStructuralPointReaction => Some(Self::IfcStructuralReaction),
Self::IfcStructuralProfileProperties => Some(Self::IfcGeneralProfileProperties),
Self::IfcStructuralReaction => Some(Self::IfcStructuralActivity),
Self::IfcStructuralResultGroup => Some(Self::IfcGroup),
Self::IfcStructuralSteelProfileProperties => Some(Self::IfcStructuralProfileProperties),
Self::IfcStructuralSurfaceConnection => Some(Self::IfcStructuralConnection),
Self::IfcStructuralSurfaceMember => Some(Self::IfcStructuralMember),
Self::IfcStructuralSurfaceMemberVarying => Some(Self::IfcStructuralSurfaceMember),
Self::IfcStructuredDimensionCallout => Some(Self::IfcDraughtingCallout),
Self::IfcStyleModel => Some(Self::IfcRepresentation),
Self::IfcStyledItem => Some(Self::IfcRepresentationItem),
Self::IfcStyledRepresentation => Some(Self::IfcStyleModel),
Self::IfcSubContractResource => Some(Self::IfcConstructionResource),
Self::IfcSubedge => Some(Self::IfcEdge),
Self::IfcSurface => Some(Self::IfcGeometricRepresentationItem),
Self::IfcSurfaceCurveSweptAreaSolid => Some(Self::IfcSweptAreaSolid),
Self::IfcSurfaceOfLinearExtrusion => Some(Self::IfcSweptSurface),
Self::IfcSurfaceOfRevolution => Some(Self::IfcSweptSurface),
Self::IfcSurfaceStyle => Some(Self::IfcPresentationStyle),
Self::IfcSurfaceStyleRendering => Some(Self::IfcSurfaceStyleShading),
Self::IfcSweptAreaSolid => Some(Self::IfcSolidModel),
Self::IfcSweptDiskSolid => Some(Self::IfcSolidModel),
Self::IfcSweptSurface => Some(Self::IfcSurface),
Self::IfcSwitchingDeviceType => Some(Self::IfcFlowControllerType),
Self::IfcSymbolStyle => Some(Self::IfcPresentationStyle),
Self::IfcSystem => Some(Self::IfcGroup),
Self::IfcSystemFurnitureElementType => Some(Self::IfcFurnishingElementType),
Self::IfcTShapeProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcTankType => Some(Self::IfcFlowStorageDeviceType),
Self::IfcTask => Some(Self::IfcProcess),
Self::IfcTelecomAddress => Some(Self::IfcAddress),
Self::IfcTendon => Some(Self::IfcReinforcingElement),
Self::IfcTendonAnchor => Some(Self::IfcReinforcingElement),
Self::IfcTerminatorSymbol => Some(Self::IfcAnnotationSymbolOccurrence),
Self::IfcTextLiteral => Some(Self::IfcGeometricRepresentationItem),
Self::IfcTextLiteralWithExtent => Some(Self::IfcTextLiteral),
Self::IfcTextStyle => Some(Self::IfcPresentationStyle),
Self::IfcTextStyleFontModel => Some(Self::IfcPreDefinedTextFont),
Self::IfcTextureCoordinateGenerator => Some(Self::IfcTextureCoordinate),
Self::IfcTextureMap => Some(Self::IfcTextureCoordinate),
Self::IfcThermalMaterialProperties => Some(Self::IfcMaterialProperties),
Self::IfcTimeSeriesSchedule => Some(Self::IfcControl),
Self::IfcTopologicalRepresentationItem => Some(Self::IfcRepresentationItem),
Self::IfcTopologyRepresentation => Some(Self::IfcShapeModel),
Self::IfcTransformerType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcTransportElement => Some(Self::IfcElement),
Self::IfcTransportElementType => Some(Self::IfcElementType),
Self::IfcTrapeziumProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcTrimmedCurve => Some(Self::IfcBoundedCurve),
Self::IfcTubeBundleType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcTwoDirectionRepeatFactor => Some(Self::IfcOneDirectionRepeatFactor),
Self::IfcTypeObject => Some(Self::IfcObjectDefinition),
Self::IfcTypeProduct => Some(Self::IfcTypeObject),
Self::IfcUShapeProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcUnitaryEquipmentType => Some(Self::IfcEnergyConversionDeviceType),
Self::IfcValveType => Some(Self::IfcFlowControllerType),
Self::IfcVector => Some(Self::IfcGeometricRepresentationItem),
Self::IfcVertex => Some(Self::IfcTopologicalRepresentationItem),
Self::IfcVertexLoop => Some(Self::IfcLoop),
Self::IfcVertexPoint => Some(Self::IfcVertex),
Self::IfcVibrationIsolatorType => Some(Self::IfcDiscreteAccessoryType),
Self::IfcVirtualElement => Some(Self::IfcElement),
Self::IfcWall => Some(Self::IfcBuildingElement),
Self::IfcWallStandardCase => Some(Self::IfcWall),
Self::IfcWallType => Some(Self::IfcBuildingElementType),
Self::IfcWasteTerminalType => Some(Self::IfcFlowTerminalType),
Self::IfcWaterProperties => Some(Self::IfcMaterialProperties),
Self::IfcWindow => Some(Self::IfcBuildingElement),
Self::IfcWindowLiningProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcWindowPanelProperties => Some(Self::IfcPropertySetDefinition),
Self::IfcWindowStyle => Some(Self::IfcTypeProduct),
Self::IfcWorkControl => Some(Self::IfcControl),
Self::IfcWorkPlan => Some(Self::IfcWorkControl),
Self::IfcWorkSchedule => Some(Self::IfcWorkControl),
Self::IfcZShapeProfileDef => Some(Self::IfcParameterizedProfileDef),
Self::IfcZone => Some(Self::IfcGroup),
_ => None,
}
}
/// Check if this type is a subtype of another
pub fn is_subtype_of(&self, parent: Self) -> bool {
let mut current = Some(self.clone());
while let Some(t) = current {
if t == parent {
return true;
}
current = t.parent();
}
false
}
/// Check if this is an abstract type
#[allow(clippy::match_like_matches_macro)]
pub fn is_abstract(&self) -> bool {
match self {
Self::IfcAddress => true,
Self::IfcAnnotationOccurrence => true,
Self::IfcAppliedValue => true,
Self::IfcBSplineCurve => true,
Self::IfcBoundaryCondition => true,
Self::IfcBoundedCurve => true,
Self::IfcBuildingElement => true,
Self::IfcBuildingElementComponent => true,
Self::IfcBuildingElementType => true,
Self::IfcCartesianTransformationOperator => true,
Self::IfcColourSpecification => true,
Self::IfcConic => true,
Self::IfcConnectionGeometry => true,
Self::IfcConstraint => true,
Self::IfcConstructionResource => true,
Self::IfcControl => true,
Self::IfcCsgPrimitive3D => true,
Self::IfcCurve => true,
Self::IfcDistributionControlElementType => true,
Self::IfcDistributionFlowElementType => true,
Self::IfcEdgeFeature => true,
Self::IfcElement => true,
Self::IfcElementComponent => true,
Self::IfcElementComponentType => true,
Self::IfcElementType => true,
Self::IfcElementarySurface => true,
Self::IfcEnergyConversionDeviceType => true,
Self::IfcExternalReference => true,
Self::IfcFeatureElement => true,
Self::IfcFeatureElementAddition => true,
Self::IfcFeatureElementSubtraction => true,
Self::IfcFlowControllerType => true,
Self::IfcFlowFittingType => true,
Self::IfcFlowMovingDeviceType => true,
Self::IfcFlowSegmentType => true,
Self::IfcFlowStorageDeviceType => true,
Self::IfcFlowTerminalType => true,
Self::IfcFlowTreatmentDeviceType => true,
Self::IfcGeometricRepresentationItem => true,
Self::IfcLightSource => true,
Self::IfcManifoldSolidBrep => true,
Self::IfcMaterialProperties => true,
Self::IfcNamedUnit => true,
Self::IfcObject => true,
Self::IfcObjectDefinition => true,
Self::IfcObjectPlacement => true,
Self::IfcParameterizedProfileDef => true,
Self::IfcPhysicalQuantity => true,
Self::IfcPhysicalSimpleQuantity => true,
Self::IfcPlacement => true,
Self::IfcPoint => true,
Self::IfcPort => true,
Self::IfcPreDefinedColour => true,
Self::IfcPreDefinedCurveFont => true,
Self::IfcPreDefinedItem => true,
Self::IfcPreDefinedSymbol => true,
Self::IfcPreDefinedTextFont => true,
Self::IfcPresentationStyle => true,
Self::IfcProcess => true,
Self::IfcProduct => true,
Self::IfcProfileDef => true,
Self::IfcProfileProperties => true,
Self::IfcProperty => true,
Self::IfcPropertyDefinition => true,
Self::IfcPropertySetDefinition => true,
Self::IfcReinforcingElement => true,
Self::IfcRelAssigns => true,
Self::IfcRelConnects => true,
Self::IfcRelDecomposes => true,
Self::IfcRelDefines => true,
Self::IfcRelationship => true,
Self::IfcRepresentationItem => true,
Self::IfcResource => true,
Self::IfcRoot => true,
Self::IfcShapeModel => true,
Self::IfcSimpleProperty => true,
Self::IfcSolidModel => true,
Self::IfcSpatialStructureElement => true,
Self::IfcSpatialStructureElementType => true,
Self::IfcStructuralAction => true,
Self::IfcStructuralActivity => true,
Self::IfcStructuralConnection => true,
Self::IfcStructuralConnectionCondition => true,
Self::IfcStructuralItem => true,
Self::IfcStructuralLoad => true,
Self::IfcStructuralLoadStatic => true,
Self::IfcStructuralMember => true,
Self::IfcStructuralReaction => true,
Self::IfcStyleModel => true,
Self::IfcSurface => true,
Self::IfcSurfaceTexture => true,
Self::IfcSweptAreaSolid => true,
Self::IfcSweptSurface => true,
Self::IfcTextureCoordinate => true,
Self::IfcTimeSeries => true,
Self::IfcTopologicalRepresentationItem => true,
Self::IfcWorkControl => true,
_ => false,
}
}
/// This entity's attributes, in STEP declaration order.
///
/// Supertype attributes come FIRST, which is what makes the position here
/// the same position DecodedEntity::get indexes. An entity's own
/// attribute list alone would be wrong about every index on every subtype.
///
/// These names are this schema's (IFC2X3). An entity whose
/// attribute list grew between IFC releases has a different length, and
/// therefore possibly different indices, in a file that declares an older
/// schema. Check the file's FILE_SCHEMA before treating an index from here
/// as authoritative for it.
pub fn attribute_names(&self) -> &'static [&'static str] {
match self {
Self::Ifc2DCompositeCurve => &["Segments", "SelfIntersect"],
Self::IfcActionRequest => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "RequestID"],
Self::IfcActor => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "TheActor"],
Self::IfcActorRole => &["Role", "UserDefinedRole", "Description"],
Self::IfcActuatorType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcAddress => &["Purpose", "Description", "UserDefinedPurpose"],
Self::IfcAirTerminalBoxType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcAirTerminalType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcAirToAirHeatRecoveryType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcAlarmType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcAngularDimension => &["Contents"],
Self::IfcAnnotation => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation"],
Self::IfcAnnotationCurveOccurrence => &["Item", "Styles", "Name"],
Self::IfcAnnotationFillArea => &["OuterBoundary", "InnerBoundaries"],
Self::IfcAnnotationFillAreaOccurrence => &["Item", "Styles", "Name", "FillStyleTarget", "GlobalOrLocal"],
Self::IfcAnnotationOccurrence => &["Item", "Styles", "Name"],
Self::IfcAnnotationSurface => &["Item", "TextureCoordinates"],
Self::IfcAnnotationSurfaceOccurrence => &["Item", "Styles", "Name"],
Self::IfcAnnotationSymbolOccurrence => &["Item", "Styles", "Name"],
Self::IfcAnnotationTextOccurrence => &["Item", "Styles", "Name"],
Self::IfcApplication => &["ApplicationDeveloper", "Version", "ApplicationFullName", "ApplicationIdentifier"],
Self::IfcAppliedValue => &["Name", "Description", "AppliedValue", "UnitBasis", "ApplicableDate", "FixedUntilDate"],
Self::IfcAppliedValueRelationship => &["ComponentOfTotal", "Components", "ArithmeticOperator", "Name", "Description"],
Self::IfcApproval => &["Description", "ApprovalDateTime", "ApprovalStatus", "ApprovalLevel", "ApprovalQualifier", "Name", "Identifier"],
Self::IfcApprovalActorRelationship => &["Actor", "Approval", "Role"],
Self::IfcApprovalPropertyRelationship => &["ApprovedProperties", "Approval"],
Self::IfcApprovalRelationship => &["RelatedApproval", "RelatingApproval", "Description", "Name"],
Self::IfcArbitraryClosedProfileDef => &["ProfileType", "ProfileName", "OuterCurve"],
Self::IfcArbitraryOpenProfileDef => &["ProfileType", "ProfileName", "Curve"],
Self::IfcArbitraryProfileDefWithVoids => &["ProfileType", "ProfileName", "OuterCurve", "InnerCurves"],
Self::IfcAsset => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "AssetID", "OriginalValue", "CurrentValue", "TotalReplacementCost", "Owner", "User", "ResponsiblePerson", "IncorporationDate", "DepreciatedValue"],
Self::IfcAsymmetricIShapeProfileDef => &["ProfileType", "ProfileName", "Position", "OverallWidth", "OverallDepth", "WebThickness", "FlangeThickness", "FilletRadius", "TopFlangeWidth", "TopFlangeThickness", "TopFlangeFilletRadius", "CentreOfGravityInY"],
Self::IfcAxis1Placement => &["Location", "Axis"],
Self::IfcAxis2Placement2D => &["Location", "RefDirection"],
Self::IfcAxis2Placement3D => &["Location", "Axis", "RefDirection"],
Self::IfcBSplineCurve => &["Degree", "ControlPointsList", "CurveForm", "ClosedCurve", "SelfIntersect"],
Self::IfcBeam => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcBeamType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcBezierCurve => &["Degree", "ControlPointsList", "CurveForm", "ClosedCurve", "SelfIntersect"],
Self::IfcBlobTexture => &["RepeatS", "RepeatT", "TextureType", "TextureTransform", "RasterFormat", "RasterCode"],
Self::IfcBlock => &["Position", "XLength", "YLength", "ZLength"],
Self::IfcBoilerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcBooleanClippingResult => &["Operator", "FirstOperand", "SecondOperand"],
Self::IfcBooleanResult => &["Operator", "FirstOperand", "SecondOperand"],
Self::IfcBoundaryCondition => &["Name"],
Self::IfcBoundaryEdgeCondition => &["Name", "LinearStiffnessByLengthX", "LinearStiffnessByLengthY", "LinearStiffnessByLengthZ", "RotationalStiffnessByLengthX", "RotationalStiffnessByLengthY", "RotationalStiffnessByLengthZ"],
Self::IfcBoundaryFaceCondition => &["Name", "LinearStiffnessByAreaX", "LinearStiffnessByAreaY", "LinearStiffnessByAreaZ"],
Self::IfcBoundaryNodeCondition => &["Name", "LinearStiffnessX", "LinearStiffnessY", "LinearStiffnessZ", "RotationalStiffnessX", "RotationalStiffnessY", "RotationalStiffnessZ"],
Self::IfcBoundaryNodeConditionWarping => &["Name", "LinearStiffnessX", "LinearStiffnessY", "LinearStiffnessZ", "RotationalStiffnessX", "RotationalStiffnessY", "RotationalStiffnessZ", "WarpingStiffness"],
Self::IfcBoundedCurve => &[],
Self::IfcBoundedSurface => &[],
Self::IfcBoundingBox => &["Corner", "XDim", "YDim", "ZDim"],
Self::IfcBoxedHalfSpace => &["BaseSurface", "AgreementFlag", "Enclosure"],
Self::IfcBuilding => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "LongName", "CompositionType", "ElevationOfRefHeight", "ElevationOfTerrain", "BuildingAddress"],
Self::IfcBuildingElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcBuildingElementComponent => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcBuildingElementPart => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcBuildingElementProxy => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "CompositionType"],
Self::IfcBuildingElementProxyType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcBuildingElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcBuildingStorey => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "LongName", "CompositionType", "Elevation"],
Self::IfcCShapeProfileDef => &["ProfileType", "ProfileName", "Position", "Depth", "Width", "WallThickness", "Girth", "InternalFilletRadius", "CentreOfGravityInX"],
Self::IfcCableCarrierFittingType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCableCarrierSegmentType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCableSegmentType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCalendarDate => &["DayComponent", "MonthComponent", "YearComponent"],
Self::IfcCartesianPoint => &["Coordinates"],
Self::IfcCartesianTransformationOperator => &["Axis1", "Axis2", "LocalOrigin", "Scale"],
Self::IfcCartesianTransformationOperator2D => &["Axis1", "Axis2", "LocalOrigin", "Scale"],
Self::IfcCartesianTransformationOperator2DnonUniform => &["Axis1", "Axis2", "LocalOrigin", "Scale", "Scale2"],
Self::IfcCartesianTransformationOperator3D => &["Axis1", "Axis2", "LocalOrigin", "Scale", "Axis3"],
Self::IfcCartesianTransformationOperator3DnonUniform => &["Axis1", "Axis2", "LocalOrigin", "Scale", "Axis3", "Scale2", "Scale3"],
Self::IfcCenterLineProfileDef => &["ProfileType", "ProfileName", "Curve", "Thickness"],
Self::IfcChamferEdgeFeature => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "FeatureLength", "Width", "Height"],
Self::IfcChillerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCircle => &["Position", "Radius"],
Self::IfcCircleHollowProfileDef => &["ProfileType", "ProfileName", "Position", "Radius", "WallThickness"],
Self::IfcCircleProfileDef => &["ProfileType", "ProfileName", "Position", "Radius"],
Self::IfcClassification => &["Source", "Edition", "EditionDate", "Name"],
Self::IfcClassificationItem => &["Notation", "ItemOf", "Title"],
Self::IfcClassificationItemRelationship => &["RelatingItem", "RelatedItems"],
Self::IfcClassificationNotation => &["NotationFacets"],
Self::IfcClassificationNotationFacet => &["NotationValue"],
Self::IfcClassificationReference => &["Location", "ItemReference", "Name", "ReferencedSource"],
Self::IfcClosedShell => &["CfsFaces"],
Self::IfcCoilType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcColourRgb => &["Name", "Red", "Green", "Blue"],
Self::IfcColourSpecification => &["Name"],
Self::IfcColumn => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcColumnType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcComplexProperty => &["Name", "Description", "UsageName", "HasProperties"],
Self::IfcCompositeCurve => &["Segments", "SelfIntersect"],
Self::IfcCompositeCurveSegment => &["Transition", "SameSense", "ParentCurve"],
Self::IfcCompositeProfileDef => &["ProfileType", "ProfileName", "Profiles", "Label"],
Self::IfcCompressorType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCondenserType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCondition => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcConditionCriterion => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "Criterion", "CriterionDateTime"],
Self::IfcConic => &["Position"],
Self::IfcConnectedFaceSet => &["CfsFaces"],
Self::IfcConnectionCurveGeometry => &["CurveOnRelatingElement", "CurveOnRelatedElement"],
Self::IfcConnectionGeometry => &[],
Self::IfcConnectionPointEccentricity => &["PointOnRelatingElement", "PointOnRelatedElement", "EccentricityInX", "EccentricityInY", "EccentricityInZ"],
Self::IfcConnectionPointGeometry => &["PointOnRelatingElement", "PointOnRelatedElement"],
Self::IfcConnectionPortGeometry => &["LocationAtRelatingElement", "LocationAtRelatedElement", "ProfileOfPort"],
Self::IfcConnectionSurfaceGeometry => &["SurfaceOnRelatingElement", "SurfaceOnRelatedElement"],
Self::IfcConstraint => &["Name", "Description", "ConstraintGrade", "ConstraintSource", "CreatingActor", "CreationTime", "UserDefinedGrade"],
Self::IfcConstraintAggregationRelationship => &["Name", "Description", "RelatingConstraint", "RelatedConstraints", "LogicalAggregator"],
Self::IfcConstraintClassificationRelationship => &["ClassifiedConstraint", "RelatedClassifications"],
Self::IfcConstraintRelationship => &["Name", "Description", "RelatingConstraint", "RelatedConstraints"],
Self::IfcConstructionEquipmentResource => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ResourceIdentifier", "ResourceGroup", "ResourceConsumption", "BaseQuantity"],
Self::IfcConstructionMaterialResource => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ResourceIdentifier", "ResourceGroup", "ResourceConsumption", "BaseQuantity", "Suppliers", "UsageRatio"],
Self::IfcConstructionProductResource => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ResourceIdentifier", "ResourceGroup", "ResourceConsumption", "BaseQuantity"],
Self::IfcConstructionResource => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ResourceIdentifier", "ResourceGroup", "ResourceConsumption", "BaseQuantity"],
Self::IfcContextDependentUnit => &["Dimensions", "UnitType", "Name"],
Self::IfcControl => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcControllerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcConversionBasedUnit => &["Dimensions", "UnitType", "Name", "ConversionFactor"],
Self::IfcCooledBeamType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCoolingTowerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCoordinatedUniversalTimeOffset => &["HourOffset", "MinuteOffset", "Sense"],
Self::IfcCostItem => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcCostSchedule => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "SubmittedBy", "PreparedBy", "SubmittedOn", "Status", "TargetUsers", "UpdateDate", "ID", "PredefinedType"],
Self::IfcCostValue => &["Name", "Description", "AppliedValue", "UnitBasis", "ApplicableDate", "FixedUntilDate", "CostType", "Condition"],
Self::IfcCovering => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "PredefinedType"],
Self::IfcCoveringType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCraneRailAShapeProfileDef => &["ProfileType", "ProfileName", "Position", "OverallHeight", "BaseWidth2", "Radius", "HeadWidth", "HeadDepth2", "HeadDepth3", "WebThickness", "BaseWidth4", "BaseDepth1", "BaseDepth2", "BaseDepth3", "CentreOfGravityInY"],
Self::IfcCraneRailFShapeProfileDef => &["ProfileType", "ProfileName", "Position", "OverallHeight", "HeadWidth", "Radius", "HeadDepth2", "HeadDepth3", "WebThickness", "BaseDepth1", "BaseDepth2", "CentreOfGravityInY"],
Self::IfcCrewResource => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ResourceIdentifier", "ResourceGroup", "ResourceConsumption", "BaseQuantity"],
Self::IfcCsgPrimitive3D => &["Position"],
Self::IfcCsgSolid => &["TreeRootExpression"],
Self::IfcCurrencyRelationship => &["RelatingMonetaryUnit", "RelatedMonetaryUnit", "ExchangeRate", "RateDateTime", "RateSource"],
Self::IfcCurtainWall => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcCurtainWallType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcCurve => &[],
Self::IfcCurveBoundedPlane => &["BasisSurface", "OuterBoundary", "InnerBoundaries"],
Self::IfcCurveStyle => &["Name", "CurveFont", "CurveWidth", "CurveColour"],
Self::IfcCurveStyleFont => &["Name", "PatternList"],
Self::IfcCurveStyleFontAndScaling => &["Name", "CurveFont", "CurveFontScaling"],
Self::IfcCurveStyleFontPattern => &["VisibleSegmentLength", "InvisibleSegmentLength"],
Self::IfcDamperType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcDateAndTime => &["DateComponent", "TimeComponent"],
Self::IfcDefinedSymbol => &["Definition", "Target"],
Self::IfcDerivedProfileDef => &["ProfileType", "ProfileName", "ParentProfile", "Operator", "Label"],
Self::IfcDerivedUnit => &["Elements", "UnitType", "UserDefinedType"],
Self::IfcDerivedUnitElement => &["Unit", "Exponent"],
Self::IfcDiameterDimension => &["Contents"],
Self::IfcDimensionCalloutRelationship => &["Name", "Description", "RelatingDraughtingCallout", "RelatedDraughtingCallout"],
Self::IfcDimensionCurve => &["Item", "Styles", "Name"],
Self::IfcDimensionCurveDirectedCallout => &["Contents"],
Self::IfcDimensionCurveTerminator => &["Item", "Styles", "Name", "AnnotatedCurve", "Role"],
Self::IfcDimensionPair => &["Name", "Description", "RelatingDraughtingCallout", "RelatedDraughtingCallout"],
Self::IfcDimensionalExponents => &["LengthExponent", "MassExponent", "TimeExponent", "ElectricCurrentExponent", "ThermodynamicTemperatureExponent", "AmountOfSubstanceExponent", "LuminousIntensityExponent"],
Self::IfcDirection => &["DirectionRatios"],
Self::IfcDiscreteAccessory => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcDiscreteAccessoryType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcDistributionChamberElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcDistributionChamberElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcDistributionControlElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "ControlElementId"],
Self::IfcDistributionControlElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcDistributionElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcDistributionElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcDistributionFlowElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcDistributionFlowElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcDistributionPort => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "FlowDirection"],
Self::IfcDocumentElectronicFormat => &["FileExtension", "MimeContentType", "MimeSubtype"],
Self::IfcDocumentInformation => &["DocumentId", "Name", "Description", "DocumentReferences", "Purpose", "IntendedUse", "Scope", "Revision", "DocumentOwner", "Editors", "CreationTime", "LastRevisionTime", "ElectronicFormat", "ValidFrom", "ValidUntil", "Confidentiality", "Status"],
Self::IfcDocumentInformationRelationship => &["RelatingDocument", "RelatedDocuments", "RelationshipType"],
Self::IfcDocumentReference => &["Location", "ItemReference", "Name"],
Self::IfcDoor => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "OverallHeight", "OverallWidth"],
Self::IfcDoorLiningProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "LiningDepth", "LiningThickness", "ThresholdDepth", "ThresholdThickness", "TransomThickness", "TransomOffset", "LiningOffset", "ThresholdOffset", "CasingThickness", "CasingDepth", "ShapeAspectStyle"],
Self::IfcDoorPanelProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "PanelDepth", "PanelOperation", "PanelWidth", "PanelPosition", "ShapeAspectStyle"],
Self::IfcDoorStyle => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "OperationType", "ConstructionType", "ParameterTakesPrecedence", "Sizeable"],
Self::IfcDraughtingCallout => &["Contents"],
Self::IfcDraughtingCalloutRelationship => &["Name", "Description", "RelatingDraughtingCallout", "RelatedDraughtingCallout"],
Self::IfcDraughtingPreDefinedColour => &["Name"],
Self::IfcDraughtingPreDefinedCurveFont => &["Name"],
Self::IfcDraughtingPreDefinedTextFont => &["Name"],
Self::IfcDuctFittingType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcDuctSegmentType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcDuctSilencerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcEdge => &["EdgeStart", "EdgeEnd"],
Self::IfcEdgeCurve => &["EdgeStart", "EdgeEnd", "EdgeGeometry", "SameSense"],
Self::IfcEdgeFeature => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "FeatureLength"],
Self::IfcEdgeLoop => &["EdgeList"],
Self::IfcElectricApplianceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcElectricDistributionPoint => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "DistributionPointFunction", "UserDefinedFunction"],
Self::IfcElectricFlowStorageDeviceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcElectricGeneratorType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcElectricHeaterType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcElectricMotorType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcElectricTimeControlType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcElectricalBaseProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "EnergySequence", "UserDefinedEnergySequence", "ElectricCurrentType", "InputVoltage", "InputFrequency", "FullLoadCurrent", "MinimumCircuitCurrent", "MaximumPowerInput", "RatedPowerInput", "InputPhase"],
Self::IfcElectricalCircuit => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcElectricalElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcElementAssembly => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "AssemblyPlace", "PredefinedType"],
Self::IfcElementComponent => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcElementComponentType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcElementQuantity => &["GlobalId", "OwnerHistory", "Name", "Description", "MethodOfMeasurement", "Quantities"],
Self::IfcElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcElementarySurface => &["Position"],
Self::IfcEllipse => &["Position", "SemiAxis1", "SemiAxis2"],
Self::IfcEllipseProfileDef => &["ProfileType", "ProfileName", "Position", "SemiAxis1", "SemiAxis2"],
Self::IfcEnergyConversionDevice => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcEnergyConversionDeviceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcEnergyProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "EnergySequence", "UserDefinedEnergySequence"],
Self::IfcEnvironmentalImpactValue => &["Name", "Description", "AppliedValue", "UnitBasis", "ApplicableDate", "FixedUntilDate", "ImpactType", "Category", "UserDefinedCategory"],
Self::IfcEquipmentElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcEquipmentStandard => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcEvaporativeCoolerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcEvaporatorType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcExtendedMaterialProperties => &["Material", "ExtendedProperties", "Description", "Name"],
Self::IfcExternalReference => &["Location", "ItemReference", "Name"],
Self::IfcExternallyDefinedHatchStyle => &["Location", "ItemReference", "Name"],
Self::IfcExternallyDefinedSurfaceStyle => &["Location", "ItemReference", "Name"],
Self::IfcExternallyDefinedSymbol => &["Location", "ItemReference", "Name"],
Self::IfcExternallyDefinedTextFont => &["Location", "ItemReference", "Name"],
Self::IfcExtrudedAreaSolid => &["SweptArea", "Position", "ExtrudedDirection", "Depth"],
Self::IfcFace => &["Bounds"],
Self::IfcFaceBasedSurfaceModel => &["FbsmFaces"],
Self::IfcFaceBound => &["Bound", "Orientation"],
Self::IfcFaceOuterBound => &["Bound", "Orientation"],
Self::IfcFaceSurface => &["Bounds", "FaceSurface", "SameSense"],
Self::IfcFacetedBrep => &["Outer"],
Self::IfcFacetedBrepWithVoids => &["Outer", "Voids"],
Self::IfcFailureConnectionCondition => &["Name", "TensionFailureX", "TensionFailureY", "TensionFailureZ", "CompressionFailureX", "CompressionFailureY", "CompressionFailureZ"],
Self::IfcFanType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcFastener => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFastenerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFeatureElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFeatureElementAddition => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFeatureElementSubtraction => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFillAreaStyle => &["Name", "FillStyles"],
Self::IfcFillAreaStyleHatching => &["HatchLineAppearance", "StartOfNextHatchLine", "PointOfReferenceHatchLine", "PatternStart", "HatchLineAngle"],
Self::IfcFillAreaStyleTileSymbolWithStyle => &["Symbol"],
Self::IfcFillAreaStyleTiles => &["TilingPattern", "Tiles", "TilingScale"],
Self::IfcFilterType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcFireSuppressionTerminalType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcFlowController => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFlowControllerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFlowFitting => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFlowFittingType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFlowInstrumentType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcFlowMeterType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcFlowMovingDevice => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFlowMovingDeviceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFlowSegment => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFlowSegmentType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFlowStorageDevice => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFlowStorageDeviceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFlowTerminal => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFlowTerminalType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFlowTreatmentDevice => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFlowTreatmentDeviceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFluidFlowProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "PropertySource", "FlowConditionTimeSeries", "VelocityTimeSeries", "FlowrateTimeSeries", "Fluid", "PressureTimeSeries", "UserDefinedPropertySource", "TemperatureSingleValue", "WetBulbTemperatureSingleValue", "WetBulbTemperatureTimeSeries", "TemperatureTimeSeries", "FlowrateSingleValue", "FlowConditionSingleValue", "VelocitySingleValue", "PressureSingleValue"],
Self::IfcFooting => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "PredefinedType"],
Self::IfcFuelProperties => &["Material", "CombustionTemperature", "CarbonContent", "LowerHeatingValue", "HigherHeatingValue"],
Self::IfcFurnishingElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcFurnishingElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcFurnitureStandard => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcFurnitureType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "AssemblyPlace"],
Self::IfcGasTerminalType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcGeneralMaterialProperties => &["Material", "MolecularWeight", "Porosity", "MassDensity"],
Self::IfcGeneralProfileProperties => &["ProfileName", "ProfileDefinition", "PhysicalWeight", "Perimeter", "MinimumPlateThickness", "MaximumPlateThickness", "CrossSectionArea"],
Self::IfcGeometricCurveSet => &["Elements"],
Self::IfcGeometricRepresentationContext => &["ContextIdentifier", "ContextType", "CoordinateSpaceDimension", "Precision", "WorldCoordinateSystem", "TrueNorth"],
Self::IfcGeometricRepresentationItem => &[],
Self::IfcGeometricRepresentationSubContext => &["ContextIdentifier", "ContextType", "CoordinateSpaceDimension", "Precision", "WorldCoordinateSystem", "TrueNorth", "ParentContext", "TargetScale", "TargetView", "UserDefinedTargetView"],
Self::IfcGeometricSet => &["Elements"],
Self::IfcGrid => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "UAxes", "VAxes", "WAxes"],
Self::IfcGridAxis => &["AxisTag", "AxisCurve", "SameSense"],
Self::IfcGridPlacement => &["PlacementLocation", "PlacementRefDirection"],
Self::IfcGroup => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcHalfSpaceSolid => &["BaseSurface", "AgreementFlag"],
Self::IfcHeatExchangerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcHumidifierType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcHygroscopicMaterialProperties => &["Material", "UpperVaporResistanceFactor", "LowerVaporResistanceFactor", "IsothermalMoistureCapacity", "VaporPermeability", "MoistureDiffusivity"],
Self::IfcIShapeProfileDef => &["ProfileType", "ProfileName", "Position", "OverallWidth", "OverallDepth", "WebThickness", "FlangeThickness", "FilletRadius"],
Self::IfcImageTexture => &["RepeatS", "RepeatT", "TextureType", "TextureTransform", "UrlReference"],
Self::IfcInventory => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "InventoryType", "Jurisdiction", "ResponsiblePersons", "LastUpdateDate", "CurrentValue", "OriginalValue"],
Self::IfcIrregularTimeSeries => &["Name", "Description", "StartTime", "EndTime", "TimeSeriesDataType", "DataOrigin", "UserDefinedDataOrigin", "Unit", "Values"],
Self::IfcIrregularTimeSeriesValue => &["TimeStamp", "ListValues"],
Self::IfcJunctionBoxType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcLShapeProfileDef => &["ProfileType", "ProfileName", "Position", "Depth", "Width", "Thickness", "FilletRadius", "EdgeRadius", "LegSlope", "CentreOfGravityInX", "CentreOfGravityInY"],
Self::IfcLaborResource => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ResourceIdentifier", "ResourceGroup", "ResourceConsumption", "BaseQuantity", "SkillSet"],
Self::IfcLampType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcLibraryInformation => &["Name", "Version", "Publisher", "VersionDate", "LibraryReference"],
Self::IfcLibraryReference => &["Location", "ItemReference", "Name"],
Self::IfcLightDistributionData => &["MainPlaneAngle", "SecondaryPlaneAngle", "LuminousIntensity"],
Self::IfcLightFixtureType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcLightIntensityDistribution => &["LightDistributionCurve", "DistributionData"],
Self::IfcLightSource => &["Name", "LightColour", "AmbientIntensity", "Intensity"],
Self::IfcLightSourceAmbient => &["Name", "LightColour", "AmbientIntensity", "Intensity"],
Self::IfcLightSourceDirectional => &["Name", "LightColour", "AmbientIntensity", "Intensity", "Orientation"],
Self::IfcLightSourceGoniometric => &["Name", "LightColour", "AmbientIntensity", "Intensity", "Position", "ColourAppearance", "ColourTemperature", "LuminousFlux", "LightEmissionSource", "LightDistributionDataSource"],
Self::IfcLightSourcePositional => &["Name", "LightColour", "AmbientIntensity", "Intensity", "Position", "Radius", "ConstantAttenuation", "DistanceAttenuation", "QuadricAttenuation"],
Self::IfcLightSourceSpot => &["Name", "LightColour", "AmbientIntensity", "Intensity", "Position", "Radius", "ConstantAttenuation", "DistanceAttenuation", "QuadricAttenuation", "Orientation", "ConcentrationExponent", "SpreadAngle", "BeamWidthAngle"],
Self::IfcLine => &["Pnt", "Dir"],
Self::IfcLinearDimension => &["Contents"],
Self::IfcLocalPlacement => &["PlacementRelTo", "RelativePlacement"],
Self::IfcLocalTime => &["HourComponent", "MinuteComponent", "SecondComponent", "Zone", "DaylightSavingOffset"],
Self::IfcLoop => &[],
Self::IfcManifoldSolidBrep => &["Outer"],
Self::IfcMappedItem => &["MappingSource", "MappingTarget"],
Self::IfcMaterial => &["Name"],
Self::IfcMaterialClassificationRelationship => &["MaterialClassifications", "ClassifiedMaterial"],
Self::IfcMaterialDefinitionRepresentation => &["Name", "Description", "Representations", "RepresentedMaterial"],
Self::IfcMaterialLayer => &["Material", "LayerThickness", "IsVentilated"],
Self::IfcMaterialLayerSet => &["MaterialLayers", "LayerSetName"],
Self::IfcMaterialLayerSetUsage => &["ForLayerSet", "LayerSetDirection", "DirectionSense", "OffsetFromReferenceLine"],
Self::IfcMaterialList => &["Materials"],
Self::IfcMaterialProperties => &["Material"],
Self::IfcMeasureWithUnit => &["ValueComponent", "UnitComponent"],
Self::IfcMechanicalConcreteMaterialProperties => &["Material", "DynamicViscosity", "YoungModulus", "ShearModulus", "PoissonRatio", "ThermalExpansionCoefficient", "CompressiveStrength", "MaxAggregateSize", "AdmixturesDescription", "Workability", "ProtectivePoreRatio", "WaterImpermeability"],
Self::IfcMechanicalFastener => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "NominalDiameter", "NominalLength"],
Self::IfcMechanicalFastenerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcMechanicalMaterialProperties => &["Material", "DynamicViscosity", "YoungModulus", "ShearModulus", "PoissonRatio", "ThermalExpansionCoefficient"],
Self::IfcMechanicalSteelMaterialProperties => &["Material", "DynamicViscosity", "YoungModulus", "ShearModulus", "PoissonRatio", "ThermalExpansionCoefficient", "YieldStress", "UltimateStress", "UltimateStrain", "HardeningModule", "ProportionalStress", "PlasticStrain", "Relaxations"],
Self::IfcMember => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcMemberType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcMetric => &["Name", "Description", "ConstraintGrade", "ConstraintSource", "CreatingActor", "CreationTime", "UserDefinedGrade", "Benchmark", "ValueSource", "DataValue"],
Self::IfcMonetaryUnit => &["Currency"],
Self::IfcMotorConnectionType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcMove => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "TaskId", "Status", "WorkMethod", "IsMilestone", "Priority", "MoveFrom", "MoveTo", "PunchList"],
Self::IfcNamedUnit => &["Dimensions", "UnitType"],
Self::IfcObject => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcObjectDefinition => &["GlobalId", "OwnerHistory", "Name", "Description"],
Self::IfcObjectPlacement => &[],
Self::IfcObjective => &["Name", "Description", "ConstraintGrade", "ConstraintSource", "CreatingActor", "CreationTime", "UserDefinedGrade", "BenchmarkValues", "ResultValues", "ObjectiveQualifier", "UserDefinedQualifier"],
Self::IfcOccupant => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "TheActor", "PredefinedType"],
Self::IfcOffsetCurve2D => &["BasisCurve", "Distance", "SelfIntersect"],
Self::IfcOffsetCurve3D => &["BasisCurve", "Distance", "SelfIntersect", "RefDirection"],
Self::IfcOneDirectionRepeatFactor => &["RepeatFactor"],
Self::IfcOpenShell => &["CfsFaces"],
Self::IfcOpeningElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcOpticalMaterialProperties => &["Material", "VisibleTransmittance", "SolarTransmittance", "ThermalIrTransmittance", "ThermalIrEmissivityBack", "ThermalIrEmissivityFront", "VisibleReflectanceBack", "VisibleReflectanceFront", "SolarReflectanceFront", "SolarReflectanceBack"],
Self::IfcOrderAction => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "TaskId", "Status", "WorkMethod", "IsMilestone", "Priority", "ActionID"],
Self::IfcOrganization => &["Id", "Name", "Description", "Roles", "Addresses"],
Self::IfcOrganizationRelationship => &["Name", "Description", "RelatingOrganization", "RelatedOrganizations"],
Self::IfcOrientedEdge => &["EdgeStart", "EdgeEnd", "EdgeElement", "Orientation"],
Self::IfcOutletType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcOwnerHistory => &["OwningUser", "OwningApplication", "State", "ChangeAction", "LastModifiedDate", "LastModifyingUser", "LastModifyingApplication", "CreationDate"],
Self::IfcParameterizedProfileDef => &["ProfileType", "ProfileName", "Position"],
Self::IfcPath => &["EdgeList"],
Self::IfcPerformanceHistory => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "LifeCyclePhase"],
Self::IfcPermeableCoveringProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "OperationType", "PanelPosition", "FrameDepth", "FrameThickness", "ShapeAspectStyle"],
Self::IfcPermit => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "PermitID"],
Self::IfcPerson => &["Id", "FamilyName", "GivenName", "MiddleNames", "PrefixTitles", "SuffixTitles", "Roles", "Addresses"],
Self::IfcPersonAndOrganization => &["ThePerson", "TheOrganization", "Roles"],
Self::IfcPhysicalComplexQuantity => &["Name", "Description", "HasQuantities", "Discrimination", "Quality", "Usage"],
Self::IfcPhysicalQuantity => &["Name", "Description"],
Self::IfcPhysicalSimpleQuantity => &["Name", "Description", "Unit"],
Self::IfcPile => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "PredefinedType", "ConstructionType"],
Self::IfcPipeFittingType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcPipeSegmentType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcPixelTexture => &["RepeatS", "RepeatT", "TextureType", "TextureTransform", "Width", "Height", "ColourComponents", "Pixel"],
Self::IfcPlacement => &["Location"],
Self::IfcPlanarBox => &["SizeInX", "SizeInY", "Placement"],
Self::IfcPlanarExtent => &["SizeInX", "SizeInY"],
Self::IfcPlane => &["Position"],
Self::IfcPlate => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcPlateType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcPoint => &[],
Self::IfcPointOnCurve => &["BasisCurve", "PointParameter"],
Self::IfcPointOnSurface => &["BasisSurface", "PointParameterU", "PointParameterV"],
Self::IfcPolyLoop => &["Polygon"],
Self::IfcPolygonalBoundedHalfSpace => &["BaseSurface", "AgreementFlag", "Position", "PolygonalBoundary"],
Self::IfcPolyline => &["Points"],
Self::IfcPort => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation"],
Self::IfcPostalAddress => &["Purpose", "Description", "UserDefinedPurpose", "InternalLocation", "AddressLines", "PostalBox", "Town", "Region", "PostalCode", "Country"],
Self::IfcPreDefinedColour => &["Name"],
Self::IfcPreDefinedCurveFont => &["Name"],
Self::IfcPreDefinedDimensionSymbol => &["Name"],
Self::IfcPreDefinedItem => &["Name"],
Self::IfcPreDefinedPointMarkerSymbol => &["Name"],
Self::IfcPreDefinedSymbol => &["Name"],
Self::IfcPreDefinedTerminatorSymbol => &["Name"],
Self::IfcPreDefinedTextFont => &["Name"],
Self::IfcPresentationLayerAssignment => &["Name", "Description", "AssignedItems", "Identifier"],
Self::IfcPresentationLayerWithStyle => &["Name", "Description", "AssignedItems", "Identifier", "LayerOn", "LayerFrozen", "LayerBlocked", "LayerStyles"],
Self::IfcPresentationStyle => &["Name"],
Self::IfcPresentationStyleAssignment => &["Styles"],
Self::IfcProcedure => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ProcedureID", "ProcedureType", "UserDefinedProcedureType"],
Self::IfcProcess => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcProduct => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation"],
Self::IfcProductDefinitionShape => &["Name", "Description", "Representations"],
Self::IfcProductRepresentation => &["Name", "Description", "Representations"],
Self::IfcProductsOfCombustionProperties => &["Material", "SpecificHeatCapacity", "N20Content", "COContent", "CO2Content"],
Self::IfcProfileDef => &["ProfileType", "ProfileName"],
Self::IfcProfileProperties => &["ProfileName", "ProfileDefinition"],
Self::IfcProject => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "LongName", "Phase", "RepresentationContexts", "UnitsInContext"],
Self::IfcProjectOrder => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ID", "PredefinedType", "Status"],
Self::IfcProjectOrderRecord => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "Records", "PredefinedType"],
Self::IfcProjectionCurve => &["Item", "Styles", "Name"],
Self::IfcProjectionElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcProperty => &["Name", "Description"],
Self::IfcPropertyBoundedValue => &["Name", "Description", "UpperBoundValue", "LowerBoundValue", "Unit"],
Self::IfcPropertyConstraintRelationship => &["RelatingConstraint", "RelatedProperties", "Name", "Description"],
Self::IfcPropertyDefinition => &["GlobalId", "OwnerHistory", "Name", "Description"],
Self::IfcPropertyDependencyRelationship => &["DependingProperty", "DependantProperty", "Name", "Description", "Expression"],
Self::IfcPropertyEnumeratedValue => &["Name", "Description", "EnumerationValues", "EnumerationReference"],
Self::IfcPropertyEnumeration => &["Name", "EnumerationValues", "Unit"],
Self::IfcPropertyListValue => &["Name", "Description", "ListValues", "Unit"],
Self::IfcPropertyReferenceValue => &["Name", "Description", "UsageName", "PropertyReference"],
Self::IfcPropertySet => &["GlobalId", "OwnerHistory", "Name", "Description", "HasProperties"],
Self::IfcPropertySetDefinition => &["GlobalId", "OwnerHistory", "Name", "Description"],
Self::IfcPropertySingleValue => &["Name", "Description", "NominalValue", "Unit"],
Self::IfcPropertyTableValue => &["Name", "Description", "DefiningValues", "DefinedValues", "Expression", "DefiningUnit", "DefinedUnit"],
Self::IfcProtectiveDeviceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcProxy => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "ProxyType", "Tag"],
Self::IfcPumpType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcQuantityArea => &["Name", "Description", "Unit", "AreaValue"],
Self::IfcQuantityCount => &["Name", "Description", "Unit", "CountValue"],
Self::IfcQuantityLength => &["Name", "Description", "Unit", "LengthValue"],
Self::IfcQuantityTime => &["Name", "Description", "Unit", "TimeValue"],
Self::IfcQuantityVolume => &["Name", "Description", "Unit", "VolumeValue"],
Self::IfcQuantityWeight => &["Name", "Description", "Unit", "WeightValue"],
Self::IfcRadiusDimension => &["Contents"],
Self::IfcRailing => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "PredefinedType"],
Self::IfcRailingType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcRamp => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "ShapeType"],
Self::IfcRampFlight => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcRampFlightType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcRationalBezierCurve => &["Degree", "ControlPointsList", "CurveForm", "ClosedCurve", "SelfIntersect", "WeightsData"],
Self::IfcRectangleHollowProfileDef => &["ProfileType", "ProfileName", "Position", "XDim", "YDim", "WallThickness", "InnerFilletRadius", "OuterFilletRadius"],
Self::IfcRectangleProfileDef => &["ProfileType", "ProfileName", "Position", "XDim", "YDim"],
Self::IfcRectangularPyramid => &["Position", "XLength", "YLength", "Height"],
Self::IfcRectangularTrimmedSurface => &["BasisSurface", "U1", "V1", "U2", "V2", "Usense", "Vsense"],
Self::IfcReferencesValueDocument => &["ReferencedDocument", "ReferencingValues", "Name", "Description"],
Self::IfcRegularTimeSeries => &["Name", "Description", "StartTime", "EndTime", "TimeSeriesDataType", "DataOrigin", "UserDefinedDataOrigin", "Unit", "TimeStep", "Values"],
Self::IfcReinforcementBarProperties => &["TotalCrossSectionArea", "SteelGrade", "BarSurface", "EffectiveDepth", "NominalBarDiameter", "BarCount"],
Self::IfcReinforcementDefinitionProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "DefinitionType", "ReinforcementSectionDefinitions"],
Self::IfcReinforcingBar => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "SteelGrade", "NominalDiameter", "CrossSectionArea", "BarLength", "BarRole", "BarSurface"],
Self::IfcReinforcingElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "SteelGrade"],
Self::IfcReinforcingMesh => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "SteelGrade", "MeshLength", "MeshWidth", "LongitudinalBarNominalDiameter", "TransverseBarNominalDiameter", "LongitudinalBarCrossSectionArea", "TransverseBarCrossSectionArea", "LongitudinalBarSpacing", "TransverseBarSpacing"],
Self::IfcRelAggregates => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingObject", "RelatedObjects"],
Self::IfcRelAssigns => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType"],
Self::IfcRelAssignsTasks => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingControl", "TimeForTask"],
Self::IfcRelAssignsToActor => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingActor", "ActingRole"],
Self::IfcRelAssignsToControl => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingControl"],
Self::IfcRelAssignsToGroup => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingGroup"],
Self::IfcRelAssignsToProcess => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingProcess", "QuantityInProcess"],
Self::IfcRelAssignsToProduct => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingProduct"],
Self::IfcRelAssignsToProjectOrder => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingControl"],
Self::IfcRelAssignsToResource => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingResource"],
Self::IfcRelAssociates => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects"],
Self::IfcRelAssociatesAppliedValue => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingAppliedValue"],
Self::IfcRelAssociatesApproval => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingApproval"],
Self::IfcRelAssociatesClassification => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingClassification"],
Self::IfcRelAssociatesConstraint => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "Intent", "RelatingConstraint"],
Self::IfcRelAssociatesDocument => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingDocument"],
Self::IfcRelAssociatesLibrary => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingLibrary"],
Self::IfcRelAssociatesMaterial => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingMaterial"],
Self::IfcRelAssociatesProfileProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingProfileProperties", "ProfileSectionLocation", "ProfileOrientation"],
Self::IfcRelConnects => &["GlobalId", "OwnerHistory", "Name", "Description"],
Self::IfcRelConnectsElements => &["GlobalId", "OwnerHistory", "Name", "Description", "ConnectionGeometry", "RelatingElement", "RelatedElement"],
Self::IfcRelConnectsPathElements => &["GlobalId", "OwnerHistory", "Name", "Description", "ConnectionGeometry", "RelatingElement", "RelatedElement", "RelatingPriorities", "RelatedPriorities", "RelatedConnectionType", "RelatingConnectionType"],
Self::IfcRelConnectsPortToElement => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingPort", "RelatedElement"],
Self::IfcRelConnectsPorts => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingPort", "RelatedPort", "RealizingElement"],
Self::IfcRelConnectsStructuralActivity => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingElement", "RelatedStructuralActivity"],
Self::IfcRelConnectsStructuralElement => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingElement", "RelatedStructuralMember"],
Self::IfcRelConnectsStructuralMember => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingStructuralMember", "RelatedStructuralConnection", "AppliedCondition", "AdditionalConditions", "SupportedLength", "ConditionCoordinateSystem"],
Self::IfcRelConnectsWithEccentricity => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingStructuralMember", "RelatedStructuralConnection", "AppliedCondition", "AdditionalConditions", "SupportedLength", "ConditionCoordinateSystem", "ConnectionConstraint"],
Self::IfcRelConnectsWithRealizingElements => &["GlobalId", "OwnerHistory", "Name", "Description", "ConnectionGeometry", "RelatingElement", "RelatedElement", "RealizingElements", "ConnectionType"],
Self::IfcRelContainedInSpatialStructure => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedElements", "RelatingStructure"],
Self::IfcRelCoversBldgElements => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingBuildingElement", "RelatedCoverings"],
Self::IfcRelCoversSpaces => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedSpace", "RelatedCoverings"],
Self::IfcRelDecomposes => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingObject", "RelatedObjects"],
Self::IfcRelDefines => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects"],
Self::IfcRelDefinesByProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingPropertyDefinition"],
Self::IfcRelDefinesByType => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingType"],
Self::IfcRelFillsElement => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingOpeningElement", "RelatedBuildingElement"],
Self::IfcRelFlowControlElements => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedControlElements", "RelatingFlowElement"],
Self::IfcRelInteractionRequirements => &["GlobalId", "OwnerHistory", "Name", "Description", "DailyInteraction", "ImportanceRating", "LocationOfInteraction", "RelatedSpaceProgram", "RelatingSpaceProgram"],
Self::IfcRelNests => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingObject", "RelatedObjects"],
Self::IfcRelOccupiesSpaces => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingActor", "ActingRole"],
Self::IfcRelOverridesProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatingPropertyDefinition", "OverridingProperties"],
Self::IfcRelProjectsElement => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingElement", "RelatedFeatureElement"],
Self::IfcRelReferencedInSpatialStructure => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedElements", "RelatingStructure"],
Self::IfcRelSchedulesCostItems => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatedObjects", "RelatedObjectsType", "RelatingControl"],
Self::IfcRelSequence => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingProcess", "RelatedProcess", "TimeLag", "SequenceType"],
Self::IfcRelServicesBuildings => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingSystem", "RelatedBuildings"],
Self::IfcRelSpaceBoundary => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingSpace", "RelatedBuildingElement", "ConnectionGeometry", "PhysicalOrVirtualBoundary", "InternalOrExternalBoundary"],
Self::IfcRelVoidsElement => &["GlobalId", "OwnerHistory", "Name", "Description", "RelatingBuildingElement", "RelatedOpeningElement"],
Self::IfcRelationship => &["GlobalId", "OwnerHistory", "Name", "Description"],
Self::IfcRelaxation => &["RelaxationValue", "InitialStress"],
Self::IfcRepresentation => &["ContextOfItems", "RepresentationIdentifier", "RepresentationType", "Items"],
Self::IfcRepresentationContext => &["ContextIdentifier", "ContextType"],
Self::IfcRepresentationItem => &[],
Self::IfcRepresentationMap => &["MappingOrigin", "MappedRepresentation"],
Self::IfcResource => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcRevolvedAreaSolid => &["SweptArea", "Position", "Axis", "Angle"],
Self::IfcRibPlateProfileProperties => &["ProfileName", "ProfileDefinition", "Thickness", "RibHeight", "RibWidth", "RibSpacing", "Direction"],
Self::IfcRightCircularCone => &["Position", "Height", "BottomRadius"],
Self::IfcRightCircularCylinder => &["Position", "Height", "Radius"],
Self::IfcRoof => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "ShapeType"],
Self::IfcRoot => &["GlobalId", "OwnerHistory", "Name", "Description"],
Self::IfcRoundedEdgeFeature => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "FeatureLength", "Radius"],
Self::IfcRoundedRectangleProfileDef => &["ProfileType", "ProfileName", "Position", "XDim", "YDim", "RoundingRadius"],
Self::IfcSIUnit => &["Dimensions", "UnitType", "Prefix", "Name"],
Self::IfcSanitaryTerminalType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcScheduleTimeControl => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ActualStart", "EarlyStart", "LateStart", "ScheduleStart", "ActualFinish", "EarlyFinish", "LateFinish", "ScheduleFinish", "ScheduleDuration", "ActualDuration", "RemainingTime", "FreeFloat", "TotalFloat", "IsCritical", "StatusTime", "StartFloat", "FinishFloat", "Completion"],
Self::IfcSectionProperties => &["SectionType", "StartProfile", "EndProfile"],
Self::IfcSectionReinforcementProperties => &["LongitudinalStartPosition", "LongitudinalEndPosition", "TransversePosition", "ReinforcementRole", "SectionDefinition", "CrossSectionReinforcementDefinitions"],
Self::IfcSectionedSpine => &["SpineCurve", "CrossSections", "CrossSectionPositions"],
Self::IfcSensorType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcServiceLife => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ServiceLifeType", "ServiceLifeDuration"],
Self::IfcServiceLifeFactor => &["GlobalId", "OwnerHistory", "Name", "Description", "PredefinedType", "UpperValue", "MostUsedValue", "LowerValue"],
Self::IfcShapeAspect => &["ShapeRepresentations", "Name", "Description", "ProductDefinitional", "PartOfProductDefinitionShape"],
Self::IfcShapeModel => &["ContextOfItems", "RepresentationIdentifier", "RepresentationType", "Items"],
Self::IfcShapeRepresentation => &["ContextOfItems", "RepresentationIdentifier", "RepresentationType", "Items"],
Self::IfcShellBasedSurfaceModel => &["SbsmBoundary"],
Self::IfcSimpleProperty => &["Name", "Description"],
Self::IfcSite => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "LongName", "CompositionType", "RefLatitude", "RefLongitude", "RefElevation", "LandTitleNumber", "SiteAddress"],
Self::IfcSlab => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "PredefinedType"],
Self::IfcSlabType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcSlippageConnectionCondition => &["Name", "SlippageX", "SlippageY", "SlippageZ"],
Self::IfcSolidModel => &[],
Self::IfcSoundProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "IsAttenuating", "SoundScale", "SoundValues"],
Self::IfcSoundValue => &["GlobalId", "OwnerHistory", "Name", "Description", "SoundLevelTimeSeries", "Frequency", "SoundLevelSingleValue"],
Self::IfcSpace => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "LongName", "CompositionType", "InteriorOrExteriorSpace", "ElevationWithFlooring"],
Self::IfcSpaceHeaterType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcSpaceProgram => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "SpaceProgramIdentifier", "MaxRequiredArea", "MinRequiredArea", "RequestedLocation", "StandardRequiredArea"],
Self::IfcSpaceThermalLoadProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableValueRatio", "ThermalLoadSource", "PropertySource", "SourceDescription", "MaximumValue", "MinimumValue", "ThermalLoadTimeSeriesValues", "UserDefinedThermalLoadSource", "UserDefinedPropertySource", "ThermalLoadType"],
Self::IfcSpaceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcSpatialStructureElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "LongName", "CompositionType"],
Self::IfcSpatialStructureElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcSphere => &["Position", "Radius"],
Self::IfcStackTerminalType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcStair => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "ShapeType"],
Self::IfcStairFlight => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "NumberOfRiser", "NumberOfTreads", "RiserHeight", "TreadLength"],
Self::IfcStairFlightType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcStructuralAction => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal", "DestabilizingLoad", "CausedBy"],
Self::IfcStructuralActivity => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal"],
Self::IfcStructuralAnalysisModel => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "PredefinedType", "OrientationOf2DPlane", "LoadedBy", "HasResults"],
Self::IfcStructuralConnection => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedCondition"],
Self::IfcStructuralConnectionCondition => &["Name"],
Self::IfcStructuralCurveConnection => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedCondition"],
Self::IfcStructuralCurveMember => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "PredefinedType"],
Self::IfcStructuralCurveMemberVarying => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "PredefinedType"],
Self::IfcStructuralItem => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation"],
Self::IfcStructuralLinearAction => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal", "DestabilizingLoad", "CausedBy", "ProjectedOrTrue"],
Self::IfcStructuralLinearActionVarying => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal", "DestabilizingLoad", "CausedBy", "ProjectedOrTrue", "VaryingAppliedLoadLocation", "SubsequentAppliedLoads"],
Self::IfcStructuralLoad => &["Name"],
Self::IfcStructuralLoadGroup => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "PredefinedType", "ActionType", "ActionSource", "Coefficient", "Purpose"],
Self::IfcStructuralLoadLinearForce => &["Name", "LinearForceX", "LinearForceY", "LinearForceZ", "LinearMomentX", "LinearMomentY", "LinearMomentZ"],
Self::IfcStructuralLoadPlanarForce => &["Name", "PlanarForceX", "PlanarForceY", "PlanarForceZ"],
Self::IfcStructuralLoadSingleDisplacement => &["Name", "DisplacementX", "DisplacementY", "DisplacementZ", "RotationalDisplacementRX", "RotationalDisplacementRY", "RotationalDisplacementRZ"],
Self::IfcStructuralLoadSingleDisplacementDistortion => &["Name", "DisplacementX", "DisplacementY", "DisplacementZ", "RotationalDisplacementRX", "RotationalDisplacementRY", "RotationalDisplacementRZ", "Distortion"],
Self::IfcStructuralLoadSingleForce => &["Name", "ForceX", "ForceY", "ForceZ", "MomentX", "MomentY", "MomentZ"],
Self::IfcStructuralLoadSingleForceWarping => &["Name", "ForceX", "ForceY", "ForceZ", "MomentX", "MomentY", "MomentZ", "WarpingMoment"],
Self::IfcStructuralLoadStatic => &["Name"],
Self::IfcStructuralLoadTemperature => &["Name", "DeltaT_Constant", "DeltaT_Y", "DeltaT_Z"],
Self::IfcStructuralMember => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation"],
Self::IfcStructuralPlanarAction => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal", "DestabilizingLoad", "CausedBy", "ProjectedOrTrue"],
Self::IfcStructuralPlanarActionVarying => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal", "DestabilizingLoad", "CausedBy", "ProjectedOrTrue", "VaryingAppliedLoadLocation", "SubsequentAppliedLoads"],
Self::IfcStructuralPointAction => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal", "DestabilizingLoad", "CausedBy"],
Self::IfcStructuralPointConnection => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedCondition"],
Self::IfcStructuralPointReaction => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal"],
Self::IfcStructuralProfileProperties => &["ProfileName", "ProfileDefinition", "PhysicalWeight", "Perimeter", "MinimumPlateThickness", "MaximumPlateThickness", "CrossSectionArea", "TorsionalConstantX", "MomentOfInertiaYZ", "MomentOfInertiaY", "MomentOfInertiaZ", "WarpingConstant", "ShearCentreZ", "ShearCentreY", "ShearDeformationAreaZ", "ShearDeformationAreaY", "MaximumSectionModulusY", "MinimumSectionModulusY", "MaximumSectionModulusZ", "MinimumSectionModulusZ", "TorsionalSectionModulus", "CentreOfGravityInX", "CentreOfGravityInY"],
Self::IfcStructuralReaction => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedLoad", "GlobalOrLocal"],
Self::IfcStructuralResultGroup => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "TheoryType", "ResultForLoadGroup", "IsLinear"],
Self::IfcStructuralSteelProfileProperties => &["ProfileName", "ProfileDefinition", "PhysicalWeight", "Perimeter", "MinimumPlateThickness", "MaximumPlateThickness", "CrossSectionArea", "TorsionalConstantX", "MomentOfInertiaYZ", "MomentOfInertiaY", "MomentOfInertiaZ", "WarpingConstant", "ShearCentreZ", "ShearCentreY", "ShearDeformationAreaZ", "ShearDeformationAreaY", "MaximumSectionModulusY", "MinimumSectionModulusY", "MaximumSectionModulusZ", "MinimumSectionModulusZ", "TorsionalSectionModulus", "CentreOfGravityInX", "CentreOfGravityInY", "ShearAreaZ", "ShearAreaY", "PlasticShapeFactorY", "PlasticShapeFactorZ"],
Self::IfcStructuralSurfaceConnection => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "AppliedCondition"],
Self::IfcStructuralSurfaceMember => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "PredefinedType", "Thickness"],
Self::IfcStructuralSurfaceMemberVarying => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "PredefinedType", "Thickness", "SubsequentThickness", "VaryingThicknessLocation"],
Self::IfcStructuredDimensionCallout => &["Contents"],
Self::IfcStyleModel => &["ContextOfItems", "RepresentationIdentifier", "RepresentationType", "Items"],
Self::IfcStyledItem => &["Item", "Styles", "Name"],
Self::IfcStyledRepresentation => &["ContextOfItems", "RepresentationIdentifier", "RepresentationType", "Items"],
Self::IfcSubContractResource => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ResourceIdentifier", "ResourceGroup", "ResourceConsumption", "BaseQuantity", "SubContractor", "JobDescription"],
Self::IfcSubedge => &["EdgeStart", "EdgeEnd", "ParentEdge"],
Self::IfcSurface => &[],
Self::IfcSurfaceCurveSweptAreaSolid => &["SweptArea", "Position", "Directrix", "StartParam", "EndParam", "ReferenceSurface"],
Self::IfcSurfaceOfLinearExtrusion => &["SweptCurve", "Position", "ExtrudedDirection", "Depth"],
Self::IfcSurfaceOfRevolution => &["SweptCurve", "Position", "AxisPosition"],
Self::IfcSurfaceStyle => &["Name", "Side", "Styles"],
Self::IfcSurfaceStyleLighting => &["DiffuseTransmissionColour", "DiffuseReflectionColour", "TransmissionColour", "ReflectanceColour"],
Self::IfcSurfaceStyleRefraction => &["RefractionIndex", "DispersionFactor"],
Self::IfcSurfaceStyleRendering => &["SurfaceColour", "Transparency", "DiffuseColour", "TransmissionColour", "DiffuseTransmissionColour", "ReflectionColour", "SpecularColour", "SpecularHighlight", "ReflectanceMethod"],
Self::IfcSurfaceStyleShading => &["SurfaceColour"],
Self::IfcSurfaceStyleWithTextures => &["Textures"],
Self::IfcSurfaceTexture => &["RepeatS", "RepeatT", "TextureType", "TextureTransform"],
Self::IfcSweptAreaSolid => &["SweptArea", "Position"],
Self::IfcSweptDiskSolid => &["Directrix", "Radius", "InnerRadius", "StartParam", "EndParam"],
Self::IfcSweptSurface => &["SweptCurve", "Position"],
Self::IfcSwitchingDeviceType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcSymbolStyle => &["Name", "StyleOfSymbol"],
Self::IfcSystem => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::IfcSystemFurnitureElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType"],
Self::IfcTShapeProfileDef => &["ProfileType", "ProfileName", "Position", "Depth", "FlangeWidth", "WebThickness", "FlangeThickness", "FilletRadius", "FlangeEdgeRadius", "WebEdgeRadius", "WebSlope", "FlangeSlope", "CentreOfGravityInY"],
Self::IfcTable => &["Name", "Rows"],
Self::IfcTableRow => &["RowCells", "IsHeading"],
Self::IfcTankType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcTask => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "TaskId", "Status", "WorkMethod", "IsMilestone", "Priority"],
Self::IfcTelecomAddress => &["Purpose", "Description", "UserDefinedPurpose", "TelephoneNumbers", "FacsimileNumbers", "PagerNumber", "ElectronicMailAddresses", "WWWHomePageURL"],
Self::IfcTendon => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "SteelGrade", "PredefinedType", "NominalDiameter", "CrossSectionArea", "TensionForce", "PreStress", "FrictionCoefficient", "AnchorageSlip", "MinCurvatureRadius"],
Self::IfcTendonAnchor => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "SteelGrade"],
Self::IfcTerminatorSymbol => &["Item", "Styles", "Name", "AnnotatedCurve"],
Self::IfcTextLiteral => &["Literal", "Placement", "Path"],
Self::IfcTextLiteralWithExtent => &["Literal", "Placement", "Path", "Extent", "BoxAlignment"],
Self::IfcTextStyle => &["Name", "TextCharacterAppearance", "TextStyle", "TextFontStyle"],
Self::IfcTextStyleFontModel => &["Name", "FontFamily", "FontStyle", "FontVariant", "FontWeight", "FontSize"],
Self::IfcTextStyleForDefinedFont => &["Colour", "BackgroundColour"],
Self::IfcTextStyleTextModel => &["TextIndent", "TextAlign", "TextDecoration", "LetterSpacing", "WordSpacing", "TextTransform", "LineHeight"],
Self::IfcTextStyleWithBoxCharacteristics => &["BoxHeight", "BoxWidth", "BoxSlantAngle", "BoxRotateAngle", "CharacterSpacing"],
Self::IfcTextureCoordinate => &[],
Self::IfcTextureCoordinateGenerator => &["Mode", "Parameter"],
Self::IfcTextureMap => &["TextureMaps"],
Self::IfcTextureVertex => &["Coordinates"],
Self::IfcThermalMaterialProperties => &["Material", "SpecificHeatCapacity", "BoilingPoint", "FreezingPoint", "ThermalConductivity"],
Self::IfcTimeSeries => &["Name", "Description", "StartTime", "EndTime", "TimeSeriesDataType", "DataOrigin", "UserDefinedDataOrigin", "Unit"],
Self::IfcTimeSeriesReferenceRelationship => &["ReferencedTimeSeries", "TimeSeriesReferences"],
Self::IfcTimeSeriesSchedule => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ApplicableDates", "TimeSeriesScheduleType", "TimeSeries"],
Self::IfcTimeSeriesValue => &["ListValues"],
Self::IfcTopologicalRepresentationItem => &[],
Self::IfcTopologyRepresentation => &["ContextOfItems", "RepresentationIdentifier", "RepresentationType", "Items"],
Self::IfcTransformerType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcTransportElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "OperationType", "CapacityByWeight", "CapacityByNumber"],
Self::IfcTransportElementType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcTrapeziumProfileDef => &["ProfileType", "ProfileName", "Position", "BottomXDim", "TopXDim", "YDim", "TopXOffset"],
Self::IfcTrimmedCurve => &["BasisCurve", "Trim1", "Trim2", "SenseAgreement", "MasterRepresentation"],
Self::IfcTubeBundleType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcTwoDirectionRepeatFactor => &["RepeatFactor", "SecondRepeatFactor"],
Self::IfcTypeObject => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets"],
Self::IfcTypeProduct => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag"],
Self::IfcUShapeProfileDef => &["ProfileType", "ProfileName", "Position", "Depth", "FlangeWidth", "WebThickness", "FlangeThickness", "FilletRadius", "EdgeRadius", "FlangeSlope", "CentreOfGravityInX"],
Self::IfcUnitAssignment => &["Units"],
Self::IfcUnitaryEquipmentType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcValveType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcVector => &["Orientation", "Magnitude"],
Self::IfcVertex => &[],
Self::IfcVertexBasedTextureMap => &["TextureVertices", "TexturePoints"],
Self::IfcVertexLoop => &["LoopVertex"],
Self::IfcVertexPoint => &["VertexGeometry"],
Self::IfcVibrationIsolatorType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcVirtualElement => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcVirtualGridIntersection => &["IntersectingAxes", "OffsetDistances"],
Self::IfcWall => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcWallStandardCase => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag"],
Self::IfcWallType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcWasteTerminalType => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ElementType", "PredefinedType"],
Self::IfcWaterProperties => &["Material", "IsPotable", "Hardness", "AlkalinityConcentration", "AcidityConcentration", "ImpuritiesContent", "PHLevel", "DissolvedSolidsContent"],
Self::IfcWindow => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "ObjectPlacement", "Representation", "Tag", "OverallHeight", "OverallWidth"],
Self::IfcWindowLiningProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "LiningDepth", "LiningThickness", "TransomThickness", "MullionThickness", "FirstTransomOffset", "SecondTransomOffset", "FirstMullionOffset", "SecondMullionOffset", "ShapeAspectStyle"],
Self::IfcWindowPanelProperties => &["GlobalId", "OwnerHistory", "Name", "Description", "OperationType", "PanelPosition", "FrameDepth", "FrameThickness", "ShapeAspectStyle"],
Self::IfcWindowStyle => &["GlobalId", "OwnerHistory", "Name", "Description", "ApplicableOccurrence", "HasPropertySets", "RepresentationMaps", "Tag", "ConstructionType", "OperationType", "ParameterTakesPrecedence", "Sizeable"],
Self::IfcWorkControl => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "Identifier", "CreationDate", "Creators", "Purpose", "Duration", "TotalFloat", "StartTime", "FinishTime", "WorkControlType", "UserDefinedControlType"],
Self::IfcWorkPlan => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "Identifier", "CreationDate", "Creators", "Purpose", "Duration", "TotalFloat", "StartTime", "FinishTime", "WorkControlType", "UserDefinedControlType"],
Self::IfcWorkSchedule => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType", "Identifier", "CreationDate", "Creators", "Purpose", "Duration", "TotalFloat", "StartTime", "FinishTime", "WorkControlType", "UserDefinedControlType"],
Self::IfcZShapeProfileDef => &["ProfileType", "ProfileName", "Position", "Depth", "FlangeWidth", "WebThickness", "FlangeThickness", "FilletRadius", "EdgeRadius"],
Self::IfcZone => &["GlobalId", "OwnerHistory", "Name", "Description", "ObjectType"],
Self::Unknown(_) => &[],
}
}
/// The position of a named attribute, for DecodedEntity::get.
///
/// Case-sensitive: EXPRESS attribute names are PascalCase and the schema's
/// spelling is the only one that resolves.
pub fn attribute_index(&self, name: &str) -> Option<usize> {
self.attribute_names().iter().position(|n| *n == name)
}
/// Whether IFC2X3 itself declares this class.
///
/// The enum is one exact-name universe across every supported release;
/// a variant that only a supplemental (older) schema declares keeps its
/// name but carries no positional metadata here (its
/// `attribute_names()` is empty). A per-schema registry that must fail
/// closed for a class the declared FILE_SCHEMA does not know consults
/// this rather than the emptiness of the attribute list, which a genuine
/// zero-attribute class shares (#4203).
pub fn declared_by_canonical_schema(&self) -> bool {
!matches!(self, Self::Unknown(_))
}
}
/// Every entity type this schema defines, in declaration order.
///
/// A slice and not an array: the length is a property of the schema, and
/// baking it into the type would make the next IFC release a breaking
/// change for anyone who names it.
///
/// The enum is exhaustive but not enumerable: the Unknown(u32) variant
/// makes it open, and the CRC32 ids are sparse, so neither from_id nor a
/// range gives a caller the catalog. A consumer that has to reason about the
/// WHOLE schema — mapping every class to some other vocabulary, auditing
/// which ones it covers, generating a table — otherwise has to re-parse
/// the EXPRESS file or scrape this one.
pub(crate) static ALL: &[IfcType] = &[
IfcType::Ifc2DCompositeCurve,
IfcType::IfcActionRequest,
IfcType::IfcActor,
IfcType::IfcActorRole,
IfcType::IfcActuatorType,
IfcType::IfcAddress,
IfcType::IfcAirTerminalBoxType,
IfcType::IfcAirTerminalType,
IfcType::IfcAirToAirHeatRecoveryType,
IfcType::IfcAlarmType,
IfcType::IfcAngularDimension,
IfcType::IfcAnnotation,
IfcType::IfcAnnotationCurveOccurrence,
IfcType::IfcAnnotationFillArea,
IfcType::IfcAnnotationFillAreaOccurrence,
IfcType::IfcAnnotationOccurrence,
IfcType::IfcAnnotationSurface,
IfcType::IfcAnnotationSurfaceOccurrence,
IfcType::IfcAnnotationSymbolOccurrence,
IfcType::IfcAnnotationTextOccurrence,
IfcType::IfcApplication,
IfcType::IfcAppliedValue,
IfcType::IfcAppliedValueRelationship,
IfcType::IfcApproval,
IfcType::IfcApprovalActorRelationship,
IfcType::IfcApprovalPropertyRelationship,
IfcType::IfcApprovalRelationship,
IfcType::IfcArbitraryClosedProfileDef,
IfcType::IfcArbitraryOpenProfileDef,
IfcType::IfcArbitraryProfileDefWithVoids,
IfcType::IfcAsset,
IfcType::IfcAsymmetricIShapeProfileDef,
IfcType::IfcAxis1Placement,
IfcType::IfcAxis2Placement2D,
IfcType::IfcAxis2Placement3D,
IfcType::IfcBSplineCurve,
IfcType::IfcBeam,
IfcType::IfcBeamType,
IfcType::IfcBezierCurve,
IfcType::IfcBlobTexture,
IfcType::IfcBlock,
IfcType::IfcBoilerType,
IfcType::IfcBooleanClippingResult,
IfcType::IfcBooleanResult,
IfcType::IfcBoundaryCondition,
IfcType::IfcBoundaryEdgeCondition,
IfcType::IfcBoundaryFaceCondition,
IfcType::IfcBoundaryNodeCondition,
IfcType::IfcBoundaryNodeConditionWarping,
IfcType::IfcBoundedCurve,
IfcType::IfcBoundedSurface,
IfcType::IfcBoundingBox,
IfcType::IfcBoxedHalfSpace,
IfcType::IfcBuilding,
IfcType::IfcBuildingElement,
IfcType::IfcBuildingElementComponent,
IfcType::IfcBuildingElementPart,
IfcType::IfcBuildingElementProxy,
IfcType::IfcBuildingElementProxyType,
IfcType::IfcBuildingElementType,
IfcType::IfcBuildingStorey,
IfcType::IfcCShapeProfileDef,
IfcType::IfcCableCarrierFittingType,
IfcType::IfcCableCarrierSegmentType,
IfcType::IfcCableSegmentType,
IfcType::IfcCalendarDate,
IfcType::IfcCartesianPoint,
IfcType::IfcCartesianTransformationOperator,
IfcType::IfcCartesianTransformationOperator2D,
IfcType::IfcCartesianTransformationOperator2DnonUniform,
IfcType::IfcCartesianTransformationOperator3D,
IfcType::IfcCartesianTransformationOperator3DnonUniform,
IfcType::IfcCenterLineProfileDef,
IfcType::IfcChamferEdgeFeature,
IfcType::IfcChillerType,
IfcType::IfcCircle,
IfcType::IfcCircleHollowProfileDef,
IfcType::IfcCircleProfileDef,
IfcType::IfcClassification,
IfcType::IfcClassificationItem,
IfcType::IfcClassificationItemRelationship,
IfcType::IfcClassificationNotation,
IfcType::IfcClassificationNotationFacet,
IfcType::IfcClassificationReference,
IfcType::IfcClosedShell,
IfcType::IfcCoilType,
IfcType::IfcColourRgb,
IfcType::IfcColourSpecification,
IfcType::IfcColumn,
IfcType::IfcColumnType,
IfcType::IfcComplexProperty,
IfcType::IfcCompositeCurve,
IfcType::IfcCompositeCurveSegment,
IfcType::IfcCompositeProfileDef,
IfcType::IfcCompressorType,
IfcType::IfcCondenserType,
IfcType::IfcCondition,
IfcType::IfcConditionCriterion,
IfcType::IfcConic,
IfcType::IfcConnectedFaceSet,
IfcType::IfcConnectionCurveGeometry,
IfcType::IfcConnectionGeometry,
IfcType::IfcConnectionPointEccentricity,
IfcType::IfcConnectionPointGeometry,
IfcType::IfcConnectionPortGeometry,
IfcType::IfcConnectionSurfaceGeometry,
IfcType::IfcConstraint,
IfcType::IfcConstraintAggregationRelationship,
IfcType::IfcConstraintClassificationRelationship,
IfcType::IfcConstraintRelationship,
IfcType::IfcConstructionEquipmentResource,
IfcType::IfcConstructionMaterialResource,
IfcType::IfcConstructionProductResource,
IfcType::IfcConstructionResource,
IfcType::IfcContextDependentUnit,
IfcType::IfcControl,
IfcType::IfcControllerType,
IfcType::IfcConversionBasedUnit,
IfcType::IfcCooledBeamType,
IfcType::IfcCoolingTowerType,
IfcType::IfcCoordinatedUniversalTimeOffset,
IfcType::IfcCostItem,
IfcType::IfcCostSchedule,
IfcType::IfcCostValue,
IfcType::IfcCovering,
IfcType::IfcCoveringType,
IfcType::IfcCraneRailAShapeProfileDef,
IfcType::IfcCraneRailFShapeProfileDef,
IfcType::IfcCrewResource,
IfcType::IfcCsgPrimitive3D,
IfcType::IfcCsgSolid,
IfcType::IfcCurrencyRelationship,
IfcType::IfcCurtainWall,
IfcType::IfcCurtainWallType,
IfcType::IfcCurve,
IfcType::IfcCurveBoundedPlane,
IfcType::IfcCurveStyle,
IfcType::IfcCurveStyleFont,
IfcType::IfcCurveStyleFontAndScaling,
IfcType::IfcCurveStyleFontPattern,
IfcType::IfcDamperType,
IfcType::IfcDateAndTime,
IfcType::IfcDefinedSymbol,
IfcType::IfcDerivedProfileDef,
IfcType::IfcDerivedUnit,
IfcType::IfcDerivedUnitElement,
IfcType::IfcDiameterDimension,
IfcType::IfcDimensionCalloutRelationship,
IfcType::IfcDimensionCurve,
IfcType::IfcDimensionCurveDirectedCallout,
IfcType::IfcDimensionCurveTerminator,
IfcType::IfcDimensionPair,
IfcType::IfcDimensionalExponents,
IfcType::IfcDirection,
IfcType::IfcDiscreteAccessory,
IfcType::IfcDiscreteAccessoryType,
IfcType::IfcDistributionChamberElement,
IfcType::IfcDistributionChamberElementType,
IfcType::IfcDistributionControlElement,
IfcType::IfcDistributionControlElementType,
IfcType::IfcDistributionElement,
IfcType::IfcDistributionElementType,
IfcType::IfcDistributionFlowElement,
IfcType::IfcDistributionFlowElementType,
IfcType::IfcDistributionPort,
IfcType::IfcDocumentElectronicFormat,
IfcType::IfcDocumentInformation,
IfcType::IfcDocumentInformationRelationship,
IfcType::IfcDocumentReference,
IfcType::IfcDoor,
IfcType::IfcDoorLiningProperties,
IfcType::IfcDoorPanelProperties,
IfcType::IfcDoorStyle,
IfcType::IfcDraughtingCallout,
IfcType::IfcDraughtingCalloutRelationship,
IfcType::IfcDraughtingPreDefinedColour,
IfcType::IfcDraughtingPreDefinedCurveFont,
IfcType::IfcDraughtingPreDefinedTextFont,
IfcType::IfcDuctFittingType,
IfcType::IfcDuctSegmentType,
IfcType::IfcDuctSilencerType,
IfcType::IfcEdge,
IfcType::IfcEdgeCurve,
IfcType::IfcEdgeFeature,
IfcType::IfcEdgeLoop,
IfcType::IfcElectricApplianceType,
IfcType::IfcElectricDistributionPoint,
IfcType::IfcElectricFlowStorageDeviceType,
IfcType::IfcElectricGeneratorType,
IfcType::IfcElectricHeaterType,
IfcType::IfcElectricMotorType,
IfcType::IfcElectricTimeControlType,
IfcType::IfcElectricalBaseProperties,
IfcType::IfcElectricalCircuit,
IfcType::IfcElectricalElement,
IfcType::IfcElement,
IfcType::IfcElementAssembly,
IfcType::IfcElementComponent,
IfcType::IfcElementComponentType,
IfcType::IfcElementQuantity,
IfcType::IfcElementType,
IfcType::IfcElementarySurface,
IfcType::IfcEllipse,
IfcType::IfcEllipseProfileDef,
IfcType::IfcEnergyConversionDevice,
IfcType::IfcEnergyConversionDeviceType,
IfcType::IfcEnergyProperties,
IfcType::IfcEnvironmentalImpactValue,
IfcType::IfcEquipmentElement,
IfcType::IfcEquipmentStandard,
IfcType::IfcEvaporativeCoolerType,
IfcType::IfcEvaporatorType,
IfcType::IfcExtendedMaterialProperties,
IfcType::IfcExternalReference,
IfcType::IfcExternallyDefinedHatchStyle,
IfcType::IfcExternallyDefinedSurfaceStyle,
IfcType::IfcExternallyDefinedSymbol,
IfcType::IfcExternallyDefinedTextFont,
IfcType::IfcExtrudedAreaSolid,
IfcType::IfcFace,
IfcType::IfcFaceBasedSurfaceModel,
IfcType::IfcFaceBound,
IfcType::IfcFaceOuterBound,
IfcType::IfcFaceSurface,
IfcType::IfcFacetedBrep,
IfcType::IfcFacetedBrepWithVoids,
IfcType::IfcFailureConnectionCondition,
IfcType::IfcFanType,
IfcType::IfcFastener,
IfcType::IfcFastenerType,
IfcType::IfcFeatureElement,
IfcType::IfcFeatureElementAddition,
IfcType::IfcFeatureElementSubtraction,
IfcType::IfcFillAreaStyle,
IfcType::IfcFillAreaStyleHatching,
IfcType::IfcFillAreaStyleTileSymbolWithStyle,
IfcType::IfcFillAreaStyleTiles,
IfcType::IfcFilterType,
IfcType::IfcFireSuppressionTerminalType,
IfcType::IfcFlowController,
IfcType::IfcFlowControllerType,
IfcType::IfcFlowFitting,
IfcType::IfcFlowFittingType,
IfcType::IfcFlowInstrumentType,
IfcType::IfcFlowMeterType,
IfcType::IfcFlowMovingDevice,
IfcType::IfcFlowMovingDeviceType,
IfcType::IfcFlowSegment,
IfcType::IfcFlowSegmentType,
IfcType::IfcFlowStorageDevice,
IfcType::IfcFlowStorageDeviceType,
IfcType::IfcFlowTerminal,
IfcType::IfcFlowTerminalType,
IfcType::IfcFlowTreatmentDevice,
IfcType::IfcFlowTreatmentDeviceType,
IfcType::IfcFluidFlowProperties,
IfcType::IfcFooting,
IfcType::IfcFuelProperties,
IfcType::IfcFurnishingElement,
IfcType::IfcFurnishingElementType,
IfcType::IfcFurnitureStandard,
IfcType::IfcFurnitureType,
IfcType::IfcGasTerminalType,
IfcType::IfcGeneralMaterialProperties,
IfcType::IfcGeneralProfileProperties,
IfcType::IfcGeometricCurveSet,
IfcType::IfcGeometricRepresentationContext,
IfcType::IfcGeometricRepresentationItem,
IfcType::IfcGeometricRepresentationSubContext,
IfcType::IfcGeometricSet,
IfcType::IfcGrid,
IfcType::IfcGridAxis,
IfcType::IfcGridPlacement,
IfcType::IfcGroup,
IfcType::IfcHalfSpaceSolid,
IfcType::IfcHeatExchangerType,
IfcType::IfcHumidifierType,
IfcType::IfcHygroscopicMaterialProperties,
IfcType::IfcIShapeProfileDef,
IfcType::IfcImageTexture,
IfcType::IfcInventory,
IfcType::IfcIrregularTimeSeries,
IfcType::IfcIrregularTimeSeriesValue,
IfcType::IfcJunctionBoxType,
IfcType::IfcLShapeProfileDef,
IfcType::IfcLaborResource,
IfcType::IfcLampType,
IfcType::IfcLibraryInformation,
IfcType::IfcLibraryReference,
IfcType::IfcLightDistributionData,
IfcType::IfcLightFixtureType,
IfcType::IfcLightIntensityDistribution,
IfcType::IfcLightSource,
IfcType::IfcLightSourceAmbient,
IfcType::IfcLightSourceDirectional,
IfcType::IfcLightSourceGoniometric,
IfcType::IfcLightSourcePositional,
IfcType::IfcLightSourceSpot,
IfcType::IfcLine,
IfcType::IfcLinearDimension,
IfcType::IfcLocalPlacement,
IfcType::IfcLocalTime,
IfcType::IfcLoop,
IfcType::IfcManifoldSolidBrep,
IfcType::IfcMappedItem,
IfcType::IfcMaterial,
IfcType::IfcMaterialClassificationRelationship,
IfcType::IfcMaterialDefinitionRepresentation,
IfcType::IfcMaterialLayer,
IfcType::IfcMaterialLayerSet,
IfcType::IfcMaterialLayerSetUsage,
IfcType::IfcMaterialList,
IfcType::IfcMaterialProperties,
IfcType::IfcMeasureWithUnit,
IfcType::IfcMechanicalConcreteMaterialProperties,
IfcType::IfcMechanicalFastener,
IfcType::IfcMechanicalFastenerType,
IfcType::IfcMechanicalMaterialProperties,
IfcType::IfcMechanicalSteelMaterialProperties,
IfcType::IfcMember,
IfcType::IfcMemberType,
IfcType::IfcMetric,
IfcType::IfcMonetaryUnit,
IfcType::IfcMotorConnectionType,
IfcType::IfcMove,
IfcType::IfcNamedUnit,
IfcType::IfcObject,
IfcType::IfcObjectDefinition,
IfcType::IfcObjectPlacement,
IfcType::IfcObjective,
IfcType::IfcOccupant,
IfcType::IfcOffsetCurve2D,
IfcType::IfcOffsetCurve3D,
IfcType::IfcOneDirectionRepeatFactor,
IfcType::IfcOpenShell,
IfcType::IfcOpeningElement,
IfcType::IfcOpticalMaterialProperties,
IfcType::IfcOrderAction,
IfcType::IfcOrganization,
IfcType::IfcOrganizationRelationship,
IfcType::IfcOrientedEdge,
IfcType::IfcOutletType,
IfcType::IfcOwnerHistory,
IfcType::IfcParameterizedProfileDef,
IfcType::IfcPath,
IfcType::IfcPerformanceHistory,
IfcType::IfcPermeableCoveringProperties,
IfcType::IfcPermit,
IfcType::IfcPerson,
IfcType::IfcPersonAndOrganization,
IfcType::IfcPhysicalComplexQuantity,
IfcType::IfcPhysicalQuantity,
IfcType::IfcPhysicalSimpleQuantity,
IfcType::IfcPile,
IfcType::IfcPipeFittingType,
IfcType::IfcPipeSegmentType,
IfcType::IfcPixelTexture,
IfcType::IfcPlacement,
IfcType::IfcPlanarBox,
IfcType::IfcPlanarExtent,
IfcType::IfcPlane,
IfcType::IfcPlate,
IfcType::IfcPlateType,
IfcType::IfcPoint,
IfcType::IfcPointOnCurve,
IfcType::IfcPointOnSurface,
IfcType::IfcPolyLoop,
IfcType::IfcPolygonalBoundedHalfSpace,
IfcType::IfcPolyline,
IfcType::IfcPort,
IfcType::IfcPostalAddress,
IfcType::IfcPreDefinedColour,
IfcType::IfcPreDefinedCurveFont,
IfcType::IfcPreDefinedDimensionSymbol,
IfcType::IfcPreDefinedItem,
IfcType::IfcPreDefinedPointMarkerSymbol,
IfcType::IfcPreDefinedSymbol,
IfcType::IfcPreDefinedTerminatorSymbol,
IfcType::IfcPreDefinedTextFont,
IfcType::IfcPresentationLayerAssignment,
IfcType::IfcPresentationLayerWithStyle,
IfcType::IfcPresentationStyle,
IfcType::IfcPresentationStyleAssignment,
IfcType::IfcProcedure,
IfcType::IfcProcess,
IfcType::IfcProduct,
IfcType::IfcProductDefinitionShape,
IfcType::IfcProductRepresentation,
IfcType::IfcProductsOfCombustionProperties,
IfcType::IfcProfileDef,
IfcType::IfcProfileProperties,
IfcType::IfcProject,
IfcType::IfcProjectOrder,
IfcType::IfcProjectOrderRecord,
IfcType::IfcProjectionCurve,
IfcType::IfcProjectionElement,
IfcType::IfcProperty,
IfcType::IfcPropertyBoundedValue,
IfcType::IfcPropertyConstraintRelationship,
IfcType::IfcPropertyDefinition,
IfcType::IfcPropertyDependencyRelationship,
IfcType::IfcPropertyEnumeratedValue,
IfcType::IfcPropertyEnumeration,
IfcType::IfcPropertyListValue,
IfcType::IfcPropertyReferenceValue,
IfcType::IfcPropertySet,
IfcType::IfcPropertySetDefinition,
IfcType::IfcPropertySingleValue,
IfcType::IfcPropertyTableValue,
IfcType::IfcProtectiveDeviceType,
IfcType::IfcProxy,
IfcType::IfcPumpType,
IfcType::IfcQuantityArea,
IfcType::IfcQuantityCount,
IfcType::IfcQuantityLength,
IfcType::IfcQuantityTime,
IfcType::IfcQuantityVolume,
IfcType::IfcQuantityWeight,
IfcType::IfcRadiusDimension,
IfcType::IfcRailing,
IfcType::IfcRailingType,
IfcType::IfcRamp,
IfcType::IfcRampFlight,
IfcType::IfcRampFlightType,
IfcType::IfcRationalBezierCurve,
IfcType::IfcRectangleHollowProfileDef,
IfcType::IfcRectangleProfileDef,
IfcType::IfcRectangularPyramid,
IfcType::IfcRectangularTrimmedSurface,
IfcType::IfcReferencesValueDocument,
IfcType::IfcRegularTimeSeries,
IfcType::IfcReinforcementBarProperties,
IfcType::IfcReinforcementDefinitionProperties,
IfcType::IfcReinforcingBar,
IfcType::IfcReinforcingElement,
IfcType::IfcReinforcingMesh,
IfcType::IfcRelAggregates,
IfcType::IfcRelAssigns,
IfcType::IfcRelAssignsTasks,
IfcType::IfcRelAssignsToActor,
IfcType::IfcRelAssignsToControl,
IfcType::IfcRelAssignsToGroup,
IfcType::IfcRelAssignsToProcess,
IfcType::IfcRelAssignsToProduct,
IfcType::IfcRelAssignsToProjectOrder,
IfcType::IfcRelAssignsToResource,
IfcType::IfcRelAssociates,
IfcType::IfcRelAssociatesAppliedValue,
IfcType::IfcRelAssociatesApproval,
IfcType::IfcRelAssociatesClassification,
IfcType::IfcRelAssociatesConstraint,
IfcType::IfcRelAssociatesDocument,
IfcType::IfcRelAssociatesLibrary,
IfcType::IfcRelAssociatesMaterial,
IfcType::IfcRelAssociatesProfileProperties,
IfcType::IfcRelConnects,
IfcType::IfcRelConnectsElements,
IfcType::IfcRelConnectsPathElements,
IfcType::IfcRelConnectsPortToElement,
IfcType::IfcRelConnectsPorts,
IfcType::IfcRelConnectsStructuralActivity,
IfcType::IfcRelConnectsStructuralElement,
IfcType::IfcRelConnectsStructuralMember,
IfcType::IfcRelConnectsWithEccentricity,
IfcType::IfcRelConnectsWithRealizingElements,
IfcType::IfcRelContainedInSpatialStructure,
IfcType::IfcRelCoversBldgElements,
IfcType::IfcRelCoversSpaces,
IfcType::IfcRelDecomposes,
IfcType::IfcRelDefines,
IfcType::IfcRelDefinesByProperties,
IfcType::IfcRelDefinesByType,
IfcType::IfcRelFillsElement,
IfcType::IfcRelFlowControlElements,
IfcType::IfcRelInteractionRequirements,
IfcType::IfcRelNests,
IfcType::IfcRelOccupiesSpaces,
IfcType::IfcRelOverridesProperties,
IfcType::IfcRelProjectsElement,
IfcType::IfcRelReferencedInSpatialStructure,
IfcType::IfcRelSchedulesCostItems,
IfcType::IfcRelSequence,
IfcType::IfcRelServicesBuildings,
IfcType::IfcRelSpaceBoundary,
IfcType::IfcRelVoidsElement,
IfcType::IfcRelationship,
IfcType::IfcRelaxation,
IfcType::IfcRepresentation,
IfcType::IfcRepresentationContext,
IfcType::IfcRepresentationItem,
IfcType::IfcRepresentationMap,
IfcType::IfcResource,
IfcType::IfcRevolvedAreaSolid,
IfcType::IfcRibPlateProfileProperties,
IfcType::IfcRightCircularCone,
IfcType::IfcRightCircularCylinder,
IfcType::IfcRoof,
IfcType::IfcRoot,
IfcType::IfcRoundedEdgeFeature,
IfcType::IfcRoundedRectangleProfileDef,
IfcType::IfcSIUnit,
IfcType::IfcSanitaryTerminalType,
IfcType::IfcScheduleTimeControl,
IfcType::IfcSectionProperties,
IfcType::IfcSectionReinforcementProperties,
IfcType::IfcSectionedSpine,
IfcType::IfcSensorType,
IfcType::IfcServiceLife,
IfcType::IfcServiceLifeFactor,
IfcType::IfcShapeAspect,
IfcType::IfcShapeModel,
IfcType::IfcShapeRepresentation,
IfcType::IfcShellBasedSurfaceModel,
IfcType::IfcSimpleProperty,
IfcType::IfcSite,
IfcType::IfcSlab,
IfcType::IfcSlabType,
IfcType::IfcSlippageConnectionCondition,
IfcType::IfcSolidModel,
IfcType::IfcSoundProperties,
IfcType::IfcSoundValue,
IfcType::IfcSpace,
IfcType::IfcSpaceHeaterType,
IfcType::IfcSpaceProgram,
IfcType::IfcSpaceThermalLoadProperties,
IfcType::IfcSpaceType,
IfcType::IfcSpatialStructureElement,
IfcType::IfcSpatialStructureElementType,
IfcType::IfcSphere,
IfcType::IfcStackTerminalType,
IfcType::IfcStair,
IfcType::IfcStairFlight,
IfcType::IfcStairFlightType,
IfcType::IfcStructuralAction,
IfcType::IfcStructuralActivity,
IfcType::IfcStructuralAnalysisModel,
IfcType::IfcStructuralConnection,
IfcType::IfcStructuralConnectionCondition,
IfcType::IfcStructuralCurveConnection,
IfcType::IfcStructuralCurveMember,
IfcType::IfcStructuralCurveMemberVarying,
IfcType::IfcStructuralItem,
IfcType::IfcStructuralLinearAction,
IfcType::IfcStructuralLinearActionVarying,
IfcType::IfcStructuralLoad,
IfcType::IfcStructuralLoadGroup,
IfcType::IfcStructuralLoadLinearForce,
IfcType::IfcStructuralLoadPlanarForce,
IfcType::IfcStructuralLoadSingleDisplacement,
IfcType::IfcStructuralLoadSingleDisplacementDistortion,
IfcType::IfcStructuralLoadSingleForce,
IfcType::IfcStructuralLoadSingleForceWarping,
IfcType::IfcStructuralLoadStatic,
IfcType::IfcStructuralLoadTemperature,
IfcType::IfcStructuralMember,
IfcType::IfcStructuralPlanarAction,
IfcType::IfcStructuralPlanarActionVarying,
IfcType::IfcStructuralPointAction,
IfcType::IfcStructuralPointConnection,
IfcType::IfcStructuralPointReaction,
IfcType::IfcStructuralProfileProperties,
IfcType::IfcStructuralReaction,
IfcType::IfcStructuralResultGroup,
IfcType::IfcStructuralSteelProfileProperties,
IfcType::IfcStructuralSurfaceConnection,
IfcType::IfcStructuralSurfaceMember,
IfcType::IfcStructuralSurfaceMemberVarying,
IfcType::IfcStructuredDimensionCallout,
IfcType::IfcStyleModel,
IfcType::IfcStyledItem,
IfcType::IfcStyledRepresentation,
IfcType::IfcSubContractResource,
IfcType::IfcSubedge,
IfcType::IfcSurface,
IfcType::IfcSurfaceCurveSweptAreaSolid,
IfcType::IfcSurfaceOfLinearExtrusion,
IfcType::IfcSurfaceOfRevolution,
IfcType::IfcSurfaceStyle,
IfcType::IfcSurfaceStyleLighting,
IfcType::IfcSurfaceStyleRefraction,
IfcType::IfcSurfaceStyleRendering,
IfcType::IfcSurfaceStyleShading,
IfcType::IfcSurfaceStyleWithTextures,
IfcType::IfcSurfaceTexture,
IfcType::IfcSweptAreaSolid,
IfcType::IfcSweptDiskSolid,
IfcType::IfcSweptSurface,
IfcType::IfcSwitchingDeviceType,
IfcType::IfcSymbolStyle,
IfcType::IfcSystem,
IfcType::IfcSystemFurnitureElementType,
IfcType::IfcTShapeProfileDef,
IfcType::IfcTable,
IfcType::IfcTableRow,
IfcType::IfcTankType,
IfcType::IfcTask,
IfcType::IfcTelecomAddress,
IfcType::IfcTendon,
IfcType::IfcTendonAnchor,
IfcType::IfcTerminatorSymbol,
IfcType::IfcTextLiteral,
IfcType::IfcTextLiteralWithExtent,
IfcType::IfcTextStyle,
IfcType::IfcTextStyleFontModel,
IfcType::IfcTextStyleForDefinedFont,
IfcType::IfcTextStyleTextModel,
IfcType::IfcTextStyleWithBoxCharacteristics,
IfcType::IfcTextureCoordinate,
IfcType::IfcTextureCoordinateGenerator,
IfcType::IfcTextureMap,
IfcType::IfcTextureVertex,
IfcType::IfcThermalMaterialProperties,
IfcType::IfcTimeSeries,
IfcType::IfcTimeSeriesReferenceRelationship,
IfcType::IfcTimeSeriesSchedule,
IfcType::IfcTimeSeriesValue,
IfcType::IfcTopologicalRepresentationItem,
IfcType::IfcTopologyRepresentation,
IfcType::IfcTransformerType,
IfcType::IfcTransportElement,
IfcType::IfcTransportElementType,
IfcType::IfcTrapeziumProfileDef,
IfcType::IfcTrimmedCurve,
IfcType::IfcTubeBundleType,
IfcType::IfcTwoDirectionRepeatFactor,
IfcType::IfcTypeObject,
IfcType::IfcTypeProduct,
IfcType::IfcUShapeProfileDef,
IfcType::IfcUnitAssignment,
IfcType::IfcUnitaryEquipmentType,
IfcType::IfcValveType,
IfcType::IfcVector,
IfcType::IfcVertex,
IfcType::IfcVertexBasedTextureMap,
IfcType::IfcVertexLoop,
IfcType::IfcVertexPoint,
IfcType::IfcVibrationIsolatorType,
IfcType::IfcVirtualElement,
IfcType::IfcVirtualGridIntersection,
IfcType::IfcWall,
IfcType::IfcWallStandardCase,
IfcType::IfcWallType,
IfcType::IfcWasteTerminalType,
IfcType::IfcWaterProperties,
IfcType::IfcWindow,
IfcType::IfcWindowLiningProperties,
IfcType::IfcWindowPanelProperties,
IfcType::IfcWindowStyle,
IfcType::IfcWorkControl,
IfcType::IfcWorkPlan,
IfcType::IfcWorkSchedule,
IfcType::IfcZShapeProfileDef,
IfcType::IfcZone,
];
impl fmt::Display for IfcType {
fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
write!(f, "{}", self.name())
}
}
/// CRC32 hash function for unknown types
fn crc32_hash(s: &str) -> u32 {
const TABLE: [u32; 256] = [
0x00000000, 0x77073096, 0xee0e612c, 0x990951ba, 0x076dc419, 0x706af48f,
0xe963a535, 0x9e6495a3, 0x0edb8832, 0x79dcb8a4, 0xe0d5e91e, 0x97d2d988,
0x09b64c2b, 0x7eb17cbd, 0xe7b82d07, 0x90bf1d91, 0x1db71064, 0x6ab020f2,
0xf3b97148, 0x84be41de, 0x1adad47d, 0x6ddde4eb, 0xf4d4b551, 0x83d385c7,
0x136c9856, 0x646ba8c0, 0xfd62f97a, 0x8a65c9ec, 0x14015c4f, 0x63066cd9,
0xfa0f3d63, 0x8d080df5, 0x3b6e20c8, 0x4c69105e, 0xd56041e4, 0xa2677172,
0x3c03e4d1, 0x4b04d447, 0xd20d85fd, 0xa50ab56b, 0x35b5a8fa, 0x42b2986c,
0xdbbbc9d6, 0xacbcf940, 0x32d86ce3, 0x45df5c75, 0xdcd60dcf, 0xabd13d59,
0x26d930ac, 0x51de003a, 0xc8d75180, 0xbfd06116, 0x21b4f4b5, 0x56b3c423,
0xcfba9599, 0xb8bda50f, 0x2802b89e, 0x5f058808, 0xc60cd9b2, 0xb10be924,
0x2f6f7c87, 0x58684c11, 0xc1611dab, 0xb6662d3d, 0x76dc4190, 0x01db7106,
0x98d220bc, 0xefd5102a, 0x71b18589, 0x06b6b51f, 0x9fbfe4a5, 0xe8b8d433,
0x7807c9a2, 0x0f00f934, 0x9609a88e, 0xe10e9818, 0x7f6a0dbb, 0x086d3d2d,
0x91646c97, 0xe6635c01, 0x6b6b51f4, 0x1c6c6162, 0x856530d8, 0xf262004e,
0x6c0695ed, 0x1b01a57b, 0x8208f4c1, 0xf50fc457, 0x65b0d9c6, 0x12b7e950,
0x8bbeb8ea, 0xfcb9887c, 0x62dd1ddf, 0x15da2d49, 0x8cd37cf3, 0xfbd44c65,
0x4db26158, 0x3ab551ce, 0xa3bc0074, 0xd4bb30e2, 0x4adfa541, 0x3dd895d7,
0xa4d1c46d, 0xd3d6f4fb, 0x4369e96a, 0x346ed9fc, 0xad678846, 0xda60b8d0,
0x44042d73, 0x33031de5, 0xaa0a4c5f, 0xdd0d7cc9, 0x5005713c, 0x270241aa,
0xbe0b1010, 0xc90c2086, 0x5768b525, 0x206f85b3, 0xb966d409, 0xce61e49f,
0x5edef90e, 0x29d9c998, 0xb0d09822, 0xc7d7a8b4, 0x59b33d17, 0x2eb40d81,
0xb7bd5c3b, 0xc0ba6cad, 0xedb88320, 0x9abfb3b6, 0x03b6e20c, 0x74b1d29a,
0xead54739, 0x9dd277af, 0x04db2615, 0x73dc1683, 0xe3630b12, 0x94643b84,
0x0d6d6a3e, 0x7a6a5aa8, 0xe40ecf0b, 0x9309ff9d, 0x0a00ae27, 0x7d079eb1,
0xf00f9344, 0x8708a3d2, 0x1e01f268, 0x6906c2fe, 0xf762575d, 0x806567cb,
0x196c3671, 0x6e6b06e7, 0xfed41b76, 0x89d32be0, 0x10da7a5a, 0x67dd4acc,
0xf9b9df6f, 0x8ebeeff9, 0x17b7be43, 0x60b08ed5, 0xd6d6a3e8, 0xa1d1937e,
0x38d8c2c4, 0x4fdff252, 0xd1bb67f1, 0xa6bc5767, 0x3fb506dd, 0x48b2364b,
0xd80d2bda, 0xaf0a1b4c, 0x36034af6, 0x41047a60, 0xdf60efc3, 0xa867df55,
0x316e8eef, 0x4669be79, 0xcb61b38c, 0xbc66831a, 0x256fd2a0, 0x5268e236,
0xcc0c7795, 0xbb0b4703, 0x220216b9, 0x5505262f, 0xc5ba3bbe, 0xb2bd0b28,
0x2bb45a92, 0x5cb36a04, 0xc2d7ffa7, 0xb5d0cf31, 0x2cd99e8b, 0x5bdeae1d,
0x9b64c2b0, 0xec63f226, 0x756aa39c, 0x026d930a, 0x9c0906a9, 0xeb0e363f,
0x72076785, 0x05005713, 0x95bf4a82, 0xe2b87a14, 0x7bb12bae, 0x0cb61b38,
0x92d28e9b, 0xe5d5be0d, 0x7cdcefb7, 0x0bdbdf21, 0x86d3d2d4, 0xf1d4e242,
0x68ddb3f8, 0x1fda836e, 0x81be16cd, 0xf6b9265b, 0x6fb077e1, 0x18b74777,
0x88085ae6, 0xff0f6a70, 0x66063bca, 0x11010b5c, 0x8f659eff, 0xf862ae69,
0x616bffd3, 0x166ccf45, 0xa00ae278, 0xd70dd2ee, 0x4e048354, 0x3903b3c2,
0xa7672661, 0xd06016f7, 0x4969474d, 0x3e6e77db, 0xaed16a4a, 0xd9d65adc,
0x40df0b66, 0x37d83bf0, 0xa9bcae53, 0xdebb9ec5, 0x47b2cf7f, 0x30b5ffe9,
0xbdbdf21c, 0xcabac28a, 0x53b39330, 0x24b4a3a6, 0xbad03605, 0xcdd70693,
0x54de5729, 0x23d967bf, 0xb3667a2e, 0xc4614ab8, 0x5d681b02, 0x2a6f2b94,
0xb40bbe37, 0xc30c8ea1, 0x5a05df1b, 0x2d02ef8d,
];
let mut crc = 0xffffffffu32;
for byte in s.bytes() {
crc = TABLE[((crc ^ byte as u32) & 0xff) as usize] ^ (crc >> 8);
}
crc ^ 0xffffffff
}