From ef97ea0593cb3938011c0768fc6c0c3bab5e7635 Mon Sep 17 00:00:00 2001 From: Thomas Krijnen Date: Mon, 29 Jan 2018 15:03:12 +0100 Subject: [PATCH] Properly toposort type decl instantiation --- src/ifcexpressparser/schema.py | 9 + src/ifcexpressparser/schema_class.py | 98 +- src/ifcparse/Ifc2x3-schema.cpp | 1362 ++++++++++----------- src/ifcparse/Ifc4-schema.cpp | 1650 +++++++++++++------------- 4 files changed, 1564 insertions(+), 1555 deletions(-) diff --git a/src/ifcexpressparser/schema.py b/src/ifcexpressparser/schema.py index f29ac016c9..c931585826 100644 --- a/src/ifcexpressparser/schema.py +++ b/src/ifcexpressparser/schema.py @@ -60,6 +60,12 @@ class Schema: return str(v) in self.types def is_entity(self, v): return str(v) in self.entities + def __len__(self): + return len(self.types) + len(self.entities) + def __iter__(self): + return iter(self.keys) + def __getitem__(self, key): + return self.types_entities[key] def __init__(self, parsetree): self.name = parsetree[1] @@ -67,6 +73,9 @@ class Schema: self.types = sort([(t.name,t) for t in parsetree if isinstance(t, nodes.TypeDeclaration)]) self.entities = sort([(t.name,t) for t in parsetree if isinstance(t, nodes.EntityDeclaration)]) + + self.keys = list(self.types.keys()) + list(self.entities.keys()) + self.types_entities = {k: v for d in (self.types, self.entities) for k, v in d.items()} of_type = lambda *types: sort([(a, b.type.type) for a,b in self.types.items() if any(isinstance(b.type.type, ty) for ty in types)]) diff --git a/src/ifcexpressparser/schema_class.py b/src/ifcexpressparser/schema_class.py index ce76172954..8ce5d9d0dd 100644 --- a/src/ifcexpressparser/schema_class.py +++ b/src/ifcexpressparser/schema_class.py @@ -38,7 +38,7 @@ class SchemaClass(codegen.Base): aggr_type = type.aggregate_type make_bound = lambda b: -1 if b == '?' else int(b) bound1, bound2 = map(make_bound, (type.bounds.lower, type.bounds.upper)) - decl_type = get_declared_type(type.type) + decl_type = get_declared_type(type.type, emitted_names) return "new aggregation_type(aggregation_type::%(aggr_type)s_type, %(bound1)d, %(bound2)d, %(decl_type)s)" % locals() elif isinstance(type, nodes.BinaryType): return "new simple_type(simple_type::binary_type)" @@ -46,7 +46,7 @@ class SchemaClass(codegen.Base): return "new simple_type(simple_type::string_type)" elif isinstance(type, str): if mapping.schema.is_type(type) or mapping.schema.is_entity(type): - if emitted_names is None or type.lower() in emitted_types: + if emitted_names is None or type.lower() in emitted_names: return "new named_type(%s_%s_type)" % (schema_name, type) else: raise UnmetDependenciesException(type) @@ -101,63 +101,63 @@ class SchemaClass(codegen.Base): """) statements.append('IfcParse::schema_definition* %(schema_name)s_populate_schema() {' % locals()) - emitted_types = set() - while len(emitted_types) < len(mapping.schema.simpletypes): - for name, type in mapping.schema.simpletypes.items(): - if name.lower() in emitted_types: continue - - try: - declared_type = get_declared_type(type, emitted_types) - except UnmetDependenciesException: - # print("Unmet", repr(name)) - continue + emitted = set() + len_to_emit = len(mapping.schema) + + def write_simpletype(schema_name, name, type): + try: + declared_type = get_declared_type(type, emitted) + except UnmetDependenciesException: + print("Unmet", repr(name)) + return False - statements.append(' %(schema_name)s_%(name)s_type = new type_declaration("%(name)s", %%(index_in_schema_%(name)s)d, %(declared_type)s);' % locals()) - emitted_types.add(name.lower()) - - declared_types.append('%(schema_name)s_%(name)s_type' % locals()) - declarations_by_index.append(name) - - for name, enum in mapping.schema.enumerations.items(): + statements.append(' %(schema_name)s_%(name)s_type = new type_declaration("%(name)s", %%(index_in_schema_%(name)s)d, %(declared_type)s);' % locals()) + + def write_enumeration(schema_name, name, enum): statements.append(' {') statements.append(' std::vector items; items.reserve(%d);' % len(enum.values)) statements.extend(map(lambda v: ' items.push_back("%s");' % v, sorted(enum.values))) statements.append(' %(schema_name)s_%(name)s_type = new enumeration_type("%(name)s", %%(index_in_schema_%(name)s)d, items);' % locals()) statements.append(' }') - declared_types.append('%(schema_name)s_%(name)s_type' % locals()) - declarations_by_index.append(name) + def write_entity(schema_name, name, type): + if len(type.supertypes) == 0 or set(map(lambda s: s.lower(), type.supertypes)) < emitted: + supertype = '0' if len(type.supertypes) == 0 else '%s_%s_type' % (schema_name, type.supertypes[0]) + statements.append(' %(schema_name)s_%(name)s_type = new entity("%(name)s", %%(index_in_schema_%(name)s)d, %(supertype)s);' % locals()) + else: return False + + def write_select(schema_name, name, type): + if set(map(lambda s: s.lower(),type.values)) < emitted: + statements.append(' {') + statements.append(' std::vector items; items.reserve(%d);' % len(type.values)) + statements.extend(map(lambda v: ' items.push_back(%s_%s_type);' % (schema_name, v), sorted(type.values))) + statements.append(' %(schema_name)s_%(name)s_type = new select_type("%(name)s", %%(index_in_schema_%(name)s)d, items);' % locals()) + statements.append(' }') + else: return False + + def write(name): + if mapping.schema.is_simpletype(name): + fn = write_simpletype + elif mapping.schema.is_enumeration(name): + fn = write_enumeration + elif mapping.schema.is_entity(name): + fn = write_entity + elif mapping.schema.is_select(name): + fn = write_select + + decl = mapping.schema[name] + if isinstance(decl, nodes.TypeDeclaration): + decl = decl.type.type + return fn(schema_name, name, decl) is not False - emitted_entities = set() - while len(emitted_entities) < len(mapping.schema.entities): - for name, type in mapping.schema.entities.items(): - if name.lower() in emitted_entities: continue - if len(type.supertypes) == 0 or set(map(lambda s: s.lower(), type.supertypes)) < emitted_entities: - supertype = '0' if len(type.supertypes) == 0 else '%s_%s_type' % (schema_name, type.supertypes[0]) - statements.append(' %(schema_name)s_%(name)s_type = new entity("%(name)s", %%(index_in_schema_%(name)s)d, %(supertype)s);' % locals()) - emitted_entities.add(name.lower()) - - declared_types.append('%(schema_name)s_%(name)s_type' % locals()) + while len(emitted) < len_to_emit: + for name in mapping.schema: + if name.lower() in emitted: continue + if write(name): + emitted.add(name.lower()) declarations_by_index.append(name) - - emmited = emitted_types | emitted_entities | set(mapping.schema.enumerations.keys()) - - emitted_selects = set() - while len(emitted_selects) < len(mapping.schema.selects): - for name, type in mapping.schema.selects.items(): - if name.lower() in emitted_selects: continue - if set(map(lambda s: s.lower(),type.values)) < emmited: - statements.append(' {') - statements.append(' std::vector items; items.reserve(%d);' % len(type.values)) - statements.extend(map(lambda v: ' items.push_back(%s_%s_type);' % (schema_name, v), sorted(type.values))) - statements.append(' %(schema_name)s_%(name)s_type = new select_type("%(name)s", %%(index_in_schema_%(name)s)d, items);' % locals()) - statements.append(' }') - emitted_selects.add(name.lower()) - emmited.add(name) - declared_types.append('%(schema_name)s_%(name)s_type' % locals()) - declarations_by_index.append(name) - + num_declarations = len(declared_types) for name, type in mapping.schema.entities.items(): diff --git a/src/ifcparse/Ifc2x3-schema.cpp b/src/ifcparse/Ifc2x3-schema.cpp index 40e56e01bc..b2efe781c1 100644 --- a/src/ifcparse/Ifc2x3-schema.cpp +++ b/src/ifcparse/Ifc2x3-schema.cpp @@ -1801,121 +1801,6 @@ class IFC2X3_instance_factory : public IfcParse::instance_factory { IfcParse::schema_definition* IFC2X3_populate_schema() { IFC2X3_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 1, new simple_type(simple_type::real_type)); IFC2X3_IfcAccelerationMeasure_type = new type_declaration("IfcAccelerationMeasure", 2, new simple_type(simple_type::real_type)); - IFC2X3_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 22, new simple_type(simple_type::real_type)); - IFC2X3_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 26, new simple_type(simple_type::real_type)); - IFC2X3_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 47, new simple_type(simple_type::real_type)); - IFC2X3_IfcBoolean_type = new type_declaration("IfcBoolean", 65, new simple_type(simple_type::boolean_type)); - IFC2X3_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 130, new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type))); - IFC2X3_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 135, new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type))); - IFC2X3_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 161, new simple_type(simple_type::real_type)); - IFC2X3_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 176, new simple_type(simple_type::number_type)); - IFC2X3_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 192, new simple_type(simple_type::real_type)); - IFC2X3_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 207, new simple_type(simple_type::integer_type)); - IFC2X3_IfcDaylightSavingHour_type = new type_declaration("IfcDaylightSavingHour", 208, new simple_type(simple_type::integer_type)); - IFC2X3_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 216, new simple_type(simple_type::string_type)); - IFC2X3_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 220, new simple_type(simple_type::integer_type)); - IFC2X3_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 255, new simple_type(simple_type::real_type)); - IFC2X3_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 268, new simple_type(simple_type::real_type)); - IFC2X3_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 278, new simple_type(simple_type::real_type)); - IFC2X3_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 279, new simple_type(simple_type::real_type)); - IFC2X3_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 280, new simple_type(simple_type::real_type)); - IFC2X3_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 282, new simple_type(simple_type::real_type)); - IFC2X3_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 293, new simple_type(simple_type::real_type)); - IFC2X3_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 296, new simple_type(simple_type::real_type)); - IFC2X3_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 310, new simple_type(simple_type::real_type)); - IFC2X3_IfcFontStyle_type = new type_declaration("IfcFontStyle", 373, new simple_type(simple_type::string_type)); - IFC2X3_IfcFontVariant_type = new type_declaration("IfcFontVariant", 374, new simple_type(simple_type::string_type)); - IFC2X3_IfcFontWeight_type = new type_declaration("IfcFontWeight", 375, new simple_type(simple_type::string_type)); - IFC2X3_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 378, new simple_type(simple_type::real_type)); - IFC2X3_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 379, new simple_type(simple_type::real_type)); - IFC2X3_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 396, new simple_type(simple_type::string_type)); - IFC2X3_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 406, new simple_type(simple_type::real_type)); - IFC2X3_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 407, new simple_type(simple_type::real_type)); - IFC2X3_IfcHourInDay_type = new type_declaration("IfcHourInDay", 408, new simple_type(simple_type::integer_type)); - IFC2X3_IfcIdentifier_type = new type_declaration("IfcIdentifier", 412, new simple_type(simple_type::string_type)); - IFC2X3_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 413, new simple_type(simple_type::real_type)); - IFC2X3_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 415, new simple_type(simple_type::real_type)); - IFC2X3_IfcInteger_type = new type_declaration("IfcInteger", 416, new simple_type(simple_type::integer_type)); - IFC2X3_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 417, new simple_type(simple_type::integer_type)); - IFC2X3_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 421, new simple_type(simple_type::real_type)); - IFC2X3_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 425, new simple_type(simple_type::real_type)); - IFC2X3_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 428, new simple_type(simple_type::real_type)); - IFC2X3_IfcLabel_type = new type_declaration("IfcLabel", 429, new simple_type(simple_type::string_type)); - IFC2X3_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 435, new simple_type(simple_type::real_type)); - IFC2X3_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 454, new simple_type(simple_type::real_type)); - IFC2X3_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 455, new simple_type(simple_type::real_type)); - IFC2X3_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 456, new simple_type(simple_type::real_type)); - IFC2X3_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 457, new simple_type(simple_type::real_type)); - IFC2X3_IfcLogical_type = new type_declaration("IfcLogical", 461, new simple_type(simple_type::logical_type)); - IFC2X3_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 465, new simple_type(simple_type::real_type)); - IFC2X3_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 466, new simple_type(simple_type::real_type)); - IFC2X3_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 467, new simple_type(simple_type::real_type)); - IFC2X3_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 468, new simple_type(simple_type::real_type)); - IFC2X3_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 469, new simple_type(simple_type::real_type)); - IFC2X3_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 472, new simple_type(simple_type::real_type)); - IFC2X3_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 473, new simple_type(simple_type::real_type)); - IFC2X3_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 474, new simple_type(simple_type::real_type)); - IFC2X3_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 475, new simple_type(simple_type::real_type)); - IFC2X3_IfcMinuteInHour_type = new type_declaration("IfcMinuteInHour", 497, new simple_type(simple_type::integer_type)); - IFC2X3_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 498, new simple_type(simple_type::real_type)); - IFC2X3_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 499, new simple_type(simple_type::real_type)); - IFC2X3_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 500, new simple_type(simple_type::real_type)); - IFC2X3_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 501, new simple_type(simple_type::real_type)); - IFC2X3_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 502, new simple_type(simple_type::real_type)); - IFC2X3_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 503, new simple_type(simple_type::real_type)); - IFC2X3_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 504, new simple_type(simple_type::real_type)); - IFC2X3_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 505, new simple_type(simple_type::real_type)); - IFC2X3_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 507, new simple_type(simple_type::integer_type)); - IFC2X3_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 514, new simple_type(simple_type::number_type)); - IFC2X3_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 547, new simple_type(simple_type::real_type)); - IFC2X3_IfcParameterValue_type = new type_declaration("IfcParameterValue", 539, new simple_type(simple_type::real_type)); - IFC2X3_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 563, new simple_type(simple_type::real_type)); - IFC2X3_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 565, new simple_type(simple_type::real_type)); - IFC2X3_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 577, new named_type(IFC2X3_IfcLengthMeasure_type)); - IFC2X3_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 578, new named_type(IFC2X3_IfcPlaneAngleMeasure_type)); - IFC2X3_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 581, new simple_type(simple_type::real_type)); - IFC2X3_IfcPresentableText_type = new type_declaration("IfcPresentableText", 590, new simple_type(simple_type::string_type)); - IFC2X3_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 596, new simple_type(simple_type::real_type)); - IFC2X3_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 640, new simple_type(simple_type::real_type)); - IFC2X3_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 650, new simple_type(simple_type::real_type)); - IFC2X3_IfcReal_type = new type_declaration("IfcReal", 652, new simple_type(simple_type::real_type)); - IFC2X3_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 733, new simple_type(simple_type::real_type)); - IFC2X3_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 734, new simple_type(simple_type::real_type)); - IFC2X3_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 735, new simple_type(simple_type::real_type)); - IFC2X3_IfcSecondInMinute_type = new type_declaration("IfcSecondInMinute", 741, new simple_type(simple_type::real_type)); - IFC2X3_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 744, new simple_type(simple_type::real_type)); - IFC2X3_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 742, new simple_type(simple_type::real_type)); - IFC2X3_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 758, new simple_type(simple_type::real_type)); - IFC2X3_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 772, new simple_type(simple_type::real_type)); - IFC2X3_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 774, new simple_type(simple_type::real_type)); - IFC2X3_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 775, new simple_type(simple_type::real_type)); - IFC2X3_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 788, new simple_type(simple_type::real_type)); - IFC2X3_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 789, new simple_type(simple_type::real_type)); - IFC2X3_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 791, new simple_type(simple_type::real_type)); - IFC2X3_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 874, new simple_type(simple_type::real_type)); - IFC2X3_IfcText_type = new type_declaration("IfcText", 879, new simple_type(simple_type::string_type)); - IFC2X3_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 880, new simple_type(simple_type::string_type)); - IFC2X3_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 881, new simple_type(simple_type::string_type)); - IFC2X3_IfcTextFontName_type = new type_declaration("IfcTextFontName", 882, new simple_type(simple_type::string_type)); - IFC2X3_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 893, new simple_type(simple_type::string_type)); - IFC2X3_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 898, new simple_type(simple_type::real_type)); - IFC2X3_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 899, new simple_type(simple_type::real_type)); - IFC2X3_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 900, new simple_type(simple_type::real_type)); - IFC2X3_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 904, new simple_type(simple_type::real_type)); - IFC2X3_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 905, new simple_type(simple_type::real_type)); - IFC2X3_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 906, new simple_type(simple_type::real_type)); - IFC2X3_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 907, new simple_type(simple_type::real_type)); - IFC2X3_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 914, new simple_type(simple_type::integer_type)); - IFC2X3_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 917, new simple_type(simple_type::real_type)); - IFC2X3_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 943, new simple_type(simple_type::real_type)); - IFC2X3_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 954, new simple_type(simple_type::real_type)); - IFC2X3_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 955, new simple_type(simple_type::real_type)); - IFC2X3_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 960, new simple_type(simple_type::real_type)); - IFC2X3_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 961, new simple_type(simple_type::real_type)); - IFC2X3_IfcYearNumber_type = new type_declaration("IfcYearNumber", 977, new simple_type(simple_type::integer_type)); - IFC2X3_IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", 78, new named_type(IFC2X3_IfcLabel_type)); - IFC2X3_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 512, new named_type(IFC2X3_IfcRatioMeasure_type)); - IFC2X3_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 579, new named_type(IFC2X3_IfcRatioMeasure_type)); { std::vector items; items.reserve(27); items.push_back("BRAKES"); @@ -2031,6 +1916,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("WHISTLE"); IFC2X3_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 21, items); } + IFC2X3_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 22, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("IN_PLANE_LOADING_2D"); @@ -2050,6 +1936,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 24, items); } + IFC2X3_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 26, new simple_type(simple_type::real_type)); + IFC2X3_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 47, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("ADD"); @@ -2103,6 +1991,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("WATER"); IFC2X3_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 64, items); } + IFC2X3_IfcBoolean_type = new type_declaration("IfcBoolean", 65, new simple_type(simple_type::boolean_type)); { std::vector items; items.reserve(3); items.push_back("DIFFERENCE"); @@ -2182,6 +2071,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", 129, items); } + IFC2X3_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 130, new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type))); + IFC2X3_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 135, new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type))); { std::vector items; items.reserve(17); items.push_back("BOOSTER"); @@ -2232,6 +2123,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", 155, items); } + IFC2X3_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 161, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(8); items.push_back("FLOATING"); @@ -2274,6 +2166,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 174, items); } + IFC2X3_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 176, new simple_type(simple_type::number_type)); { std::vector items; items.reserve(10); items.push_back("CEILING"); @@ -2381,6 +2274,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 191, items); } + IFC2X3_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 192, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(13); items.push_back("BACKDRAFTDAMPER"); @@ -2407,6 +2301,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 204, items); } + IFC2X3_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 207, new simple_type(simple_type::integer_type)); + IFC2X3_IfcDaylightSavingHour_type = new type_declaration("IfcDaylightSavingHour", 208, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(49); items.push_back("ACCELERATIONUNIT"); @@ -2460,6 +2356,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("WARPINGMOMENTUNIT"); IFC2X3_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 215, items); } + IFC2X3_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 216, new simple_type(simple_type::string_type)); + IFC2X3_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 220, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(2); items.push_back("ORIGIN"); @@ -2560,6 +2458,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", 254, items); } + IFC2X3_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 255, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("BEND"); @@ -2590,6 +2489,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 267, items); } + IFC2X3_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 268, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(26); items.push_back("COMPUTER"); @@ -2620,6 +2520,9 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("WATERHEATER"); IFC2X3_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 277, items); } + IFC2X3_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 278, new simple_type(simple_type::real_type)); + IFC2X3_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 279, new simple_type(simple_type::real_type)); + IFC2X3_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 280, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(3); items.push_back("ALTERNATING"); @@ -2627,6 +2530,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("NOTDEFINED"); IFC2X3_IfcElectricCurrentEnum_type = new enumeration_type("IfcElectricCurrentEnum", 281, items); } + IFC2X3_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 282, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(11); items.push_back("ALARMPANEL"); @@ -2679,6 +2583,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 292, items); } + IFC2X3_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 293, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("NOTDEFINED"); @@ -2688,6 +2593,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 295, items); } + IFC2X3_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 296, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(11); items.push_back("ACCESSORY_ASSEMBLY"); @@ -2710,6 +2616,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("PARTIAL"); IFC2X3_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 303, items); } + IFC2X3_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 310, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(6); items.push_back("AUXILIARY"); @@ -2827,6 +2734,9 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("WATERMETER"); IFC2X3_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 361, items); } + IFC2X3_IfcFontStyle_type = new type_declaration("IfcFontStyle", 373, new simple_type(simple_type::string_type)); + IFC2X3_IfcFontVariant_type = new type_declaration("IfcFontVariant", 374, new simple_type(simple_type::string_type)); + IFC2X3_IfcFontWeight_type = new type_declaration("IfcFontWeight", 375, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(6); items.push_back("FOOTING_BEAM"); @@ -2837,6 +2747,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 377, items); } + IFC2X3_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 378, new simple_type(simple_type::real_type)); + IFC2X3_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 379, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("GASAPPLIANCE"); @@ -2865,6 +2777,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("LOCAL_COORDS"); IFC2X3_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 397, items); } + IFC2X3_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 396, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); @@ -2873,6 +2786,9 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 405, items); } + IFC2X3_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 406, new simple_type(simple_type::real_type)); + IFC2X3_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 407, new simple_type(simple_type::real_type)); + IFC2X3_IfcHourInDay_type = new type_declaration("IfcHourInDay", 408, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(15); items.push_back("ADIABATICAIRWASHER"); @@ -2892,6 +2808,11 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 410, items); } + IFC2X3_IfcIdentifier_type = new type_declaration("IfcIdentifier", 412, new simple_type(simple_type::string_type)); + IFC2X3_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 413, new simple_type(simple_type::real_type)); + IFC2X3_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 415, new simple_type(simple_type::real_type)); + IFC2X3_IfcInteger_type = new type_declaration("IfcInteger", 416, new simple_type(simple_type::integer_type)); + IFC2X3_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 417, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(3); items.push_back("EXTERNAL"); @@ -2908,12 +2829,16 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 420, items); } + IFC2X3_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 421, new simple_type(simple_type::real_type)); + IFC2X3_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 425, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); items.push_back("USERDEFINED"); IFC2X3_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 427, items); } + IFC2X3_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 428, new simple_type(simple_type::real_type)); + IFC2X3_IfcLabel_type = new type_declaration("IfcLabel", 429, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(8); items.push_back("COMPACTFLUORESCENT"); @@ -2933,6 +2858,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("AXIS3"); IFC2X3_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 434, items); } + IFC2X3_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 435, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); @@ -2964,6 +2890,10 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 444, items); } + IFC2X3_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 454, new simple_type(simple_type::real_type)); + IFC2X3_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 455, new simple_type(simple_type::real_type)); + IFC2X3_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 456, new simple_type(simple_type::real_type)); + IFC2X3_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 457, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(6); items.push_back("LOAD_CASE"); @@ -2974,12 +2904,22 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 458, items); } + IFC2X3_IfcLogical_type = new type_declaration("IfcLogical", 461, new simple_type(simple_type::logical_type)); { std::vector items; items.reserve(2); items.push_back("LOGICALAND"); items.push_back("LOGICALOR"); IFC2X3_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 462, items); } + IFC2X3_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 465, new simple_type(simple_type::real_type)); + IFC2X3_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 466, new simple_type(simple_type::real_type)); + IFC2X3_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 467, new simple_type(simple_type::real_type)); + IFC2X3_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 468, new simple_type(simple_type::real_type)); + IFC2X3_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 469, new simple_type(simple_type::real_type)); + IFC2X3_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 472, new simple_type(simple_type::real_type)); + IFC2X3_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 473, new simple_type(simple_type::real_type)); + IFC2X3_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 474, new simple_type(simple_type::real_type)); + IFC2X3_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 475, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(14); items.push_back("BRACE"); @@ -2998,6 +2938,16 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 494, items); } + IFC2X3_IfcMinuteInHour_type = new type_declaration("IfcMinuteInHour", 497, new simple_type(simple_type::integer_type)); + IFC2X3_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 498, new simple_type(simple_type::real_type)); + IFC2X3_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 499, new simple_type(simple_type::real_type)); + IFC2X3_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 500, new simple_type(simple_type::real_type)); + IFC2X3_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 501, new simple_type(simple_type::real_type)); + IFC2X3_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 502, new simple_type(simple_type::real_type)); + IFC2X3_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 503, new simple_type(simple_type::real_type)); + IFC2X3_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 504, new simple_type(simple_type::real_type)); + IFC2X3_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 505, new simple_type(simple_type::real_type)); + IFC2X3_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 507, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(5); items.push_back("BELTDRIVE"); @@ -3012,6 +2962,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("NULL"); IFC2X3_IfcNullStyle_type = new enumeration_type("IfcNullStyle", 513, items); } + IFC2X3_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 514, new simple_type(simple_type::number_type)); { std::vector items; items.reserve(8); items.push_back("ACTOR"); @@ -3058,6 +3009,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 536, items); } + IFC2X3_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 547, new simple_type(simple_type::real_type)); + IFC2X3_IfcParameterValue_type = new type_declaration("IfcParameterValue", 539, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("GRILL"); @@ -3116,6 +3069,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 558, items); } + IFC2X3_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 563, new simple_type(simple_type::real_type)); + IFC2X3_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 565, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("CURTAIN_PANEL"); @@ -3124,6 +3079,11 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 568, items); } + IFC2X3_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 577, new named_type(IFC2X3_IfcLengthMeasure_type)); + IFC2X3_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 578, new named_type(IFC2X3_IfcPlaneAngleMeasure_type)); + IFC2X3_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 581, new simple_type(simple_type::real_type)); + IFC2X3_IfcPresentableText_type = new type_declaration("IfcPresentableText", 590, new simple_type(simple_type::string_type)); + IFC2X3_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 596, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("ADVICE_CAUTION"); @@ -3207,6 +3167,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("VERTICALTURBINE"); IFC2X3_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 633, items); } + IFC2X3_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 640, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("BALUSTRADE"); @@ -3236,6 +3197,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 649, items); } + IFC2X3_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 650, new simple_type(simple_type::real_type)); + IFC2X3_IfcReal_type = new type_declaration("IfcReal", 652, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(10); items.push_back("BLINN"); @@ -3332,6 +3295,9 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("SHED_ROOF"); IFC2X3_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 731, items); } + IFC2X3_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 733, new simple_type(simple_type::real_type)); + IFC2X3_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 734, new simple_type(simple_type::real_type)); + IFC2X3_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 735, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(16); items.push_back("ATTO"); @@ -3402,12 +3368,15 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("WCSEAT"); IFC2X3_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 739, items); } + IFC2X3_IfcSecondInMinute_type = new type_declaration("IfcSecondInMinute", 741, new simple_type(simple_type::real_type)); + IFC2X3_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 744, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back("TAPERED"); items.push_back("UNIFORM"); IFC2X3_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 747, items); } + IFC2X3_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 742, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(15); items.push_back("CO2SENSOR"); @@ -3458,6 +3427,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("REFERENCESERVICELIFE"); IFC2X3_IfcServiceLifeTypeEnum_type = new enumeration_type("IfcServiceLifeTypeEnum", 754, items); } + IFC2X3_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 758, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(6); items.push_back("BASESLAB"); @@ -3468,6 +3438,9 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", 770, items); } + IFC2X3_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 772, new simple_type(simple_type::real_type)); + IFC2X3_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 774, new simple_type(simple_type::real_type)); + IFC2X3_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 775, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(7); items.push_back("DBA"); @@ -3498,6 +3471,9 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", 785, items); } + IFC2X3_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 788, new simple_type(simple_type::real_type)); + IFC2X3_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 789, new simple_type(simple_type::real_type)); + IFC2X3_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 791, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("BIRDCAGE"); @@ -3608,6 +3584,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", 871, items); } + IFC2X3_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 874, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(6); items.push_back("BAR"); @@ -3618,6 +3595,10 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("WIRE"); IFC2X3_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 877, items); } + IFC2X3_IfcText_type = new type_declaration("IfcText", 879, new simple_type(simple_type::string_type)); + IFC2X3_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 880, new simple_type(simple_type::string_type)); + IFC2X3_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 881, new simple_type(simple_type::string_type)); + IFC2X3_IfcTextFontName_type = new type_declaration("IfcTextFontName", 882, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(4); items.push_back("DOWN"); @@ -3626,6 +3607,10 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("UP"); IFC2X3_IfcTextPath_type = new enumeration_type("IfcTextPath", 886, items); } + IFC2X3_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 893, new simple_type(simple_type::string_type)); + IFC2X3_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 898, new simple_type(simple_type::real_type)); + IFC2X3_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 899, new simple_type(simple_type::real_type)); + IFC2X3_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 900, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(13); items.push_back("AIREXCHANGERATE"); @@ -3651,6 +3636,10 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("SENSIBLE"); IFC2X3_IfcThermalLoadTypeEnum_type = new enumeration_type("IfcThermalLoadTypeEnum", 902, items); } + IFC2X3_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 904, new simple_type(simple_type::real_type)); + IFC2X3_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 905, new simple_type(simple_type::real_type)); + IFC2X3_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 906, new simple_type(simple_type::real_type)); + IFC2X3_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 907, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(7); items.push_back("CONTINUOUS"); @@ -3672,6 +3661,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("WEEKLY"); IFC2X3_IfcTimeSeriesScheduleTypeEnum_type = new enumeration_type("IfcTimeSeriesScheduleTypeEnum", 912, items); } + IFC2X3_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 914, new simple_type(simple_type::integer_type)); + IFC2X3_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 917, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("CURRENT"); @@ -3783,6 +3774,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 942, items); } + IFC2X3_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 943, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("COMPRESSION"); @@ -3791,6 +3783,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", 951, items); } + IFC2X3_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 954, new simple_type(simple_type::real_type)); + IFC2X3_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 955, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(7); items.push_back("ELEMENTEDWALL"); @@ -3802,6 +3796,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 959, items); } + IFC2X3_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 960, new simple_type(simple_type::real_type)); + IFC2X3_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 961, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(12); items.push_back("FLOORTRAP"); @@ -3882,6 +3878,7 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { items.push_back("USERDEFINED"); IFC2X3_IfcWorkControlTypeEnum_type = new enumeration_type("IfcWorkControlTypeEnum", 974, items); } + IFC2X3_IfcYearNumber_type = new type_declaration("IfcYearNumber", 977, new simple_type(simple_type::integer_type)); IFC2X3_IfcActorRole_type = new entity("IfcActorRole", 7, 0); IFC2X3_IfcAddress_type = new entity("IfcAddress", 11, 0); IFC2X3_IfcApplication_type = new entity("IfcApplication", 36, 0); @@ -4038,6 +4035,228 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { IFC2X3_IfcVertexPoint_type = new entity("IfcVertexPoint", 949, IFC2X3_IfcVertex_type); IFC2X3_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", 953, 0); IFC2X3_IfcWaterProperties_type = new entity("IfcWaterProperties", 964, IFC2X3_IfcMaterialProperties_type); + { + std::vector items; items.reserve(3); + items.push_back(IFC2X3_IfcOrganization_type); + items.push_back(IFC2X3_IfcPerson_type); + items.push_back(IFC2X3_IfcPersonAndOrganization_type); + IFC2X3_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC2X3_IfcMeasureWithUnit_type); + items.push_back(IFC2X3_IfcMonetaryMeasure_type); + items.push_back(IFC2X3_IfcRatioMeasure_type); + IFC2X3_IfcAppliedValueSelect_type = new select_type("IfcAppliedValueSelect", 39, items); + } + IFC2X3_IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", 78, new named_type(IFC2X3_IfcLabel_type)); + { + std::vector items; items.reserve(1); + items.push_back(IFC2X3_IfcTextStyleForDefinedFont_type); + IFC2X3_IfcCharacterStyleSelect_type = new select_type("IfcCharacterStyleSelect", 107, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcLabel_type); + items.push_back(IFC2X3_IfcMeasureWithUnit_type); + IFC2X3_IfcConditionCriterionSelect_type = new select_type("IfcConditionCriterionSelect", 142, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC2X3_IfcCalendarDate_type); + items.push_back(IFC2X3_IfcDateAndTime_type); + items.push_back(IFC2X3_IfcLocalTime_type); + IFC2X3_IfcDateTimeSelect_type = new select_type("IfcDateTimeSelect", 206, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcExternallyDefinedSymbol_type); + items.push_back(IFC2X3_IfcPreDefinedSymbol_type); + IFC2X3_IfcDefinedSymbolSelect_type = new select_type("IfcDefinedSymbolSelect", 210, items); + } + { + std::vector items; items.reserve(68); + items.push_back(IFC2X3_IfcAbsorbedDoseMeasure_type); + items.push_back(IFC2X3_IfcAccelerationMeasure_type); + items.push_back(IFC2X3_IfcAngularVelocityMeasure_type); + items.push_back(IFC2X3_IfcCompoundPlaneAngleMeasure_type); + items.push_back(IFC2X3_IfcCurvatureMeasure_type); + items.push_back(IFC2X3_IfcDoseEquivalentMeasure_type); + items.push_back(IFC2X3_IfcDynamicViscosityMeasure_type); + items.push_back(IFC2X3_IfcElectricCapacitanceMeasure_type); + items.push_back(IFC2X3_IfcElectricChargeMeasure_type); + items.push_back(IFC2X3_IfcElectricConductanceMeasure_type); + items.push_back(IFC2X3_IfcElectricResistanceMeasure_type); + items.push_back(IFC2X3_IfcElectricVoltageMeasure_type); + items.push_back(IFC2X3_IfcEnergyMeasure_type); + items.push_back(IFC2X3_IfcForceMeasure_type); + items.push_back(IFC2X3_IfcFrequencyMeasure_type); + items.push_back(IFC2X3_IfcHeatFluxDensityMeasure_type); + items.push_back(IFC2X3_IfcHeatingValueMeasure_type); + items.push_back(IFC2X3_IfcIlluminanceMeasure_type); + items.push_back(IFC2X3_IfcInductanceMeasure_type); + items.push_back(IFC2X3_IfcIntegerCountRateMeasure_type); + items.push_back(IFC2X3_IfcIonConcentrationMeasure_type); + items.push_back(IFC2X3_IfcIsothermalMoistureCapacityMeasure_type); + items.push_back(IFC2X3_IfcKinematicViscosityMeasure_type); + items.push_back(IFC2X3_IfcLinearForceMeasure_type); + items.push_back(IFC2X3_IfcLinearMomentMeasure_type); + items.push_back(IFC2X3_IfcLinearStiffnessMeasure_type); + items.push_back(IFC2X3_IfcLinearVelocityMeasure_type); + items.push_back(IFC2X3_IfcLuminousFluxMeasure_type); + items.push_back(IFC2X3_IfcLuminousIntensityDistributionMeasure_type); + items.push_back(IFC2X3_IfcMagneticFluxDensityMeasure_type); + items.push_back(IFC2X3_IfcMagneticFluxMeasure_type); + items.push_back(IFC2X3_IfcMassDensityMeasure_type); + items.push_back(IFC2X3_IfcMassFlowRateMeasure_type); + items.push_back(IFC2X3_IfcMassPerLengthMeasure_type); + items.push_back(IFC2X3_IfcModulusOfElasticityMeasure_type); + items.push_back(IFC2X3_IfcModulusOfLinearSubgradeReactionMeasure_type); + items.push_back(IFC2X3_IfcModulusOfRotationalSubgradeReactionMeasure_type); + items.push_back(IFC2X3_IfcModulusOfSubgradeReactionMeasure_type); + items.push_back(IFC2X3_IfcMoistureDiffusivityMeasure_type); + items.push_back(IFC2X3_IfcMolecularWeightMeasure_type); + items.push_back(IFC2X3_IfcMomentOfInertiaMeasure_type); + items.push_back(IFC2X3_IfcMonetaryMeasure_type); + items.push_back(IFC2X3_IfcPHMeasure_type); + items.push_back(IFC2X3_IfcPlanarForceMeasure_type); + items.push_back(IFC2X3_IfcPowerMeasure_type); + items.push_back(IFC2X3_IfcPressureMeasure_type); + items.push_back(IFC2X3_IfcRadioActivityMeasure_type); + items.push_back(IFC2X3_IfcRotationalFrequencyMeasure_type); + items.push_back(IFC2X3_IfcRotationalMassMeasure_type); + items.push_back(IFC2X3_IfcRotationalStiffnessMeasure_type); + items.push_back(IFC2X3_IfcSectionModulusMeasure_type); + items.push_back(IFC2X3_IfcSectionalAreaIntegralMeasure_type); + items.push_back(IFC2X3_IfcShearModulusMeasure_type); + items.push_back(IFC2X3_IfcSoundPowerMeasure_type); + items.push_back(IFC2X3_IfcSoundPressureMeasure_type); + items.push_back(IFC2X3_IfcSpecificHeatCapacityMeasure_type); + items.push_back(IFC2X3_IfcTemperatureGradientMeasure_type); + items.push_back(IFC2X3_IfcThermalAdmittanceMeasure_type); + items.push_back(IFC2X3_IfcThermalConductivityMeasure_type); + items.push_back(IFC2X3_IfcThermalExpansionCoefficientMeasure_type); + items.push_back(IFC2X3_IfcThermalResistanceMeasure_type); + items.push_back(IFC2X3_IfcThermalTransmittanceMeasure_type); + items.push_back(IFC2X3_IfcTimeStamp_type); + items.push_back(IFC2X3_IfcTorqueMeasure_type); + items.push_back(IFC2X3_IfcVaporPermeabilityMeasure_type); + items.push_back(IFC2X3_IfcVolumetricFlowRateMeasure_type); + items.push_back(IFC2X3_IfcWarpingConstantMeasure_type); + items.push_back(IFC2X3_IfcWarpingMomentMeasure_type); + IFC2X3_IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", 211, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcRepresentation_type); + items.push_back(IFC2X3_IfcRepresentationItem_type); + IFC2X3_IfcLayeredItem_type = new select_type("IfcLayeredItem", 433, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcLibraryInformation_type); + items.push_back(IFC2X3_IfcLibraryReference_type); + IFC2X3_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 438, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcExternalReference_type); + items.push_back(IFC2X3_IfcLightIntensityDistribution_type); + IFC2X3_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 441, items); + } + { + std::vector items; items.reserve(5); + items.push_back(IFC2X3_IfcMaterial_type); + items.push_back(IFC2X3_IfcMaterialLayer_type); + items.push_back(IFC2X3_IfcMaterialLayerSet_type); + items.push_back(IFC2X3_IfcMaterialLayerSetUsage_type); + items.push_back(IFC2X3_IfcMaterialList_type); + IFC2X3_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 484, items); + } + { + std::vector items; items.reserve(6); + items.push_back(IFC2X3_IfcCostValue_type); + items.push_back(IFC2X3_IfcDateTimeSelect_type); + items.push_back(IFC2X3_IfcMeasureWithUnit_type); + items.push_back(IFC2X3_IfcTable_type); + items.push_back(IFC2X3_IfcText_type); + items.push_back(IFC2X3_IfcTimeSeries_type); + IFC2X3_IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", 496, items); + } + IFC2X3_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 512, new named_type(IFC2X3_IfcRatioMeasure_type)); + { + std::vector items; items.reserve(13); + items.push_back(IFC2X3_IfcAddress_type); + items.push_back(IFC2X3_IfcAppliedValue_type); + items.push_back(IFC2X3_IfcCalendarDate_type); + items.push_back(IFC2X3_IfcDateAndTime_type); + items.push_back(IFC2X3_IfcExternalReference_type); + items.push_back(IFC2X3_IfcLocalTime_type); + items.push_back(IFC2X3_IfcMaterial_type); + items.push_back(IFC2X3_IfcMaterialLayer_type); + items.push_back(IFC2X3_IfcMaterialList_type); + items.push_back(IFC2X3_IfcOrganization_type); + items.push_back(IFC2X3_IfcPerson_type); + items.push_back(IFC2X3_IfcPersonAndOrganization_type); + items.push_back(IFC2X3_IfcTimeSeries_type); + IFC2X3_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 520, items); + } + IFC2X3_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 579, new named_type(IFC2X3_IfcRatioMeasure_type)); + { + std::vector items; items.reserve(7); + items.push_back(IFC2X3_IfcBoolean_type); + items.push_back(IFC2X3_IfcIdentifier_type); + items.push_back(IFC2X3_IfcInteger_type); + items.push_back(IFC2X3_IfcLabel_type); + items.push_back(IFC2X3_IfcLogical_type); + items.push_back(IFC2X3_IfcReal_type); + items.push_back(IFC2X3_IfcText_type); + IFC2X3_IfcSimpleValue_type = new select_type("IfcSimpleValue", 762, items); + } + { + std::vector items; items.reserve(6); + items.push_back(IFC2X3_IfcDescriptiveMeasure_type); + items.push_back(IFC2X3_IfcLengthMeasure_type); + items.push_back(IFC2X3_IfcNormalisedRatioMeasure_type); + items.push_back(IFC2X3_IfcPositiveLengthMeasure_type); + items.push_back(IFC2X3_IfcPositiveRatioMeasure_type); + items.push_back(IFC2X3_IfcRatioMeasure_type); + IFC2X3_IfcSizeSelect_type = new select_type("IfcSizeSelect", 767, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcSpecularExponent_type); + items.push_back(IFC2X3_IfcSpecularRoughness_type); + IFC2X3_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 790, items); + } + { + std::vector items; items.reserve(5); + items.push_back(IFC2X3_IfcExternallyDefinedSurfaceStyle_type); + items.push_back(IFC2X3_IfcSurfaceStyleLighting_type); + items.push_back(IFC2X3_IfcSurfaceStyleRefraction_type); + items.push_back(IFC2X3_IfcSurfaceStyleShading_type); + items.push_back(IFC2X3_IfcSurfaceStyleWithTextures_type); + IFC2X3_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 851, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcExternallyDefinedTextFont_type); + items.push_back(IFC2X3_IfcPreDefinedTextFont_type); + IFC2X3_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 883, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcTextStyleTextModel_type); + items.push_back(IFC2X3_IfcTextStyleWithBoxCharacteristics_type); + IFC2X3_IfcTextStyleSelect_type = new select_type("IfcTextStyleSelect", 890, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC2X3_IfcDerivedUnit_type); + items.push_back(IFC2X3_IfcMonetaryUnit_type); + items.push_back(IFC2X3_IfcNamedUnit_type); + IFC2X3_IfcUnit_type = new select_type("IfcUnit", 934, items); + } IFC2X3_IfcAnnotationOccurrence_type = new entity("IfcAnnotationOccurrence", 31, IFC2X3_IfcStyledItem_type); IFC2X3_IfcAnnotationSurfaceOccurrence_type = new entity("IfcAnnotationSurfaceOccurrence", 33, IFC2X3_IfcAnnotationOccurrence_type); IFC2X3_IfcAnnotationSymbolOccurrence_type = new entity("IfcAnnotationSymbolOccurrence", 34, IFC2X3_IfcAnnotationOccurrence_type); @@ -4164,6 +4383,96 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { IFC2X3_IfcWindowPanelProperties_type = new entity("IfcWindowPanelProperties", 969, IFC2X3_IfcPropertySetDefinition_type); IFC2X3_IfcWindowStyle_type = new entity("IfcWindowStyle", 970, IFC2X3_IfcTypeProduct_type); IFC2X3_IfcZShapeProfileDef_type = new entity("IfcZShapeProfileDef", 979, IFC2X3_IfcParameterizedProfileDef_type); + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcClassificationNotation_type); + items.push_back(IFC2X3_IfcClassificationReference_type); + IFC2X3_IfcClassificationNotationSelect_type = new select_type("IfcClassificationNotationSelect", 118, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcColourSpecification_type); + items.push_back(IFC2X3_IfcPreDefinedColour_type); + IFC2X3_IfcColour_type = new select_type("IfcColour", 123, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcColourRgb_type); + items.push_back(IFC2X3_IfcNormalisedRatioMeasure_type); + IFC2X3_IfcColourOrFactor_type = new select_type("IfcColourOrFactor", 124, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcCurveStyleFont_type); + items.push_back(IFC2X3_IfcPreDefinedCurveFont_type); + IFC2X3_IfcCurveStyleFontSelect_type = new select_type("IfcCurveStyleFontSelect", 201, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcDocumentInformation_type); + items.push_back(IFC2X3_IfcDocumentReference_type); + IFC2X3_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 245, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcOneDirectionRepeatFactor_type); + items.push_back(IFC2X3_IfcPositiveLengthMeasure_type); + IFC2X3_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 403, items); + } + { + std::vector items; items.reserve(22); + items.push_back(IFC2X3_IfcAmountOfSubstanceMeasure_type); + items.push_back(IFC2X3_IfcAreaMeasure_type); + items.push_back(IFC2X3_IfcComplexNumber_type); + items.push_back(IFC2X3_IfcContextDependentMeasure_type); + items.push_back(IFC2X3_IfcCountMeasure_type); + items.push_back(IFC2X3_IfcDescriptiveMeasure_type); + items.push_back(IFC2X3_IfcElectricCurrentMeasure_type); + items.push_back(IFC2X3_IfcLengthMeasure_type); + items.push_back(IFC2X3_IfcLuminousIntensityMeasure_type); + items.push_back(IFC2X3_IfcMassMeasure_type); + items.push_back(IFC2X3_IfcNormalisedRatioMeasure_type); + items.push_back(IFC2X3_IfcNumericMeasure_type); + items.push_back(IFC2X3_IfcParameterValue_type); + items.push_back(IFC2X3_IfcPlaneAngleMeasure_type); + items.push_back(IFC2X3_IfcPositiveLengthMeasure_type); + items.push_back(IFC2X3_IfcPositivePlaneAngleMeasure_type); + items.push_back(IFC2X3_IfcPositiveRatioMeasure_type); + items.push_back(IFC2X3_IfcRatioMeasure_type); + items.push_back(IFC2X3_IfcSolidAngleMeasure_type); + items.push_back(IFC2X3_IfcThermodynamicTemperatureMeasure_type); + items.push_back(IFC2X3_IfcTimeMeasure_type); + items.push_back(IFC2X3_IfcVolumeMeasure_type); + IFC2X3_IfcMeasureValue_type = new select_type("IfcMeasureValue", 485, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcPoint_type); + items.push_back(IFC2X3_IfcVertexPoint_type); + IFC2X3_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 572, items); + } + { + std::vector items; items.reserve(6); + items.push_back(IFC2X3_IfcCurveStyle_type); + items.push_back(IFC2X3_IfcFillAreaStyle_type); + items.push_back(IFC2X3_IfcNullStyle_type); + items.push_back(IFC2X3_IfcSurfaceStyle_type); + items.push_back(IFC2X3_IfcSymbolStyle_type); + items.push_back(IFC2X3_IfcTextStyle_type); + IFC2X3_IfcPresentationStyleSelect_type = new select_type("IfcPresentationStyleSelect", 595, items); + } + { + std::vector items; items.reserve(1); + items.push_back(IFC2X3_IfcColour_type); + IFC2X3_IfcSymbolStyleSelect_type = new select_type("IfcSymbolStyleSelect", 865, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC2X3_IfcDerivedMeasureValue_type); + items.push_back(IFC2X3_IfcMeasureValue_type); + items.push_back(IFC2X3_IfcSimpleValue_type); + IFC2X3_IfcValue_type = new select_type("IfcValue", 940, items); + } IFC2X3_IfcAnnotationCurveOccurrence_type = new entity("IfcAnnotationCurveOccurrence", 28, IFC2X3_IfcAnnotationOccurrence_type); IFC2X3_IfcAnnotationFillArea_type = new entity("IfcAnnotationFillArea", 29, IFC2X3_IfcGeometricRepresentationItem_type); IFC2X3_IfcAnnotationFillAreaOccurrence_type = new entity("IfcAnnotationFillAreaOccurrence", 30, IFC2X3_IfcAnnotationOccurrence_type); @@ -4302,6 +4611,90 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { IFC2X3_IfcSystemFurnitureElementType_type = new entity("IfcSystemFurnitureElementType", 867, IFC2X3_IfcFurnishingElementType_type); IFC2X3_IfcTask_type = new entity("IfcTask", 872, IFC2X3_IfcProcess_type); IFC2X3_IfcTransportElementType_type = new entity("IfcTransportElementType", 922, IFC2X3_IfcElementType_type); + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcAxis2Placement2D_type); + items.push_back(IFC2X3_IfcAxis2Placement3D_type); + IFC2X3_IfcAxis2Placement_type = new select_type("IfcAxis2Placement", 53, items); + } + { + std::vector items; items.reserve(4); + items.push_back(IFC2X3_IfcBooleanResult_type); + items.push_back(IFC2X3_IfcCsgPrimitive3D_type); + items.push_back(IFC2X3_IfcHalfSpaceSolid_type); + items.push_back(IFC2X3_IfcSolidModel_type); + IFC2X3_IfcBooleanOperand_type = new select_type("IfcBooleanOperand", 67, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcBooleanResult_type); + items.push_back(IFC2X3_IfcCsgPrimitive3D_type); + IFC2X3_IfcCsgSelect_type = new select_type("IfcCsgSelect", 184, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcCurveStyleFontAndScaling_type); + items.push_back(IFC2X3_IfcCurveStyleFontSelect_type); + IFC2X3_IfcCurveFontOrScaledCurveFontSelect_type = new select_type("IfcCurveFontOrScaledCurveFontSelect", 195, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC2X3_IfcAnnotationCurveOccurrence_type); + items.push_back(IFC2X3_IfcAnnotationSymbolOccurrence_type); + items.push_back(IFC2X3_IfcAnnotationTextOccurrence_type); + IFC2X3_IfcDraughtingCalloutElement_type = new select_type("IfcDraughtingCalloutElement", 257, items); + } + { + std::vector items; items.reserve(1); + items.push_back(IFC2X3_IfcFillAreaStyleTileSymbolWithStyle_type); + IFC2X3_IfcFillAreaStyleTileShapeSelect_type = new select_type("IfcFillAreaStyleTileShapeSelect", 346, items); + } + { + std::vector items; items.reserve(4); + items.push_back(IFC2X3_IfcColour_type); + items.push_back(IFC2X3_IfcExternallyDefinedHatchStyle_type); + items.push_back(IFC2X3_IfcFillAreaStyleHatching_type); + items.push_back(IFC2X3_IfcFillAreaStyleTiles_type); + IFC2X3_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 348, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC2X3_IfcCurve_type); + items.push_back(IFC2X3_IfcPoint_type); + items.push_back(IFC2X3_IfcSurface_type); + IFC2X3_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 395, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcDirection_type); + items.push_back(IFC2X3_IfcPlaneAngleMeasure_type); + IFC2X3_IfcOrientationSelect_type = new select_type("IfcOrientationSelect", 533, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcClosedShell_type); + items.push_back(IFC2X3_IfcOpenShell_type); + IFC2X3_IfcShell_type = new select_type("IfcShell", 759, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC2X3_IfcFaceBasedSurfaceModel_type); + items.push_back(IFC2X3_IfcFaceSurface_type); + items.push_back(IFC2X3_IfcSurface_type); + IFC2X3_IfcSurfaceOrFaceSurface_type = new select_type("IfcSurfaceOrFaceSurface", 848, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcCartesianPoint_type); + items.push_back(IFC2X3_IfcParameterValue_type); + IFC2X3_IfcTrimmingSelect_type = new select_type("IfcTrimmingSelect", 927, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcDirection_type); + items.push_back(IFC2X3_IfcVector_type); + IFC2X3_IfcVectorOrDirection_type = new select_type("IfcVectorOrDirection", 945, items); + } IFC2X3_IfcActor_type = new entity("IfcActor", 6, IFC2X3_IfcObject_type); IFC2X3_IfcAnnotation_type = new entity("IfcAnnotation", 27, IFC2X3_IfcProduct_type); IFC2X3_IfcAsymmetricIShapeProfileDef_type = new entity("IfcAsymmetricIShapeProfileDef", 51, IFC2X3_IfcIShapeProfileDef_type); @@ -4435,6 +4828,18 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { IFC2X3_IfcWorkPlan_type = new entity("IfcWorkPlan", 975, IFC2X3_IfcWorkControl_type); IFC2X3_IfcWorkSchedule_type = new entity("IfcWorkSchedule", 976, IFC2X3_IfcWorkControl_type); IFC2X3_IfcZone_type = new entity("IfcZone", 978, IFC2X3_IfcGroup_type); + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcBoundedCurve_type); + items.push_back(IFC2X3_IfcEdgeCurve_type); + IFC2X3_IfcCurveOrEdgeCurve_type = new select_type("IfcCurveOrEdgeCurve", 196, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC2X3_IfcElement_type); + items.push_back(IFC2X3_IfcStructuralItem_type); + IFC2X3_IfcStructuralActivityAssignmentSelect_type = new select_type("IfcStructuralActivityAssignmentSelect", 803, items); + } IFC2X3_Ifc2DCompositeCurve_type = new entity("Ifc2DCompositeCurve", 0, IFC2X3_IfcCompositeCurve_type); IFC2X3_IfcActionRequest_type = new entity("IfcActionRequest", 3, IFC2X3_IfcControl_type); IFC2X3_IfcAirTerminalBoxType_type = new entity("IfcAirTerminalBoxType", 14, IFC2X3_IfcFlowControllerType_type); @@ -4535,411 +4940,6 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { IFC2X3_IfcDistributionControlElement_type = new entity("IfcDistributionControlElement", 233, IFC2X3_IfcDistributionElement_type); IFC2X3_IfcElectricDistributionPoint_type = new entity("IfcElectricDistributionPoint", 283, IFC2X3_IfcFlowController_type); IFC2X3_IfcReinforcingBar_type = new entity("IfcReinforcingBar", 662, IFC2X3_IfcReinforcingElement_type); - { - std::vector items; items.reserve(3); - items.push_back(IFC2X3_IfcOrganization_type); - items.push_back(IFC2X3_IfcPerson_type); - items.push_back(IFC2X3_IfcPersonAndOrganization_type); - IFC2X3_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC2X3_IfcMeasureWithUnit_type); - items.push_back(IFC2X3_IfcMonetaryMeasure_type); - items.push_back(IFC2X3_IfcRatioMeasure_type); - IFC2X3_IfcAppliedValueSelect_type = new select_type("IfcAppliedValueSelect", 39, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcAxis2Placement2D_type); - items.push_back(IFC2X3_IfcAxis2Placement3D_type); - IFC2X3_IfcAxis2Placement_type = new select_type("IfcAxis2Placement", 53, items); - } - { - std::vector items; items.reserve(4); - items.push_back(IFC2X3_IfcBooleanResult_type); - items.push_back(IFC2X3_IfcCsgPrimitive3D_type); - items.push_back(IFC2X3_IfcHalfSpaceSolid_type); - items.push_back(IFC2X3_IfcSolidModel_type); - IFC2X3_IfcBooleanOperand_type = new select_type("IfcBooleanOperand", 67, items); - } - { - std::vector items; items.reserve(1); - items.push_back(IFC2X3_IfcTextStyleForDefinedFont_type); - IFC2X3_IfcCharacterStyleSelect_type = new select_type("IfcCharacterStyleSelect", 107, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcClassificationNotation_type); - items.push_back(IFC2X3_IfcClassificationReference_type); - IFC2X3_IfcClassificationNotationSelect_type = new select_type("IfcClassificationNotationSelect", 118, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcColourSpecification_type); - items.push_back(IFC2X3_IfcPreDefinedColour_type); - IFC2X3_IfcColour_type = new select_type("IfcColour", 123, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcColourRgb_type); - items.push_back(IFC2X3_IfcNormalisedRatioMeasure_type); - IFC2X3_IfcColourOrFactor_type = new select_type("IfcColourOrFactor", 124, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcLabel_type); - items.push_back(IFC2X3_IfcMeasureWithUnit_type); - IFC2X3_IfcConditionCriterionSelect_type = new select_type("IfcConditionCriterionSelect", 142, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcBooleanResult_type); - items.push_back(IFC2X3_IfcCsgPrimitive3D_type); - IFC2X3_IfcCsgSelect_type = new select_type("IfcCsgSelect", 184, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcBoundedCurve_type); - items.push_back(IFC2X3_IfcEdgeCurve_type); - IFC2X3_IfcCurveOrEdgeCurve_type = new select_type("IfcCurveOrEdgeCurve", 196, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcCurveStyleFont_type); - items.push_back(IFC2X3_IfcPreDefinedCurveFont_type); - IFC2X3_IfcCurveStyleFontSelect_type = new select_type("IfcCurveStyleFontSelect", 201, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC2X3_IfcCalendarDate_type); - items.push_back(IFC2X3_IfcDateAndTime_type); - items.push_back(IFC2X3_IfcLocalTime_type); - IFC2X3_IfcDateTimeSelect_type = new select_type("IfcDateTimeSelect", 206, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcExternallyDefinedSymbol_type); - items.push_back(IFC2X3_IfcPreDefinedSymbol_type); - IFC2X3_IfcDefinedSymbolSelect_type = new select_type("IfcDefinedSymbolSelect", 210, items); - } - { - std::vector items; items.reserve(68); - items.push_back(IFC2X3_IfcAbsorbedDoseMeasure_type); - items.push_back(IFC2X3_IfcAccelerationMeasure_type); - items.push_back(IFC2X3_IfcAngularVelocityMeasure_type); - items.push_back(IFC2X3_IfcCompoundPlaneAngleMeasure_type); - items.push_back(IFC2X3_IfcCurvatureMeasure_type); - items.push_back(IFC2X3_IfcDoseEquivalentMeasure_type); - items.push_back(IFC2X3_IfcDynamicViscosityMeasure_type); - items.push_back(IFC2X3_IfcElectricCapacitanceMeasure_type); - items.push_back(IFC2X3_IfcElectricChargeMeasure_type); - items.push_back(IFC2X3_IfcElectricConductanceMeasure_type); - items.push_back(IFC2X3_IfcElectricResistanceMeasure_type); - items.push_back(IFC2X3_IfcElectricVoltageMeasure_type); - items.push_back(IFC2X3_IfcEnergyMeasure_type); - items.push_back(IFC2X3_IfcForceMeasure_type); - items.push_back(IFC2X3_IfcFrequencyMeasure_type); - items.push_back(IFC2X3_IfcHeatFluxDensityMeasure_type); - items.push_back(IFC2X3_IfcHeatingValueMeasure_type); - items.push_back(IFC2X3_IfcIlluminanceMeasure_type); - items.push_back(IFC2X3_IfcInductanceMeasure_type); - items.push_back(IFC2X3_IfcIntegerCountRateMeasure_type); - items.push_back(IFC2X3_IfcIonConcentrationMeasure_type); - items.push_back(IFC2X3_IfcIsothermalMoistureCapacityMeasure_type); - items.push_back(IFC2X3_IfcKinematicViscosityMeasure_type); - items.push_back(IFC2X3_IfcLinearForceMeasure_type); - items.push_back(IFC2X3_IfcLinearMomentMeasure_type); - items.push_back(IFC2X3_IfcLinearStiffnessMeasure_type); - items.push_back(IFC2X3_IfcLinearVelocityMeasure_type); - items.push_back(IFC2X3_IfcLuminousFluxMeasure_type); - items.push_back(IFC2X3_IfcLuminousIntensityDistributionMeasure_type); - items.push_back(IFC2X3_IfcMagneticFluxDensityMeasure_type); - items.push_back(IFC2X3_IfcMagneticFluxMeasure_type); - items.push_back(IFC2X3_IfcMassDensityMeasure_type); - items.push_back(IFC2X3_IfcMassFlowRateMeasure_type); - items.push_back(IFC2X3_IfcMassPerLengthMeasure_type); - items.push_back(IFC2X3_IfcModulusOfElasticityMeasure_type); - items.push_back(IFC2X3_IfcModulusOfLinearSubgradeReactionMeasure_type); - items.push_back(IFC2X3_IfcModulusOfRotationalSubgradeReactionMeasure_type); - items.push_back(IFC2X3_IfcModulusOfSubgradeReactionMeasure_type); - items.push_back(IFC2X3_IfcMoistureDiffusivityMeasure_type); - items.push_back(IFC2X3_IfcMolecularWeightMeasure_type); - items.push_back(IFC2X3_IfcMomentOfInertiaMeasure_type); - items.push_back(IFC2X3_IfcMonetaryMeasure_type); - items.push_back(IFC2X3_IfcPHMeasure_type); - items.push_back(IFC2X3_IfcPlanarForceMeasure_type); - items.push_back(IFC2X3_IfcPowerMeasure_type); - items.push_back(IFC2X3_IfcPressureMeasure_type); - items.push_back(IFC2X3_IfcRadioActivityMeasure_type); - items.push_back(IFC2X3_IfcRotationalFrequencyMeasure_type); - items.push_back(IFC2X3_IfcRotationalMassMeasure_type); - items.push_back(IFC2X3_IfcRotationalStiffnessMeasure_type); - items.push_back(IFC2X3_IfcSectionModulusMeasure_type); - items.push_back(IFC2X3_IfcSectionalAreaIntegralMeasure_type); - items.push_back(IFC2X3_IfcShearModulusMeasure_type); - items.push_back(IFC2X3_IfcSoundPowerMeasure_type); - items.push_back(IFC2X3_IfcSoundPressureMeasure_type); - items.push_back(IFC2X3_IfcSpecificHeatCapacityMeasure_type); - items.push_back(IFC2X3_IfcTemperatureGradientMeasure_type); - items.push_back(IFC2X3_IfcThermalAdmittanceMeasure_type); - items.push_back(IFC2X3_IfcThermalConductivityMeasure_type); - items.push_back(IFC2X3_IfcThermalExpansionCoefficientMeasure_type); - items.push_back(IFC2X3_IfcThermalResistanceMeasure_type); - items.push_back(IFC2X3_IfcThermalTransmittanceMeasure_type); - items.push_back(IFC2X3_IfcTimeStamp_type); - items.push_back(IFC2X3_IfcTorqueMeasure_type); - items.push_back(IFC2X3_IfcVaporPermeabilityMeasure_type); - items.push_back(IFC2X3_IfcVolumetricFlowRateMeasure_type); - items.push_back(IFC2X3_IfcWarpingConstantMeasure_type); - items.push_back(IFC2X3_IfcWarpingMomentMeasure_type); - IFC2X3_IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", 211, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcDocumentInformation_type); - items.push_back(IFC2X3_IfcDocumentReference_type); - IFC2X3_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 245, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC2X3_IfcAnnotationCurveOccurrence_type); - items.push_back(IFC2X3_IfcAnnotationSymbolOccurrence_type); - items.push_back(IFC2X3_IfcAnnotationTextOccurrence_type); - IFC2X3_IfcDraughtingCalloutElement_type = new select_type("IfcDraughtingCalloutElement", 257, items); - } - { - std::vector items; items.reserve(1); - items.push_back(IFC2X3_IfcFillAreaStyleTileSymbolWithStyle_type); - IFC2X3_IfcFillAreaStyleTileShapeSelect_type = new select_type("IfcFillAreaStyleTileShapeSelect", 346, items); - } - { - std::vector items; items.reserve(4); - items.push_back(IFC2X3_IfcColour_type); - items.push_back(IFC2X3_IfcExternallyDefinedHatchStyle_type); - items.push_back(IFC2X3_IfcFillAreaStyleHatching_type); - items.push_back(IFC2X3_IfcFillAreaStyleTiles_type); - IFC2X3_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 348, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC2X3_IfcCurve_type); - items.push_back(IFC2X3_IfcPoint_type); - items.push_back(IFC2X3_IfcSurface_type); - IFC2X3_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 395, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcOneDirectionRepeatFactor_type); - items.push_back(IFC2X3_IfcPositiveLengthMeasure_type); - IFC2X3_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 403, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcRepresentation_type); - items.push_back(IFC2X3_IfcRepresentationItem_type); - IFC2X3_IfcLayeredItem_type = new select_type("IfcLayeredItem", 433, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcLibraryInformation_type); - items.push_back(IFC2X3_IfcLibraryReference_type); - IFC2X3_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 438, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcExternalReference_type); - items.push_back(IFC2X3_IfcLightIntensityDistribution_type); - IFC2X3_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 441, items); - } - { - std::vector items; items.reserve(5); - items.push_back(IFC2X3_IfcMaterial_type); - items.push_back(IFC2X3_IfcMaterialLayer_type); - items.push_back(IFC2X3_IfcMaterialLayerSet_type); - items.push_back(IFC2X3_IfcMaterialLayerSetUsage_type); - items.push_back(IFC2X3_IfcMaterialList_type); - IFC2X3_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 484, items); - } - { - std::vector items; items.reserve(22); - items.push_back(IFC2X3_IfcAmountOfSubstanceMeasure_type); - items.push_back(IFC2X3_IfcAreaMeasure_type); - items.push_back(IFC2X3_IfcComplexNumber_type); - items.push_back(IFC2X3_IfcContextDependentMeasure_type); - items.push_back(IFC2X3_IfcCountMeasure_type); - items.push_back(IFC2X3_IfcDescriptiveMeasure_type); - items.push_back(IFC2X3_IfcElectricCurrentMeasure_type); - items.push_back(IFC2X3_IfcLengthMeasure_type); - items.push_back(IFC2X3_IfcLuminousIntensityMeasure_type); - items.push_back(IFC2X3_IfcMassMeasure_type); - items.push_back(IFC2X3_IfcNormalisedRatioMeasure_type); - items.push_back(IFC2X3_IfcNumericMeasure_type); - items.push_back(IFC2X3_IfcParameterValue_type); - items.push_back(IFC2X3_IfcPlaneAngleMeasure_type); - items.push_back(IFC2X3_IfcPositiveLengthMeasure_type); - items.push_back(IFC2X3_IfcPositivePlaneAngleMeasure_type); - items.push_back(IFC2X3_IfcPositiveRatioMeasure_type); - items.push_back(IFC2X3_IfcRatioMeasure_type); - items.push_back(IFC2X3_IfcSolidAngleMeasure_type); - items.push_back(IFC2X3_IfcThermodynamicTemperatureMeasure_type); - items.push_back(IFC2X3_IfcTimeMeasure_type); - items.push_back(IFC2X3_IfcVolumeMeasure_type); - IFC2X3_IfcMeasureValue_type = new select_type("IfcMeasureValue", 485, items); - } - { - std::vector items; items.reserve(6); - items.push_back(IFC2X3_IfcCostValue_type); - items.push_back(IFC2X3_IfcDateTimeSelect_type); - items.push_back(IFC2X3_IfcMeasureWithUnit_type); - items.push_back(IFC2X3_IfcTable_type); - items.push_back(IFC2X3_IfcText_type); - items.push_back(IFC2X3_IfcTimeSeries_type); - IFC2X3_IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", 496, items); - } - { - std::vector items; items.reserve(13); - items.push_back(IFC2X3_IfcAddress_type); - items.push_back(IFC2X3_IfcAppliedValue_type); - items.push_back(IFC2X3_IfcCalendarDate_type); - items.push_back(IFC2X3_IfcDateAndTime_type); - items.push_back(IFC2X3_IfcExternalReference_type); - items.push_back(IFC2X3_IfcLocalTime_type); - items.push_back(IFC2X3_IfcMaterial_type); - items.push_back(IFC2X3_IfcMaterialLayer_type); - items.push_back(IFC2X3_IfcMaterialList_type); - items.push_back(IFC2X3_IfcOrganization_type); - items.push_back(IFC2X3_IfcPerson_type); - items.push_back(IFC2X3_IfcPersonAndOrganization_type); - items.push_back(IFC2X3_IfcTimeSeries_type); - IFC2X3_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 520, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcDirection_type); - items.push_back(IFC2X3_IfcPlaneAngleMeasure_type); - IFC2X3_IfcOrientationSelect_type = new select_type("IfcOrientationSelect", 533, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcPoint_type); - items.push_back(IFC2X3_IfcVertexPoint_type); - IFC2X3_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 572, items); - } - { - std::vector items; items.reserve(6); - items.push_back(IFC2X3_IfcCurveStyle_type); - items.push_back(IFC2X3_IfcFillAreaStyle_type); - items.push_back(IFC2X3_IfcNullStyle_type); - items.push_back(IFC2X3_IfcSurfaceStyle_type); - items.push_back(IFC2X3_IfcSymbolStyle_type); - items.push_back(IFC2X3_IfcTextStyle_type); - IFC2X3_IfcPresentationStyleSelect_type = new select_type("IfcPresentationStyleSelect", 595, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcClosedShell_type); - items.push_back(IFC2X3_IfcOpenShell_type); - IFC2X3_IfcShell_type = new select_type("IfcShell", 759, items); - } - { - std::vector items; items.reserve(7); - items.push_back(IFC2X3_IfcBoolean_type); - items.push_back(IFC2X3_IfcIdentifier_type); - items.push_back(IFC2X3_IfcInteger_type); - items.push_back(IFC2X3_IfcLabel_type); - items.push_back(IFC2X3_IfcLogical_type); - items.push_back(IFC2X3_IfcReal_type); - items.push_back(IFC2X3_IfcText_type); - IFC2X3_IfcSimpleValue_type = new select_type("IfcSimpleValue", 762, items); - } - { - std::vector items; items.reserve(6); - items.push_back(IFC2X3_IfcDescriptiveMeasure_type); - items.push_back(IFC2X3_IfcLengthMeasure_type); - items.push_back(IFC2X3_IfcNormalisedRatioMeasure_type); - items.push_back(IFC2X3_IfcPositiveLengthMeasure_type); - items.push_back(IFC2X3_IfcPositiveRatioMeasure_type); - items.push_back(IFC2X3_IfcRatioMeasure_type); - IFC2X3_IfcSizeSelect_type = new select_type("IfcSizeSelect", 767, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcSpecularExponent_type); - items.push_back(IFC2X3_IfcSpecularRoughness_type); - IFC2X3_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 790, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcElement_type); - items.push_back(IFC2X3_IfcStructuralItem_type); - IFC2X3_IfcStructuralActivityAssignmentSelect_type = new select_type("IfcStructuralActivityAssignmentSelect", 803, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC2X3_IfcFaceBasedSurfaceModel_type); - items.push_back(IFC2X3_IfcFaceSurface_type); - items.push_back(IFC2X3_IfcSurface_type); - IFC2X3_IfcSurfaceOrFaceSurface_type = new select_type("IfcSurfaceOrFaceSurface", 848, items); - } - { - std::vector items; items.reserve(5); - items.push_back(IFC2X3_IfcExternallyDefinedSurfaceStyle_type); - items.push_back(IFC2X3_IfcSurfaceStyleLighting_type); - items.push_back(IFC2X3_IfcSurfaceStyleRefraction_type); - items.push_back(IFC2X3_IfcSurfaceStyleShading_type); - items.push_back(IFC2X3_IfcSurfaceStyleWithTextures_type); - IFC2X3_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 851, items); - } - { - std::vector items; items.reserve(1); - items.push_back(IFC2X3_IfcColour_type); - IFC2X3_IfcSymbolStyleSelect_type = new select_type("IfcSymbolStyleSelect", 865, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcExternallyDefinedTextFont_type); - items.push_back(IFC2X3_IfcPreDefinedTextFont_type); - IFC2X3_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 883, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcTextStyleTextModel_type); - items.push_back(IFC2X3_IfcTextStyleWithBoxCharacteristics_type); - IFC2X3_IfcTextStyleSelect_type = new select_type("IfcTextStyleSelect", 890, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcCartesianPoint_type); - items.push_back(IFC2X3_IfcParameterValue_type); - IFC2X3_IfcTrimmingSelect_type = new select_type("IfcTrimmingSelect", 927, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC2X3_IfcDerivedUnit_type); - items.push_back(IFC2X3_IfcMonetaryUnit_type); - items.push_back(IFC2X3_IfcNamedUnit_type); - IFC2X3_IfcUnit_type = new select_type("IfcUnit", 934, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC2X3_IfcDerivedMeasureValue_type); - items.push_back(IFC2X3_IfcMeasureValue_type); - items.push_back(IFC2X3_IfcSimpleValue_type); - IFC2X3_IfcValue_type = new select_type("IfcValue", 940, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcDirection_type); - items.push_back(IFC2X3_IfcVector_type); - IFC2X3_IfcVectorOrDirection_type = new select_type("IfcVectorOrDirection", 945, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC2X3_IfcCurveStyleFontAndScaling_type); - items.push_back(IFC2X3_IfcCurveStyleFontSelect_type); - IFC2X3_IfcCurveFontOrScaledCurveFontSelect_type = new select_type("IfcCurveFontOrScaledCurveFontSelect", 195, items); - } { std::vector attributes; attributes.reserve(0); std::vector derived; derived.reserve(2); @@ -10549,121 +10549,6 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { std::vector declarations; declarations.reserve(980); declarations.push_back(IFC2X3_IfcAbsorbedDoseMeasure_type); declarations.push_back(IFC2X3_IfcAccelerationMeasure_type); - declarations.push_back(IFC2X3_IfcAmountOfSubstanceMeasure_type); - declarations.push_back(IFC2X3_IfcAngularVelocityMeasure_type); - declarations.push_back(IFC2X3_IfcAreaMeasure_type); - declarations.push_back(IFC2X3_IfcBoolean_type); - declarations.push_back(IFC2X3_IfcComplexNumber_type); - declarations.push_back(IFC2X3_IfcCompoundPlaneAngleMeasure_type); - declarations.push_back(IFC2X3_IfcContextDependentMeasure_type); - declarations.push_back(IFC2X3_IfcCountMeasure_type); - declarations.push_back(IFC2X3_IfcCurvatureMeasure_type); - declarations.push_back(IFC2X3_IfcDayInMonthNumber_type); - declarations.push_back(IFC2X3_IfcDaylightSavingHour_type); - declarations.push_back(IFC2X3_IfcDescriptiveMeasure_type); - declarations.push_back(IFC2X3_IfcDimensionCount_type); - declarations.push_back(IFC2X3_IfcDoseEquivalentMeasure_type); - declarations.push_back(IFC2X3_IfcDynamicViscosityMeasure_type); - declarations.push_back(IFC2X3_IfcElectricCapacitanceMeasure_type); - declarations.push_back(IFC2X3_IfcElectricChargeMeasure_type); - declarations.push_back(IFC2X3_IfcElectricConductanceMeasure_type); - declarations.push_back(IFC2X3_IfcElectricCurrentMeasure_type); - declarations.push_back(IFC2X3_IfcElectricResistanceMeasure_type); - declarations.push_back(IFC2X3_IfcElectricVoltageMeasure_type); - declarations.push_back(IFC2X3_IfcEnergyMeasure_type); - declarations.push_back(IFC2X3_IfcFontStyle_type); - declarations.push_back(IFC2X3_IfcFontVariant_type); - declarations.push_back(IFC2X3_IfcFontWeight_type); - declarations.push_back(IFC2X3_IfcForceMeasure_type); - declarations.push_back(IFC2X3_IfcFrequencyMeasure_type); - declarations.push_back(IFC2X3_IfcGloballyUniqueId_type); - declarations.push_back(IFC2X3_IfcHeatFluxDensityMeasure_type); - declarations.push_back(IFC2X3_IfcHeatingValueMeasure_type); - declarations.push_back(IFC2X3_IfcHourInDay_type); - declarations.push_back(IFC2X3_IfcIdentifier_type); - declarations.push_back(IFC2X3_IfcIlluminanceMeasure_type); - declarations.push_back(IFC2X3_IfcInductanceMeasure_type); - declarations.push_back(IFC2X3_IfcInteger_type); - declarations.push_back(IFC2X3_IfcIntegerCountRateMeasure_type); - declarations.push_back(IFC2X3_IfcIonConcentrationMeasure_type); - declarations.push_back(IFC2X3_IfcIsothermalMoistureCapacityMeasure_type); - declarations.push_back(IFC2X3_IfcKinematicViscosityMeasure_type); - declarations.push_back(IFC2X3_IfcLabel_type); - declarations.push_back(IFC2X3_IfcLengthMeasure_type); - declarations.push_back(IFC2X3_IfcLinearForceMeasure_type); - declarations.push_back(IFC2X3_IfcLinearMomentMeasure_type); - declarations.push_back(IFC2X3_IfcLinearStiffnessMeasure_type); - declarations.push_back(IFC2X3_IfcLinearVelocityMeasure_type); - declarations.push_back(IFC2X3_IfcLogical_type); - declarations.push_back(IFC2X3_IfcLuminousFluxMeasure_type); - declarations.push_back(IFC2X3_IfcLuminousIntensityDistributionMeasure_type); - declarations.push_back(IFC2X3_IfcLuminousIntensityMeasure_type); - declarations.push_back(IFC2X3_IfcMagneticFluxDensityMeasure_type); - declarations.push_back(IFC2X3_IfcMagneticFluxMeasure_type); - declarations.push_back(IFC2X3_IfcMassDensityMeasure_type); - declarations.push_back(IFC2X3_IfcMassFlowRateMeasure_type); - declarations.push_back(IFC2X3_IfcMassMeasure_type); - declarations.push_back(IFC2X3_IfcMassPerLengthMeasure_type); - declarations.push_back(IFC2X3_IfcMinuteInHour_type); - declarations.push_back(IFC2X3_IfcModulusOfElasticityMeasure_type); - declarations.push_back(IFC2X3_IfcModulusOfLinearSubgradeReactionMeasure_type); - declarations.push_back(IFC2X3_IfcModulusOfRotationalSubgradeReactionMeasure_type); - declarations.push_back(IFC2X3_IfcModulusOfSubgradeReactionMeasure_type); - declarations.push_back(IFC2X3_IfcMoistureDiffusivityMeasure_type); - declarations.push_back(IFC2X3_IfcMolecularWeightMeasure_type); - declarations.push_back(IFC2X3_IfcMomentOfInertiaMeasure_type); - declarations.push_back(IFC2X3_IfcMonetaryMeasure_type); - declarations.push_back(IFC2X3_IfcMonthInYearNumber_type); - declarations.push_back(IFC2X3_IfcNumericMeasure_type); - declarations.push_back(IFC2X3_IfcPHMeasure_type); - declarations.push_back(IFC2X3_IfcParameterValue_type); - declarations.push_back(IFC2X3_IfcPlanarForceMeasure_type); - declarations.push_back(IFC2X3_IfcPlaneAngleMeasure_type); - declarations.push_back(IFC2X3_IfcPositiveLengthMeasure_type); - declarations.push_back(IFC2X3_IfcPositivePlaneAngleMeasure_type); - declarations.push_back(IFC2X3_IfcPowerMeasure_type); - declarations.push_back(IFC2X3_IfcPresentableText_type); - declarations.push_back(IFC2X3_IfcPressureMeasure_type); - declarations.push_back(IFC2X3_IfcRadioActivityMeasure_type); - declarations.push_back(IFC2X3_IfcRatioMeasure_type); - declarations.push_back(IFC2X3_IfcReal_type); - declarations.push_back(IFC2X3_IfcRotationalFrequencyMeasure_type); - declarations.push_back(IFC2X3_IfcRotationalMassMeasure_type); - declarations.push_back(IFC2X3_IfcRotationalStiffnessMeasure_type); - declarations.push_back(IFC2X3_IfcSecondInMinute_type); - declarations.push_back(IFC2X3_IfcSectionModulusMeasure_type); - declarations.push_back(IFC2X3_IfcSectionalAreaIntegralMeasure_type); - declarations.push_back(IFC2X3_IfcShearModulusMeasure_type); - declarations.push_back(IFC2X3_IfcSolidAngleMeasure_type); - declarations.push_back(IFC2X3_IfcSoundPowerMeasure_type); - declarations.push_back(IFC2X3_IfcSoundPressureMeasure_type); - declarations.push_back(IFC2X3_IfcSpecificHeatCapacityMeasure_type); - declarations.push_back(IFC2X3_IfcSpecularExponent_type); - declarations.push_back(IFC2X3_IfcSpecularRoughness_type); - declarations.push_back(IFC2X3_IfcTemperatureGradientMeasure_type); - declarations.push_back(IFC2X3_IfcText_type); - declarations.push_back(IFC2X3_IfcTextAlignment_type); - declarations.push_back(IFC2X3_IfcTextDecoration_type); - declarations.push_back(IFC2X3_IfcTextFontName_type); - declarations.push_back(IFC2X3_IfcTextTransformation_type); - declarations.push_back(IFC2X3_IfcThermalAdmittanceMeasure_type); - declarations.push_back(IFC2X3_IfcThermalConductivityMeasure_type); - declarations.push_back(IFC2X3_IfcThermalExpansionCoefficientMeasure_type); - declarations.push_back(IFC2X3_IfcThermalResistanceMeasure_type); - declarations.push_back(IFC2X3_IfcThermalTransmittanceMeasure_type); - declarations.push_back(IFC2X3_IfcThermodynamicTemperatureMeasure_type); - declarations.push_back(IFC2X3_IfcTimeMeasure_type); - declarations.push_back(IFC2X3_IfcTimeStamp_type); - declarations.push_back(IFC2X3_IfcTorqueMeasure_type); - declarations.push_back(IFC2X3_IfcVaporPermeabilityMeasure_type); - declarations.push_back(IFC2X3_IfcVolumeMeasure_type); - declarations.push_back(IFC2X3_IfcVolumetricFlowRateMeasure_type); - declarations.push_back(IFC2X3_IfcWarpingConstantMeasure_type); - declarations.push_back(IFC2X3_IfcWarpingMomentMeasure_type); - declarations.push_back(IFC2X3_IfcYearNumber_type); - declarations.push_back(IFC2X3_IfcBoxAlignment_type); - declarations.push_back(IFC2X3_IfcNormalisedRatioMeasure_type); - declarations.push_back(IFC2X3_IfcPositiveRatioMeasure_type); declarations.push_back(IFC2X3_IfcActionSourceTypeEnum_type); declarations.push_back(IFC2X3_IfcActionTypeEnum_type); declarations.push_back(IFC2X3_IfcActuatorTypeEnum_type); @@ -10673,14 +10558,18 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcAirTerminalTypeEnum_type); declarations.push_back(IFC2X3_IfcAirToAirHeatRecoveryTypeEnum_type); declarations.push_back(IFC2X3_IfcAlarmTypeEnum_type); + declarations.push_back(IFC2X3_IfcAmountOfSubstanceMeasure_type); declarations.push_back(IFC2X3_IfcAnalysisModelTypeEnum_type); declarations.push_back(IFC2X3_IfcAnalysisTheoryTypeEnum_type); + declarations.push_back(IFC2X3_IfcAngularVelocityMeasure_type); + declarations.push_back(IFC2X3_IfcAreaMeasure_type); declarations.push_back(IFC2X3_IfcArithmeticOperatorEnum_type); declarations.push_back(IFC2X3_IfcAssemblyPlaceEnum_type); declarations.push_back(IFC2X3_IfcBSplineCurveForm_type); declarations.push_back(IFC2X3_IfcBeamTypeEnum_type); declarations.push_back(IFC2X3_IfcBenchmarkEnum_type); declarations.push_back(IFC2X3_IfcBoilerTypeEnum_type); + declarations.push_back(IFC2X3_IfcBoolean_type); declarations.push_back(IFC2X3_IfcBooleanOperator_type); declarations.push_back(IFC2X3_IfcBuildingElementProxyTypeEnum_type); declarations.push_back(IFC2X3_IfcCableCarrierFittingTypeEnum_type); @@ -10690,20 +10579,29 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcChillerTypeEnum_type); declarations.push_back(IFC2X3_IfcCoilTypeEnum_type); declarations.push_back(IFC2X3_IfcColumnTypeEnum_type); + declarations.push_back(IFC2X3_IfcComplexNumber_type); + declarations.push_back(IFC2X3_IfcCompoundPlaneAngleMeasure_type); declarations.push_back(IFC2X3_IfcCompressorTypeEnum_type); declarations.push_back(IFC2X3_IfcCondenserTypeEnum_type); declarations.push_back(IFC2X3_IfcConnectionTypeEnum_type); declarations.push_back(IFC2X3_IfcConstraintEnum_type); + declarations.push_back(IFC2X3_IfcContextDependentMeasure_type); declarations.push_back(IFC2X3_IfcControllerTypeEnum_type); declarations.push_back(IFC2X3_IfcCooledBeamTypeEnum_type); declarations.push_back(IFC2X3_IfcCoolingTowerTypeEnum_type); declarations.push_back(IFC2X3_IfcCostScheduleTypeEnum_type); + declarations.push_back(IFC2X3_IfcCountMeasure_type); declarations.push_back(IFC2X3_IfcCoveringTypeEnum_type); declarations.push_back(IFC2X3_IfcCurrencyEnum_type); declarations.push_back(IFC2X3_IfcCurtainWallTypeEnum_type); + declarations.push_back(IFC2X3_IfcCurvatureMeasure_type); declarations.push_back(IFC2X3_IfcDamperTypeEnum_type); declarations.push_back(IFC2X3_IfcDataOriginEnum_type); + declarations.push_back(IFC2X3_IfcDayInMonthNumber_type); + declarations.push_back(IFC2X3_IfcDaylightSavingHour_type); declarations.push_back(IFC2X3_IfcDerivedUnitEnum_type); + declarations.push_back(IFC2X3_IfcDescriptiveMeasure_type); + declarations.push_back(IFC2X3_IfcDimensionCount_type); declarations.push_back(IFC2X3_IfcDimensionExtentUsage_type); declarations.push_back(IFC2X3_IfcDirectionSenseEnum_type); declarations.push_back(IFC2X3_IfcDistributionChamberElementTypeEnum_type); @@ -10713,19 +10611,28 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcDoorPanelPositionEnum_type); declarations.push_back(IFC2X3_IfcDoorStyleConstructionEnum_type); declarations.push_back(IFC2X3_IfcDoorStyleOperationEnum_type); + declarations.push_back(IFC2X3_IfcDoseEquivalentMeasure_type); declarations.push_back(IFC2X3_IfcDuctFittingTypeEnum_type); declarations.push_back(IFC2X3_IfcDuctSegmentTypeEnum_type); declarations.push_back(IFC2X3_IfcDuctSilencerTypeEnum_type); + declarations.push_back(IFC2X3_IfcDynamicViscosityMeasure_type); declarations.push_back(IFC2X3_IfcElectricApplianceTypeEnum_type); + declarations.push_back(IFC2X3_IfcElectricCapacitanceMeasure_type); + declarations.push_back(IFC2X3_IfcElectricChargeMeasure_type); + declarations.push_back(IFC2X3_IfcElectricConductanceMeasure_type); declarations.push_back(IFC2X3_IfcElectricCurrentEnum_type); + declarations.push_back(IFC2X3_IfcElectricCurrentMeasure_type); declarations.push_back(IFC2X3_IfcElectricDistributionPointFunctionEnum_type); declarations.push_back(IFC2X3_IfcElectricFlowStorageDeviceTypeEnum_type); declarations.push_back(IFC2X3_IfcElectricGeneratorTypeEnum_type); declarations.push_back(IFC2X3_IfcElectricHeaterTypeEnum_type); declarations.push_back(IFC2X3_IfcElectricMotorTypeEnum_type); + declarations.push_back(IFC2X3_IfcElectricResistanceMeasure_type); declarations.push_back(IFC2X3_IfcElectricTimeControlTypeEnum_type); + declarations.push_back(IFC2X3_IfcElectricVoltageMeasure_type); declarations.push_back(IFC2X3_IfcElementAssemblyTypeEnum_type); declarations.push_back(IFC2X3_IfcElementCompositionEnum_type); + declarations.push_back(IFC2X3_IfcEnergyMeasure_type); declarations.push_back(IFC2X3_IfcEnergySequenceEnum_type); declarations.push_back(IFC2X3_IfcEnvironmentalImpactCategoryEnum_type); declarations.push_back(IFC2X3_IfcEvaporativeCoolerTypeEnum_type); @@ -10736,36 +10643,89 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcFlowDirectionEnum_type); declarations.push_back(IFC2X3_IfcFlowInstrumentTypeEnum_type); declarations.push_back(IFC2X3_IfcFlowMeterTypeEnum_type); + declarations.push_back(IFC2X3_IfcFontStyle_type); + declarations.push_back(IFC2X3_IfcFontVariant_type); + declarations.push_back(IFC2X3_IfcFontWeight_type); declarations.push_back(IFC2X3_IfcFootingTypeEnum_type); + declarations.push_back(IFC2X3_IfcForceMeasure_type); + declarations.push_back(IFC2X3_IfcFrequencyMeasure_type); declarations.push_back(IFC2X3_IfcGasTerminalTypeEnum_type); declarations.push_back(IFC2X3_IfcGeometricProjectionEnum_type); declarations.push_back(IFC2X3_IfcGlobalOrLocalEnum_type); + declarations.push_back(IFC2X3_IfcGloballyUniqueId_type); declarations.push_back(IFC2X3_IfcHeatExchangerTypeEnum_type); + declarations.push_back(IFC2X3_IfcHeatFluxDensityMeasure_type); + declarations.push_back(IFC2X3_IfcHeatingValueMeasure_type); + declarations.push_back(IFC2X3_IfcHourInDay_type); declarations.push_back(IFC2X3_IfcHumidifierTypeEnum_type); + declarations.push_back(IFC2X3_IfcIdentifier_type); + declarations.push_back(IFC2X3_IfcIlluminanceMeasure_type); + declarations.push_back(IFC2X3_IfcInductanceMeasure_type); + declarations.push_back(IFC2X3_IfcInteger_type); + declarations.push_back(IFC2X3_IfcIntegerCountRateMeasure_type); declarations.push_back(IFC2X3_IfcInternalOrExternalEnum_type); declarations.push_back(IFC2X3_IfcInventoryTypeEnum_type); + declarations.push_back(IFC2X3_IfcIonConcentrationMeasure_type); + declarations.push_back(IFC2X3_IfcIsothermalMoistureCapacityMeasure_type); declarations.push_back(IFC2X3_IfcJunctionBoxTypeEnum_type); + declarations.push_back(IFC2X3_IfcKinematicViscosityMeasure_type); + declarations.push_back(IFC2X3_IfcLabel_type); declarations.push_back(IFC2X3_IfcLampTypeEnum_type); declarations.push_back(IFC2X3_IfcLayerSetDirectionEnum_type); + declarations.push_back(IFC2X3_IfcLengthMeasure_type); declarations.push_back(IFC2X3_IfcLightDistributionCurveEnum_type); declarations.push_back(IFC2X3_IfcLightEmissionSourceEnum_type); declarations.push_back(IFC2X3_IfcLightFixtureTypeEnum_type); + declarations.push_back(IFC2X3_IfcLinearForceMeasure_type); + declarations.push_back(IFC2X3_IfcLinearMomentMeasure_type); + declarations.push_back(IFC2X3_IfcLinearStiffnessMeasure_type); + declarations.push_back(IFC2X3_IfcLinearVelocityMeasure_type); declarations.push_back(IFC2X3_IfcLoadGroupTypeEnum_type); + declarations.push_back(IFC2X3_IfcLogical_type); declarations.push_back(IFC2X3_IfcLogicalOperatorEnum_type); + declarations.push_back(IFC2X3_IfcLuminousFluxMeasure_type); + declarations.push_back(IFC2X3_IfcLuminousIntensityDistributionMeasure_type); + declarations.push_back(IFC2X3_IfcLuminousIntensityMeasure_type); + declarations.push_back(IFC2X3_IfcMagneticFluxDensityMeasure_type); + declarations.push_back(IFC2X3_IfcMagneticFluxMeasure_type); + declarations.push_back(IFC2X3_IfcMassDensityMeasure_type); + declarations.push_back(IFC2X3_IfcMassFlowRateMeasure_type); + declarations.push_back(IFC2X3_IfcMassMeasure_type); + declarations.push_back(IFC2X3_IfcMassPerLengthMeasure_type); declarations.push_back(IFC2X3_IfcMemberTypeEnum_type); + declarations.push_back(IFC2X3_IfcMinuteInHour_type); + declarations.push_back(IFC2X3_IfcModulusOfElasticityMeasure_type); + declarations.push_back(IFC2X3_IfcModulusOfLinearSubgradeReactionMeasure_type); + declarations.push_back(IFC2X3_IfcModulusOfRotationalSubgradeReactionMeasure_type); + declarations.push_back(IFC2X3_IfcModulusOfSubgradeReactionMeasure_type); + declarations.push_back(IFC2X3_IfcMoistureDiffusivityMeasure_type); + declarations.push_back(IFC2X3_IfcMolecularWeightMeasure_type); + declarations.push_back(IFC2X3_IfcMomentOfInertiaMeasure_type); + declarations.push_back(IFC2X3_IfcMonetaryMeasure_type); + declarations.push_back(IFC2X3_IfcMonthInYearNumber_type); declarations.push_back(IFC2X3_IfcMotorConnectionTypeEnum_type); declarations.push_back(IFC2X3_IfcNullStyle_type); + declarations.push_back(IFC2X3_IfcNumericMeasure_type); declarations.push_back(IFC2X3_IfcObjectTypeEnum_type); declarations.push_back(IFC2X3_IfcObjectiveEnum_type); declarations.push_back(IFC2X3_IfcOccupantTypeEnum_type); declarations.push_back(IFC2X3_IfcOutletTypeEnum_type); + declarations.push_back(IFC2X3_IfcPHMeasure_type); + declarations.push_back(IFC2X3_IfcParameterValue_type); declarations.push_back(IFC2X3_IfcPermeableCoveringOperationEnum_type); declarations.push_back(IFC2X3_IfcPhysicalOrVirtualEnum_type); declarations.push_back(IFC2X3_IfcPileConstructionEnum_type); declarations.push_back(IFC2X3_IfcPileTypeEnum_type); declarations.push_back(IFC2X3_IfcPipeFittingTypeEnum_type); declarations.push_back(IFC2X3_IfcPipeSegmentTypeEnum_type); + declarations.push_back(IFC2X3_IfcPlanarForceMeasure_type); + declarations.push_back(IFC2X3_IfcPlaneAngleMeasure_type); declarations.push_back(IFC2X3_IfcPlateTypeEnum_type); + declarations.push_back(IFC2X3_IfcPositiveLengthMeasure_type); + declarations.push_back(IFC2X3_IfcPositivePlaneAngleMeasure_type); + declarations.push_back(IFC2X3_IfcPowerMeasure_type); + declarations.push_back(IFC2X3_IfcPresentableText_type); + declarations.push_back(IFC2X3_IfcPressureMeasure_type); declarations.push_back(IFC2X3_IfcProcedureTypeEnum_type); declarations.push_back(IFC2X3_IfcProfileTypeEnum_type); declarations.push_back(IFC2X3_IfcProjectOrderRecordTypeEnum_type); @@ -10774,9 +10734,12 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcPropertySourceEnum_type); declarations.push_back(IFC2X3_IfcProtectiveDeviceTypeEnum_type); declarations.push_back(IFC2X3_IfcPumpTypeEnum_type); + declarations.push_back(IFC2X3_IfcRadioActivityMeasure_type); declarations.push_back(IFC2X3_IfcRailingTypeEnum_type); declarations.push_back(IFC2X3_IfcRampFlightTypeEnum_type); declarations.push_back(IFC2X3_IfcRampTypeEnum_type); + declarations.push_back(IFC2X3_IfcRatioMeasure_type); + declarations.push_back(IFC2X3_IfcReal_type); declarations.push_back(IFC2X3_IfcReflectanceMethodEnum_type); declarations.push_back(IFC2X3_IfcReinforcingBarRoleEnum_type); declarations.push_back(IFC2X3_IfcReinforcingBarSurfaceEnum_type); @@ -10784,18 +10747,31 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcRibPlateDirectionEnum_type); declarations.push_back(IFC2X3_IfcRoleEnum_type); declarations.push_back(IFC2X3_IfcRoofTypeEnum_type); + declarations.push_back(IFC2X3_IfcRotationalFrequencyMeasure_type); + declarations.push_back(IFC2X3_IfcRotationalMassMeasure_type); + declarations.push_back(IFC2X3_IfcRotationalStiffnessMeasure_type); declarations.push_back(IFC2X3_IfcSIPrefix_type); declarations.push_back(IFC2X3_IfcSIUnitName_type); declarations.push_back(IFC2X3_IfcSanitaryTerminalTypeEnum_type); + declarations.push_back(IFC2X3_IfcSecondInMinute_type); + declarations.push_back(IFC2X3_IfcSectionModulusMeasure_type); declarations.push_back(IFC2X3_IfcSectionTypeEnum_type); + declarations.push_back(IFC2X3_IfcSectionalAreaIntegralMeasure_type); declarations.push_back(IFC2X3_IfcSensorTypeEnum_type); declarations.push_back(IFC2X3_IfcSequenceEnum_type); declarations.push_back(IFC2X3_IfcServiceLifeFactorTypeEnum_type); declarations.push_back(IFC2X3_IfcServiceLifeTypeEnum_type); + declarations.push_back(IFC2X3_IfcShearModulusMeasure_type); declarations.push_back(IFC2X3_IfcSlabTypeEnum_type); + declarations.push_back(IFC2X3_IfcSolidAngleMeasure_type); + declarations.push_back(IFC2X3_IfcSoundPowerMeasure_type); + declarations.push_back(IFC2X3_IfcSoundPressureMeasure_type); declarations.push_back(IFC2X3_IfcSoundScaleEnum_type); declarations.push_back(IFC2X3_IfcSpaceHeaterTypeEnum_type); declarations.push_back(IFC2X3_IfcSpaceTypeEnum_type); + declarations.push_back(IFC2X3_IfcSpecificHeatCapacityMeasure_type); + declarations.push_back(IFC2X3_IfcSpecularExponent_type); + declarations.push_back(IFC2X3_IfcSpecularRoughness_type); declarations.push_back(IFC2X3_IfcStackTerminalTypeEnum_type); declarations.push_back(IFC2X3_IfcStairFlightTypeEnum_type); declarations.push_back(IFC2X3_IfcStairTypeEnum_type); @@ -10806,12 +10782,27 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcSurfaceTextureEnum_type); declarations.push_back(IFC2X3_IfcSwitchingDeviceTypeEnum_type); declarations.push_back(IFC2X3_IfcTankTypeEnum_type); + declarations.push_back(IFC2X3_IfcTemperatureGradientMeasure_type); declarations.push_back(IFC2X3_IfcTendonTypeEnum_type); + declarations.push_back(IFC2X3_IfcText_type); + declarations.push_back(IFC2X3_IfcTextAlignment_type); + declarations.push_back(IFC2X3_IfcTextDecoration_type); + declarations.push_back(IFC2X3_IfcTextFontName_type); declarations.push_back(IFC2X3_IfcTextPath_type); + declarations.push_back(IFC2X3_IfcTextTransformation_type); + declarations.push_back(IFC2X3_IfcThermalAdmittanceMeasure_type); + declarations.push_back(IFC2X3_IfcThermalConductivityMeasure_type); + declarations.push_back(IFC2X3_IfcThermalExpansionCoefficientMeasure_type); declarations.push_back(IFC2X3_IfcThermalLoadSourceEnum_type); declarations.push_back(IFC2X3_IfcThermalLoadTypeEnum_type); + declarations.push_back(IFC2X3_IfcThermalResistanceMeasure_type); + declarations.push_back(IFC2X3_IfcThermalTransmittanceMeasure_type); + declarations.push_back(IFC2X3_IfcThermodynamicTemperatureMeasure_type); + declarations.push_back(IFC2X3_IfcTimeMeasure_type); declarations.push_back(IFC2X3_IfcTimeSeriesDataTypeEnum_type); declarations.push_back(IFC2X3_IfcTimeSeriesScheduleTypeEnum_type); + declarations.push_back(IFC2X3_IfcTimeStamp_type); + declarations.push_back(IFC2X3_IfcTorqueMeasure_type); declarations.push_back(IFC2X3_IfcTransformerTypeEnum_type); declarations.push_back(IFC2X3_IfcTransitionCode_type); declarations.push_back(IFC2X3_IfcTransportElementTypeEnum_type); @@ -10820,14 +10811,20 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcUnitEnum_type); declarations.push_back(IFC2X3_IfcUnitaryEquipmentTypeEnum_type); declarations.push_back(IFC2X3_IfcValveTypeEnum_type); + declarations.push_back(IFC2X3_IfcVaporPermeabilityMeasure_type); declarations.push_back(IFC2X3_IfcVibrationIsolatorTypeEnum_type); + declarations.push_back(IFC2X3_IfcVolumeMeasure_type); + declarations.push_back(IFC2X3_IfcVolumetricFlowRateMeasure_type); declarations.push_back(IFC2X3_IfcWallTypeEnum_type); + declarations.push_back(IFC2X3_IfcWarpingConstantMeasure_type); + declarations.push_back(IFC2X3_IfcWarpingMomentMeasure_type); declarations.push_back(IFC2X3_IfcWasteTerminalTypeEnum_type); declarations.push_back(IFC2X3_IfcWindowPanelOperationEnum_type); declarations.push_back(IFC2X3_IfcWindowPanelPositionEnum_type); declarations.push_back(IFC2X3_IfcWindowStyleConstructionEnum_type); declarations.push_back(IFC2X3_IfcWindowStyleOperationEnum_type); declarations.push_back(IFC2X3_IfcWorkControlTypeEnum_type); + declarations.push_back(IFC2X3_IfcYearNumber_type); declarations.push_back(IFC2X3_IfcActorRole_type); declarations.push_back(IFC2X3_IfcAddress_type); declarations.push_back(IFC2X3_IfcApplication_type); @@ -10984,6 +10981,29 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcVertexPoint_type); declarations.push_back(IFC2X3_IfcVirtualGridIntersection_type); declarations.push_back(IFC2X3_IfcWaterProperties_type); + declarations.push_back(IFC2X3_IfcActorSelect_type); + declarations.push_back(IFC2X3_IfcAppliedValueSelect_type); + declarations.push_back(IFC2X3_IfcBoxAlignment_type); + declarations.push_back(IFC2X3_IfcCharacterStyleSelect_type); + declarations.push_back(IFC2X3_IfcConditionCriterionSelect_type); + declarations.push_back(IFC2X3_IfcDateTimeSelect_type); + declarations.push_back(IFC2X3_IfcDefinedSymbolSelect_type); + declarations.push_back(IFC2X3_IfcDerivedMeasureValue_type); + declarations.push_back(IFC2X3_IfcLayeredItem_type); + declarations.push_back(IFC2X3_IfcLibrarySelect_type); + declarations.push_back(IFC2X3_IfcLightDistributionDataSourceSelect_type); + declarations.push_back(IFC2X3_IfcMaterialSelect_type); + declarations.push_back(IFC2X3_IfcMetricValueSelect_type); + declarations.push_back(IFC2X3_IfcNormalisedRatioMeasure_type); + declarations.push_back(IFC2X3_IfcObjectReferenceSelect_type); + declarations.push_back(IFC2X3_IfcPositiveRatioMeasure_type); + declarations.push_back(IFC2X3_IfcSimpleValue_type); + declarations.push_back(IFC2X3_IfcSizeSelect_type); + declarations.push_back(IFC2X3_IfcSpecularHighlightSelect_type); + declarations.push_back(IFC2X3_IfcSurfaceStyleElementSelect_type); + declarations.push_back(IFC2X3_IfcTextFontSelect_type); + declarations.push_back(IFC2X3_IfcTextStyleSelect_type); + declarations.push_back(IFC2X3_IfcUnit_type); declarations.push_back(IFC2X3_IfcAnnotationOccurrence_type); declarations.push_back(IFC2X3_IfcAnnotationSurfaceOccurrence_type); declarations.push_back(IFC2X3_IfcAnnotationSymbolOccurrence_type); @@ -11110,6 +11130,17 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcWindowPanelProperties_type); declarations.push_back(IFC2X3_IfcWindowStyle_type); declarations.push_back(IFC2X3_IfcZShapeProfileDef_type); + declarations.push_back(IFC2X3_IfcClassificationNotationSelect_type); + declarations.push_back(IFC2X3_IfcColour_type); + declarations.push_back(IFC2X3_IfcColourOrFactor_type); + declarations.push_back(IFC2X3_IfcCurveStyleFontSelect_type); + declarations.push_back(IFC2X3_IfcDocumentSelect_type); + declarations.push_back(IFC2X3_IfcHatchLineDistanceSelect_type); + declarations.push_back(IFC2X3_IfcMeasureValue_type); + declarations.push_back(IFC2X3_IfcPointOrVertexPoint_type); + declarations.push_back(IFC2X3_IfcPresentationStyleSelect_type); + declarations.push_back(IFC2X3_IfcSymbolStyleSelect_type); + declarations.push_back(IFC2X3_IfcValue_type); declarations.push_back(IFC2X3_IfcAnnotationCurveOccurrence_type); declarations.push_back(IFC2X3_IfcAnnotationFillArea_type); declarations.push_back(IFC2X3_IfcAnnotationFillAreaOccurrence_type); @@ -11248,6 +11279,19 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcSystemFurnitureElementType_type); declarations.push_back(IFC2X3_IfcTask_type); declarations.push_back(IFC2X3_IfcTransportElementType_type); + declarations.push_back(IFC2X3_IfcAxis2Placement_type); + declarations.push_back(IFC2X3_IfcBooleanOperand_type); + declarations.push_back(IFC2X3_IfcCsgSelect_type); + declarations.push_back(IFC2X3_IfcCurveFontOrScaledCurveFontSelect_type); + declarations.push_back(IFC2X3_IfcDraughtingCalloutElement_type); + declarations.push_back(IFC2X3_IfcFillAreaStyleTileShapeSelect_type); + declarations.push_back(IFC2X3_IfcFillStyleSelect_type); + declarations.push_back(IFC2X3_IfcGeometricSetSelect_type); + declarations.push_back(IFC2X3_IfcOrientationSelect_type); + declarations.push_back(IFC2X3_IfcShell_type); + declarations.push_back(IFC2X3_IfcSurfaceOrFaceSurface_type); + declarations.push_back(IFC2X3_IfcTrimmingSelect_type); + declarations.push_back(IFC2X3_IfcVectorOrDirection_type); declarations.push_back(IFC2X3_IfcActor_type); declarations.push_back(IFC2X3_IfcAnnotation_type); declarations.push_back(IFC2X3_IfcAsymmetricIShapeProfileDef_type); @@ -11381,6 +11425,8 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcWorkPlan_type); declarations.push_back(IFC2X3_IfcWorkSchedule_type); declarations.push_back(IFC2X3_IfcZone_type); + declarations.push_back(IFC2X3_IfcCurveOrEdgeCurve_type); + declarations.push_back(IFC2X3_IfcStructuralActivityAssignmentSelect_type); declarations.push_back(IFC2X3_Ifc2DCompositeCurve_type); declarations.push_back(IFC2X3_IfcActionRequest_type); declarations.push_back(IFC2X3_IfcAirTerminalBoxType_type); @@ -11481,52 +11527,6 @@ IfcParse::schema_definition* IFC2X3_populate_schema() { declarations.push_back(IFC2X3_IfcDistributionControlElement_type); declarations.push_back(IFC2X3_IfcElectricDistributionPoint_type); declarations.push_back(IFC2X3_IfcReinforcingBar_type); - declarations.push_back(IFC2X3_IfcActorSelect_type); - declarations.push_back(IFC2X3_IfcAppliedValueSelect_type); - declarations.push_back(IFC2X3_IfcAxis2Placement_type); - declarations.push_back(IFC2X3_IfcBooleanOperand_type); - declarations.push_back(IFC2X3_IfcCharacterStyleSelect_type); - declarations.push_back(IFC2X3_IfcClassificationNotationSelect_type); - declarations.push_back(IFC2X3_IfcColour_type); - declarations.push_back(IFC2X3_IfcColourOrFactor_type); - declarations.push_back(IFC2X3_IfcConditionCriterionSelect_type); - declarations.push_back(IFC2X3_IfcCsgSelect_type); - declarations.push_back(IFC2X3_IfcCurveOrEdgeCurve_type); - declarations.push_back(IFC2X3_IfcCurveStyleFontSelect_type); - declarations.push_back(IFC2X3_IfcDateTimeSelect_type); - declarations.push_back(IFC2X3_IfcDefinedSymbolSelect_type); - declarations.push_back(IFC2X3_IfcDerivedMeasureValue_type); - declarations.push_back(IFC2X3_IfcDocumentSelect_type); - declarations.push_back(IFC2X3_IfcDraughtingCalloutElement_type); - declarations.push_back(IFC2X3_IfcFillAreaStyleTileShapeSelect_type); - declarations.push_back(IFC2X3_IfcFillStyleSelect_type); - declarations.push_back(IFC2X3_IfcGeometricSetSelect_type); - declarations.push_back(IFC2X3_IfcHatchLineDistanceSelect_type); - declarations.push_back(IFC2X3_IfcLayeredItem_type); - declarations.push_back(IFC2X3_IfcLibrarySelect_type); - declarations.push_back(IFC2X3_IfcLightDistributionDataSourceSelect_type); - declarations.push_back(IFC2X3_IfcMaterialSelect_type); - declarations.push_back(IFC2X3_IfcMeasureValue_type); - declarations.push_back(IFC2X3_IfcMetricValueSelect_type); - declarations.push_back(IFC2X3_IfcObjectReferenceSelect_type); - declarations.push_back(IFC2X3_IfcOrientationSelect_type); - declarations.push_back(IFC2X3_IfcPointOrVertexPoint_type); - declarations.push_back(IFC2X3_IfcPresentationStyleSelect_type); - declarations.push_back(IFC2X3_IfcShell_type); - declarations.push_back(IFC2X3_IfcSimpleValue_type); - declarations.push_back(IFC2X3_IfcSizeSelect_type); - declarations.push_back(IFC2X3_IfcSpecularHighlightSelect_type); - declarations.push_back(IFC2X3_IfcStructuralActivityAssignmentSelect_type); - declarations.push_back(IFC2X3_IfcSurfaceOrFaceSurface_type); - declarations.push_back(IFC2X3_IfcSurfaceStyleElementSelect_type); - declarations.push_back(IFC2X3_IfcSymbolStyleSelect_type); - declarations.push_back(IFC2X3_IfcTextFontSelect_type); - declarations.push_back(IFC2X3_IfcTextStyleSelect_type); - declarations.push_back(IFC2X3_IfcTrimmingSelect_type); - declarations.push_back(IFC2X3_IfcUnit_type); - declarations.push_back(IFC2X3_IfcValue_type); - declarations.push_back(IFC2X3_IfcVectorOrDirection_type); - declarations.push_back(IFC2X3_IfcCurveFontOrScaledCurveFontSelect_type); return new schema_definition("IFC2X3", declarations, new IFC2X3_instance_factory()); } diff --git a/src/ifcparse/Ifc4-schema.cpp b/src/ifcparse/Ifc4-schema.cpp index e6004470e0..b225281ef5 100644 --- a/src/ifcparse/Ifc4-schema.cpp +++ b/src/ifcparse/Ifc4-schema.cpp @@ -2115,135 +2115,6 @@ class IFC4_instance_factory : public IfcParse::instance_factory { IfcParse::schema_definition* IFC4_populate_schema() { IFC4_IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", 0, new simple_type(simple_type::real_type)); IFC4_IfcAccelerationMeasure_type = new type_declaration("IfcAccelerationMeasure", 1, new simple_type(simple_type::real_type)); - IFC4_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 29, new simple_type(simple_type::real_type)); - IFC4_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 32, new simple_type(simple_type::real_type)); - IFC4_IfcArcIndex_type = new type_declaration("IfcArcIndex", 43, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4_IfcPositiveInteger_type))); - IFC4_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 44, new simple_type(simple_type::real_type)); - IFC4_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 45, new simple_type(simple_type::real_type)); - IFC4_IfcBinary_type = new type_declaration("IfcBinary", 63, new simple_type(simple_type::binary_type)); - IFC4_IfcBoolean_type = new type_declaration("IfcBoolean", 69, new simple_type(simple_type::boolean_type)); - IFC4_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 118, new simple_type(simple_type::integer_type)); - IFC4_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 161, new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type))); - IFC4_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 169, new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type))); - IFC4_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 199, new simple_type(simple_type::real_type)); - IFC4_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 221, new simple_type(simple_type::number_type)); - IFC4_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 236, new simple_type(simple_type::real_type)); - IFC4_IfcDate_type = new type_declaration("IfcDate", 254, new simple_type(simple_type::string_type)); - IFC4_IfcDateTime_type = new type_declaration("IfcDateTime", 255, new simple_type(simple_type::string_type)); - IFC4_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 256, new simple_type(simple_type::integer_type)); - IFC4_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 257, new simple_type(simple_type::integer_type)); - IFC4_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 264, new simple_type(simple_type::string_type)); - IFC4_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 266, new simple_type(simple_type::integer_type)); - IFC4_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 304, new simple_type(simple_type::real_type)); - IFC4_IfcDuration_type = new type_declaration("IfcDuration", 316, new simple_type(simple_type::string_type)); - IFC4_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 317, new simple_type(simple_type::real_type)); - IFC4_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 324, new simple_type(simple_type::real_type)); - IFC4_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 325, new simple_type(simple_type::real_type)); - IFC4_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 326, new simple_type(simple_type::real_type)); - IFC4_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 327, new simple_type(simple_type::real_type)); - IFC4_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 340, new simple_type(simple_type::real_type)); - IFC4_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 344, new simple_type(simple_type::real_type)); - IFC4_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 359, new simple_type(simple_type::real_type)); - IFC4_IfcFontStyle_type = new type_declaration("IfcFontStyle", 435, new simple_type(simple_type::string_type)); - IFC4_IfcFontVariant_type = new type_declaration("IfcFontVariant", 436, new simple_type(simple_type::string_type)); - IFC4_IfcFontWeight_type = new type_declaration("IfcFontWeight", 437, new simple_type(simple_type::string_type)); - IFC4_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 441, new simple_type(simple_type::real_type)); - IFC4_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 442, new simple_type(simple_type::real_type)); - IFC4_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 458, new simple_type(simple_type::string_type)); - IFC4_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 471, new simple_type(simple_type::real_type)); - IFC4_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 472, new simple_type(simple_type::real_type)); - IFC4_IfcIdentifier_type = new type_declaration("IfcIdentifier", 476, new simple_type(simple_type::string_type)); - IFC4_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 477, new simple_type(simple_type::real_type)); - IFC4_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 483, new simple_type(simple_type::real_type)); - IFC4_IfcInteger_type = new type_declaration("IfcInteger", 484, new simple_type(simple_type::integer_type)); - IFC4_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 485, new simple_type(simple_type::integer_type)); - IFC4_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 492, new simple_type(simple_type::real_type)); - IFC4_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 496, new simple_type(simple_type::real_type)); - IFC4_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 500, new simple_type(simple_type::real_type)); - IFC4_IfcLabel_type = new type_declaration("IfcLabel", 502, new simple_type(simple_type::string_type)); - IFC4_IfcLanguageId_type = new type_declaration("IfcLanguageId", 510, new named_type(IFC4_IfcIdentifier_type)); - IFC4_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 513, new simple_type(simple_type::real_type)); - IFC4_IfcLineIndex_type = new type_declaration("IfcLineIndex", 536, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4_IfcPositiveInteger_type))); - IFC4_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 532, new simple_type(simple_type::real_type)); - IFC4_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 533, new simple_type(simple_type::real_type)); - IFC4_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 534, new simple_type(simple_type::real_type)); - IFC4_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 535, new simple_type(simple_type::real_type)); - IFC4_IfcLogical_type = new type_declaration("IfcLogical", 539, new simple_type(simple_type::logical_type)); - IFC4_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 543, new simple_type(simple_type::real_type)); - IFC4_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 544, new simple_type(simple_type::real_type)); - IFC4_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 545, new simple_type(simple_type::real_type)); - IFC4_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 546, new simple_type(simple_type::real_type)); - IFC4_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 547, new simple_type(simple_type::real_type)); - IFC4_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 551, new simple_type(simple_type::real_type)); - IFC4_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 552, new simple_type(simple_type::real_type)); - IFC4_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 553, new simple_type(simple_type::real_type)); - IFC4_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 554, new simple_type(simple_type::real_type)); - IFC4_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 590, new simple_type(simple_type::real_type)); - IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 591, new simple_type(simple_type::real_type)); - IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 592, new simple_type(simple_type::real_type)); - IFC4_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 594, new simple_type(simple_type::real_type)); - IFC4_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 597, new simple_type(simple_type::real_type)); - IFC4_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 598, new simple_type(simple_type::real_type)); - IFC4_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 599, new simple_type(simple_type::real_type)); - IFC4_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 600, new simple_type(simple_type::real_type)); - IFC4_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 602, new simple_type(simple_type::integer_type)); - IFC4_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 607, new named_type(IFC4_IfcLengthMeasure_type)); - IFC4_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 610, new simple_type(simple_type::number_type)); - IFC4_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 646, new simple_type(simple_type::real_type)); - IFC4_IfcParameterValue_type = new type_declaration("IfcParameterValue", 635, new simple_type(simple_type::real_type)); - IFC4_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 665, new simple_type(simple_type::real_type)); - IFC4_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 667, new simple_type(simple_type::real_type)); - IFC4_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 680, new named_type(IFC4_IfcInteger_type)); - IFC4_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 681, new named_type(IFC4_IfcLengthMeasure_type)); - IFC4_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 682, new named_type(IFC4_IfcPlaneAngleMeasure_type)); - IFC4_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 685, new simple_type(simple_type::real_type)); - IFC4_IfcPresentableText_type = new type_declaration("IfcPresentableText", 692, new simple_type(simple_type::string_type)); - IFC4_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 699, new simple_type(simple_type::real_type)); - IFC4_IfcPropertySetDefinitionSet_type = new type_declaration("IfcPropertySetDefinitionSet", 733, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4_IfcPropertySetDefinition_type))); - IFC4_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 757, new simple_type(simple_type::real_type)); - IFC4_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 767, new simple_type(simple_type::real_type)); - IFC4_IfcReal_type = new type_declaration("IfcReal", 770, new simple_type(simple_type::real_type)); - IFC4_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 861, new simple_type(simple_type::real_type)); - IFC4_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 862, new simple_type(simple_type::real_type)); - IFC4_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 863, new simple_type(simple_type::real_type)); - IFC4_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 872, new simple_type(simple_type::real_type)); - IFC4_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 870, new simple_type(simple_type::real_type)); - IFC4_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 887, new simple_type(simple_type::real_type)); - IFC4_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 908, new simple_type(simple_type::real_type)); - IFC4_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 911, new simple_type(simple_type::real_type)); - IFC4_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 912, new simple_type(simple_type::real_type)); - IFC4_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 913, new simple_type(simple_type::real_type)); - IFC4_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 914, new simple_type(simple_type::real_type)); - IFC4_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 929, new simple_type(simple_type::real_type)); - IFC4_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 930, new simple_type(simple_type::real_type)); - IFC4_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 932, new simple_type(simple_type::real_type)); - IFC4_IfcStrippedOptional_type = new type_declaration("IfcStrippedOptional", 944, new simple_type(simple_type::boolean_type)); - IFC4_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1036, new simple_type(simple_type::real_type)); - IFC4_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1037, new simple_type(simple_type::real_type)); - IFC4_IfcText_type = new type_declaration("IfcText", 1046, new simple_type(simple_type::string_type)); - IFC4_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1047, new simple_type(simple_type::string_type)); - IFC4_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1048, new simple_type(simple_type::string_type)); - IFC4_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1049, new simple_type(simple_type::string_type)); - IFC4_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1058, new simple_type(simple_type::string_type)); - IFC4_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1064, new simple_type(simple_type::real_type)); - IFC4_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1065, new simple_type(simple_type::real_type)); - IFC4_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1066, new simple_type(simple_type::real_type)); - IFC4_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1067, new simple_type(simple_type::real_type)); - IFC4_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1068, new simple_type(simple_type::real_type)); - IFC4_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1069, new simple_type(simple_type::real_type)); - IFC4_IfcTime_type = new type_declaration("IfcTime", 1070, new simple_type(simple_type::string_type)); - IFC4_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1071, new simple_type(simple_type::real_type)); - IFC4_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1077, new simple_type(simple_type::integer_type)); - IFC4_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1080, new simple_type(simple_type::real_type)); - IFC4_IfcURIReference_type = new type_declaration("IfcURIReference", 1111, new simple_type(simple_type::string_type)); - IFC4_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1117, new simple_type(simple_type::real_type)); - IFC4_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1130, new simple_type(simple_type::real_type)); - IFC4_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1131, new simple_type(simple_type::real_type)); - IFC4_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1137, new simple_type(simple_type::real_type)); - IFC4_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1138, new simple_type(simple_type::real_type)); - IFC4_IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", 83, new named_type(IFC4_IfcLabel_type)); - IFC4_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 608, new named_type(IFC4_IfcRatioMeasure_type)); - IFC4_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 683, new named_type(IFC4_IfcRatioMeasure_type)); { std::vector items; items.reserve(7); items.push_back("EMAIL"); @@ -2361,6 +2232,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("WHISTLE"); IFC4_IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", 28, items); } + IFC4_IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", 29, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("IN_PLANE_LOADING_2D"); @@ -2380,6 +2252,9 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", 31, items); } + IFC4_IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", 32, new simple_type(simple_type::real_type)); + IFC4_IfcAreaDensityMeasure_type = new type_declaration("IfcAreaDensityMeasure", 44, new simple_type(simple_type::real_type)); + IFC4_IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", 45, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("ADD"); @@ -2463,6 +2338,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("NOTINCLUDES"); IFC4_IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", 61, items); } + IFC4_IfcBinary_type = new type_declaration("IfcBinary", 63, new simple_type(simple_type::binary_type)); { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); @@ -2471,6 +2347,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("WATER"); IFC4_IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", 68, items); } + IFC4_IfcBoolean_type = new type_declaration("IfcBoolean", 69, new simple_type(simple_type::boolean_type)); { std::vector items; items.reserve(3); items.push_back("DIFFERENCE"); @@ -2555,6 +2432,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", 117, items); } + IFC4_IfcCardinalPointReference_type = new type_declaration("IfcCardinalPointReference", 118, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(5); items.push_back("ADDED"); @@ -2618,12 +2496,14 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcCommunicationsApplianceTypeEnum_type = new enumeration_type("IfcCommunicationsApplianceTypeEnum", 160, items); } + IFC4_IfcComplexNumber_type = new type_declaration("IfcComplexNumber", 161, new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type))); { std::vector items; items.reserve(2); items.push_back("P_COMPLEX"); items.push_back("Q_COMPLEX"); IFC4_IfcComplexPropertyTemplateTypeEnum_type = new enumeration_type("IfcComplexPropertyTemplateTypeEnum", 164, items); } + IFC4_IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", 169, new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type))); { std::vector items; items.reserve(17); items.push_back("BOOSTER"); @@ -2712,6 +2592,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcConstructionProductResourceTypeEnum_type = new enumeration_type("IfcConstructionProductResourceTypeEnum", 195, items); } + IFC4_IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", 199, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(7); items.push_back("FLOATING"); @@ -2759,6 +2640,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", 219, items); } + IFC4_IfcCountMeasure_type = new type_declaration("IfcCountMeasure", 221, new simple_type(simple_type::number_type)); { std::vector items; items.reserve(12); items.push_back("CEILING"); @@ -2789,6 +2671,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", 235, items); } + IFC4_IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", 236, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("LINEAR"); @@ -2823,6 +2706,10 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", 253, items); } + IFC4_IfcDate_type = new type_declaration("IfcDate", 254, new simple_type(simple_type::string_type)); + IFC4_IfcDateTime_type = new type_declaration("IfcDateTime", 255, new simple_type(simple_type::string_type)); + IFC4_IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", 256, new simple_type(simple_type::integer_type)); + IFC4_IfcDayInWeekNumber_type = new type_declaration("IfcDayInWeekNumber", 257, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(53); items.push_back("ACCELERATIONUNIT"); @@ -2880,6 +2767,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("WARPINGMOMENTUNIT"); IFC4_IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", 263, items); } + IFC4_IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", 264, new simple_type(simple_type::string_type)); + IFC4_IfcDimensionCount_type = new type_declaration("IfcDimensionCount", 266, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(2); items.push_back("NEGATIVE"); @@ -3075,6 +2964,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcDoorTypeOperationEnum_type = new enumeration_type("IfcDoorTypeOperationEnum", 303, items); } + IFC4_IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", 304, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("BEND"); @@ -3105,6 +2995,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", 315, items); } + IFC4_IfcDuration_type = new type_declaration("IfcDuration", 316, new simple_type(simple_type::string_type)); + IFC4_IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", 317, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(18); items.push_back("DISHWASHER"); @@ -3127,6 +3019,10 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("WASHINGMACHINE"); IFC4_IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", 323, items); } + IFC4_IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", 324, new simple_type(simple_type::real_type)); + IFC4_IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", 325, new simple_type(simple_type::real_type)); + IFC4_IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", 326, new simple_type(simple_type::real_type)); + IFC4_IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", 327, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(6); items.push_back("CONSUMERUNIT"); @@ -3168,6 +3064,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", 339, items); } + IFC4_IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", 340, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("NOTDEFINED"); @@ -3177,6 +3074,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", 343, items); } + IFC4_IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", 344, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(11); items.push_back("ACCESSORY_ASSEMBLY"); @@ -3199,6 +3097,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("PARTIAL"); IFC4_IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", 352, items); } + IFC4_IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", 359, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("EXTERNALCOMBUSTION"); @@ -3340,6 +3239,9 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("WATERMETER"); IFC4_IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", 424, items); } + IFC4_IfcFontStyle_type = new type_declaration("IfcFontStyle", 435, new simple_type(simple_type::string_type)); + IFC4_IfcFontVariant_type = new type_declaration("IfcFontVariant", 436, new simple_type(simple_type::string_type)); + IFC4_IfcFontWeight_type = new type_declaration("IfcFontWeight", 437, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(7); items.push_back("CAISSON_FOUNDATION"); @@ -3351,6 +3253,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", 440, items); } + IFC4_IfcForceMeasure_type = new type_declaration("IfcForceMeasure", 441, new simple_type(simple_type::real_type)); + IFC4_IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", 442, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("BED"); @@ -3390,6 +3294,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("LOCAL_COORDS"); IFC4_IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", 459, items); } + IFC4_IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", 458, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(6); items.push_back("IRREGULAR"); @@ -3408,6 +3313,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", 470, items); } + IFC4_IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", 471, new simple_type(simple_type::real_type)); + IFC4_IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", 472, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(15); items.push_back("ADIABATICAIRWASHER"); @@ -3427,6 +3334,11 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", 475, items); } + IFC4_IfcIdentifier_type = new type_declaration("IfcIdentifier", 476, new simple_type(simple_type::string_type)); + IFC4_IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", 477, new simple_type(simple_type::real_type)); + IFC4_IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", 483, new simple_type(simple_type::real_type)); + IFC4_IfcInteger_type = new type_declaration("IfcInteger", 484, new simple_type(simple_type::integer_type)); + IFC4_IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", 485, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(6); items.push_back("CYCLONIC"); @@ -3456,6 +3368,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", 491, items); } + IFC4_IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", 492, new simple_type(simple_type::real_type)); + IFC4_IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", 496, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("DATA"); @@ -3464,6 +3378,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", 499, items); } + IFC4_IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", 500, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("PIECEWISE_BEZIER_KNOTS"); @@ -3472,6 +3387,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("UNSPECIFIED"); IFC4_IfcKnotType_type = new enumeration_type("IfcKnotType", 501, items); } + IFC4_IfcLabel_type = new type_declaration("IfcLabel", 502, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(21); items.push_back("ADMINISTRATION"); @@ -3512,6 +3428,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", 509, items); } + IFC4_IfcLanguageId_type = new type_declaration("IfcLanguageId", 510, new named_type(IFC4_IfcIdentifier_type)); { std::vector items; items.reserve(3); items.push_back("AXIS1"); @@ -3519,6 +3436,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("AXIS3"); IFC4_IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", 512, items); } + IFC4_IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", 513, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("NOTDEFINED"); @@ -3551,6 +3469,10 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", 523, items); } + IFC4_IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", 532, new simple_type(simple_type::real_type)); + IFC4_IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", 533, new simple_type(simple_type::real_type)); + IFC4_IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", 534, new simple_type(simple_type::real_type)); + IFC4_IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", 535, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("LOAD_CASE"); @@ -3560,6 +3482,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", 537, items); } + IFC4_IfcLogical_type = new type_declaration("IfcLogical", 539, new simple_type(simple_type::logical_type)); { std::vector items; items.reserve(5); items.push_back("LOGICALAND"); @@ -3569,6 +3492,15 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("LOGICALXOR"); IFC4_IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", 540, items); } + IFC4_IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", 543, new simple_type(simple_type::real_type)); + IFC4_IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", 544, new simple_type(simple_type::real_type)); + IFC4_IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", 545, new simple_type(simple_type::real_type)); + IFC4_IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", 546, new simple_type(simple_type::real_type)); + IFC4_IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", 547, new simple_type(simple_type::real_type)); + IFC4_IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", 551, new simple_type(simple_type::real_type)); + IFC4_IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", 552, new simple_type(simple_type::real_type)); + IFC4_IfcMassMeasure_type = new type_declaration("IfcMassMeasure", 553, new simple_type(simple_type::real_type)); + IFC4_IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", 554, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(12); items.push_back("ANCHORBOLT"); @@ -3614,6 +3546,33 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", 586, items); } + IFC4_IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", 590, new simple_type(simple_type::real_type)); + IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", 591, new simple_type(simple_type::real_type)); + IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", 592, new simple_type(simple_type::real_type)); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcBoolean_type); + items.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type); + IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 593, items); + } + IFC4_IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", 594, new simple_type(simple_type::real_type)); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcBoolean_type); + items.push_back(IFC4_IfcModulusOfSubgradeReactionMeasure_type); + IFC4_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 595, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcBoolean_type); + items.push_back(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type); + IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 596, items); + } + IFC4_IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", 597, new simple_type(simple_type::real_type)); + IFC4_IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", 598, new simple_type(simple_type::real_type)); + IFC4_IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", 599, new simple_type(simple_type::real_type)); + IFC4_IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", 600, new simple_type(simple_type::real_type)); + IFC4_IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", 602, new simple_type(simple_type::integer_type)); { std::vector items; items.reserve(5); items.push_back("BELTDRIVE"); @@ -3623,11 +3582,13 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", 605, items); } + IFC4_IfcNonNegativeLengthMeasure_type = new type_declaration("IfcNonNegativeLengthMeasure", 607, new named_type(IFC4_IfcLengthMeasure_type)); { std::vector items; items.reserve(1); items.push_back("NULL"); IFC4_IfcNullStyle_type = new enumeration_type("IfcNullStyle", 609, items); } + IFC4_IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", 610, new simple_type(simple_type::number_type)); { std::vector items; items.reserve(8); items.push_back("ACTOR"); @@ -3689,6 +3650,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", 632, items); } + IFC4_IfcPHMeasure_type = new type_declaration("IfcPHMeasure", 646, new simple_type(simple_type::real_type)); + IFC4_IfcParameterValue_type = new type_declaration("IfcParameterValue", 635, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back("NOTDEFINED"); @@ -3766,6 +3729,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", 660, items); } + IFC4_IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", 665, new simple_type(simple_type::real_type)); + IFC4_IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", 667, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("CURTAIN_PANEL"); @@ -3774,6 +3739,12 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", 671, items); } + IFC4_IfcPositiveInteger_type = new type_declaration("IfcPositiveInteger", 680, new named_type(IFC4_IfcInteger_type)); + IFC4_IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", 681, new named_type(IFC4_IfcLengthMeasure_type)); + IFC4_IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", 682, new named_type(IFC4_IfcPlaneAngleMeasure_type)); + IFC4_IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", 685, new simple_type(simple_type::real_type)); + IFC4_IfcPresentableText_type = new type_declaration("IfcPresentableText", 692, new simple_type(simple_type::string_type)); + IFC4_IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", 699, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(9); items.push_back("ADVICE_CAUTION"); @@ -3864,6 +3835,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("VERTICALTURBINE"); IFC4_IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", 749, items); } + IFC4_IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", 757, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("BALUSTRADE"); @@ -3893,6 +3865,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", 766, items); } + IFC4_IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", 767, new simple_type(simple_type::real_type)); + IFC4_IfcReal_type = new type_declaration("IfcReal", 770, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(8); items.push_back("BY_DAY_COUNT"); @@ -4005,6 +3979,15 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", 859, items); } + IFC4_IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", 861, new simple_type(simple_type::real_type)); + IFC4_IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", 862, new simple_type(simple_type::real_type)); + IFC4_IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", 863, new simple_type(simple_type::real_type)); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcBoolean_type); + items.push_back(IFC4_IfcRotationalStiffnessMeasure_type); + IFC4_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 864, items); + } { std::vector items; items.reserve(16); items.push_back("ATTO"); @@ -4075,12 +4058,14 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("WCSEAT"); IFC4_IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", 868, items); } + IFC4_IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", 872, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(2); items.push_back("TAPERED"); items.push_back("UNIFORM"); IFC4_IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", 875, items); } + IFC4_IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", 870, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(25); items.push_back("CO2SENSOR"); @@ -4129,6 +4114,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcShadingDeviceTypeEnum_type = new enumeration_type("IfcShadingDeviceTypeEnum", 883, items); } + IFC4_IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", 887, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(12); items.push_back("P_BOUNDEDVALUE"); @@ -4163,6 +4149,11 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcSolarDeviceTypeEnum_type = new enumeration_type("IfcSolarDeviceTypeEnum", 907, items); } + IFC4_IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", 908, new simple_type(simple_type::real_type)); + IFC4_IfcSoundPowerLevelMeasure_type = new type_declaration("IfcSoundPowerLevelMeasure", 911, new simple_type(simple_type::real_type)); + IFC4_IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", 912, new simple_type(simple_type::real_type)); + IFC4_IfcSoundPressureLevelMeasure_type = new type_declaration("IfcSoundPressureLevelMeasure", 913, new simple_type(simple_type::real_type)); + IFC4_IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", 914, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("CONVECTOR"); @@ -4196,6 +4187,9 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("VENTILATION"); IFC4_IfcSpatialZoneTypeEnum_type = new enumeration_type("IfcSpatialZoneTypeEnum", 928, items); } + IFC4_IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", 929, new simple_type(simple_type::real_type)); + IFC4_IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", 930, new simple_type(simple_type::real_type)); + IFC4_IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", 932, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("BIRDCAGE"); @@ -4245,6 +4239,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("READWRITELOCKED"); IFC4_IfcStateEnum_type = new enumeration_type("IfcStateEnum", 943, items); } + IFC4_IfcStrippedOptional_type = new type_declaration("IfcStrippedOptional", 944, new simple_type(simple_type::boolean_type)); { std::vector items; items.reserve(9); items.push_back("CONST"); @@ -4373,6 +4368,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcTaskTypeEnum_type = new enumeration_type("IfcTaskTypeEnum", 1034, items); } + IFC4_IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", 1036, new simple_type(simple_type::real_type)); + IFC4_IfcTemperatureRateOfChangeMeasure_type = new type_declaration("IfcTemperatureRateOfChangeMeasure", 1037, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(5); items.push_back("COUPLER"); @@ -4392,6 +4389,10 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("WIRE"); IFC4_IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", 1043, items); } + IFC4_IfcText_type = new type_declaration("IfcText", 1046, new simple_type(simple_type::string_type)); + IFC4_IfcTextAlignment_type = new type_declaration("IfcTextAlignment", 1047, new simple_type(simple_type::string_type)); + IFC4_IfcTextDecoration_type = new type_declaration("IfcTextDecoration", 1048, new simple_type(simple_type::string_type)); + IFC4_IfcTextFontName_type = new type_declaration("IfcTextFontName", 1049, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(4); items.push_back("DOWN"); @@ -4400,6 +4401,21 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("UP"); IFC4_IfcTextPath_type = new enumeration_type("IfcTextPath", 1053, items); } + IFC4_IfcTextTransformation_type = new type_declaration("IfcTextTransformation", 1058, new simple_type(simple_type::string_type)); + IFC4_IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", 1064, new simple_type(simple_type::real_type)); + IFC4_IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", 1065, new simple_type(simple_type::real_type)); + IFC4_IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", 1066, new simple_type(simple_type::real_type)); + IFC4_IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", 1067, new simple_type(simple_type::real_type)); + IFC4_IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", 1068, new simple_type(simple_type::real_type)); + IFC4_IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", 1069, new simple_type(simple_type::real_type)); + IFC4_IfcTime_type = new type_declaration("IfcTime", 1070, new simple_type(simple_type::string_type)); + IFC4_IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", 1071, new simple_type(simple_type::real_type)); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcDuration_type); + items.push_back(IFC4_IfcRatioMeasure_type); + IFC4_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1072, items); + } { std::vector items; items.reserve(7); items.push_back("CONTINUOUS"); @@ -4411,6 +4427,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("PIECEWISECONTINUOUS"); IFC4_IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", 1075, items); } + IFC4_IfcTimeStamp_type = new type_declaration("IfcTimeStamp", 1077, new simple_type(simple_type::integer_type)); + IFC4_IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", 1080, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(7); items.push_back("CURRENT"); @@ -4430,6 +4448,12 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("DISCONTINUOUS"); IFC4_IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", 1084, items); } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcBoolean_type); + items.push_back(IFC4_IfcLinearStiffnessMeasure_type); + IFC4_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1085, items); + } { std::vector items; items.reserve(7); items.push_back("CRANEWAY"); @@ -4455,6 +4479,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", 1097, items); } + IFC4_IfcURIReference_type = new type_declaration("IfcURIReference", 1111, new simple_type(simple_type::string_type)); { std::vector items; items.reserve(30); items.push_back("ABSORBEDDOSEUNIT"); @@ -4541,6 +4566,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", 1116, items); } + IFC4_IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", 1117, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(4); items.push_back("COMPRESSION"); @@ -4561,6 +4587,8 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcVoidingFeatureTypeEnum_type = new enumeration_type("IfcVoidingFeatureTypeEnum", 1129, items); } + IFC4_IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", 1130, new simple_type(simple_type::real_type)); + IFC4_IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", 1131, new simple_type(simple_type::real_type)); { std::vector items; items.reserve(11); items.push_back("ELEMENTEDWALL"); @@ -4576,6 +4604,14 @@ IfcParse::schema_definition* IFC4_populate_schema() { items.push_back("USERDEFINED"); IFC4_IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", 1136, items); } + IFC4_IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", 1137, new simple_type(simple_type::real_type)); + IFC4_IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", 1138, new simple_type(simple_type::real_type)); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcBoolean_type); + items.push_back(IFC4_IfcWarpingMomentMeasure_type); + IFC4_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1139, items); + } { std::vector items; items.reserve(9); items.push_back("FLOORTRAP"); @@ -4820,6 +4856,198 @@ IfcParse::schema_definition* IFC4_populate_schema() { IFC4_IfcVertexPoint_type = new entity("IfcVertexPoint", 1122, IFC4_IfcVertex_type); IFC4_IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", 1127, 0); IFC4_IfcWorkTime_type = new entity("IfcWorkTime", 1162, IFC4_IfcSchedulingTime_type); + { + std::vector items; items.reserve(3); + items.push_back(IFC4_IfcOrganization_type); + items.push_back(IFC4_IfcPerson_type); + items.push_back(IFC4_IfcPersonAndOrganization_type); + IFC4_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items); + } + IFC4_IfcArcIndex_type = new type_declaration("IfcArcIndex", 43, new aggregation_type(aggregation_type::list_type, 3, 3, new named_type(IFC4_IfcPositiveInteger_type))); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcLengthMeasure_type); + items.push_back(IFC4_IfcPlaneAngleMeasure_type); + IFC4_IfcBendingParameterSelect_type = new select_type("IfcBendingParameterSelect", 62, items); + } + IFC4_IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", 83, new named_type(IFC4_IfcLabel_type)); + { + std::vector items; items.reserve(71); + items.push_back(IFC4_IfcAbsorbedDoseMeasure_type); + items.push_back(IFC4_IfcAccelerationMeasure_type); + items.push_back(IFC4_IfcAngularVelocityMeasure_type); + items.push_back(IFC4_IfcAreaDensityMeasure_type); + items.push_back(IFC4_IfcCompoundPlaneAngleMeasure_type); + items.push_back(IFC4_IfcCurvatureMeasure_type); + items.push_back(IFC4_IfcDoseEquivalentMeasure_type); + items.push_back(IFC4_IfcDynamicViscosityMeasure_type); + items.push_back(IFC4_IfcElectricCapacitanceMeasure_type); + items.push_back(IFC4_IfcElectricChargeMeasure_type); + items.push_back(IFC4_IfcElectricConductanceMeasure_type); + items.push_back(IFC4_IfcElectricResistanceMeasure_type); + items.push_back(IFC4_IfcElectricVoltageMeasure_type); + items.push_back(IFC4_IfcEnergyMeasure_type); + items.push_back(IFC4_IfcForceMeasure_type); + items.push_back(IFC4_IfcFrequencyMeasure_type); + items.push_back(IFC4_IfcHeatFluxDensityMeasure_type); + items.push_back(IFC4_IfcHeatingValueMeasure_type); + items.push_back(IFC4_IfcIlluminanceMeasure_type); + items.push_back(IFC4_IfcInductanceMeasure_type); + items.push_back(IFC4_IfcIntegerCountRateMeasure_type); + items.push_back(IFC4_IfcIonConcentrationMeasure_type); + items.push_back(IFC4_IfcIsothermalMoistureCapacityMeasure_type); + items.push_back(IFC4_IfcKinematicViscosityMeasure_type); + items.push_back(IFC4_IfcLinearForceMeasure_type); + items.push_back(IFC4_IfcLinearMomentMeasure_type); + items.push_back(IFC4_IfcLinearStiffnessMeasure_type); + items.push_back(IFC4_IfcLinearVelocityMeasure_type); + items.push_back(IFC4_IfcLuminousFluxMeasure_type); + items.push_back(IFC4_IfcLuminousIntensityDistributionMeasure_type); + items.push_back(IFC4_IfcMagneticFluxDensityMeasure_type); + items.push_back(IFC4_IfcMagneticFluxMeasure_type); + items.push_back(IFC4_IfcMassDensityMeasure_type); + items.push_back(IFC4_IfcMassFlowRateMeasure_type); + items.push_back(IFC4_IfcMassPerLengthMeasure_type); + items.push_back(IFC4_IfcModulusOfElasticityMeasure_type); + items.push_back(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type); + items.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type); + items.push_back(IFC4_IfcModulusOfSubgradeReactionMeasure_type); + items.push_back(IFC4_IfcMoistureDiffusivityMeasure_type); + items.push_back(IFC4_IfcMolecularWeightMeasure_type); + items.push_back(IFC4_IfcMomentOfInertiaMeasure_type); + items.push_back(IFC4_IfcMonetaryMeasure_type); + items.push_back(IFC4_IfcPHMeasure_type); + items.push_back(IFC4_IfcPlanarForceMeasure_type); + items.push_back(IFC4_IfcPowerMeasure_type); + items.push_back(IFC4_IfcPressureMeasure_type); + items.push_back(IFC4_IfcRadioActivityMeasure_type); + items.push_back(IFC4_IfcRotationalFrequencyMeasure_type); + items.push_back(IFC4_IfcRotationalMassMeasure_type); + items.push_back(IFC4_IfcRotationalStiffnessMeasure_type); + items.push_back(IFC4_IfcSectionModulusMeasure_type); + items.push_back(IFC4_IfcSectionalAreaIntegralMeasure_type); + items.push_back(IFC4_IfcShearModulusMeasure_type); + items.push_back(IFC4_IfcSoundPowerLevelMeasure_type); + items.push_back(IFC4_IfcSoundPowerMeasure_type); + items.push_back(IFC4_IfcSoundPressureLevelMeasure_type); + items.push_back(IFC4_IfcSoundPressureMeasure_type); + items.push_back(IFC4_IfcSpecificHeatCapacityMeasure_type); + items.push_back(IFC4_IfcTemperatureGradientMeasure_type); + items.push_back(IFC4_IfcTemperatureRateOfChangeMeasure_type); + items.push_back(IFC4_IfcThermalAdmittanceMeasure_type); + items.push_back(IFC4_IfcThermalConductivityMeasure_type); + items.push_back(IFC4_IfcThermalExpansionCoefficientMeasure_type); + items.push_back(IFC4_IfcThermalResistanceMeasure_type); + items.push_back(IFC4_IfcThermalTransmittanceMeasure_type); + items.push_back(IFC4_IfcTorqueMeasure_type); + items.push_back(IFC4_IfcVaporPermeabilityMeasure_type); + items.push_back(IFC4_IfcVolumetricFlowRateMeasure_type); + items.push_back(IFC4_IfcWarpingConstantMeasure_type); + items.push_back(IFC4_IfcWarpingMomentMeasure_type); + IFC4_IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", 259, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcRepresentation_type); + items.push_back(IFC4_IfcRepresentationItem_type); + IFC4_IfcLayeredItem_type = new select_type("IfcLayeredItem", 511, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcLibraryInformation_type); + items.push_back(IFC4_IfcLibraryReference_type); + IFC4_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 516, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcExternalReference_type); + items.push_back(IFC4_IfcLightIntensityDistribution_type); + IFC4_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 519, items); + } + IFC4_IfcLineIndex_type = new type_declaration("IfcLineIndex", 536, new aggregation_type(aggregation_type::list_type, 2, -1, new named_type(IFC4_IfcPositiveInteger_type))); + { + std::vector items; items.reserve(3); + items.push_back(IFC4_IfcMaterialDefinition_type); + items.push_back(IFC4_IfcMaterialList_type); + items.push_back(IFC4_IfcMaterialUsageDefinition_type); + IFC4_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 573, items); + } + IFC4_IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", 608, new named_type(IFC4_IfcRatioMeasure_type)); + { + std::vector items; items.reserve(9); + items.push_back(IFC4_IfcAddress_type); + items.push_back(IFC4_IfcAppliedValue_type); + items.push_back(IFC4_IfcExternalReference_type); + items.push_back(IFC4_IfcMaterialDefinition_type); + items.push_back(IFC4_IfcOrganization_type); + items.push_back(IFC4_IfcPerson_type); + items.push_back(IFC4_IfcPersonAndOrganization_type); + items.push_back(IFC4_IfcTable_type); + items.push_back(IFC4_IfcTimeSeries_type); + IFC4_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 616, items); + } + IFC4_IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", 683, new named_type(IFC4_IfcRatioMeasure_type)); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcArcIndex_type); + items.push_back(IFC4_IfcLineIndex_type); + IFC4_IfcSegmentIndexSelect_type = new select_type("IfcSegmentIndexSelect", 876, items); + } + { + std::vector items; items.reserve(13); + items.push_back(IFC4_IfcBoolean_type); + items.push_back(IFC4_IfcDate_type); + items.push_back(IFC4_IfcDateTime_type); + items.push_back(IFC4_IfcDuration_type); + items.push_back(IFC4_IfcIdentifier_type); + items.push_back(IFC4_IfcInteger_type); + items.push_back(IFC4_IfcLabel_type); + items.push_back(IFC4_IfcLogical_type); + items.push_back(IFC4_IfcPositiveInteger_type); + items.push_back(IFC4_IfcReal_type); + items.push_back(IFC4_IfcText_type); + items.push_back(IFC4_IfcTime_type); + items.push_back(IFC4_IfcTimeStamp_type); + IFC4_IfcSimpleValue_type = new select_type("IfcSimpleValue", 893, items); + } + { + std::vector items; items.reserve(6); + items.push_back(IFC4_IfcDescriptiveMeasure_type); + items.push_back(IFC4_IfcLengthMeasure_type); + items.push_back(IFC4_IfcNormalisedRatioMeasure_type); + items.push_back(IFC4_IfcPositiveLengthMeasure_type); + items.push_back(IFC4_IfcPositiveRatioMeasure_type); + items.push_back(IFC4_IfcRatioMeasure_type); + IFC4_IfcSizeSelect_type = new select_type("IfcSizeSelect", 898, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcSpecularExponent_type); + items.push_back(IFC4_IfcSpecularRoughness_type); + IFC4_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 931, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcPresentationStyle_type); + items.push_back(IFC4_IfcPresentationStyleAssignment_type); + IFC4_IfcStyleAssignmentSelect_type = new select_type("IfcStyleAssignmentSelect", 987, items); + } + { + std::vector items; items.reserve(5); + items.push_back(IFC4_IfcExternallyDefinedSurfaceStyle_type); + items.push_back(IFC4_IfcSurfaceStyleLighting_type); + items.push_back(IFC4_IfcSurfaceStyleRefraction_type); + items.push_back(IFC4_IfcSurfaceStyleShading_type); + items.push_back(IFC4_IfcSurfaceStyleWithTextures_type); + IFC4_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 1005, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC4_IfcDerivedUnit_type); + items.push_back(IFC4_IfcMonetaryUnit_type); + items.push_back(IFC4_IfcNamedUnit_type); + IFC4_IfcUnit_type = new select_type("IfcUnit", 1102, items); + } IFC4_IfcApprovalRelationship_type = new entity("IfcApprovalRelationship", 39, IFC4_IfcResourceLevelRelationship_type); IFC4_IfcArbitraryClosedProfileDef_type = new entity("IfcArbitraryClosedProfileDef", 40, IFC4_IfcProfileDef_type); IFC4_IfcArbitraryOpenProfileDef_type = new entity("IfcArbitraryOpenProfileDef", 41, IFC4_IfcProfileDef_type); @@ -4957,6 +5185,124 @@ IfcParse::schema_definition* IFC4_populate_schema() { IFC4_IfcVertexLoop_type = new entity("IfcVertexLoop", 1121, IFC4_IfcLoop_type); IFC4_IfcWindowStyle_type = new entity("IfcWindowStyle", 1149, IFC4_IfcTypeProduct_type); IFC4_IfcZShapeProfileDef_type = new entity("IfcZShapeProfileDef", 1164, IFC4_IfcParameterizedProfileDef_type); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcClassification_type); + items.push_back(IFC4_IfcClassificationReference_type); + IFC4_IfcClassificationReferenceSelect_type = new select_type("IfcClassificationReferenceSelect", 143, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcClassification_type); + items.push_back(IFC4_IfcClassificationReference_type); + IFC4_IfcClassificationSelect_type = new select_type("IfcClassificationSelect", 144, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcCoordinateReferenceSystem_type); + items.push_back(IFC4_IfcGeometricRepresentationContext_type); + IFC4_IfcCoordinateReferenceSystemSelect_type = new select_type("IfcCoordinateReferenceSystemSelect", 215, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcObjectDefinition_type); + items.push_back(IFC4_IfcPropertyDefinition_type); + IFC4_IfcDefinitionSelect_type = new select_type("IfcDefinitionSelect", 258, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcDocumentInformation_type); + items.push_back(IFC4_IfcDocumentReference_type); + IFC4_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 290, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcPositiveLengthMeasure_type); + items.push_back(IFC4_IfcVector_type); + IFC4_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 467, items); + } + { + std::vector items; items.reserve(23); + items.push_back(IFC4_IfcAmountOfSubstanceMeasure_type); + items.push_back(IFC4_IfcAreaMeasure_type); + items.push_back(IFC4_IfcComplexNumber_type); + items.push_back(IFC4_IfcContextDependentMeasure_type); + items.push_back(IFC4_IfcCountMeasure_type); + items.push_back(IFC4_IfcDescriptiveMeasure_type); + items.push_back(IFC4_IfcElectricCurrentMeasure_type); + items.push_back(IFC4_IfcLengthMeasure_type); + items.push_back(IFC4_IfcLuminousIntensityMeasure_type); + items.push_back(IFC4_IfcMassMeasure_type); + items.push_back(IFC4_IfcNonNegativeLengthMeasure_type); + items.push_back(IFC4_IfcNormalisedRatioMeasure_type); + items.push_back(IFC4_IfcNumericMeasure_type); + items.push_back(IFC4_IfcParameterValue_type); + items.push_back(IFC4_IfcPlaneAngleMeasure_type); + items.push_back(IFC4_IfcPositiveLengthMeasure_type); + items.push_back(IFC4_IfcPositivePlaneAngleMeasure_type); + items.push_back(IFC4_IfcPositiveRatioMeasure_type); + items.push_back(IFC4_IfcRatioMeasure_type); + items.push_back(IFC4_IfcSolidAngleMeasure_type); + items.push_back(IFC4_IfcThermodynamicTemperatureMeasure_type); + items.push_back(IFC4_IfcTimeMeasure_type); + items.push_back(IFC4_IfcVolumeMeasure_type); + IFC4_IfcMeasureValue_type = new select_type("IfcMeasureValue", 575, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcPoint_type); + items.push_back(IFC4_IfcVertexPoint_type); + IFC4_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 675, items); + } + { + std::vector items; items.reserve(5); + items.push_back(IFC4_IfcCurveStyle_type); + items.push_back(IFC4_IfcFillAreaStyle_type); + items.push_back(IFC4_IfcNullStyle_type); + items.push_back(IFC4_IfcSurfaceStyle_type); + items.push_back(IFC4_IfcTextStyle_type); + IFC4_IfcPresentationStyleSelect_type = new select_type("IfcPresentationStyleSelect", 698, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcProductDefinitionShape_type); + items.push_back(IFC4_IfcRepresentationMap_type); + IFC4_IfcProductRepresentationSelect_type = new select_type("IfcProductRepresentationSelect", 708, items); + } + IFC4_IfcPropertySetDefinitionSet_type = new type_declaration("IfcPropertySetDefinitionSet", 733, new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IFC4_IfcPropertySetDefinition_type))); + { + std::vector items; items.reserve(16); + items.push_back(IFC4_IfcActorRole_type); + items.push_back(IFC4_IfcAppliedValue_type); + items.push_back(IFC4_IfcApproval_type); + items.push_back(IFC4_IfcConstraint_type); + items.push_back(IFC4_IfcContextDependentUnit_type); + items.push_back(IFC4_IfcConversionBasedUnit_type); + items.push_back(IFC4_IfcExternalInformation_type); + items.push_back(IFC4_IfcExternalReference_type); + items.push_back(IFC4_IfcMaterialDefinition_type); + items.push_back(IFC4_IfcOrganization_type); + items.push_back(IFC4_IfcPerson_type); + items.push_back(IFC4_IfcPersonAndOrganization_type); + items.push_back(IFC4_IfcPhysicalQuantity_type); + items.push_back(IFC4_IfcProfileDef_type); + items.push_back(IFC4_IfcPropertyAbstraction_type); + items.push_back(IFC4_IfcTimeSeries_type); + IFC4_IfcResourceObjectSelect_type = new select_type("IfcResourceObjectSelect", 849, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcExternallyDefinedTextFont_type); + items.push_back(IFC4_IfcPreDefinedTextFont_type); + IFC4_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 1050, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC4_IfcDerivedMeasureValue_type); + items.push_back(IFC4_IfcMeasureValue_type); + items.push_back(IFC4_IfcSimpleValue_type); + IFC4_IfcValue_type = new select_type("IfcValue", 1113, items); + } IFC4_IfcAdvancedFace_type = new entity("IfcAdvancedFace", 16, IFC4_IfcFaceSurface_type); IFC4_IfcAnnotationFillArea_type = new entity("IfcAnnotationFillArea", 34, IFC4_IfcGeometricRepresentationItem_type); IFC4_IfcAsymmetricIShapeProfileDef_type = new entity("IfcAsymmetricIShapeProfileDef", 49, IFC4_IfcParameterizedProfileDef_type); @@ -5120,6 +5466,137 @@ IfcParse::schema_definition* IFC4_populate_schema() { IFC4_IfcTriangulatedFaceSet_type = new entity("IfcTriangulatedFaceSet", 1090, IFC4_IfcTessellatedFaceSet_type); IFC4_IfcWindowLiningProperties_type = new entity("IfcWindowLiningProperties", 1144, IFC4_IfcPreDefinedPropertySet_type); IFC4_IfcWindowPanelProperties_type = new entity("IfcWindowPanelProperties", 1147, IFC4_IfcPreDefinedPropertySet_type); + { + std::vector items; items.reserve(3); + items.push_back(IFC4_IfcMeasureWithUnit_type); + items.push_back(IFC4_IfcReference_type); + items.push_back(IFC4_IfcValue_type); + IFC4_IfcAppliedValueSelect_type = new select_type("IfcAppliedValueSelect", 37, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcAxis2Placement2D_type); + items.push_back(IFC4_IfcAxis2Placement3D_type); + IFC4_IfcAxis2Placement_type = new select_type("IfcAxis2Placement", 54, items); + } + { + std::vector items; items.reserve(4); + items.push_back(IFC4_IfcBooleanResult_type); + items.push_back(IFC4_IfcCsgPrimitive3D_type); + items.push_back(IFC4_IfcHalfSpaceSolid_type); + items.push_back(IFC4_IfcSolidModel_type); + IFC4_IfcBooleanOperand_type = new select_type("IfcBooleanOperand", 71, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcColourSpecification_type); + items.push_back(IFC4_IfcPreDefinedColour_type); + IFC4_IfcColour_type = new select_type("IfcColour", 149, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcColourRgb_type); + items.push_back(IFC4_IfcNormalisedRatioMeasure_type); + IFC4_IfcColourOrFactor_type = new select_type("IfcColourOrFactor", 150, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcBooleanResult_type); + items.push_back(IFC4_IfcCsgPrimitive3D_type); + IFC4_IfcCsgSelect_type = new select_type("IfcCsgSelect", 229, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcCurveStyleFont_type); + items.push_back(IFC4_IfcPreDefinedCurveFont_type); + IFC4_IfcCurveStyleFontSelect_type = new select_type("IfcCurveStyleFontSelect", 248, items); + } + { + std::vector items; items.reserve(4); + items.push_back(IFC4_IfcColour_type); + items.push_back(IFC4_IfcExternallyDefinedHatchStyle_type); + items.push_back(IFC4_IfcFillAreaStyleHatching_type); + items.push_back(IFC4_IfcFillAreaStyleTiles_type); + IFC4_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 406, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC4_IfcCurve_type); + items.push_back(IFC4_IfcPoint_type); + items.push_back(IFC4_IfcSurface_type); + IFC4_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 457, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcDirection_type); + items.push_back(IFC4_IfcVirtualGridIntersection_type); + IFC4_IfcGridPlacementDirectionSelect_type = new select_type("IfcGridPlacementDirectionSelect", 463, items); + } + { + std::vector items; items.reserve(6); + items.push_back(IFC4_IfcAppliedValue_type); + items.push_back(IFC4_IfcMeasureWithUnit_type); + items.push_back(IFC4_IfcReference_type); + items.push_back(IFC4_IfcTable_type); + items.push_back(IFC4_IfcTimeSeries_type); + items.push_back(IFC4_IfcValue_type); + IFC4_IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", 588, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcProcess_type); + items.push_back(IFC4_IfcTypeProcess_type); + IFC4_IfcProcessSelect_type = new select_type("IfcProcessSelect", 704, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcProduct_type); + items.push_back(IFC4_IfcTypeProduct_type); + IFC4_IfcProductSelect_type = new select_type("IfcProductSelect", 709, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcPropertySetDefinition_type); + items.push_back(IFC4_IfcPropertySetDefinitionSet_type); + IFC4_IfcPropertySetDefinitionSelect_type = new select_type("IfcPropertySetDefinitionSelect", 732, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcResource_type); + items.push_back(IFC4_IfcTypeResource_type); + IFC4_IfcResourceSelect_type = new select_type("IfcResourceSelect", 850, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcClosedShell_type); + items.push_back(IFC4_IfcOpenShell_type); + IFC4_IfcShell_type = new select_type("IfcShell", 888, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcClosedShell_type); + items.push_back(IFC4_IfcSolidModel_type); + IFC4_IfcSolidOrShell_type = new select_type("IfcSolidOrShell", 910, items); + } + { + std::vector items; items.reserve(3); + items.push_back(IFC4_IfcFaceBasedSurfaceModel_type); + items.push_back(IFC4_IfcFaceSurface_type); + items.push_back(IFC4_IfcSurface_type); + IFC4_IfcSurfaceOrFaceSurface_type = new select_type("IfcSurfaceOrFaceSurface", 1001, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcCartesianPoint_type); + items.push_back(IFC4_IfcParameterValue_type); + IFC4_IfcTrimmingSelect_type = new select_type("IfcTrimmingSelect", 1093, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcDirection_type); + items.push_back(IFC4_IfcVector_type); + IFC4_IfcVectorOrDirection_type = new select_type("IfcVectorOrDirection", 1119, items); + } IFC4_IfcActor_type = new entity("IfcActor", 6, IFC4_IfcObject_type); IFC4_IfcAdvancedBrep_type = new entity("IfcAdvancedBrep", 14, IFC4_IfcManifoldSolidBrep_type); IFC4_IfcAdvancedBrepWithVoids_type = new entity("IfcAdvancedBrepWithVoids", 15, IFC4_IfcAdvancedBrep_type); @@ -5287,6 +5764,30 @@ IfcParse::schema_definition* IFC4_populate_schema() { IFC4_IfcWorkPlan_type = new entity("IfcWorkPlan", 1158, IFC4_IfcWorkControl_type); IFC4_IfcWorkSchedule_type = new entity("IfcWorkSchedule", 1160, IFC4_IfcWorkControl_type); IFC4_IfcZone_type = new entity("IfcZone", 1163, IFC4_IfcSystem_type); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcCurveStyleFontAndScaling_type); + items.push_back(IFC4_IfcCurveStyleFontSelect_type); + IFC4_IfcCurveFontOrScaledCurveFontSelect_type = new select_type("IfcCurveFontOrScaledCurveFontSelect", 240, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcCompositeCurveOnSurface_type); + items.push_back(IFC4_IfcPcurve_type); + IFC4_IfcCurveOnSurface_type = new select_type("IfcCurveOnSurface", 242, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcBoundedCurve_type); + items.push_back(IFC4_IfcEdgeCurve_type); + IFC4_IfcCurveOrEdgeCurve_type = new select_type("IfcCurveOrEdgeCurve", 243, items); + } + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcElement_type); + items.push_back(IFC4_IfcStructuralItem_type); + IFC4_IfcStructuralActivityAssignmentSelect_type = new select_type("IfcStructuralActivityAssignmentSelect", 947, items); + } IFC4_IfcActionRequest_type = new entity("IfcActionRequest", 2, IFC4_IfcControl_type); IFC4_IfcAirTerminalBoxType_type = new entity("IfcAirTerminalBoxType", 19, IFC4_IfcFlowControllerType_type); IFC4_IfcAirTerminalType_type = new entity("IfcAirTerminalType", 21, IFC4_IfcFlowTerminalType_type); @@ -5418,6 +5919,12 @@ IfcParse::schema_definition* IFC4_populate_schema() { IFC4_IfcWasteTerminal_type = new entity("IfcWasteTerminal", 1140, IFC4_IfcFlowTerminal_type); IFC4_IfcWindow_type = new entity("IfcWindow", 1143, IFC4_IfcBuildingElement_type); IFC4_IfcWindowStandardCase_type = new entity("IfcWindowStandardCase", 1148, IFC4_IfcWindow_type); + { + std::vector items; items.reserve(2); + items.push_back(IFC4_IfcExternalSpatialElement_type); + items.push_back(IFC4_IfcSpace_type); + IFC4_IfcSpaceBoundarySelect_type = new select_type("IfcSpaceBoundarySelect", 916, items); + } IFC4_IfcActuatorType_type = new entity("IfcActuatorType", 10, IFC4_IfcDistributionControlElementType_type); IFC4_IfcAirTerminal_type = new entity("IfcAirTerminal", 17, IFC4_IfcFlowTerminal_type); IFC4_IfcAirTerminalBox_type = new entity("IfcAirTerminalBox", 18, IFC4_IfcFlowController_type); @@ -5463,513 +5970,6 @@ IfcParse::schema_definition* IFC4_populate_schema() { IFC4_IfcActuator_type = new entity("IfcActuator", 9, IFC4_IfcDistributionControlElement_type); IFC4_IfcAlarm_type = new entity("IfcAlarm", 26, IFC4_IfcDistributionControlElement_type); IFC4_IfcController_type = new entity("IfcController", 202, IFC4_IfcDistributionControlElement_type); - { - std::vector items; items.reserve(3); - items.push_back(IFC4_IfcOrganization_type); - items.push_back(IFC4_IfcPerson_type); - items.push_back(IFC4_IfcPersonAndOrganization_type); - IFC4_IfcActorSelect_type = new select_type("IfcActorSelect", 8, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcAxis2Placement2D_type); - items.push_back(IFC4_IfcAxis2Placement3D_type); - IFC4_IfcAxis2Placement_type = new select_type("IfcAxis2Placement", 54, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcLengthMeasure_type); - items.push_back(IFC4_IfcPlaneAngleMeasure_type); - IFC4_IfcBendingParameterSelect_type = new select_type("IfcBendingParameterSelect", 62, items); - } - { - std::vector items; items.reserve(4); - items.push_back(IFC4_IfcBooleanResult_type); - items.push_back(IFC4_IfcCsgPrimitive3D_type); - items.push_back(IFC4_IfcHalfSpaceSolid_type); - items.push_back(IFC4_IfcSolidModel_type); - IFC4_IfcBooleanOperand_type = new select_type("IfcBooleanOperand", 71, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcClassification_type); - items.push_back(IFC4_IfcClassificationReference_type); - IFC4_IfcClassificationReferenceSelect_type = new select_type("IfcClassificationReferenceSelect", 143, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcClassification_type); - items.push_back(IFC4_IfcClassificationReference_type); - IFC4_IfcClassificationSelect_type = new select_type("IfcClassificationSelect", 144, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcColourSpecification_type); - items.push_back(IFC4_IfcPreDefinedColour_type); - IFC4_IfcColour_type = new select_type("IfcColour", 149, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcColourRgb_type); - items.push_back(IFC4_IfcNormalisedRatioMeasure_type); - IFC4_IfcColourOrFactor_type = new select_type("IfcColourOrFactor", 150, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcCoordinateReferenceSystem_type); - items.push_back(IFC4_IfcGeometricRepresentationContext_type); - IFC4_IfcCoordinateReferenceSystemSelect_type = new select_type("IfcCoordinateReferenceSystemSelect", 215, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcBooleanResult_type); - items.push_back(IFC4_IfcCsgPrimitive3D_type); - IFC4_IfcCsgSelect_type = new select_type("IfcCsgSelect", 229, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcCompositeCurveOnSurface_type); - items.push_back(IFC4_IfcPcurve_type); - IFC4_IfcCurveOnSurface_type = new select_type("IfcCurveOnSurface", 242, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcBoundedCurve_type); - items.push_back(IFC4_IfcEdgeCurve_type); - IFC4_IfcCurveOrEdgeCurve_type = new select_type("IfcCurveOrEdgeCurve", 243, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcCurveStyleFont_type); - items.push_back(IFC4_IfcPreDefinedCurveFont_type); - IFC4_IfcCurveStyleFontSelect_type = new select_type("IfcCurveStyleFontSelect", 248, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcObjectDefinition_type); - items.push_back(IFC4_IfcPropertyDefinition_type); - IFC4_IfcDefinitionSelect_type = new select_type("IfcDefinitionSelect", 258, items); - } - { - std::vector items; items.reserve(71); - items.push_back(IFC4_IfcAbsorbedDoseMeasure_type); - items.push_back(IFC4_IfcAccelerationMeasure_type); - items.push_back(IFC4_IfcAngularVelocityMeasure_type); - items.push_back(IFC4_IfcAreaDensityMeasure_type); - items.push_back(IFC4_IfcCompoundPlaneAngleMeasure_type); - items.push_back(IFC4_IfcCurvatureMeasure_type); - items.push_back(IFC4_IfcDoseEquivalentMeasure_type); - items.push_back(IFC4_IfcDynamicViscosityMeasure_type); - items.push_back(IFC4_IfcElectricCapacitanceMeasure_type); - items.push_back(IFC4_IfcElectricChargeMeasure_type); - items.push_back(IFC4_IfcElectricConductanceMeasure_type); - items.push_back(IFC4_IfcElectricResistanceMeasure_type); - items.push_back(IFC4_IfcElectricVoltageMeasure_type); - items.push_back(IFC4_IfcEnergyMeasure_type); - items.push_back(IFC4_IfcForceMeasure_type); - items.push_back(IFC4_IfcFrequencyMeasure_type); - items.push_back(IFC4_IfcHeatFluxDensityMeasure_type); - items.push_back(IFC4_IfcHeatingValueMeasure_type); - items.push_back(IFC4_IfcIlluminanceMeasure_type); - items.push_back(IFC4_IfcInductanceMeasure_type); - items.push_back(IFC4_IfcIntegerCountRateMeasure_type); - items.push_back(IFC4_IfcIonConcentrationMeasure_type); - items.push_back(IFC4_IfcIsothermalMoistureCapacityMeasure_type); - items.push_back(IFC4_IfcKinematicViscosityMeasure_type); - items.push_back(IFC4_IfcLinearForceMeasure_type); - items.push_back(IFC4_IfcLinearMomentMeasure_type); - items.push_back(IFC4_IfcLinearStiffnessMeasure_type); - items.push_back(IFC4_IfcLinearVelocityMeasure_type); - items.push_back(IFC4_IfcLuminousFluxMeasure_type); - items.push_back(IFC4_IfcLuminousIntensityDistributionMeasure_type); - items.push_back(IFC4_IfcMagneticFluxDensityMeasure_type); - items.push_back(IFC4_IfcMagneticFluxMeasure_type); - items.push_back(IFC4_IfcMassDensityMeasure_type); - items.push_back(IFC4_IfcMassFlowRateMeasure_type); - items.push_back(IFC4_IfcMassPerLengthMeasure_type); - items.push_back(IFC4_IfcModulusOfElasticityMeasure_type); - items.push_back(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type); - items.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type); - items.push_back(IFC4_IfcModulusOfSubgradeReactionMeasure_type); - items.push_back(IFC4_IfcMoistureDiffusivityMeasure_type); - items.push_back(IFC4_IfcMolecularWeightMeasure_type); - items.push_back(IFC4_IfcMomentOfInertiaMeasure_type); - items.push_back(IFC4_IfcMonetaryMeasure_type); - items.push_back(IFC4_IfcPHMeasure_type); - items.push_back(IFC4_IfcPlanarForceMeasure_type); - items.push_back(IFC4_IfcPowerMeasure_type); - items.push_back(IFC4_IfcPressureMeasure_type); - items.push_back(IFC4_IfcRadioActivityMeasure_type); - items.push_back(IFC4_IfcRotationalFrequencyMeasure_type); - items.push_back(IFC4_IfcRotationalMassMeasure_type); - items.push_back(IFC4_IfcRotationalStiffnessMeasure_type); - items.push_back(IFC4_IfcSectionModulusMeasure_type); - items.push_back(IFC4_IfcSectionalAreaIntegralMeasure_type); - items.push_back(IFC4_IfcShearModulusMeasure_type); - items.push_back(IFC4_IfcSoundPowerLevelMeasure_type); - items.push_back(IFC4_IfcSoundPowerMeasure_type); - items.push_back(IFC4_IfcSoundPressureLevelMeasure_type); - items.push_back(IFC4_IfcSoundPressureMeasure_type); - items.push_back(IFC4_IfcSpecificHeatCapacityMeasure_type); - items.push_back(IFC4_IfcTemperatureGradientMeasure_type); - items.push_back(IFC4_IfcTemperatureRateOfChangeMeasure_type); - items.push_back(IFC4_IfcThermalAdmittanceMeasure_type); - items.push_back(IFC4_IfcThermalConductivityMeasure_type); - items.push_back(IFC4_IfcThermalExpansionCoefficientMeasure_type); - items.push_back(IFC4_IfcThermalResistanceMeasure_type); - items.push_back(IFC4_IfcThermalTransmittanceMeasure_type); - items.push_back(IFC4_IfcTorqueMeasure_type); - items.push_back(IFC4_IfcVaporPermeabilityMeasure_type); - items.push_back(IFC4_IfcVolumetricFlowRateMeasure_type); - items.push_back(IFC4_IfcWarpingConstantMeasure_type); - items.push_back(IFC4_IfcWarpingMomentMeasure_type); - IFC4_IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", 259, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcDocumentInformation_type); - items.push_back(IFC4_IfcDocumentReference_type); - IFC4_IfcDocumentSelect_type = new select_type("IfcDocumentSelect", 290, items); - } - { - std::vector items; items.reserve(4); - items.push_back(IFC4_IfcColour_type); - items.push_back(IFC4_IfcExternallyDefinedHatchStyle_type); - items.push_back(IFC4_IfcFillAreaStyleHatching_type); - items.push_back(IFC4_IfcFillAreaStyleTiles_type); - IFC4_IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", 406, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC4_IfcCurve_type); - items.push_back(IFC4_IfcPoint_type); - items.push_back(IFC4_IfcSurface_type); - IFC4_IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", 457, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcDirection_type); - items.push_back(IFC4_IfcVirtualGridIntersection_type); - IFC4_IfcGridPlacementDirectionSelect_type = new select_type("IfcGridPlacementDirectionSelect", 463, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcPositiveLengthMeasure_type); - items.push_back(IFC4_IfcVector_type); - IFC4_IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", 467, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcRepresentation_type); - items.push_back(IFC4_IfcRepresentationItem_type); - IFC4_IfcLayeredItem_type = new select_type("IfcLayeredItem", 511, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcLibraryInformation_type); - items.push_back(IFC4_IfcLibraryReference_type); - IFC4_IfcLibrarySelect_type = new select_type("IfcLibrarySelect", 516, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcExternalReference_type); - items.push_back(IFC4_IfcLightIntensityDistribution_type); - IFC4_IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", 519, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC4_IfcMaterialDefinition_type); - items.push_back(IFC4_IfcMaterialList_type); - items.push_back(IFC4_IfcMaterialUsageDefinition_type); - IFC4_IfcMaterialSelect_type = new select_type("IfcMaterialSelect", 573, items); - } - { - std::vector items; items.reserve(23); - items.push_back(IFC4_IfcAmountOfSubstanceMeasure_type); - items.push_back(IFC4_IfcAreaMeasure_type); - items.push_back(IFC4_IfcComplexNumber_type); - items.push_back(IFC4_IfcContextDependentMeasure_type); - items.push_back(IFC4_IfcCountMeasure_type); - items.push_back(IFC4_IfcDescriptiveMeasure_type); - items.push_back(IFC4_IfcElectricCurrentMeasure_type); - items.push_back(IFC4_IfcLengthMeasure_type); - items.push_back(IFC4_IfcLuminousIntensityMeasure_type); - items.push_back(IFC4_IfcMassMeasure_type); - items.push_back(IFC4_IfcNonNegativeLengthMeasure_type); - items.push_back(IFC4_IfcNormalisedRatioMeasure_type); - items.push_back(IFC4_IfcNumericMeasure_type); - items.push_back(IFC4_IfcParameterValue_type); - items.push_back(IFC4_IfcPlaneAngleMeasure_type); - items.push_back(IFC4_IfcPositiveLengthMeasure_type); - items.push_back(IFC4_IfcPositivePlaneAngleMeasure_type); - items.push_back(IFC4_IfcPositiveRatioMeasure_type); - items.push_back(IFC4_IfcRatioMeasure_type); - items.push_back(IFC4_IfcSolidAngleMeasure_type); - items.push_back(IFC4_IfcThermodynamicTemperatureMeasure_type); - items.push_back(IFC4_IfcTimeMeasure_type); - items.push_back(IFC4_IfcVolumeMeasure_type); - IFC4_IfcMeasureValue_type = new select_type("IfcMeasureValue", 575, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcBoolean_type); - items.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type); - IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type = new select_type("IfcModulusOfRotationalSubgradeReactionSelect", 593, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcBoolean_type); - items.push_back(IFC4_IfcModulusOfSubgradeReactionMeasure_type); - IFC4_IfcModulusOfSubgradeReactionSelect_type = new select_type("IfcModulusOfSubgradeReactionSelect", 595, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcBoolean_type); - items.push_back(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type); - IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type = new select_type("IfcModulusOfTranslationalSubgradeReactionSelect", 596, items); - } - { - std::vector items; items.reserve(9); - items.push_back(IFC4_IfcAddress_type); - items.push_back(IFC4_IfcAppliedValue_type); - items.push_back(IFC4_IfcExternalReference_type); - items.push_back(IFC4_IfcMaterialDefinition_type); - items.push_back(IFC4_IfcOrganization_type); - items.push_back(IFC4_IfcPerson_type); - items.push_back(IFC4_IfcPersonAndOrganization_type); - items.push_back(IFC4_IfcTable_type); - items.push_back(IFC4_IfcTimeSeries_type); - IFC4_IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", 616, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcPoint_type); - items.push_back(IFC4_IfcVertexPoint_type); - IFC4_IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", 675, items); - } - { - std::vector items; items.reserve(5); - items.push_back(IFC4_IfcCurveStyle_type); - items.push_back(IFC4_IfcFillAreaStyle_type); - items.push_back(IFC4_IfcNullStyle_type); - items.push_back(IFC4_IfcSurfaceStyle_type); - items.push_back(IFC4_IfcTextStyle_type); - IFC4_IfcPresentationStyleSelect_type = new select_type("IfcPresentationStyleSelect", 698, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcProcess_type); - items.push_back(IFC4_IfcTypeProcess_type); - IFC4_IfcProcessSelect_type = new select_type("IfcProcessSelect", 704, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcProductDefinitionShape_type); - items.push_back(IFC4_IfcRepresentationMap_type); - IFC4_IfcProductRepresentationSelect_type = new select_type("IfcProductRepresentationSelect", 708, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcProduct_type); - items.push_back(IFC4_IfcTypeProduct_type); - IFC4_IfcProductSelect_type = new select_type("IfcProductSelect", 709, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcPropertySetDefinition_type); - items.push_back(IFC4_IfcPropertySetDefinitionSet_type); - IFC4_IfcPropertySetDefinitionSelect_type = new select_type("IfcPropertySetDefinitionSelect", 732, items); - } - { - std::vector items; items.reserve(16); - items.push_back(IFC4_IfcActorRole_type); - items.push_back(IFC4_IfcAppliedValue_type); - items.push_back(IFC4_IfcApproval_type); - items.push_back(IFC4_IfcConstraint_type); - items.push_back(IFC4_IfcContextDependentUnit_type); - items.push_back(IFC4_IfcConversionBasedUnit_type); - items.push_back(IFC4_IfcExternalInformation_type); - items.push_back(IFC4_IfcExternalReference_type); - items.push_back(IFC4_IfcMaterialDefinition_type); - items.push_back(IFC4_IfcOrganization_type); - items.push_back(IFC4_IfcPerson_type); - items.push_back(IFC4_IfcPersonAndOrganization_type); - items.push_back(IFC4_IfcPhysicalQuantity_type); - items.push_back(IFC4_IfcProfileDef_type); - items.push_back(IFC4_IfcPropertyAbstraction_type); - items.push_back(IFC4_IfcTimeSeries_type); - IFC4_IfcResourceObjectSelect_type = new select_type("IfcResourceObjectSelect", 849, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcResource_type); - items.push_back(IFC4_IfcTypeResource_type); - IFC4_IfcResourceSelect_type = new select_type("IfcResourceSelect", 850, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcBoolean_type); - items.push_back(IFC4_IfcRotationalStiffnessMeasure_type); - IFC4_IfcRotationalStiffnessSelect_type = new select_type("IfcRotationalStiffnessSelect", 864, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcArcIndex_type); - items.push_back(IFC4_IfcLineIndex_type); - IFC4_IfcSegmentIndexSelect_type = new select_type("IfcSegmentIndexSelect", 876, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcClosedShell_type); - items.push_back(IFC4_IfcOpenShell_type); - IFC4_IfcShell_type = new select_type("IfcShell", 888, items); - } - { - std::vector items; items.reserve(13); - items.push_back(IFC4_IfcBoolean_type); - items.push_back(IFC4_IfcDate_type); - items.push_back(IFC4_IfcDateTime_type); - items.push_back(IFC4_IfcDuration_type); - items.push_back(IFC4_IfcIdentifier_type); - items.push_back(IFC4_IfcInteger_type); - items.push_back(IFC4_IfcLabel_type); - items.push_back(IFC4_IfcLogical_type); - items.push_back(IFC4_IfcPositiveInteger_type); - items.push_back(IFC4_IfcReal_type); - items.push_back(IFC4_IfcText_type); - items.push_back(IFC4_IfcTime_type); - items.push_back(IFC4_IfcTimeStamp_type); - IFC4_IfcSimpleValue_type = new select_type("IfcSimpleValue", 893, items); - } - { - std::vector items; items.reserve(6); - items.push_back(IFC4_IfcDescriptiveMeasure_type); - items.push_back(IFC4_IfcLengthMeasure_type); - items.push_back(IFC4_IfcNormalisedRatioMeasure_type); - items.push_back(IFC4_IfcPositiveLengthMeasure_type); - items.push_back(IFC4_IfcPositiveRatioMeasure_type); - items.push_back(IFC4_IfcRatioMeasure_type); - IFC4_IfcSizeSelect_type = new select_type("IfcSizeSelect", 898, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcClosedShell_type); - items.push_back(IFC4_IfcSolidModel_type); - IFC4_IfcSolidOrShell_type = new select_type("IfcSolidOrShell", 910, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcExternalSpatialElement_type); - items.push_back(IFC4_IfcSpace_type); - IFC4_IfcSpaceBoundarySelect_type = new select_type("IfcSpaceBoundarySelect", 916, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcSpecularExponent_type); - items.push_back(IFC4_IfcSpecularRoughness_type); - IFC4_IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", 931, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcElement_type); - items.push_back(IFC4_IfcStructuralItem_type); - IFC4_IfcStructuralActivityAssignmentSelect_type = new select_type("IfcStructuralActivityAssignmentSelect", 947, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcPresentationStyle_type); - items.push_back(IFC4_IfcPresentationStyleAssignment_type); - IFC4_IfcStyleAssignmentSelect_type = new select_type("IfcStyleAssignmentSelect", 987, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC4_IfcFaceBasedSurfaceModel_type); - items.push_back(IFC4_IfcFaceSurface_type); - items.push_back(IFC4_IfcSurface_type); - IFC4_IfcSurfaceOrFaceSurface_type = new select_type("IfcSurfaceOrFaceSurface", 1001, items); - } - { - std::vector items; items.reserve(5); - items.push_back(IFC4_IfcExternallyDefinedSurfaceStyle_type); - items.push_back(IFC4_IfcSurfaceStyleLighting_type); - items.push_back(IFC4_IfcSurfaceStyleRefraction_type); - items.push_back(IFC4_IfcSurfaceStyleShading_type); - items.push_back(IFC4_IfcSurfaceStyleWithTextures_type); - IFC4_IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", 1005, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcExternallyDefinedTextFont_type); - items.push_back(IFC4_IfcPreDefinedTextFont_type); - IFC4_IfcTextFontSelect_type = new select_type("IfcTextFontSelect", 1050, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcDuration_type); - items.push_back(IFC4_IfcRatioMeasure_type); - IFC4_IfcTimeOrRatioSelect_type = new select_type("IfcTimeOrRatioSelect", 1072, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcBoolean_type); - items.push_back(IFC4_IfcLinearStiffnessMeasure_type); - IFC4_IfcTranslationalStiffnessSelect_type = new select_type("IfcTranslationalStiffnessSelect", 1085, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcCartesianPoint_type); - items.push_back(IFC4_IfcParameterValue_type); - IFC4_IfcTrimmingSelect_type = new select_type("IfcTrimmingSelect", 1093, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC4_IfcDerivedUnit_type); - items.push_back(IFC4_IfcMonetaryUnit_type); - items.push_back(IFC4_IfcNamedUnit_type); - IFC4_IfcUnit_type = new select_type("IfcUnit", 1102, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC4_IfcDerivedMeasureValue_type); - items.push_back(IFC4_IfcMeasureValue_type); - items.push_back(IFC4_IfcSimpleValue_type); - IFC4_IfcValue_type = new select_type("IfcValue", 1113, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcDirection_type); - items.push_back(IFC4_IfcVector_type); - IFC4_IfcVectorOrDirection_type = new select_type("IfcVectorOrDirection", 1119, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcBoolean_type); - items.push_back(IFC4_IfcWarpingMomentMeasure_type); - IFC4_IfcWarpingStiffnessSelect_type = new select_type("IfcWarpingStiffnessSelect", 1139, items); - } - { - std::vector items; items.reserve(3); - items.push_back(IFC4_IfcMeasureWithUnit_type); - items.push_back(IFC4_IfcReference_type); - items.push_back(IFC4_IfcValue_type); - IFC4_IfcAppliedValueSelect_type = new select_type("IfcAppliedValueSelect", 37, items); - } - { - std::vector items; items.reserve(2); - items.push_back(IFC4_IfcCurveStyleFontAndScaling_type); - items.push_back(IFC4_IfcCurveStyleFontSelect_type); - IFC4_IfcCurveFontOrScaledCurveFontSelect_type = new select_type("IfcCurveFontOrScaledCurveFontSelect", 240, items); - } - { - std::vector items; items.reserve(6); - items.push_back(IFC4_IfcAppliedValue_type); - items.push_back(IFC4_IfcMeasureWithUnit_type); - items.push_back(IFC4_IfcReference_type); - items.push_back(IFC4_IfcTable_type); - items.push_back(IFC4_IfcTimeSeries_type); - items.push_back(IFC4_IfcValue_type); - IFC4_IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", 588, items); - } { std::vector attributes; attributes.reserve(3); attributes.push_back(new entity::attribute("PredefinedType", new named_type(IFC4_IfcActionRequestTypeEnum_type), true)); @@ -12538,135 +12538,6 @@ IfcParse::schema_definition* IFC4_populate_schema() { std::vector declarations; declarations.reserve(1165); declarations.push_back(IFC4_IfcAbsorbedDoseMeasure_type); declarations.push_back(IFC4_IfcAccelerationMeasure_type); - declarations.push_back(IFC4_IfcAmountOfSubstanceMeasure_type); - declarations.push_back(IFC4_IfcAngularVelocityMeasure_type); - declarations.push_back(IFC4_IfcArcIndex_type); - declarations.push_back(IFC4_IfcAreaDensityMeasure_type); - declarations.push_back(IFC4_IfcAreaMeasure_type); - declarations.push_back(IFC4_IfcBinary_type); - declarations.push_back(IFC4_IfcBoolean_type); - declarations.push_back(IFC4_IfcCardinalPointReference_type); - declarations.push_back(IFC4_IfcComplexNumber_type); - declarations.push_back(IFC4_IfcCompoundPlaneAngleMeasure_type); - declarations.push_back(IFC4_IfcContextDependentMeasure_type); - declarations.push_back(IFC4_IfcCountMeasure_type); - declarations.push_back(IFC4_IfcCurvatureMeasure_type); - declarations.push_back(IFC4_IfcDate_type); - declarations.push_back(IFC4_IfcDateTime_type); - declarations.push_back(IFC4_IfcDayInMonthNumber_type); - declarations.push_back(IFC4_IfcDayInWeekNumber_type); - declarations.push_back(IFC4_IfcDescriptiveMeasure_type); - declarations.push_back(IFC4_IfcDimensionCount_type); - declarations.push_back(IFC4_IfcDoseEquivalentMeasure_type); - declarations.push_back(IFC4_IfcDuration_type); - declarations.push_back(IFC4_IfcDynamicViscosityMeasure_type); - declarations.push_back(IFC4_IfcElectricCapacitanceMeasure_type); - declarations.push_back(IFC4_IfcElectricChargeMeasure_type); - declarations.push_back(IFC4_IfcElectricConductanceMeasure_type); - declarations.push_back(IFC4_IfcElectricCurrentMeasure_type); - declarations.push_back(IFC4_IfcElectricResistanceMeasure_type); - declarations.push_back(IFC4_IfcElectricVoltageMeasure_type); - declarations.push_back(IFC4_IfcEnergyMeasure_type); - declarations.push_back(IFC4_IfcFontStyle_type); - declarations.push_back(IFC4_IfcFontVariant_type); - declarations.push_back(IFC4_IfcFontWeight_type); - declarations.push_back(IFC4_IfcForceMeasure_type); - declarations.push_back(IFC4_IfcFrequencyMeasure_type); - declarations.push_back(IFC4_IfcGloballyUniqueId_type); - declarations.push_back(IFC4_IfcHeatFluxDensityMeasure_type); - declarations.push_back(IFC4_IfcHeatingValueMeasure_type); - declarations.push_back(IFC4_IfcIdentifier_type); - declarations.push_back(IFC4_IfcIlluminanceMeasure_type); - declarations.push_back(IFC4_IfcInductanceMeasure_type); - declarations.push_back(IFC4_IfcInteger_type); - declarations.push_back(IFC4_IfcIntegerCountRateMeasure_type); - declarations.push_back(IFC4_IfcIonConcentrationMeasure_type); - declarations.push_back(IFC4_IfcIsothermalMoistureCapacityMeasure_type); - declarations.push_back(IFC4_IfcKinematicViscosityMeasure_type); - declarations.push_back(IFC4_IfcLabel_type); - declarations.push_back(IFC4_IfcLanguageId_type); - declarations.push_back(IFC4_IfcLengthMeasure_type); - declarations.push_back(IFC4_IfcLineIndex_type); - declarations.push_back(IFC4_IfcLinearForceMeasure_type); - declarations.push_back(IFC4_IfcLinearMomentMeasure_type); - declarations.push_back(IFC4_IfcLinearStiffnessMeasure_type); - declarations.push_back(IFC4_IfcLinearVelocityMeasure_type); - declarations.push_back(IFC4_IfcLogical_type); - declarations.push_back(IFC4_IfcLuminousFluxMeasure_type); - declarations.push_back(IFC4_IfcLuminousIntensityDistributionMeasure_type); - declarations.push_back(IFC4_IfcLuminousIntensityMeasure_type); - declarations.push_back(IFC4_IfcMagneticFluxDensityMeasure_type); - declarations.push_back(IFC4_IfcMagneticFluxMeasure_type); - declarations.push_back(IFC4_IfcMassDensityMeasure_type); - declarations.push_back(IFC4_IfcMassFlowRateMeasure_type); - declarations.push_back(IFC4_IfcMassMeasure_type); - declarations.push_back(IFC4_IfcMassPerLengthMeasure_type); - declarations.push_back(IFC4_IfcModulusOfElasticityMeasure_type); - declarations.push_back(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type); - declarations.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type); - declarations.push_back(IFC4_IfcModulusOfSubgradeReactionMeasure_type); - declarations.push_back(IFC4_IfcMoistureDiffusivityMeasure_type); - declarations.push_back(IFC4_IfcMolecularWeightMeasure_type); - declarations.push_back(IFC4_IfcMomentOfInertiaMeasure_type); - declarations.push_back(IFC4_IfcMonetaryMeasure_type); - declarations.push_back(IFC4_IfcMonthInYearNumber_type); - declarations.push_back(IFC4_IfcNonNegativeLengthMeasure_type); - declarations.push_back(IFC4_IfcNumericMeasure_type); - declarations.push_back(IFC4_IfcPHMeasure_type); - declarations.push_back(IFC4_IfcParameterValue_type); - declarations.push_back(IFC4_IfcPlanarForceMeasure_type); - declarations.push_back(IFC4_IfcPlaneAngleMeasure_type); - declarations.push_back(IFC4_IfcPositiveInteger_type); - declarations.push_back(IFC4_IfcPositiveLengthMeasure_type); - declarations.push_back(IFC4_IfcPositivePlaneAngleMeasure_type); - declarations.push_back(IFC4_IfcPowerMeasure_type); - declarations.push_back(IFC4_IfcPresentableText_type); - declarations.push_back(IFC4_IfcPressureMeasure_type); - declarations.push_back(IFC4_IfcPropertySetDefinitionSet_type); - declarations.push_back(IFC4_IfcRadioActivityMeasure_type); - declarations.push_back(IFC4_IfcRatioMeasure_type); - declarations.push_back(IFC4_IfcReal_type); - declarations.push_back(IFC4_IfcRotationalFrequencyMeasure_type); - declarations.push_back(IFC4_IfcRotationalMassMeasure_type); - declarations.push_back(IFC4_IfcRotationalStiffnessMeasure_type); - declarations.push_back(IFC4_IfcSectionModulusMeasure_type); - declarations.push_back(IFC4_IfcSectionalAreaIntegralMeasure_type); - declarations.push_back(IFC4_IfcShearModulusMeasure_type); - declarations.push_back(IFC4_IfcSolidAngleMeasure_type); - declarations.push_back(IFC4_IfcSoundPowerLevelMeasure_type); - declarations.push_back(IFC4_IfcSoundPowerMeasure_type); - declarations.push_back(IFC4_IfcSoundPressureLevelMeasure_type); - declarations.push_back(IFC4_IfcSoundPressureMeasure_type); - declarations.push_back(IFC4_IfcSpecificHeatCapacityMeasure_type); - declarations.push_back(IFC4_IfcSpecularExponent_type); - declarations.push_back(IFC4_IfcSpecularRoughness_type); - declarations.push_back(IFC4_IfcStrippedOptional_type); - declarations.push_back(IFC4_IfcTemperatureGradientMeasure_type); - declarations.push_back(IFC4_IfcTemperatureRateOfChangeMeasure_type); - declarations.push_back(IFC4_IfcText_type); - declarations.push_back(IFC4_IfcTextAlignment_type); - declarations.push_back(IFC4_IfcTextDecoration_type); - declarations.push_back(IFC4_IfcTextFontName_type); - declarations.push_back(IFC4_IfcTextTransformation_type); - declarations.push_back(IFC4_IfcThermalAdmittanceMeasure_type); - declarations.push_back(IFC4_IfcThermalConductivityMeasure_type); - declarations.push_back(IFC4_IfcThermalExpansionCoefficientMeasure_type); - declarations.push_back(IFC4_IfcThermalResistanceMeasure_type); - declarations.push_back(IFC4_IfcThermalTransmittanceMeasure_type); - declarations.push_back(IFC4_IfcThermodynamicTemperatureMeasure_type); - declarations.push_back(IFC4_IfcTime_type); - declarations.push_back(IFC4_IfcTimeMeasure_type); - declarations.push_back(IFC4_IfcTimeStamp_type); - declarations.push_back(IFC4_IfcTorqueMeasure_type); - declarations.push_back(IFC4_IfcURIReference_type); - declarations.push_back(IFC4_IfcVaporPermeabilityMeasure_type); - declarations.push_back(IFC4_IfcVolumeMeasure_type); - declarations.push_back(IFC4_IfcVolumetricFlowRateMeasure_type); - declarations.push_back(IFC4_IfcWarpingConstantMeasure_type); - declarations.push_back(IFC4_IfcWarpingMomentMeasure_type); - declarations.push_back(IFC4_IfcBoxAlignment_type); - declarations.push_back(IFC4_IfcNormalisedRatioMeasure_type); - declarations.push_back(IFC4_IfcPositiveRatioMeasure_type); declarations.push_back(IFC4_IfcActionRequestTypeEnum_type); declarations.push_back(IFC4_IfcActionSourceTypeEnum_type); declarations.push_back(IFC4_IfcActionTypeEnum_type); @@ -12676,8 +12547,12 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcAirTerminalTypeEnum_type); declarations.push_back(IFC4_IfcAirToAirHeatRecoveryTypeEnum_type); declarations.push_back(IFC4_IfcAlarmTypeEnum_type); + declarations.push_back(IFC4_IfcAmountOfSubstanceMeasure_type); declarations.push_back(IFC4_IfcAnalysisModelTypeEnum_type); declarations.push_back(IFC4_IfcAnalysisTheoryTypeEnum_type); + declarations.push_back(IFC4_IfcAngularVelocityMeasure_type); + declarations.push_back(IFC4_IfcAreaDensityMeasure_type); + declarations.push_back(IFC4_IfcAreaMeasure_type); declarations.push_back(IFC4_IfcArithmeticOperatorEnum_type); declarations.push_back(IFC4_IfcAssemblyPlaceEnum_type); declarations.push_back(IFC4_IfcAudioVisualApplianceTypeEnum_type); @@ -12685,7 +12560,9 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcBSplineSurfaceForm_type); declarations.push_back(IFC4_IfcBeamTypeEnum_type); declarations.push_back(IFC4_IfcBenchmarkEnum_type); + declarations.push_back(IFC4_IfcBinary_type); declarations.push_back(IFC4_IfcBoilerTypeEnum_type); + declarations.push_back(IFC4_IfcBoolean_type); declarations.push_back(IFC4_IfcBooleanOperator_type); declarations.push_back(IFC4_IfcBuildingElementPartTypeEnum_type); declarations.push_back(IFC4_IfcBuildingElementProxyTypeEnum_type); @@ -12695,13 +12572,16 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcCableCarrierSegmentTypeEnum_type); declarations.push_back(IFC4_IfcCableFittingTypeEnum_type); declarations.push_back(IFC4_IfcCableSegmentTypeEnum_type); + declarations.push_back(IFC4_IfcCardinalPointReference_type); declarations.push_back(IFC4_IfcChangeActionEnum_type); declarations.push_back(IFC4_IfcChillerTypeEnum_type); declarations.push_back(IFC4_IfcChimneyTypeEnum_type); declarations.push_back(IFC4_IfcCoilTypeEnum_type); declarations.push_back(IFC4_IfcColumnTypeEnum_type); declarations.push_back(IFC4_IfcCommunicationsApplianceTypeEnum_type); + declarations.push_back(IFC4_IfcComplexNumber_type); declarations.push_back(IFC4_IfcComplexPropertyTemplateTypeEnum_type); + declarations.push_back(IFC4_IfcCompoundPlaneAngleMeasure_type); declarations.push_back(IFC4_IfcCompressorTypeEnum_type); declarations.push_back(IFC4_IfcCondenserTypeEnum_type); declarations.push_back(IFC4_IfcConnectionTypeEnum_type); @@ -12709,18 +12589,27 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcConstructionEquipmentResourceTypeEnum_type); declarations.push_back(IFC4_IfcConstructionMaterialResourceTypeEnum_type); declarations.push_back(IFC4_IfcConstructionProductResourceTypeEnum_type); + declarations.push_back(IFC4_IfcContextDependentMeasure_type); declarations.push_back(IFC4_IfcControllerTypeEnum_type); declarations.push_back(IFC4_IfcCooledBeamTypeEnum_type); declarations.push_back(IFC4_IfcCoolingTowerTypeEnum_type); declarations.push_back(IFC4_IfcCostItemTypeEnum_type); declarations.push_back(IFC4_IfcCostScheduleTypeEnum_type); + declarations.push_back(IFC4_IfcCountMeasure_type); declarations.push_back(IFC4_IfcCoveringTypeEnum_type); declarations.push_back(IFC4_IfcCrewResourceTypeEnum_type); declarations.push_back(IFC4_IfcCurtainWallTypeEnum_type); + declarations.push_back(IFC4_IfcCurvatureMeasure_type); declarations.push_back(IFC4_IfcCurveInterpolationEnum_type); declarations.push_back(IFC4_IfcDamperTypeEnum_type); declarations.push_back(IFC4_IfcDataOriginEnum_type); + declarations.push_back(IFC4_IfcDate_type); + declarations.push_back(IFC4_IfcDateTime_type); + declarations.push_back(IFC4_IfcDayInMonthNumber_type); + declarations.push_back(IFC4_IfcDayInWeekNumber_type); declarations.push_back(IFC4_IfcDerivedUnitEnum_type); + declarations.push_back(IFC4_IfcDescriptiveMeasure_type); + declarations.push_back(IFC4_IfcDimensionCount_type); declarations.push_back(IFC4_IfcDirectionSenseEnum_type); declarations.push_back(IFC4_IfcDiscreteAccessoryTypeEnum_type); declarations.push_back(IFC4_IfcDistributionChamberElementTypeEnum_type); @@ -12734,17 +12623,27 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcDoorStyleOperationEnum_type); declarations.push_back(IFC4_IfcDoorTypeEnum_type); declarations.push_back(IFC4_IfcDoorTypeOperationEnum_type); + declarations.push_back(IFC4_IfcDoseEquivalentMeasure_type); declarations.push_back(IFC4_IfcDuctFittingTypeEnum_type); declarations.push_back(IFC4_IfcDuctSegmentTypeEnum_type); declarations.push_back(IFC4_IfcDuctSilencerTypeEnum_type); + declarations.push_back(IFC4_IfcDuration_type); + declarations.push_back(IFC4_IfcDynamicViscosityMeasure_type); declarations.push_back(IFC4_IfcElectricApplianceTypeEnum_type); + declarations.push_back(IFC4_IfcElectricCapacitanceMeasure_type); + declarations.push_back(IFC4_IfcElectricChargeMeasure_type); + declarations.push_back(IFC4_IfcElectricConductanceMeasure_type); + declarations.push_back(IFC4_IfcElectricCurrentMeasure_type); declarations.push_back(IFC4_IfcElectricDistributionBoardTypeEnum_type); declarations.push_back(IFC4_IfcElectricFlowStorageDeviceTypeEnum_type); declarations.push_back(IFC4_IfcElectricGeneratorTypeEnum_type); declarations.push_back(IFC4_IfcElectricMotorTypeEnum_type); + declarations.push_back(IFC4_IfcElectricResistanceMeasure_type); declarations.push_back(IFC4_IfcElectricTimeControlTypeEnum_type); + declarations.push_back(IFC4_IfcElectricVoltageMeasure_type); declarations.push_back(IFC4_IfcElementAssemblyTypeEnum_type); declarations.push_back(IFC4_IfcElementCompositionEnum_type); + declarations.push_back(IFC4_IfcEnergyMeasure_type); declarations.push_back(IFC4_IfcEngineTypeEnum_type); declarations.push_back(IFC4_IfcEvaporativeCoolerTypeEnum_type); declarations.push_back(IFC4_IfcEvaporatorTypeEnum_type); @@ -12758,37 +12657,86 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcFlowDirectionEnum_type); declarations.push_back(IFC4_IfcFlowInstrumentTypeEnum_type); declarations.push_back(IFC4_IfcFlowMeterTypeEnum_type); + declarations.push_back(IFC4_IfcFontStyle_type); + declarations.push_back(IFC4_IfcFontVariant_type); + declarations.push_back(IFC4_IfcFontWeight_type); declarations.push_back(IFC4_IfcFootingTypeEnum_type); + declarations.push_back(IFC4_IfcForceMeasure_type); + declarations.push_back(IFC4_IfcFrequencyMeasure_type); declarations.push_back(IFC4_IfcFurnitureTypeEnum_type); declarations.push_back(IFC4_IfcGeographicElementTypeEnum_type); declarations.push_back(IFC4_IfcGeometricProjectionEnum_type); declarations.push_back(IFC4_IfcGlobalOrLocalEnum_type); + declarations.push_back(IFC4_IfcGloballyUniqueId_type); declarations.push_back(IFC4_IfcGridTypeEnum_type); declarations.push_back(IFC4_IfcHeatExchangerTypeEnum_type); + declarations.push_back(IFC4_IfcHeatFluxDensityMeasure_type); + declarations.push_back(IFC4_IfcHeatingValueMeasure_type); declarations.push_back(IFC4_IfcHumidifierTypeEnum_type); + declarations.push_back(IFC4_IfcIdentifier_type); + declarations.push_back(IFC4_IfcIlluminanceMeasure_type); + declarations.push_back(IFC4_IfcInductanceMeasure_type); + declarations.push_back(IFC4_IfcInteger_type); + declarations.push_back(IFC4_IfcIntegerCountRateMeasure_type); declarations.push_back(IFC4_IfcInterceptorTypeEnum_type); declarations.push_back(IFC4_IfcInternalOrExternalEnum_type); declarations.push_back(IFC4_IfcInventoryTypeEnum_type); + declarations.push_back(IFC4_IfcIonConcentrationMeasure_type); + declarations.push_back(IFC4_IfcIsothermalMoistureCapacityMeasure_type); declarations.push_back(IFC4_IfcJunctionBoxTypeEnum_type); + declarations.push_back(IFC4_IfcKinematicViscosityMeasure_type); declarations.push_back(IFC4_IfcKnotType_type); + declarations.push_back(IFC4_IfcLabel_type); declarations.push_back(IFC4_IfcLaborResourceTypeEnum_type); declarations.push_back(IFC4_IfcLampTypeEnum_type); + declarations.push_back(IFC4_IfcLanguageId_type); declarations.push_back(IFC4_IfcLayerSetDirectionEnum_type); + declarations.push_back(IFC4_IfcLengthMeasure_type); declarations.push_back(IFC4_IfcLightDistributionCurveEnum_type); declarations.push_back(IFC4_IfcLightEmissionSourceEnum_type); declarations.push_back(IFC4_IfcLightFixtureTypeEnum_type); + declarations.push_back(IFC4_IfcLinearForceMeasure_type); + declarations.push_back(IFC4_IfcLinearMomentMeasure_type); + declarations.push_back(IFC4_IfcLinearStiffnessMeasure_type); + declarations.push_back(IFC4_IfcLinearVelocityMeasure_type); declarations.push_back(IFC4_IfcLoadGroupTypeEnum_type); + declarations.push_back(IFC4_IfcLogical_type); declarations.push_back(IFC4_IfcLogicalOperatorEnum_type); + declarations.push_back(IFC4_IfcLuminousFluxMeasure_type); + declarations.push_back(IFC4_IfcLuminousIntensityDistributionMeasure_type); + declarations.push_back(IFC4_IfcLuminousIntensityMeasure_type); + declarations.push_back(IFC4_IfcMagneticFluxDensityMeasure_type); + declarations.push_back(IFC4_IfcMagneticFluxMeasure_type); + declarations.push_back(IFC4_IfcMassDensityMeasure_type); + declarations.push_back(IFC4_IfcMassFlowRateMeasure_type); + declarations.push_back(IFC4_IfcMassMeasure_type); + declarations.push_back(IFC4_IfcMassPerLengthMeasure_type); declarations.push_back(IFC4_IfcMechanicalFastenerTypeEnum_type); declarations.push_back(IFC4_IfcMedicalDeviceTypeEnum_type); declarations.push_back(IFC4_IfcMemberTypeEnum_type); + declarations.push_back(IFC4_IfcModulusOfElasticityMeasure_type); + declarations.push_back(IFC4_IfcModulusOfLinearSubgradeReactionMeasure_type); + declarations.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionMeasure_type); + declarations.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type); + declarations.push_back(IFC4_IfcModulusOfSubgradeReactionMeasure_type); + declarations.push_back(IFC4_IfcModulusOfSubgradeReactionSelect_type); + declarations.push_back(IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type); + declarations.push_back(IFC4_IfcMoistureDiffusivityMeasure_type); + declarations.push_back(IFC4_IfcMolecularWeightMeasure_type); + declarations.push_back(IFC4_IfcMomentOfInertiaMeasure_type); + declarations.push_back(IFC4_IfcMonetaryMeasure_type); + declarations.push_back(IFC4_IfcMonthInYearNumber_type); declarations.push_back(IFC4_IfcMotorConnectionTypeEnum_type); + declarations.push_back(IFC4_IfcNonNegativeLengthMeasure_type); declarations.push_back(IFC4_IfcNullStyle_type); + declarations.push_back(IFC4_IfcNumericMeasure_type); declarations.push_back(IFC4_IfcObjectTypeEnum_type); declarations.push_back(IFC4_IfcObjectiveEnum_type); declarations.push_back(IFC4_IfcOccupantTypeEnum_type); declarations.push_back(IFC4_IfcOpeningElementTypeEnum_type); declarations.push_back(IFC4_IfcOutletTypeEnum_type); + declarations.push_back(IFC4_IfcPHMeasure_type); + declarations.push_back(IFC4_IfcParameterValue_type); declarations.push_back(IFC4_IfcPerformanceHistoryTypeEnum_type); declarations.push_back(IFC4_IfcPermeableCoveringOperationEnum_type); declarations.push_back(IFC4_IfcPermitTypeEnum_type); @@ -12797,7 +12745,15 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcPileTypeEnum_type); declarations.push_back(IFC4_IfcPipeFittingTypeEnum_type); declarations.push_back(IFC4_IfcPipeSegmentTypeEnum_type); + declarations.push_back(IFC4_IfcPlanarForceMeasure_type); + declarations.push_back(IFC4_IfcPlaneAngleMeasure_type); declarations.push_back(IFC4_IfcPlateTypeEnum_type); + declarations.push_back(IFC4_IfcPositiveInteger_type); + declarations.push_back(IFC4_IfcPositiveLengthMeasure_type); + declarations.push_back(IFC4_IfcPositivePlaneAngleMeasure_type); + declarations.push_back(IFC4_IfcPowerMeasure_type); + declarations.push_back(IFC4_IfcPresentableText_type); + declarations.push_back(IFC4_IfcPressureMeasure_type); declarations.push_back(IFC4_IfcProcedureTypeEnum_type); declarations.push_back(IFC4_IfcProfileTypeEnum_type); declarations.push_back(IFC4_IfcProjectOrderTypeEnum_type); @@ -12807,9 +12763,12 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcProtectiveDeviceTrippingUnitTypeEnum_type); declarations.push_back(IFC4_IfcProtectiveDeviceTypeEnum_type); declarations.push_back(IFC4_IfcPumpTypeEnum_type); + declarations.push_back(IFC4_IfcRadioActivityMeasure_type); declarations.push_back(IFC4_IfcRailingTypeEnum_type); declarations.push_back(IFC4_IfcRampFlightTypeEnum_type); declarations.push_back(IFC4_IfcRampTypeEnum_type); + declarations.push_back(IFC4_IfcRatioMeasure_type); + declarations.push_back(IFC4_IfcReal_type); declarations.push_back(IFC4_IfcRecurrenceTypeEnum_type); declarations.push_back(IFC4_IfcReflectanceMethodEnum_type); declarations.push_back(IFC4_IfcReinforcingBarRoleEnum_type); @@ -12818,23 +12777,39 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcReinforcingMeshTypeEnum_type); declarations.push_back(IFC4_IfcRoleEnum_type); declarations.push_back(IFC4_IfcRoofTypeEnum_type); + declarations.push_back(IFC4_IfcRotationalFrequencyMeasure_type); + declarations.push_back(IFC4_IfcRotationalMassMeasure_type); + declarations.push_back(IFC4_IfcRotationalStiffnessMeasure_type); + declarations.push_back(IFC4_IfcRotationalStiffnessSelect_type); declarations.push_back(IFC4_IfcSIPrefix_type); declarations.push_back(IFC4_IfcSIUnitName_type); declarations.push_back(IFC4_IfcSanitaryTerminalTypeEnum_type); + declarations.push_back(IFC4_IfcSectionModulusMeasure_type); declarations.push_back(IFC4_IfcSectionTypeEnum_type); + declarations.push_back(IFC4_IfcSectionalAreaIntegralMeasure_type); declarations.push_back(IFC4_IfcSensorTypeEnum_type); declarations.push_back(IFC4_IfcSequenceEnum_type); declarations.push_back(IFC4_IfcShadingDeviceTypeEnum_type); + declarations.push_back(IFC4_IfcShearModulusMeasure_type); declarations.push_back(IFC4_IfcSimplePropertyTemplateTypeEnum_type); declarations.push_back(IFC4_IfcSlabTypeEnum_type); declarations.push_back(IFC4_IfcSolarDeviceTypeEnum_type); + declarations.push_back(IFC4_IfcSolidAngleMeasure_type); + declarations.push_back(IFC4_IfcSoundPowerLevelMeasure_type); + declarations.push_back(IFC4_IfcSoundPowerMeasure_type); + declarations.push_back(IFC4_IfcSoundPressureLevelMeasure_type); + declarations.push_back(IFC4_IfcSoundPressureMeasure_type); declarations.push_back(IFC4_IfcSpaceHeaterTypeEnum_type); declarations.push_back(IFC4_IfcSpaceTypeEnum_type); declarations.push_back(IFC4_IfcSpatialZoneTypeEnum_type); + declarations.push_back(IFC4_IfcSpecificHeatCapacityMeasure_type); + declarations.push_back(IFC4_IfcSpecularExponent_type); + declarations.push_back(IFC4_IfcSpecularRoughness_type); declarations.push_back(IFC4_IfcStackTerminalTypeEnum_type); declarations.push_back(IFC4_IfcStairFlightTypeEnum_type); declarations.push_back(IFC4_IfcStairTypeEnum_type); declarations.push_back(IFC4_IfcStateEnum_type); + declarations.push_back(IFC4_IfcStrippedOptional_type); declarations.push_back(IFC4_IfcStructuralCurveActivityTypeEnum_type); declarations.push_back(IFC4_IfcStructuralCurveMemberTypeEnum_type); declarations.push_back(IFC4_IfcStructuralSurfaceActivityTypeEnum_type); @@ -12847,22 +12822,48 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcTankTypeEnum_type); declarations.push_back(IFC4_IfcTaskDurationEnum_type); declarations.push_back(IFC4_IfcTaskTypeEnum_type); + declarations.push_back(IFC4_IfcTemperatureGradientMeasure_type); + declarations.push_back(IFC4_IfcTemperatureRateOfChangeMeasure_type); declarations.push_back(IFC4_IfcTendonAnchorTypeEnum_type); declarations.push_back(IFC4_IfcTendonTypeEnum_type); + declarations.push_back(IFC4_IfcText_type); + declarations.push_back(IFC4_IfcTextAlignment_type); + declarations.push_back(IFC4_IfcTextDecoration_type); + declarations.push_back(IFC4_IfcTextFontName_type); declarations.push_back(IFC4_IfcTextPath_type); + declarations.push_back(IFC4_IfcTextTransformation_type); + declarations.push_back(IFC4_IfcThermalAdmittanceMeasure_type); + declarations.push_back(IFC4_IfcThermalConductivityMeasure_type); + declarations.push_back(IFC4_IfcThermalExpansionCoefficientMeasure_type); + declarations.push_back(IFC4_IfcThermalResistanceMeasure_type); + declarations.push_back(IFC4_IfcThermalTransmittanceMeasure_type); + declarations.push_back(IFC4_IfcThermodynamicTemperatureMeasure_type); + declarations.push_back(IFC4_IfcTime_type); + declarations.push_back(IFC4_IfcTimeMeasure_type); + declarations.push_back(IFC4_IfcTimeOrRatioSelect_type); declarations.push_back(IFC4_IfcTimeSeriesDataTypeEnum_type); + declarations.push_back(IFC4_IfcTimeStamp_type); + declarations.push_back(IFC4_IfcTorqueMeasure_type); declarations.push_back(IFC4_IfcTransformerTypeEnum_type); declarations.push_back(IFC4_IfcTransitionCode_type); + declarations.push_back(IFC4_IfcTranslationalStiffnessSelect_type); declarations.push_back(IFC4_IfcTransportElementTypeEnum_type); declarations.push_back(IFC4_IfcTrimmingPreference_type); declarations.push_back(IFC4_IfcTubeBundleTypeEnum_type); + declarations.push_back(IFC4_IfcURIReference_type); declarations.push_back(IFC4_IfcUnitEnum_type); declarations.push_back(IFC4_IfcUnitaryControlElementTypeEnum_type); declarations.push_back(IFC4_IfcUnitaryEquipmentTypeEnum_type); declarations.push_back(IFC4_IfcValveTypeEnum_type); + declarations.push_back(IFC4_IfcVaporPermeabilityMeasure_type); declarations.push_back(IFC4_IfcVibrationIsolatorTypeEnum_type); declarations.push_back(IFC4_IfcVoidingFeatureTypeEnum_type); + declarations.push_back(IFC4_IfcVolumeMeasure_type); + declarations.push_back(IFC4_IfcVolumetricFlowRateMeasure_type); declarations.push_back(IFC4_IfcWallTypeEnum_type); + declarations.push_back(IFC4_IfcWarpingConstantMeasure_type); + declarations.push_back(IFC4_IfcWarpingMomentMeasure_type); + declarations.push_back(IFC4_IfcWarpingStiffnessSelect_type); declarations.push_back(IFC4_IfcWasteTerminalTypeEnum_type); declarations.push_back(IFC4_IfcWindowPanelOperationEnum_type); declarations.push_back(IFC4_IfcWindowPanelPositionEnum_type); @@ -12998,6 +12999,26 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcVertexPoint_type); declarations.push_back(IFC4_IfcVirtualGridIntersection_type); declarations.push_back(IFC4_IfcWorkTime_type); + declarations.push_back(IFC4_IfcActorSelect_type); + declarations.push_back(IFC4_IfcArcIndex_type); + declarations.push_back(IFC4_IfcBendingParameterSelect_type); + declarations.push_back(IFC4_IfcBoxAlignment_type); + declarations.push_back(IFC4_IfcDerivedMeasureValue_type); + declarations.push_back(IFC4_IfcLayeredItem_type); + declarations.push_back(IFC4_IfcLibrarySelect_type); + declarations.push_back(IFC4_IfcLightDistributionDataSourceSelect_type); + declarations.push_back(IFC4_IfcLineIndex_type); + declarations.push_back(IFC4_IfcMaterialSelect_type); + declarations.push_back(IFC4_IfcNormalisedRatioMeasure_type); + declarations.push_back(IFC4_IfcObjectReferenceSelect_type); + declarations.push_back(IFC4_IfcPositiveRatioMeasure_type); + declarations.push_back(IFC4_IfcSegmentIndexSelect_type); + declarations.push_back(IFC4_IfcSimpleValue_type); + declarations.push_back(IFC4_IfcSizeSelect_type); + declarations.push_back(IFC4_IfcSpecularHighlightSelect_type); + declarations.push_back(IFC4_IfcStyleAssignmentSelect_type); + declarations.push_back(IFC4_IfcSurfaceStyleElementSelect_type); + declarations.push_back(IFC4_IfcUnit_type); declarations.push_back(IFC4_IfcApprovalRelationship_type); declarations.push_back(IFC4_IfcArbitraryClosedProfileDef_type); declarations.push_back(IFC4_IfcArbitraryOpenProfileDef_type); @@ -13135,6 +13156,20 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcVertexLoop_type); declarations.push_back(IFC4_IfcWindowStyle_type); declarations.push_back(IFC4_IfcZShapeProfileDef_type); + declarations.push_back(IFC4_IfcClassificationReferenceSelect_type); + declarations.push_back(IFC4_IfcClassificationSelect_type); + declarations.push_back(IFC4_IfcCoordinateReferenceSystemSelect_type); + declarations.push_back(IFC4_IfcDefinitionSelect_type); + declarations.push_back(IFC4_IfcDocumentSelect_type); + declarations.push_back(IFC4_IfcHatchLineDistanceSelect_type); + declarations.push_back(IFC4_IfcMeasureValue_type); + declarations.push_back(IFC4_IfcPointOrVertexPoint_type); + declarations.push_back(IFC4_IfcPresentationStyleSelect_type); + declarations.push_back(IFC4_IfcProductRepresentationSelect_type); + declarations.push_back(IFC4_IfcPropertySetDefinitionSet_type); + declarations.push_back(IFC4_IfcResourceObjectSelect_type); + declarations.push_back(IFC4_IfcTextFontSelect_type); + declarations.push_back(IFC4_IfcValue_type); declarations.push_back(IFC4_IfcAdvancedFace_type); declarations.push_back(IFC4_IfcAnnotationFillArea_type); declarations.push_back(IFC4_IfcAsymmetricIShapeProfileDef_type); @@ -13298,6 +13333,26 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcTriangulatedFaceSet_type); declarations.push_back(IFC4_IfcWindowLiningProperties_type); declarations.push_back(IFC4_IfcWindowPanelProperties_type); + declarations.push_back(IFC4_IfcAppliedValueSelect_type); + declarations.push_back(IFC4_IfcAxis2Placement_type); + declarations.push_back(IFC4_IfcBooleanOperand_type); + declarations.push_back(IFC4_IfcColour_type); + declarations.push_back(IFC4_IfcColourOrFactor_type); + declarations.push_back(IFC4_IfcCsgSelect_type); + declarations.push_back(IFC4_IfcCurveStyleFontSelect_type); + declarations.push_back(IFC4_IfcFillStyleSelect_type); + declarations.push_back(IFC4_IfcGeometricSetSelect_type); + declarations.push_back(IFC4_IfcGridPlacementDirectionSelect_type); + declarations.push_back(IFC4_IfcMetricValueSelect_type); + declarations.push_back(IFC4_IfcProcessSelect_type); + declarations.push_back(IFC4_IfcProductSelect_type); + declarations.push_back(IFC4_IfcPropertySetDefinitionSelect_type); + declarations.push_back(IFC4_IfcResourceSelect_type); + declarations.push_back(IFC4_IfcShell_type); + declarations.push_back(IFC4_IfcSolidOrShell_type); + declarations.push_back(IFC4_IfcSurfaceOrFaceSurface_type); + declarations.push_back(IFC4_IfcTrimmingSelect_type); + declarations.push_back(IFC4_IfcVectorOrDirection_type); declarations.push_back(IFC4_IfcActor_type); declarations.push_back(IFC4_IfcAdvancedBrep_type); declarations.push_back(IFC4_IfcAdvancedBrepWithVoids_type); @@ -13465,6 +13520,10 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcWorkPlan_type); declarations.push_back(IFC4_IfcWorkSchedule_type); declarations.push_back(IFC4_IfcZone_type); + declarations.push_back(IFC4_IfcCurveFontOrScaledCurveFontSelect_type); + declarations.push_back(IFC4_IfcCurveOnSurface_type); + declarations.push_back(IFC4_IfcCurveOrEdgeCurve_type); + declarations.push_back(IFC4_IfcStructuralActivityAssignmentSelect_type); declarations.push_back(IFC4_IfcActionRequest_type); declarations.push_back(IFC4_IfcAirTerminalBoxType_type); declarations.push_back(IFC4_IfcAirTerminalType_type); @@ -13596,6 +13655,7 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcWasteTerminal_type); declarations.push_back(IFC4_IfcWindow_type); declarations.push_back(IFC4_IfcWindowStandardCase_type); + declarations.push_back(IFC4_IfcSpaceBoundarySelect_type); declarations.push_back(IFC4_IfcActuatorType_type); declarations.push_back(IFC4_IfcAirTerminal_type); declarations.push_back(IFC4_IfcAirTerminalBox_type); @@ -13641,66 +13701,6 @@ IfcParse::schema_definition* IFC4_populate_schema() { declarations.push_back(IFC4_IfcActuator_type); declarations.push_back(IFC4_IfcAlarm_type); declarations.push_back(IFC4_IfcController_type); - declarations.push_back(IFC4_IfcActorSelect_type); - declarations.push_back(IFC4_IfcAxis2Placement_type); - declarations.push_back(IFC4_IfcBendingParameterSelect_type); - declarations.push_back(IFC4_IfcBooleanOperand_type); - declarations.push_back(IFC4_IfcClassificationReferenceSelect_type); - declarations.push_back(IFC4_IfcClassificationSelect_type); - declarations.push_back(IFC4_IfcColour_type); - declarations.push_back(IFC4_IfcColourOrFactor_type); - declarations.push_back(IFC4_IfcCoordinateReferenceSystemSelect_type); - declarations.push_back(IFC4_IfcCsgSelect_type); - declarations.push_back(IFC4_IfcCurveOnSurface_type); - declarations.push_back(IFC4_IfcCurveOrEdgeCurve_type); - declarations.push_back(IFC4_IfcCurveStyleFontSelect_type); - declarations.push_back(IFC4_IfcDefinitionSelect_type); - declarations.push_back(IFC4_IfcDerivedMeasureValue_type); - declarations.push_back(IFC4_IfcDocumentSelect_type); - declarations.push_back(IFC4_IfcFillStyleSelect_type); - declarations.push_back(IFC4_IfcGeometricSetSelect_type); - declarations.push_back(IFC4_IfcGridPlacementDirectionSelect_type); - declarations.push_back(IFC4_IfcHatchLineDistanceSelect_type); - declarations.push_back(IFC4_IfcLayeredItem_type); - declarations.push_back(IFC4_IfcLibrarySelect_type); - declarations.push_back(IFC4_IfcLightDistributionDataSourceSelect_type); - declarations.push_back(IFC4_IfcMaterialSelect_type); - declarations.push_back(IFC4_IfcMeasureValue_type); - declarations.push_back(IFC4_IfcModulusOfRotationalSubgradeReactionSelect_type); - declarations.push_back(IFC4_IfcModulusOfSubgradeReactionSelect_type); - declarations.push_back(IFC4_IfcModulusOfTranslationalSubgradeReactionSelect_type); - declarations.push_back(IFC4_IfcObjectReferenceSelect_type); - declarations.push_back(IFC4_IfcPointOrVertexPoint_type); - declarations.push_back(IFC4_IfcPresentationStyleSelect_type); - declarations.push_back(IFC4_IfcProcessSelect_type); - declarations.push_back(IFC4_IfcProductRepresentationSelect_type); - declarations.push_back(IFC4_IfcProductSelect_type); - declarations.push_back(IFC4_IfcPropertySetDefinitionSelect_type); - declarations.push_back(IFC4_IfcResourceObjectSelect_type); - declarations.push_back(IFC4_IfcResourceSelect_type); - declarations.push_back(IFC4_IfcRotationalStiffnessSelect_type); - declarations.push_back(IFC4_IfcSegmentIndexSelect_type); - declarations.push_back(IFC4_IfcShell_type); - declarations.push_back(IFC4_IfcSimpleValue_type); - declarations.push_back(IFC4_IfcSizeSelect_type); - declarations.push_back(IFC4_IfcSolidOrShell_type); - declarations.push_back(IFC4_IfcSpaceBoundarySelect_type); - declarations.push_back(IFC4_IfcSpecularHighlightSelect_type); - declarations.push_back(IFC4_IfcStructuralActivityAssignmentSelect_type); - declarations.push_back(IFC4_IfcStyleAssignmentSelect_type); - declarations.push_back(IFC4_IfcSurfaceOrFaceSurface_type); - declarations.push_back(IFC4_IfcSurfaceStyleElementSelect_type); - declarations.push_back(IFC4_IfcTextFontSelect_type); - declarations.push_back(IFC4_IfcTimeOrRatioSelect_type); - declarations.push_back(IFC4_IfcTranslationalStiffnessSelect_type); - declarations.push_back(IFC4_IfcTrimmingSelect_type); - declarations.push_back(IFC4_IfcUnit_type); - declarations.push_back(IFC4_IfcValue_type); - declarations.push_back(IFC4_IfcVectorOrDirection_type); - declarations.push_back(IFC4_IfcWarpingStiffnessSelect_type); - declarations.push_back(IFC4_IfcAppliedValueSelect_type); - declarations.push_back(IFC4_IfcCurveFontOrScaledCurveFontSelect_type); - declarations.push_back(IFC4_IfcMetricValueSelect_type); return new schema_definition("IFC4", declarations, new IFC4_instance_factory()); }