From 9bcfe2f50e2989bb272e8df90e3b95e16bf5ecfe Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Fri, 8 Apr 2016 23:24:35 +0200 Subject: [PATCH] Generate code for IFC4_ADD1 --- src/ifcparse/Ifc2x3.h | 1 + src/ifcparse/Ifc4-latebound.cpp | 165 +++++++++++--------- src/ifcparse/Ifc4.cpp | 137 +++++++++++++--- src/ifcparse/Ifc4.h | 266 ++++++++++++++++++++++---------- src/ifcparse/Ifc4enum.h | 2 +- 5 files changed, 393 insertions(+), 178 deletions(-) diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 6e4a09500c..9f1309ef56 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -14464,6 +14464,7 @@ public: /// HISTORY  New entity in Release IFC2x2. class IfcImageTexture : public IfcSurfaceTexture { public: + /// Location, provided as an URI, at which the image texture is electronically published. std::string UrlReference() const; void setUrlReference(std::string v); virtual unsigned int getArgumentCount() const { return 5; } diff --git a/src/ifcparse/Ifc4-latebound.cpp b/src/ifcparse/Ifc4-latebound.cpp index e136fba57c..4633287a9a 100644 --- a/src/ifcparse/Ifc4-latebound.cpp +++ b/src/ifcparse/Ifc4-latebound.cpp @@ -66,10 +66,14 @@ void InitDescriptorMap() { current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcAngularVelocityMeasure] = new IfcEntityDescriptor(Type::IfcAngularVelocityMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcArcIndex] = new IfcEntityDescriptor(Type::IfcArcIndex,0); + current->add("wrappedValue",false,IfcUtil::Argument_AGGREGATE_OF_INT); current = entity_descriptor_map[Type::IfcAreaDensityMeasure] = new IfcEntityDescriptor(Type::IfcAreaDensityMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcAreaMeasure] = new IfcEntityDescriptor(Type::IfcAreaMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcBinary] = new IfcEntityDescriptor(Type::IfcBinary,0); + current->add("wrappedValue",false,IfcUtil::Argument_BINARY); current = entity_descriptor_map[Type::IfcBoolean] = new IfcEntityDescriptor(Type::IfcBoolean,0); current->add("wrappedValue",false,IfcUtil::Argument_BOOL); current = entity_descriptor_map[Type::IfcBoxAlignment] = new IfcEntityDescriptor(Type::IfcBoxAlignment,0); @@ -156,6 +160,8 @@ void InitDescriptorMap() { current->add("wrappedValue",false,IfcUtil::Argument_STRING); current = entity_descriptor_map[Type::IfcLengthMeasure] = new IfcEntityDescriptor(Type::IfcLengthMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcLineIndex] = new IfcEntityDescriptor(Type::IfcLineIndex,0); + current->add("wrappedValue",false,IfcUtil::Argument_AGGREGATE_OF_INT); current = entity_descriptor_map[Type::IfcLinearForceMeasure] = new IfcEntityDescriptor(Type::IfcLinearForceMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcLinearMomentMeasure] = new IfcEntityDescriptor(Type::IfcLinearMomentMeasure,0); @@ -216,6 +222,8 @@ void InitDescriptorMap() { current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcPlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcPlaneAngleMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); + current = entity_descriptor_map[Type::IfcPositiveInteger] = new IfcEntityDescriptor(Type::IfcPositiveInteger,0); + current->add("wrappedValue",false,IfcUtil::Argument_INT); current = entity_descriptor_map[Type::IfcPositiveLengthMeasure] = new IfcEntityDescriptor(Type::IfcPositiveLengthMeasure,0); current->add("wrappedValue",false,IfcUtil::Argument_DOUBLE); current = entity_descriptor_map[Type::IfcPositivePlaneAngleMeasure] = new IfcEntityDescriptor(Type::IfcPositivePlaneAngleMeasure,0); @@ -389,9 +397,9 @@ void InitDescriptorMap() { current->add("SourceCRS",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCoordinateReferenceSystemSelect); current->add("TargetCRS",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCoordinateReferenceSystem); current = entity_descriptor_map[Type::IfcCoordinateReferenceSystem] = new IfcEntityDescriptor(Type::IfcCoordinateReferenceSystem,0); - current->add("Name",true,IfcUtil::Argument_STRING,Type::IfcLabel); + current->add("Name",false,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("Description",true,IfcUtil::Argument_STRING,Type::IfcText); - current->add("GeodeticDatum",false,IfcUtil::Argument_STRING,Type::IfcIdentifier); + current->add("GeodeticDatum",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current->add("VerticalDatum",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current = entity_descriptor_map[Type::IfcCostValue] = new IfcEntityDescriptor(Type::IfcCostValue,entity_descriptor_map.find(Type::IfcAppliedValue)->second); @@ -498,7 +506,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcMetric] = new IfcEntityDescriptor(Type::IfcMetric,entity_descriptor_map.find(Type::IfcConstraint)->second); current->add("Benchmark",false,IfcUtil::Argument_ENUMERATION,Type::IfcBenchmarkEnum); current->add("ValueSource",true,IfcUtil::Argument_STRING,Type::IfcLabel); - current->add("DataValue",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcMetricValueSelect); + current->add("DataValue",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcMetricValueSelect); current->add("ReferencePath",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcReference); current = entity_descriptor_map[Type::IfcMonetaryUnit] = new IfcEntityDescriptor(Type::IfcMonetaryUnit,0); current->add("Currency",false,IfcUtil::Argument_STRING,Type::IfcLabel); @@ -561,9 +569,9 @@ void InitDescriptorMap() { current->add("AssignedItems",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcLayeredItem); current->add("Identifier",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current = entity_descriptor_map[Type::IfcPresentationLayerWithStyle] = new IfcEntityDescriptor(Type::IfcPresentationLayerWithStyle,entity_descriptor_map.find(Type::IfcPresentationLayerAssignment)->second); - current->add("LayerOn",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("LayerFrozen",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("LayerBlocked",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("LayerOn",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("LayerFrozen",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("LayerBlocked",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current->add("LayerStyles",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcPresentationStyle); current = entity_descriptor_map[Type::IfcPresentationStyle] = new IfcEntityDescriptor(Type::IfcPresentationStyle,0); current->add("Name",true,IfcUtil::Argument_STRING,Type::IfcLabel); @@ -617,7 +625,7 @@ void InitDescriptorMap() { current->add("TypeIdentifier",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current->add("AttributeIdentifier",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current->add("InstanceName",true,IfcUtil::Argument_STRING,Type::IfcLabel); - current->add("ListPositions",true,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("ListPositions",true,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); current->add("InnerReference",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcReference); current = entity_descriptor_map[Type::IfcRepresentation] = new IfcEntityDescriptor(Type::IfcRepresentation,0); current->add("ContextOfItems",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcRepresentationContext); @@ -651,7 +659,7 @@ void InitDescriptorMap() { current->add("ShapeRepresentations",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcShapeModel); current->add("Name",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("Description",true,IfcUtil::Argument_STRING,Type::IfcText); - current->add("ProductDefinitional",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ProductDefinitional",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current->add("PartOfProductDefinitionShape",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcProductRepresentationSelect); current = entity_descriptor_map[Type::IfcShapeModel] = new IfcEntityDescriptor(Type::IfcShapeModel,entity_descriptor_map.find(Type::IfcRepresentation)->second); @@ -700,8 +708,8 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcSurfaceStyleWithTextures] = new IfcEntityDescriptor(Type::IfcSurfaceStyleWithTextures,entity_descriptor_map.find(Type::IfcPresentationItem)->second); current->add("Textures",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcSurfaceTexture); current = entity_descriptor_map[Type::IfcSurfaceTexture] = new IfcEntityDescriptor(Type::IfcSurfaceTexture,entity_descriptor_map.find(Type::IfcPresentationItem)->second); - current->add("RepeatS",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("RepeatT",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("RepeatS",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("RepeatT",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("Mode",true,IfcUtil::Argument_STRING,Type::IfcIdentifier); current->add("TextureTransform",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianTransformationOperator2D); current->add("Parameter",true,IfcUtil::Argument_AGGREGATE_OF_STRING,Type::IfcIdentifier); @@ -717,7 +725,7 @@ void InitDescriptorMap() { current->add("ReferencePath",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcReference); current = entity_descriptor_map[Type::IfcTableRow] = new IfcEntityDescriptor(Type::IfcTableRow,0); current->add("RowCells",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcValue); - current->add("IsHeading",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("IsHeading",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcTaskTime] = new IfcEntityDescriptor(Type::IfcTaskTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); current->add("DurationType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTaskDurationEnum); current->add("ScheduleDuration",true,IfcUtil::Argument_STRING,Type::IfcDuration); @@ -729,7 +737,7 @@ void InitDescriptorMap() { current->add("LateFinish",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("FreeFloat",true,IfcUtil::Argument_STRING,Type::IfcDuration); current->add("TotalFloat",true,IfcUtil::Argument_STRING,Type::IfcDuration); - current->add("IsCritical",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("IsCritical",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("StatusTime",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("ActualDuration",true,IfcUtil::Argument_STRING,Type::IfcDuration); current->add("ActualStart",true,IfcUtil::Argument_STRING,Type::IfcDateTime); @@ -737,7 +745,7 @@ void InitDescriptorMap() { current->add("RemainingTime",true,IfcUtil::Argument_STRING,Type::IfcDuration); current->add("Completion",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveRatioMeasure); current = entity_descriptor_map[Type::IfcTaskTimeRecurring] = new IfcEntityDescriptor(Type::IfcTaskTimeRecurring,entity_descriptor_map.find(Type::IfcTaskTime)->second); - current->add("Recurrance",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcRecurrencePattern); + current->add("Recurrence",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcRecurrencePattern); current = entity_descriptor_map[Type::IfcTelecomAddress] = new IfcEntityDescriptor(Type::IfcTelecomAddress,entity_descriptor_map.find(Type::IfcAddress)->second); current->add("TelephoneNumbers",true,IfcUtil::Argument_AGGREGATE_OF_STRING,Type::IfcLabel); current->add("FacsimileNumbers",true,IfcUtil::Argument_AGGREGATE_OF_STRING,Type::IfcLabel); @@ -749,7 +757,7 @@ void InitDescriptorMap() { current->add("TextCharacterAppearance",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTextStyleForDefinedFont); current->add("TextStyle",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTextStyleTextModel); current->add("TextFontStyle",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTextFontSelect); - current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcTextStyleForDefinedFont] = new IfcEntityDescriptor(Type::IfcTextStyleForDefinedFont,entity_descriptor_map.find(Type::IfcPresentationItem)->second); current->add("Colour",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcColour); current->add("BackgroundColour",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcColour); @@ -815,7 +823,7 @@ void InitDescriptorMap() { current->add("InnerCurves",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCurve); current = entity_descriptor_map[Type::IfcBlobTexture] = new IfcEntityDescriptor(Type::IfcBlobTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); current->add("RasterFormat",false,IfcUtil::Argument_STRING,Type::IfcIdentifier); - current->add("RasterCode",false,IfcUtil::Argument_BINARY,Type::UNDEFINED); + current->add("RasterCode",false,IfcUtil::Argument_BINARY,Type::IfcBinary); current = entity_descriptor_map[Type::IfcCenterLineProfileDef] = new IfcEntityDescriptor(Type::IfcCenterLineProfileDef,entity_descriptor_map.find(Type::IfcArbitraryOpenProfileDef)->second); current->add("Thickness",false,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current = entity_descriptor_map[Type::IfcClassification] = new IfcEntityDescriptor(Type::IfcClassification,entity_descriptor_map.find(Type::IfcExternalInformation)->second); @@ -863,7 +871,7 @@ void InitDescriptorMap() { current->add("CurveFont",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurveFontOrScaledCurveFontSelect); current->add("CurveWidth",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSizeSelect); current->add("CurveColour",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcColour); - current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ModelOrDraughting",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcCurveStyleFont] = new IfcEntityDescriptor(Type::IfcCurveStyleFont,entity_descriptor_map.find(Type::IfcPresentationItem)->second); current->add("Name",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("PatternList",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCurveStyleFontPattern); @@ -908,7 +916,7 @@ void InitDescriptorMap() { current->add("EdgeEnd",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcVertex); current = entity_descriptor_map[Type::IfcEdgeCurve] = new IfcEntityDescriptor(Type::IfcEdgeCurve,entity_descriptor_map.find(Type::IfcEdge)->second); current->add("EdgeGeometry",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); - current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcEventTime] = new IfcEntityDescriptor(Type::IfcEventTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); current->add("ActualDate",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("EarlyDate",true,IfcUtil::Argument_STRING,Type::IfcDateTime); @@ -925,12 +933,12 @@ void InitDescriptorMap() { current->add("Bounds",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcFaceBound); current = entity_descriptor_map[Type::IfcFaceBound] = new IfcEntityDescriptor(Type::IfcFaceBound,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); current->add("Bound",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcLoop); - current->add("Orientation",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("Orientation",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcFaceOuterBound] = new IfcEntityDescriptor(Type::IfcFaceOuterBound,entity_descriptor_map.find(Type::IfcFaceBound)->second); current = entity_descriptor_map[Type::IfcFaceSurface] = new IfcEntityDescriptor(Type::IfcFaceSurface,entity_descriptor_map.find(Type::IfcFace)->second); current->add("FaceSurface",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurface); - current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcFailureConnectionCondition] = new IfcEntityDescriptor(Type::IfcFailureConnectionCondition,entity_descriptor_map.find(Type::IfcStructuralConnectionCondition)->second); current->add("TensionFailureX",true,IfcUtil::Argument_DOUBLE,Type::IfcForceMeasure); current->add("TensionFailureY",true,IfcUtil::Argument_DOUBLE,Type::IfcForceMeasure); @@ -940,10 +948,10 @@ void InitDescriptorMap() { current->add("CompressionFailureZ",true,IfcUtil::Argument_DOUBLE,Type::IfcForceMeasure); current = entity_descriptor_map[Type::IfcFillAreaStyle] = new IfcEntityDescriptor(Type::IfcFillAreaStyle,entity_descriptor_map.find(Type::IfcPresentationStyle)->second); current->add("FillStyles",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcFillStyleSelect); - current->add("ModelorDraughting",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ModelorDraughting",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcGeometricRepresentationContext] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationContext,entity_descriptor_map.find(Type::IfcRepresentationContext)->second); current->add("CoordinateSpaceDimension",false,IfcUtil::Argument_INT,Type::IfcDimensionCount); - current->add("Precision",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); + current->add("Precision",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); current->add("WorldCoordinateSystem",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcAxis2Placement); current->add("TrueNorth",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current = entity_descriptor_map[Type::IfcGeometricRepresentationItem] = new IfcEntityDescriptor(Type::IfcGeometricRepresentationItem,entity_descriptor_map.find(Type::IfcRepresentationItem)->second); @@ -960,19 +968,19 @@ void InitDescriptorMap() { current->add("PlacementRefDirection",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcGridPlacementDirectionSelect); current = entity_descriptor_map[Type::IfcHalfSpaceSolid] = new IfcEntityDescriptor(Type::IfcHalfSpaceSolid,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); current->add("BaseSurface",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurface); - current->add("AgreementFlag",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("AgreementFlag",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcImageTexture] = new IfcEntityDescriptor(Type::IfcImageTexture,entity_descriptor_map.find(Type::IfcSurfaceTexture)->second); current->add("URLReference",false,IfcUtil::Argument_STRING,Type::IfcURIReference); current = entity_descriptor_map[Type::IfcIndexedColourMap] = new IfcEntityDescriptor(Type::IfcIndexedColourMap,entity_descriptor_map.find(Type::IfcPresentationItem)->second); current->add("MappedTo",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTessellatedFaceSet); current->add("Overrides",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurfaceStyleShading); current->add("Colours",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcColourRgbList); - current->add("ColourIndex",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("ColourIndex",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcPositiveInteger); current = entity_descriptor_map[Type::IfcIndexedTextureMap] = new IfcEntityDescriptor(Type::IfcIndexedTextureMap,entity_descriptor_map.find(Type::IfcTextureCoordinate)->second); current->add("MappedTo",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTessellatedFaceSet); current->add("TexCoords",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTextureVertexList); current = entity_descriptor_map[Type::IfcIndexedTriangleTextureMap] = new IfcEntityDescriptor(Type::IfcIndexedTriangleTextureMap,entity_descriptor_map.find(Type::IfcIndexedTextureMap)->second); - current->add("TexCoordIndex",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("TexCoordIndex",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::IfcPositiveInteger); current = entity_descriptor_map[Type::IfcIrregularTimeSeries] = new IfcEntityDescriptor(Type::IfcIrregularTimeSeries,entity_descriptor_map.find(Type::IfcTimeSeries)->second); current->add("Values",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcIrregularTimeSeriesValue); current = entity_descriptor_map[Type::IfcLagTime] = new IfcEntityDescriptor(Type::IfcLagTime,entity_descriptor_map.find(Type::IfcSchedulingTime)->second); @@ -1059,7 +1067,7 @@ void InitDescriptorMap() { current->add("RelatedOrganizations",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcOrganization); current = entity_descriptor_map[Type::IfcOrientedEdge] = new IfcEntityDescriptor(Type::IfcOrientedEdge,entity_descriptor_map.find(Type::IfcEdge)->second); current->add("EdgeElement",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcEdge); - current->add("Orientation",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("Orientation",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcParameterizedProfileDef] = new IfcEntityDescriptor(Type::IfcParameterizedProfileDef,entity_descriptor_map.find(Type::IfcProfileDef)->second); current->add("Position",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcAxis2Placement2D); current = entity_descriptor_map[Type::IfcPath] = new IfcEntityDescriptor(Type::IfcPath,entity_descriptor_map.find(Type::IfcTopologicalRepresentationItem)->second); @@ -1073,7 +1081,7 @@ void InitDescriptorMap() { current->add("Width",false,IfcUtil::Argument_INT,Type::IfcInteger); current->add("Height",false,IfcUtil::Argument_INT,Type::IfcInteger); current->add("ColourComponents",false,IfcUtil::Argument_INT,Type::IfcInteger); - current->add("Pixel",false,IfcUtil::Argument_AGGREGATE_OF_BINARY,Type::UNDEFINED); + current->add("Pixel",false,IfcUtil::Argument_AGGREGATE_OF_BINARY,Type::IfcBinary); current = entity_descriptor_map[Type::IfcPlacement] = new IfcEntityDescriptor(Type::IfcPlacement,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); current->add("Location",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianPoint); current = entity_descriptor_map[Type::IfcPlanarExtent] = new IfcEntityDescriptor(Type::IfcPlanarExtent,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); @@ -1146,7 +1154,7 @@ void InitDescriptorMap() { current->add("ScheduleFinish",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("ScheduleContour",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("LevelingDelay",true,IfcUtil::Argument_STRING,Type::IfcDuration); - current->add("IsOverAllocated",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("IsOverAllocated",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("StatusTime",true,IfcUtil::Argument_STRING,Type::IfcDateTime); current->add("ActualWork",true,IfcUtil::Argument_STRING,Type::IfcDuration); current->add("ActualUsage",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveRatioMeasure); @@ -1298,8 +1306,8 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcWindowStyle] = new IfcEntityDescriptor(Type::IfcWindowStyle,entity_descriptor_map.find(Type::IfcTypeProduct)->second); current->add("ConstructionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowStyleConstructionEnum); current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowStyleOperationEnum); - current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("Sizeable",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("Sizeable",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcZShapeProfileDef] = new IfcEntityDescriptor(Type::IfcZShapeProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); current->add("Depth",false,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("FlangeWidth",false,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); @@ -1355,22 +1363,24 @@ void InitDescriptorMap() { current->add("Coordinates",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcLengthMeasure); current = entity_descriptor_map[Type::IfcCartesianPointList] = new IfcEntityDescriptor(Type::IfcCartesianPointList,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); + current = entity_descriptor_map[Type::IfcCartesianPointList2D] = new IfcEntityDescriptor(Type::IfcCartesianPointList2D,entity_descriptor_map.find(Type::IfcCartesianPointList)->second); + current->add("CoordList",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::IfcLengthMeasure); current = entity_descriptor_map[Type::IfcCartesianPointList3D] = new IfcEntityDescriptor(Type::IfcCartesianPointList3D,entity_descriptor_map.find(Type::IfcCartesianPointList)->second); current->add("CoordList",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::IfcLengthMeasure); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); current->add("Axis1",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current->add("Axis2",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current->add("LocalOrigin",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianPoint); - current->add("Scale",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); + current->add("Scale",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator2D] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator2D,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator)->second); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator2DnonUniform] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator2DnonUniform,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator2D)->second); - current->add("Scale2",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); + current->add("Scale2",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator3D] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator3D,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator)->second); current->add("Axis3",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current = entity_descriptor_map[Type::IfcCartesianTransformationOperator3DnonUniform] = new IfcEntityDescriptor(Type::IfcCartesianTransformationOperator3DnonUniform,entity_descriptor_map.find(Type::IfcCartesianTransformationOperator3D)->second); - current->add("Scale2",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); - current->add("Scale3",true,IfcUtil::Argument_DOUBLE,Type::UNDEFINED); + current->add("Scale2",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); + current->add("Scale3",true,IfcUtil::Argument_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcCircleProfileDef] = new IfcEntityDescriptor(Type::IfcCircleProfileDef,entity_descriptor_map.find(Type::IfcParameterizedProfileDef)->second); current->add("Radius",false,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current = entity_descriptor_map[Type::IfcClosedShell] = new IfcEntityDescriptor(Type::IfcClosedShell,entity_descriptor_map.find(Type::IfcConnectedFaceSet)->second); @@ -1384,7 +1394,7 @@ void InitDescriptorMap() { current->add("HasProperties",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcProperty); current = entity_descriptor_map[Type::IfcCompositeCurveSegment] = new IfcEntityDescriptor(Type::IfcCompositeCurveSegment,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); current->add("Transition",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransitionCode); - current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SameSense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("ParentCurve",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); current = entity_descriptor_map[Type::IfcConstructionResourceType] = new IfcEntityDescriptor(Type::IfcConstructionResourceType,entity_descriptor_map.find(Type::IfcTypeResource)->second); current->add("BaseCosts",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcAppliedValue); @@ -1410,14 +1420,14 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcCurveBoundedSurface] = new IfcEntityDescriptor(Type::IfcCurveBoundedSurface,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); current->add("BasisSurface",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurface); current->add("Boundaries",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcBoundaryCurve); - current->add("ImplicitOuter",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ImplicitOuter",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcDirection] = new IfcEntityDescriptor(Type::IfcDirection,entity_descriptor_map.find(Type::IfcGeometricRepresentationItem)->second); - current->add("DirectionRatios",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); + current->add("DirectionRatios",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcDoorStyle] = new IfcEntityDescriptor(Type::IfcDoorStyle,entity_descriptor_map.find(Type::IfcTypeProduct)->second); current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorStyleOperationEnum); current->add("ConstructionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorStyleConstructionEnum); - current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("Sizeable",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ParameterTakesPrecedence",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("Sizeable",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcEdgeLoop] = new IfcEntityDescriptor(Type::IfcEdgeLoop,entity_descriptor_map.find(Type::IfcLoop)->second); current->add("EdgeList",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcOrientedEdge); current = entity_descriptor_map[Type::IfcElementQuantity] = new IfcEntityDescriptor(Type::IfcElementQuantity,entity_descriptor_map.find(Type::IfcQuantitySet)->second); @@ -1492,11 +1502,11 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcOffsetCurve2D] = new IfcEntityDescriptor(Type::IfcOffsetCurve2D,entity_descriptor_map.find(Type::IfcCurve)->second); current->add("BasisCurve",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); current->add("Distance",false,IfcUtil::Argument_DOUBLE,Type::IfcLengthMeasure); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current = entity_descriptor_map[Type::IfcOffsetCurve3D] = new IfcEntityDescriptor(Type::IfcOffsetCurve3D,entity_descriptor_map.find(Type::IfcCurve)->second); current->add("BasisCurve",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); current->add("Distance",false,IfcUtil::Argument_DOUBLE,Type::IfcLengthMeasure); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current->add("RefDirection",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcDirection); current = entity_descriptor_map[Type::IfcPcurve] = new IfcEntityDescriptor(Type::IfcPcurve,entity_descriptor_map.find(Type::IfcCurve)->second); current->add("BasisSurface",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcSurface); @@ -1572,8 +1582,8 @@ void InitDescriptorMap() { current->add("V1",false,IfcUtil::Argument_DOUBLE,Type::IfcParameterValue); current->add("U2",false,IfcUtil::Argument_DOUBLE,Type::IfcParameterValue); current->add("V2",false,IfcUtil::Argument_DOUBLE,Type::IfcParameterValue); - current->add("Usense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("Vsense",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("Usense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("Vsense",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcReinforcementDefinitionProperties] = new IfcEntityDescriptor(Type::IfcReinforcementDefinitionProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); current->add("DefinitionType",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("ReinforcementSectionDefinitions",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcSectionReinforcementProperties); @@ -1618,8 +1628,8 @@ void InitDescriptorMap() { current->add("RelatingElement",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcElement); current->add("RelatedElement",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcElement); current = entity_descriptor_map[Type::IfcRelConnectsPathElements] = new IfcEntityDescriptor(Type::IfcRelConnectsPathElements,entity_descriptor_map.find(Type::IfcRelConnectsElements)->second); - current->add("RelatingPriorities",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); - current->add("RelatedPriorities",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); + current->add("RelatingPriorities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); + current->add("RelatedPriorities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); current->add("RelatedConnectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConnectionTypeEnum); current->add("RelatingConnectionType",false,IfcUtil::Argument_ENUMERATION,Type::IfcConnectionTypeEnum); current = entity_descriptor_map[Type::IfcRelConnectsPortToElement] = new IfcEntityDescriptor(Type::IfcRelConnectsPortToElement,entity_descriptor_map.find(Type::IfcRelConnects)->second); @@ -1788,8 +1798,8 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcTask] = new IfcEntityDescriptor(Type::IfcTask,entity_descriptor_map.find(Type::IfcProcess)->second); current->add("Status",true,IfcUtil::Argument_STRING,Type::IfcLabel); current->add("WorkMethod",true,IfcUtil::Argument_STRING,Type::IfcLabel); - current->add("IsMilestone",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("Priority",true,IfcUtil::Argument_INT,Type::UNDEFINED); + current->add("IsMilestone",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); + current->add("Priority",true,IfcUtil::Argument_INT,Type::IfcInteger); current->add("TaskTime",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcTaskTime); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcTaskTypeEnum); current = entity_descriptor_map[Type::IfcTaskType] = new IfcEntityDescriptor(Type::IfcTaskType,entity_descriptor_map.find(Type::IfcTypeProcess)->second); @@ -1798,12 +1808,12 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcTessellatedFaceSet] = new IfcEntityDescriptor(Type::IfcTessellatedFaceSet,entity_descriptor_map.find(Type::IfcTessellatedItem)->second); current->add("Coordinates",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianPointList3D); current->add("Normals",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::IfcParameterValue); - current->add("Closed",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("Closed",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcTransportElementType] = new IfcEntityDescriptor(Type::IfcTransportElementType,entity_descriptor_map.find(Type::IfcElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTransportElementTypeEnum); current = entity_descriptor_map[Type::IfcTriangulatedFaceSet] = new IfcEntityDescriptor(Type::IfcTriangulatedFaceSet,entity_descriptor_map.find(Type::IfcTessellatedFaceSet)->second); - current->add("CoordIndex",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::UNDEFINED); - current->add("NormalIndex",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("CoordIndex",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::IfcPositiveInteger); + current->add("NormalIndex",true,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT,Type::IfcPositiveInteger); current = entity_descriptor_map[Type::IfcWindowLiningProperties] = new IfcEntityDescriptor(Type::IfcWindowLiningProperties,entity_descriptor_map.find(Type::IfcPreDefinedPropertySet)->second); current->add("LiningDepth",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("LiningThickness",true,IfcUtil::Argument_DOUBLE,Type::IfcNonNegativeLengthMeasure); @@ -1832,16 +1842,16 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcAnnotation] = new IfcEntityDescriptor(Type::IfcAnnotation,entity_descriptor_map.find(Type::IfcProduct)->second); current = entity_descriptor_map[Type::IfcBSplineSurface] = new IfcEntityDescriptor(Type::IfcBSplineSurface,entity_descriptor_map.find(Type::IfcBoundedSurface)->second); - current->add("UDegree",false,IfcUtil::Argument_INT,Type::UNDEFINED); - current->add("VDegree",false,IfcUtil::Argument_INT,Type::UNDEFINED); + current->add("UDegree",false,IfcUtil::Argument_INT,Type::IfcInteger); + current->add("VDegree",false,IfcUtil::Argument_INT,Type::IfcInteger); current->add("ControlPointsList",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCartesianPoint); current->add("SurfaceForm",false,IfcUtil::Argument_ENUMERATION,Type::IfcBSplineSurfaceForm); - current->add("UClosed",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("VClosed",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("UClosed",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("VClosed",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current = entity_descriptor_map[Type::IfcBSplineSurfaceWithKnots] = new IfcEntityDescriptor(Type::IfcBSplineSurfaceWithKnots,entity_descriptor_map.find(Type::IfcBSplineSurface)->second); - current->add("UMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); - current->add("VMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("UMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); + current->add("VMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); current->add("UKnots",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcParameterValue); current->add("VKnots",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcParameterValue); current->add("KnotSpec",false,IfcUtil::Argument_ENUMERATION,Type::IfcKnotType); @@ -1875,7 +1885,7 @@ void InitDescriptorMap() { current->add("HasPropertyTemplates",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcPropertyTemplate); current = entity_descriptor_map[Type::IfcCompositeCurve] = new IfcEntityDescriptor(Type::IfcCompositeCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); current->add("Segments",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCompositeCurveSegment); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current = entity_descriptor_map[Type::IfcCompositeCurveOnSurface] = new IfcEntityDescriptor(Type::IfcCompositeCurveOnSurface,entity_descriptor_map.find(Type::IfcCompositeCurve)->second); current = entity_descriptor_map[Type::IfcConic] = new IfcEntityDescriptor(Type::IfcConic,entity_descriptor_map.find(Type::IfcCurve)->second); @@ -1936,7 +1946,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcDoorType] = new IfcEntityDescriptor(Type::IfcDoorType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorTypeEnum); current->add("OperationType",false,IfcUtil::Argument_ENUMERATION,Type::IfcDoorTypeOperationEnum); - current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("UserDefinedOperationType",true,IfcUtil::Argument_STRING,Type::IfcLabel); current = entity_descriptor_map[Type::IfcDraughtingPreDefinedColour] = new IfcEntityDescriptor(Type::IfcDraughtingPreDefinedColour,entity_descriptor_map.find(Type::IfcPreDefinedColour)->second); @@ -2020,6 +2030,10 @@ void InitDescriptorMap() { current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcHeatExchangerTypeEnum); current = entity_descriptor_map[Type::IfcHumidifierType] = new IfcEntityDescriptor(Type::IfcHumidifierType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcHumidifierTypeEnum); + current = entity_descriptor_map[Type::IfcIndexedPolyCurve] = new IfcEntityDescriptor(Type::IfcIndexedPolyCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); + current->add("Points",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCartesianPointList); + current->add("Segments",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcSegmentIndexSelect); + current->add("SelfIntersect",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcInterceptorType] = new IfcEntityDescriptor(Type::IfcInterceptorType,entity_descriptor_map.find(Type::IfcFlowTreatmentDeviceType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcInterceptorTypeEnum); current = entity_descriptor_map[Type::IfcInventory] = new IfcEntityDescriptor(Type::IfcInventory,entity_descriptor_map.find(Type::IfcGroup)->second); @@ -2103,7 +2117,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcRampType] = new IfcEntityDescriptor(Type::IfcRampType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcRampTypeEnum); current = entity_descriptor_map[Type::IfcRationalBSplineSurfaceWithKnots] = new IfcEntityDescriptor(Type::IfcRationalBSplineSurfaceWithKnots,entity_descriptor_map.find(Type::IfcBSplineSurfaceWithKnots)->second); - current->add("WeightsData",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); + current->add("WeightsData",false,IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcReinforcingElement] = new IfcEntityDescriptor(Type::IfcReinforcingElement,entity_descriptor_map.find(Type::IfcElementComponent)->second); current->add("SteelGrade",true,IfcUtil::Argument_STRING,Type::IfcLabel); current = entity_descriptor_map[Type::IfcReinforcingElementType] = new IfcEntityDescriptor(Type::IfcReinforcingElementType,entity_descriptor_map.find(Type::IfcElementComponentType)->second); @@ -2164,7 +2178,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcStairType] = new IfcEntityDescriptor(Type::IfcStairType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStairTypeEnum); current = entity_descriptor_map[Type::IfcStructuralAction] = new IfcEntityDescriptor(Type::IfcStructuralAction,entity_descriptor_map.find(Type::IfcStructuralActivity)->second); - current->add("DestabilizingLoad",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("DestabilizingLoad",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcStructuralConnection] = new IfcEntityDescriptor(Type::IfcStructuralConnection,entity_descriptor_map.find(Type::IfcStructuralItem)->second); current->add("AppliedCondition",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcBoundaryCondition); current = entity_descriptor_map[Type::IfcStructuralCurveAction] = new IfcEntityDescriptor(Type::IfcStructuralCurveAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); @@ -2196,7 +2210,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcStructuralResultGroup] = new IfcEntityDescriptor(Type::IfcStructuralResultGroup,entity_descriptor_map.find(Type::IfcGroup)->second); current->add("TheoryType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAnalysisTheoryTypeEnum); current->add("ResultForLoadGroup",true,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcStructuralLoadGroup); - current->add("IsLinear",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("IsLinear",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current = entity_descriptor_map[Type::IfcStructuralSurfaceAction] = new IfcEntityDescriptor(Type::IfcStructuralSurfaceAction,entity_descriptor_map.find(Type::IfcStructuralAction)->second); current->add("ProjectedOrTrue",true,IfcUtil::Argument_ENUMERATION,Type::IfcProjectedOrTrueLengthEnum); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcStructuralSurfaceActivityTypeEnum); @@ -2240,7 +2254,7 @@ void InitDescriptorMap() { current->add("BasisCurve",false,IfcUtil::Argument_ENTITY_INSTANCE,Type::IfcCurve); current->add("Trim1",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcTrimmingSelect); current->add("Trim2",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcTrimmingSelect); - current->add("SenseAgreement",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("SenseAgreement",false,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("MasterRepresentation",false,IfcUtil::Argument_ENUMERATION,Type::IfcTrimmingPreference); current = entity_descriptor_map[Type::IfcTubeBundleType] = new IfcEntityDescriptor(Type::IfcTubeBundleType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcTubeBundleTypeEnum); @@ -2263,7 +2277,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcWindowType] = new IfcEntityDescriptor(Type::IfcWindowType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowTypeEnum); current->add("PartitioningType",false,IfcUtil::Argument_ENUMERATION,Type::IfcWindowTypePartitioningEnum); - current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ParameterTakesPrecedence",true,IfcUtil::Argument_BOOL,Type::IfcBoolean); current->add("UserDefinedPartitioningType",true,IfcUtil::Argument_STRING,Type::IfcLabel); current = entity_descriptor_map[Type::IfcWorkCalendar] = new IfcEntityDescriptor(Type::IfcWorkCalendar,entity_descriptor_map.find(Type::IfcControl)->second); current->add("WorkingTimes",true,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcWorkTime); @@ -2306,13 +2320,13 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcAudioVisualApplianceType] = new IfcEntityDescriptor(Type::IfcAudioVisualApplianceType,entity_descriptor_map.find(Type::IfcFlowTerminalType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcAudioVisualApplianceTypeEnum); current = entity_descriptor_map[Type::IfcBSplineCurve] = new IfcEntityDescriptor(Type::IfcBSplineCurve,entity_descriptor_map.find(Type::IfcBoundedCurve)->second); - current->add("Degree",false,IfcUtil::Argument_INT,Type::UNDEFINED); + current->add("Degree",false,IfcUtil::Argument_INT,Type::IfcInteger); current->add("ControlPointsList",false,IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE,Type::IfcCartesianPoint); current->add("CurveForm",false,IfcUtil::Argument_ENUMERATION,Type::IfcBSplineCurveForm); - current->add("ClosedCurve",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); - current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::UNDEFINED); + current->add("ClosedCurve",false,IfcUtil::Argument_BOOL,Type::IfcLogical); + current->add("SelfIntersect",false,IfcUtil::Argument_BOOL,Type::IfcLogical); current = entity_descriptor_map[Type::IfcBSplineCurveWithKnots] = new IfcEntityDescriptor(Type::IfcBSplineCurveWithKnots,entity_descriptor_map.find(Type::IfcBSplineCurve)->second); - current->add("KnotMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::UNDEFINED); + current->add("KnotMultiplicities",false,IfcUtil::Argument_AGGREGATE_OF_INT,Type::IfcInteger); current->add("Knots",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcParameterValue); current->add("KnotSpec",false,IfcUtil::Argument_ENUMERATION,Type::IfcKnotType); current = entity_descriptor_map[Type::IfcBeamType] = new IfcEntityDescriptor(Type::IfcBeamType,entity_descriptor_map.find(Type::IfcBuildingElementType)->second); @@ -2333,6 +2347,7 @@ void InitDescriptorMap() { current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingElementProxyTypeEnum); current = entity_descriptor_map[Type::IfcBuildingSystem] = new IfcEntityDescriptor(Type::IfcBuildingSystem,entity_descriptor_map.find(Type::IfcSystem)->second); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcBuildingSystemTypeEnum); + current->add("LongName",true,IfcUtil::Argument_STRING,Type::IfcLabel); current = entity_descriptor_map[Type::IfcBurnerType] = new IfcEntityDescriptor(Type::IfcBurnerType,entity_descriptor_map.find(Type::IfcEnergyConversionDeviceType)->second); current->add("PredefinedType",false,IfcUtil::Argument_ENUMERATION,Type::IfcBurnerTypeEnum); current = entity_descriptor_map[Type::IfcCableCarrierFittingType] = new IfcEntityDescriptor(Type::IfcCableCarrierFittingType,entity_descriptor_map.find(Type::IfcFlowFittingType)->second); @@ -2508,7 +2523,7 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcRampFlight] = new IfcEntityDescriptor(Type::IfcRampFlight,entity_descriptor_map.find(Type::IfcBuildingElement)->second); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcRampFlightTypeEnum); current = entity_descriptor_map[Type::IfcRationalBSplineCurveWithKnots] = new IfcEntityDescriptor(Type::IfcRationalBSplineCurveWithKnots,entity_descriptor_map.find(Type::IfcBSplineCurveWithKnots)->second); - current->add("WeightsData",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::UNDEFINED); + current->add("WeightsData",false,IfcUtil::Argument_AGGREGATE_OF_DOUBLE,Type::IfcReal); current = entity_descriptor_map[Type::IfcReinforcingBar] = new IfcEntityDescriptor(Type::IfcReinforcingBar,entity_descriptor_map.find(Type::IfcReinforcingElement)->second); current->add("NominalDiameter",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("CrossSectionArea",true,IfcUtil::Argument_DOUBLE,Type::IfcAreaMeasure); @@ -2546,8 +2561,8 @@ void InitDescriptorMap() { current = entity_descriptor_map[Type::IfcStair] = new IfcEntityDescriptor(Type::IfcStair,entity_descriptor_map.find(Type::IfcBuildingElement)->second); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcStairTypeEnum); current = entity_descriptor_map[Type::IfcStairFlight] = new IfcEntityDescriptor(Type::IfcStairFlight,entity_descriptor_map.find(Type::IfcBuildingElement)->second); - current->add("NumberOfRiser",true,IfcUtil::Argument_INT,Type::UNDEFINED); - current->add("NumberOfTreads",true,IfcUtil::Argument_INT,Type::UNDEFINED); + current->add("NumberOfRisers",true,IfcUtil::Argument_INT,Type::IfcInteger); + current->add("NumberOfTreads",true,IfcUtil::Argument_INT,Type::IfcInteger); current->add("RiserHeight",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("TreadLength",true,IfcUtil::Argument_DOUBLE,Type::IfcPositiveLengthMeasure); current->add("PredefinedType",true,IfcUtil::Argument_ENUMERATION,Type::IfcStairFlightTypeEnum); @@ -4212,13 +4227,16 @@ void InitDescriptorMap() { values.push_back("TAPERED"); current_enum = enumeration_descriptor_map[Type::IfcSectionTypeEnum] = new IfcEnumerationDescriptor(Type::IfcSectionTypeEnum, values); values.clear(); values.reserve(128); + values.push_back("CO2SENSOR"); values.push_back("CONDUCTANCESENSOR"); values.push_back("CONTACTSENSOR"); values.push_back("FIRESENSOR"); values.push_back("FLOWSENSOR"); + values.push_back("FROSTSENSOR"); values.push_back("GASSENSOR"); values.push_back("HEATSENSOR"); values.push_back("HUMIDITYSENSOR"); + values.push_back("IDENTIFIERSENSOR"); values.push_back("IONCONCENTRATIONSENSOR"); values.push_back("LEVELSENSOR"); values.push_back("LIGHTSENSOR"); @@ -4738,7 +4756,6 @@ void InitInverseMap() { inverse_map[Type::IfcApproval].insert(std::make_pair("ApprovedResources", std::make_pair(Type::IfcResourceApprovalRelationship, 3))); inverse_map[Type::IfcApproval].insert(std::make_pair("IsRelatedWith", std::make_pair(Type::IfcApprovalRelationship, 3))); inverse_map[Type::IfcApproval].insert(std::make_pair("Relates", std::make_pair(Type::IfcApprovalRelationship, 2))); - inverse_map[Type::IfcBuildingElement].insert(std::make_pair("HasCoverings", std::make_pair(Type::IfcRelCoversBldgElements, 4))); inverse_map[Type::IfcClassification].insert(std::make_pair("ClassificationForObjects", std::make_pair(Type::IfcRelAssociatesClassification, 5))); inverse_map[Type::IfcClassification].insert(std::make_pair("HasReferences", std::make_pair(Type::IfcClassificationReference, 3))); inverse_map[Type::IfcClassificationReference].insert(std::make_pair("ClassificationRefForObjects", std::make_pair(Type::IfcRelAssociatesClassification, 5))); @@ -4751,6 +4768,7 @@ void InitInverseMap() { inverse_map[Type::IfcContextDependentUnit].insert(std::make_pair("HasExternalReference", std::make_pair(Type::IfcExternalReferenceRelationship, 3))); inverse_map[Type::IfcControl].insert(std::make_pair("Controls", std::make_pair(Type::IfcRelAssignsToControl, 6))); inverse_map[Type::IfcConversionBasedUnit].insert(std::make_pair("HasExternalReference", std::make_pair(Type::IfcExternalReferenceRelationship, 3))); + inverse_map[Type::IfcCoordinateReferenceSystem].insert(std::make_pair("HasCoordinateOperation", std::make_pair(Type::IfcCoordinateOperation, 0))); inverse_map[Type::IfcCovering].insert(std::make_pair("CoversSpaces", std::make_pair(Type::IfcRelCoversSpaces, 5))); inverse_map[Type::IfcCovering].insert(std::make_pair("CoversElements", std::make_pair(Type::IfcRelCoversBldgElements, 5))); inverse_map[Type::IfcDistributionControlElement].insert(std::make_pair("AssignedToFlowElement", std::make_pair(Type::IfcRelFlowControlElements, 4))); @@ -4772,12 +4790,14 @@ void InitInverseMap() { inverse_map[Type::IfcElement].insert(std::make_pair("ProvidesBoundaries", std::make_pair(Type::IfcRelSpaceBoundary, 5))); inverse_map[Type::IfcElement].insert(std::make_pair("ConnectedFrom", std::make_pair(Type::IfcRelConnectsElements, 6))); inverse_map[Type::IfcElement].insert(std::make_pair("ContainedInStructure", std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); + inverse_map[Type::IfcElement].insert(std::make_pair("HasCoverings", std::make_pair(Type::IfcRelCoversBldgElements, 4))); inverse_map[Type::IfcExternalReference].insert(std::make_pair("ExternalReferenceForResources", std::make_pair(Type::IfcExternalReferenceRelationship, 2))); inverse_map[Type::IfcExternalSpatialElement].insert(std::make_pair("BoundedBy", std::make_pair(Type::IfcRelSpaceBoundary, 4))); inverse_map[Type::IfcFace].insert(std::make_pair("HasTextureMaps", std::make_pair(Type::IfcTextureMap, 2))); inverse_map[Type::IfcFeatureElementAddition].insert(std::make_pair("ProjectsElements", std::make_pair(Type::IfcRelProjectsElement, 5))); inverse_map[Type::IfcFeatureElementSubtraction].insert(std::make_pair("VoidsElements", std::make_pair(Type::IfcRelVoidsElement, 5))); inverse_map[Type::IfcGeometricRepresentationContext].insert(std::make_pair("HasSubContexts", std::make_pair(Type::IfcGeometricRepresentationSubContext, 6))); + inverse_map[Type::IfcGeometricRepresentationContext].insert(std::make_pair("HasCoordinateOperation", std::make_pair(Type::IfcCoordinateOperation, 0))); inverse_map[Type::IfcGrid].insert(std::make_pair("ContainedInStructure", std::make_pair(Type::IfcRelContainedInSpatialStructure, 4))); inverse_map[Type::IfcGridAxis].insert(std::make_pair("PartOfW", std::make_pair(Type::IfcGrid, 9))); inverse_map[Type::IfcGridAxis].insert(std::make_pair("PartOfV", std::make_pair(Type::IfcGrid, 8))); @@ -4832,6 +4852,8 @@ void InitInverseMap() { inverse_map[Type::IfcProperty].insert(std::make_pair("PropertyForDependance", std::make_pair(Type::IfcPropertyDependencyRelationship, 2))); inverse_map[Type::IfcProperty].insert(std::make_pair("PropertyDependsOn", std::make_pair(Type::IfcPropertyDependencyRelationship, 3))); inverse_map[Type::IfcProperty].insert(std::make_pair("PartOfComplex", std::make_pair(Type::IfcComplexProperty, 3))); + inverse_map[Type::IfcProperty].insert(std::make_pair("HasConstraints", std::make_pair(Type::IfcResourceConstraintRelationship, 3))); + inverse_map[Type::IfcProperty].insert(std::make_pair("HasApprovals", std::make_pair(Type::IfcResourceApprovalRelationship, 2))); inverse_map[Type::IfcPropertyAbstraction].insert(std::make_pair("HasExternalReferences", std::make_pair(Type::IfcExternalReferenceRelationship, 3))); inverse_map[Type::IfcPropertyDefinition].insert(std::make_pair("HasContext", std::make_pair(Type::IfcRelDeclares, 5))); inverse_map[Type::IfcPropertyDefinition].insert(std::make_pair("HasAssociations", std::make_pair(Type::IfcRelAssociates, 4))); @@ -4868,7 +4890,6 @@ void InitInverseMap() { inverse_map[Type::IfcSurfaceTexture].insert(std::make_pair("IsMappedBy", std::make_pair(Type::IfcTextureCoordinate, 0))); inverse_map[Type::IfcSurfaceTexture].insert(std::make_pair("UsedInStyles", std::make_pair(Type::IfcSurfaceStyleWithTextures, 0))); inverse_map[Type::IfcSystem].insert(std::make_pair("ServicesBuildings", std::make_pair(Type::IfcRelServicesBuildings, 4))); - inverse_map[Type::IfcTableRow].insert(std::make_pair("OfTable", std::make_pair(Type::IfcTable, 1))); inverse_map[Type::IfcTessellatedFaceSet].insert(std::make_pair("HasColours", std::make_pair(Type::IfcIndexedColourMap, 0))); inverse_map[Type::IfcTessellatedFaceSet].insert(std::make_pair("HasTextures", std::make_pair(Type::IfcIndexedTextureMap, 1))); inverse_map[Type::IfcTimeSeries].insert(std::make_pair("HasExternalReference", std::make_pair(Type::IfcExternalReferenceRelationship, 3))); diff --git a/src/ifcparse/Ifc4.cpp b/src/ifcparse/Ifc4.cpp index aa49def74b..f2769108f8 100644 --- a/src/ifcparse/Ifc4.cpp +++ b/src/ifcparse/Ifc4.cpp @@ -43,8 +43,10 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcAccelerationMeasure: return new IfcAccelerationMeasure(e); break; case Type::IfcAmountOfSubstanceMeasure: return new IfcAmountOfSubstanceMeasure(e); break; case Type::IfcAngularVelocityMeasure: return new IfcAngularVelocityMeasure(e); break; + case Type::IfcArcIndex: return new IfcArcIndex(e); break; case Type::IfcAreaDensityMeasure: return new IfcAreaDensityMeasure(e); break; case Type::IfcAreaMeasure: return new IfcAreaMeasure(e); break; + case Type::IfcBinary: return new IfcBinary(e); break; case Type::IfcBoolean: return new IfcBoolean(e); break; case Type::IfcBoxAlignment: return new IfcBoxAlignment(e); break; case Type::IfcCardinalPointReference: return new IfcCardinalPointReference(e); break; @@ -88,6 +90,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcLabel: return new IfcLabel(e); break; case Type::IfcLanguageId: return new IfcLanguageId(e); break; case Type::IfcLengthMeasure: return new IfcLengthMeasure(e); break; + case Type::IfcLineIndex: return new IfcLineIndex(e); break; case Type::IfcLinearForceMeasure: return new IfcLinearForceMeasure(e); break; case Type::IfcLinearMomentMeasure: return new IfcLinearMomentMeasure(e); break; case Type::IfcLinearStiffnessMeasure: return new IfcLinearStiffnessMeasure(e); break; @@ -118,6 +121,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcParameterValue: return new IfcParameterValue(e); break; case Type::IfcPlanarForceMeasure: return new IfcPlanarForceMeasure(e); break; case Type::IfcPlaneAngleMeasure: return new IfcPlaneAngleMeasure(e); break; + case Type::IfcPositiveInteger: return new IfcPositiveInteger(e); break; case Type::IfcPositiveLengthMeasure: return new IfcPositiveLengthMeasure(e); break; case Type::IfcPositivePlaneAngleMeasure: return new IfcPositivePlaneAngleMeasure(e); break; case Type::IfcPositiveRatioMeasure: return new IfcPositiveRatioMeasure(e); break; @@ -243,6 +247,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcCableSegmentType: return new IfcCableSegmentType(e); break; case Type::IfcCartesianPoint: return new IfcCartesianPoint(e); break; case Type::IfcCartesianPointList: return new IfcCartesianPointList(e); break; + case Type::IfcCartesianPointList2D: return new IfcCartesianPointList2D(e); break; case Type::IfcCartesianPointList3D: return new IfcCartesianPointList3D(e); break; case Type::IfcCartesianTransformationOperator: return new IfcCartesianTransformationOperator(e); break; case Type::IfcCartesianTransformationOperator2D: return new IfcCartesianTransformationOperator2D(e); break; @@ -482,6 +487,7 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { case Type::IfcIShapeProfileDef: return new IfcIShapeProfileDef(e); break; case Type::IfcImageTexture: return new IfcImageTexture(e); break; case Type::IfcIndexedColourMap: return new IfcIndexedColourMap(e); break; + case Type::IfcIndexedPolyCurve: return new IfcIndexedPolyCurve(e); break; case Type::IfcIndexedTextureMap: return new IfcIndexedTextureMap(e); break; case Type::IfcIndexedTriangleTextureMap: return new IfcIndexedTriangleTextureMap(e); break; case Type::IfcInterceptor: return new IfcInterceptor(e); break; @@ -936,8 +942,8 @@ IfcUtil::IfcBaseClass* Ifc4::SchemaEntity(IfcAbstractEntity* e) { } std::string Type::ToString(Enum v) { - if (v < 0 || v >= 1157) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcActionRequest", "IfcActionRequestTypeEnum", "IfcActionSourceTypeEnum", "IfcActionTypeEnum", "IfcActor", "IfcActorRole", "IfcActorSelect", "IfcActuator", "IfcActuatorType", "IfcActuatorTypeEnum", "IfcAddress", "IfcAddressTypeEnum", "IfcAdvancedBrep", "IfcAdvancedBrepWithVoids", "IfcAdvancedFace", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirTerminalBoxType", "IfcAirTerminalBoxTypeEnum", "IfcAirTerminalType", "IfcAirTerminalTypeEnum", "IfcAirToAirHeatRecovery", "IfcAirToAirHeatRecoveryType", "IfcAirToAirHeatRecoveryTypeEnum", "IfcAlarm", "IfcAlarmType", "IfcAlarmTypeEnum", "IfcAmountOfSubstanceMeasure", "IfcAnalysisModelTypeEnum", "IfcAnalysisTheoryTypeEnum", "IfcAngularVelocityMeasure", "IfcAnnotation", "IfcAnnotationFillArea", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueSelect", "IfcApproval", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcAreaDensityMeasure", "IfcAreaMeasure", "IfcArithmeticOperatorEnum", "IfcAssemblyPlaceEnum", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAudioVisualAppliance", "IfcAudioVisualApplianceType", "IfcAudioVisualApplianceTypeEnum", "IfcAxis1Placement", "IfcAxis2Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBSplineCurve", "IfcBSplineCurveForm", "IfcBSplineCurveWithKnots", "IfcBSplineSurface", "IfcBSplineSurfaceForm", "IfcBSplineSurfaceWithKnots", "IfcBeam", "IfcBeamStandardCase", "IfcBeamType", "IfcBeamTypeEnum", "IfcBenchmarkEnum", "IfcBendingParameterSelect", "IfcBlobTexture", "IfcBlock", "IfcBoiler", "IfcBoilerType", "IfcBoilerTypeEnum", "IfcBoolean", "IfcBooleanClippingResult", "IfcBooleanOperand", "IfcBooleanOperator", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryCurve", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxAlignment", "IfcBoxedHalfSpace", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementPart", "IfcBuildingElementPartType", "IfcBuildingElementPartTypeEnum", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementProxyTypeEnum", "IfcBuildingElementType", "IfcBuildingStorey", "IfcBuildingSystem", "IfcBuildingSystemTypeEnum", "IfcBurner", "IfcBurnerType", "IfcBurnerTypeEnum", "IfcCShapeProfileDef", "IfcCableCarrierFitting", "IfcCableCarrierFittingType", "IfcCableCarrierFittingTypeEnum", "IfcCableCarrierSegment", "IfcCableCarrierSegmentType", "IfcCableCarrierSegmentTypeEnum", "IfcCableFitting", "IfcCableFittingType", "IfcCableFittingTypeEnum", "IfcCableSegment", "IfcCableSegmentType", "IfcCableSegmentTypeEnum", "IfcCardinalPointReference", "IfcCartesianPoint", "IfcCartesianPointList", "IfcCartesianPointList3D", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChangeActionEnum", "IfcChiller", "IfcChillerType", "IfcChillerTypeEnum", "IfcChimney", "IfcChimneyType", "IfcChimneyTypeEnum", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcCivilElement", "IfcCivilElementType", "IfcClassification", "IfcClassificationReference", "IfcClassificationReferenceSelect", "IfcClassificationSelect", "IfcClosedShell", "IfcCoil", "IfcCoilType", "IfcCoilTypeEnum", "IfcColour", "IfcColourOrFactor", "IfcColourRgb", "IfcColourRgbList", "IfcColourSpecification", "IfcColumn", "IfcColumnStandardCase", "IfcColumnType", "IfcColumnTypeEnum", "IfcCommunicationsAppliance", "IfcCommunicationsApplianceType", "IfcCommunicationsApplianceTypeEnum", "IfcComplexNumber", "IfcComplexProperty", "IfcComplexPropertyTemplate", "IfcComplexPropertyTemplateTypeEnum", "IfcCompositeCurve", "IfcCompositeCurveOnSurface", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompoundPlaneAngleMeasure", "IfcCompressor", "IfcCompressorType", "IfcCompressorTypeEnum", "IfcCondenser", "IfcCondenserType", "IfcCondenserTypeEnum", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionTypeEnum", "IfcConnectionVolumeGeometry", "IfcConstraint", "IfcConstraintEnum", "IfcConstructionEquipmentResource", "IfcConstructionEquipmentResourceType", "IfcConstructionEquipmentResourceTypeEnum", "IfcConstructionMaterialResource", "IfcConstructionMaterialResourceType", "IfcConstructionMaterialResourceTypeEnum", "IfcConstructionProductResource", "IfcConstructionProductResourceType", "IfcConstructionProductResourceTypeEnum", "IfcConstructionResource", "IfcConstructionResourceType", "IfcContext", "IfcContextDependentMeasure", "IfcContextDependentUnit", "IfcControl", "IfcController", "IfcControllerType", "IfcControllerTypeEnum", "IfcConversionBasedUnit", "IfcConversionBasedUnitWithOffset", "IfcCooledBeam", "IfcCooledBeamType", "IfcCooledBeamTypeEnum", "IfcCoolingTower", "IfcCoolingTowerType", "IfcCoolingTowerTypeEnum", "IfcCoordinateOperation", "IfcCoordinateReferenceSystem", "IfcCoordinateReferenceSystemSelect", "IfcCostItem", "IfcCostItemTypeEnum", "IfcCostSchedule", "IfcCostScheduleTypeEnum", "IfcCostValue", "IfcCountMeasure", "IfcCovering", "IfcCoveringType", "IfcCoveringTypeEnum", "IfcCrewResource", "IfcCrewResourceType", "IfcCrewResourceTypeEnum", "IfcCsgPrimitive3D", "IfcCsgSelect", "IfcCsgSolid", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurtainWallTypeEnum", "IfcCurvatureMeasure", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveBoundedSurface", "IfcCurveFontOrScaledCurveFontSelect", "IfcCurveInterpolationEnum", "IfcCurveOnSurface", "IfcCurveOrEdgeCurve", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCurveStyleFontSelect", "IfcCylindricalSurface", "IfcDamper", "IfcDamperType", "IfcDamperTypeEnum", "IfcDataOriginEnum", "IfcDate", "IfcDateTime", "IfcDayInMonthNumber", "IfcDayInWeekNumber", "IfcDefinitionSelect", "IfcDerivedMeasureValue", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDerivedUnitEnum", "IfcDescriptiveMeasure", "IfcDimensionCount", "IfcDimensionalExponents", "IfcDirection", "IfcDirectionSenseEnum", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDiscreteAccessoryTypeEnum", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionChamberElementTypeEnum", "IfcDistributionCircuit", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDistributionPortTypeEnum", "IfcDistributionSystem", "IfcDistributionSystemEnum", "IfcDocumentConfidentialityEnum", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDocumentSelect", "IfcDocumentStatusEnum", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelOperationEnum", "IfcDoorPanelPositionEnum", "IfcDoorPanelProperties", "IfcDoorStandardCase", "IfcDoorStyle", "IfcDoorStyleConstructionEnum", "IfcDoorStyleOperationEnum", "IfcDoorType", "IfcDoorTypeEnum", "IfcDoorTypeOperationEnum", "IfcDoseEquivalentMeasure", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDuctFitting", "IfcDuctFittingType", "IfcDuctFittingTypeEnum", "IfcDuctSegment", "IfcDuctSegmentType", "IfcDuctSegmentTypeEnum", "IfcDuctSilencer", "IfcDuctSilencerType", "IfcDuctSilencerTypeEnum", "IfcDuration", "IfcDynamicViscosityMeasure", "IfcEdge", "IfcEdgeCurve", "IfcEdgeLoop", "IfcElectricAppliance", "IfcElectricApplianceType", "IfcElectricApplianceTypeEnum", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricDistributionBoard", "IfcElectricDistributionBoardType", "IfcElectricDistributionBoardTypeEnum", "IfcElectricFlowStorageDevice", "IfcElectricFlowStorageDeviceType", "IfcElectricFlowStorageDeviceTypeEnum", "IfcElectricGenerator", "IfcElectricGeneratorType", "IfcElectricGeneratorTypeEnum", "IfcElectricMotor", "IfcElectricMotorType", "IfcElectricMotorTypeEnum", "IfcElectricResistanceMeasure", "IfcElectricTimeControl", "IfcElectricTimeControlType", "IfcElectricTimeControlTypeEnum", "IfcElectricVoltageMeasure", "IfcElement", "IfcElementAssembly", "IfcElementAssemblyType", "IfcElementAssemblyTypeEnum", "IfcElementComponent", "IfcElementComponentType", "IfcElementCompositionEnum", "IfcElementQuantity", "IfcElementType", "IfcElementarySurface", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyMeasure", "IfcEngine", "IfcEngineType", "IfcEngineTypeEnum", "IfcEvaporativeCooler", "IfcEvaporativeCoolerType", "IfcEvaporativeCoolerTypeEnum", "IfcEvaporator", "IfcEvaporatorType", "IfcEvaporatorTypeEnum", "IfcEvent", "IfcEventTime", "IfcEventTriggerTypeEnum", "IfcEventType", "IfcEventTypeEnum", "IfcExtendedProperties", "IfcExternalInformation", "IfcExternalReference", "IfcExternalReferenceRelationship", "IfcExternalSpatialElement", "IfcExternalSpatialElementTypeEnum", "IfcExternalSpatialStructureElement", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedTextFont", "IfcExtrudedAreaSolid", "IfcExtrudedAreaSolidTapered", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFan", "IfcFanType", "IfcFanTypeEnum", "IfcFastener", "IfcFastenerType", "IfcFastenerTypeEnum", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTiles", "IfcFillStyleSelect", "IfcFilter", "IfcFilterType", "IfcFilterTypeEnum", "IfcFireSuppressionTerminal", "IfcFireSuppressionTerminalType", "IfcFireSuppressionTerminalTypeEnum", "IfcFixedReferenceSweptAreaSolid", "IfcFlowController", "IfcFlowControllerType", "IfcFlowDirectionEnum", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrument", "IfcFlowInstrumentType", "IfcFlowInstrumentTypeEnum", "IfcFlowMeter", "IfcFlowMeterType", "IfcFlowMeterTypeEnum", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFontStyle", "IfcFontVariant", "IfcFontWeight", "IfcFooting", "IfcFootingType", "IfcFootingTypeEnum", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurniture", "IfcFurnitureType", "IfcFurnitureTypeEnum", "IfcGeographicElement", "IfcGeographicElementType", "IfcGeographicElementTypeEnum", "IfcGeometricCurveSet", "IfcGeometricProjectionEnum", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGeometricSetSelect", "IfcGlobalOrLocalEnum", "IfcGloballyUniqueId", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGridPlacementDirectionSelect", "IfcGridTypeEnum", "IfcGroup", "IfcHalfSpaceSolid", "IfcHatchLineDistanceSelect", "IfcHeatExchanger", "IfcHeatExchangerType", "IfcHeatExchangerTypeEnum", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcHumidifier", "IfcHumidifierType", "IfcHumidifierTypeEnum", "IfcIShapeProfileDef", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcImageTexture", "IfcIndexedColourMap", "IfcIndexedTextureMap", "IfcIndexedTriangleTextureMap", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcInterceptor", "IfcInterceptorType", "IfcInterceptorTypeEnum", "IfcInternalOrExternalEnum", "IfcInventory", "IfcInventoryTypeEnum", "IfcIonConcentrationMeasure", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcIsothermalMoistureCapacityMeasure", "IfcJunctionBox", "IfcJunctionBoxType", "IfcJunctionBoxTypeEnum", "IfcKinematicViscosityMeasure", "IfcKnotType", "IfcLShapeProfileDef", "IfcLabel", "IfcLaborResource", "IfcLaborResourceType", "IfcLaborResourceTypeEnum", "IfcLagTime", "IfcLamp", "IfcLampType", "IfcLampTypeEnum", "IfcLanguageId", "IfcLayerSetDirectionEnum", "IfcLayeredItem", "IfcLengthMeasure", "IfcLibraryInformation", "IfcLibraryReference", "IfcLibrarySelect", "IfcLightDistributionCurveEnum", "IfcLightDistributionData", "IfcLightDistributionDataSourceSelect", "IfcLightEmissionSourceEnum", "IfcLightFixture", "IfcLightFixtureType", "IfcLightFixtureTypeEnum", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLoadGroupTypeEnum", "IfcLocalPlacement", "IfcLogical", "IfcLogicalOperatorEnum", "IfcLoop", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcManifoldSolidBrep", "IfcMapConversion", "IfcMappedItem", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialConstituent", "IfcMaterialConstituentSet", "IfcMaterialDefinition", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialLayerWithOffsets", "IfcMaterialList", "IfcMaterialProfile", "IfcMaterialProfileSet", "IfcMaterialProfileSetUsage", "IfcMaterialProfileSetUsageTapering", "IfcMaterialProfileWithOffsets", "IfcMaterialProperties", "IfcMaterialRelationship", "IfcMaterialSelect", "IfcMaterialUsageDefinition", "IfcMeasureValue", "IfcMeasureWithUnit", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalFastenerTypeEnum", "IfcMedicalDevice", "IfcMedicalDeviceType", "IfcMedicalDeviceTypeEnum", "IfcMember", "IfcMemberStandardCase", "IfcMemberType", "IfcMemberTypeEnum", "IfcMetric", "IfcMetricValueSelect", "IfcMirroredProfileDef", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionSelect", "IfcModulusOfSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionSelect", "IfcModulusOfTranslationalSubgradeReactionSelect", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcMonetaryUnit", "IfcMonthInYearNumber", "IfcMotorConnection", "IfcMotorConnectionType", "IfcMotorConnectionTypeEnum", "IfcNamedUnit", "IfcNonNegativeLengthMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcObject", "IfcObjectDefinition", "IfcObjectPlacement", "IfcObjectReferenceSelect", "IfcObjectTypeEnum", "IfcObjective", "IfcObjectiveEnum", "IfcOccupant", "IfcOccupantTypeEnum", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOpenShell", "IfcOpeningElement", "IfcOpeningElementTypeEnum", "IfcOpeningStandardCase", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOuterBoundaryCurve", "IfcOutlet", "IfcOutletType", "IfcOutletTypeEnum", "IfcOwnerHistory", "IfcPHMeasure", "IfcParameterValue", "IfcParameterizedProfileDef", "IfcPath", "IfcPcurve", "IfcPerformanceHistory", "IfcPerformanceHistoryTypeEnum", "IfcPermeableCoveringOperationEnum", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPermitTypeEnum", "IfcPerson", "IfcPersonAndOrganization", "IfcPhysicalComplexQuantity", "IfcPhysicalOrVirtualEnum", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileConstructionEnum", "IfcPileType", "IfcPileTypeEnum", "IfcPipeFitting", "IfcPipeFittingType", "IfcPipeFittingTypeEnum", "IfcPipeSegment", "IfcPipeSegmentType", "IfcPipeSegmentTypeEnum", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlanarForceMeasure", "IfcPlane", "IfcPlaneAngleMeasure", "IfcPlate", "IfcPlateStandardCase", "IfcPlateType", "IfcPlateTypeEnum", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPointOrVertexPoint", "IfcPolyLoop", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPort", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPostalAddress", "IfcPowerMeasure", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedItem", "IfcPreDefinedProperties", "IfcPreDefinedPropertySet", "IfcPreDefinedTextFont", "IfcPresentableText", "IfcPresentationItem", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcPresentationStyleSelect", "IfcPressureMeasure", "IfcProcedure", "IfcProcedureType", "IfcProcedureTypeEnum", "IfcProcess", "IfcProcessSelect", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductRepresentationSelect", "IfcProductSelect", "IfcProfileDef", "IfcProfileProperties", "IfcProfileTypeEnum", "IfcProject", "IfcProjectLibrary", "IfcProjectOrder", "IfcProjectOrderTypeEnum", "IfcProjectedCRS", "IfcProjectedOrTrueLengthEnum", "IfcProjectionElement", "IfcProjectionElementTypeEnum", "IfcProperty", "IfcPropertyAbstraction", "IfcPropertyBoundedValue", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySetDefinitionSelect", "IfcPropertySetDefinitionSet", "IfcPropertySetTemplate", "IfcPropertySetTemplateTypeEnum", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcPropertyTemplate", "IfcPropertyTemplateDefinition", "IfcProtectiveDevice", "IfcProtectiveDeviceTrippingUnit", "IfcProtectiveDeviceTrippingUnitType", "IfcProtectiveDeviceTrippingUnitTypeEnum", "IfcProtectiveDeviceType", "IfcProtectiveDeviceTypeEnum", "IfcProxy", "IfcPump", "IfcPumpType", "IfcPumpTypeEnum", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantitySet", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadioActivityMeasure", "IfcRailing", "IfcRailingType", "IfcRailingTypeEnum", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampFlightTypeEnum", "IfcRampType", "IfcRampTypeEnum", "IfcRatioMeasure", "IfcRationalBSplineCurveWithKnots", "IfcRationalBSplineSurfaceWithKnots", "IfcReal", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcRecurrencePattern", "IfcRecurrenceTypeEnum", "IfcReference", "IfcReflectanceMethodEnum", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarRoleEnum", "IfcReinforcingBarSurfaceEnum", "IfcReinforcingBarType", "IfcReinforcingBarTypeEnum", "IfcReinforcingElement", "IfcReinforcingElementType", "IfcReinforcingMesh", "IfcReinforcingMeshType", "IfcReinforcingMeshTypeEnum", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToGroupByFactor", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPortToElement", "IfcRelConnectsPorts", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDeclares", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByObject", "IfcRelDefinesByProperties", "IfcRelDefinesByTemplate", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInterferesElements", "IfcRelNests", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelSpaceBoundary1stLevel", "IfcRelSpaceBoundary2ndLevel", "IfcRelVoidsElement", "IfcRelationship", "IfcReparametrisedCompositeCurveSegment", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceApprovalRelationship", "IfcResourceConstraintRelationship", "IfcResourceLevelRelationship", "IfcResourceObjectSelect", "IfcResourceSelect", "IfcResourceTime", "IfcRevolvedAreaSolid", "IfcRevolvedAreaSolidTapered", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoleEnum", "IfcRoof", "IfcRoofType", "IfcRoofTypeEnum", "IfcRoot", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcRotationalStiffnessSelect", "IfcRoundedRectangleProfileDef", "IfcSIPrefix", "IfcSIUnit", "IfcSIUnitName", "IfcSanitaryTerminal", "IfcSanitaryTerminalType", "IfcSanitaryTerminalTypeEnum", "IfcSchedulingTime", "IfcSectionModulusMeasure", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionTypeEnum", "IfcSectionalAreaIntegralMeasure", "IfcSectionedSpine", "IfcSensor", "IfcSensorType", "IfcSensorTypeEnum", "IfcSequenceEnum", "IfcShadingDevice", "IfcShadingDeviceType", "IfcShadingDeviceTypeEnum", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShearModulusMeasure", "IfcShell", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimplePropertyTemplate", "IfcSimplePropertyTemplateTypeEnum", "IfcSimpleValue", "IfcSite", "IfcSizeSelect", "IfcSlab", "IfcSlabElementedCase", "IfcSlabStandardCase", "IfcSlabType", "IfcSlabTypeEnum", "IfcSlippageConnectionCondition", "IfcSolarDevice", "IfcSolarDeviceType", "IfcSolarDeviceTypeEnum", "IfcSolidAngleMeasure", "IfcSolidModel", "IfcSolidOrShell", "IfcSoundPowerLevelMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureLevelMeasure", "IfcSoundPressureMeasure", "IfcSpace", "IfcSpaceBoundarySelect", "IfcSpaceHeater", "IfcSpaceHeaterType", "IfcSpaceHeaterTypeEnum", "IfcSpaceType", "IfcSpaceTypeEnum", "IfcSpatialElement", "IfcSpatialElementType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpatialZone", "IfcSpatialZoneType", "IfcSpatialZoneTypeEnum", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularHighlightSelect", "IfcSpecularRoughness", "IfcSphere", "IfcStackTerminal", "IfcStackTerminalType", "IfcStackTerminalTypeEnum", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairFlightTypeEnum", "IfcStairType", "IfcStairTypeEnum", "IfcStateEnum", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralActivityAssignmentSelect", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveAction", "IfcStructuralCurveActivityTypeEnum", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberTypeEnum", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveReaction", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLoad", "IfcStructuralLoadCase", "IfcStructuralLoadConfiguration", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadOrResult", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSurfaceAction", "IfcStructuralSurfaceActivityTypeEnum", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberTypeEnum", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceReaction", "IfcStyleAssignmentSelect", "IfcStyleModel", "IfcStyledItem", "IfcStyledRepresentation", "IfcSubContractResource", "IfcSubContractResourceType", "IfcSubContractResourceTypeEnum", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceFeature", "IfcSurfaceFeatureTypeEnum", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceOrFaceSurface", "IfcSurfaceReinforcementArea", "IfcSurfaceSide", "IfcSurfaceStyle", "IfcSurfaceStyleElementSelect", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptDiskSolidPolygonal", "IfcSweptSurface", "IfcSwitchingDevice", "IfcSwitchingDeviceType", "IfcSwitchingDeviceTypeEnum", "IfcSystem", "IfcSystemFurnitureElement", "IfcSystemFurnitureElementType", "IfcSystemFurnitureElementTypeEnum", "IfcTShapeProfileDef", "IfcTable", "IfcTableColumn", "IfcTableRow", "IfcTank", "IfcTankType", "IfcTankTypeEnum", "IfcTask", "IfcTaskDurationEnum", "IfcTaskTime", "IfcTaskTimeRecurring", "IfcTaskType", "IfcTaskTypeEnum", "IfcTelecomAddress", "IfcTemperatureGradientMeasure", "IfcTemperatureRateOfChangeMeasure", "IfcTendon", "IfcTendonAnchor", "IfcTendonAnchorType", "IfcTendonAnchorTypeEnum", "IfcTendonType", "IfcTendonTypeEnum", "IfcTessellatedFaceSet", "IfcTessellatedItem", "IfcText", "IfcTextAlignment", "IfcTextDecoration", "IfcTextFontName", "IfcTextFontSelect", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextPath", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextTransformation", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcTextureVertexList", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTime", "IfcTimeMeasure", "IfcTimeOrRatioSelect", "IfcTimePeriod", "IfcTimeSeries", "IfcTimeSeriesDataTypeEnum", "IfcTimeSeriesValue", "IfcTimeStamp", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTorqueMeasure", "IfcTransformer", "IfcTransformerType", "IfcTransformerTypeEnum", "IfcTransitionCode", "IfcTranslationalStiffnessSelect", "IfcTransportElement", "IfcTransportElementType", "IfcTransportElementTypeEnum", "IfcTrapeziumProfileDef", "IfcTriangulatedFaceSet", "IfcTrimmedCurve", "IfcTrimmingPreference", "IfcTrimmingSelect", "IfcTubeBundle", "IfcTubeBundleType", "IfcTubeBundleTypeEnum", "IfcTypeObject", "IfcTypeProcess", "IfcTypeProduct", "IfcTypeResource", "IfcURIReference", "IfcUShapeProfileDef", "IfcUnit", "IfcUnitAssignment", "IfcUnitEnum", "IfcUnitaryControlElement", "IfcUnitaryControlElementType", "IfcUnitaryControlElementTypeEnum", "IfcUnitaryEquipment", "IfcUnitaryEquipmentType", "IfcUnitaryEquipmentTypeEnum", "IfcValue", "IfcValve", "IfcValveType", "IfcValveTypeEnum", "IfcVaporPermeabilityMeasure", "IfcVector", "IfcVectorOrDirection", "IfcVertex", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolator", "IfcVibrationIsolatorType", "IfcVibrationIsolatorTypeEnum", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVoidingFeature", "IfcVoidingFeatureTypeEnum", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWall", "IfcWallElementedCase", "IfcWallStandardCase", "IfcWallType", "IfcWallTypeEnum", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcWarpingStiffnessSelect", "IfcWasteTerminal", "IfcWasteTerminalType", "IfcWasteTerminalTypeEnum", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelOperationEnum", "IfcWindowPanelPositionEnum", "IfcWindowPanelProperties", "IfcWindowStandardCase", "IfcWindowStyle", "IfcWindowStyleConstructionEnum", "IfcWindowStyleOperationEnum", "IfcWindowType", "IfcWindowTypeEnum", "IfcWindowTypePartitioningEnum", "IfcWorkCalendar", "IfcWorkCalendarTypeEnum", "IfcWorkControl", "IfcWorkPlan", "IfcWorkPlanTypeEnum", "IfcWorkSchedule", "IfcWorkScheduleTypeEnum", "IfcWorkTime", "IfcZShapeProfileDef", "IfcZone" }; + if (v < 0 || v >= 1164) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "IfcAbsorbedDoseMeasure", "IfcAccelerationMeasure", "IfcActionRequest", "IfcActionRequestTypeEnum", "IfcActionSourceTypeEnum", "IfcActionTypeEnum", "IfcActor", "IfcActorRole", "IfcActorSelect", "IfcActuator", "IfcActuatorType", "IfcActuatorTypeEnum", "IfcAddress", "IfcAddressTypeEnum", "IfcAdvancedBrep", "IfcAdvancedBrepWithVoids", "IfcAdvancedFace", "IfcAirTerminal", "IfcAirTerminalBox", "IfcAirTerminalBoxType", "IfcAirTerminalBoxTypeEnum", "IfcAirTerminalType", "IfcAirTerminalTypeEnum", "IfcAirToAirHeatRecovery", "IfcAirToAirHeatRecoveryType", "IfcAirToAirHeatRecoveryTypeEnum", "IfcAlarm", "IfcAlarmType", "IfcAlarmTypeEnum", "IfcAmountOfSubstanceMeasure", "IfcAnalysisModelTypeEnum", "IfcAnalysisTheoryTypeEnum", "IfcAngularVelocityMeasure", "IfcAnnotation", "IfcAnnotationFillArea", "IfcApplication", "IfcAppliedValue", "IfcAppliedValueSelect", "IfcApproval", "IfcApprovalRelationship", "IfcArbitraryClosedProfileDef", "IfcArbitraryOpenProfileDef", "IfcArbitraryProfileDefWithVoids", "IfcArcIndex", "IfcAreaDensityMeasure", "IfcAreaMeasure", "IfcArithmeticOperatorEnum", "IfcAssemblyPlaceEnum", "IfcAsset", "IfcAsymmetricIShapeProfileDef", "IfcAudioVisualAppliance", "IfcAudioVisualApplianceType", "IfcAudioVisualApplianceTypeEnum", "IfcAxis1Placement", "IfcAxis2Placement", "IfcAxis2Placement2D", "IfcAxis2Placement3D", "IfcBSplineCurve", "IfcBSplineCurveForm", "IfcBSplineCurveWithKnots", "IfcBSplineSurface", "IfcBSplineSurfaceForm", "IfcBSplineSurfaceWithKnots", "IfcBeam", "IfcBeamStandardCase", "IfcBeamType", "IfcBeamTypeEnum", "IfcBenchmarkEnum", "IfcBendingParameterSelect", "IfcBinary", "IfcBlobTexture", "IfcBlock", "IfcBoiler", "IfcBoilerType", "IfcBoilerTypeEnum", "IfcBoolean", "IfcBooleanClippingResult", "IfcBooleanOperand", "IfcBooleanOperator", "IfcBooleanResult", "IfcBoundaryCondition", "IfcBoundaryCurve", "IfcBoundaryEdgeCondition", "IfcBoundaryFaceCondition", "IfcBoundaryNodeCondition", "IfcBoundaryNodeConditionWarping", "IfcBoundedCurve", "IfcBoundedSurface", "IfcBoundingBox", "IfcBoxAlignment", "IfcBoxedHalfSpace", "IfcBuilding", "IfcBuildingElement", "IfcBuildingElementPart", "IfcBuildingElementPartType", "IfcBuildingElementPartTypeEnum", "IfcBuildingElementProxy", "IfcBuildingElementProxyType", "IfcBuildingElementProxyTypeEnum", "IfcBuildingElementType", "IfcBuildingStorey", "IfcBuildingSystem", "IfcBuildingSystemTypeEnum", "IfcBurner", "IfcBurnerType", "IfcBurnerTypeEnum", "IfcCShapeProfileDef", "IfcCableCarrierFitting", "IfcCableCarrierFittingType", "IfcCableCarrierFittingTypeEnum", "IfcCableCarrierSegment", "IfcCableCarrierSegmentType", "IfcCableCarrierSegmentTypeEnum", "IfcCableFitting", "IfcCableFittingType", "IfcCableFittingTypeEnum", "IfcCableSegment", "IfcCableSegmentType", "IfcCableSegmentTypeEnum", "IfcCardinalPointReference", "IfcCartesianPoint", "IfcCartesianPointList", "IfcCartesianPointList2D", "IfcCartesianPointList3D", "IfcCartesianTransformationOperator", "IfcCartesianTransformationOperator2D", "IfcCartesianTransformationOperator2DnonUniform", "IfcCartesianTransformationOperator3D", "IfcCartesianTransformationOperator3DnonUniform", "IfcCenterLineProfileDef", "IfcChangeActionEnum", "IfcChiller", "IfcChillerType", "IfcChillerTypeEnum", "IfcChimney", "IfcChimneyType", "IfcChimneyTypeEnum", "IfcCircle", "IfcCircleHollowProfileDef", "IfcCircleProfileDef", "IfcCivilElement", "IfcCivilElementType", "IfcClassification", "IfcClassificationReference", "IfcClassificationReferenceSelect", "IfcClassificationSelect", "IfcClosedShell", "IfcCoil", "IfcCoilType", "IfcCoilTypeEnum", "IfcColour", "IfcColourOrFactor", "IfcColourRgb", "IfcColourRgbList", "IfcColourSpecification", "IfcColumn", "IfcColumnStandardCase", "IfcColumnType", "IfcColumnTypeEnum", "IfcCommunicationsAppliance", "IfcCommunicationsApplianceType", "IfcCommunicationsApplianceTypeEnum", "IfcComplexNumber", "IfcComplexProperty", "IfcComplexPropertyTemplate", "IfcComplexPropertyTemplateTypeEnum", "IfcCompositeCurve", "IfcCompositeCurveOnSurface", "IfcCompositeCurveSegment", "IfcCompositeProfileDef", "IfcCompoundPlaneAngleMeasure", "IfcCompressor", "IfcCompressorType", "IfcCompressorTypeEnum", "IfcCondenser", "IfcCondenserType", "IfcCondenserTypeEnum", "IfcConic", "IfcConnectedFaceSet", "IfcConnectionCurveGeometry", "IfcConnectionGeometry", "IfcConnectionPointEccentricity", "IfcConnectionPointGeometry", "IfcConnectionSurfaceGeometry", "IfcConnectionTypeEnum", "IfcConnectionVolumeGeometry", "IfcConstraint", "IfcConstraintEnum", "IfcConstructionEquipmentResource", "IfcConstructionEquipmentResourceType", "IfcConstructionEquipmentResourceTypeEnum", "IfcConstructionMaterialResource", "IfcConstructionMaterialResourceType", "IfcConstructionMaterialResourceTypeEnum", "IfcConstructionProductResource", "IfcConstructionProductResourceType", "IfcConstructionProductResourceTypeEnum", "IfcConstructionResource", "IfcConstructionResourceType", "IfcContext", "IfcContextDependentMeasure", "IfcContextDependentUnit", "IfcControl", "IfcController", "IfcControllerType", "IfcControllerTypeEnum", "IfcConversionBasedUnit", "IfcConversionBasedUnitWithOffset", "IfcCooledBeam", "IfcCooledBeamType", "IfcCooledBeamTypeEnum", "IfcCoolingTower", "IfcCoolingTowerType", "IfcCoolingTowerTypeEnum", "IfcCoordinateOperation", "IfcCoordinateReferenceSystem", "IfcCoordinateReferenceSystemSelect", "IfcCostItem", "IfcCostItemTypeEnum", "IfcCostSchedule", "IfcCostScheduleTypeEnum", "IfcCostValue", "IfcCountMeasure", "IfcCovering", "IfcCoveringType", "IfcCoveringTypeEnum", "IfcCrewResource", "IfcCrewResourceType", "IfcCrewResourceTypeEnum", "IfcCsgPrimitive3D", "IfcCsgSelect", "IfcCsgSolid", "IfcCurrencyRelationship", "IfcCurtainWall", "IfcCurtainWallType", "IfcCurtainWallTypeEnum", "IfcCurvatureMeasure", "IfcCurve", "IfcCurveBoundedPlane", "IfcCurveBoundedSurface", "IfcCurveFontOrScaledCurveFontSelect", "IfcCurveInterpolationEnum", "IfcCurveOnSurface", "IfcCurveOrEdgeCurve", "IfcCurveStyle", "IfcCurveStyleFont", "IfcCurveStyleFontAndScaling", "IfcCurveStyleFontPattern", "IfcCurveStyleFontSelect", "IfcCylindricalSurface", "IfcDamper", "IfcDamperType", "IfcDamperTypeEnum", "IfcDataOriginEnum", "IfcDate", "IfcDateTime", "IfcDayInMonthNumber", "IfcDayInWeekNumber", "IfcDefinitionSelect", "IfcDerivedMeasureValue", "IfcDerivedProfileDef", "IfcDerivedUnit", "IfcDerivedUnitElement", "IfcDerivedUnitEnum", "IfcDescriptiveMeasure", "IfcDimensionCount", "IfcDimensionalExponents", "IfcDirection", "IfcDirectionSenseEnum", "IfcDiscreteAccessory", "IfcDiscreteAccessoryType", "IfcDiscreteAccessoryTypeEnum", "IfcDistributionChamberElement", "IfcDistributionChamberElementType", "IfcDistributionChamberElementTypeEnum", "IfcDistributionCircuit", "IfcDistributionControlElement", "IfcDistributionControlElementType", "IfcDistributionElement", "IfcDistributionElementType", "IfcDistributionFlowElement", "IfcDistributionFlowElementType", "IfcDistributionPort", "IfcDistributionPortTypeEnum", "IfcDistributionSystem", "IfcDistributionSystemEnum", "IfcDocumentConfidentialityEnum", "IfcDocumentInformation", "IfcDocumentInformationRelationship", "IfcDocumentReference", "IfcDocumentSelect", "IfcDocumentStatusEnum", "IfcDoor", "IfcDoorLiningProperties", "IfcDoorPanelOperationEnum", "IfcDoorPanelPositionEnum", "IfcDoorPanelProperties", "IfcDoorStandardCase", "IfcDoorStyle", "IfcDoorStyleConstructionEnum", "IfcDoorStyleOperationEnum", "IfcDoorType", "IfcDoorTypeEnum", "IfcDoorTypeOperationEnum", "IfcDoseEquivalentMeasure", "IfcDraughtingPreDefinedColour", "IfcDraughtingPreDefinedCurveFont", "IfcDuctFitting", "IfcDuctFittingType", "IfcDuctFittingTypeEnum", "IfcDuctSegment", "IfcDuctSegmentType", "IfcDuctSegmentTypeEnum", "IfcDuctSilencer", "IfcDuctSilencerType", "IfcDuctSilencerTypeEnum", "IfcDuration", "IfcDynamicViscosityMeasure", "IfcEdge", "IfcEdgeCurve", "IfcEdgeLoop", "IfcElectricAppliance", "IfcElectricApplianceType", "IfcElectricApplianceTypeEnum", "IfcElectricCapacitanceMeasure", "IfcElectricChargeMeasure", "IfcElectricConductanceMeasure", "IfcElectricCurrentMeasure", "IfcElectricDistributionBoard", "IfcElectricDistributionBoardType", "IfcElectricDistributionBoardTypeEnum", "IfcElectricFlowStorageDevice", "IfcElectricFlowStorageDeviceType", "IfcElectricFlowStorageDeviceTypeEnum", "IfcElectricGenerator", "IfcElectricGeneratorType", "IfcElectricGeneratorTypeEnum", "IfcElectricMotor", "IfcElectricMotorType", "IfcElectricMotorTypeEnum", "IfcElectricResistanceMeasure", "IfcElectricTimeControl", "IfcElectricTimeControlType", "IfcElectricTimeControlTypeEnum", "IfcElectricVoltageMeasure", "IfcElement", "IfcElementAssembly", "IfcElementAssemblyType", "IfcElementAssemblyTypeEnum", "IfcElementComponent", "IfcElementComponentType", "IfcElementCompositionEnum", "IfcElementQuantity", "IfcElementType", "IfcElementarySurface", "IfcEllipse", "IfcEllipseProfileDef", "IfcEnergyConversionDevice", "IfcEnergyConversionDeviceType", "IfcEnergyMeasure", "IfcEngine", "IfcEngineType", "IfcEngineTypeEnum", "IfcEvaporativeCooler", "IfcEvaporativeCoolerType", "IfcEvaporativeCoolerTypeEnum", "IfcEvaporator", "IfcEvaporatorType", "IfcEvaporatorTypeEnum", "IfcEvent", "IfcEventTime", "IfcEventTriggerTypeEnum", "IfcEventType", "IfcEventTypeEnum", "IfcExtendedProperties", "IfcExternalInformation", "IfcExternalReference", "IfcExternalReferenceRelationship", "IfcExternalSpatialElement", "IfcExternalSpatialElementTypeEnum", "IfcExternalSpatialStructureElement", "IfcExternallyDefinedHatchStyle", "IfcExternallyDefinedSurfaceStyle", "IfcExternallyDefinedTextFont", "IfcExtrudedAreaSolid", "IfcExtrudedAreaSolidTapered", "IfcFace", "IfcFaceBasedSurfaceModel", "IfcFaceBound", "IfcFaceOuterBound", "IfcFaceSurface", "IfcFacetedBrep", "IfcFacetedBrepWithVoids", "IfcFailureConnectionCondition", "IfcFan", "IfcFanType", "IfcFanTypeEnum", "IfcFastener", "IfcFastenerType", "IfcFastenerTypeEnum", "IfcFeatureElement", "IfcFeatureElementAddition", "IfcFeatureElementSubtraction", "IfcFillAreaStyle", "IfcFillAreaStyleHatching", "IfcFillAreaStyleTiles", "IfcFillStyleSelect", "IfcFilter", "IfcFilterType", "IfcFilterTypeEnum", "IfcFireSuppressionTerminal", "IfcFireSuppressionTerminalType", "IfcFireSuppressionTerminalTypeEnum", "IfcFixedReferenceSweptAreaSolid", "IfcFlowController", "IfcFlowControllerType", "IfcFlowDirectionEnum", "IfcFlowFitting", "IfcFlowFittingType", "IfcFlowInstrument", "IfcFlowInstrumentType", "IfcFlowInstrumentTypeEnum", "IfcFlowMeter", "IfcFlowMeterType", "IfcFlowMeterTypeEnum", "IfcFlowMovingDevice", "IfcFlowMovingDeviceType", "IfcFlowSegment", "IfcFlowSegmentType", "IfcFlowStorageDevice", "IfcFlowStorageDeviceType", "IfcFlowTerminal", "IfcFlowTerminalType", "IfcFlowTreatmentDevice", "IfcFlowTreatmentDeviceType", "IfcFontStyle", "IfcFontVariant", "IfcFontWeight", "IfcFooting", "IfcFootingType", "IfcFootingTypeEnum", "IfcForceMeasure", "IfcFrequencyMeasure", "IfcFurnishingElement", "IfcFurnishingElementType", "IfcFurniture", "IfcFurnitureType", "IfcFurnitureTypeEnum", "IfcGeographicElement", "IfcGeographicElementType", "IfcGeographicElementTypeEnum", "IfcGeometricCurveSet", "IfcGeometricProjectionEnum", "IfcGeometricRepresentationContext", "IfcGeometricRepresentationItem", "IfcGeometricRepresentationSubContext", "IfcGeometricSet", "IfcGeometricSetSelect", "IfcGlobalOrLocalEnum", "IfcGloballyUniqueId", "IfcGrid", "IfcGridAxis", "IfcGridPlacement", "IfcGridPlacementDirectionSelect", "IfcGridTypeEnum", "IfcGroup", "IfcHalfSpaceSolid", "IfcHatchLineDistanceSelect", "IfcHeatExchanger", "IfcHeatExchangerType", "IfcHeatExchangerTypeEnum", "IfcHeatFluxDensityMeasure", "IfcHeatingValueMeasure", "IfcHumidifier", "IfcHumidifierType", "IfcHumidifierTypeEnum", "IfcIShapeProfileDef", "IfcIdentifier", "IfcIlluminanceMeasure", "IfcImageTexture", "IfcIndexedColourMap", "IfcIndexedPolyCurve", "IfcIndexedTextureMap", "IfcIndexedTriangleTextureMap", "IfcInductanceMeasure", "IfcInteger", "IfcIntegerCountRateMeasure", "IfcInterceptor", "IfcInterceptorType", "IfcInterceptorTypeEnum", "IfcInternalOrExternalEnum", "IfcInventory", "IfcInventoryTypeEnum", "IfcIonConcentrationMeasure", "IfcIrregularTimeSeries", "IfcIrregularTimeSeriesValue", "IfcIsothermalMoistureCapacityMeasure", "IfcJunctionBox", "IfcJunctionBoxType", "IfcJunctionBoxTypeEnum", "IfcKinematicViscosityMeasure", "IfcKnotType", "IfcLShapeProfileDef", "IfcLabel", "IfcLaborResource", "IfcLaborResourceType", "IfcLaborResourceTypeEnum", "IfcLagTime", "IfcLamp", "IfcLampType", "IfcLampTypeEnum", "IfcLanguageId", "IfcLayerSetDirectionEnum", "IfcLayeredItem", "IfcLengthMeasure", "IfcLibraryInformation", "IfcLibraryReference", "IfcLibrarySelect", "IfcLightDistributionCurveEnum", "IfcLightDistributionData", "IfcLightDistributionDataSourceSelect", "IfcLightEmissionSourceEnum", "IfcLightFixture", "IfcLightFixtureType", "IfcLightFixtureTypeEnum", "IfcLightIntensityDistribution", "IfcLightSource", "IfcLightSourceAmbient", "IfcLightSourceDirectional", "IfcLightSourceGoniometric", "IfcLightSourcePositional", "IfcLightSourceSpot", "IfcLine", "IfcLineIndex", "IfcLinearForceMeasure", "IfcLinearMomentMeasure", "IfcLinearStiffnessMeasure", "IfcLinearVelocityMeasure", "IfcLoadGroupTypeEnum", "IfcLocalPlacement", "IfcLogical", "IfcLogicalOperatorEnum", "IfcLoop", "IfcLuminousFluxMeasure", "IfcLuminousIntensityDistributionMeasure", "IfcLuminousIntensityMeasure", "IfcMagneticFluxDensityMeasure", "IfcMagneticFluxMeasure", "IfcManifoldSolidBrep", "IfcMapConversion", "IfcMappedItem", "IfcMassDensityMeasure", "IfcMassFlowRateMeasure", "IfcMassMeasure", "IfcMassPerLengthMeasure", "IfcMaterial", "IfcMaterialClassificationRelationship", "IfcMaterialConstituent", "IfcMaterialConstituentSet", "IfcMaterialDefinition", "IfcMaterialDefinitionRepresentation", "IfcMaterialLayer", "IfcMaterialLayerSet", "IfcMaterialLayerSetUsage", "IfcMaterialLayerWithOffsets", "IfcMaterialList", "IfcMaterialProfile", "IfcMaterialProfileSet", "IfcMaterialProfileSetUsage", "IfcMaterialProfileSetUsageTapering", "IfcMaterialProfileWithOffsets", "IfcMaterialProperties", "IfcMaterialRelationship", "IfcMaterialSelect", "IfcMaterialUsageDefinition", "IfcMeasureValue", "IfcMeasureWithUnit", "IfcMechanicalFastener", "IfcMechanicalFastenerType", "IfcMechanicalFastenerTypeEnum", "IfcMedicalDevice", "IfcMedicalDeviceType", "IfcMedicalDeviceTypeEnum", "IfcMember", "IfcMemberStandardCase", "IfcMemberType", "IfcMemberTypeEnum", "IfcMetric", "IfcMetricValueSelect", "IfcMirroredProfileDef", "IfcModulusOfElasticityMeasure", "IfcModulusOfLinearSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionMeasure", "IfcModulusOfRotationalSubgradeReactionSelect", "IfcModulusOfSubgradeReactionMeasure", "IfcModulusOfSubgradeReactionSelect", "IfcModulusOfTranslationalSubgradeReactionSelect", "IfcMoistureDiffusivityMeasure", "IfcMolecularWeightMeasure", "IfcMomentOfInertiaMeasure", "IfcMonetaryMeasure", "IfcMonetaryUnit", "IfcMonthInYearNumber", "IfcMotorConnection", "IfcMotorConnectionType", "IfcMotorConnectionTypeEnum", "IfcNamedUnit", "IfcNonNegativeLengthMeasure", "IfcNormalisedRatioMeasure", "IfcNullStyle", "IfcNumericMeasure", "IfcObject", "IfcObjectDefinition", "IfcObjectPlacement", "IfcObjectReferenceSelect", "IfcObjectTypeEnum", "IfcObjective", "IfcObjectiveEnum", "IfcOccupant", "IfcOccupantTypeEnum", "IfcOffsetCurve2D", "IfcOffsetCurve3D", "IfcOpenShell", "IfcOpeningElement", "IfcOpeningElementTypeEnum", "IfcOpeningStandardCase", "IfcOrganization", "IfcOrganizationRelationship", "IfcOrientedEdge", "IfcOuterBoundaryCurve", "IfcOutlet", "IfcOutletType", "IfcOutletTypeEnum", "IfcOwnerHistory", "IfcPHMeasure", "IfcParameterValue", "IfcParameterizedProfileDef", "IfcPath", "IfcPcurve", "IfcPerformanceHistory", "IfcPerformanceHistoryTypeEnum", "IfcPermeableCoveringOperationEnum", "IfcPermeableCoveringProperties", "IfcPermit", "IfcPermitTypeEnum", "IfcPerson", "IfcPersonAndOrganization", "IfcPhysicalComplexQuantity", "IfcPhysicalOrVirtualEnum", "IfcPhysicalQuantity", "IfcPhysicalSimpleQuantity", "IfcPile", "IfcPileConstructionEnum", "IfcPileType", "IfcPileTypeEnum", "IfcPipeFitting", "IfcPipeFittingType", "IfcPipeFittingTypeEnum", "IfcPipeSegment", "IfcPipeSegmentType", "IfcPipeSegmentTypeEnum", "IfcPixelTexture", "IfcPlacement", "IfcPlanarBox", "IfcPlanarExtent", "IfcPlanarForceMeasure", "IfcPlane", "IfcPlaneAngleMeasure", "IfcPlate", "IfcPlateStandardCase", "IfcPlateType", "IfcPlateTypeEnum", "IfcPoint", "IfcPointOnCurve", "IfcPointOnSurface", "IfcPointOrVertexPoint", "IfcPolyLoop", "IfcPolygonalBoundedHalfSpace", "IfcPolyline", "IfcPort", "IfcPositiveInteger", "IfcPositiveLengthMeasure", "IfcPositivePlaneAngleMeasure", "IfcPositiveRatioMeasure", "IfcPostalAddress", "IfcPowerMeasure", "IfcPreDefinedColour", "IfcPreDefinedCurveFont", "IfcPreDefinedItem", "IfcPreDefinedProperties", "IfcPreDefinedPropertySet", "IfcPreDefinedTextFont", "IfcPresentableText", "IfcPresentationItem", "IfcPresentationLayerAssignment", "IfcPresentationLayerWithStyle", "IfcPresentationStyle", "IfcPresentationStyleAssignment", "IfcPresentationStyleSelect", "IfcPressureMeasure", "IfcProcedure", "IfcProcedureType", "IfcProcedureTypeEnum", "IfcProcess", "IfcProcessSelect", "IfcProduct", "IfcProductDefinitionShape", "IfcProductRepresentation", "IfcProductRepresentationSelect", "IfcProductSelect", "IfcProfileDef", "IfcProfileProperties", "IfcProfileTypeEnum", "IfcProject", "IfcProjectLibrary", "IfcProjectOrder", "IfcProjectOrderTypeEnum", "IfcProjectedCRS", "IfcProjectedOrTrueLengthEnum", "IfcProjectionElement", "IfcProjectionElementTypeEnum", "IfcProperty", "IfcPropertyAbstraction", "IfcPropertyBoundedValue", "IfcPropertyDefinition", "IfcPropertyDependencyRelationship", "IfcPropertyEnumeratedValue", "IfcPropertyEnumeration", "IfcPropertyListValue", "IfcPropertyReferenceValue", "IfcPropertySet", "IfcPropertySetDefinition", "IfcPropertySetDefinitionSelect", "IfcPropertySetDefinitionSet", "IfcPropertySetTemplate", "IfcPropertySetTemplateTypeEnum", "IfcPropertySingleValue", "IfcPropertyTableValue", "IfcPropertyTemplate", "IfcPropertyTemplateDefinition", "IfcProtectiveDevice", "IfcProtectiveDeviceTrippingUnit", "IfcProtectiveDeviceTrippingUnitType", "IfcProtectiveDeviceTrippingUnitTypeEnum", "IfcProtectiveDeviceType", "IfcProtectiveDeviceTypeEnum", "IfcProxy", "IfcPump", "IfcPumpType", "IfcPumpTypeEnum", "IfcQuantityArea", "IfcQuantityCount", "IfcQuantityLength", "IfcQuantitySet", "IfcQuantityTime", "IfcQuantityVolume", "IfcQuantityWeight", "IfcRadioActivityMeasure", "IfcRailing", "IfcRailingType", "IfcRailingTypeEnum", "IfcRamp", "IfcRampFlight", "IfcRampFlightType", "IfcRampFlightTypeEnum", "IfcRampType", "IfcRampTypeEnum", "IfcRatioMeasure", "IfcRationalBSplineCurveWithKnots", "IfcRationalBSplineSurfaceWithKnots", "IfcReal", "IfcRectangleHollowProfileDef", "IfcRectangleProfileDef", "IfcRectangularPyramid", "IfcRectangularTrimmedSurface", "IfcRecurrencePattern", "IfcRecurrenceTypeEnum", "IfcReference", "IfcReflectanceMethodEnum", "IfcRegularTimeSeries", "IfcReinforcementBarProperties", "IfcReinforcementDefinitionProperties", "IfcReinforcingBar", "IfcReinforcingBarRoleEnum", "IfcReinforcingBarSurfaceEnum", "IfcReinforcingBarType", "IfcReinforcingBarTypeEnum", "IfcReinforcingElement", "IfcReinforcingElementType", "IfcReinforcingMesh", "IfcReinforcingMeshType", "IfcReinforcingMeshTypeEnum", "IfcRelAggregates", "IfcRelAssigns", "IfcRelAssignsToActor", "IfcRelAssignsToControl", "IfcRelAssignsToGroup", "IfcRelAssignsToGroupByFactor", "IfcRelAssignsToProcess", "IfcRelAssignsToProduct", "IfcRelAssignsToResource", "IfcRelAssociates", "IfcRelAssociatesApproval", "IfcRelAssociatesClassification", "IfcRelAssociatesConstraint", "IfcRelAssociatesDocument", "IfcRelAssociatesLibrary", "IfcRelAssociatesMaterial", "IfcRelConnects", "IfcRelConnectsElements", "IfcRelConnectsPathElements", "IfcRelConnectsPortToElement", "IfcRelConnectsPorts", "IfcRelConnectsStructuralActivity", "IfcRelConnectsStructuralMember", "IfcRelConnectsWithEccentricity", "IfcRelConnectsWithRealizingElements", "IfcRelContainedInSpatialStructure", "IfcRelCoversBldgElements", "IfcRelCoversSpaces", "IfcRelDeclares", "IfcRelDecomposes", "IfcRelDefines", "IfcRelDefinesByObject", "IfcRelDefinesByProperties", "IfcRelDefinesByTemplate", "IfcRelDefinesByType", "IfcRelFillsElement", "IfcRelFlowControlElements", "IfcRelInterferesElements", "IfcRelNests", "IfcRelProjectsElement", "IfcRelReferencedInSpatialStructure", "IfcRelSequence", "IfcRelServicesBuildings", "IfcRelSpaceBoundary", "IfcRelSpaceBoundary1stLevel", "IfcRelSpaceBoundary2ndLevel", "IfcRelVoidsElement", "IfcRelationship", "IfcReparametrisedCompositeCurveSegment", "IfcRepresentation", "IfcRepresentationContext", "IfcRepresentationItem", "IfcRepresentationMap", "IfcResource", "IfcResourceApprovalRelationship", "IfcResourceConstraintRelationship", "IfcResourceLevelRelationship", "IfcResourceObjectSelect", "IfcResourceSelect", "IfcResourceTime", "IfcRevolvedAreaSolid", "IfcRevolvedAreaSolidTapered", "IfcRightCircularCone", "IfcRightCircularCylinder", "IfcRoleEnum", "IfcRoof", "IfcRoofType", "IfcRoofTypeEnum", "IfcRoot", "IfcRotationalFrequencyMeasure", "IfcRotationalMassMeasure", "IfcRotationalStiffnessMeasure", "IfcRotationalStiffnessSelect", "IfcRoundedRectangleProfileDef", "IfcSIPrefix", "IfcSIUnit", "IfcSIUnitName", "IfcSanitaryTerminal", "IfcSanitaryTerminalType", "IfcSanitaryTerminalTypeEnum", "IfcSchedulingTime", "IfcSectionModulusMeasure", "IfcSectionProperties", "IfcSectionReinforcementProperties", "IfcSectionTypeEnum", "IfcSectionalAreaIntegralMeasure", "IfcSectionedSpine", "IfcSegmentIndexSelect", "IfcSensor", "IfcSensorType", "IfcSensorTypeEnum", "IfcSequenceEnum", "IfcShadingDevice", "IfcShadingDeviceType", "IfcShadingDeviceTypeEnum", "IfcShapeAspect", "IfcShapeModel", "IfcShapeRepresentation", "IfcShearModulusMeasure", "IfcShell", "IfcShellBasedSurfaceModel", "IfcSimpleProperty", "IfcSimplePropertyTemplate", "IfcSimplePropertyTemplateTypeEnum", "IfcSimpleValue", "IfcSite", "IfcSizeSelect", "IfcSlab", "IfcSlabElementedCase", "IfcSlabStandardCase", "IfcSlabType", "IfcSlabTypeEnum", "IfcSlippageConnectionCondition", "IfcSolarDevice", "IfcSolarDeviceType", "IfcSolarDeviceTypeEnum", "IfcSolidAngleMeasure", "IfcSolidModel", "IfcSolidOrShell", "IfcSoundPowerLevelMeasure", "IfcSoundPowerMeasure", "IfcSoundPressureLevelMeasure", "IfcSoundPressureMeasure", "IfcSpace", "IfcSpaceBoundarySelect", "IfcSpaceHeater", "IfcSpaceHeaterType", "IfcSpaceHeaterTypeEnum", "IfcSpaceType", "IfcSpaceTypeEnum", "IfcSpatialElement", "IfcSpatialElementType", "IfcSpatialStructureElement", "IfcSpatialStructureElementType", "IfcSpatialZone", "IfcSpatialZoneType", "IfcSpatialZoneTypeEnum", "IfcSpecificHeatCapacityMeasure", "IfcSpecularExponent", "IfcSpecularHighlightSelect", "IfcSpecularRoughness", "IfcSphere", "IfcStackTerminal", "IfcStackTerminalType", "IfcStackTerminalTypeEnum", "IfcStair", "IfcStairFlight", "IfcStairFlightType", "IfcStairFlightTypeEnum", "IfcStairType", "IfcStairTypeEnum", "IfcStateEnum", "IfcStructuralAction", "IfcStructuralActivity", "IfcStructuralActivityAssignmentSelect", "IfcStructuralAnalysisModel", "IfcStructuralConnection", "IfcStructuralConnectionCondition", "IfcStructuralCurveAction", "IfcStructuralCurveActivityTypeEnum", "IfcStructuralCurveConnection", "IfcStructuralCurveMember", "IfcStructuralCurveMemberTypeEnum", "IfcStructuralCurveMemberVarying", "IfcStructuralCurveReaction", "IfcStructuralItem", "IfcStructuralLinearAction", "IfcStructuralLoad", "IfcStructuralLoadCase", "IfcStructuralLoadConfiguration", "IfcStructuralLoadGroup", "IfcStructuralLoadLinearForce", "IfcStructuralLoadOrResult", "IfcStructuralLoadPlanarForce", "IfcStructuralLoadSingleDisplacement", "IfcStructuralLoadSingleDisplacementDistortion", "IfcStructuralLoadSingleForce", "IfcStructuralLoadSingleForceWarping", "IfcStructuralLoadStatic", "IfcStructuralLoadTemperature", "IfcStructuralMember", "IfcStructuralPlanarAction", "IfcStructuralPointAction", "IfcStructuralPointConnection", "IfcStructuralPointReaction", "IfcStructuralReaction", "IfcStructuralResultGroup", "IfcStructuralSurfaceAction", "IfcStructuralSurfaceActivityTypeEnum", "IfcStructuralSurfaceConnection", "IfcStructuralSurfaceMember", "IfcStructuralSurfaceMemberTypeEnum", "IfcStructuralSurfaceMemberVarying", "IfcStructuralSurfaceReaction", "IfcStyleAssignmentSelect", "IfcStyleModel", "IfcStyledItem", "IfcStyledRepresentation", "IfcSubContractResource", "IfcSubContractResourceType", "IfcSubContractResourceTypeEnum", "IfcSubedge", "IfcSurface", "IfcSurfaceCurveSweptAreaSolid", "IfcSurfaceFeature", "IfcSurfaceFeatureTypeEnum", "IfcSurfaceOfLinearExtrusion", "IfcSurfaceOfRevolution", "IfcSurfaceOrFaceSurface", "IfcSurfaceReinforcementArea", "IfcSurfaceSide", "IfcSurfaceStyle", "IfcSurfaceStyleElementSelect", "IfcSurfaceStyleLighting", "IfcSurfaceStyleRefraction", "IfcSurfaceStyleRendering", "IfcSurfaceStyleShading", "IfcSurfaceStyleWithTextures", "IfcSurfaceTexture", "IfcSweptAreaSolid", "IfcSweptDiskSolid", "IfcSweptDiskSolidPolygonal", "IfcSweptSurface", "IfcSwitchingDevice", "IfcSwitchingDeviceType", "IfcSwitchingDeviceTypeEnum", "IfcSystem", "IfcSystemFurnitureElement", "IfcSystemFurnitureElementType", "IfcSystemFurnitureElementTypeEnum", "IfcTShapeProfileDef", "IfcTable", "IfcTableColumn", "IfcTableRow", "IfcTank", "IfcTankType", "IfcTankTypeEnum", "IfcTask", "IfcTaskDurationEnum", "IfcTaskTime", "IfcTaskTimeRecurring", "IfcTaskType", "IfcTaskTypeEnum", "IfcTelecomAddress", "IfcTemperatureGradientMeasure", "IfcTemperatureRateOfChangeMeasure", "IfcTendon", "IfcTendonAnchor", "IfcTendonAnchorType", "IfcTendonAnchorTypeEnum", "IfcTendonType", "IfcTendonTypeEnum", "IfcTessellatedFaceSet", "IfcTessellatedItem", "IfcText", "IfcTextAlignment", "IfcTextDecoration", "IfcTextFontName", "IfcTextFontSelect", "IfcTextLiteral", "IfcTextLiteralWithExtent", "IfcTextPath", "IfcTextStyle", "IfcTextStyleFontModel", "IfcTextStyleForDefinedFont", "IfcTextStyleTextModel", "IfcTextTransformation", "IfcTextureCoordinate", "IfcTextureCoordinateGenerator", "IfcTextureMap", "IfcTextureVertex", "IfcTextureVertexList", "IfcThermalAdmittanceMeasure", "IfcThermalConductivityMeasure", "IfcThermalExpansionCoefficientMeasure", "IfcThermalResistanceMeasure", "IfcThermalTransmittanceMeasure", "IfcThermodynamicTemperatureMeasure", "IfcTime", "IfcTimeMeasure", "IfcTimeOrRatioSelect", "IfcTimePeriod", "IfcTimeSeries", "IfcTimeSeriesDataTypeEnum", "IfcTimeSeriesValue", "IfcTimeStamp", "IfcTopologicalRepresentationItem", "IfcTopologyRepresentation", "IfcTorqueMeasure", "IfcTransformer", "IfcTransformerType", "IfcTransformerTypeEnum", "IfcTransitionCode", "IfcTranslationalStiffnessSelect", "IfcTransportElement", "IfcTransportElementType", "IfcTransportElementTypeEnum", "IfcTrapeziumProfileDef", "IfcTriangulatedFaceSet", "IfcTrimmedCurve", "IfcTrimmingPreference", "IfcTrimmingSelect", "IfcTubeBundle", "IfcTubeBundleType", "IfcTubeBundleTypeEnum", "IfcTypeObject", "IfcTypeProcess", "IfcTypeProduct", "IfcTypeResource", "IfcURIReference", "IfcUShapeProfileDef", "IfcUnit", "IfcUnitAssignment", "IfcUnitEnum", "IfcUnitaryControlElement", "IfcUnitaryControlElementType", "IfcUnitaryControlElementTypeEnum", "IfcUnitaryEquipment", "IfcUnitaryEquipmentType", "IfcUnitaryEquipmentTypeEnum", "IfcValue", "IfcValve", "IfcValveType", "IfcValveTypeEnum", "IfcVaporPermeabilityMeasure", "IfcVector", "IfcVectorOrDirection", "IfcVertex", "IfcVertexLoop", "IfcVertexPoint", "IfcVibrationIsolator", "IfcVibrationIsolatorType", "IfcVibrationIsolatorTypeEnum", "IfcVirtualElement", "IfcVirtualGridIntersection", "IfcVoidingFeature", "IfcVoidingFeatureTypeEnum", "IfcVolumeMeasure", "IfcVolumetricFlowRateMeasure", "IfcWall", "IfcWallElementedCase", "IfcWallStandardCase", "IfcWallType", "IfcWallTypeEnum", "IfcWarpingConstantMeasure", "IfcWarpingMomentMeasure", "IfcWarpingStiffnessSelect", "IfcWasteTerminal", "IfcWasteTerminalType", "IfcWasteTerminalTypeEnum", "IfcWindow", "IfcWindowLiningProperties", "IfcWindowPanelOperationEnum", "IfcWindowPanelPositionEnum", "IfcWindowPanelProperties", "IfcWindowStandardCase", "IfcWindowStyle", "IfcWindowStyleConstructionEnum", "IfcWindowStyleOperationEnum", "IfcWindowType", "IfcWindowTypeEnum", "IfcWindowTypePartitioningEnum", "IfcWorkCalendar", "IfcWorkCalendarTypeEnum", "IfcWorkControl", "IfcWorkPlan", "IfcWorkPlanTypeEnum", "IfcWorkSchedule", "IfcWorkScheduleTypeEnum", "IfcWorkTime", "IfcZShapeProfileDef", "IfcZone" }; return names[v]; } @@ -986,6 +992,7 @@ void Ifc4::InitStringMap() { string_map["IFCARBITRARYCLOSEDPROFILEDEF" ] = Type::IfcArbitraryClosedProfileDef; string_map["IFCARBITRARYOPENPROFILEDEF" ] = Type::IfcArbitraryOpenProfileDef; string_map["IFCARBITRARYPROFILEDEFWITHVOIDS" ] = Type::IfcArbitraryProfileDefWithVoids; + string_map["IFCARCINDEX" ] = Type::IfcArcIndex; string_map["IFCAREADENSITYMEASURE" ] = Type::IfcAreaDensityMeasure; string_map["IFCAREAMEASURE" ] = Type::IfcAreaMeasure; string_map["IFCARITHMETICOPERATORENUM" ] = Type::IfcArithmeticOperatorEnum; @@ -1011,6 +1018,7 @@ void Ifc4::InitStringMap() { string_map["IFCBEAMTYPEENUM" ] = Type::IfcBeamTypeEnum; string_map["IFCBENCHMARKENUM" ] = Type::IfcBenchmarkEnum; string_map["IFCBENDINGPARAMETERSELECT" ] = Type::IfcBendingParameterSelect; + string_map["IFCBINARY" ] = Type::IfcBinary; string_map["IFCBLOBTEXTURE" ] = Type::IfcBlobTexture; string_map["IFCBLOCK" ] = Type::IfcBlock; string_map["IFCBOILER" ] = Type::IfcBoiler; @@ -1063,6 +1071,7 @@ void Ifc4::InitStringMap() { string_map["IFCCARDINALPOINTREFERENCE" ] = Type::IfcCardinalPointReference; string_map["IFCCARTESIANPOINT" ] = Type::IfcCartesianPoint; string_map["IFCCARTESIANPOINTLIST" ] = Type::IfcCartesianPointList; + string_map["IFCCARTESIANPOINTLIST2D" ] = Type::IfcCartesianPointList2D; string_map["IFCCARTESIANPOINTLIST3D" ] = Type::IfcCartesianPointList3D; string_map["IFCCARTESIANTRANSFORMATIONOPERATOR" ] = Type::IfcCartesianTransformationOperator; string_map["IFCCARTESIANTRANSFORMATIONOPERATOR2D" ] = Type::IfcCartesianTransformationOperator2D; @@ -1421,6 +1430,7 @@ void Ifc4::InitStringMap() { string_map["IFCILLUMINANCEMEASURE" ] = Type::IfcIlluminanceMeasure; string_map["IFCIMAGETEXTURE" ] = Type::IfcImageTexture; string_map["IFCINDEXEDCOLOURMAP" ] = Type::IfcIndexedColourMap; + string_map["IFCINDEXEDPOLYCURVE" ] = Type::IfcIndexedPolyCurve; string_map["IFCINDEXEDTEXTUREMAP" ] = Type::IfcIndexedTextureMap; string_map["IFCINDEXEDTRIANGLETEXTUREMAP" ] = Type::IfcIndexedTriangleTextureMap; string_map["IFCINDUCTANCEMEASURE" ] = Type::IfcInductanceMeasure; @@ -1472,6 +1482,7 @@ void Ifc4::InitStringMap() { string_map["IFCLIGHTSOURCEPOSITIONAL" ] = Type::IfcLightSourcePositional; string_map["IFCLIGHTSOURCESPOT" ] = Type::IfcLightSourceSpot; string_map["IFCLINE" ] = Type::IfcLine; + string_map["IFCLINEINDEX" ] = Type::IfcLineIndex; string_map["IFCLINEARFORCEMEASURE" ] = Type::IfcLinearForceMeasure; string_map["IFCLINEARMOMENTMEASURE" ] = Type::IfcLinearMomentMeasure; string_map["IFCLINEARSTIFFNESSMEASURE" ] = Type::IfcLinearStiffnessMeasure; @@ -1618,6 +1629,7 @@ void Ifc4::InitStringMap() { string_map["IFCPOLYGONALBOUNDEDHALFSPACE" ] = Type::IfcPolygonalBoundedHalfSpace; string_map["IFCPOLYLINE" ] = Type::IfcPolyline; string_map["IFCPORT" ] = Type::IfcPort; + string_map["IFCPOSITIVEINTEGER" ] = Type::IfcPositiveInteger; string_map["IFCPOSITIVELENGTHMEASURE" ] = Type::IfcPositiveLengthMeasure; string_map["IFCPOSITIVEPLANEANGLEMEASURE" ] = Type::IfcPositivePlaneAngleMeasure; string_map["IFCPOSITIVERATIOMEASURE" ] = Type::IfcPositiveRatioMeasure; @@ -1816,6 +1828,7 @@ void Ifc4::InitStringMap() { string_map["IFCSECTIONTYPEENUM" ] = Type::IfcSectionTypeEnum; string_map["IFCSECTIONALAREAINTEGRALMEASURE" ] = Type::IfcSectionalAreaIntegralMeasure; string_map["IFCSECTIONEDSPINE" ] = Type::IfcSectionedSpine; + string_map["IFCSEGMENTINDEXSELECT" ] = Type::IfcSegmentIndexSelect; string_map["IFCSENSOR" ] = Type::IfcSensor; string_map["IFCSENSORTYPE" ] = Type::IfcSensorType; string_map["IFCSENSORTYPEENUM" ] = Type::IfcSensorTypeEnum; @@ -2110,7 +2123,7 @@ Type::Enum Type::FromString(const std::string& s) { } Type::Enum Type::Parent(Enum v){ - if (v < 0 || v >= 1157) return (Enum)-1; + if (v < 0 || v >= 1164) return (Enum)-1; if(v==IfcActionRequest ) { return IfcControl; } if(v==IfcActor ) { return IfcObject; } if(v==IfcActuator ) { return IfcDistributionControlElement; } @@ -2183,6 +2196,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcCableSegmentType ) { return IfcFlowSegmentType; } if(v==IfcCartesianPoint ) { return IfcPoint; } if(v==IfcCartesianPointList ) { return IfcGeometricRepresentationItem; } + if(v==IfcCartesianPointList2D ) { return IfcCartesianPointList; } if(v==IfcCartesianPointList3D ) { return IfcCartesianPointList; } if(v==IfcCartesianTransformationOperator ) { return IfcGeometricRepresentationItem; } if(v==IfcCartesianTransformationOperator2D ) { return IfcCartesianTransformationOperator; } @@ -2412,6 +2426,7 @@ Type::Enum Type::Parent(Enum v){ if(v==IfcIShapeProfileDef ) { return IfcParameterizedProfileDef; } if(v==IfcImageTexture ) { return IfcSurfaceTexture; } if(v==IfcIndexedColourMap ) { return IfcPresentationItem; } + if(v==IfcIndexedPolyCurve ) { return IfcBoundedCurve; } if(v==IfcIndexedTextureMap ) { return IfcTextureCoordinate; } if(v==IfcIndexedTriangleTextureMap ) { return IfcIndexedTextureMap; } if(v==IfcInterceptor ) { return IfcFlowTreatmentDevice; } @@ -2822,7 +2837,7 @@ Type::Enum Type::Parent(Enum v){ } bool Type::IsSimple(Enum v) { - return v == Type::IfcAbsorbedDoseMeasure || v == Type::IfcAccelerationMeasure || v == Type::IfcAmountOfSubstanceMeasure || v == Type::IfcAngularVelocityMeasure || v == Type::IfcAreaDensityMeasure || v == Type::IfcAreaMeasure || v == Type::IfcBoolean || v == Type::IfcColour || v == Type::IfcComplexNumber || v == Type::IfcCompoundPlaneAngleMeasure || v == Type::IfcContextDependentMeasure || v == Type::IfcCountMeasure || v == Type::IfcCurvatureMeasure || v == Type::IfcCurveStyleFontSelect || v == Type::IfcDate || v == Type::IfcDateTime || v == Type::IfcDerivedMeasureValue || v == Type::IfcDescriptiveMeasure || v == Type::IfcDoseEquivalentMeasure || v == Type::IfcDuration || v == Type::IfcDynamicViscosityMeasure || v == Type::IfcElectricCapacitanceMeasure || v == Type::IfcElectricChargeMeasure || v == Type::IfcElectricConductanceMeasure || v == Type::IfcElectricCurrentMeasure || v == Type::IfcElectricResistanceMeasure || v == Type::IfcElectricVoltageMeasure || v == Type::IfcEnergyMeasure || v == Type::IfcForceMeasure || v == Type::IfcFrequencyMeasure || v == Type::IfcHeatFluxDensityMeasure || v == Type::IfcHeatingValueMeasure || v == Type::IfcIdentifier || v == Type::IfcIlluminanceMeasure || v == Type::IfcInductanceMeasure || v == Type::IfcInteger || v == Type::IfcIntegerCountRateMeasure || v == Type::IfcIonConcentrationMeasure || v == Type::IfcIsothermalMoistureCapacityMeasure || v == Type::IfcKinematicViscosityMeasure || v == Type::IfcLabel || v == Type::IfcLengthMeasure || v == Type::IfcLinearForceMeasure || v == Type::IfcLinearMomentMeasure || v == Type::IfcLinearStiffnessMeasure || v == Type::IfcLinearVelocityMeasure || v == Type::IfcLogical || v == Type::IfcLuminousFluxMeasure || v == Type::IfcLuminousIntensityDistributionMeasure || v == Type::IfcLuminousIntensityMeasure || v == Type::IfcMagneticFluxDensityMeasure || v == Type::IfcMagneticFluxMeasure || v == Type::IfcMassDensityMeasure || v == Type::IfcMassFlowRateMeasure || v == Type::IfcMassMeasure || v == Type::IfcMassPerLengthMeasure || v == Type::IfcMeasureValue || v == Type::IfcModulusOfElasticityMeasure || v == Type::IfcModulusOfLinearSubgradeReactionMeasure || v == Type::IfcModulusOfRotationalSubgradeReactionMeasure || v == Type::IfcModulusOfSubgradeReactionMeasure || v == Type::IfcMoistureDiffusivityMeasure || v == Type::IfcMolecularWeightMeasure || v == Type::IfcMomentOfInertiaMeasure || v == Type::IfcMonetaryMeasure || v == Type::IfcNonNegativeLengthMeasure || v == Type::IfcNormalisedRatioMeasure || v == Type::IfcNullStyle || v == Type::IfcNumericMeasure || v == Type::IfcPHMeasure || v == Type::IfcParameterValue || v == Type::IfcPlanarForceMeasure || v == Type::IfcPlaneAngleMeasure || v == Type::IfcPositiveLengthMeasure || v == Type::IfcPositivePlaneAngleMeasure || v == Type::IfcPositiveRatioMeasure || v == Type::IfcPowerMeasure || v == Type::IfcPressureMeasure || v == Type::IfcPropertySetDefinitionSet || v == Type::IfcRadioActivityMeasure || v == Type::IfcRatioMeasure || v == Type::IfcReal || v == Type::IfcRotationalFrequencyMeasure || v == Type::IfcRotationalMassMeasure || v == Type::IfcRotationalStiffnessMeasure || v == Type::IfcSectionModulusMeasure || v == Type::IfcSectionalAreaIntegralMeasure || v == Type::IfcShearModulusMeasure || v == Type::IfcSimpleValue || v == Type::IfcSolidAngleMeasure || v == Type::IfcSoundPowerLevelMeasure || v == Type::IfcSoundPowerMeasure || v == Type::IfcSoundPressureLevelMeasure || v == Type::IfcSoundPressureMeasure || v == Type::IfcSpecificHeatCapacityMeasure || v == Type::IfcSpecularExponent || v == Type::IfcSpecularRoughness || v == Type::IfcTemperatureGradientMeasure || v == Type::IfcTemperatureRateOfChangeMeasure || v == Type::IfcText || v == Type::IfcThermalAdmittanceMeasure || v == Type::IfcThermalConductivityMeasure || v == Type::IfcThermalExpansionCoefficientMeasure || v == Type::IfcThermalResistanceMeasure || v == Type::IfcThermalTransmittanceMeasure || v == Type::IfcThermodynamicTemperatureMeasure || v == Type::IfcTime || v == Type::IfcTimeMeasure || v == Type::IfcTimeStamp || v == Type::IfcTorqueMeasure || v == Type::IfcValue || v == Type::IfcVaporPermeabilityMeasure || v == Type::IfcVolumeMeasure || v == Type::IfcVolumetricFlowRateMeasure || v == Type::IfcWarpingConstantMeasure || v == Type::IfcWarpingMomentMeasure; + return v == Type::IfcAbsorbedDoseMeasure || v == Type::IfcAccelerationMeasure || v == Type::IfcAmountOfSubstanceMeasure || v == Type::IfcAngularVelocityMeasure || v == Type::IfcArcIndex || v == Type::IfcAreaDensityMeasure || v == Type::IfcAreaMeasure || v == Type::IfcBoolean || v == Type::IfcColour || v == Type::IfcComplexNumber || v == Type::IfcCompoundPlaneAngleMeasure || v == Type::IfcContextDependentMeasure || v == Type::IfcCountMeasure || v == Type::IfcCurvatureMeasure || v == Type::IfcCurveStyleFontSelect || v == Type::IfcDate || v == Type::IfcDateTime || v == Type::IfcDerivedMeasureValue || v == Type::IfcDescriptiveMeasure || v == Type::IfcDoseEquivalentMeasure || v == Type::IfcDuration || v == Type::IfcDynamicViscosityMeasure || v == Type::IfcElectricCapacitanceMeasure || v == Type::IfcElectricChargeMeasure || v == Type::IfcElectricConductanceMeasure || v == Type::IfcElectricCurrentMeasure || v == Type::IfcElectricResistanceMeasure || v == Type::IfcElectricVoltageMeasure || v == Type::IfcEnergyMeasure || v == Type::IfcForceMeasure || v == Type::IfcFrequencyMeasure || v == Type::IfcHeatFluxDensityMeasure || v == Type::IfcHeatingValueMeasure || v == Type::IfcIdentifier || v == Type::IfcIlluminanceMeasure || v == Type::IfcInductanceMeasure || v == Type::IfcInteger || v == Type::IfcIntegerCountRateMeasure || v == Type::IfcIonConcentrationMeasure || v == Type::IfcIsothermalMoistureCapacityMeasure || v == Type::IfcKinematicViscosityMeasure || v == Type::IfcLabel || v == Type::IfcLengthMeasure || v == Type::IfcLineIndex || v == Type::IfcLinearForceMeasure || v == Type::IfcLinearMomentMeasure || v == Type::IfcLinearStiffnessMeasure || v == Type::IfcLinearVelocityMeasure || v == Type::IfcLogical || v == Type::IfcLuminousFluxMeasure || v == Type::IfcLuminousIntensityDistributionMeasure || v == Type::IfcLuminousIntensityMeasure || v == Type::IfcMagneticFluxDensityMeasure || v == Type::IfcMagneticFluxMeasure || v == Type::IfcMassDensityMeasure || v == Type::IfcMassFlowRateMeasure || v == Type::IfcMassMeasure || v == Type::IfcMassPerLengthMeasure || v == Type::IfcMeasureValue || v == Type::IfcModulusOfElasticityMeasure || v == Type::IfcModulusOfLinearSubgradeReactionMeasure || v == Type::IfcModulusOfRotationalSubgradeReactionMeasure || v == Type::IfcModulusOfSubgradeReactionMeasure || v == Type::IfcMoistureDiffusivityMeasure || v == Type::IfcMolecularWeightMeasure || v == Type::IfcMomentOfInertiaMeasure || v == Type::IfcMonetaryMeasure || v == Type::IfcNonNegativeLengthMeasure || v == Type::IfcNormalisedRatioMeasure || v == Type::IfcNullStyle || v == Type::IfcNumericMeasure || v == Type::IfcPHMeasure || v == Type::IfcParameterValue || v == Type::IfcPlanarForceMeasure || v == Type::IfcPlaneAngleMeasure || v == Type::IfcPositiveInteger || v == Type::IfcPositiveLengthMeasure || v == Type::IfcPositivePlaneAngleMeasure || v == Type::IfcPositiveRatioMeasure || v == Type::IfcPowerMeasure || v == Type::IfcPressureMeasure || v == Type::IfcPropertySetDefinitionSet || v == Type::IfcRadioActivityMeasure || v == Type::IfcRatioMeasure || v == Type::IfcReal || v == Type::IfcRotationalFrequencyMeasure || v == Type::IfcRotationalMassMeasure || v == Type::IfcRotationalStiffnessMeasure || v == Type::IfcSectionModulusMeasure || v == Type::IfcSectionalAreaIntegralMeasure || v == Type::IfcShearModulusMeasure || v == Type::IfcSimpleValue || v == Type::IfcSolidAngleMeasure || v == Type::IfcSoundPowerLevelMeasure || v == Type::IfcSoundPowerMeasure || v == Type::IfcSoundPressureLevelMeasure || v == Type::IfcSoundPressureMeasure || v == Type::IfcSpecificHeatCapacityMeasure || v == Type::IfcSpecularExponent || v == Type::IfcSpecularRoughness || v == Type::IfcTemperatureGradientMeasure || v == Type::IfcTemperatureRateOfChangeMeasure || v == Type::IfcText || v == Type::IfcThermalAdmittanceMeasure || v == Type::IfcThermalConductivityMeasure || v == Type::IfcThermalExpansionCoefficientMeasure || v == Type::IfcThermalResistanceMeasure || v == Type::IfcThermalTransmittanceMeasure || v == Type::IfcThermodynamicTemperatureMeasure || v == Type::IfcTime || v == Type::IfcTimeMeasure || v == Type::IfcTimeStamp || v == Type::IfcTorqueMeasure || v == Type::IfcValue || v == Type::IfcVaporPermeabilityMeasure || v == Type::IfcVolumeMeasure || v == Type::IfcVolumetricFlowRateMeasure || v == Type::IfcWarpingConstantMeasure || v == Type::IfcWarpingMomentMeasure; } @@ -5594,19 +5609,22 @@ IfcSectionTypeEnum::IfcSectionTypeEnum IfcSectionTypeEnum::FromString(const std: } const char* IfcSensorTypeEnum::ToString(IfcSensorTypeEnum v) { - if ( v < 0 || v >= 22 ) throw IfcException("Unable to find find keyword in schema"); - const char* names[] = { "CONDUCTANCESENSOR", "CONTACTSENSOR", "FIRESENSOR", "FLOWSENSOR", "GASSENSOR", "HEATSENSOR", "HUMIDITYSENSOR", "IONCONCENTRATIONSENSOR", "LEVELSENSOR", "LIGHTSENSOR", "MOISTURESENSOR", "MOVEMENTSENSOR", "PHSENSOR", "PRESSURESENSOR", "RADIATIONSENSOR", "RADIOACTIVITYSENSOR", "SMOKESENSOR", "SOUNDSENSOR", "TEMPERATURESENSOR", "WINDSENSOR", "USERDEFINED", "NOTDEFINED" }; + if ( v < 0 || v >= 25 ) throw IfcException("Unable to find find keyword in schema"); + const char* names[] = { "CO2SENSOR", "CONDUCTANCESENSOR", "CONTACTSENSOR", "FIRESENSOR", "FLOWSENSOR", "FROSTSENSOR", "GASSENSOR", "HEATSENSOR", "HUMIDITYSENSOR", "IDENTIFIERSENSOR", "IONCONCENTRATIONSENSOR", "LEVELSENSOR", "LIGHTSENSOR", "MOISTURESENSOR", "MOVEMENTSENSOR", "PHSENSOR", "PRESSURESENSOR", "RADIATIONSENSOR", "RADIOACTIVITYSENSOR", "SMOKESENSOR", "SOUNDSENSOR", "TEMPERATURESENSOR", "WINDSENSOR", "USERDEFINED", "NOTDEFINED" }; return names[v]; } IfcSensorTypeEnum::IfcSensorTypeEnum IfcSensorTypeEnum::FromString(const std::string& s) { + if (s == "CO2SENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CO2SENSOR; if (s == "CONDUCTANCESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CONDUCTANCESENSOR; if (s == "CONTACTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_CONTACTSENSOR; if (s == "FIRESENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FIRESENSOR; if (s == "FLOWSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FLOWSENSOR; + if (s == "FROSTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_FROSTSENSOR; if (s == "GASSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_GASSENSOR; if (s == "HEATSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_HEATSENSOR; if (s == "HUMIDITYSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_HUMIDITYSENSOR; + if (s == "IDENTIFIERSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_IDENTIFIERSENSOR; if (s == "IONCONCENTRATIONSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_IONCONCENTRATIONSENSOR; if (s == "LEVELSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_LEVELSENSOR; if (s == "LIGHTSENSOR") return ::Ifc4::IfcSensorTypeEnum::IfcSensorType_LIGHTSENSOR; @@ -6551,6 +6569,16 @@ IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(IfcAbstractEntity* e) { ent IfcAngularVelocityMeasure::IfcAngularVelocityMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAngularVelocityMeasure); e->setArgument(0, v); entity = e; } IfcAngularVelocityMeasure::operator double() const { return *entity->getArgument(0); } +// Function implementations for IfcArcIndex +IfcUtil::ArgumentType IfcArcIndex::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } +Argument* IfcArcIndex::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcArcIndex::is(Type::Enum v) const { return v == IfcArcIndex::Class(); } +Type::Enum IfcArcIndex::type() const { return Type::IfcArcIndex; } +Type::Enum IfcArcIndex::Class() { return Type::IfcArcIndex; } +IfcArcIndex::IfcArcIndex(IfcAbstractEntity* e) { entity = e; } +IfcArcIndex::IfcArcIndex(std::vector< int > /*[3:3]*/ v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcArcIndex); e->setArgument(0, v); entity = e; } +IfcArcIndex::operator std::vector< int > /*[3:3]*/() const { return *entity->getArgument(0); } + // Function implementations for IfcAreaDensityMeasure IfcUtil::ArgumentType IfcAreaDensityMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } Argument* IfcAreaDensityMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } @@ -6571,6 +6599,16 @@ IfcAreaMeasure::IfcAreaMeasure(IfcAbstractEntity* e) { entity = e; } IfcAreaMeasure::IfcAreaMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcAreaMeasure); e->setArgument(0, v); entity = e; } IfcAreaMeasure::operator double() const { return *entity->getArgument(0); } +// Function implementations for IfcBinary +IfcUtil::ArgumentType IfcBinary::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_BINARY; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } +Argument* IfcBinary::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcBinary::is(Type::Enum v) const { return v == IfcBinary::Class(); } +Type::Enum IfcBinary::type() const { return Type::IfcBinary; } +Type::Enum IfcBinary::Class() { return Type::IfcBinary; } +IfcBinary::IfcBinary(IfcAbstractEntity* e) { entity = e; } +IfcBinary::IfcBinary(boost::dynamic_bitset<> v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcBinary); e->setArgument(0, v); entity = e; } +IfcBinary::operator boost::dynamic_bitset<>() const { return *entity->getArgument(0); } + // Function implementations for IfcBoolean IfcUtil::ArgumentType IfcBoolean::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_BOOL; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } Argument* IfcBoolean::getArgument(unsigned int i) const { return entity->getArgument(i); } @@ -7001,6 +7039,16 @@ IfcLengthMeasure::IfcLengthMeasure(IfcAbstractEntity* e) { entity = e; } IfcLengthMeasure::IfcLengthMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLengthMeasure); e->setArgument(0, v); entity = e; } IfcLengthMeasure::operator double() const { return *entity->getArgument(0); } +// Function implementations for IfcLineIndex +IfcUtil::ArgumentType IfcLineIndex::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } +Argument* IfcLineIndex::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcLineIndex::is(Type::Enum v) const { return v == IfcLineIndex::Class(); } +Type::Enum IfcLineIndex::type() const { return Type::IfcLineIndex; } +Type::Enum IfcLineIndex::Class() { return Type::IfcLineIndex; } +IfcLineIndex::IfcLineIndex(IfcAbstractEntity* e) { entity = e; } +IfcLineIndex::IfcLineIndex(std::vector< int > /*[2:?]*/ v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcLineIndex); e->setArgument(0, v); entity = e; } +IfcLineIndex::operator std::vector< int > /*[2:?]*/() const { return *entity->getArgument(0); } + // Function implementations for IfcLinearForceMeasure IfcUtil::ArgumentType IfcLinearForceMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } Argument* IfcLinearForceMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } @@ -7301,6 +7349,16 @@ IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(IfcAbstractEntity* e) { entity = e; } IfcPlaneAngleMeasure::IfcPlaneAngleMeasure(double v) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPlaneAngleMeasure); e->setArgument(0, v); entity = e; } IfcPlaneAngleMeasure::operator double() const { return *entity->getArgument(0); } +// Function implementations for IfcPositiveInteger +IfcUtil::ArgumentType IfcPositiveInteger::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_INT; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } +Argument* IfcPositiveInteger::getArgument(unsigned int i) const { return entity->getArgument(i); } +bool IfcPositiveInteger::is(Type::Enum v) const { return v == Type::IfcPositiveInteger || IfcInteger::is(v); } +Type::Enum IfcPositiveInteger::type() const { return Type::IfcPositiveInteger; } +Type::Enum IfcPositiveInteger::Class() { return Type::IfcPositiveInteger; } +IfcPositiveInteger::IfcPositiveInteger(IfcAbstractEntity* e) : IfcInteger((IfcAbstractEntity*)0) { entity = e; } +IfcPositiveInteger::IfcPositiveInteger(int v) : IfcInteger((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Type::IfcPositiveInteger); e->setArgument(0, v); entity = e; } +IfcPositiveInteger::operator int() const { return *entity->getArgument(0); } + // Function implementations for IfcPositiveLengthMeasure IfcUtil::ArgumentType IfcPositiveLengthMeasure::getArgumentType(unsigned int i) const { if (i == 0) { return IfcUtil::Argument_DOUBLE; } else { throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } } Argument* IfcPositiveLengthMeasure::getArgument(unsigned int i) const { return entity->getArgument(i); } @@ -8529,7 +8587,6 @@ IfcBuilding::IfcBuilding(IfcAbstractEntity* e) : IfcSpatialStructureElement((Ifc IfcBuilding::IfcBuilding(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_LongName, boost::optional< IfcElementCompositionEnum::IfcElementCompositionEnum > v9_CompositionType, boost::optional< double > v10_ElevationOfRefHeight, boost::optional< double > v11_ElevationOfTerrain, IfcPostalAddress* v12_BuildingAddress) : IfcSpatialStructureElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_LongName) { e->setArgument(7,(*v8_LongName)); } else { e->setArgument(7); } if (v9_CompositionType) { e->setArgument(8,*v9_CompositionType,IfcElementCompositionEnum::ToString(*v9_CompositionType)); } else { e->setArgument(8); } if (v10_ElevationOfRefHeight) { e->setArgument(9,(*v10_ElevationOfRefHeight)); } else { e->setArgument(9); } if (v11_ElevationOfTerrain) { e->setArgument(10,(*v11_ElevationOfTerrain)); } else { e->setArgument(10); } e->setArgument(11,(v12_BuildingAddress)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBuildingElement -IfcRelCoversBldgElements::list::ptr IfcBuildingElement::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversBldgElements, 4)->as(); } bool IfcBuildingElement::is(Type::Enum v) const { return v == Type::IfcBuildingElement || IfcElement::is(v); } Type::Enum IfcBuildingElement::type() const { return Type::IfcBuildingElement; } Type::Enum IfcBuildingElement::Class() { return Type::IfcBuildingElement; } @@ -8595,11 +8652,14 @@ IfcBuildingStorey::IfcBuildingStorey(std::string v1_GlobalId, IfcOwnerHistory* v bool IfcBuildingSystem::hasPredefinedType() const { return !entity->getArgument(5)->isNull(); } IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum IfcBuildingSystem::PredefinedType() const { return IfcBuildingSystemTypeEnum::FromString(*entity->getArgument(5)); } void IfcBuildingSystem::setPredefinedType(IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v,IfcBuildingSystemTypeEnum::ToString(v)); } +bool IfcBuildingSystem::hasLongName() const { return !entity->getArgument(6)->isNull(); } +std::string IfcBuildingSystem::LongName() const { return *entity->getArgument(6); } +void IfcBuildingSystem::setLongName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(6,v); } bool IfcBuildingSystem::is(Type::Enum v) const { return v == Type::IfcBuildingSystem || IfcSystem::is(v); } Type::Enum IfcBuildingSystem::type() const { return Type::IfcBuildingSystem; } Type::Enum IfcBuildingSystem::Class() { return Type::IfcBuildingSystem; } IfcBuildingSystem::IfcBuildingSystem(IfcAbstractEntity* e) : IfcSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcBuildingSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } entity = e; EntityBuffer::Add(this); } +IfcBuildingSystem::IfcBuildingSystem(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType, boost::optional< std::string > v7_LongName) : IfcSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } if (v6_PredefinedType) { e->setArgument(5,*v6_PredefinedType,IfcBuildingSystemTypeEnum::ToString(*v6_PredefinedType)); } else { e->setArgument(5); } if (v7_LongName) { e->setArgument(6,(*v7_LongName)); } else { e->setArgument(6); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcBurner bool IfcBurner::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -8730,6 +8790,15 @@ Type::Enum IfcCartesianPointList::Class() { return Type::IfcCartesianPointList; IfcCartesianPointList::IfcCartesianPointList(IfcAbstractEntity* e) : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPointList)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcCartesianPointList::IfcCartesianPointList() : IfcGeometricRepresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); entity = e; EntityBuffer::Add(this); } +// Function implementations for IfcCartesianPointList2D +std::vector< std::vector< double > > IfcCartesianPointList2D::CoordList() const { return *entity->getArgument(0); } +void IfcCartesianPointList2D::setCoordList(std::vector< std::vector< double > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +bool IfcCartesianPointList2D::is(Type::Enum v) const { return v == Type::IfcCartesianPointList2D || IfcCartesianPointList::is(v); } +Type::Enum IfcCartesianPointList2D::type() const { return Type::IfcCartesianPointList2D; } +Type::Enum IfcCartesianPointList2D::Class() { return Type::IfcCartesianPointList2D; } +IfcCartesianPointList2D::IfcCartesianPointList2D(IfcAbstractEntity* e) : IfcCartesianPointList((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcCartesianPointList2D)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcCartesianPointList2D::IfcCartesianPointList2D(std::vector< std::vector< double > > v1_CoordList) : IfcCartesianPointList((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_CoordList)); entity = e; EntityBuffer::Add(this); } + // Function implementations for IfcCartesianPointList3D std::vector< std::vector< double > > IfcCartesianPointList3D::CoordList() const { return *entity->getArgument(0); } void IfcCartesianPointList3D::setCoordList(std::vector< std::vector< double > > v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } @@ -9482,22 +9551,23 @@ IfcCoordinateOperation::IfcCoordinateOperation(IfcAbstractEntity* e) : IfcUtil:: IfcCoordinateOperation::IfcCoordinateOperation(IfcCoordinateReferenceSystemSelect* v1_SourceCRS, IfcCoordinateReferenceSystem* v2_TargetCRS) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_SourceCRS)); e->setArgument(1,(v2_TargetCRS)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCoordinateReferenceSystem -bool IfcCoordinateReferenceSystem::hasName() const { return !entity->getArgument(0)->isNull(); } std::string IfcCoordinateReferenceSystem::Name() const { return *entity->getArgument(0); } void IfcCoordinateReferenceSystem::setName(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } bool IfcCoordinateReferenceSystem::hasDescription() const { return !entity->getArgument(1)->isNull(); } std::string IfcCoordinateReferenceSystem::Description() const { return *entity->getArgument(1); } void IfcCoordinateReferenceSystem::setDescription(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +bool IfcCoordinateReferenceSystem::hasGeodeticDatum() const { return !entity->getArgument(2)->isNull(); } std::string IfcCoordinateReferenceSystem::GeodeticDatum() const { return *entity->getArgument(2); } void IfcCoordinateReferenceSystem::setGeodeticDatum(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } bool IfcCoordinateReferenceSystem::hasVerticalDatum() const { return !entity->getArgument(3)->isNull(); } std::string IfcCoordinateReferenceSystem::VerticalDatum() const { return *entity->getArgument(3); } void IfcCoordinateReferenceSystem::setVerticalDatum(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(3,v); } +IfcCoordinateOperation::list::ptr IfcCoordinateReferenceSystem::HasCoordinateOperation() const { return entity->getInverse(Type::IfcCoordinateOperation, 0)->as(); } bool IfcCoordinateReferenceSystem::is(Type::Enum v) const { return v == Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::type() const { return Type::IfcCoordinateReferenceSystem; } Type::Enum IfcCoordinateReferenceSystem::Class() { return Type::IfcCoordinateReferenceSystem; } IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(IfcAbstractEntity* e) : IfcUtil::IfcBaseEntity() { if (!e) return; if (!e->is(Type::IfcCoordinateReferenceSystem)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } +IfcCoordinateReferenceSystem::IfcCoordinateReferenceSystem(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum) : IfcUtil::IfcBaseEntity() { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_GeodeticDatum) { e->setArgument(2,(*v3_GeodeticDatum)); } else { e->setArgument(2); } if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcCostItem bool IfcCostItem::hasPredefinedType() const { return !entity->getArgument(6)->isNull(); } @@ -10388,6 +10458,7 @@ IfcRelConnectsWithRealizingElements::list::ptr IfcElement::IsConnectionRealizati IfcRelSpaceBoundary::list::ptr IfcElement::ProvidesBoundaries() const { return entity->getInverse(Type::IfcRelSpaceBoundary, 5)->as(); } IfcRelConnectsElements::list::ptr IfcElement::ConnectedFrom() const { return entity->getInverse(Type::IfcRelConnectsElements, 6)->as(); } IfcRelContainedInSpatialStructure::list::ptr IfcElement::ContainedInStructure() const { return entity->getInverse(Type::IfcRelContainedInSpatialStructure, 4)->as(); } +IfcRelCoversBldgElements::list::ptr IfcElement::HasCoverings() const { return entity->getInverse(Type::IfcRelCoversBldgElements, 4)->as(); } bool IfcElement::is(Type::Enum v) const { return v == Type::IfcElement || IfcProduct::is(v); } Type::Enum IfcElement::type() const { return Type::IfcElement; } Type::Enum IfcElement::Class() { return Type::IfcElement; } @@ -11193,6 +11264,7 @@ bool IfcGeometricRepresentationContext::hasTrueNorth() const { return !entity->g IfcDirection* IfcGeometricRepresentationContext::TrueNorth() const { return (IfcDirection*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(5))); } void IfcGeometricRepresentationContext::setTrueNorth(IfcDirection* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(5,v); } IfcGeometricRepresentationSubContext::list::ptr IfcGeometricRepresentationContext::HasSubContexts() const { return entity->getInverse(Type::IfcGeometricRepresentationSubContext, 6)->as(); } +IfcCoordinateOperation::list::ptr IfcGeometricRepresentationContext::HasCoordinateOperation() const { return entity->getInverse(Type::IfcCoordinateOperation, 0)->as(); } bool IfcGeometricRepresentationContext::is(Type::Enum v) const { return v == Type::IfcGeometricRepresentationContext || IfcRepresentationContext::is(v); } Type::Enum IfcGeometricRepresentationContext::type() const { return Type::IfcGeometricRepresentationContext; } Type::Enum IfcGeometricRepresentationContext::Class() { return Type::IfcGeometricRepresentationContext; } @@ -11386,6 +11458,21 @@ Type::Enum IfcIndexedColourMap::Class() { return Type::IfcIndexedColourMap; } IfcIndexedColourMap::IfcIndexedColourMap(IfcAbstractEntity* e) : IfcPresentationItem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedColourMap)) throw IfcException("Unable to find find keyword in schema"); entity = e; } IfcIndexedColourMap::IfcIndexedColourMap(IfcTessellatedFaceSet* v1_MappedTo, IfcSurfaceStyleShading* v2_Overrides, IfcColourRgbList* v3_Colours, std::vector< int > /*[1:?]*/ v4_ColourIndex) : IfcPresentationItem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_MappedTo)); e->setArgument(1,(v2_Overrides)); e->setArgument(2,(v3_Colours)); e->setArgument(3,(v4_ColourIndex)); entity = e; EntityBuffer::Add(this); } +// Function implementations for IfcIndexedPolyCurve +IfcCartesianPointList* IfcIndexedPolyCurve::Points() const { return (IfcCartesianPointList*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(0))); } +void IfcIndexedPolyCurve::setPoints(IfcCartesianPointList* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(0,v); } +bool IfcIndexedPolyCurve::hasSegments() const { return !entity->getArgument(1)->isNull(); } +IfcEntityList::ptr IfcIndexedPolyCurve::Segments() const { return *entity->getArgument(1); } +void IfcIndexedPolyCurve::setSegments(IfcEntityList::ptr v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } +bool IfcIndexedPolyCurve::hasSelfIntersect() const { return !entity->getArgument(2)->isNull(); } +bool IfcIndexedPolyCurve::SelfIntersect() const { return *entity->getArgument(2); } +void IfcIndexedPolyCurve::setSelfIntersect(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(2,v); } +bool IfcIndexedPolyCurve::is(Type::Enum v) const { return v == Type::IfcIndexedPolyCurve || IfcBoundedCurve::is(v); } +Type::Enum IfcIndexedPolyCurve::type() const { return Type::IfcIndexedPolyCurve; } +Type::Enum IfcIndexedPolyCurve::Class() { return Type::IfcIndexedPolyCurve; } +IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcAbstractEntity* e) : IfcBoundedCurve((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcIndexedPolyCurve)) throw IfcException("Unable to find find keyword in schema"); entity = e; } +IfcIndexedPolyCurve::IfcIndexedPolyCurve(IfcCartesianPointList* v1_Points, boost::optional< IfcEntityList::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect) : IfcBoundedCurve((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Points)); if (v2_Segments) { e->setArgument(1,(*v2_Segments)); } else { e->setArgument(1); } if (v3_SelfIntersect) { e->setArgument(2,(*v3_SelfIntersect)); } else { e->setArgument(2); } entity = e; EntityBuffer::Add(this); } + // Function implementations for IfcIndexedTextureMap IfcTessellatedFaceSet* IfcIndexedTextureMap::MappedTo() const { return (IfcTessellatedFaceSet*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(1))); } void IfcIndexedTextureMap::setMappedTo(IfcTessellatedFaceSet* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } @@ -12177,6 +12264,7 @@ void IfcMetric::setBenchmark(IfcBenchmarkEnum::IfcBenchmarkEnum v) { if ( ! enti bool IfcMetric::hasValueSource() const { return !entity->getArgument(8)->isNull(); } std::string IfcMetric::ValueSource() const { return *entity->getArgument(8); } void IfcMetric::setValueSource(std::string v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +bool IfcMetric::hasDataValue() const { return !entity->getArgument(9)->isNull(); } IfcMetricValueSelect* IfcMetric::DataValue() const { return (IfcMetricValueSelect*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(9))); } void IfcMetric::setDataValue(IfcMetricValueSelect* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } bool IfcMetric::hasReferencePath() const { return !entity->getArgument(10)->isNull(); } @@ -13094,7 +13182,7 @@ bool IfcProjectedCRS::is(Type::Enum v) const { return v == Type::IfcProjectedCRS Type::Enum IfcProjectedCRS::type() const { return Type::IfcProjectedCRS; } Type::Enum IfcProjectedCRS::Class() { return Type::IfcProjectedCRS; } IfcProjectedCRS::IfcProjectedCRS(IfcAbstractEntity* e) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcProjectedCRS)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcProjectedCRS::IfcProjectedCRS(boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } e->setArgument(2,(v3_GeodeticDatum)); if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } e->setArgument(6,(v7_MapUnit)); entity = e; EntityBuffer::Add(this); } +IfcProjectedCRS::IfcProjectedCRS(std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit) : IfcCoordinateReferenceSystem((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_Name)); if (v2_Description) { e->setArgument(1,(*v2_Description)); } else { e->setArgument(1); } if (v3_GeodeticDatum) { e->setArgument(2,(*v3_GeodeticDatum)); } else { e->setArgument(2); } if (v4_VerticalDatum) { e->setArgument(3,(*v4_VerticalDatum)); } else { e->setArgument(3); } if (v5_MapProjection) { e->setArgument(4,(*v5_MapProjection)); } else { e->setArgument(4); } if (v6_MapZone) { e->setArgument(5,(*v6_MapZone)); } else { e->setArgument(5); } e->setArgument(6,(v7_MapUnit)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcProjectionElement bool IfcProjectionElement::hasPredefinedType() const { return !entity->getArgument(8)->isNull(); } @@ -13116,6 +13204,8 @@ IfcPropertySet::list::ptr IfcProperty::PartOfPset() const { return entity->getIn IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyForDependance() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship, 2)->as(); } IfcPropertyDependencyRelationship::list::ptr IfcProperty::PropertyDependsOn() const { return entity->getInverse(Type::IfcPropertyDependencyRelationship, 3)->as(); } IfcComplexProperty::list::ptr IfcProperty::PartOfComplex() const { return entity->getInverse(Type::IfcComplexProperty, 3)->as(); } +IfcResourceConstraintRelationship::list::ptr IfcProperty::HasConstraints() const { return entity->getInverse(Type::IfcResourceConstraintRelationship, 3)->as(); } +IfcResourceApprovalRelationship::list::ptr IfcProperty::HasApprovals() const { return entity->getInverse(Type::IfcResourceApprovalRelationship, 2)->as(); } bool IfcProperty::is(Type::Enum v) const { return v == Type::IfcProperty || IfcPropertyAbstraction::is(v); } Type::Enum IfcProperty::type() const { return Type::IfcProperty; } Type::Enum IfcProperty::Class() { return Type::IfcProperty; } @@ -14014,10 +14104,10 @@ IfcRelConnectsElements::IfcRelConnectsElements(IfcAbstractEntity* e) : IfcRelCon IfcRelConnectsElements::IfcRelConnectsElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement) : IfcRelConnects((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPathElements -std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() const { return *entity->getArgument(7); } -void IfcRelConnectsPathElements::setRelatingPriorities(std::vector< double > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } -std::vector< double > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() const { return *entity->getArgument(8); } -void IfcRelConnectsPathElements::setRelatedPriorities(std::vector< double > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatingPriorities() const { return *entity->getArgument(7); } +void IfcRelConnectsPathElements::setRelatingPriorities(std::vector< int > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(7,v); } +std::vector< int > /*[0:?]*/ IfcRelConnectsPathElements::RelatedPriorities() const { return *entity->getArgument(8); } +void IfcRelConnectsPathElements::setRelatedPriorities(std::vector< int > /*[0:?]*/ v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatedConnectionType() const { return IfcConnectionTypeEnum::FromString(*entity->getArgument(9)); } void IfcRelConnectsPathElements::setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v,IfcConnectionTypeEnum::ToString(v)); } IfcConnectionTypeEnum::IfcConnectionTypeEnum IfcRelConnectsPathElements::RelatingConnectionType() const { return IfcConnectionTypeEnum::FromString(*entity->getArgument(10)); } @@ -14026,7 +14116,7 @@ bool IfcRelConnectsPathElements::is(Type::Enum v) const { return v == Type::IfcR Type::Enum IfcRelConnectsPathElements::type() const { return Type::IfcRelConnectsPathElements; } Type::Enum IfcRelConnectsPathElements::Class() { return Type::IfcRelConnectsPathElements; } IfcRelConnectsPathElements::IfcRelConnectsPathElements(IfcAbstractEntity* e) : IfcRelConnectsElements((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcRelConnectsPathElements)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } +IfcRelConnectsPathElements::IfcRelConnectsPathElements(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType) : IfcRelConnectsElements((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } e->setArgument(4,(v5_ConnectionGeometry)); e->setArgument(5,(v6_RelatingElement)); e->setArgument(6,(v7_RelatedElement)); e->setArgument(7,(v8_RelatingPriorities)); e->setArgument(8,(v9_RelatedPriorities)); e->setArgument(9,v10_RelatedConnectionType,IfcConnectionTypeEnum::ToString(v10_RelatedConnectionType)); e->setArgument(10,v11_RelatingConnectionType,IfcConnectionTypeEnum::ToString(v11_RelatingConnectionType)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcRelConnectsPortToElement IfcPort* IfcRelConnectsPortToElement::RelatingPort() const { return (IfcPort*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(4))); } @@ -15085,9 +15175,9 @@ IfcStair::IfcStair(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity IfcStair::IfcStair(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< IfcStairTypeEnum::IfcStairTypeEnum > v9_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_PredefinedType) { e->setArgument(8,*v9_PredefinedType,IfcStairTypeEnum::ToString(*v9_PredefinedType)); } else { e->setArgument(8); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlight -bool IfcStairFlight::hasNumberOfRiser() const { return !entity->getArgument(8)->isNull(); } -int IfcStairFlight::NumberOfRiser() const { return *entity->getArgument(8); } -void IfcStairFlight::setNumberOfRiser(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } +bool IfcStairFlight::hasNumberOfRisers() const { return !entity->getArgument(8)->isNull(); } +int IfcStairFlight::NumberOfRisers() const { return *entity->getArgument(8); } +void IfcStairFlight::setNumberOfRisers(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(8,v); } bool IfcStairFlight::hasNumberOfTreads() const { return !entity->getArgument(9)->isNull(); } int IfcStairFlight::NumberOfTreads() const { return *entity->getArgument(9); } void IfcStairFlight::setNumberOfTreads(int v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(9,v); } @@ -15104,7 +15194,7 @@ bool IfcStairFlight::is(Type::Enum v) const { return v == Type::IfcStairFlight | Type::Enum IfcStairFlight::type() const { return Type::IfcStairFlight; } Type::Enum IfcStairFlight::Class() { return Type::IfcStairFlight; } IfcStairFlight::IfcStairFlight(IfcAbstractEntity* e) : IfcBuildingElement((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcStairFlight)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRiser) { e->setArgument(8,(*v9_NumberOfRiser)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } +IfcStairFlight::IfcStairFlight(std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType) : IfcBuildingElement((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); e->setArgument(0,(v1_GlobalId)); e->setArgument(1,(v2_OwnerHistory)); if (v3_Name) { e->setArgument(2,(*v3_Name)); } else { e->setArgument(2); } if (v4_Description) { e->setArgument(3,(*v4_Description)); } else { e->setArgument(3); } if (v5_ObjectType) { e->setArgument(4,(*v5_ObjectType)); } else { e->setArgument(4); } e->setArgument(5,(v6_ObjectPlacement)); e->setArgument(6,(v7_Representation)); if (v8_Tag) { e->setArgument(7,(*v8_Tag)); } else { e->setArgument(7); } if (v9_NumberOfRisers) { e->setArgument(8,(*v9_NumberOfRisers)); } else { e->setArgument(8); } if (v10_NumberOfTreads) { e->setArgument(9,(*v10_NumberOfTreads)); } else { e->setArgument(9); } if (v11_RiserHeight) { e->setArgument(10,(*v11_RiserHeight)); } else { e->setArgument(10); } if (v12_TreadLength) { e->setArgument(11,(*v12_TreadLength)); } else { e->setArgument(11); } if (v13_PredefinedType) { e->setArgument(12,*v13_PredefinedType,IfcStairFlightTypeEnum::ToString(*v13_PredefinedType)); } else { e->setArgument(12); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcStairFlightType IfcStairFlightTypeEnum::IfcStairFlightTypeEnum IfcStairFlightType::PredefinedType() const { return IfcStairFlightTypeEnum::FromString(*entity->getArgument(9)); } @@ -15965,7 +16055,6 @@ void IfcTableRow::setRowCells(IfcEntityList::ptr v) { if ( ! entity->isWritable( bool IfcTableRow::hasIsHeading() const { return !entity->getArgument(1)->isNull(); } bool IfcTableRow::IsHeading() const { return *entity->getArgument(1); } void IfcTableRow::setIsHeading(bool v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(1,v); } -IfcTable::list::ptr IfcTableRow::OfTable() const { return entity->getInverse(Type::IfcTable, 1)->as(); } bool IfcTableRow::is(Type::Enum v) const { return v == Type::IfcTableRow; } Type::Enum IfcTableRow::type() const { return Type::IfcTableRow; } Type::Enum IfcTableRow::Class() { return Type::IfcTableRow; } @@ -16074,13 +16163,13 @@ IfcTaskTime::IfcTaskTime(IfcAbstractEntity* e) : IfcSchedulingTime((IfcAbstractE IfcTaskTime::IfcTaskTime(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion) : IfcSchedulingTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskTimeRecurring -IfcRecurrencePattern* IfcTaskTimeRecurring::Recurrance() const { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(20))); } -void IfcTaskTimeRecurring::setRecurrance(IfcRecurrencePattern* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } +IfcRecurrencePattern* IfcTaskTimeRecurring::Recurrence() const { return (IfcRecurrencePattern*)((IfcUtil::IfcBaseClass*)(*entity->getArgument(20))); } +void IfcTaskTimeRecurring::setRecurrence(IfcRecurrencePattern* v) { if ( ! entity->isWritable() ) { entity = new IfcWritableEntity(entity); } ((IfcWritableEntity*)entity)->setArgument(20,v); } bool IfcTaskTimeRecurring::is(Type::Enum v) const { return v == Type::IfcTaskTimeRecurring || IfcTaskTime::is(v); } Type::Enum IfcTaskTimeRecurring::type() const { return Type::IfcTaskTimeRecurring; } Type::Enum IfcTaskTimeRecurring::Class() { return Type::IfcTaskTimeRecurring; } IfcTaskTimeRecurring::IfcTaskTimeRecurring(IfcAbstractEntity* e) : IfcTaskTime((IfcAbstractEntity*)0) { if (!e) return; if (!e->is(Type::IfcTaskTimeRecurring)) throw IfcException("Unable to find find keyword in schema"); entity = e; } -IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrance) : IfcTaskTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } e->setArgument(20,(v21_Recurrance)); entity = e; EntityBuffer::Add(this); } +IfcTaskTimeRecurring::IfcTaskTimeRecurring(boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrence) : IfcTaskTime((IfcAbstractEntity*)0) { IfcWritableEntity* e = new IfcWritableEntity(Class()); if (v1_Name) { e->setArgument(0,(*v1_Name)); } else { e->setArgument(0); } if (v2_DataOrigin) { e->setArgument(1,*v2_DataOrigin,IfcDataOriginEnum::ToString(*v2_DataOrigin)); } else { e->setArgument(1); } if (v3_UserDefinedDataOrigin) { e->setArgument(2,(*v3_UserDefinedDataOrigin)); } else { e->setArgument(2); } if (v4_DurationType) { e->setArgument(3,*v4_DurationType,IfcTaskDurationEnum::ToString(*v4_DurationType)); } else { e->setArgument(3); } if (v5_ScheduleDuration) { e->setArgument(4,(*v5_ScheduleDuration)); } else { e->setArgument(4); } if (v6_ScheduleStart) { e->setArgument(5,(*v6_ScheduleStart)); } else { e->setArgument(5); } if (v7_ScheduleFinish) { e->setArgument(6,(*v7_ScheduleFinish)); } else { e->setArgument(6); } if (v8_EarlyStart) { e->setArgument(7,(*v8_EarlyStart)); } else { e->setArgument(7); } if (v9_EarlyFinish) { e->setArgument(8,(*v9_EarlyFinish)); } else { e->setArgument(8); } if (v10_LateStart) { e->setArgument(9,(*v10_LateStart)); } else { e->setArgument(9); } if (v11_LateFinish) { e->setArgument(10,(*v11_LateFinish)); } else { e->setArgument(10); } if (v12_FreeFloat) { e->setArgument(11,(*v12_FreeFloat)); } else { e->setArgument(11); } if (v13_TotalFloat) { e->setArgument(12,(*v13_TotalFloat)); } else { e->setArgument(12); } if (v14_IsCritical) { e->setArgument(13,(*v14_IsCritical)); } else { e->setArgument(13); } if (v15_StatusTime) { e->setArgument(14,(*v15_StatusTime)); } else { e->setArgument(14); } if (v16_ActualDuration) { e->setArgument(15,(*v16_ActualDuration)); } else { e->setArgument(15); } if (v17_ActualStart) { e->setArgument(16,(*v17_ActualStart)); } else { e->setArgument(16); } if (v18_ActualFinish) { e->setArgument(17,(*v18_ActualFinish)); } else { e->setArgument(17); } if (v19_RemainingTime) { e->setArgument(18,(*v19_RemainingTime)); } else { e->setArgument(18); } if (v20_Completion) { e->setArgument(19,(*v20_Completion)); } else { e->setArgument(19); } e->setArgument(20,(v21_Recurrence)); entity = e; EntityBuffer::Add(this); } // Function implementations for IfcTaskType IfcTaskTypeEnum::IfcTaskTypeEnum IfcTaskType::PredefinedType() const { return IfcTaskTypeEnum::FromString(*entity->getArgument(9)); } diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 23fc195b8a..fde2c32895 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -48,7 +48,7 @@ namespace Ifc4 { const char* const Identifier = "IFC4"; // Forward definitions -class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; +class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; class IfcActuatorType; class IfcAddress; class IfcAdvancedBrep; class IfcAdvancedBrepWithVoids; class IfcAdvancedFace; class IfcAirTerminal; class IfcAirTerminalBox; class IfcAirTerminalBoxType; class IfcAirTerminalType; class IfcAirToAirHeatRecovery; class IfcAirToAirHeatRecoveryType; class IfcAlarm; class IfcAlarmType; class IfcAnnotation; class IfcAnnotationFillArea; class IfcApplication; class IfcAppliedValue; class IfcApproval; class IfcApprovalRelationship; class IfcArbitraryClosedProfileDef; class IfcArbitraryOpenProfileDef; class IfcArbitraryProfileDefWithVoids; class IfcAsset; class IfcAsymmetricIShapeProfileDef; class IfcAudioVisualAppliance; class IfcAudioVisualApplianceType; class IfcAxis1Placement; class IfcAxis2Placement2D; class IfcAxis2Placement3D; class IfcBSplineCurve; class IfcBSplineCurveWithKnots; class IfcBSplineSurface; class IfcBSplineSurfaceWithKnots; class IfcBeam; class IfcBeamStandardCase; class IfcBeamType; class IfcBlobTexture; class IfcBlock; class IfcBoiler; class IfcBoilerType; class IfcBooleanClippingResult; class IfcBooleanResult; class IfcBoundaryCondition; class IfcBoundaryCurve; class IfcBoundaryEdgeCondition; class IfcBoundaryFaceCondition; class IfcBoundaryNodeCondition; class IfcBoundaryNodeConditionWarping; class IfcBoundedCurve; class IfcBoundedSurface; class IfcBoundingBox; class IfcBoxedHalfSpace; class IfcBuilding; class IfcBuildingElement; class IfcBuildingElementPart; class IfcBuildingElementPartType; class IfcBuildingElementProxy; class IfcBuildingElementProxyType; class IfcBuildingElementType; class IfcBuildingStorey; class IfcBuildingSystem; class IfcBurner; class IfcBurnerType; class IfcCShapeProfileDef; class IfcCableCarrierFitting; class IfcCableCarrierFittingType; class IfcCableCarrierSegment; class IfcCableCarrierSegmentType; class IfcCableFitting; class IfcCableFittingType; class IfcCableSegment; class IfcCableSegmentType; class IfcCartesianPoint; class IfcCartesianPointList; class IfcCartesianPointList2D; class IfcCartesianPointList3D; class IfcCartesianTransformationOperator; class IfcCartesianTransformationOperator2D; class IfcCartesianTransformationOperator2DnonUniform; class IfcCartesianTransformationOperator3D; class IfcCartesianTransformationOperator3DnonUniform; class IfcCenterLineProfileDef; class IfcChiller; class IfcChillerType; class IfcChimney; class IfcChimneyType; class IfcCircle; class IfcCircleHollowProfileDef; class IfcCircleProfileDef; class IfcCivilElement; class IfcCivilElementType; class IfcClassification; class IfcClassificationReference; class IfcClosedShell; class IfcCoil; class IfcCoilType; class IfcColourRgb; class IfcColourRgbList; class IfcColourSpecification; class IfcColumn; class IfcColumnStandardCase; class IfcColumnType; class IfcCommunicationsAppliance; class IfcCommunicationsApplianceType; class IfcComplexProperty; class IfcComplexPropertyTemplate; class IfcCompositeCurve; class IfcCompositeCurveOnSurface; class IfcCompositeCurveSegment; class IfcCompositeProfileDef; class IfcCompressor; class IfcCompressorType; class IfcCondenser; class IfcCondenserType; class IfcConic; class IfcConnectedFaceSet; class IfcConnectionCurveGeometry; class IfcConnectionGeometry; class IfcConnectionPointEccentricity; class IfcConnectionPointGeometry; class IfcConnectionSurfaceGeometry; class IfcConnectionVolumeGeometry; class IfcConstraint; class IfcConstructionEquipmentResource; class IfcConstructionEquipmentResourceType; class IfcConstructionMaterialResource; class IfcConstructionMaterialResourceType; class IfcConstructionProductResource; class IfcConstructionProductResourceType; class IfcConstructionResource; class IfcConstructionResourceType; class IfcContext; class IfcContextDependentUnit; class IfcControl; class IfcController; class IfcControllerType; class IfcConversionBasedUnit; class IfcConversionBasedUnitWithOffset; class IfcCooledBeam; class IfcCooledBeamType; class IfcCoolingTower; class IfcCoolingTowerType; class IfcCoordinateOperation; class IfcCoordinateReferenceSystem; class IfcCostItem; class IfcCostSchedule; class IfcCostValue; class IfcCovering; class IfcCoveringType; class IfcCrewResource; class IfcCrewResourceType; class IfcCsgPrimitive3D; class IfcCsgSolid; class IfcCurrencyRelationship; class IfcCurtainWall; class IfcCurtainWallType; class IfcCurve; class IfcCurveBoundedPlane; class IfcCurveBoundedSurface; class IfcCurveStyle; class IfcCurveStyleFont; class IfcCurveStyleFontAndScaling; class IfcCurveStyleFontPattern; class IfcCylindricalSurface; class IfcDamper; class IfcDamperType; class IfcDerivedProfileDef; class IfcDerivedUnit; class IfcDerivedUnitElement; class IfcDimensionalExponents; class IfcDirection; class IfcDiscreteAccessory; class IfcDiscreteAccessoryType; class IfcDistributionChamberElement; class IfcDistributionChamberElementType; class IfcDistributionCircuit; class IfcDistributionControlElement; class IfcDistributionControlElementType; class IfcDistributionElement; class IfcDistributionElementType; class IfcDistributionFlowElement; class IfcDistributionFlowElementType; class IfcDistributionPort; class IfcDistributionSystem; class IfcDocumentInformation; class IfcDocumentInformationRelationship; class IfcDocumentReference; class IfcDoor; class IfcDoorLiningProperties; class IfcDoorPanelProperties; class IfcDoorStandardCase; class IfcDoorStyle; class IfcDoorType; class IfcDraughtingPreDefinedColour; class IfcDraughtingPreDefinedCurveFont; class IfcDuctFitting; class IfcDuctFittingType; class IfcDuctSegment; class IfcDuctSegmentType; class IfcDuctSilencer; class IfcDuctSilencerType; class IfcEdge; class IfcEdgeCurve; class IfcEdgeLoop; class IfcElectricAppliance; class IfcElectricApplianceType; class IfcElectricDistributionBoard; class IfcElectricDistributionBoardType; class IfcElectricFlowStorageDevice; class IfcElectricFlowStorageDeviceType; class IfcElectricGenerator; class IfcElectricGeneratorType; class IfcElectricMotor; class IfcElectricMotorType; class IfcElectricTimeControl; class IfcElectricTimeControlType; class IfcElement; class IfcElementAssembly; class IfcElementAssemblyType; class IfcElementComponent; class IfcElementComponentType; class IfcElementQuantity; class IfcElementType; class IfcElementarySurface; class IfcEllipse; class IfcEllipseProfileDef; class IfcEnergyConversionDevice; class IfcEnergyConversionDeviceType; class IfcEngine; class IfcEngineType; class IfcEvaporativeCooler; class IfcEvaporativeCoolerType; class IfcEvaporator; class IfcEvaporatorType; class IfcEvent; class IfcEventTime; class IfcEventType; class IfcExtendedProperties; class IfcExternalInformation; class IfcExternalReference; class IfcExternalReferenceRelationship; class IfcExternalSpatialElement; class IfcExternalSpatialStructureElement; class IfcExternallyDefinedHatchStyle; class IfcExternallyDefinedSurfaceStyle; class IfcExternallyDefinedTextFont; class IfcExtrudedAreaSolid; class IfcExtrudedAreaSolidTapered; class IfcFace; class IfcFaceBasedSurfaceModel; class IfcFaceBound; class IfcFaceOuterBound; class IfcFaceSurface; class IfcFacetedBrep; class IfcFacetedBrepWithVoids; class IfcFailureConnectionCondition; class IfcFan; class IfcFanType; class IfcFastener; class IfcFastenerType; class IfcFeatureElement; class IfcFeatureElementAddition; class IfcFeatureElementSubtraction; class IfcFillAreaStyle; class IfcFillAreaStyleHatching; class IfcFillAreaStyleTiles; class IfcFilter; class IfcFilterType; class IfcFireSuppressionTerminal; class IfcFireSuppressionTerminalType; class IfcFixedReferenceSweptAreaSolid; class IfcFlowController; class IfcFlowControllerType; class IfcFlowFitting; class IfcFlowFittingType; class IfcFlowInstrument; class IfcFlowInstrumentType; class IfcFlowMeter; class IfcFlowMeterType; class IfcFlowMovingDevice; class IfcFlowMovingDeviceType; class IfcFlowSegment; class IfcFlowSegmentType; class IfcFlowStorageDevice; class IfcFlowStorageDeviceType; class IfcFlowTerminal; class IfcFlowTerminalType; class IfcFlowTreatmentDevice; class IfcFlowTreatmentDeviceType; class IfcFooting; class IfcFootingType; class IfcFurnishingElement; class IfcFurnishingElementType; class IfcFurniture; class IfcFurnitureType; class IfcGeographicElement; class IfcGeographicElementType; class IfcGeometricCurveSet; class IfcGeometricRepresentationContext; class IfcGeometricRepresentationItem; class IfcGeometricRepresentationSubContext; class IfcGeometricSet; class IfcGrid; class IfcGridAxis; class IfcGridPlacement; class IfcGroup; class IfcHalfSpaceSolid; class IfcHeatExchanger; class IfcHeatExchangerType; class IfcHumidifier; class IfcHumidifierType; class IfcIShapeProfileDef; class IfcImageTexture; class IfcIndexedColourMap; class IfcIndexedPolyCurve; class IfcIndexedTextureMap; class IfcIndexedTriangleTextureMap; class IfcInterceptor; class IfcInterceptorType; class IfcInventory; class IfcIrregularTimeSeries; class IfcIrregularTimeSeriesValue; class IfcJunctionBox; class IfcJunctionBoxType; class IfcLShapeProfileDef; class IfcLaborResource; class IfcLaborResourceType; class IfcLagTime; class IfcLamp; class IfcLampType; class IfcLibraryInformation; class IfcLibraryReference; class IfcLightDistributionData; class IfcLightFixture; class IfcLightFixtureType; class IfcLightIntensityDistribution; class IfcLightSource; class IfcLightSourceAmbient; class IfcLightSourceDirectional; class IfcLightSourceGoniometric; class IfcLightSourcePositional; class IfcLightSourceSpot; class IfcLine; class IfcLocalPlacement; class IfcLoop; class IfcManifoldSolidBrep; class IfcMapConversion; class IfcMappedItem; class IfcMaterial; class IfcMaterialClassificationRelationship; class IfcMaterialConstituent; class IfcMaterialConstituentSet; class IfcMaterialDefinition; class IfcMaterialDefinitionRepresentation; class IfcMaterialLayer; class IfcMaterialLayerSet; class IfcMaterialLayerSetUsage; class IfcMaterialLayerWithOffsets; class IfcMaterialList; class IfcMaterialProfile; class IfcMaterialProfileSet; class IfcMaterialProfileSetUsage; class IfcMaterialProfileSetUsageTapering; class IfcMaterialProfileWithOffsets; class IfcMaterialProperties; class IfcMaterialRelationship; class IfcMaterialUsageDefinition; class IfcMeasureWithUnit; class IfcMechanicalFastener; class IfcMechanicalFastenerType; class IfcMedicalDevice; class IfcMedicalDeviceType; class IfcMember; class IfcMemberStandardCase; class IfcMemberType; class IfcMetric; class IfcMirroredProfileDef; class IfcMonetaryUnit; class IfcMotorConnection; class IfcMotorConnectionType; class IfcNamedUnit; class IfcObject; class IfcObjectDefinition; class IfcObjectPlacement; class IfcObjective; class IfcOccupant; class IfcOffsetCurve2D; class IfcOffsetCurve3D; class IfcOpenShell; class IfcOpeningElement; class IfcOpeningStandardCase; class IfcOrganization; class IfcOrganizationRelationship; class IfcOrientedEdge; class IfcOuterBoundaryCurve; class IfcOutlet; class IfcOutletType; class IfcOwnerHistory; class IfcParameterizedProfileDef; class IfcPath; class IfcPcurve; class IfcPerformanceHistory; class IfcPermeableCoveringProperties; class IfcPermit; class IfcPerson; class IfcPersonAndOrganization; class IfcPhysicalComplexQuantity; class IfcPhysicalQuantity; class IfcPhysicalSimpleQuantity; class IfcPile; class IfcPileType; class IfcPipeFitting; class IfcPipeFittingType; class IfcPipeSegment; class IfcPipeSegmentType; class IfcPixelTexture; class IfcPlacement; class IfcPlanarBox; class IfcPlanarExtent; class IfcPlane; class IfcPlate; class IfcPlateStandardCase; class IfcPlateType; class IfcPoint; class IfcPointOnCurve; class IfcPointOnSurface; class IfcPolyLoop; class IfcPolygonalBoundedHalfSpace; class IfcPolyline; class IfcPort; class IfcPostalAddress; class IfcPreDefinedColour; class IfcPreDefinedCurveFont; class IfcPreDefinedItem; class IfcPreDefinedProperties; class IfcPreDefinedPropertySet; class IfcPreDefinedTextFont; class IfcPresentationItem; class IfcPresentationLayerAssignment; class IfcPresentationLayerWithStyle; class IfcPresentationStyle; class IfcPresentationStyleAssignment; class IfcProcedure; class IfcProcedureType; class IfcProcess; class IfcProduct; class IfcProductDefinitionShape; class IfcProductRepresentation; class IfcProfileDef; class IfcProfileProperties; class IfcProject; class IfcProjectLibrary; class IfcProjectOrder; class IfcProjectedCRS; class IfcProjectionElement; class IfcProperty; class IfcPropertyAbstraction; class IfcPropertyBoundedValue; class IfcPropertyDefinition; class IfcPropertyDependencyRelationship; class IfcPropertyEnumeratedValue; class IfcPropertyEnumeration; class IfcPropertyListValue; class IfcPropertyReferenceValue; class IfcPropertySet; class IfcPropertySetDefinition; class IfcPropertySetTemplate; class IfcPropertySingleValue; class IfcPropertyTableValue; class IfcPropertyTemplate; class IfcPropertyTemplateDefinition; class IfcProtectiveDevice; class IfcProtectiveDeviceTrippingUnit; class IfcProtectiveDeviceTrippingUnitType; class IfcProtectiveDeviceType; class IfcProxy; class IfcPump; class IfcPumpType; class IfcQuantityArea; class IfcQuantityCount; class IfcQuantityLength; class IfcQuantitySet; class IfcQuantityTime; class IfcQuantityVolume; class IfcQuantityWeight; class IfcRailing; class IfcRailingType; class IfcRamp; class IfcRampFlight; class IfcRampFlightType; class IfcRampType; class IfcRationalBSplineCurveWithKnots; class IfcRationalBSplineSurfaceWithKnots; class IfcRectangleHollowProfileDef; class IfcRectangleProfileDef; class IfcRectangularPyramid; class IfcRectangularTrimmedSurface; class IfcRecurrencePattern; class IfcReference; class IfcRegularTimeSeries; class IfcReinforcementBarProperties; class IfcReinforcementDefinitionProperties; class IfcReinforcingBar; class IfcReinforcingBarType; class IfcReinforcingElement; class IfcReinforcingElementType; class IfcReinforcingMesh; class IfcReinforcingMeshType; class IfcRelAggregates; class IfcRelAssigns; class IfcRelAssignsToActor; class IfcRelAssignsToControl; class IfcRelAssignsToGroup; class IfcRelAssignsToGroupByFactor; class IfcRelAssignsToProcess; class IfcRelAssignsToProduct; class IfcRelAssignsToResource; class IfcRelAssociates; class IfcRelAssociatesApproval; class IfcRelAssociatesClassification; class IfcRelAssociatesConstraint; class IfcRelAssociatesDocument; class IfcRelAssociatesLibrary; class IfcRelAssociatesMaterial; class IfcRelConnects; class IfcRelConnectsElements; class IfcRelConnectsPathElements; class IfcRelConnectsPortToElement; class IfcRelConnectsPorts; class IfcRelConnectsStructuralActivity; class IfcRelConnectsStructuralMember; class IfcRelConnectsWithEccentricity; class IfcRelConnectsWithRealizingElements; class IfcRelContainedInSpatialStructure; class IfcRelCoversBldgElements; class IfcRelCoversSpaces; class IfcRelDeclares; class IfcRelDecomposes; class IfcRelDefines; class IfcRelDefinesByObject; class IfcRelDefinesByProperties; class IfcRelDefinesByTemplate; class IfcRelDefinesByType; class IfcRelFillsElement; class IfcRelFlowControlElements; class IfcRelInterferesElements; class IfcRelNests; class IfcRelProjectsElement; class IfcRelReferencedInSpatialStructure; class IfcRelSequence; class IfcRelServicesBuildings; class IfcRelSpaceBoundary; class IfcRelSpaceBoundary1stLevel; class IfcRelSpaceBoundary2ndLevel; class IfcRelVoidsElement; class IfcRelationship; class IfcReparametrisedCompositeCurveSegment; class IfcRepresentation; class IfcRepresentationContext; class IfcRepresentationItem; class IfcRepresentationMap; class IfcResource; class IfcResourceApprovalRelationship; class IfcResourceConstraintRelationship; class IfcResourceLevelRelationship; class IfcResourceTime; class IfcRevolvedAreaSolid; class IfcRevolvedAreaSolidTapered; class IfcRightCircularCone; class IfcRightCircularCylinder; class IfcRoof; class IfcRoofType; class IfcRoot; class IfcRoundedRectangleProfileDef; class IfcSIUnit; class IfcSanitaryTerminal; class IfcSanitaryTerminalType; class IfcSchedulingTime; class IfcSectionProperties; class IfcSectionReinforcementProperties; class IfcSectionedSpine; class IfcSensor; class IfcSensorType; class IfcShadingDevice; class IfcShadingDeviceType; class IfcShapeAspect; class IfcShapeModel; class IfcShapeRepresentation; class IfcShellBasedSurfaceModel; class IfcSimpleProperty; class IfcSimplePropertyTemplate; class IfcSite; class IfcSlab; class IfcSlabElementedCase; class IfcSlabStandardCase; class IfcSlabType; class IfcSlippageConnectionCondition; class IfcSolarDevice; class IfcSolarDeviceType; class IfcSolidModel; class IfcSpace; class IfcSpaceHeater; class IfcSpaceHeaterType; class IfcSpaceType; class IfcSpatialElement; class IfcSpatialElementType; class IfcSpatialStructureElement; class IfcSpatialStructureElementType; class IfcSpatialZone; class IfcSpatialZoneType; class IfcSphere; class IfcStackTerminal; class IfcStackTerminalType; class IfcStair; class IfcStairFlight; class IfcStairFlightType; class IfcStairType; class IfcStructuralAction; class IfcStructuralActivity; class IfcStructuralAnalysisModel; class IfcStructuralConnection; class IfcStructuralConnectionCondition; class IfcStructuralCurveAction; class IfcStructuralCurveConnection; class IfcStructuralCurveMember; class IfcStructuralCurveMemberVarying; class IfcStructuralCurveReaction; class IfcStructuralItem; class IfcStructuralLinearAction; class IfcStructuralLoad; class IfcStructuralLoadCase; class IfcStructuralLoadConfiguration; class IfcStructuralLoadGroup; class IfcStructuralLoadLinearForce; class IfcStructuralLoadOrResult; class IfcStructuralLoadPlanarForce; class IfcStructuralLoadSingleDisplacement; class IfcStructuralLoadSingleDisplacementDistortion; class IfcStructuralLoadSingleForce; class IfcStructuralLoadSingleForceWarping; class IfcStructuralLoadStatic; class IfcStructuralLoadTemperature; class IfcStructuralMember; class IfcStructuralPlanarAction; class IfcStructuralPointAction; class IfcStructuralPointConnection; class IfcStructuralPointReaction; class IfcStructuralReaction; class IfcStructuralResultGroup; class IfcStructuralSurfaceAction; class IfcStructuralSurfaceConnection; class IfcStructuralSurfaceMember; class IfcStructuralSurfaceMemberVarying; class IfcStructuralSurfaceReaction; class IfcStyleModel; class IfcStyledItem; class IfcStyledRepresentation; class IfcSubContractResource; class IfcSubContractResourceType; class IfcSubedge; class IfcSurface; class IfcSurfaceCurveSweptAreaSolid; class IfcSurfaceFeature; class IfcSurfaceOfLinearExtrusion; class IfcSurfaceOfRevolution; class IfcSurfaceReinforcementArea; class IfcSurfaceStyle; class IfcSurfaceStyleLighting; class IfcSurfaceStyleRefraction; class IfcSurfaceStyleRendering; class IfcSurfaceStyleShading; class IfcSurfaceStyleWithTextures; class IfcSurfaceTexture; class IfcSweptAreaSolid; class IfcSweptDiskSolid; class IfcSweptDiskSolidPolygonal; class IfcSweptSurface; class IfcSwitchingDevice; class IfcSwitchingDeviceType; class IfcSystem; class IfcSystemFurnitureElement; class IfcSystemFurnitureElementType; class IfcTShapeProfileDef; class IfcTable; class IfcTableColumn; class IfcTableRow; class IfcTank; class IfcTankType; class IfcTask; class IfcTaskTime; class IfcTaskTimeRecurring; class IfcTaskType; class IfcTelecomAddress; class IfcTendon; class IfcTendonAnchor; class IfcTendonAnchorType; class IfcTendonType; class IfcTessellatedFaceSet; class IfcTessellatedItem; class IfcTextLiteral; class IfcTextLiteralWithExtent; class IfcTextStyle; class IfcTextStyleFontModel; class IfcTextStyleForDefinedFont; class IfcTextStyleTextModel; class IfcTextureCoordinate; class IfcTextureCoordinateGenerator; class IfcTextureMap; class IfcTextureVertex; class IfcTextureVertexList; class IfcTimePeriod; class IfcTimeSeries; class IfcTimeSeriesValue; class IfcTopologicalRepresentationItem; class IfcTopologyRepresentation; class IfcTransformer; class IfcTransformerType; class IfcTransportElement; class IfcTransportElementType; class IfcTrapeziumProfileDef; class IfcTriangulatedFaceSet; class IfcTrimmedCurve; class IfcTubeBundle; class IfcTubeBundleType; class IfcTypeObject; class IfcTypeProcess; class IfcTypeProduct; class IfcTypeResource; class IfcUShapeProfileDef; class IfcUnitAssignment; class IfcUnitaryControlElement; class IfcUnitaryControlElementType; class IfcUnitaryEquipment; class IfcUnitaryEquipmentType; class IfcValve; class IfcValveType; class IfcVector; class IfcVertex; class IfcVertexLoop; class IfcVertexPoint; class IfcVibrationIsolator; class IfcVibrationIsolatorType; class IfcVirtualElement; class IfcVirtualGridIntersection; class IfcVoidingFeature; class IfcWall; class IfcWallElementedCase; class IfcWallStandardCase; class IfcWallType; class IfcWasteTerminal; class IfcWasteTerminalType; class IfcWindow; class IfcWindowLiningProperties; class IfcWindowPanelProperties; class IfcWindowStandardCase; class IfcWindowStyle; class IfcWindowType; class IfcWorkCalendar; class IfcWorkControl; class IfcWorkPlan; class IfcWorkSchedule; class IfcWorkTime; class IfcZShapeProfileDef; class IfcZone; class IfcAbsorbedDoseMeasure; class IfcAccelerationMeasure; class IfcAmountOfSubstanceMeasure; class IfcAngularVelocityMeasure; class IfcArcIndex; class IfcAreaDensityMeasure; class IfcAreaMeasure; class IfcBinary; class IfcBoolean; class IfcBoxAlignment; class IfcCardinalPointReference; class IfcComplexNumber; class IfcCompoundPlaneAngleMeasure; class IfcContextDependentMeasure; class IfcCountMeasure; class IfcCurvatureMeasure; class IfcDate; class IfcDateTime; class IfcDayInMonthNumber; class IfcDayInWeekNumber; class IfcDescriptiveMeasure; class IfcDimensionCount; class IfcDoseEquivalentMeasure; class IfcDuration; class IfcDynamicViscosityMeasure; class IfcElectricCapacitanceMeasure; class IfcElectricChargeMeasure; class IfcElectricConductanceMeasure; class IfcElectricCurrentMeasure; class IfcElectricResistanceMeasure; class IfcElectricVoltageMeasure; class IfcEnergyMeasure; class IfcFontStyle; class IfcFontVariant; class IfcFontWeight; class IfcForceMeasure; class IfcFrequencyMeasure; class IfcGloballyUniqueId; class IfcHeatFluxDensityMeasure; class IfcHeatingValueMeasure; class IfcIdentifier; class IfcIlluminanceMeasure; class IfcInductanceMeasure; class IfcInteger; class IfcIntegerCountRateMeasure; class IfcIonConcentrationMeasure; class IfcIsothermalMoistureCapacityMeasure; class IfcKinematicViscosityMeasure; class IfcLabel; class IfcLanguageId; class IfcLengthMeasure; class IfcLineIndex; class IfcLinearForceMeasure; class IfcLinearMomentMeasure; class IfcLinearStiffnessMeasure; class IfcLinearVelocityMeasure; class IfcLogical; class IfcLuminousFluxMeasure; class IfcLuminousIntensityDistributionMeasure; class IfcLuminousIntensityMeasure; class IfcMagneticFluxDensityMeasure; class IfcMagneticFluxMeasure; class IfcMassDensityMeasure; class IfcMassFlowRateMeasure; class IfcMassMeasure; class IfcMassPerLengthMeasure; class IfcModulusOfElasticityMeasure; class IfcModulusOfLinearSubgradeReactionMeasure; class IfcModulusOfRotationalSubgradeReactionMeasure; class IfcModulusOfSubgradeReactionMeasure; class IfcMoistureDiffusivityMeasure; class IfcMolecularWeightMeasure; class IfcMomentOfInertiaMeasure; class IfcMonetaryMeasure; class IfcMonthInYearNumber; class IfcNonNegativeLengthMeasure; class IfcNormalisedRatioMeasure; class IfcNumericMeasure; class IfcPHMeasure; class IfcParameterValue; class IfcPlanarForceMeasure; class IfcPlaneAngleMeasure; class IfcPositiveInteger; class IfcPositiveLengthMeasure; class IfcPositivePlaneAngleMeasure; class IfcPositiveRatioMeasure; class IfcPowerMeasure; class IfcPresentableText; class IfcPressureMeasure; class IfcPropertySetDefinitionSet; class IfcRadioActivityMeasure; class IfcRatioMeasure; class IfcReal; class IfcRotationalFrequencyMeasure; class IfcRotationalMassMeasure; class IfcRotationalStiffnessMeasure; class IfcSectionModulusMeasure; class IfcSectionalAreaIntegralMeasure; class IfcShearModulusMeasure; class IfcSolidAngleMeasure; class IfcSoundPowerLevelMeasure; class IfcSoundPowerMeasure; class IfcSoundPressureLevelMeasure; class IfcSoundPressureMeasure; class IfcSpecificHeatCapacityMeasure; class IfcSpecularExponent; class IfcSpecularRoughness; class IfcTemperatureGradientMeasure; class IfcTemperatureRateOfChangeMeasure; class IfcText; class IfcTextAlignment; class IfcTextDecoration; class IfcTextFontName; class IfcTextTransformation; class IfcThermalAdmittanceMeasure; class IfcThermalConductivityMeasure; class IfcThermalExpansionCoefficientMeasure; class IfcThermalResistanceMeasure; class IfcThermalTransmittanceMeasure; class IfcThermodynamicTemperatureMeasure; class IfcTime; class IfcTimeMeasure; class IfcTimeStamp; class IfcTorqueMeasure; class IfcURIReference; class IfcVaporPermeabilityMeasure; class IfcVolumeMeasure; class IfcVolumetricFlowRateMeasure; class IfcWarpingConstantMeasure; class IfcWarpingMomentMeasure; /// The actor select type allows a person, or an organization, or a person associated with an organization to be referenced. /// @@ -457,6 +457,8 @@ typedef IfcUtil::IfcBaseClass IfcResourceSelect; /// /// HISTORY: New type in IFC 2x4. typedef IfcUtil::IfcBaseClass IfcRotationalStiffnessSelect; + +typedef IfcUtil::IfcBaseClass IfcSegmentIndexSelect; /// Definition from ISO/CD 10303-42:1992 This type collects together, for reference when constructing more complex models, the subtypes which have the characteristics of a shell. A shell is a connected object of fixed dimensionality d = 0; 1; or 2, typically used to bound a region. The domain of a shell, if present, includes its bounds and 0 £ X < ¥. /// /// A shell of dimensionality 0 is represented by a graph consisting of a single vertex. The vertex shall not have any associated edges. @@ -4423,7 +4425,7 @@ namespace IfcSensorTypeEnum { /// WINDSENSOR: A device that senses or detects airflow speed and direction. /// USERDEFINED: User-defined type. /// NOTDEFINED: Undefined type. -typedef enum {IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} IfcSensorTypeEnum; +typedef enum {IfcSensorType_CO2SENSOR, IfcSensorType_CONDUCTANCESENSOR, IfcSensorType_CONTACTSENSOR, IfcSensorType_FIRESENSOR, IfcSensorType_FLOWSENSOR, IfcSensorType_FROSTSENSOR, IfcSensorType_GASSENSOR, IfcSensorType_HEATSENSOR, IfcSensorType_HUMIDITYSENSOR, IfcSensorType_IDENTIFIERSENSOR, IfcSensorType_IONCONCENTRATIONSENSOR, IfcSensorType_LEVELSENSOR, IfcSensorType_LIGHTSENSOR, IfcSensorType_MOISTURESENSOR, IfcSensorType_MOVEMENTSENSOR, IfcSensorType_PHSENSOR, IfcSensorType_PRESSURESENSOR, IfcSensorType_RADIATIONSENSOR, IfcSensorType_RADIOACTIVITYSENSOR, IfcSensorType_SMOKESENSOR, IfcSensorType_SOUNDSENSOR, IfcSensorType_TEMPERATURESENSOR, IfcSensorType_WINDSENSOR, IfcSensorType_USERDEFINED, IfcSensorType_NOTDEFINED} IfcSensorTypeEnum; const char* ToString(IfcSensorTypeEnum v); IfcSensorTypeEnum FromString(const std::string& s); } @@ -5805,6 +5807,18 @@ public: operator double() const; }; +class IfcArcIndex : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcArcIndex (IfcAbstractEntity* e); + IfcArcIndex (std::vector< int > /*[3:3]*/ v); + operator std::vector< int > /*[3:3]*/() const; +}; + class IfcAreaDensityMeasure : public IfcUtil::IfcBaseType { public: virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; @@ -5834,6 +5848,18 @@ public: IfcAreaMeasure (double v); operator double() const; }; + +class IfcBinary : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcBinary (IfcAbstractEntity* e); + IfcBinary (boost::dynamic_bitset<> v); + operator boost::dynamic_bitset<>() const; +}; /// IfcBoolean is a defined data type of simple data type Boolean. It is required since a select type (IfcSimpleValue) cannot directly include simple types in its select list. A boolean type can have value TRUE or FALSE. /// /// Type: BOOLEAN @@ -6722,6 +6748,18 @@ public: IfcLengthMeasure (double v); operator double() const; }; + +class IfcLineIndex : public IfcUtil::IfcBaseType { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcLineIndex (IfcAbstractEntity* e); + IfcLineIndex (std::vector< int > /*[2:?]*/ v); + operator std::vector< int > /*[2:?]*/() const; +}; /// IfcLinearForceMeasure is a measure of linear force. /// Usually measured in N/m. /// Type: REAL @@ -7255,6 +7293,18 @@ public: IfcPlaneAngleMeasure (double v); operator double() const; }; + +class IfcPositiveInteger : public IfcInteger { +public: + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const; + virtual Argument* getArgument(unsigned int i) const; + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + explicit IfcPositiveInteger (IfcAbstractEntity* e); + IfcPositiveInteger (int v); + operator int() const; +}; /// Definition from ISO/CD 10303-41:1992: A positive length measure is a length measure that is greater than zero. /// Type: IfcLengthMeasure /// @@ -8871,8 +8921,6 @@ public: /// HISTORY  New entity in IFC2x4. class IfcCoordinateReferenceSystem : public IfcUtil::IfcBaseEntity { public: - /// Whether the optional attribute Name is defined for this IfcCoordinateReferenceSystem - bool hasName() const; /// Name by which the coordinate reference system is identified. /// Note  The name shall be taken from the list recognized by the European Petroleum Survey Group EPSG. std::string Name() const; @@ -8882,6 +8930,8 @@ public: /// Informal description of this coordinate reference system. std::string Description() const; void setDescription(std::string v); + /// Whether the optional attribute GeodeticDatum is defined for this IfcCoordinateReferenceSystem + bool hasGeodeticDatum() const; /// Name by which this datum is identified. The geodetic datum is associated with the coordinate reference system and indicates the shape and size of the rotation ellipsoid and this ellipsoid's connection and orientation to the actual globe/earth. Examples for geodetic datums include: /// /// ED50 @@ -8902,11 +8952,12 @@ public: virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLabel; case 1: return Type::IfcText; case 2: return Type::IfcIdentifier; case 3: return Type::IfcIdentifier; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Name"; case 1: return "Description"; case 2: return "GeodeticDatum"; case 3: return "VerticalDatum"; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + IfcTemplatedEntityList< IfcCoordinateOperation >::ptr HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcCoordinateReferenceSystem (IfcAbstractEntity* e); - IfcCoordinateReferenceSystem (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum); + IfcCoordinateReferenceSystem (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum); typedef IfcTemplatedEntityList< IfcCoordinateReferenceSystem > list; }; /// IfcCostValue is an amount of money or a value that affects an amount of money. @@ -10052,6 +10103,8 @@ public: /// Reference source for data values. std::string ValueSource() const; void setValueSource(std::string v); + /// Whether the optional attribute DataValue is defined for this IfcMetric + bool hasDataValue() const; /// The value with data type defined by the underlying type accesses via IfcMetricValueSelect. IfcMetricValueSelect* DataValue() const; void setDataValue(IfcMetricValueSelect* v); @@ -10600,7 +10653,7 @@ public: void setLayerStyles(IfcTemplatedEntityList< IfcPresentationStyle >::ptr v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; case 7: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; } return IfcPresentationLayerAssignment::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; case 7: return Type::IfcPresentationStyle; } return IfcPresentationLayerAssignment::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcLogical; case 5: return Type::IfcLogical; case 6: return Type::IfcLogical; case 7: return Type::IfcPresentationStyle; } return IfcPresentationLayerAssignment::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "LayerOn"; case 5: return "LayerFrozen"; case 6: return "LayerBlocked"; case 7: return "LayerStyles"; } return IfcPresentationLayerAssignment::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -10950,7 +11003,7 @@ public: Type::Enum type() const; static Type::Enum Class(); IfcProjectedCRS (IfcAbstractEntity* e); - IfcProjectedCRS (boost::optional< std::string > v1_Name, boost::optional< std::string > v2_Description, std::string v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit); + IfcProjectedCRS (std::string v1_Name, boost::optional< std::string > v2_Description, boost::optional< std::string > v3_GeodeticDatum, boost::optional< std::string > v4_VerticalDatum, boost::optional< std::string > v5_MapProjection, boost::optional< std::string > v6_MapZone, IfcNamedUnit* v7_MapUnit); typedef IfcTemplatedEntityList< IfcProjectedCRS > list; }; @@ -11310,7 +11363,7 @@ public: void setInnerReference(IfcReference* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_STRING; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_AGGREGATE_OF_INT; case 4: return IfcUtil::Argument_ENTITY_INSTANCE; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcIdentifier; case 2: return Type::IfcLabel; case 3: return Type::UNDEFINED; case 4: return Type::IfcReference; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcIdentifier; case 1: return Type::IfcIdentifier; case 2: return Type::IfcLabel; case 3: return Type::IfcInteger; case 4: return Type::IfcReference; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "TypeIdentifier"; case 1: return "AttributeIdentifier"; case 2: return "InstanceName"; case 3: return "ListPositions"; case 4: return "InnerReference"; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -11719,7 +11772,7 @@ public: void setPartOfProductDefinitionShape(IfcProductRepresentationSelect* v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_STRING; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENTITY_INSTANCE; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcShapeModel; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::UNDEFINED; case 4: return Type::IfcProductRepresentationSelect; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcShapeModel; case 1: return Type::IfcLabel; case 2: return Type::IfcText; case 3: return Type::IfcLogical; case 4: return Type::IfcProductRepresentationSelect; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "ShapeRepresentations"; case 1: return "Name"; case 2: return "Description"; case 3: return "ProductDefinitional"; case 4: return "PartOfProductDefinitionShape"; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -12482,7 +12535,7 @@ public: void setParameter(std::vector< std::string > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_BOOL; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_STRING; case 3: return IfcUtil::Argument_ENTITY_INSTANCE; case 4: return IfcUtil::Argument_AGGREGATE_OF_STRING; } return IfcPresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::IfcIdentifier; case 3: return Type::IfcCartesianTransformationOperator2D; case 4: return Type::IfcIdentifier; } return IfcPresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcBoolean; case 1: return Type::IfcBoolean; case 2: return Type::IfcIdentifier; case 3: return Type::IfcCartesianTransformationOperator2D; case 4: return Type::IfcIdentifier; } return IfcPresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RepeatS"; case 1: return "RepeatT"; case 2: return "Mode"; case 3: return "TextureTransform"; case 4: return "Parameter"; } return IfcPresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcTextureCoordinate >::ptr IsMappedBy() const; // INVERSE IfcTextureCoordinate::Maps @@ -12608,10 +12661,9 @@ public: void setIsHeading(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_BOOL; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; case 1: return Type::UNDEFINED; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcValue; case 1: return Type::IfcBoolean; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "RowCells"; case 1: return "IsHeading"; } throw IfcParse::IfcAttributeOutOfRangeException("Argument index out of range"); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } - IfcTemplatedEntityList< IfcTable >::ptr OfTable() const; // INVERSE IfcTable::Rows bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -12770,7 +12822,7 @@ public: void setCompletion(double v); virtual unsigned int getArgumentCount() const { return 20; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_STRING; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_STRING; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_STRING; case 13: return IfcUtil::Argument_BOOL; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_STRING; case 17: return IfcUtil::Argument_STRING; case 18: return IfcUtil::Argument_STRING; case 19: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcTaskDurationEnum; case 4: return Type::IfcDuration; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcDateTime; case 8: return Type::IfcDateTime; case 9: return Type::IfcDateTime; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcDuration; case 13: return Type::UNDEFINED; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcDateTime; case 17: return Type::IfcDateTime; case 18: return Type::IfcDuration; case 19: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcTaskDurationEnum; case 4: return Type::IfcDuration; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcDateTime; case 8: return Type::IfcDateTime; case 9: return Type::IfcDateTime; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcDuration; case 13: return Type::IfcBoolean; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcDateTime; case 17: return Type::IfcDateTime; case 18: return Type::IfcDuration; case 19: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "DurationType"; case 4: return "ScheduleDuration"; case 5: return "ScheduleStart"; case 6: return "ScheduleFinish"; case 7: return "EarlyStart"; case 8: return "EarlyFinish"; case 9: return "LateStart"; case 10: return "LateFinish"; case 11: return "FreeFloat"; case 12: return "TotalFloat"; case 13: return "IsCritical"; case 14: return "StatusTime"; case 15: return "ActualDuration"; case 16: return "ActualStart"; case 17: return "ActualFinish"; case 18: return "RemainingTime"; case 19: return "Completion"; } return IfcSchedulingTime::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -12785,18 +12837,18 @@ public: /// HISTORY: New entity in IFC2x4. class IfcTaskTimeRecurring : public IfcTaskTime { public: - IfcRecurrencePattern* Recurrance() const; - void setRecurrance(IfcRecurrencePattern* v); + IfcRecurrencePattern* Recurrence() const; + void setRecurrence(IfcRecurrencePattern* v); virtual unsigned int getArgumentCount() const { return 21; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 20: return IfcUtil::Argument_ENTITY_INSTANCE; } return IfcTaskTime::getArgumentType(i); } virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 20: return Type::IfcRecurrencePattern; } return IfcTaskTime::getArgumentEntity(i); } - virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 20: return "Recurrance"; } return IfcTaskTime::getArgumentName(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 20: return "Recurrence"; } return IfcTaskTime::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcTaskTimeRecurring (IfcAbstractEntity* e); - IfcTaskTimeRecurring (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrance); + IfcTaskTimeRecurring (boost::optional< std::string > v1_Name, boost::optional< IfcDataOriginEnum::IfcDataOriginEnum > v2_DataOrigin, boost::optional< std::string > v3_UserDefinedDataOrigin, boost::optional< IfcTaskDurationEnum::IfcTaskDurationEnum > v4_DurationType, boost::optional< std::string > v5_ScheduleDuration, boost::optional< std::string > v6_ScheduleStart, boost::optional< std::string > v7_ScheduleFinish, boost::optional< std::string > v8_EarlyStart, boost::optional< std::string > v9_EarlyFinish, boost::optional< std::string > v10_LateStart, boost::optional< std::string > v11_LateFinish, boost::optional< std::string > v12_FreeFloat, boost::optional< std::string > v13_TotalFloat, boost::optional< bool > v14_IsCritical, boost::optional< std::string > v15_StatusTime, boost::optional< std::string > v16_ActualDuration, boost::optional< std::string > v17_ActualStart, boost::optional< std::string > v18_ActualFinish, boost::optional< std::string > v19_RemainingTime, boost::optional< double > v20_Completion, IfcRecurrencePattern* v21_Recurrence); typedef IfcTemplatedEntityList< IfcTaskTimeRecurring > list; }; /// Definition: Address to which telephone, electronic mail and other forms of telecommunications should be addressed. @@ -12907,7 +12959,7 @@ public: void setModelOrDraughting(bool v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_ENTITY_INSTANCE; case 4: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcTextStyleForDefinedFont; case 2: return Type::IfcTextStyleTextModel; case 3: return Type::IfcTextFontSelect; case 4: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcTextStyleForDefinedFont; case 2: return Type::IfcTextStyleTextModel; case 3: return Type::IfcTextFontSelect; case 4: return Type::IfcBoolean; } return IfcPresentationStyle::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "TextCharacterAppearance"; case 2: return "TextStyle"; case 3: return "TextFontStyle"; case 4: return "ModelOrDraughting"; } return IfcPresentationStyle::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -13741,7 +13793,7 @@ public: void setRasterCode(boost::dynamic_bitset<> v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_BINARY; } return IfcSurfaceTexture::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::UNDEFINED; } return IfcSurfaceTexture::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcIdentifier; case 6: return Type::IfcBinary; } return IfcSurfaceTexture::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "RasterFormat"; case 6: return "RasterCode"; } return IfcSurfaceTexture::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -14366,7 +14418,7 @@ public: void setModelOrDraughting(bool v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_ENTITY_INSTANCE; case 4: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcCurveFontOrScaledCurveFontSelect; case 2: return Type::IfcSizeSelect; case 3: return Type::IfcColour; case 4: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcCurveFontOrScaledCurveFontSelect; case 2: return Type::IfcSizeSelect; case 3: return Type::IfcColour; case 4: return Type::IfcBoolean; } return IfcPresentationStyle::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "CurveFont"; case 2: return "CurveWidth"; case 3: return "CurveColour"; case 4: return "ModelOrDraughting"; } return IfcPresentationStyle::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -14875,7 +14927,7 @@ public: void setSameSense(bool v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_BOOL; } return IfcEdge::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::UNDEFINED; } return IfcEdge::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcCurve; case 3: return Type::IfcBoolean; } return IfcEdge::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EdgeGeometry"; case 3: return "SameSense"; } return IfcEdge::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15075,7 +15127,7 @@ public: void setOrientation(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_BOOL; } return IfcTopologicalRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLoop; case 1: return Type::UNDEFINED; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLoop; case 1: return Type::IfcBoolean; } return IfcTopologicalRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Bound"; case 1: return "Orientation"; } return IfcTopologicalRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15150,7 +15202,7 @@ public: void setSameSense(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_BOOL; } return IfcFace::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSurface; case 2: return Type::UNDEFINED; } return IfcFace::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcSurface; case 2: return Type::IfcBoolean; } return IfcFace::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FaceSurface"; case 2: return "SameSense"; } return IfcFace::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15256,7 +15308,7 @@ public: void setModelorDraughting(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_BOOL; } return IfcPresentationStyle::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcFillStyleSelect; case 2: return Type::UNDEFINED; } return IfcPresentationStyle::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 1: return Type::IfcFillStyleSelect; case 2: return Type::IfcBoolean; } return IfcPresentationStyle::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 1: return "FillStyles"; case 2: return "ModelorDraughting"; } return IfcPresentationStyle::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15335,10 +15387,11 @@ public: void setTrueNorth(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 6; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_INT; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_ENTITY_INSTANCE; case 5: return IfcUtil::Argument_ENTITY_INSTANCE; } return IfcRepresentationContext::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDimensionCount; case 3: return Type::UNDEFINED; case 4: return Type::IfcAxis2Placement; case 5: return Type::IfcDirection; } return IfcRepresentationContext::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcDimensionCount; case 3: return Type::IfcReal; case 4: return Type::IfcAxis2Placement; case 5: return Type::IfcDirection; } return IfcRepresentationContext::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "CoordinateSpaceDimension"; case 3: return "Precision"; case 4: return "WorldCoordinateSystem"; case 5: return "TrueNorth"; } return IfcRepresentationContext::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcGeometricRepresentationSubContext >::ptr HasSubContexts() const; // INVERSE IfcGeometricRepresentationSubContext::ParentContext + IfcTemplatedEntityList< IfcCoordinateOperation >::ptr HasCoordinateOperation() const; // INVERSE IfcCoordinateOperation::SourceCRS bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -15550,7 +15603,7 @@ public: void setAgreementFlag(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_BOOL; } return IfcGeometricRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcBoolean; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BaseSurface"; case 1: return "AgreementFlag"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15627,7 +15680,7 @@ public: void setColourIndex(std::vector< int > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_AGGREGATE_OF_INT; } return IfcPresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTessellatedFaceSet; case 1: return Type::IfcSurfaceStyleShading; case 2: return Type::IfcColourRgbList; case 3: return Type::UNDEFINED; } return IfcPresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTessellatedFaceSet; case 1: return Type::IfcSurfaceStyleShading; case 2: return Type::IfcColourRgbList; case 3: return Type::IfcPositiveInteger; } return IfcPresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "MappedTo"; case 1: return "Overrides"; case 2: return "Colours"; case 3: return "ColourIndex"; } return IfcPresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -15665,7 +15718,7 @@ public: void setTexCoordIndex(std::vector< std::vector< int > > v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT; } return IfcIndexedTextureMap::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::UNDEFINED; } return IfcIndexedTextureMap::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveInteger; } return IfcIndexedTextureMap::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "TexCoordIndex"; } return IfcIndexedTextureMap::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -16856,7 +16909,7 @@ public: void setOrientation(bool v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_BOOL; } return IfcEdge::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcEdge; case 3: return Type::UNDEFINED; } return IfcEdge::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 2: return Type::IfcEdge; case 3: return Type::IfcBoolean; } return IfcEdge::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 2: return "EdgeElement"; case 3: return "Orientation"; } return IfcEdge::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -17033,7 +17086,7 @@ public: void setPixel(std::vector< boost::dynamic_bitset<> > /*[1:?]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_INT; case 6: return IfcUtil::Argument_INT; case 7: return IfcUtil::Argument_INT; case 8: return IfcUtil::Argument_AGGREGATE_OF_BINARY; } return IfcSurfaceTexture::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcInteger; case 6: return Type::IfcInteger; case 7: return Type::IfcInteger; case 8: return Type::UNDEFINED; } return IfcSurfaceTexture::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcInteger; case 6: return Type::IfcInteger; case 7: return Type::IfcInteger; case 8: return Type::IfcBinary; } return IfcSurfaceTexture::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Width"; case 6: return "Height"; case 7: return "ColourComponents"; case 8: return "Pixel"; } return IfcSurfaceTexture::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -17450,6 +17503,8 @@ public: IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyForDependance() const; // INVERSE IfcPropertyDependencyRelationship::DependingProperty IfcTemplatedEntityList< IfcPropertyDependencyRelationship >::ptr PropertyDependsOn() const; // INVERSE IfcPropertyDependencyRelationship::DependantProperty IfcTemplatedEntityList< IfcComplexProperty >::ptr PartOfComplex() const; // INVERSE IfcComplexProperty::HasProperties + IfcTemplatedEntityList< IfcResourceConstraintRelationship >::ptr HasConstraints() const; // INVERSE IfcResourceConstraintRelationship::RelatedResourceObjects + IfcTemplatedEntityList< IfcResourceApprovalRelationship >::ptr HasApprovals() const; // INVERSE IfcResourceApprovalRelationship::RelatedResourceObjects bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -17962,7 +18017,7 @@ public: void setCompletion(double v); virtual unsigned int getArgumentCount() const { return 18; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_STRING; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_STRING; case 6: return IfcUtil::Argument_STRING; case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_STRING; case 11: return IfcUtil::Argument_STRING; case 12: return IfcUtil::Argument_DOUBLE; case 13: return IfcUtil::Argument_STRING; case 14: return IfcUtil::Argument_STRING; case 15: return IfcUtil::Argument_STRING; case 16: return IfcUtil::Argument_DOUBLE; case 17: return IfcUtil::Argument_DOUBLE; } return IfcSchedulingTime::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcDuration; case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcLabel; case 8: return Type::IfcDuration; case 9: return Type::UNDEFINED; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcPositiveRatioMeasure; case 13: return Type::IfcDateTime; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcPositiveRatioMeasure; case 17: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcDuration; case 4: return Type::IfcPositiveRatioMeasure; case 5: return Type::IfcDateTime; case 6: return Type::IfcDateTime; case 7: return Type::IfcLabel; case 8: return Type::IfcDuration; case 9: return Type::IfcBoolean; case 10: return Type::IfcDateTime; case 11: return Type::IfcDuration; case 12: return Type::IfcPositiveRatioMeasure; case 13: return Type::IfcDateTime; case 14: return Type::IfcDateTime; case 15: return Type::IfcDuration; case 16: return Type::IfcPositiveRatioMeasure; case 17: return Type::IfcPositiveRatioMeasure; } return IfcSchedulingTime::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "ScheduleWork"; case 4: return "ScheduleUsage"; case 5: return "ScheduleStart"; case 6: return "ScheduleFinish"; case 7: return "ScheduleContour"; case 8: return "LevelingDelay"; case 9: return "IsOverAllocated"; case 10: return "StatusTime"; case 11: return "ActualWork"; case 12: return "ActualUsage"; case 13: return "ActualStart"; case 14: return "ActualFinish"; case 15: return "RemainingWork"; case 16: return "RemainingUsage"; case 17: return "Completion"; } return IfcSchedulingTime::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -19595,7 +19650,7 @@ public: void setSizeable(bool v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_BOOL; case 11: return IfcUtil::Argument_BOOL; } return IfcTypeProduct::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcWindowStyleConstructionEnum; case 9: return Type::IfcWindowStyleOperationEnum; case 10: return Type::UNDEFINED; case 11: return Type::UNDEFINED; } return IfcTypeProduct::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcWindowStyleConstructionEnum; case 9: return Type::IfcWindowStyleOperationEnum; case 10: return Type::IfcBoolean; case 11: return Type::IfcBoolean; } return IfcTypeProduct::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "ConstructionType"; case 9: return "OperationType"; case 10: return "ParameterTakesPrecedence"; case 11: return "Sizeable"; } return IfcTypeProduct::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20189,6 +20244,23 @@ public: typedef IfcTemplatedEntityList< IfcCartesianPointList > list; }; +class IfcCartesianPointList2D : public IfcCartesianPointList { +public: + std::vector< std::vector< double > > CoordList() const; + void setCoordList(std::vector< std::vector< double > > v); + virtual unsigned int getArgumentCount() const { return 1; } + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE; } return IfcCartesianPointList::getArgumentType(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcLengthMeasure; } return IfcCartesianPointList::getArgumentEntity(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "CoordList"; } return IfcCartesianPointList::getArgumentName(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + IfcCartesianPointList2D (IfcAbstractEntity* e); + IfcCartesianPointList2D (std::vector< std::vector< double > > v1_CoordList); + typedef IfcTemplatedEntityList< IfcCartesianPointList2D > list; +}; + class IfcCartesianPointList3D : public IfcCartesianPointList { public: std::vector< std::vector< double > > CoordList() const; @@ -20257,7 +20329,7 @@ public: void setScale(double v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDirection; case 1: return Type::IfcDirection; case 2: return Type::IfcCartesianPoint; case 3: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcDirection; case 1: return Type::IfcDirection; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcReal; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Axis1"; case 1: return "Axis2"; case 2: return "LocalOrigin"; case 3: return "Scale"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20305,7 +20377,7 @@ public: void setScale2(double v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 4: return IfcUtil::Argument_DOUBLE; } return IfcCartesianTransformationOperator2D::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::UNDEFINED; } return IfcCartesianTransformationOperator2D::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 4: return Type::IfcReal; } return IfcCartesianTransformationOperator2D::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 4: return "Scale2"; } return IfcCartesianTransformationOperator2D::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20364,7 +20436,7 @@ public: void setScale3(double v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_DOUBLE; case 6: return IfcUtil::Argument_DOUBLE; } return IfcCartesianTransformationOperator3D::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcCartesianTransformationOperator3D::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcReal; case 6: return Type::IfcReal; } return IfcCartesianTransformationOperator3D::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "Scale2"; case 6: return "Scale3"; } return IfcCartesianTransformationOperator3D::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20551,7 +20623,7 @@ public: void setParentCurve(IfcCurve* v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENUMERATION; case 1: return IfcUtil::Argument_BOOL; case 2: return IfcUtil::Argument_ENTITY_INSTANCE; } return IfcGeometricRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTransitionCode; case 1: return Type::UNDEFINED; case 2: return Type::IfcCurve; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcTransitionCode; case 1: return Type::IfcBoolean; case 2: return Type::IfcCurve; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Transition"; case 1: return "SameSense"; case 2: return "ParentCurve"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcCompositeCurve >::ptr UsingCurves() const; // INVERSE IfcCompositeCurve::Segments @@ -20857,7 +20929,7 @@ public: void setImplicitOuter(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcBoundaryCurve; case 2: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcBoundaryCurve; case 2: return Type::IfcBoolean; } return IfcBoundedSurface::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "Boundaries"; case 2: return "ImplicitOuter"; } return IfcBoundedSurface::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20881,7 +20953,7 @@ public: void setDirectionRatios(std::vector< double > /*[2:3]*/ v); virtual unsigned int getArgumentCount() const { return 1; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; } return IfcGeometricRepresentationItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcReal; } return IfcGeometricRepresentationItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "DirectionRatios"; } return IfcGeometricRepresentationItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -20933,7 +21005,7 @@ public: void setSizeable(bool v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_ENUMERATION; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_BOOL; case 11: return IfcUtil::Argument_BOOL; } return IfcTypeProduct::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDoorStyleOperationEnum; case 9: return Type::IfcDoorStyleConstructionEnum; case 10: return Type::UNDEFINED; case 11: return Type::UNDEFINED; } return IfcTypeProduct::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcDoorStyleOperationEnum; case 9: return Type::IfcDoorStyleConstructionEnum; case 10: return Type::IfcBoolean; case 11: return Type::IfcBoolean; } return IfcTypeProduct::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "OperationType"; case 9: return "ConstructionType"; case 10: return "ParameterTakesPrecedence"; case 11: return "Sizeable"; } return IfcTypeProduct::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -22305,7 +22377,7 @@ public: void setSelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } return IfcCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::UNDEFINED; } return IfcCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLogical; } return IfcCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Distance"; case 2: return "SelfIntersect"; } return IfcCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -22346,7 +22418,7 @@ public: void setRefDirection(IfcDirection* v); virtual unsigned int getArgumentCount() const { return 4; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_BOOL; case 3: return IfcUtil::Argument_ENTITY_INSTANCE; } return IfcCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::UNDEFINED; case 3: return Type::IfcDirection; } return IfcCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcLengthMeasure; case 2: return Type::IfcLogical; case 3: return Type::IfcDirection; } return IfcCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Distance"; case 2: return "SelfIntersect"; case 3: return "RefDirection"; } return IfcCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -22356,7 +22428,13 @@ public: IfcOffsetCurve3D (IfcCurve* v1_BasisCurve, double v2_Distance, bool v3_SelfIntersect, IfcDirection* v4_RefDirection); typedef IfcTemplatedEntityList< IfcOffsetCurve3D > list; }; - +/// Definition from ISO/CD 10303-42:1992: A pcurve is a curve which lies on the basis of a surface and is defined in the parameter space of that surface. The basis curve is a curve defined in the two-dimensional parametric space of a reference basis surface. Although it is defined by a curve in two dimensional space, the variables involved are u and v, which occur in the parametric representation of the referenced surface, rather than the x, y, Cartesian coordinates. +/// +/// The basis curve is only defined within the parametric range of the surface. +/// +/// NOTE Corresponding ISO 10303 entity: pcurve. Please refer to ISO/IS 10303-42:1994, p.59 for the final definition of the formal standard. The definition of IfcPCurve derivates from pcurve. The following changes have been made: The BasisCurve replaces the definition of reference_to_curve since there is no requirement of having same dimensionality within the representation context. +/// +/// HISTORY New class in IFC2x4. class IfcPcurve : public IfcCurve { public: IfcSurface* BasisSurface() const; @@ -23896,7 +23974,7 @@ public: void setVsense(bool v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_DOUBLE; case 2: return IfcUtil::Argument_DOUBLE; case 3: return IfcUtil::Argument_DOUBLE; case 4: return IfcUtil::Argument_DOUBLE; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcParameterValue; case 2: return Type::IfcParameterValue; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcSurface; case 1: return Type::IfcParameterValue; case 2: return Type::IfcParameterValue; case 3: return Type::IfcParameterValue; case 4: return Type::IfcParameterValue; case 5: return Type::IfcBoolean; case 6: return Type::IfcBoolean; } return IfcBoundedSurface::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisSurface"; case 1: return "U1"; case 2: return "V1"; case 3: return "U2"; case 4: return "V2"; case 5: return "Usense"; case 6: return "Vsense"; } return IfcBoundedSurface::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -24605,11 +24683,11 @@ public: class IfcRelConnectsPathElements : public IfcRelConnectsElements { public: /// Priorities for connection. It refers to the layers of the RelatingObject. - std::vector< double > /*[0:?]*/ RelatingPriorities() const; - void setRelatingPriorities(std::vector< double > /*[0:?]*/ v); + std::vector< int > /*[0:?]*/ RelatingPriorities() const; + void setRelatingPriorities(std::vector< int > /*[0:?]*/ v); /// Priorities for connection. It refers to the layers of the RelatedObject. - std::vector< double > /*[0:?]*/ RelatedPriorities() const; - void setRelatedPriorities(std::vector< double > /*[0:?]*/ v); + std::vector< int > /*[0:?]*/ RelatedPriorities() const; + void setRelatedPriorities(std::vector< int > /*[0:?]*/ v); /// Indication of the connection type in relation to the path of the RelatingObject. IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatedConnectionType() const; void setRelatedConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); @@ -24617,15 +24695,15 @@ public: IfcConnectionTypeEnum::IfcConnectionTypeEnum RelatingConnectionType() const; void setRelatingConnectionType(IfcConnectionTypeEnum::IfcConnectionTypeEnum v); virtual unsigned int getArgumentCount() const { return 11; } - virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 8: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnectsElements::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::UNDEFINED; case 8: return Type::UNDEFINED; case 9: return Type::IfcConnectionTypeEnum; case 10: return Type::IfcConnectionTypeEnum; } return IfcRelConnectsElements::getArgumentEntity(i); } + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_AGGREGATE_OF_INT; case 8: return IfcUtil::Argument_AGGREGATE_OF_INT; case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; } return IfcRelConnectsElements::getArgumentType(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcInteger; case 8: return Type::IfcInteger; case 9: return Type::IfcConnectionTypeEnum; case 10: return Type::IfcConnectionTypeEnum; } return IfcRelConnectsElements::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "RelatingPriorities"; case 8: return "RelatedPriorities"; case 9: return "RelatedConnectionType"; case 10: return "RelatingConnectionType"; } return IfcRelConnectsElements::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcRelConnectsPathElements (IfcAbstractEntity* e); - IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< double > /*[0:?]*/ v8_RelatingPriorities, std::vector< double > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); + IfcRelConnectsPathElements (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, IfcConnectionGeometry* v5_ConnectionGeometry, IfcElement* v6_RelatingElement, IfcElement* v7_RelatedElement, std::vector< int > /*[0:?]*/ v8_RelatingPriorities, std::vector< int > /*[0:?]*/ v9_RelatedPriorities, IfcConnectionTypeEnum::IfcConnectionTypeEnum v10_RelatedConnectionType, IfcConnectionTypeEnum::IfcConnectionTypeEnum v11_RelatingConnectionType); typedef IfcTemplatedEntityList< IfcRelConnectsPathElements > list; }; /// The objectified relationship @@ -28087,7 +28165,7 @@ public: void setPredefinedType(IfcTaskTypeEnum::IfcTaskTypeEnum v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_STRING; case 8: return IfcUtil::Argument_STRING; case 9: return IfcUtil::Argument_BOOL; case 10: return IfcUtil::Argument_INT; case 11: return IfcUtil::Argument_ENTITY_INSTANCE; case 12: return IfcUtil::Argument_ENUMERATION; } return IfcProcess::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcLabel; case 8: return Type::IfcLabel; case 9: return Type::UNDEFINED; case 10: return Type::UNDEFINED; case 11: return Type::IfcTaskTime; case 12: return Type::IfcTaskTypeEnum; } return IfcProcess::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcLabel; case 8: return Type::IfcLabel; case 9: return Type::IfcBoolean; case 10: return Type::IfcInteger; case 11: return Type::IfcTaskTime; case 12: return Type::IfcTaskTypeEnum; } return IfcProcess::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "Status"; case 8: return "WorkMethod"; case 9: return "IsMilestone"; case 10: return "Priority"; case 11: return "TaskTime"; case 12: return "PredefinedType"; } return IfcProcess::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -28175,7 +28253,7 @@ public: void setClosed(bool v); virtual unsigned int getArgumentCount() const { return 3; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE; case 2: return IfcUtil::Argument_BOOL; } return IfcTessellatedItem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPointList3D; case 1: return Type::IfcParameterValue; case 2: return Type::UNDEFINED; } return IfcTessellatedItem::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPointList3D; case 1: return Type::IfcParameterValue; case 2: return Type::IfcBoolean; } return IfcTessellatedItem::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Coordinates"; case 1: return "Normals"; case 2: return "Closed"; } return IfcTessellatedItem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcIndexedColourMap >::ptr HasColours() const; // INVERSE IfcIndexedColourMap::MappedTo @@ -28278,7 +28356,7 @@ public: void setNormalIndex(std::vector< std::vector< int > > v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 3: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT; case 4: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_INT; } return IfcTessellatedFaceSet::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; } return IfcTessellatedFaceSet::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 3: return Type::IfcPositiveInteger; case 4: return Type::IfcPositiveInteger; } return IfcTessellatedFaceSet::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 3: return "CoordIndex"; case 4: return "NormalIndex"; } return IfcTessellatedFaceSet::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -28949,7 +29027,7 @@ public: void setSelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 7; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_INT; case 2: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_ENUMERATION; case 4: return IfcUtil::Argument_BOOL; case 5: return IfcUtil::Argument_BOOL; case 6: return IfcUtil::Argument_BOOL; } return IfcBoundedSurface::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::UNDEFINED; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcBSplineSurfaceForm; case 4: return Type::UNDEFINED; case 5: return Type::UNDEFINED; case 6: return Type::UNDEFINED; } return IfcBoundedSurface::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcInteger; case 1: return Type::IfcInteger; case 2: return Type::IfcCartesianPoint; case 3: return Type::IfcBSplineSurfaceForm; case 4: return Type::IfcLogical; case 5: return Type::IfcLogical; case 6: return Type::IfcLogical; } return IfcBoundedSurface::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "UDegree"; case 1: return "VDegree"; case 2: return "ControlPointsList"; case 3: return "SurfaceForm"; case 4: return "UClosed"; case 5: return "VClosed"; case 6: return "SelfIntersect"; } return IfcBoundedSurface::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -28985,7 +29063,7 @@ public: void setKnotSpec(IfcKnotType::IfcKnotType v); virtual unsigned int getArgumentCount() const { return 12; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 7: return IfcUtil::Argument_AGGREGATE_OF_INT; case 8: return IfcUtil::Argument_AGGREGATE_OF_INT; case 9: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 10: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 11: return IfcUtil::Argument_ENUMERATION; } return IfcBSplineSurface::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::UNDEFINED; case 8: return Type::UNDEFINED; case 9: return Type::IfcParameterValue; case 10: return Type::IfcParameterValue; case 11: return Type::IfcKnotType; } return IfcBSplineSurface::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 7: return Type::IfcInteger; case 8: return Type::IfcInteger; case 9: return Type::IfcParameterValue; case 10: return Type::IfcParameterValue; case 11: return Type::IfcKnotType; } return IfcBSplineSurface::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 7: return "UMultiplicities"; case 8: return "VMultiplicities"; case 9: return "UKnots"; case 10: return "VKnots"; case 11: return "KnotSpec"; } return IfcBSplineSurface::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -29921,7 +29999,7 @@ public: void setSelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 2; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCompositeCurveSegment; case 1: return Type::UNDEFINED; } return IfcBoundedCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCompositeCurveSegment; case 1: return Type::IfcLogical; } return IfcBoundedCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Segments"; case 1: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -31107,7 +31185,7 @@ public: void setUserDefinedOperationType(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDoorTypeEnum; case 10: return Type::IfcDoorTypeOperationEnum; case 11: return Type::UNDEFINED; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcDoorTypeEnum; case 10: return Type::IfcDoorTypeOperationEnum; case 11: return Type::IfcBoolean; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "OperationType"; case 11: return "ParameterTakesPrecedence"; case 12: return "UserDefinedOperationType"; } return IfcBuildingElementType::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -31306,6 +31384,7 @@ public: IfcTemplatedEntityList< IfcRelSpaceBoundary >::ptr ProvidesBoundaries() const; // INVERSE IfcRelSpaceBoundary::RelatedBuildingElement IfcTemplatedEntityList< IfcRelConnectsElements >::ptr ConnectedFrom() const; // INVERSE IfcRelConnectsElements::RelatedElement IfcTemplatedEntityList< IfcRelContainedInSpatialStructure >::ptr ContainedInStructure() const; // INVERSE IfcRelContainedInSpatialStructure::RelatedElements + IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -33209,6 +33288,31 @@ public: IfcHumidifierType (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ApplicableOccurrence, boost::optional< IfcTemplatedEntityList< IfcPropertySetDefinition >::ptr > v6_HasPropertySets, boost::optional< IfcTemplatedEntityList< IfcRepresentationMap >::ptr > v7_RepresentationMaps, boost::optional< std::string > v8_Tag, boost::optional< std::string > v9_ElementType, IfcHumidifierTypeEnum::IfcHumidifierTypeEnum v10_PredefinedType); typedef IfcTemplatedEntityList< IfcHumidifierType > list; }; + +class IfcIndexedPolyCurve : public IfcBoundedCurve { +public: + IfcCartesianPointList* Points() const; + void setPoints(IfcCartesianPointList* v); + /// Whether the optional attribute Segments is defined for this IfcIndexedPolyCurve + bool hasSegments() const; + IfcEntityList::ptr Segments() const; + void setSegments(IfcEntityList::ptr v); + /// Whether the optional attribute SelfIntersect is defined for this IfcIndexedPolyCurve + bool hasSelfIntersect() const; + bool SelfIntersect() const; + void setSelfIntersect(bool v); + virtual unsigned int getArgumentCount() const { return 3; } + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCartesianPointList; case 1: return Type::IfcSegmentIndexSelect; case 2: return Type::IfcBoolean; } return IfcBoundedCurve::getArgumentEntity(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Points"; case 1: return "Segments"; case 2: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } + virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } + bool is(Type::Enum v) const; + Type::Enum type() const; + static Type::Enum Class(); + IfcIndexedPolyCurve (IfcAbstractEntity* e); + IfcIndexedPolyCurve (IfcCartesianPointList* v1_Points, boost::optional< IfcEntityList::ptr > v2_Segments, boost::optional< bool > v3_SelfIntersect); + typedef IfcTemplatedEntityList< IfcIndexedPolyCurve > list; +}; /// The flow treatment device type IfcInterceptorType defines commonly shared information for occurrences of interceptors. The set of shared information may include: /// /// common properties with shared property sets @@ -35283,7 +35387,7 @@ public: void setWeightsData(std::vector< std::vector< double > > v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 12: return IfcUtil::Argument_AGGREGATE_OF_AGGREGATE_OF_DOUBLE; } return IfcBSplineSurfaceWithKnots::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 12: return Type::UNDEFINED; } return IfcBSplineSurfaceWithKnots::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 12: return Type::IfcReal; } return IfcBSplineSurfaceWithKnots::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 12: return "WeightsData"; } return IfcBSplineSurfaceWithKnots::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -36628,7 +36732,7 @@ public: void setDestabilizingLoad(bool v); virtual unsigned int getArgumentCount() const { return 10; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_BOOL; } return IfcStructuralActivity::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::UNDEFINED; } return IfcStructuralActivity::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcBoolean; } return IfcStructuralActivity::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "DestabilizingLoad"; } return IfcStructuralActivity::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -37191,7 +37295,7 @@ public: void setIsLinear(bool v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_ENTITY_INSTANCE; case 7: return IfcUtil::Argument_BOOL; } return IfcGroup::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAnalysisTheoryTypeEnum; case 6: return Type::IfcStructuralLoadGroup; case 7: return Type::UNDEFINED; } return IfcGroup::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcAnalysisTheoryTypeEnum; case 6: return Type::IfcStructuralLoadGroup; case 7: return Type::IfcBoolean; } return IfcGroup::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "TheoryType"; case 6: return "ResultForLoadGroup"; case 7: return "IsLinear"; } return IfcGroup::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } IfcTemplatedEntityList< IfcStructuralAnalysisModel >::ptr ResultGroupFor() const; // INVERSE IfcStructuralAnalysisModel::HasResults @@ -37967,7 +38071,7 @@ public: void setMasterRepresentation(IfcTrimmingPreference::IfcTrimmingPreference v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_ENTITY_INSTANCE; case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_ENUMERATION; } return IfcBoundedCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcTrimmingSelect; case 2: return Type::IfcTrimmingSelect; case 3: return Type::UNDEFINED; case 4: return Type::IfcTrimmingPreference; } return IfcBoundedCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcCurve; case 1: return Type::IfcTrimmingSelect; case 2: return Type::IfcTrimmingSelect; case 3: return Type::IfcBoolean; case 4: return Type::IfcTrimmingPreference; } return IfcBoundedCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "BasisCurve"; case 1: return "Trim1"; case 2: return "Trim2"; case 3: return "SenseAgreement"; case 4: return "MasterRepresentation"; } return IfcBoundedCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -38658,7 +38762,7 @@ public: void setUserDefinedPartitioningType(std::string v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 9: return IfcUtil::Argument_ENUMERATION; case 10: return IfcUtil::Argument_ENUMERATION; case 11: return IfcUtil::Argument_BOOL; case 12: return IfcUtil::Argument_STRING; } return IfcBuildingElementType::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWindowTypeEnum; case 10: return Type::IfcWindowTypePartitioningEnum; case 11: return Type::UNDEFINED; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 9: return Type::IfcWindowTypeEnum; case 10: return Type::IfcWindowTypePartitioningEnum; case 11: return Type::IfcBoolean; case 12: return Type::IfcLabel; } return IfcBuildingElementType::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 9: return "PredefinedType"; case 10: return "PartitioningType"; case 11: return "ParameterTakesPrecedence"; case 12: return "UserDefinedPartitioningType"; } return IfcBuildingElementType::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -39439,7 +39543,7 @@ public: void setSelfIntersect(bool v); virtual unsigned int getArgumentCount() const { return 5; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 0: return IfcUtil::Argument_INT; case 1: return IfcUtil::Argument_AGGREGATE_OF_ENTITY_INSTANCE; case 2: return IfcUtil::Argument_ENUMERATION; case 3: return IfcUtil::Argument_BOOL; case 4: return IfcUtil::Argument_BOOL; } return IfcBoundedCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::UNDEFINED; case 1: return Type::IfcCartesianPoint; case 2: return Type::IfcBSplineCurveForm; case 3: return Type::UNDEFINED; case 4: return Type::UNDEFINED; } return IfcBoundedCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 0: return Type::IfcInteger; case 1: return Type::IfcCartesianPoint; case 2: return Type::IfcBSplineCurveForm; case 3: return Type::IfcLogical; case 4: return Type::IfcLogical; } return IfcBoundedCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 0: return "Degree"; case 1: return "ControlPointsList"; case 2: return "CurveForm"; case 3: return "ClosedCurve"; case 4: return "SelfIntersect"; } return IfcBoundedCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -39479,7 +39583,7 @@ public: void setKnotSpec(IfcKnotType::IfcKnotType v); virtual unsigned int getArgumentCount() const { return 8; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_AGGREGATE_OF_INT; case 6: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; case 7: return IfcUtil::Argument_ENUMERATION; } return IfcBSplineCurve::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::UNDEFINED; case 6: return Type::IfcParameterValue; case 7: return Type::IfcKnotType; } return IfcBSplineCurve::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcInteger; case 6: return Type::IfcParameterValue; case 7: return Type::IfcKnotType; } return IfcBSplineCurve::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "KnotMultiplicities"; case 6: return "Knots"; case 7: return "KnotSpec"; } return IfcBSplineCurve::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -40041,7 +40145,6 @@ public: virtual Type::Enum getArgumentEntity(unsigned int i) const { return IfcElement::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { return IfcElement::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } - IfcTemplatedEntityList< IfcRelCoversBldgElements >::ptr HasCoverings() const; // INVERSE IfcRelCoversBldgElements::RelatingBuildingElement bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); @@ -40408,16 +40511,20 @@ public: /// Predefined types of distribution systems. IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum PredefinedType() const; void setPredefinedType(IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum v); - virtual unsigned int getArgumentCount() const { return 6; } - virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; } return IfcSystem::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcBuildingSystemTypeEnum; } return IfcSystem::getArgumentEntity(i); } - virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; } return IfcSystem::getArgumentName(i); } + /// Whether the optional attribute LongName is defined for this IfcBuildingSystem + bool hasLongName() const; + std::string LongName() const; + void setLongName(std::string v); + virtual unsigned int getArgumentCount() const { return 7; } + virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 5: return IfcUtil::Argument_ENUMERATION; case 6: return IfcUtil::Argument_STRING; } return IfcSystem::getArgumentType(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 5: return Type::IfcBuildingSystemTypeEnum; case 6: return Type::IfcLabel; } return IfcSystem::getArgumentEntity(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 5: return "PredefinedType"; case 6: return "LongName"; } return IfcSystem::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcBuildingSystem (IfcAbstractEntity* e); - IfcBuildingSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType); + IfcBuildingSystem (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, boost::optional< IfcBuildingSystemTypeEnum::IfcBuildingSystemTypeEnum > v6_PredefinedType, boost::optional< std::string > v7_LongName); typedef IfcTemplatedEntityList< IfcBuildingSystem > list; }; /// The energy conversion device type IfcBurnerType defines commonly shared information for occurrences of burners. The set of shared information may include: @@ -47485,7 +47592,7 @@ public: void setWeightsData(std::vector< double > /*[2:?]*/ v); virtual unsigned int getArgumentCount() const { return 9; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_AGGREGATE_OF_DOUBLE; } return IfcBSplineCurveWithKnots::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::UNDEFINED; } return IfcBSplineCurveWithKnots::getArgumentEntity(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcReal; } return IfcBSplineCurveWithKnots::getArgumentEntity(i); } virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "WeightsData"; } return IfcBSplineCurveWithKnots::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; @@ -49148,13 +49255,10 @@ public: /// Figure 131 — Stair flight body class IfcStairFlight : public IfcBuildingElement { public: - /// Whether the optional attribute NumberOfRiser is defined for this IfcStairFlight - bool hasNumberOfRiser() const; - /// Number of the risers included in the stair flight - /// - /// IFC2x4 CHANGE The attribute has been deprecated it shall only be exposed with a NIL value. Use Pset_StairFlightCommon.NumberOfRisers instead. - int NumberOfRiser() const; - void setNumberOfRiser(int v); + /// Whether the optional attribute NumberOfRisers is defined for this IfcStairFlight + bool hasNumberOfRisers() const; + int NumberOfRisers() const; + void setNumberOfRisers(int v); /// Whether the optional attribute NumberOfTreads is defined for this IfcStairFlight bool hasNumberOfTreads() const; /// Number of treads included in the stair flight. @@ -49186,14 +49290,14 @@ public: void setPredefinedType(IfcStairFlightTypeEnum::IfcStairFlightTypeEnum v); virtual unsigned int getArgumentCount() const { return 13; } virtual IfcUtil::ArgumentType getArgumentType(unsigned int i) const { switch (i) {case 8: return IfcUtil::Argument_INT; case 9: return IfcUtil::Argument_INT; case 10: return IfcUtil::Argument_DOUBLE; case 11: return IfcUtil::Argument_DOUBLE; case 12: return IfcUtil::Argument_ENUMERATION; } return IfcBuildingElement::getArgumentType(i); } - virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::UNDEFINED; case 9: return Type::UNDEFINED; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcStairFlightTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } - virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NumberOfRiser"; case 9: return "NumberOfTreads"; case 10: return "RiserHeight"; case 11: return "TreadLength"; case 12: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } + virtual Type::Enum getArgumentEntity(unsigned int i) const { switch (i) {case 8: return Type::IfcInteger; case 9: return Type::IfcInteger; case 10: return Type::IfcPositiveLengthMeasure; case 11: return Type::IfcPositiveLengthMeasure; case 12: return Type::IfcStairFlightTypeEnum; } return IfcBuildingElement::getArgumentEntity(i); } + virtual const char* getArgumentName(unsigned int i) const { switch (i) {case 8: return "NumberOfRisers"; case 9: return "NumberOfTreads"; case 10: return "RiserHeight"; case 11: return "TreadLength"; case 12: return "PredefinedType"; } return IfcBuildingElement::getArgumentName(i); } virtual Argument* getArgument(unsigned int i) const { return entity->getArgument(i); } bool is(Type::Enum v) const; Type::Enum type() const; static Type::Enum Class(); IfcStairFlight (IfcAbstractEntity* e); - IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRiser, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); + IfcStairFlight (std::string v1_GlobalId, IfcOwnerHistory* v2_OwnerHistory, boost::optional< std::string > v3_Name, boost::optional< std::string > v4_Description, boost::optional< std::string > v5_ObjectType, IfcObjectPlacement* v6_ObjectPlacement, IfcProductRepresentation* v7_Representation, boost::optional< std::string > v8_Tag, boost::optional< int > v9_NumberOfRisers, boost::optional< int > v10_NumberOfTreads, boost::optional< double > v11_RiserHeight, boost::optional< double > v12_TreadLength, boost::optional< IfcStairFlightTypeEnum::IfcStairFlightTypeEnum > v13_PredefinedType); typedef IfcTemplatedEntityList< IfcStairFlight > list; }; /// Definition from IAI: The IfcStructuralAnalysisModel is used to assemble all information needed to represent a structural analysis model. It encompasses certain general properties (such as analysis type), references to all contained structural members, structural supports or connections, as well as loads and the respective load results. diff --git a/src/ifcparse/Ifc4enum.h b/src/ifcparse/Ifc4enum.h index afd5aa744b..8c10e5d81d 100644 --- a/src/ifcparse/Ifc4enum.h +++ b/src/ifcparse/Ifc4enum.h @@ -33,7 +33,7 @@ namespace Ifc4 { namespace Type { typedef enum { - IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCShapeProfileDef, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionCount, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpenShell, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcRelationship, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTShapeProfileDef, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcURIReference, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZShapeProfileDef, IfcZone, UNDEFINED + IfcAbsorbedDoseMeasure, IfcAccelerationMeasure, IfcActionRequest, IfcActionRequestTypeEnum, IfcActionSourceTypeEnum, IfcActionTypeEnum, IfcActor, IfcActorRole, IfcActorSelect, IfcActuator, IfcActuatorType, IfcActuatorTypeEnum, IfcAddress, IfcAddressTypeEnum, IfcAdvancedBrep, IfcAdvancedBrepWithVoids, IfcAdvancedFace, IfcAirTerminal, IfcAirTerminalBox, IfcAirTerminalBoxType, IfcAirTerminalBoxTypeEnum, IfcAirTerminalType, IfcAirTerminalTypeEnum, IfcAirToAirHeatRecovery, IfcAirToAirHeatRecoveryType, IfcAirToAirHeatRecoveryTypeEnum, IfcAlarm, IfcAlarmType, IfcAlarmTypeEnum, IfcAmountOfSubstanceMeasure, IfcAnalysisModelTypeEnum, IfcAnalysisTheoryTypeEnum, IfcAngularVelocityMeasure, IfcAnnotation, IfcAnnotationFillArea, IfcApplication, IfcAppliedValue, IfcAppliedValueSelect, IfcApproval, IfcApprovalRelationship, IfcArbitraryClosedProfileDef, IfcArbitraryOpenProfileDef, IfcArbitraryProfileDefWithVoids, IfcArcIndex, IfcAreaDensityMeasure, IfcAreaMeasure, IfcArithmeticOperatorEnum, IfcAssemblyPlaceEnum, IfcAsset, IfcAsymmetricIShapeProfileDef, IfcAudioVisualAppliance, IfcAudioVisualApplianceType, IfcAudioVisualApplianceTypeEnum, IfcAxis1Placement, IfcAxis2Placement, IfcAxis2Placement2D, IfcAxis2Placement3D, IfcBSplineCurve, IfcBSplineCurveForm, IfcBSplineCurveWithKnots, IfcBSplineSurface, IfcBSplineSurfaceForm, IfcBSplineSurfaceWithKnots, IfcBeam, IfcBeamStandardCase, IfcBeamType, IfcBeamTypeEnum, IfcBenchmarkEnum, IfcBendingParameterSelect, IfcBinary, IfcBlobTexture, IfcBlock, IfcBoiler, IfcBoilerType, IfcBoilerTypeEnum, IfcBoolean, IfcBooleanClippingResult, IfcBooleanOperand, IfcBooleanOperator, IfcBooleanResult, IfcBoundaryCondition, IfcBoundaryCurve, IfcBoundaryEdgeCondition, IfcBoundaryFaceCondition, IfcBoundaryNodeCondition, IfcBoundaryNodeConditionWarping, IfcBoundedCurve, IfcBoundedSurface, IfcBoundingBox, IfcBoxAlignment, IfcBoxedHalfSpace, IfcBuilding, IfcBuildingElement, IfcBuildingElementPart, IfcBuildingElementPartType, IfcBuildingElementPartTypeEnum, IfcBuildingElementProxy, IfcBuildingElementProxyType, IfcBuildingElementProxyTypeEnum, IfcBuildingElementType, IfcBuildingStorey, IfcBuildingSystem, IfcBuildingSystemTypeEnum, IfcBurner, IfcBurnerType, IfcBurnerTypeEnum, IfcCShapeProfileDef, IfcCableCarrierFitting, IfcCableCarrierFittingType, IfcCableCarrierFittingTypeEnum, IfcCableCarrierSegment, IfcCableCarrierSegmentType, IfcCableCarrierSegmentTypeEnum, IfcCableFitting, IfcCableFittingType, IfcCableFittingTypeEnum, IfcCableSegment, IfcCableSegmentType, IfcCableSegmentTypeEnum, IfcCardinalPointReference, IfcCartesianPoint, IfcCartesianPointList, IfcCartesianPointList2D, IfcCartesianPointList3D, IfcCartesianTransformationOperator, IfcCartesianTransformationOperator2D, IfcCartesianTransformationOperator2DnonUniform, IfcCartesianTransformationOperator3D, IfcCartesianTransformationOperator3DnonUniform, IfcCenterLineProfileDef, IfcChangeActionEnum, IfcChiller, IfcChillerType, IfcChillerTypeEnum, IfcChimney, IfcChimneyType, IfcChimneyTypeEnum, IfcCircle, IfcCircleHollowProfileDef, IfcCircleProfileDef, IfcCivilElement, IfcCivilElementType, IfcClassification, IfcClassificationReference, IfcClassificationReferenceSelect, IfcClassificationSelect, IfcClosedShell, IfcCoil, IfcCoilType, IfcCoilTypeEnum, IfcColour, IfcColourOrFactor, IfcColourRgb, IfcColourRgbList, IfcColourSpecification, IfcColumn, IfcColumnStandardCase, IfcColumnType, IfcColumnTypeEnum, IfcCommunicationsAppliance, IfcCommunicationsApplianceType, IfcCommunicationsApplianceTypeEnum, IfcComplexNumber, IfcComplexProperty, IfcComplexPropertyTemplate, IfcComplexPropertyTemplateTypeEnum, IfcCompositeCurve, IfcCompositeCurveOnSurface, IfcCompositeCurveSegment, IfcCompositeProfileDef, IfcCompoundPlaneAngleMeasure, IfcCompressor, IfcCompressorType, IfcCompressorTypeEnum, IfcCondenser, IfcCondenserType, IfcCondenserTypeEnum, IfcConic, IfcConnectedFaceSet, IfcConnectionCurveGeometry, IfcConnectionGeometry, IfcConnectionPointEccentricity, IfcConnectionPointGeometry, IfcConnectionSurfaceGeometry, IfcConnectionTypeEnum, IfcConnectionVolumeGeometry, IfcConstraint, IfcConstraintEnum, IfcConstructionEquipmentResource, IfcConstructionEquipmentResourceType, IfcConstructionEquipmentResourceTypeEnum, IfcConstructionMaterialResource, IfcConstructionMaterialResourceType, IfcConstructionMaterialResourceTypeEnum, IfcConstructionProductResource, IfcConstructionProductResourceType, IfcConstructionProductResourceTypeEnum, IfcConstructionResource, IfcConstructionResourceType, IfcContext, IfcContextDependentMeasure, IfcContextDependentUnit, IfcControl, IfcController, IfcControllerType, IfcControllerTypeEnum, IfcConversionBasedUnit, IfcConversionBasedUnitWithOffset, IfcCooledBeam, IfcCooledBeamType, IfcCooledBeamTypeEnum, IfcCoolingTower, IfcCoolingTowerType, IfcCoolingTowerTypeEnum, IfcCoordinateOperation, IfcCoordinateReferenceSystem, IfcCoordinateReferenceSystemSelect, IfcCostItem, IfcCostItemTypeEnum, IfcCostSchedule, IfcCostScheduleTypeEnum, IfcCostValue, IfcCountMeasure, IfcCovering, IfcCoveringType, IfcCoveringTypeEnum, IfcCrewResource, IfcCrewResourceType, IfcCrewResourceTypeEnum, IfcCsgPrimitive3D, IfcCsgSelect, IfcCsgSolid, IfcCurrencyRelationship, IfcCurtainWall, IfcCurtainWallType, IfcCurtainWallTypeEnum, IfcCurvatureMeasure, IfcCurve, IfcCurveBoundedPlane, IfcCurveBoundedSurface, IfcCurveFontOrScaledCurveFontSelect, IfcCurveInterpolationEnum, IfcCurveOnSurface, IfcCurveOrEdgeCurve, IfcCurveStyle, IfcCurveStyleFont, IfcCurveStyleFontAndScaling, IfcCurveStyleFontPattern, IfcCurveStyleFontSelect, IfcCylindricalSurface, IfcDamper, IfcDamperType, IfcDamperTypeEnum, IfcDataOriginEnum, IfcDate, IfcDateTime, IfcDayInMonthNumber, IfcDayInWeekNumber, IfcDefinitionSelect, IfcDerivedMeasureValue, IfcDerivedProfileDef, IfcDerivedUnit, IfcDerivedUnitElement, IfcDerivedUnitEnum, IfcDescriptiveMeasure, IfcDimensionCount, IfcDimensionalExponents, IfcDirection, IfcDirectionSenseEnum, IfcDiscreteAccessory, IfcDiscreteAccessoryType, IfcDiscreteAccessoryTypeEnum, IfcDistributionChamberElement, IfcDistributionChamberElementType, IfcDistributionChamberElementTypeEnum, IfcDistributionCircuit, IfcDistributionControlElement, IfcDistributionControlElementType, IfcDistributionElement, IfcDistributionElementType, IfcDistributionFlowElement, IfcDistributionFlowElementType, IfcDistributionPort, IfcDistributionPortTypeEnum, IfcDistributionSystem, IfcDistributionSystemEnum, IfcDocumentConfidentialityEnum, IfcDocumentInformation, IfcDocumentInformationRelationship, IfcDocumentReference, IfcDocumentSelect, IfcDocumentStatusEnum, IfcDoor, IfcDoorLiningProperties, IfcDoorPanelOperationEnum, IfcDoorPanelPositionEnum, IfcDoorPanelProperties, IfcDoorStandardCase, IfcDoorStyle, IfcDoorStyleConstructionEnum, IfcDoorStyleOperationEnum, IfcDoorType, IfcDoorTypeEnum, IfcDoorTypeOperationEnum, IfcDoseEquivalentMeasure, IfcDraughtingPreDefinedColour, IfcDraughtingPreDefinedCurveFont, IfcDuctFitting, IfcDuctFittingType, IfcDuctFittingTypeEnum, IfcDuctSegment, IfcDuctSegmentType, IfcDuctSegmentTypeEnum, IfcDuctSilencer, IfcDuctSilencerType, IfcDuctSilencerTypeEnum, IfcDuration, IfcDynamicViscosityMeasure, IfcEdge, IfcEdgeCurve, IfcEdgeLoop, IfcElectricAppliance, IfcElectricApplianceType, IfcElectricApplianceTypeEnum, IfcElectricCapacitanceMeasure, IfcElectricChargeMeasure, IfcElectricConductanceMeasure, IfcElectricCurrentMeasure, IfcElectricDistributionBoard, IfcElectricDistributionBoardType, IfcElectricDistributionBoardTypeEnum, IfcElectricFlowStorageDevice, IfcElectricFlowStorageDeviceType, IfcElectricFlowStorageDeviceTypeEnum, IfcElectricGenerator, IfcElectricGeneratorType, IfcElectricGeneratorTypeEnum, IfcElectricMotor, IfcElectricMotorType, IfcElectricMotorTypeEnum, IfcElectricResistanceMeasure, IfcElectricTimeControl, IfcElectricTimeControlType, IfcElectricTimeControlTypeEnum, IfcElectricVoltageMeasure, IfcElement, IfcElementAssembly, IfcElementAssemblyType, IfcElementAssemblyTypeEnum, IfcElementComponent, IfcElementComponentType, IfcElementCompositionEnum, IfcElementQuantity, IfcElementType, IfcElementarySurface, IfcEllipse, IfcEllipseProfileDef, IfcEnergyConversionDevice, IfcEnergyConversionDeviceType, IfcEnergyMeasure, IfcEngine, IfcEngineType, IfcEngineTypeEnum, IfcEvaporativeCooler, IfcEvaporativeCoolerType, IfcEvaporativeCoolerTypeEnum, IfcEvaporator, IfcEvaporatorType, IfcEvaporatorTypeEnum, IfcEvent, IfcEventTime, IfcEventTriggerTypeEnum, IfcEventType, IfcEventTypeEnum, IfcExtendedProperties, IfcExternalInformation, IfcExternalReference, IfcExternalReferenceRelationship, IfcExternalSpatialElement, IfcExternalSpatialElementTypeEnum, IfcExternalSpatialStructureElement, IfcExternallyDefinedHatchStyle, IfcExternallyDefinedSurfaceStyle, IfcExternallyDefinedTextFont, IfcExtrudedAreaSolid, IfcExtrudedAreaSolidTapered, IfcFace, IfcFaceBasedSurfaceModel, IfcFaceBound, IfcFaceOuterBound, IfcFaceSurface, IfcFacetedBrep, IfcFacetedBrepWithVoids, IfcFailureConnectionCondition, IfcFan, IfcFanType, IfcFanTypeEnum, IfcFastener, IfcFastenerType, IfcFastenerTypeEnum, IfcFeatureElement, IfcFeatureElementAddition, IfcFeatureElementSubtraction, IfcFillAreaStyle, IfcFillAreaStyleHatching, IfcFillAreaStyleTiles, IfcFillStyleSelect, IfcFilter, IfcFilterType, IfcFilterTypeEnum, IfcFireSuppressionTerminal, IfcFireSuppressionTerminalType, IfcFireSuppressionTerminalTypeEnum, IfcFixedReferenceSweptAreaSolid, IfcFlowController, IfcFlowControllerType, IfcFlowDirectionEnum, IfcFlowFitting, IfcFlowFittingType, IfcFlowInstrument, IfcFlowInstrumentType, IfcFlowInstrumentTypeEnum, IfcFlowMeter, IfcFlowMeterType, IfcFlowMeterTypeEnum, IfcFlowMovingDevice, IfcFlowMovingDeviceType, IfcFlowSegment, IfcFlowSegmentType, IfcFlowStorageDevice, IfcFlowStorageDeviceType, IfcFlowTerminal, IfcFlowTerminalType, IfcFlowTreatmentDevice, IfcFlowTreatmentDeviceType, IfcFontStyle, IfcFontVariant, IfcFontWeight, IfcFooting, IfcFootingType, IfcFootingTypeEnum, IfcForceMeasure, IfcFrequencyMeasure, IfcFurnishingElement, IfcFurnishingElementType, IfcFurniture, IfcFurnitureType, IfcFurnitureTypeEnum, IfcGeographicElement, IfcGeographicElementType, IfcGeographicElementTypeEnum, IfcGeometricCurveSet, IfcGeometricProjectionEnum, IfcGeometricRepresentationContext, IfcGeometricRepresentationItem, IfcGeometricRepresentationSubContext, IfcGeometricSet, IfcGeometricSetSelect, IfcGlobalOrLocalEnum, IfcGloballyUniqueId, IfcGrid, IfcGridAxis, IfcGridPlacement, IfcGridPlacementDirectionSelect, IfcGridTypeEnum, IfcGroup, IfcHalfSpaceSolid, IfcHatchLineDistanceSelect, IfcHeatExchanger, IfcHeatExchangerType, IfcHeatExchangerTypeEnum, IfcHeatFluxDensityMeasure, IfcHeatingValueMeasure, IfcHumidifier, IfcHumidifierType, IfcHumidifierTypeEnum, IfcIShapeProfileDef, IfcIdentifier, IfcIlluminanceMeasure, IfcImageTexture, IfcIndexedColourMap, IfcIndexedPolyCurve, IfcIndexedTextureMap, IfcIndexedTriangleTextureMap, IfcInductanceMeasure, IfcInteger, IfcIntegerCountRateMeasure, IfcInterceptor, IfcInterceptorType, IfcInterceptorTypeEnum, IfcInternalOrExternalEnum, IfcInventory, IfcInventoryTypeEnum, IfcIonConcentrationMeasure, IfcIrregularTimeSeries, IfcIrregularTimeSeriesValue, IfcIsothermalMoistureCapacityMeasure, IfcJunctionBox, IfcJunctionBoxType, IfcJunctionBoxTypeEnum, IfcKinematicViscosityMeasure, IfcKnotType, IfcLShapeProfileDef, IfcLabel, IfcLaborResource, IfcLaborResourceType, IfcLaborResourceTypeEnum, IfcLagTime, IfcLamp, IfcLampType, IfcLampTypeEnum, IfcLanguageId, IfcLayerSetDirectionEnum, IfcLayeredItem, IfcLengthMeasure, IfcLibraryInformation, IfcLibraryReference, IfcLibrarySelect, IfcLightDistributionCurveEnum, IfcLightDistributionData, IfcLightDistributionDataSourceSelect, IfcLightEmissionSourceEnum, IfcLightFixture, IfcLightFixtureType, IfcLightFixtureTypeEnum, IfcLightIntensityDistribution, IfcLightSource, IfcLightSourceAmbient, IfcLightSourceDirectional, IfcLightSourceGoniometric, IfcLightSourcePositional, IfcLightSourceSpot, IfcLine, IfcLineIndex, IfcLinearForceMeasure, IfcLinearMomentMeasure, IfcLinearStiffnessMeasure, IfcLinearVelocityMeasure, IfcLoadGroupTypeEnum, IfcLocalPlacement, IfcLogical, IfcLogicalOperatorEnum, IfcLoop, IfcLuminousFluxMeasure, IfcLuminousIntensityDistributionMeasure, IfcLuminousIntensityMeasure, IfcMagneticFluxDensityMeasure, IfcMagneticFluxMeasure, IfcManifoldSolidBrep, IfcMapConversion, IfcMappedItem, IfcMassDensityMeasure, IfcMassFlowRateMeasure, IfcMassMeasure, IfcMassPerLengthMeasure, IfcMaterial, IfcMaterialClassificationRelationship, IfcMaterialConstituent, IfcMaterialConstituentSet, IfcMaterialDefinition, IfcMaterialDefinitionRepresentation, IfcMaterialLayer, IfcMaterialLayerSet, IfcMaterialLayerSetUsage, IfcMaterialLayerWithOffsets, IfcMaterialList, IfcMaterialProfile, IfcMaterialProfileSet, IfcMaterialProfileSetUsage, IfcMaterialProfileSetUsageTapering, IfcMaterialProfileWithOffsets, IfcMaterialProperties, IfcMaterialRelationship, IfcMaterialSelect, IfcMaterialUsageDefinition, IfcMeasureValue, IfcMeasureWithUnit, IfcMechanicalFastener, IfcMechanicalFastenerType, IfcMechanicalFastenerTypeEnum, IfcMedicalDevice, IfcMedicalDeviceType, IfcMedicalDeviceTypeEnum, IfcMember, IfcMemberStandardCase, IfcMemberType, IfcMemberTypeEnum, IfcMetric, IfcMetricValueSelect, IfcMirroredProfileDef, IfcModulusOfElasticityMeasure, IfcModulusOfLinearSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionMeasure, IfcModulusOfRotationalSubgradeReactionSelect, IfcModulusOfSubgradeReactionMeasure, IfcModulusOfSubgradeReactionSelect, IfcModulusOfTranslationalSubgradeReactionSelect, IfcMoistureDiffusivityMeasure, IfcMolecularWeightMeasure, IfcMomentOfInertiaMeasure, IfcMonetaryMeasure, IfcMonetaryUnit, IfcMonthInYearNumber, IfcMotorConnection, IfcMotorConnectionType, IfcMotorConnectionTypeEnum, IfcNamedUnit, IfcNonNegativeLengthMeasure, IfcNormalisedRatioMeasure, IfcNullStyle, IfcNumericMeasure, IfcObject, IfcObjectDefinition, IfcObjectPlacement, IfcObjectReferenceSelect, IfcObjectTypeEnum, IfcObjective, IfcObjectiveEnum, IfcOccupant, IfcOccupantTypeEnum, IfcOffsetCurve2D, IfcOffsetCurve3D, IfcOpenShell, IfcOpeningElement, IfcOpeningElementTypeEnum, IfcOpeningStandardCase, IfcOrganization, IfcOrganizationRelationship, IfcOrientedEdge, IfcOuterBoundaryCurve, IfcOutlet, IfcOutletType, IfcOutletTypeEnum, IfcOwnerHistory, IfcPHMeasure, IfcParameterValue, IfcParameterizedProfileDef, IfcPath, IfcPcurve, IfcPerformanceHistory, IfcPerformanceHistoryTypeEnum, IfcPermeableCoveringOperationEnum, IfcPermeableCoveringProperties, IfcPermit, IfcPermitTypeEnum, IfcPerson, IfcPersonAndOrganization, IfcPhysicalComplexQuantity, IfcPhysicalOrVirtualEnum, IfcPhysicalQuantity, IfcPhysicalSimpleQuantity, IfcPile, IfcPileConstructionEnum, IfcPileType, IfcPileTypeEnum, IfcPipeFitting, IfcPipeFittingType, IfcPipeFittingTypeEnum, IfcPipeSegment, IfcPipeSegmentType, IfcPipeSegmentTypeEnum, IfcPixelTexture, IfcPlacement, IfcPlanarBox, IfcPlanarExtent, IfcPlanarForceMeasure, IfcPlane, IfcPlaneAngleMeasure, IfcPlate, IfcPlateStandardCase, IfcPlateType, IfcPlateTypeEnum, IfcPoint, IfcPointOnCurve, IfcPointOnSurface, IfcPointOrVertexPoint, IfcPolyLoop, IfcPolygonalBoundedHalfSpace, IfcPolyline, IfcPort, IfcPositiveInteger, IfcPositiveLengthMeasure, IfcPositivePlaneAngleMeasure, IfcPositiveRatioMeasure, IfcPostalAddress, IfcPowerMeasure, IfcPreDefinedColour, IfcPreDefinedCurveFont, IfcPreDefinedItem, IfcPreDefinedProperties, IfcPreDefinedPropertySet, IfcPreDefinedTextFont, IfcPresentableText, IfcPresentationItem, IfcPresentationLayerAssignment, IfcPresentationLayerWithStyle, IfcPresentationStyle, IfcPresentationStyleAssignment, IfcPresentationStyleSelect, IfcPressureMeasure, IfcProcedure, IfcProcedureType, IfcProcedureTypeEnum, IfcProcess, IfcProcessSelect, IfcProduct, IfcProductDefinitionShape, IfcProductRepresentation, IfcProductRepresentationSelect, IfcProductSelect, IfcProfileDef, IfcProfileProperties, IfcProfileTypeEnum, IfcProject, IfcProjectLibrary, IfcProjectOrder, IfcProjectOrderTypeEnum, IfcProjectedCRS, IfcProjectedOrTrueLengthEnum, IfcProjectionElement, IfcProjectionElementTypeEnum, IfcProperty, IfcPropertyAbstraction, IfcPropertyBoundedValue, IfcPropertyDefinition, IfcPropertyDependencyRelationship, IfcPropertyEnumeratedValue, IfcPropertyEnumeration, IfcPropertyListValue, IfcPropertyReferenceValue, IfcPropertySet, IfcPropertySetDefinition, IfcPropertySetDefinitionSelect, IfcPropertySetDefinitionSet, IfcPropertySetTemplate, IfcPropertySetTemplateTypeEnum, IfcPropertySingleValue, IfcPropertyTableValue, IfcPropertyTemplate, IfcPropertyTemplateDefinition, IfcProtectiveDevice, IfcProtectiveDeviceTrippingUnit, IfcProtectiveDeviceTrippingUnitType, IfcProtectiveDeviceTrippingUnitTypeEnum, IfcProtectiveDeviceType, IfcProtectiveDeviceTypeEnum, IfcProxy, IfcPump, IfcPumpType, IfcPumpTypeEnum, IfcQuantityArea, IfcQuantityCount, IfcQuantityLength, IfcQuantitySet, IfcQuantityTime, IfcQuantityVolume, IfcQuantityWeight, IfcRadioActivityMeasure, IfcRailing, IfcRailingType, IfcRailingTypeEnum, IfcRamp, IfcRampFlight, IfcRampFlightType, IfcRampFlightTypeEnum, IfcRampType, IfcRampTypeEnum, IfcRatioMeasure, IfcRationalBSplineCurveWithKnots, IfcRationalBSplineSurfaceWithKnots, IfcReal, IfcRectangleHollowProfileDef, IfcRectangleProfileDef, IfcRectangularPyramid, IfcRectangularTrimmedSurface, IfcRecurrencePattern, IfcRecurrenceTypeEnum, IfcReference, IfcReflectanceMethodEnum, IfcRegularTimeSeries, IfcReinforcementBarProperties, IfcReinforcementDefinitionProperties, IfcReinforcingBar, IfcReinforcingBarRoleEnum, IfcReinforcingBarSurfaceEnum, IfcReinforcingBarType, IfcReinforcingBarTypeEnum, IfcReinforcingElement, IfcReinforcingElementType, IfcReinforcingMesh, IfcReinforcingMeshType, IfcReinforcingMeshTypeEnum, IfcRelAggregates, IfcRelAssigns, IfcRelAssignsToActor, IfcRelAssignsToControl, IfcRelAssignsToGroup, IfcRelAssignsToGroupByFactor, IfcRelAssignsToProcess, IfcRelAssignsToProduct, IfcRelAssignsToResource, IfcRelAssociates, IfcRelAssociatesApproval, IfcRelAssociatesClassification, IfcRelAssociatesConstraint, IfcRelAssociatesDocument, IfcRelAssociatesLibrary, IfcRelAssociatesMaterial, IfcRelConnects, IfcRelConnectsElements, IfcRelConnectsPathElements, IfcRelConnectsPortToElement, IfcRelConnectsPorts, IfcRelConnectsStructuralActivity, IfcRelConnectsStructuralMember, IfcRelConnectsWithEccentricity, IfcRelConnectsWithRealizingElements, IfcRelContainedInSpatialStructure, IfcRelCoversBldgElements, IfcRelCoversSpaces, IfcRelDeclares, IfcRelDecomposes, IfcRelDefines, IfcRelDefinesByObject, IfcRelDefinesByProperties, IfcRelDefinesByTemplate, IfcRelDefinesByType, IfcRelFillsElement, IfcRelFlowControlElements, IfcRelInterferesElements, IfcRelNests, IfcRelProjectsElement, IfcRelReferencedInSpatialStructure, IfcRelSequence, IfcRelServicesBuildings, IfcRelSpaceBoundary, IfcRelSpaceBoundary1stLevel, IfcRelSpaceBoundary2ndLevel, IfcRelVoidsElement, IfcRelationship, IfcReparametrisedCompositeCurveSegment, IfcRepresentation, IfcRepresentationContext, IfcRepresentationItem, IfcRepresentationMap, IfcResource, IfcResourceApprovalRelationship, IfcResourceConstraintRelationship, IfcResourceLevelRelationship, IfcResourceObjectSelect, IfcResourceSelect, IfcResourceTime, IfcRevolvedAreaSolid, IfcRevolvedAreaSolidTapered, IfcRightCircularCone, IfcRightCircularCylinder, IfcRoleEnum, IfcRoof, IfcRoofType, IfcRoofTypeEnum, IfcRoot, IfcRotationalFrequencyMeasure, IfcRotationalMassMeasure, IfcRotationalStiffnessMeasure, IfcRotationalStiffnessSelect, IfcRoundedRectangleProfileDef, IfcSIPrefix, IfcSIUnit, IfcSIUnitName, IfcSanitaryTerminal, IfcSanitaryTerminalType, IfcSanitaryTerminalTypeEnum, IfcSchedulingTime, IfcSectionModulusMeasure, IfcSectionProperties, IfcSectionReinforcementProperties, IfcSectionTypeEnum, IfcSectionalAreaIntegralMeasure, IfcSectionedSpine, IfcSegmentIndexSelect, IfcSensor, IfcSensorType, IfcSensorTypeEnum, IfcSequenceEnum, IfcShadingDevice, IfcShadingDeviceType, IfcShadingDeviceTypeEnum, IfcShapeAspect, IfcShapeModel, IfcShapeRepresentation, IfcShearModulusMeasure, IfcShell, IfcShellBasedSurfaceModel, IfcSimpleProperty, IfcSimplePropertyTemplate, IfcSimplePropertyTemplateTypeEnum, IfcSimpleValue, IfcSite, IfcSizeSelect, IfcSlab, IfcSlabElementedCase, IfcSlabStandardCase, IfcSlabType, IfcSlabTypeEnum, IfcSlippageConnectionCondition, IfcSolarDevice, IfcSolarDeviceType, IfcSolarDeviceTypeEnum, IfcSolidAngleMeasure, IfcSolidModel, IfcSolidOrShell, IfcSoundPowerLevelMeasure, IfcSoundPowerMeasure, IfcSoundPressureLevelMeasure, IfcSoundPressureMeasure, IfcSpace, IfcSpaceBoundarySelect, IfcSpaceHeater, IfcSpaceHeaterType, IfcSpaceHeaterTypeEnum, IfcSpaceType, IfcSpaceTypeEnum, IfcSpatialElement, IfcSpatialElementType, IfcSpatialStructureElement, IfcSpatialStructureElementType, IfcSpatialZone, IfcSpatialZoneType, IfcSpatialZoneTypeEnum, IfcSpecificHeatCapacityMeasure, IfcSpecularExponent, IfcSpecularHighlightSelect, IfcSpecularRoughness, IfcSphere, IfcStackTerminal, IfcStackTerminalType, IfcStackTerminalTypeEnum, IfcStair, IfcStairFlight, IfcStairFlightType, IfcStairFlightTypeEnum, IfcStairType, IfcStairTypeEnum, IfcStateEnum, IfcStructuralAction, IfcStructuralActivity, IfcStructuralActivityAssignmentSelect, IfcStructuralAnalysisModel, IfcStructuralConnection, IfcStructuralConnectionCondition, IfcStructuralCurveAction, IfcStructuralCurveActivityTypeEnum, IfcStructuralCurveConnection, IfcStructuralCurveMember, IfcStructuralCurveMemberTypeEnum, IfcStructuralCurveMemberVarying, IfcStructuralCurveReaction, IfcStructuralItem, IfcStructuralLinearAction, IfcStructuralLoad, IfcStructuralLoadCase, IfcStructuralLoadConfiguration, IfcStructuralLoadGroup, IfcStructuralLoadLinearForce, IfcStructuralLoadOrResult, IfcStructuralLoadPlanarForce, IfcStructuralLoadSingleDisplacement, IfcStructuralLoadSingleDisplacementDistortion, IfcStructuralLoadSingleForce, IfcStructuralLoadSingleForceWarping, IfcStructuralLoadStatic, IfcStructuralLoadTemperature, IfcStructuralMember, IfcStructuralPlanarAction, IfcStructuralPointAction, IfcStructuralPointConnection, IfcStructuralPointReaction, IfcStructuralReaction, IfcStructuralResultGroup, IfcStructuralSurfaceAction, IfcStructuralSurfaceActivityTypeEnum, IfcStructuralSurfaceConnection, IfcStructuralSurfaceMember, IfcStructuralSurfaceMemberTypeEnum, IfcStructuralSurfaceMemberVarying, IfcStructuralSurfaceReaction, IfcStyleAssignmentSelect, IfcStyleModel, IfcStyledItem, IfcStyledRepresentation, IfcSubContractResource, IfcSubContractResourceType, IfcSubContractResourceTypeEnum, IfcSubedge, IfcSurface, IfcSurfaceCurveSweptAreaSolid, IfcSurfaceFeature, IfcSurfaceFeatureTypeEnum, IfcSurfaceOfLinearExtrusion, IfcSurfaceOfRevolution, IfcSurfaceOrFaceSurface, IfcSurfaceReinforcementArea, IfcSurfaceSide, IfcSurfaceStyle, IfcSurfaceStyleElementSelect, IfcSurfaceStyleLighting, IfcSurfaceStyleRefraction, IfcSurfaceStyleRendering, IfcSurfaceStyleShading, IfcSurfaceStyleWithTextures, IfcSurfaceTexture, IfcSweptAreaSolid, IfcSweptDiskSolid, IfcSweptDiskSolidPolygonal, IfcSweptSurface, IfcSwitchingDevice, IfcSwitchingDeviceType, IfcSwitchingDeviceTypeEnum, IfcSystem, IfcSystemFurnitureElement, IfcSystemFurnitureElementType, IfcSystemFurnitureElementTypeEnum, IfcTShapeProfileDef, IfcTable, IfcTableColumn, IfcTableRow, IfcTank, IfcTankType, IfcTankTypeEnum, IfcTask, IfcTaskDurationEnum, IfcTaskTime, IfcTaskTimeRecurring, IfcTaskType, IfcTaskTypeEnum, IfcTelecomAddress, IfcTemperatureGradientMeasure, IfcTemperatureRateOfChangeMeasure, IfcTendon, IfcTendonAnchor, IfcTendonAnchorType, IfcTendonAnchorTypeEnum, IfcTendonType, IfcTendonTypeEnum, IfcTessellatedFaceSet, IfcTessellatedItem, IfcText, IfcTextAlignment, IfcTextDecoration, IfcTextFontName, IfcTextFontSelect, IfcTextLiteral, IfcTextLiteralWithExtent, IfcTextPath, IfcTextStyle, IfcTextStyleFontModel, IfcTextStyleForDefinedFont, IfcTextStyleTextModel, IfcTextTransformation, IfcTextureCoordinate, IfcTextureCoordinateGenerator, IfcTextureMap, IfcTextureVertex, IfcTextureVertexList, IfcThermalAdmittanceMeasure, IfcThermalConductivityMeasure, IfcThermalExpansionCoefficientMeasure, IfcThermalResistanceMeasure, IfcThermalTransmittanceMeasure, IfcThermodynamicTemperatureMeasure, IfcTime, IfcTimeMeasure, IfcTimeOrRatioSelect, IfcTimePeriod, IfcTimeSeries, IfcTimeSeriesDataTypeEnum, IfcTimeSeriesValue, IfcTimeStamp, IfcTopologicalRepresentationItem, IfcTopologyRepresentation, IfcTorqueMeasure, IfcTransformer, IfcTransformerType, IfcTransformerTypeEnum, IfcTransitionCode, IfcTranslationalStiffnessSelect, IfcTransportElement, IfcTransportElementType, IfcTransportElementTypeEnum, IfcTrapeziumProfileDef, IfcTriangulatedFaceSet, IfcTrimmedCurve, IfcTrimmingPreference, IfcTrimmingSelect, IfcTubeBundle, IfcTubeBundleType, IfcTubeBundleTypeEnum, IfcTypeObject, IfcTypeProcess, IfcTypeProduct, IfcTypeResource, IfcURIReference, IfcUShapeProfileDef, IfcUnit, IfcUnitAssignment, IfcUnitEnum, IfcUnitaryControlElement, IfcUnitaryControlElementType, IfcUnitaryControlElementTypeEnum, IfcUnitaryEquipment, IfcUnitaryEquipmentType, IfcUnitaryEquipmentTypeEnum, IfcValue, IfcValve, IfcValveType, IfcValveTypeEnum, IfcVaporPermeabilityMeasure, IfcVector, IfcVectorOrDirection, IfcVertex, IfcVertexLoop, IfcVertexPoint, IfcVibrationIsolator, IfcVibrationIsolatorType, IfcVibrationIsolatorTypeEnum, IfcVirtualElement, IfcVirtualGridIntersection, IfcVoidingFeature, IfcVoidingFeatureTypeEnum, IfcVolumeMeasure, IfcVolumetricFlowRateMeasure, IfcWall, IfcWallElementedCase, IfcWallStandardCase, IfcWallType, IfcWallTypeEnum, IfcWarpingConstantMeasure, IfcWarpingMomentMeasure, IfcWarpingStiffnessSelect, IfcWasteTerminal, IfcWasteTerminalType, IfcWasteTerminalTypeEnum, IfcWindow, IfcWindowLiningProperties, IfcWindowPanelOperationEnum, IfcWindowPanelPositionEnum, IfcWindowPanelProperties, IfcWindowStandardCase, IfcWindowStyle, IfcWindowStyleConstructionEnum, IfcWindowStyleOperationEnum, IfcWindowType, IfcWindowTypeEnum, IfcWindowTypePartitioningEnum, IfcWorkCalendar, IfcWorkCalendarTypeEnum, IfcWorkControl, IfcWorkPlan, IfcWorkPlanTypeEnum, IfcWorkSchedule, IfcWorkScheduleTypeEnum, IfcWorkTime, IfcZShapeProfileDef, IfcZone, UNDEFINED } Enum; Enum Parent(Enum v); Enum FromString(const std::string& s);