From f5c102402f500e0fb2238d7df8b4fafa66f1d2de Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Thu, 22 Jun 2023 10:07:18 +0200 Subject: [PATCH] #2805 rerun codegen --- src/ifcparse/Ifc2x3.h | 46 ++++++++++++++++++++++++++ src/ifcparse/Ifc4.h | 60 ++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x1.h | 60 ++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x2.h | 60 ++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_add1.h | 61 ++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_rc1.h | 66 +++++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_rc2.h | 67 ++++++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_rc3.h | 64 ++++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_rc4.h | 64 ++++++++++++++++++++++++++++++++++++ src/ifcparse/Ifc4x3_tc1.h | 61 ++++++++++++++++++++++++++++++++++ 10 files changed, 609 insertions(+) diff --git a/src/ifcparse/Ifc2x3.h b/src/ifcparse/Ifc2x3.h index 432347b98d..9e81fc39fa 100644 --- a/src/ifcparse/Ifc2x3.h +++ b/src/ifcparse/Ifc2x3.h @@ -65,6 +65,7 @@ class Ifc2DCompositeCurve; class IfcActionRequest; class IfcActor; class IfcActo class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -112,6 +115,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// The character style select allows for a selection of character styles for text. Currently only text color and background color is selectable. /// @@ -124,11 +128,13 @@ public: class IFC_PARSE_API IfcCharacterStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCharacterStyleSelect > list; }; class IFC_PARSE_API IfcClassificationNotationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationNotationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -138,6 +144,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -145,11 +152,13 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; class IFC_PARSE_API IfcConditionCriterionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcConditionCriterionSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -160,6 +169,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -169,6 +179,7 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -181,6 +192,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -190,11 +202,13 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; class IFC_PARSE_API IfcDateTimeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDateTimeSelect > list; }; /// The defined symbol select is a selection between a predefined symbol and an externally defined symbol. /// @@ -204,6 +218,7 @@ public: class IFC_PARSE_API IfcDefinedSymbolSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinedSymbolSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -282,6 +297,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -294,11 +310,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcDraughtingCalloutElement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDraughtingCalloutElement > list; }; /// The fill area style tile shape select is used to make a selection for the style of the fill area style tile. /// @@ -310,6 +328,7 @@ public: class IFC_PARSE_API IfcFillAreaStyleTileShapeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillAreaStyleTileShapeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -320,6 +339,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -329,6 +349,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -336,6 +357,7 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -347,6 +369,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -361,6 +384,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -387,6 +411,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -417,6 +442,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -430,6 +456,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -446,6 +473,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -453,11 +481,13 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; class IFC_PARSE_API IfcOrientationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcOrientationSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -469,6 +499,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -481,6 +512,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// 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 < ¥. /// @@ -496,6 +528,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -519,6 +552,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -535,6 +569,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -549,6 +584,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -562,6 +598,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -575,6 +612,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -588,6 +626,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// The symbol style select allows for the selection of styles to be assigned to an annotated symbol. /// @@ -599,6 +638,7 @@ public: class IFC_PARSE_API IfcSymbolStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSymbolStyleSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -610,6 +650,7 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// The text style select allows for the selection of styles to be assigned to an annotated text. The text style determines the text model that affect the visual presentation of characters, spaces, words, and paragraphs. There are two choices: /// @@ -623,6 +664,7 @@ public: class IFC_PARSE_API IfcTextStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -632,6 +674,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -649,6 +692,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -663,6 +707,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -675,6 +720,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; class IFC_PARSE_API IfcActionSourceTypeEnum : public IfcUtil::IfcBaseType { /// Definition from IAI:This enumeration type contains possible diff --git a/src/ifcparse/Ifc4.h b/src/ifcparse/Ifc4.h index 4ae5c6d32d..7456d69988 100644 --- a/src/ifcparse/Ifc4.h +++ b/src/ifcparse/Ifc4.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,11 +201,13 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -207,6 +220,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -216,6 +230,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -227,6 +242,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -305,6 +321,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -317,6 +334,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -327,6 +345,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -336,6 +355,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -348,6 +368,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -355,6 +376,7 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -366,6 +388,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -380,6 +403,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -406,6 +430,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -436,6 +461,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -449,6 +475,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -465,6 +492,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -472,6 +500,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -479,6 +508,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -486,6 +516,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -493,6 +524,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -504,6 +536,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -516,6 +549,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -530,11 +564,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -548,11 +584,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -560,6 +598,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -573,6 +612,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -580,11 +620,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -600,6 +642,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -623,6 +666,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -639,6 +683,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -650,6 +695,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -666,6 +712,7 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -680,6 +727,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -693,6 +741,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -707,6 +756,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -720,6 +770,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -733,6 +784,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -744,12 +796,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -757,6 +811,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -766,6 +821,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -783,6 +839,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -797,6 +854,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -809,6 +867,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -816,6 +875,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x1.h b/src/ifcparse/Ifc4x1.h index d6b3731e83..bbb55dd08d 100644 --- a/src/ifcparse/Ifc4x1.h +++ b/src/ifcparse/Ifc4x1.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,11 +201,13 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -207,6 +220,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -216,6 +230,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -227,6 +242,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -305,6 +321,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -317,6 +334,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -327,6 +345,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -336,6 +355,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -348,6 +368,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -355,6 +376,7 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -366,6 +388,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -380,6 +403,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -406,6 +430,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -436,6 +461,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -449,6 +475,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -465,6 +492,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -472,6 +500,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -479,6 +508,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -486,6 +516,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -493,6 +524,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -504,6 +536,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -516,6 +549,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -530,11 +564,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -548,11 +584,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -560,6 +598,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -573,6 +612,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -580,11 +620,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -600,6 +642,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -623,6 +666,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -639,6 +683,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -650,6 +695,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -666,6 +712,7 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -680,6 +727,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -693,6 +741,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -707,6 +756,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -720,6 +770,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -733,6 +784,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -744,12 +796,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -757,6 +811,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -766,6 +821,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -783,6 +839,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -797,6 +854,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -809,6 +867,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -816,6 +875,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x2.h b/src/ifcparse/Ifc4x2.h index 743e1c03f3..2dc445cd26 100644 --- a/src/ifcparse/Ifc4x2.h +++ b/src/ifcparse/Ifc4x2.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,11 +201,13 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -207,6 +220,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -216,6 +230,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -227,6 +242,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -305,6 +321,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -317,6 +334,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -327,6 +345,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -336,6 +355,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -348,6 +368,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -355,6 +376,7 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -366,6 +388,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -380,6 +403,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -406,6 +430,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -436,6 +461,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -449,6 +475,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -465,6 +492,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -472,6 +500,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -479,6 +508,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -486,6 +516,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -493,6 +524,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -504,6 +536,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -516,6 +549,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -530,11 +564,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -548,11 +584,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -560,6 +598,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -573,6 +612,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -580,11 +620,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -600,6 +642,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -623,6 +666,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -639,6 +683,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -650,6 +695,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -666,6 +712,7 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -680,6 +727,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -693,6 +741,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -707,6 +756,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -720,6 +770,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -733,6 +784,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -744,12 +796,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -757,6 +811,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -766,6 +821,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -783,6 +839,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -797,6 +854,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -809,6 +867,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -816,6 +875,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_add1.h b/src/ifcparse/Ifc4x3_add1.h index 008228268d..a92381f7c3 100644 --- a/src/ifcparse/Ifc4x3_add1.h +++ b/src/ifcparse/Ifc4x3_add1.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,6 +340,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -332,6 +351,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -341,6 +361,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -353,6 +374,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -360,11 +382,13 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -376,6 +400,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -390,6 +415,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -416,6 +442,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -446,6 +473,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -459,6 +487,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -475,6 +504,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -482,6 +512,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -489,6 +520,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -496,6 +528,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -503,6 +536,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -514,6 +548,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -528,11 +563,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -546,11 +583,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -558,6 +597,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -571,6 +611,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -578,11 +619,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -598,6 +641,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -621,6 +665,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -637,6 +682,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -648,6 +694,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -664,11 +711,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -683,6 +732,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -696,6 +746,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -709,6 +760,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -722,6 +774,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -733,12 +786,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -746,6 +801,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -755,6 +811,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -772,6 +829,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -786,6 +844,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -798,6 +857,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -805,6 +865,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_rc1.h b/src/ifcparse/Ifc4x3_rc1.h index 26b73912c4..ab5ab49ca6 100644 --- a/src/ifcparse/Ifc4x3_rc1.h +++ b/src/ifcparse/Ifc4x3_rc1.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,11 +201,13 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -207,6 +220,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -216,6 +230,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -227,6 +242,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -305,6 +321,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -317,11 +334,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFacilityPartTypeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -332,6 +351,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -341,6 +361,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -353,6 +374,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -360,16 +382,19 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcImpactProtectionDeviceTypeSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -381,6 +406,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -395,6 +421,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -421,11 +448,13 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLinearAxisSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -456,6 +485,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -469,6 +499,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -485,6 +516,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -492,6 +524,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -499,6 +532,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -506,6 +540,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -513,6 +548,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -524,6 +560,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -536,6 +573,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -550,11 +588,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -568,11 +608,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -580,6 +622,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -593,6 +636,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -600,11 +644,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -620,6 +666,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -643,6 +690,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -659,6 +707,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -670,6 +719,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -686,11 +736,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -705,6 +757,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -718,6 +771,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -732,6 +786,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -745,6 +800,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -758,6 +814,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -769,12 +826,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -782,11 +841,13 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTransportElementTypeSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -796,6 +857,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -813,6 +875,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -827,6 +890,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -839,6 +903,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -846,6 +911,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_rc2.h b/src/ifcparse/Ifc4x3_rc2.h index e628563965..ce2f0b0f75 100644 --- a/src/ifcparse/Ifc4x3_rc2.h +++ b/src/ifcparse/Ifc4x3_rc2.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,11 +340,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFacilityPartTypeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -337,6 +357,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -346,6 +367,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -358,6 +380,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -365,16 +388,19 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcImpactProtectionDeviceTypeSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -386,6 +412,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -400,6 +427,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -426,11 +454,13 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; class IFC_PARSE_API IfcLinearAxisSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLinearAxisSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -461,6 +491,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -474,6 +505,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -490,6 +522,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -497,6 +530,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -504,6 +538,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -511,6 +546,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -518,6 +554,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -529,6 +566,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// Definition from ISO/CD 10303-46:1992: The presentation style select is a selection of one of many kinds of styles, a different one for each kind of geometric representation item to be styled. /// @@ -541,6 +579,7 @@ public: class IFC_PARSE_API IfcPresentationStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPresentationStyleSelect > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -555,11 +594,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -573,11 +614,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -585,6 +628,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -598,6 +642,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -605,11 +650,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -625,6 +672,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -648,6 +696,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -664,6 +713,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -675,6 +725,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -691,11 +742,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -710,6 +763,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -723,6 +777,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// The style assignment select is a selection of two wasy of assigning presentation styles to an IfcStyledItem. /// @@ -737,6 +792,7 @@ public: class IFC_PARSE_API IfcStyleAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStyleAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -750,6 +806,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -763,6 +820,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -774,12 +832,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -787,11 +847,13 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTransportElementTypeSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -801,6 +863,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -818,6 +881,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -832,6 +896,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -844,6 +909,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -851,6 +917,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_rc3.h b/src/ifcparse/Ifc4x3_rc3.h index 7e751ad9c4..51ad0d8fc2 100644 --- a/src/ifcparse/Ifc4x3_rc3.h +++ b/src/ifcparse/Ifc4x3_rc3.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,11 +340,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFacilityPartTypeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -337,6 +357,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -346,6 +367,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -358,6 +380,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -365,16 +388,19 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcImpactProtectionDeviceTypeSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -386,6 +412,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -400,6 +427,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -426,6 +454,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -456,6 +485,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -469,6 +499,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -485,6 +516,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -492,6 +524,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -499,6 +532,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -506,6 +540,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -513,6 +548,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -524,6 +560,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -538,11 +575,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -556,11 +595,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -568,6 +609,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -581,6 +623,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -588,11 +631,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -608,6 +653,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -631,6 +677,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -647,6 +694,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -658,6 +706,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -674,11 +723,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -693,6 +744,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -706,6 +758,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -719,6 +772,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -732,6 +786,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -743,12 +798,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -756,11 +813,13 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTransportElementTypeSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -770,6 +829,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -787,6 +847,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -801,6 +862,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -813,6 +875,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -820,6 +883,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_rc4.h b/src/ifcparse/Ifc4x3_rc4.h index eb3eca5b1b..fa0730d1e4 100644 --- a/src/ifcparse/Ifc4x3_rc4.h +++ b/src/ifcparse/Ifc4x3_rc4.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,11 +340,13 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; class IFC_PARSE_API IfcFacilityPartTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFacilityPartTypeSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -337,6 +357,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -346,6 +367,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -358,6 +380,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -365,16 +388,19 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcImpactProtectionDeviceTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcImpactProtectionDeviceTypeSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -386,6 +412,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -400,6 +427,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -426,6 +454,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -456,6 +485,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -469,6 +499,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -485,6 +516,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -492,6 +524,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -499,6 +532,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -506,6 +540,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -513,6 +548,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -524,6 +560,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -538,11 +575,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -556,11 +595,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -568,6 +609,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -581,6 +623,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -588,11 +631,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -608,6 +653,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -631,6 +677,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -647,6 +694,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -658,6 +706,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -674,11 +723,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -693,6 +744,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -706,6 +758,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -719,6 +772,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -732,6 +786,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -743,12 +798,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -756,11 +813,13 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; class IFC_PARSE_API IfcTransportElementTypeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTransportElementTypeSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -770,6 +829,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -787,6 +847,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -801,6 +862,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -813,6 +875,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -820,6 +883,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made. diff --git a/src/ifcparse/Ifc4x3_tc1.h b/src/ifcparse/Ifc4x3_tc1.h index 7874b23318..14b1e37aaa 100644 --- a/src/ifcparse/Ifc4x3_tc1.h +++ b/src/ifcparse/Ifc4x3_tc1.h @@ -65,6 +65,7 @@ class IfcActionRequest; class IfcActor; class IfcActorRole; class IfcActuator; c class IFC_PARSE_API IfcActorSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcActorSelect > list; }; /// IfcAppliedValueSelect defines the selection of whether a value (expressed as a ratio) or an amount should be used as the value for an IfcAppliedValue. /// @@ -83,6 +84,7 @@ public: class IFC_PARSE_API IfcAppliedValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAppliedValueSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type collects together both versions of the placement as used in two dimensional or in three dimensional Cartesian space. This enables entities requiring this information to reference them without specifying the space dimensionality. /// @@ -92,6 +94,7 @@ public: class IFC_PARSE_API IfcAxis2Placement : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcAxis2Placement > list; }; /// Definition from IAI: A select type for selecting between simple measure types for reinforcement bending parameters. /// @@ -99,6 +102,7 @@ public: class IFC_PARSE_API IfcBendingParameterSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBendingParameterSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies /// all those types of entities which may participate in a Boolean operation to @@ -119,6 +123,7 @@ public: class IFC_PARSE_API IfcBooleanOperand : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcBooleanOperand > list; }; /// IfcClassificationReferenceSelect enables selection of whether a classification reference is a subset of another classification reference or is a top level entry of a classification source. /// @@ -131,6 +136,7 @@ public: class IFC_PARSE_API IfcClassificationReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationReferenceSelect > list; }; /// IfcClassificationSelect enables selection of whether a classification reference is to be referenced from an external source, or whether a classification is referenced as such. /// @@ -148,6 +154,7 @@ public: class IFC_PARSE_API IfcClassificationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcClassificationSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The colour entity defines a basic appearance of elements which shall be visualized in a picture. /// @@ -157,6 +164,7 @@ public: class IFC_PARSE_API IfcColour : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColour > list; }; /// The IfcColourOrFactor enables the selection of either a RGB colour value or a scalar factor value for the use as values of the reflectance components. /// @@ -164,6 +172,7 @@ public: class IFC_PARSE_API IfcColourOrFactor : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcColourOrFactor > list; }; /// IfcCoordinateReferenceSystemSelect is a select between either the local engineering coordinate system, represented by the IfcGeometricRepresentationContext, or another coordinate reference system, represented by IfcCoordinateReferenceSystem, to be the source of a coordinate operation. /// @@ -171,6 +180,7 @@ public: class IFC_PARSE_API IfcCoordinateReferenceSystemSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCoordinateReferenceSystemSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This type identifies the types of entity which may be selected as the root of a CSG tree including a single CSG primitive as a special case. /// Definition from IAI: The IfcBooleanResult, and subtypes of IfcCsgPrimitive3D are defined as potential root tree expression (at IfcCsgSolid). A subtype of IfcCsgPrimitive3D marks the special case of a CSG solid solely expressed by a single primitive. @@ -181,6 +191,7 @@ public: class IFC_PARSE_API IfcCsgSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCsgSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The curve font or scaled curve font select is a selection of either a curve font style select (being either a predefined curve font or an explicitly defined curve font) or a curve style font and scaling. /// @@ -190,16 +201,19 @@ public: class IFC_PARSE_API IfcCurveFontOrScaledCurveFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveFontOrScaledCurveFontSelect > list; }; class IFC_PARSE_API IfcCurveMeasureSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveMeasureSelect > list; }; class IFC_PARSE_API IfcCurveOnSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOnSurface > list; }; /// IfcCurveOrEdgeCurve provides the option to either select a geometric curve (IfcCurve /// and subtypes) within a geometric model, or a curve with associated geometry and coordinates (IfcEdgeCurve) within a topological model. @@ -212,6 +226,7 @@ public: class IFC_PARSE_API IfcCurveOrEdgeCurve : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveOrEdgeCurve > list; }; /// Definition from ISO/CD 10303-46:1992: The curve style font select is a selection of a curve style font or a predefined curve style font. /// @@ -221,6 +236,7 @@ public: class IFC_PARSE_API IfcCurveStyleFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcCurveStyleFontSelect > list; }; /// IfcDefinitionSelectprovides the option to either select an object or type object IfcObjectDefinition, or a property set template or property set, IfcPropertyDefinition. /// SELECT @@ -232,6 +248,7 @@ public: class IFC_PARSE_API IfcDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDefinitionSelect > list; }; /// IfcDerivedMeasureValue is a select type for selecting between derived measure types. /// @@ -310,6 +327,7 @@ public: class IFC_PARSE_API IfcDerivedMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDerivedMeasureValue > list; }; /// IfcDocumentSelect enables selection of whether document information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -322,6 +340,7 @@ public: class IFC_PARSE_API IfcDocumentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcDocumentSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The fill style select is a selection between different fill area styles. /// @@ -332,6 +351,7 @@ public: class IFC_PARSE_API IfcFillStyleSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcFillStyleSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the types of entities which can occur in a geometric set. /// @@ -341,6 +361,7 @@ public: class IFC_PARSE_API IfcGeometricSetSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGeometricSetSelect > list; }; /// IfcGridPlacementDirectionSelect enables the choice of defining a grid placement be either an explicit direction, or by referencing a second grid intersection to provide the direction. /// @@ -353,6 +374,7 @@ public: class IFC_PARSE_API IfcGridPlacementDirectionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcGridPlacementDirectionSelect > list; }; /// The IfcHatchLineDistanceSelect is a selection between different ways to determine the distance and potentially start point of hatch lines, either by an offset distance length measure or by a vector. /// @@ -360,11 +382,13 @@ public: class IFC_PARSE_API IfcHatchLineDistanceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcHatchLineDistanceSelect > list; }; class IFC_PARSE_API IfcInterferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcInterferenceSelect > list; }; /// Definition from ISO/CD 10303-46:1992: The layered things type selects those things, which can be grouped in layers. /// @@ -376,6 +400,7 @@ public: class IFC_PARSE_API IfcLayeredItem : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLayeredItem > list; }; /// IfcLibrarySelect enables selection of whether library information is to be contained within an IFC model or is to be referenced from an external source. /// @@ -390,6 +415,7 @@ public: class IFC_PARSE_API IfcLibrarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLibrarySelect > list; }; /// A goniometric light gets its intensity distribution function (how much light goes in any one direction) from one of two sources: (i) an industry-standard file, (ii) from distribution data passed directly via the IfcLightIntensityDistribution. /// @@ -416,6 +442,7 @@ public: class IFC_PARSE_API IfcLightDistributionDataSourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcLightDistributionDataSourceSelect > list; }; /// IfcMaterialSelect provides selection of either a material /// definition or a material usage definition that can be assigned to @@ -446,6 +473,7 @@ public: class IFC_PARSE_API IfcMaterialSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMaterialSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A measure value is a value as defined in ISO 31-0 (clause 2). /// @@ -459,6 +487,7 @@ public: class IFC_PARSE_API IfcMeasureValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMeasureValue > list; }; /// IfcMetricValueSelect is a select type that enables selection of the data type for the value component of an IfcMetric. /// @@ -475,6 +504,7 @@ public: class IFC_PARSE_API IfcMetricValueSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcMetricValueSelect > list; }; /// Definition from IAI: A measure for modulus of rotational subgrade reaction which expresses the rotational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -482,6 +512,7 @@ public: class IFC_PARSE_API IfcModulusOfRotationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfRotationalSubgradeReactionSelect > list; }; /// Definition from IAI: Bedding measure which expresses the bedding of a structural face item per area. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -489,6 +520,7 @@ public: class IFC_PARSE_API IfcModulusOfSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfSubgradeReactionSelect > list; }; /// Definition from IAI: A measure for modulus of translational subgrade reaction which expresses the translational bedding of a structural curve item per length. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -496,6 +528,7 @@ public: class IFC_PARSE_API IfcModulusOfTranslationalSubgradeReactionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcModulusOfTranslationalSubgradeReactionSelect > list; }; /// IfcObjectReferenceSelect is a select type, that holds a list of resource level entities that can be used as properties within a property set. /// @@ -503,6 +536,7 @@ public: class IFC_PARSE_API IfcObjectReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcObjectReferenceSelect > list; }; /// IfcPointOrVertexPoint provides the option to either select a geometric point (IfcPoint and subtypes) within a geometric model, or a vertex with associated point coordinates (IfcVertexPoint) within a topological model. /// SELECT @@ -514,6 +548,7 @@ public: class IFC_PARSE_API IfcPointOrVertexPoint : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPointOrVertexPoint > list; }; /// IfcProcessSelectprovides the option to either /// select a process or activity occurrence, IfcProcess, @@ -528,11 +563,13 @@ public: class IFC_PARSE_API IfcProcessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProcessSelect > list; }; class IFC_PARSE_API IfcProductRepresentationSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductRepresentationSelect > list; }; /// IfcProductSelectprovides the option to either select a /// product occurrence, IfcProduct, or a product type, @@ -546,11 +583,13 @@ public: class IFC_PARSE_API IfcProductSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcProductSelect > list; }; class IFC_PARSE_API IfcPropertySetDefinitionSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcPropertySetDefinitionSelect > list; }; /// IfcResourceObjectSelect enables selection of resource level objects that are to be related to an resource level relationship object. The use of IfcResourceObjectSelect includes the ability to assign an external reference entity (library, classification, or documentation reference) to entities within the resource level. /// @@ -558,6 +597,7 @@ public: class IFC_PARSE_API IfcResourceObjectSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceObjectSelect > list; }; /// IfcResourceSelectprovides the option to either select a /// resource occurrence, IfcResource, or a resource type, @@ -571,6 +611,7 @@ public: class IFC_PARSE_API IfcResourceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcResourceSelect > list; }; /// Definition from IAI: A measure of rotational stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -578,11 +619,13 @@ public: class IFC_PARSE_API IfcRotationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcRotationalStiffnessSelect > list; }; class IFC_PARSE_API IfcSegmentIndexSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSegmentIndexSelect > list; }; /// 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 < ¥. /// @@ -598,6 +641,7 @@ public: class IFC_PARSE_API IfcShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcShell > list; }; /// IfcSimpleValue is a select type for selecting between simple value types. /// @@ -621,6 +665,7 @@ public: class IFC_PARSE_API IfcSimpleValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSimpleValue > list; }; /// Definition from ISO/CD 10303-46:1992: The size select is a selection of a specific positive length measure. /// @@ -637,6 +682,7 @@ public: class IFC_PARSE_API IfcSizeSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSizeSelect > list; }; /// The IfcSolidOrShell provides the option to either select a geometric volume (IfcSolidModel and subtypes) within a geometric model, or a shell (IfcClosedShell) within a topological model. /// SELECT @@ -648,6 +694,7 @@ public: class IFC_PARSE_API IfcSolidOrShell : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSolidOrShell > list; }; /// Definition from IAI: The /// IfcSpaceBoundarySelectselects either an internal space @@ -664,11 +711,13 @@ public: class IFC_PARSE_API IfcSpaceBoundarySelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpaceBoundarySelect > list; }; class IFC_PARSE_API IfcSpatialReferenceSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpatialReferenceSelect > list; }; /// The IfcSpecularHighlightSelect defines the selectable types of value for specular highlight sharpness. /// @@ -683,6 +732,7 @@ public: class IFC_PARSE_API IfcSpecularHighlightSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSpecularHighlightSelect > list; }; /// Definition from IAI: This type definition shall be used to /// distinguish between a reference to an instance either of @@ -696,6 +746,7 @@ public: class IFC_PARSE_API IfcStructuralActivityAssignmentSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcStructuralActivityAssignmentSelect > list; }; /// IfcSurfaceOrFaceSurface provides the option to either select a geometric surface (IfcSurface /// and subtypes) within a geometric model, or a face with associated surface geometry and coordinates (IfcFaceSurface) within a topological model. @@ -709,6 +760,7 @@ public: class IFC_PARSE_API IfcSurfaceOrFaceSurface : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceOrFaceSurface > list; }; /// Definition from ISO/CD 10303-46:1992: The surface style element select is a selection of the different surface styles to use in the presentation of the side of a surface. /// @@ -722,6 +774,7 @@ public: class IFC_PARSE_API IfcSurfaceStyleElementSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcSurfaceStyleElementSelect > list; }; /// IfcTextFontSelect allows for either a predefined text font, a text font model or an externally defined text font to be used to describe the font of a text literal. The definition of the text font model is based on W3C TR Cascading Style Sheet Version 1, whereas the definition of predefined text font is based on ISO 10303. /// @@ -733,12 +786,14 @@ public: class IFC_PARSE_API IfcTextFontSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTextFontSelect > list; }; /// IfcTimeOrRatioSelect allows a value to be selected as being either a ratio or a time measure. /// HISTORY New SELECT in IFC2x4 class IFC_PARSE_API IfcTimeOrRatioSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTimeOrRatioSelect > list; }; /// Definition from IAI: A measure of linear stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -746,6 +801,7 @@ public: class IFC_PARSE_API IfcTranslationalStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTranslationalStiffnessSelect > list; }; /// Definition from ISO/CD 10303-42:1992: This select type identifies the two possible ways of trimming a parametric curve; by a Cartesian point on the curve, or by a REAL number defining a parameter value within the parametric range of the curve. /// @@ -755,6 +811,7 @@ public: class IFC_PARSE_API IfcTrimmingSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcTrimmingSelect > list; }; /// Definition from ISO/CD 10303-41:1992: A unit is a physical quantity, with a value of one, which is used as a standard in terms of which other quantities are expressed. /// @@ -772,6 +829,7 @@ public: class IFC_PARSE_API IfcUnit : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcUnit > list; }; /// IfcValue is a select type for selecting between more specialised select types IfcSimpleValue, /// IfcMeasureValue and IfcDerivedMeasureValue. @@ -786,6 +844,7 @@ public: class IFC_PARSE_API IfcValue : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcValue > list; }; /// Definition from ISO/CD 10303-42:1992: This type is used to /// identify the types of entity which can participate in vector computations. @@ -798,6 +857,7 @@ public: class IFC_PARSE_API IfcVectorOrDirection : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcVectorOrDirection > list; }; /// Definition from IAI: A measure of warping stiffness. TRUE denotes infinite stiffness (rigidity). FALSE denotes no stiffness (a release). A numeric value denotes finite linear-elastic stiffness. /// @@ -805,6 +865,7 @@ public: class IFC_PARSE_API IfcWarpingStiffnessSelect : public virtual IfcUtil::IfcBaseInterface { public: static const IfcParse::select_type& Class(); + typedef aggregate_of< IfcWarpingStiffnessSelect > list; }; class IFC_PARSE_API IfcActionRequestTypeEnum : public IfcUtil::IfcBaseType { /// IfcActionRequestTypeEnum defines the types of sources through which a request can be made.