diff --git a/src/ifcexpressparser/schema_class.py b/src/ifcexpressparser/schema_class.py
new file mode 100644
index 0000000000..8cb391e1ed
--- /dev/null
+++ b/src/ifcexpressparser/schema_class.py
@@ -0,0 +1,121 @@
+###############################################################################
+# #
+# This file is part of IfcOpenShell. #
+# #
+# IfcOpenShell is free software: you can redistribute it and/or modify #
+# it under the terms of the Lesser GNU General Public License as published by #
+# the Free Software Foundation, either version 3.0 of the License, or #
+# (at your option) any later version. #
+# #
+# IfcOpenShell is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# Lesser GNU General Public License for more details. #
+# #
+# You should have received a copy of the Lesser GNU General Public License #
+# along with this program. If not, see . #
+# #
+###############################################################################
+
+import operator
+
+import nodes
+import templates
+
+class SchemaClass:
+ def __init__(self, mapping):
+
+ class UnmetDependenciesException(Exception): pass
+
+ def get_declared_type(type, emitted_names=None):
+ if isinstance(type, nodes.AggregationType):
+ 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)
+ 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)"
+ elif isinstance(type, str):
+ if mapping.schema.is_type(type) or mapping.schema.is_entity(type):
+ if emitted_names is None or type in emitted_types:
+ return "new named_type(%s_type)" % type
+ else:
+ raise UnmetDependenciesException(type)
+ else:
+ return "new simple_type(simple_type::%s_type)" % type
+
+ self.schema_name = mapping.schema.name.capitalize()
+
+ statements = ['','#include "../ifcparse/IfcSchema.h"','','void populate() {']
+
+ emitted_types = set()
+ while len(emitted_types) < len(mapping.schema.simpletypes):
+ for name, type in mapping.schema.simpletypes.items():
+ if name in emitted_types: continue
+
+ try:
+ declared_type = get_declared_type(type, emitted_types)
+ except UnmetDependenciesException:
+ continue
+
+ statements.append(' declaration* %(name)s_type = new type_declaration("%(name)s", %(declared_type)s);' % locals())
+ emitted_types.add(name)
+
+ for name, enum in mapping.schema.enumerations.items():
+ statements.append(' declaration* %(name)s_type;' % locals())
+ 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(' %(name)s_type = new enumeration_type("%(name)s", items);' % locals())
+ statements.append(' }')
+
+ emitted_entities = set()
+ while len(emitted_entities) < len(mapping.schema.entities):
+ for name, type in mapping.schema.entities.items():
+ if name in emitted_entities: continue
+ if len(type.supertypes) == 0 or set(type.supertypes) < emitted_entities:
+ supertype = '0' if len(type.supertypes) == 0 else '%s_type' % type.supertypes[0]
+ statements.append(' entity* %(name)s_type = new entity("%(name)s", %(supertype)s);' % locals())
+ emitted_entities.add(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 in emitted_selects: continue
+ if set(type.values) < emmited:
+ statements.append(' declaration* %(name)s_type;' % locals())
+ statements.append(' {')
+ statements.append(' std::vector items; items.reserve(%d);' % len(type.values))
+ statements.extend(map(lambda v: ' items.push_back(%s_type);' % v, sorted(type.values)))
+ statements.append(' %(name)s_type = new select_type("%(name)s", items);' % locals())
+ statements.append(' }')
+ emitted_selects.add(name)
+ emmited.add(name)
+
+ for name, type in mapping.schema.entities.items():
+ derived = set(mapping.derived_in_supertype(type))
+ attribute_names = list(map(operator.attrgetter('name'), mapping.arguments(type)))
+
+ statements.append(' {')
+ statements.append(' std::vector attributes; attributes.reserve(%d);' % len(type.attributes))
+ for attr in type.attributes:
+ attr_name, optional = attr.name, str(attr.optional).lower()
+ decl_type = get_declared_type(attr.type)
+ statements.append(' attributes.push_back(new entity::attribute("%(attr_name)s", %(decl_type)s, %(optional)s));' % locals())
+ statements.append(' std::vector derived; derived.reserve(%d);' % len(attribute_names))
+ statements.append(' ' + " ".join(map(lambda b: 'derived.push_back(%s);' % str(b in derived).lower(), attribute_names)))
+ statements.append(' %(name)s_type->set_attributes(attributes, derived);' % locals())
+ statements.append(' }')
+
+ statements.extend(('}','',''))
+ self.str = "\n".join(statements)
+ def __repr__(self):
+ return self.str
+ def emit(self):
+ f = open('%s-schema.cpp'%self.schema_name, 'w', encoding='utf-8')
+ f.write(str(self))
+ f.close()
+
diff --git a/src/ifcparse/Ifc2x3-schema.cpp b/src/ifcparse/Ifc2x3-schema.cpp
new file mode 100644
index 0000000000..9dcc7d315c
--- /dev/null
+++ b/src/ifcparse/Ifc2x3-schema.cpp
@@ -0,0 +1,8623 @@
+/********************************************************************************
+ * *
+ * This file is part of IfcOpenShell. *
+ * *
+ * IfcOpenShell is free software: you can redistribute it and/or modify *
+ * it under the terms of the Lesser GNU General Public License as published by *
+ * the Free Software Foundation, either version 3.0 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * IfcOpenShell is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * Lesser GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the Lesser GNU General Public License *
+ * along with this program. If not, see . *
+ * *
+ ********************************************************************************/
+
+/********************************************************************************
+ * *
+ * This file has been generated from IFC2X3_TC1.exp. Do not make modifications *
+ * but instead modify the python script that has been used to generate this. *
+ * *
+ ********************************************************************************/
+
+#ifndef USE_IFC4
+
+#include "../ifcparse/IfcSchema.h"
+
+void populate() {
+ declaration* IfcAbsorbedDoseMeasure_type = new type_declaration("IfcAbsorbedDoseMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcAccelerationMeasure_type = new type_declaration("IfcAccelerationMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcAmountOfSubstanceMeasure_type = new type_declaration("IfcAmountOfSubstanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcAngularVelocityMeasure_type = new type_declaration("IfcAngularVelocityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcAreaMeasure_type = new type_declaration("IfcAreaMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcBoolean_type = new type_declaration("IfcBoolean", new simple_type(simple_type::boolean_type));
+ declaration* IfcComplexNumber_type = new type_declaration("IfcComplexNumber", new aggregation_type(aggregation_type::array_type, 1, 2, new simple_type(simple_type::real_type)));
+ declaration* IfcCompoundPlaneAngleMeasure_type = new type_declaration("IfcCompoundPlaneAngleMeasure", new aggregation_type(aggregation_type::list_type, 3, 4, new simple_type(simple_type::integer_type)));
+ declaration* IfcContextDependentMeasure_type = new type_declaration("IfcContextDependentMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcCountMeasure_type = new type_declaration("IfcCountMeasure", new simple_type(simple_type::number_type));
+ declaration* IfcCurvatureMeasure_type = new type_declaration("IfcCurvatureMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcDayInMonthNumber_type = new type_declaration("IfcDayInMonthNumber", new simple_type(simple_type::integer_type));
+ declaration* IfcDaylightSavingHour_type = new type_declaration("IfcDaylightSavingHour", new simple_type(simple_type::integer_type));
+ declaration* IfcDescriptiveMeasure_type = new type_declaration("IfcDescriptiveMeasure", new simple_type(simple_type::string_type));
+ declaration* IfcDimensionCount_type = new type_declaration("IfcDimensionCount", new simple_type(simple_type::integer_type));
+ declaration* IfcDoseEquivalentMeasure_type = new type_declaration("IfcDoseEquivalentMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcDynamicViscosityMeasure_type = new type_declaration("IfcDynamicViscosityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcElectricCapacitanceMeasure_type = new type_declaration("IfcElectricCapacitanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcElectricChargeMeasure_type = new type_declaration("IfcElectricChargeMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcElectricConductanceMeasure_type = new type_declaration("IfcElectricConductanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcElectricCurrentMeasure_type = new type_declaration("IfcElectricCurrentMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcElectricResistanceMeasure_type = new type_declaration("IfcElectricResistanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcElectricVoltageMeasure_type = new type_declaration("IfcElectricVoltageMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcEnergyMeasure_type = new type_declaration("IfcEnergyMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcFontStyle_type = new type_declaration("IfcFontStyle", new simple_type(simple_type::string_type));
+ declaration* IfcFontVariant_type = new type_declaration("IfcFontVariant", new simple_type(simple_type::string_type));
+ declaration* IfcFontWeight_type = new type_declaration("IfcFontWeight", new simple_type(simple_type::string_type));
+ declaration* IfcForceMeasure_type = new type_declaration("IfcForceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcFrequencyMeasure_type = new type_declaration("IfcFrequencyMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcGloballyUniqueId_type = new type_declaration("IfcGloballyUniqueId", new simple_type(simple_type::string_type));
+ declaration* IfcHeatFluxDensityMeasure_type = new type_declaration("IfcHeatFluxDensityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcHeatingValueMeasure_type = new type_declaration("IfcHeatingValueMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcHourInDay_type = new type_declaration("IfcHourInDay", new simple_type(simple_type::integer_type));
+ declaration* IfcIdentifier_type = new type_declaration("IfcIdentifier", new simple_type(simple_type::string_type));
+ declaration* IfcIlluminanceMeasure_type = new type_declaration("IfcIlluminanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcInductanceMeasure_type = new type_declaration("IfcInductanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcInteger_type = new type_declaration("IfcInteger", new simple_type(simple_type::integer_type));
+ declaration* IfcIntegerCountRateMeasure_type = new type_declaration("IfcIntegerCountRateMeasure", new simple_type(simple_type::integer_type));
+ declaration* IfcIonConcentrationMeasure_type = new type_declaration("IfcIonConcentrationMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcIsothermalMoistureCapacityMeasure_type = new type_declaration("IfcIsothermalMoistureCapacityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcKinematicViscosityMeasure_type = new type_declaration("IfcKinematicViscosityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcLabel_type = new type_declaration("IfcLabel", new simple_type(simple_type::string_type));
+ declaration* IfcLengthMeasure_type = new type_declaration("IfcLengthMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcLinearForceMeasure_type = new type_declaration("IfcLinearForceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcLinearMomentMeasure_type = new type_declaration("IfcLinearMomentMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcLinearStiffnessMeasure_type = new type_declaration("IfcLinearStiffnessMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcLinearVelocityMeasure_type = new type_declaration("IfcLinearVelocityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcLogical_type = new type_declaration("IfcLogical", new simple_type(simple_type::logical_type));
+ declaration* IfcLuminousFluxMeasure_type = new type_declaration("IfcLuminousFluxMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcLuminousIntensityDistributionMeasure_type = new type_declaration("IfcLuminousIntensityDistributionMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcLuminousIntensityMeasure_type = new type_declaration("IfcLuminousIntensityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMagneticFluxDensityMeasure_type = new type_declaration("IfcMagneticFluxDensityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMagneticFluxMeasure_type = new type_declaration("IfcMagneticFluxMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMassDensityMeasure_type = new type_declaration("IfcMassDensityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMassFlowRateMeasure_type = new type_declaration("IfcMassFlowRateMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMassMeasure_type = new type_declaration("IfcMassMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMassPerLengthMeasure_type = new type_declaration("IfcMassPerLengthMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMinuteInHour_type = new type_declaration("IfcMinuteInHour", new simple_type(simple_type::integer_type));
+ declaration* IfcModulusOfElasticityMeasure_type = new type_declaration("IfcModulusOfElasticityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcModulusOfLinearSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfLinearSubgradeReactionMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcModulusOfRotationalSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfRotationalSubgradeReactionMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcModulusOfSubgradeReactionMeasure_type = new type_declaration("IfcModulusOfSubgradeReactionMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMoistureDiffusivityMeasure_type = new type_declaration("IfcMoistureDiffusivityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMolecularWeightMeasure_type = new type_declaration("IfcMolecularWeightMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMomentOfInertiaMeasure_type = new type_declaration("IfcMomentOfInertiaMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMonetaryMeasure_type = new type_declaration("IfcMonetaryMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcMonthInYearNumber_type = new type_declaration("IfcMonthInYearNumber", new simple_type(simple_type::integer_type));
+ declaration* IfcNumericMeasure_type = new type_declaration("IfcNumericMeasure", new simple_type(simple_type::number_type));
+ declaration* IfcPHMeasure_type = new type_declaration("IfcPHMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcParameterValue_type = new type_declaration("IfcParameterValue", new simple_type(simple_type::real_type));
+ declaration* IfcPlanarForceMeasure_type = new type_declaration("IfcPlanarForceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcPlaneAngleMeasure_type = new type_declaration("IfcPlaneAngleMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcPositiveLengthMeasure_type = new type_declaration("IfcPositiveLengthMeasure", new named_type(IfcLengthMeasure_type));
+ declaration* IfcPositivePlaneAngleMeasure_type = new type_declaration("IfcPositivePlaneAngleMeasure", new named_type(IfcPlaneAngleMeasure_type));
+ declaration* IfcPowerMeasure_type = new type_declaration("IfcPowerMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcPresentableText_type = new type_declaration("IfcPresentableText", new simple_type(simple_type::string_type));
+ declaration* IfcPressureMeasure_type = new type_declaration("IfcPressureMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcRadioActivityMeasure_type = new type_declaration("IfcRadioActivityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcRatioMeasure_type = new type_declaration("IfcRatioMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcReal_type = new type_declaration("IfcReal", new simple_type(simple_type::real_type));
+ declaration* IfcRotationalFrequencyMeasure_type = new type_declaration("IfcRotationalFrequencyMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcRotationalMassMeasure_type = new type_declaration("IfcRotationalMassMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcRotationalStiffnessMeasure_type = new type_declaration("IfcRotationalStiffnessMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcSecondInMinute_type = new type_declaration("IfcSecondInMinute", new simple_type(simple_type::real_type));
+ declaration* IfcSectionModulusMeasure_type = new type_declaration("IfcSectionModulusMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcSectionalAreaIntegralMeasure_type = new type_declaration("IfcSectionalAreaIntegralMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcShearModulusMeasure_type = new type_declaration("IfcShearModulusMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcSolidAngleMeasure_type = new type_declaration("IfcSolidAngleMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcSoundPowerMeasure_type = new type_declaration("IfcSoundPowerMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcSoundPressureMeasure_type = new type_declaration("IfcSoundPressureMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcSpecificHeatCapacityMeasure_type = new type_declaration("IfcSpecificHeatCapacityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcSpecularExponent_type = new type_declaration("IfcSpecularExponent", new simple_type(simple_type::real_type));
+ declaration* IfcSpecularRoughness_type = new type_declaration("IfcSpecularRoughness", new simple_type(simple_type::real_type));
+ declaration* IfcTemperatureGradientMeasure_type = new type_declaration("IfcTemperatureGradientMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcText_type = new type_declaration("IfcText", new simple_type(simple_type::string_type));
+ declaration* IfcTextAlignment_type = new type_declaration("IfcTextAlignment", new simple_type(simple_type::string_type));
+ declaration* IfcTextDecoration_type = new type_declaration("IfcTextDecoration", new simple_type(simple_type::string_type));
+ declaration* IfcTextFontName_type = new type_declaration("IfcTextFontName", new simple_type(simple_type::string_type));
+ declaration* IfcTextTransformation_type = new type_declaration("IfcTextTransformation", new simple_type(simple_type::string_type));
+ declaration* IfcThermalAdmittanceMeasure_type = new type_declaration("IfcThermalAdmittanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcThermalConductivityMeasure_type = new type_declaration("IfcThermalConductivityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcThermalExpansionCoefficientMeasure_type = new type_declaration("IfcThermalExpansionCoefficientMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcThermalResistanceMeasure_type = new type_declaration("IfcThermalResistanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcThermalTransmittanceMeasure_type = new type_declaration("IfcThermalTransmittanceMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcThermodynamicTemperatureMeasure_type = new type_declaration("IfcThermodynamicTemperatureMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcTimeMeasure_type = new type_declaration("IfcTimeMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcTimeStamp_type = new type_declaration("IfcTimeStamp", new simple_type(simple_type::integer_type));
+ declaration* IfcTorqueMeasure_type = new type_declaration("IfcTorqueMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcVaporPermeabilityMeasure_type = new type_declaration("IfcVaporPermeabilityMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcVolumeMeasure_type = new type_declaration("IfcVolumeMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcVolumetricFlowRateMeasure_type = new type_declaration("IfcVolumetricFlowRateMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcWarpingConstantMeasure_type = new type_declaration("IfcWarpingConstantMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcWarpingMomentMeasure_type = new type_declaration("IfcWarpingMomentMeasure", new simple_type(simple_type::real_type));
+ declaration* IfcYearNumber_type = new type_declaration("IfcYearNumber", new simple_type(simple_type::integer_type));
+ declaration* IfcBoxAlignment_type = new type_declaration("IfcBoxAlignment", new named_type(IfcLabel_type));
+ declaration* IfcNormalisedRatioMeasure_type = new type_declaration("IfcNormalisedRatioMeasure", new named_type(IfcRatioMeasure_type));
+ declaration* IfcPositiveRatioMeasure_type = new type_declaration("IfcPositiveRatioMeasure", new named_type(IfcRatioMeasure_type));
+ declaration* IfcActionSourceTypeEnum_type;
+ {
+ std::vector items; items.reserve(27);
+ items.push_back("BRAKES");
+ items.push_back("BUOYANCY");
+ items.push_back("COMPLETION_G1");
+ items.push_back("CREEP");
+ items.push_back("CURRENT");
+ items.push_back("DEAD_LOAD_G");
+ items.push_back("EARTHQUAKE_E");
+ items.push_back("ERECTION");
+ items.push_back("FIRE");
+ items.push_back("ICE");
+ items.push_back("IMPACT");
+ items.push_back("IMPULSE");
+ items.push_back("LACK_OF_FIT");
+ items.push_back("LIVE_LOAD_Q");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRESTRESSING_P");
+ items.push_back("PROPPING");
+ items.push_back("RAIN");
+ items.push_back("SETTLEMENT_U");
+ items.push_back("SHRINKAGE");
+ items.push_back("SNOW_S");
+ items.push_back("SYSTEM_IMPERFECTION");
+ items.push_back("TEMPERATURE_T");
+ items.push_back("TRANSPORT");
+ items.push_back("USERDEFINED");
+ items.push_back("WAVE");
+ items.push_back("WIND_W");
+ IfcActionSourceTypeEnum_type = new enumeration_type("IfcActionSourceTypeEnum", items);
+ }
+ declaration* IfcActionTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("EXTRAORDINARY_A");
+ items.push_back("NOTDEFINED");
+ items.push_back("PERMANENT_G");
+ items.push_back("USERDEFINED");
+ items.push_back("VARIABLE_Q");
+ IfcActionTypeEnum_type = new enumeration_type("IfcActionTypeEnum", items);
+ }
+ declaration* IfcActuatorTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("ELECTRICACTUATOR");
+ items.push_back("HANDOPERATEDACTUATOR");
+ items.push_back("HYDRAULICACTUATOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PNEUMATICACTUATOR");
+ items.push_back("THERMOSTATICACTUATOR");
+ items.push_back("USERDEFINED");
+ IfcActuatorTypeEnum_type = new enumeration_type("IfcActuatorTypeEnum", items);
+ }
+ declaration* IfcAddressTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("DISTRIBUTIONPOINT");
+ items.push_back("HOME");
+ items.push_back("OFFICE");
+ items.push_back("SITE");
+ items.push_back("USERDEFINED");
+ IfcAddressTypeEnum_type = new enumeration_type("IfcAddressTypeEnum", items);
+ }
+ declaration* IfcAheadOrBehind_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AHEAD");
+ items.push_back("BEHIND");
+ IfcAheadOrBehind_type = new enumeration_type("IfcAheadOrBehind", items);
+ }
+ declaration* IfcAirTerminalBoxTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("CONSTANTFLOW");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("VARIABLEFLOWPRESSUREDEPENDANT");
+ items.push_back("VARIABLEFLOWPRESSUREINDEPENDANT");
+ IfcAirTerminalBoxTypeEnum_type = new enumeration_type("IfcAirTerminalBoxTypeEnum", items);
+ }
+ declaration* IfcAirTerminalTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("DIFFUSER");
+ items.push_back("EYEBALL");
+ items.push_back("GRILLE");
+ items.push_back("IRIS");
+ items.push_back("LINEARDIFFUSER");
+ items.push_back("LINEARGRILLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("REGISTER");
+ items.push_back("USERDEFINED");
+ IfcAirTerminalTypeEnum_type = new enumeration_type("IfcAirTerminalTypeEnum", items);
+ }
+ declaration* IfcAirToAirHeatRecoveryTypeEnum_type;
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("FIXEDPLATECOUNTERFLOWEXCHANGER");
+ items.push_back("FIXEDPLATECROSSFLOWEXCHANGER");
+ items.push_back("FIXEDPLATEPARALLELFLOWEXCHANGER");
+ items.push_back("HEATPIPE");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROTARYWHEEL");
+ items.push_back("RUNAROUNDCOILLOOP");
+ items.push_back("THERMOSIPHONCOILTYPEHEATEXCHANGERS");
+ items.push_back("THERMOSIPHONSEALEDTUBEHEATEXCHANGERS");
+ items.push_back("TWINTOWERENTHALPYRECOVERYLOOPS");
+ items.push_back("USERDEFINED");
+ IfcAirToAirHeatRecoveryTypeEnum_type = new enumeration_type("IfcAirToAirHeatRecoveryTypeEnum", items);
+ }
+ declaration* IfcAlarmTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("BELL");
+ items.push_back("BREAKGLASSBUTTON");
+ items.push_back("LIGHT");
+ items.push_back("MANUALPULLBOX");
+ items.push_back("NOTDEFINED");
+ items.push_back("SIREN");
+ items.push_back("USERDEFINED");
+ items.push_back("WHISTLE");
+ IfcAlarmTypeEnum_type = new enumeration_type("IfcAlarmTypeEnum", items);
+ }
+ declaration* IfcAnalysisModelTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("IN_PLANE_LOADING_2D");
+ items.push_back("LOADING_3D");
+ items.push_back("NOTDEFINED");
+ items.push_back("OUT_PLANE_LOADING_2D");
+ items.push_back("USERDEFINED");
+ IfcAnalysisModelTypeEnum_type = new enumeration_type("IfcAnalysisModelTypeEnum", items);
+ }
+ declaration* IfcAnalysisTheoryTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("FIRST_ORDER_THEORY");
+ items.push_back("FULL_NONLINEAR_THEORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SECOND_ORDER_THEORY");
+ items.push_back("THIRD_ORDER_THEORY");
+ items.push_back("USERDEFINED");
+ IfcAnalysisTheoryTypeEnum_type = new enumeration_type("IfcAnalysisTheoryTypeEnum", items);
+ }
+ declaration* IfcArithmeticOperatorEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ADD");
+ items.push_back("DIVIDE");
+ items.push_back("MULTIPLY");
+ items.push_back("SUBTRACT");
+ IfcArithmeticOperatorEnum_type = new enumeration_type("IfcArithmeticOperatorEnum", items);
+ }
+ declaration* IfcAssemblyPlaceEnum_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FACTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SITE");
+ IfcAssemblyPlaceEnum_type = new enumeration_type("IfcAssemblyPlaceEnum", items);
+ }
+ declaration* IfcBSplineCurveForm_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CIRCULAR_ARC");
+ items.push_back("ELLIPTIC_ARC");
+ items.push_back("HYPERBOLIC_ARC");
+ items.push_back("PARABOLIC_ARC");
+ items.push_back("POLYLINE_FORM");
+ items.push_back("UNSPECIFIED");
+ IfcBSplineCurveForm_type = new enumeration_type("IfcBSplineCurveForm", items);
+ }
+ declaration* IfcBeamTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BEAM");
+ items.push_back("JOIST");
+ items.push_back("LINTEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("T_BEAM");
+ items.push_back("USERDEFINED");
+ IfcBeamTypeEnum_type = new enumeration_type("IfcBeamTypeEnum", items);
+ }
+ declaration* IfcBenchmarkEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("EQUALTO");
+ items.push_back("GREATERTHAN");
+ items.push_back("GREATERTHANOREQUALTO");
+ items.push_back("LESSTHAN");
+ items.push_back("LESSTHANOREQUALTO");
+ items.push_back("NOTEQUALTO");
+ IfcBenchmarkEnum_type = new enumeration_type("IfcBenchmarkEnum", items);
+ }
+ declaration* IfcBoilerTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("STEAM");
+ items.push_back("USERDEFINED");
+ items.push_back("WATER");
+ IfcBoilerTypeEnum_type = new enumeration_type("IfcBoilerTypeEnum", items);
+ }
+ declaration* IfcBooleanOperator_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("DIFFERENCE");
+ items.push_back("INTERSECTION");
+ items.push_back("UNION");
+ IfcBooleanOperator_type = new enumeration_type("IfcBooleanOperator", items);
+ }
+ declaration* IfcBuildingElementProxyTypeEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcBuildingElementProxyTypeEnum_type = new enumeration_type("IfcBuildingElementProxyTypeEnum", items);
+ }
+ declaration* IfcCableCarrierFittingTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BEND");
+ items.push_back("CROSS");
+ items.push_back("NOTDEFINED");
+ items.push_back("REDUCER");
+ items.push_back("TEE");
+ items.push_back("USERDEFINED");
+ IfcCableCarrierFittingTypeEnum_type = new enumeration_type("IfcCableCarrierFittingTypeEnum", items);
+ }
+ declaration* IfcCableCarrierSegmentTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CABLELADDERSEGMENT");
+ items.push_back("CABLETRAYSEGMENT");
+ items.push_back("CABLETRUNKINGSEGMENT");
+ items.push_back("CONDUITSEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcCableCarrierSegmentTypeEnum_type = new enumeration_type("IfcCableCarrierSegmentTypeEnum", items);
+ }
+ declaration* IfcCableSegmentTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CABLESEGMENT");
+ items.push_back("CONDUCTORSEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcCableSegmentTypeEnum_type = new enumeration_type("IfcCableSegmentTypeEnum", items);
+ }
+ declaration* IfcChangeActionEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("ADDED");
+ items.push_back("DELETED");
+ items.push_back("MODIFIED");
+ items.push_back("MODIFIEDADDED");
+ items.push_back("MODIFIEDDELETED");
+ items.push_back("NOCHANGE");
+ IfcChangeActionEnum_type = new enumeration_type("IfcChangeActionEnum", items);
+ }
+ declaration* IfcChillerTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("AIRCOOLED");
+ items.push_back("HEATRECOVERY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERCOOLED");
+ IfcChillerTypeEnum_type = new enumeration_type("IfcChillerTypeEnum", items);
+ }
+ declaration* IfcCoilTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("DXCOOLINGCOIL");
+ items.push_back("ELECTRICHEATINGCOIL");
+ items.push_back("GASHEATINGCOIL");
+ items.push_back("NOTDEFINED");
+ items.push_back("STEAMHEATINGCOIL");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERCOOLINGCOIL");
+ items.push_back("WATERHEATINGCOIL");
+ IfcCoilTypeEnum_type = new enumeration_type("IfcCoilTypeEnum", items);
+ }
+ declaration* IfcColumnTypeEnum_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COLUMN");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcColumnTypeEnum_type = new enumeration_type("IfcColumnTypeEnum", items);
+ }
+ declaration* IfcCompressorTypeEnum_type;
+ {
+ std::vector items; items.reserve(17);
+ items.push_back("BOOSTER");
+ items.push_back("DYNAMIC");
+ items.push_back("HERMETIC");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPENTYPE");
+ items.push_back("RECIPROCATING");
+ items.push_back("ROLLINGPISTON");
+ items.push_back("ROTARY");
+ items.push_back("ROTARYVANE");
+ items.push_back("SCROLL");
+ items.push_back("SEMIHERMETIC");
+ items.push_back("SINGLESCREW");
+ items.push_back("SINGLESTAGE");
+ items.push_back("TROCHOIDAL");
+ items.push_back("TWINSCREW");
+ items.push_back("USERDEFINED");
+ items.push_back("WELDEDSHELLHERMETIC");
+ IfcCompressorTypeEnum_type = new enumeration_type("IfcCompressorTypeEnum", items);
+ }
+ declaration* IfcCondenserTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("AIRCOOLED");
+ items.push_back("EVAPORATIVECOOLED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERCOOLEDBRAZEDPLATE");
+ items.push_back("WATERCOOLEDSHELLCOIL");
+ items.push_back("WATERCOOLEDSHELLTUBE");
+ items.push_back("WATERCOOLEDTUBEINTUBE");
+ IfcCondenserTypeEnum_type = new enumeration_type("IfcCondenserTypeEnum", items);
+ }
+ declaration* IfcConnectionTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ATEND");
+ items.push_back("ATPATH");
+ items.push_back("ATSTART");
+ items.push_back("NOTDEFINED");
+ IfcConnectionTypeEnum_type = new enumeration_type("IfcConnectionTypeEnum", items);
+ }
+ declaration* IfcConstraintEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ADVISORY");
+ items.push_back("HARD");
+ items.push_back("NOTDEFINED");
+ items.push_back("SOFT");
+ items.push_back("USERDEFINED");
+ IfcConstraintEnum_type = new enumeration_type("IfcConstraintEnum", items);
+ }
+ declaration* IfcControllerTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("FLOATING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROPORTIONAL");
+ items.push_back("PROPORTIONALINTEGRAL");
+ items.push_back("PROPORTIONALINTEGRALDERIVATIVE");
+ items.push_back("TIMEDTWOPOSITION");
+ items.push_back("TWOPOSITION");
+ items.push_back("USERDEFINED");
+ IfcControllerTypeEnum_type = new enumeration_type("IfcControllerTypeEnum", items);
+ }
+ declaration* IfcCooledBeamTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("ACTIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PASSIVE");
+ items.push_back("USERDEFINED");
+ IfcCooledBeamTypeEnum_type = new enumeration_type("IfcCooledBeamTypeEnum", items);
+ }
+ declaration* IfcCoolingTowerTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("MECHANICALFORCEDDRAFT");
+ items.push_back("MECHANICALINDUCEDDRAFT");
+ items.push_back("NATURALDRAFT");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcCoolingTowerTypeEnum_type = new enumeration_type("IfcCoolingTowerTypeEnum", items);
+ }
+ declaration* IfcCostScheduleTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BUDGET");
+ items.push_back("COSTPLAN");
+ items.push_back("ESTIMATE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRICEDBILLOFQUANTITIES");
+ items.push_back("SCHEDULEOFRATES");
+ items.push_back("TENDER");
+ items.push_back("UNPRICEDBILLOFQUANTITIES");
+ items.push_back("USERDEFINED");
+ IfcCostScheduleTypeEnum_type = new enumeration_type("IfcCostScheduleTypeEnum", items);
+ }
+ declaration* IfcCoveringTypeEnum_type;
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("CEILING");
+ items.push_back("CLADDING");
+ items.push_back("FLOORING");
+ items.push_back("INSULATION");
+ items.push_back("MEMBRANE");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFING");
+ items.push_back("SLEEVING");
+ items.push_back("USERDEFINED");
+ items.push_back("WRAPPING");
+ IfcCoveringTypeEnum_type = new enumeration_type("IfcCoveringTypeEnum", items);
+ }
+ declaration* IfcCurrencyEnum_type;
+ {
+ std::vector items; items.reserve(83);
+ items.push_back("AED");
+ items.push_back("AES");
+ items.push_back("ATS");
+ items.push_back("AUD");
+ items.push_back("BBD");
+ items.push_back("BEG");
+ items.push_back("BGL");
+ items.push_back("BHD");
+ items.push_back("BMD");
+ items.push_back("BND");
+ items.push_back("BRL");
+ items.push_back("BSD");
+ items.push_back("BWP");
+ items.push_back("BZD");
+ items.push_back("CAD");
+ items.push_back("CBD");
+ items.push_back("CHF");
+ items.push_back("CLP");
+ items.push_back("CNY");
+ items.push_back("CYS");
+ items.push_back("CZK");
+ items.push_back("DDP");
+ items.push_back("DEM");
+ items.push_back("DKK");
+ items.push_back("EGL");
+ items.push_back("EST");
+ items.push_back("EUR");
+ items.push_back("FAK");
+ items.push_back("FIM");
+ items.push_back("FJD");
+ items.push_back("FKP");
+ items.push_back("FRF");
+ items.push_back("GBP");
+ items.push_back("GIP");
+ items.push_back("GMD");
+ items.push_back("GRX");
+ items.push_back("HKD");
+ items.push_back("HUF");
+ items.push_back("ICK");
+ items.push_back("IDR");
+ items.push_back("ILS");
+ items.push_back("INR");
+ items.push_back("IRP");
+ items.push_back("ITL");
+ items.push_back("JMD");
+ items.push_back("JOD");
+ items.push_back("JPY");
+ items.push_back("KES");
+ items.push_back("KRW");
+ items.push_back("KWD");
+ items.push_back("KYD");
+ items.push_back("LKR");
+ items.push_back("LUF");
+ items.push_back("MTL");
+ items.push_back("MUR");
+ items.push_back("MXN");
+ items.push_back("MYR");
+ items.push_back("NLG");
+ items.push_back("NOK");
+ items.push_back("NZD");
+ items.push_back("OMR");
+ items.push_back("PGK");
+ items.push_back("PHP");
+ items.push_back("PKR");
+ items.push_back("PLN");
+ items.push_back("PTN");
+ items.push_back("QAR");
+ items.push_back("RUR");
+ items.push_back("SAR");
+ items.push_back("SCR");
+ items.push_back("SEK");
+ items.push_back("SGD");
+ items.push_back("SKP");
+ items.push_back("THB");
+ items.push_back("TRL");
+ items.push_back("TTD");
+ items.push_back("TWD");
+ items.push_back("USD");
+ items.push_back("VEB");
+ items.push_back("VND");
+ items.push_back("XEU");
+ items.push_back("ZAR");
+ items.push_back("ZWD");
+ IfcCurrencyEnum_type = new enumeration_type("IfcCurrencyEnum", items);
+ }
+ declaration* IfcCurtainWallTypeEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcCurtainWallTypeEnum_type = new enumeration_type("IfcCurtainWallTypeEnum", items);
+ }
+ declaration* IfcDamperTypeEnum_type;
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("BACKDRAFTDAMPER");
+ items.push_back("BALANCINGDAMPER");
+ items.push_back("BLASTDAMPER");
+ items.push_back("CONTROLDAMPER");
+ items.push_back("FIREDAMPER");
+ items.push_back("FIRESMOKEDAMPER");
+ items.push_back("FUMEHOODEXHAUST");
+ items.push_back("GRAVITYDAMPER");
+ items.push_back("GRAVITYRELIEFDAMPER");
+ items.push_back("NOTDEFINED");
+ items.push_back("RELIEFDAMPER");
+ items.push_back("SMOKEDAMPER");
+ items.push_back("USERDEFINED");
+ IfcDamperTypeEnum_type = new enumeration_type("IfcDamperTypeEnum", items);
+ }
+ declaration* IfcDataOriginEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("MEASURED");
+ items.push_back("NOTDEFINED");
+ items.push_back("PREDICTED");
+ items.push_back("SIMULATED");
+ items.push_back("USERDEFINED");
+ IfcDataOriginEnum_type = new enumeration_type("IfcDataOriginEnum", items);
+ }
+ declaration* IfcDerivedUnitEnum_type;
+ {
+ std::vector items; items.reserve(49);
+ items.push_back("ACCELERATIONUNIT");
+ items.push_back("ANGULARVELOCITYUNIT");
+ items.push_back("COMPOUNDPLANEANGLEUNIT");
+ items.push_back("CURVATUREUNIT");
+ items.push_back("DYNAMICVISCOSITYUNIT");
+ items.push_back("HEATFLUXDENSITYUNIT");
+ items.push_back("HEATINGVALUEUNIT");
+ items.push_back("INTEGERCOUNTRATEUNIT");
+ items.push_back("IONCONCENTRATIONUNIT");
+ items.push_back("ISOTHERMALMOISTURECAPACITYUNIT");
+ items.push_back("KINEMATICVISCOSITYUNIT");
+ items.push_back("LINEARFORCEUNIT");
+ items.push_back("LINEARMOMENTUNIT");
+ items.push_back("LINEARSTIFFNESSUNIT");
+ items.push_back("LINEARVELOCITYUNIT");
+ items.push_back("LUMINOUSINTENSITYDISTRIBUTIONUNIT");
+ items.push_back("MASSDENSITYUNIT");
+ items.push_back("MASSFLOWRATEUNIT");
+ items.push_back("MASSPERLENGTHUNIT");
+ items.push_back("MODULUSOFELASTICITYUNIT");
+ items.push_back("MODULUSOFLINEARSUBGRADEREACTIONUNIT");
+ items.push_back("MODULUSOFROTATIONALSUBGRADEREACTIONUNIT");
+ items.push_back("MODULUSOFSUBGRADEREACTIONUNIT");
+ items.push_back("MOISTUREDIFFUSIVITYUNIT");
+ items.push_back("MOLECULARWEIGHTUNIT");
+ items.push_back("MOMENTOFINERTIAUNIT");
+ items.push_back("PHUNIT");
+ items.push_back("PLANARFORCEUNIT");
+ items.push_back("ROTATIONALFREQUENCYUNIT");
+ items.push_back("ROTATIONALMASSUNIT");
+ items.push_back("ROTATIONALSTIFFNESSUNIT");
+ items.push_back("SECTIONAREAINTEGRALUNIT");
+ items.push_back("SECTIONMODULUSUNIT");
+ items.push_back("SHEARMODULUSUNIT");
+ items.push_back("SOUNDPOWERUNIT");
+ items.push_back("SOUNDPRESSUREUNIT");
+ items.push_back("SPECIFICHEATCAPACITYUNIT");
+ items.push_back("TEMPERATUREGRADIENTUNIT");
+ items.push_back("THERMALADMITTANCEUNIT");
+ items.push_back("THERMALCONDUCTANCEUNIT");
+ items.push_back("THERMALEXPANSIONCOEFFICIENTUNIT");
+ items.push_back("THERMALRESISTANCEUNIT");
+ items.push_back("THERMALTRANSMITTANCEUNIT");
+ items.push_back("TORQUEUNIT");
+ items.push_back("USERDEFINED");
+ items.push_back("VAPORPERMEABILITYUNIT");
+ items.push_back("VOLUMETRICFLOWRATEUNIT");
+ items.push_back("WARPINGCONSTANTUNIT");
+ items.push_back("WARPINGMOMENTUNIT");
+ IfcDerivedUnitEnum_type = new enumeration_type("IfcDerivedUnitEnum", items);
+ }
+ declaration* IfcDimensionExtentUsage_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("ORIGIN");
+ items.push_back("TARGET");
+ IfcDimensionExtentUsage_type = new enumeration_type("IfcDimensionExtentUsage", items);
+ }
+ declaration* IfcDirectionSenseEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IfcDirectionSenseEnum_type = new enumeration_type("IfcDirectionSenseEnum", items);
+ }
+ declaration* IfcDistributionChamberElementTypeEnum_type;
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("FORMEDDUCT");
+ items.push_back("INSPECTIONCHAMBER");
+ items.push_back("INSPECTIONPIT");
+ items.push_back("MANHOLE");
+ items.push_back("METERCHAMBER");
+ items.push_back("NOTDEFINED");
+ items.push_back("SUMP");
+ items.push_back("TRENCH");
+ items.push_back("USERDEFINED");
+ items.push_back("VALVECHAMBER");
+ IfcDistributionChamberElementTypeEnum_type = new enumeration_type("IfcDistributionChamberElementTypeEnum", items);
+ }
+ declaration* IfcDocumentConfidentialityEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CONFIDENTIAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PERSONAL");
+ items.push_back("PUBLIC");
+ items.push_back("RESTRICTED");
+ items.push_back("USERDEFINED");
+ IfcDocumentConfidentialityEnum_type = new enumeration_type("IfcDocumentConfidentialityEnum", items);
+ }
+ declaration* IfcDocumentStatusEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("DRAFT");
+ items.push_back("FINAL");
+ items.push_back("FINALDRAFT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REVISION");
+ IfcDocumentStatusEnum_type = new enumeration_type("IfcDocumentStatusEnum", items);
+ }
+ declaration* IfcDoorPanelOperationEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("DOUBLE_ACTING");
+ items.push_back("FOLDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("REVOLVING");
+ items.push_back("ROLLINGUP");
+ items.push_back("SLIDING");
+ items.push_back("SWINGING");
+ items.push_back("USERDEFINED");
+ IfcDoorPanelOperationEnum_type = new enumeration_type("IfcDoorPanelOperationEnum", items);
+ }
+ declaration* IfcDoorPanelPositionEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ IfcDoorPanelPositionEnum_type = new enumeration_type("IfcDoorPanelPositionEnum", items);
+ }
+ declaration* IfcDoorStyleConstructionEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ALUMINIUM");
+ items.push_back("ALUMINIUM_PLASTIC");
+ items.push_back("ALUMINIUM_WOOD");
+ items.push_back("HIGH_GRADE_STEEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLASTIC");
+ items.push_back("STEEL");
+ items.push_back("USERDEFINED");
+ items.push_back("WOOD");
+ IfcDoorStyleConstructionEnum_type = new enumeration_type("IfcDoorStyleConstructionEnum", items);
+ }
+ declaration* IfcDoorStyleOperationEnum_type;
+ {
+ std::vector items; items.reserve(18);
+ items.push_back("DOUBLE_DOOR_DOUBLE_SWING");
+ items.push_back("DOUBLE_DOOR_FOLDING");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_LEFT");
+ items.push_back("DOUBLE_DOOR_SINGLE_SWING_OPPOSITE_RIGHT");
+ items.push_back("DOUBLE_DOOR_SLIDING");
+ items.push_back("DOUBLE_SWING_LEFT");
+ items.push_back("DOUBLE_SWING_RIGHT");
+ items.push_back("FOLDING_TO_LEFT");
+ items.push_back("FOLDING_TO_RIGHT");
+ items.push_back("NOTDEFINED");
+ items.push_back("REVOLVING");
+ items.push_back("ROLLINGUP");
+ items.push_back("SINGLE_SWING_LEFT");
+ items.push_back("SINGLE_SWING_RIGHT");
+ items.push_back("SLIDING_TO_LEFT");
+ items.push_back("SLIDING_TO_RIGHT");
+ items.push_back("USERDEFINED");
+ IfcDoorStyleOperationEnum_type = new enumeration_type("IfcDoorStyleOperationEnum", items);
+ }
+ declaration* IfcDuctFittingTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BEND");
+ items.push_back("CONNECTOR");
+ items.push_back("ENTRY");
+ items.push_back("EXIT");
+ items.push_back("JUNCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("OBSTRUCTION");
+ items.push_back("TRANSITION");
+ items.push_back("USERDEFINED");
+ IfcDuctFittingTypeEnum_type = new enumeration_type("IfcDuctFittingTypeEnum", items);
+ }
+ declaration* IfcDuctSegmentTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("USERDEFINED");
+ IfcDuctSegmentTypeEnum_type = new enumeration_type("IfcDuctSegmentTypeEnum", items);
+ }
+ declaration* IfcDuctSilencerTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("FLATOVAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("RECTANGULAR");
+ items.push_back("ROUND");
+ items.push_back("USERDEFINED");
+ IfcDuctSilencerTypeEnum_type = new enumeration_type("IfcDuctSilencerTypeEnum", items);
+ }
+ declaration* IfcElectricApplianceTypeEnum_type;
+ {
+ std::vector items; items.reserve(26);
+ items.push_back("COMPUTER");
+ items.push_back("DIRECTWATERHEATER");
+ items.push_back("DISHWASHER");
+ items.push_back("ELECTRICCOOKER");
+ items.push_back("ELECTRICHEATER");
+ items.push_back("FACSIMILE");
+ items.push_back("FREESTANDINGFAN");
+ items.push_back("FREEZER");
+ items.push_back("FRIDGE_FREEZER");
+ items.push_back("HANDDRYER");
+ items.push_back("INDIRECTWATERHEATER");
+ items.push_back("MICROWAVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHOTOCOPIER");
+ items.push_back("PRINTER");
+ items.push_back("RADIANTHEATER");
+ items.push_back("REFRIGERATOR");
+ items.push_back("SCANNER");
+ items.push_back("TELEPHONE");
+ items.push_back("TUMBLEDRYER");
+ items.push_back("TV");
+ items.push_back("USERDEFINED");
+ items.push_back("VENDINGMACHINE");
+ items.push_back("WASHINGMACHINE");
+ items.push_back("WATERCOOLER");
+ items.push_back("WATERHEATER");
+ IfcElectricApplianceTypeEnum_type = new enumeration_type("IfcElectricApplianceTypeEnum", items);
+ }
+ declaration* IfcElectricCurrentEnum_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("ALTERNATING");
+ items.push_back("DIRECT");
+ items.push_back("NOTDEFINED");
+ IfcElectricCurrentEnum_type = new enumeration_type("IfcElectricCurrentEnum", items);
+ }
+ declaration* IfcElectricDistributionPointFunctionEnum_type;
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("ALARMPANEL");
+ items.push_back("CONSUMERUNIT");
+ items.push_back("CONTROLPANEL");
+ items.push_back("DISTRIBUTIONBOARD");
+ items.push_back("GASDETECTORPANEL");
+ items.push_back("INDICATORPANEL");
+ items.push_back("MIMICPANEL");
+ items.push_back("MOTORCONTROLCENTRE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SWITCHBOARD");
+ items.push_back("USERDEFINED");
+ IfcElectricDistributionPointFunctionEnum_type = new enumeration_type("IfcElectricDistributionPointFunctionEnum", items);
+ }
+ declaration* IfcElectricFlowStorageDeviceTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BATTERY");
+ items.push_back("CAPACITORBANK");
+ items.push_back("HARMONICFILTER");
+ items.push_back("INDUCTORBANK");
+ items.push_back("NOTDEFINED");
+ items.push_back("UPS");
+ items.push_back("USERDEFINED");
+ IfcElectricFlowStorageDeviceTypeEnum_type = new enumeration_type("IfcElectricFlowStorageDeviceTypeEnum", items);
+ }
+ declaration* IfcElectricGeneratorTypeEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcElectricGeneratorTypeEnum_type = new enumeration_type("IfcElectricGeneratorTypeEnum", items);
+ }
+ declaration* IfcElectricHeaterTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ELECTRICCABLEHEATER");
+ items.push_back("ELECTRICMATHEATER");
+ items.push_back("ELECTRICPOINTHEATER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcElectricHeaterTypeEnum_type = new enumeration_type("IfcElectricHeaterTypeEnum", items);
+ }
+ declaration* IfcElectricMotorTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("DC");
+ items.push_back("INDUCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("POLYPHASE");
+ items.push_back("RELUCTANCESYNCHRONOUS");
+ items.push_back("SYNCHRONOUS");
+ items.push_back("USERDEFINED");
+ IfcElectricMotorTypeEnum_type = new enumeration_type("IfcElectricMotorTypeEnum", items);
+ }
+ declaration* IfcElectricTimeControlTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("NOTDEFINED");
+ items.push_back("RELAY");
+ items.push_back("TIMECLOCK");
+ items.push_back("TIMEDELAY");
+ items.push_back("USERDEFINED");
+ IfcElectricTimeControlTypeEnum_type = new enumeration_type("IfcElectricTimeControlTypeEnum", items);
+ }
+ declaration* IfcElementAssemblyTypeEnum_type;
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("ACCESSORY_ASSEMBLY");
+ items.push_back("ARCH");
+ items.push_back("BEAM_GRID");
+ items.push_back("BRACED_FRAME");
+ items.push_back("GIRDER");
+ items.push_back("NOTDEFINED");
+ items.push_back("REINFORCEMENT_UNIT");
+ items.push_back("RIGID_FRAME");
+ items.push_back("SLAB_FIELD");
+ items.push_back("TRUSS");
+ items.push_back("USERDEFINED");
+ IfcElementAssemblyTypeEnum_type = new enumeration_type("IfcElementAssemblyTypeEnum", items);
+ }
+ declaration* IfcElementCompositionEnum_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("COMPLEX");
+ items.push_back("ELEMENT");
+ items.push_back("PARTIAL");
+ IfcElementCompositionEnum_type = new enumeration_type("IfcElementCompositionEnum", items);
+ }
+ declaration* IfcEnergySequenceEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("AUXILIARY");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRIMARY");
+ items.push_back("SECONDARY");
+ items.push_back("TERTIARY");
+ items.push_back("USERDEFINED");
+ IfcEnergySequenceEnum_type = new enumeration_type("IfcEnergySequenceEnum", items);
+ }
+ declaration* IfcEnvironmentalImpactCategoryEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("COMBINEDVALUE");
+ items.push_back("DISPOSAL");
+ items.push_back("EXTRACTION");
+ items.push_back("INSTALLATION");
+ items.push_back("MANUFACTURE");
+ items.push_back("NOTDEFINED");
+ items.push_back("TRANSPORTATION");
+ items.push_back("USERDEFINED");
+ IfcEnvironmentalImpactCategoryEnum_type = new enumeration_type("IfcEnvironmentalImpactCategoryEnum", items);
+ }
+ declaration* IfcEvaporativeCoolerTypeEnum_type;
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("DIRECTEVAPORATIVEAIRWASHER");
+ items.push_back("DIRECTEVAPORATIVEPACKAGEDROTARYAIRCOOLER");
+ items.push_back("DIRECTEVAPORATIVERANDOMMEDIAAIRCOOLER");
+ items.push_back("DIRECTEVAPORATIVERIGIDMEDIAAIRCOOLER");
+ items.push_back("DIRECTEVAPORATIVESLINGERSPACKAGEDAIRCOOLER");
+ items.push_back("INDIRECTDIRECTCOMBINATION");
+ items.push_back("INDIRECTEVAPORATIVECOOLINGTOWERORCOILCOOLER");
+ items.push_back("INDIRECTEVAPORATIVEPACKAGEAIRCOOLER");
+ items.push_back("INDIRECTEVAPORATIVEWETCOIL");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcEvaporativeCoolerTypeEnum_type = new enumeration_type("IfcEvaporativeCoolerTypeEnum", items);
+ }
+ declaration* IfcEvaporatorTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("DIRECTEXPANSIONBRAZEDPLATE");
+ items.push_back("DIRECTEXPANSIONSHELLANDTUBE");
+ items.push_back("DIRECTEXPANSIONTUBEINTUBE");
+ items.push_back("FLOODEDSHELLANDTUBE");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHELLANDCOIL");
+ items.push_back("USERDEFINED");
+ IfcEvaporatorTypeEnum_type = new enumeration_type("IfcEvaporatorTypeEnum", items);
+ }
+ declaration* IfcFanTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("CENTRIFUGALAIRFOIL");
+ items.push_back("CENTRIFUGALBACKWARDINCLINEDCURVED");
+ items.push_back("CENTRIFUGALFORWARDCURVED");
+ items.push_back("CENTRIFUGALRADIAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROPELLORAXIAL");
+ items.push_back("TUBEAXIAL");
+ items.push_back("USERDEFINED");
+ items.push_back("VANEAXIAL");
+ IfcFanTypeEnum_type = new enumeration_type("IfcFanTypeEnum", items);
+ }
+ declaration* IfcFilterTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("AIRPARTICLEFILTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("ODORFILTER");
+ items.push_back("OILFILTER");
+ items.push_back("STRAINER");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERFILTER");
+ IfcFilterTypeEnum_type = new enumeration_type("IfcFilterTypeEnum", items);
+ }
+ declaration* IfcFireSuppressionTerminalTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("BREECHINGINLET");
+ items.push_back("FIREHYDRANT");
+ items.push_back("HOSEREEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPRINKLER");
+ items.push_back("SPRINKLERDEFLECTOR");
+ items.push_back("USERDEFINED");
+ IfcFireSuppressionTerminalTypeEnum_type = new enumeration_type("IfcFireSuppressionTerminalTypeEnum", items);
+ }
+ declaration* IfcFlowDirectionEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SINK");
+ items.push_back("SOURCE");
+ items.push_back("SOURCEANDSINK");
+ IfcFlowDirectionEnum_type = new enumeration_type("IfcFlowDirectionEnum", items);
+ }
+ declaration* IfcFlowInstrumentTypeEnum_type;
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("AMMETER");
+ items.push_back("FREQUENCYMETER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHASEANGLEMETER");
+ items.push_back("POWERFACTORMETER");
+ items.push_back("PRESSUREGAUGE");
+ items.push_back("THERMOMETER");
+ items.push_back("USERDEFINED");
+ items.push_back("VOLTMETER_PEAK");
+ items.push_back("VOLTMETER_RMS");
+ IfcFlowInstrumentTypeEnum_type = new enumeration_type("IfcFlowInstrumentTypeEnum", items);
+ }
+ declaration* IfcFlowMeterTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ELECTRICMETER");
+ items.push_back("ENERGYMETER");
+ items.push_back("FLOWMETER");
+ items.push_back("GASMETER");
+ items.push_back("NOTDEFINED");
+ items.push_back("OILMETER");
+ items.push_back("USERDEFINED");
+ items.push_back("WATERMETER");
+ IfcFlowMeterTypeEnum_type = new enumeration_type("IfcFlowMeterTypeEnum", items);
+ }
+ declaration* IfcFootingTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("FOOTING_BEAM");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAD_FOOTING");
+ items.push_back("PILE_CAP");
+ items.push_back("STRIP_FOOTING");
+ items.push_back("USERDEFINED");
+ IfcFootingTypeEnum_type = new enumeration_type("IfcFootingTypeEnum", items);
+ }
+ declaration* IfcGasTerminalTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("GASAPPLIANCE");
+ items.push_back("GASBOOSTER");
+ items.push_back("GASBURNER");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcGasTerminalTypeEnum_type = new enumeration_type("IfcGasTerminalTypeEnum", items);
+ }
+ declaration* IfcGeometricProjectionEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ELEVATION_VIEW");
+ items.push_back("GRAPH_VIEW");
+ items.push_back("MODEL_VIEW");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLAN_VIEW");
+ items.push_back("REFLECTED_PLAN_VIEW");
+ items.push_back("SECTION_VIEW");
+ items.push_back("SKETCH_VIEW");
+ items.push_back("USERDEFINED");
+ IfcGeometricProjectionEnum_type = new enumeration_type("IfcGeometricProjectionEnum", items);
+ }
+ declaration* IfcGlobalOrLocalEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("GLOBAL_COORDS");
+ items.push_back("LOCAL_COORDS");
+ IfcGlobalOrLocalEnum_type = new enumeration_type("IfcGlobalOrLocalEnum", items);
+ }
+ declaration* IfcHeatExchangerTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("PLATE");
+ items.push_back("SHELLANDTUBE");
+ items.push_back("USERDEFINED");
+ IfcHeatExchangerTypeEnum_type = new enumeration_type("IfcHeatExchangerTypeEnum", items);
+ }
+ declaration* IfcHumidifierTypeEnum_type;
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("ADIABATICAIRWASHER");
+ items.push_back("ADIABATICATOMIZING");
+ items.push_back("ADIABATICCOMPRESSEDAIRNOZZLE");
+ items.push_back("ADIABATICPAN");
+ items.push_back("ADIABATICRIGIDMEDIA");
+ items.push_back("ADIABATICULTRASONIC");
+ items.push_back("ADIABATICWETTEDELEMENT");
+ items.push_back("ASSISTEDBUTANE");
+ items.push_back("ASSISTEDELECTRIC");
+ items.push_back("ASSISTEDNATURALGAS");
+ items.push_back("ASSISTEDPROPANE");
+ items.push_back("ASSISTEDSTEAM");
+ items.push_back("NOTDEFINED");
+ items.push_back("STEAMINJECTION");
+ items.push_back("USERDEFINED");
+ IfcHumidifierTypeEnum_type = new enumeration_type("IfcHumidifierTypeEnum", items);
+ }
+ declaration* IfcInternalOrExternalEnum_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("EXTERNAL");
+ items.push_back("INTERNAL");
+ items.push_back("NOTDEFINED");
+ IfcInternalOrExternalEnum_type = new enumeration_type("IfcInternalOrExternalEnum", items);
+ }
+ declaration* IfcInventoryTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ASSETINVENTORY");
+ items.push_back("FURNITUREINVENTORY");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPACEINVENTORY");
+ items.push_back("USERDEFINED");
+ IfcInventoryTypeEnum_type = new enumeration_type("IfcInventoryTypeEnum", items);
+ }
+ declaration* IfcJunctionBoxTypeEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcJunctionBoxTypeEnum_type = new enumeration_type("IfcJunctionBoxTypeEnum", items);
+ }
+ declaration* IfcLampTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("COMPACTFLUORESCENT");
+ items.push_back("FLUORESCENT");
+ items.push_back("HIGHPRESSUREMERCURY");
+ items.push_back("HIGHPRESSURESODIUM");
+ items.push_back("METALHALIDE");
+ items.push_back("NOTDEFINED");
+ items.push_back("TUNGSTENFILAMENT");
+ items.push_back("USERDEFINED");
+ IfcLampTypeEnum_type = new enumeration_type("IfcLampTypeEnum", items);
+ }
+ declaration* IfcLayerSetDirectionEnum_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("AXIS1");
+ items.push_back("AXIS2");
+ items.push_back("AXIS3");
+ IfcLayerSetDirectionEnum_type = new enumeration_type("IfcLayerSetDirectionEnum", items);
+ }
+ declaration* IfcLightDistributionCurveEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("TYPE_A");
+ items.push_back("TYPE_B");
+ items.push_back("TYPE_C");
+ IfcLightDistributionCurveEnum_type = new enumeration_type("IfcLightDistributionCurveEnum", items);
+ }
+ declaration* IfcLightEmissionSourceEnum_type;
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("COMPACTFLUORESCENT");
+ items.push_back("FLUORESCENT");
+ items.push_back("HIGHPRESSUREMERCURY");
+ items.push_back("HIGHPRESSURESODIUM");
+ items.push_back("LIGHTEMITTINGDIODE");
+ items.push_back("LOWPRESSURESODIUM");
+ items.push_back("LOWVOLTAGEHALOGEN");
+ items.push_back("MAINVOLTAGEHALOGEN");
+ items.push_back("METALHALIDE");
+ items.push_back("NOTDEFINED");
+ items.push_back("TUNGSTENFILAMENT");
+ IfcLightEmissionSourceEnum_type = new enumeration_type("IfcLightEmissionSourceEnum", items);
+ }
+ declaration* IfcLightFixtureTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("DIRECTIONSOURCE");
+ items.push_back("NOTDEFINED");
+ items.push_back("POINTSOURCE");
+ items.push_back("USERDEFINED");
+ IfcLightFixtureTypeEnum_type = new enumeration_type("IfcLightFixtureTypeEnum", items);
+ }
+ declaration* IfcLoadGroupTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("LOAD_CASE");
+ items.push_back("LOAD_COMBINATION");
+ items.push_back("LOAD_COMBINATION_GROUP");
+ items.push_back("LOAD_GROUP");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcLoadGroupTypeEnum_type = new enumeration_type("IfcLoadGroupTypeEnum", items);
+ }
+ declaration* IfcLogicalOperatorEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("LOGICALAND");
+ items.push_back("LOGICALOR");
+ IfcLogicalOperatorEnum_type = new enumeration_type("IfcLogicalOperatorEnum", items);
+ }
+ declaration* IfcMemberTypeEnum_type;
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("BRACE");
+ items.push_back("CHORD");
+ items.push_back("COLLAR");
+ items.push_back("MEMBER");
+ items.push_back("MULLION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLATE");
+ items.push_back("POST");
+ items.push_back("PURLIN");
+ items.push_back("RAFTER");
+ items.push_back("STRINGER");
+ items.push_back("STRUT");
+ items.push_back("STUD");
+ items.push_back("USERDEFINED");
+ IfcMemberTypeEnum_type = new enumeration_type("IfcMemberTypeEnum", items);
+ }
+ declaration* IfcMotorConnectionTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BELTDRIVE");
+ items.push_back("COUPLING");
+ items.push_back("DIRECTDRIVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcMotorConnectionTypeEnum_type = new enumeration_type("IfcMotorConnectionTypeEnum", items);
+ }
+ declaration* IfcNullStyle_type;
+ {
+ std::vector items; items.reserve(1);
+ items.push_back("NULL");
+ IfcNullStyle_type = new enumeration_type("IfcNullStyle", items);
+ }
+ declaration* IfcObjectTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ACTOR");
+ items.push_back("CONTROL");
+ items.push_back("GROUP");
+ items.push_back("NOTDEFINED");
+ items.push_back("PROCESS");
+ items.push_back("PRODUCT");
+ items.push_back("PROJECT");
+ items.push_back("RESOURCE");
+ IfcObjectTypeEnum_type = new enumeration_type("IfcObjectTypeEnum", items);
+ }
+ declaration* IfcObjectiveEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CODECOMPLIANCE");
+ items.push_back("DESIGNINTENT");
+ items.push_back("HEALTHANDSAFETY");
+ items.push_back("NOTDEFINED");
+ items.push_back("REQUIREMENT");
+ items.push_back("SPECIFICATION");
+ items.push_back("TRIGGERCONDITION");
+ items.push_back("USERDEFINED");
+ IfcObjectiveEnum_type = new enumeration_type("IfcObjectiveEnum", items);
+ }
+ declaration* IfcOccupantTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ASSIGNEE");
+ items.push_back("ASSIGNOR");
+ items.push_back("LESSEE");
+ items.push_back("LESSOR");
+ items.push_back("LETTINGAGENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("OWNER");
+ items.push_back("TENANT");
+ items.push_back("USERDEFINED");
+ IfcOccupantTypeEnum_type = new enumeration_type("IfcOccupantTypeEnum", items);
+ }
+ declaration* IfcOutletTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("AUDIOVISUALOUTLET");
+ items.push_back("COMMUNICATIONSOUTLET");
+ items.push_back("NOTDEFINED");
+ items.push_back("POWEROUTLET");
+ items.push_back("USERDEFINED");
+ IfcOutletTypeEnum_type = new enumeration_type("IfcOutletTypeEnum", items);
+ }
+ declaration* IfcPermeableCoveringOperationEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("GRILL");
+ items.push_back("LOUVER");
+ items.push_back("NOTDEFINED");
+ items.push_back("SCREEN");
+ items.push_back("USERDEFINED");
+ IfcPermeableCoveringOperationEnum_type = new enumeration_type("IfcPermeableCoveringOperationEnum", items);
+ }
+ declaration* IfcPhysicalOrVirtualEnum_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("NOTDEFINED");
+ items.push_back("PHYSICAL");
+ items.push_back("VIRTUAL");
+ IfcPhysicalOrVirtualEnum_type = new enumeration_type("IfcPhysicalOrVirtualEnum", items);
+ }
+ declaration* IfcPileConstructionEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("CAST_IN_PLACE");
+ items.push_back("COMPOSITE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRECAST_CONCRETE");
+ items.push_back("PREFAB_STEEL");
+ items.push_back("USERDEFINED");
+ IfcPileConstructionEnum_type = new enumeration_type("IfcPileConstructionEnum", items);
+ }
+ declaration* IfcPileTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("COHESION");
+ items.push_back("FRICTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("SUPPORT");
+ items.push_back("USERDEFINED");
+ IfcPileTypeEnum_type = new enumeration_type("IfcPileTypeEnum", items);
+ }
+ declaration* IfcPipeFittingTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BEND");
+ items.push_back("CONNECTOR");
+ items.push_back("ENTRY");
+ items.push_back("EXIT");
+ items.push_back("JUNCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("OBSTRUCTION");
+ items.push_back("TRANSITION");
+ items.push_back("USERDEFINED");
+ IfcPipeFittingTypeEnum_type = new enumeration_type("IfcPipeFittingTypeEnum", items);
+ }
+ declaration* IfcPipeSegmentTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("FLEXIBLESEGMENT");
+ items.push_back("GUTTER");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGIDSEGMENT");
+ items.push_back("SPOOL");
+ items.push_back("USERDEFINED");
+ IfcPipeSegmentTypeEnum_type = new enumeration_type("IfcPipeSegmentTypeEnum", items);
+ }
+ declaration* IfcPlateTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CURTAIN_PANEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHEET");
+ items.push_back("USERDEFINED");
+ IfcPlateTypeEnum_type = new enumeration_type("IfcPlateTypeEnum", items);
+ }
+ declaration* IfcProcedureTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ADVICE_CAUTION");
+ items.push_back("ADVICE_NOTE");
+ items.push_back("ADVICE_WARNING");
+ items.push_back("CALIBRATION");
+ items.push_back("DIAGNOSTIC");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHUTDOWN");
+ items.push_back("STARTUP");
+ items.push_back("USERDEFINED");
+ IfcProcedureTypeEnum_type = new enumeration_type("IfcProcedureTypeEnum", items);
+ }
+ declaration* IfcProfileTypeEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("AREA");
+ items.push_back("CURVE");
+ IfcProfileTypeEnum_type = new enumeration_type("IfcProfileTypeEnum", items);
+ }
+ declaration* IfcProjectOrderRecordTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CHANGE");
+ items.push_back("MAINTENANCE");
+ items.push_back("MOVE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASE");
+ items.push_back("USERDEFINED");
+ items.push_back("WORK");
+ IfcProjectOrderRecordTypeEnum_type = new enumeration_type("IfcProjectOrderRecordTypeEnum", items);
+ }
+ declaration* IfcProjectOrderTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CHANGEORDER");
+ items.push_back("MAINTENANCEWORKORDER");
+ items.push_back("MOVEORDER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PURCHASEORDER");
+ items.push_back("USERDEFINED");
+ items.push_back("WORKORDER");
+ IfcProjectOrderTypeEnum_type = new enumeration_type("IfcProjectOrderTypeEnum", items);
+ }
+ declaration* IfcProjectedOrTrueLengthEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PROJECTED_LENGTH");
+ items.push_back("TRUE_LENGTH");
+ IfcProjectedOrTrueLengthEnum_type = new enumeration_type("IfcProjectedOrTrueLengthEnum", items);
+ }
+ declaration* IfcPropertySourceEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("ASBUILT");
+ items.push_back("COMMISSIONING");
+ items.push_back("DESIGN");
+ items.push_back("DESIGNMAXIMUM");
+ items.push_back("DESIGNMINIMUM");
+ items.push_back("MEASURED");
+ items.push_back("NOTKNOWN");
+ items.push_back("SIMULATED");
+ items.push_back("USERDEFINED");
+ IfcPropertySourceEnum_type = new enumeration_type("IfcPropertySourceEnum", items);
+ }
+ declaration* IfcProtectiveDeviceTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CIRCUITBREAKER");
+ items.push_back("EARTHFAILUREDEVICE");
+ items.push_back("FUSEDISCONNECTOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("RESIDUALCURRENTCIRCUITBREAKER");
+ items.push_back("RESIDUALCURRENTSWITCH");
+ items.push_back("USERDEFINED");
+ items.push_back("VARISTOR");
+ IfcProtectiveDeviceTypeEnum_type = new enumeration_type("IfcProtectiveDeviceTypeEnum", items);
+ }
+ declaration* IfcPumpTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CIRCULATOR");
+ items.push_back("ENDSUCTION");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPLITCASE");
+ items.push_back("USERDEFINED");
+ items.push_back("VERTICALINLINE");
+ items.push_back("VERTICALTURBINE");
+ IfcPumpTypeEnum_type = new enumeration_type("IfcPumpTypeEnum", items);
+ }
+ declaration* IfcRailingTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BALUSTRADE");
+ items.push_back("GUARDRAIL");
+ items.push_back("HANDRAIL");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcRailingTypeEnum_type = new enumeration_type("IfcRailingTypeEnum", items);
+ }
+ declaration* IfcRampFlightTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ IfcRampFlightTypeEnum_type = new enumeration_type("IfcRampFlightTypeEnum", items);
+ }
+ declaration* IfcRampTypeEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("HALF_TURN_RAMP");
+ items.push_back("NOTDEFINED");
+ items.push_back("QUARTER_TURN_RAMP");
+ items.push_back("SPIRAL_RAMP");
+ items.push_back("STRAIGHT_RUN_RAMP");
+ items.push_back("TWO_QUARTER_TURN_RAMP");
+ items.push_back("TWO_STRAIGHT_RUN_RAMP");
+ items.push_back("USERDEFINED");
+ IfcRampTypeEnum_type = new enumeration_type("IfcRampTypeEnum", items);
+ }
+ declaration* IfcReflectanceMethodEnum_type;
+ {
+ std::vector items; items.reserve(10);
+ items.push_back("BLINN");
+ items.push_back("FLAT");
+ items.push_back("GLASS");
+ items.push_back("MATT");
+ items.push_back("METAL");
+ items.push_back("MIRROR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PHONG");
+ items.push_back("PLASTIC");
+ items.push_back("STRAUSS");
+ IfcReflectanceMethodEnum_type = new enumeration_type("IfcReflectanceMethodEnum", items);
+ }
+ declaration* IfcReinforcingBarRoleEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("EDGE");
+ items.push_back("LIGATURE");
+ items.push_back("MAIN");
+ items.push_back("NOTDEFINED");
+ items.push_back("PUNCHING");
+ items.push_back("RING");
+ items.push_back("SHEAR");
+ items.push_back("STUD");
+ items.push_back("USERDEFINED");
+ IfcReinforcingBarRoleEnum_type = new enumeration_type("IfcReinforcingBarRoleEnum", items);
+ }
+ declaration* IfcReinforcingBarSurfaceEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("PLAIN");
+ items.push_back("TEXTURED");
+ IfcReinforcingBarSurfaceEnum_type = new enumeration_type("IfcReinforcingBarSurfaceEnum", items);
+ }
+ declaration* IfcResourceConsumptionEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("CONSUMED");
+ items.push_back("NOTCONSUMED");
+ items.push_back("NOTDEFINED");
+ items.push_back("NOTOCCUPIED");
+ items.push_back("OCCUPIED");
+ items.push_back("PARTIALLYCONSUMED");
+ items.push_back("PARTIALLYOCCUPIED");
+ items.push_back("USERDEFINED");
+ IfcResourceConsumptionEnum_type = new enumeration_type("IfcResourceConsumptionEnum", items);
+ }
+ declaration* IfcRibPlateDirectionEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("DIRECTION_X");
+ items.push_back("DIRECTION_Y");
+ IfcRibPlateDirectionEnum_type = new enumeration_type("IfcRibPlateDirectionEnum", items);
+ }
+ declaration* IfcRoleEnum_type;
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("ARCHITECT");
+ items.push_back("BUILDINGOPERATOR");
+ items.push_back("BUILDINGOWNER");
+ items.push_back("CIVILENGINEER");
+ items.push_back("CLIENT");
+ items.push_back("COMISSIONINGENGINEER");
+ items.push_back("CONSTRUCTIONMANAGER");
+ items.push_back("CONSULTANT");
+ items.push_back("CONTRACTOR");
+ items.push_back("COSTENGINEER");
+ items.push_back("ELECTRICALENGINEER");
+ items.push_back("ENGINEER");
+ items.push_back("FACILITIESMANAGER");
+ items.push_back("FIELDCONSTRUCTIONMANAGER");
+ items.push_back("MANUFACTURER");
+ items.push_back("MECHANICALENGINEER");
+ items.push_back("OWNER");
+ items.push_back("PROJECTMANAGER");
+ items.push_back("RESELLER");
+ items.push_back("STRUCTURALENGINEER");
+ items.push_back("SUBCONTRACTOR");
+ items.push_back("SUPPLIER");
+ items.push_back("USERDEFINED");
+ IfcRoleEnum_type = new enumeration_type("IfcRoleEnum", items);
+ }
+ declaration* IfcRoofTypeEnum_type;
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("BARREL_ROOF");
+ items.push_back("BUTTERFLY_ROOF");
+ items.push_back("DOME_ROOF");
+ items.push_back("FLAT_ROOF");
+ items.push_back("FREEFORM");
+ items.push_back("GABLE_ROOF");
+ items.push_back("GAMBREL_ROOF");
+ items.push_back("HIPPED_GABLE_ROOF");
+ items.push_back("HIP_ROOF");
+ items.push_back("MANSARD_ROOF");
+ items.push_back("NOTDEFINED");
+ items.push_back("PAVILION_ROOF");
+ items.push_back("RAINBOW_ROOF");
+ items.push_back("SHED_ROOF");
+ IfcRoofTypeEnum_type = new enumeration_type("IfcRoofTypeEnum", items);
+ }
+ declaration* IfcSIPrefix_type;
+ {
+ std::vector items; items.reserve(16);
+ items.push_back("ATTO");
+ items.push_back("CENTI");
+ items.push_back("DECA");
+ items.push_back("DECI");
+ items.push_back("EXA");
+ items.push_back("FEMTO");
+ items.push_back("GIGA");
+ items.push_back("HECTO");
+ items.push_back("KILO");
+ items.push_back("MEGA");
+ items.push_back("MICRO");
+ items.push_back("MILLI");
+ items.push_back("NANO");
+ items.push_back("PETA");
+ items.push_back("PICO");
+ items.push_back("TERA");
+ IfcSIPrefix_type = new enumeration_type("IfcSIPrefix", items);
+ }
+ declaration* IfcSIUnitName_type;
+ {
+ std::vector items; items.reserve(30);
+ items.push_back("AMPERE");
+ items.push_back("BECQUEREL");
+ items.push_back("CANDELA");
+ items.push_back("COULOMB");
+ items.push_back("CUBIC_METRE");
+ items.push_back("DEGREE_CELSIUS");
+ items.push_back("FARAD");
+ items.push_back("GRAM");
+ items.push_back("GRAY");
+ items.push_back("HENRY");
+ items.push_back("HERTZ");
+ items.push_back("JOULE");
+ items.push_back("KELVIN");
+ items.push_back("LUMEN");
+ items.push_back("LUX");
+ items.push_back("METRE");
+ items.push_back("MOLE");
+ items.push_back("NEWTON");
+ items.push_back("OHM");
+ items.push_back("PASCAL");
+ items.push_back("RADIAN");
+ items.push_back("SECOND");
+ items.push_back("SIEMENS");
+ items.push_back("SIEVERT");
+ items.push_back("SQUARE_METRE");
+ items.push_back("STERADIAN");
+ items.push_back("TESLA");
+ items.push_back("VOLT");
+ items.push_back("WATT");
+ items.push_back("WEBER");
+ IfcSIUnitName_type = new enumeration_type("IfcSIUnitName", items);
+ }
+ declaration* IfcSanitaryTerminalTypeEnum_type;
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("BATH");
+ items.push_back("BIDET");
+ items.push_back("CISTERN");
+ items.push_back("NOTDEFINED");
+ items.push_back("SANITARYFOUNTAIN");
+ items.push_back("SHOWER");
+ items.push_back("SINK");
+ items.push_back("TOILETPAN");
+ items.push_back("URINAL");
+ items.push_back("USERDEFINED");
+ items.push_back("WASHHANDBASIN");
+ items.push_back("WCSEAT");
+ IfcSanitaryTerminalTypeEnum_type = new enumeration_type("IfcSanitaryTerminalTypeEnum", items);
+ }
+ declaration* IfcSectionTypeEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("TAPERED");
+ items.push_back("UNIFORM");
+ IfcSectionTypeEnum_type = new enumeration_type("IfcSectionTypeEnum", items);
+ }
+ declaration* IfcSensorTypeEnum_type;
+ {
+ std::vector items; items.reserve(15);
+ items.push_back("CO2SENSOR");
+ items.push_back("FIRESENSOR");
+ items.push_back("FLOWSENSOR");
+ items.push_back("GASSENSOR");
+ items.push_back("HEATSENSOR");
+ items.push_back("HUMIDITYSENSOR");
+ items.push_back("LIGHTSENSOR");
+ items.push_back("MOISTURESENSOR");
+ items.push_back("MOVEMENTSENSOR");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRESSURESENSOR");
+ items.push_back("SMOKESENSOR");
+ items.push_back("SOUNDSENSOR");
+ items.push_back("TEMPERATURESENSOR");
+ items.push_back("USERDEFINED");
+ IfcSensorTypeEnum_type = new enumeration_type("IfcSensorTypeEnum", items);
+ }
+ declaration* IfcSequenceEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("FINISH_FINISH");
+ items.push_back("FINISH_START");
+ items.push_back("NOTDEFINED");
+ items.push_back("START_FINISH");
+ items.push_back("START_START");
+ IfcSequenceEnum_type = new enumeration_type("IfcSequenceEnum", items);
+ }
+ declaration* IfcServiceLifeFactorTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("A_QUALITYOFCOMPONENTS");
+ items.push_back("B_DESIGNLEVEL");
+ items.push_back("C_WORKEXECUTIONLEVEL");
+ items.push_back("D_INDOORENVIRONMENT");
+ items.push_back("E_OUTDOORENVIRONMENT");
+ items.push_back("F_INUSECONDITIONS");
+ items.push_back("G_MAINTENANCELEVEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcServiceLifeFactorTypeEnum_type = new enumeration_type("IfcServiceLifeFactorTypeEnum", items);
+ }
+ declaration* IfcServiceLifeTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ACTUALSERVICELIFE");
+ items.push_back("EXPECTEDSERVICELIFE");
+ items.push_back("OPTIMISTICREFERENCESERVICELIFE");
+ items.push_back("PESSIMISTICREFERENCESERVICELIFE");
+ items.push_back("REFERENCESERVICELIFE");
+ IfcServiceLifeTypeEnum_type = new enumeration_type("IfcServiceLifeTypeEnum", items);
+ }
+ declaration* IfcSlabTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BASESLAB");
+ items.push_back("FLOOR");
+ items.push_back("LANDING");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOF");
+ items.push_back("USERDEFINED");
+ IfcSlabTypeEnum_type = new enumeration_type("IfcSlabTypeEnum", items);
+ }
+ declaration* IfcSoundScaleEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("DBA");
+ items.push_back("DBB");
+ items.push_back("DBC");
+ items.push_back("NC");
+ items.push_back("NOTDEFINED");
+ items.push_back("NR");
+ items.push_back("USERDEFINED");
+ IfcSoundScaleEnum_type = new enumeration_type("IfcSoundScaleEnum", items);
+ }
+ declaration* IfcSpaceHeaterTypeEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BASEBOARDHEATER");
+ items.push_back("CONVECTOR");
+ items.push_back("FINNEDTUBEUNIT");
+ items.push_back("NOTDEFINED");
+ items.push_back("PANELRADIATOR");
+ items.push_back("SECTIONALRADIATOR");
+ items.push_back("TUBULARRADIATOR");
+ items.push_back("UNITHEATER");
+ items.push_back("USERDEFINED");
+ IfcSpaceHeaterTypeEnum_type = new enumeration_type("IfcSpaceHeaterTypeEnum", items);
+ }
+ declaration* IfcSpaceTypeEnum_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcSpaceTypeEnum_type = new enumeration_type("IfcSpaceTypeEnum", items);
+ }
+ declaration* IfcStackTerminalTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BIRDCAGE");
+ items.push_back("COWL");
+ items.push_back("NOTDEFINED");
+ items.push_back("RAINWATERHOPPER");
+ items.push_back("USERDEFINED");
+ IfcStackTerminalTypeEnum_type = new enumeration_type("IfcStackTerminalTypeEnum", items);
+ }
+ declaration* IfcStairFlightTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CURVED");
+ items.push_back("FREEFORM");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPIRAL");
+ items.push_back("STRAIGHT");
+ items.push_back("USERDEFINED");
+ items.push_back("WINDER");
+ IfcStairFlightTypeEnum_type = new enumeration_type("IfcStairFlightTypeEnum", items);
+ }
+ declaration* IfcStairTypeEnum_type;
+ {
+ std::vector items; items.reserve(16);
+ items.push_back("CURVED_RUN_STAIR");
+ items.push_back("DOUBLE_RETURN_STAIR");
+ items.push_back("HALF_TURN_STAIR");
+ items.push_back("HALF_WINDING_STAIR");
+ items.push_back("NOTDEFINED");
+ items.push_back("QUARTER_TURN_STAIR");
+ items.push_back("QUARTER_WINDING_STAIR");
+ items.push_back("SPIRAL_STAIR");
+ items.push_back("STRAIGHT_RUN_STAIR");
+ items.push_back("THREE_QUARTER_TURN_STAIR");
+ items.push_back("THREE_QUARTER_WINDING_STAIR");
+ items.push_back("TWO_CURVED_RUN_STAIR");
+ items.push_back("TWO_QUARTER_TURN_STAIR");
+ items.push_back("TWO_QUARTER_WINDING_STAIR");
+ items.push_back("TWO_STRAIGHT_RUN_STAIR");
+ items.push_back("USERDEFINED");
+ IfcStairTypeEnum_type = new enumeration_type("IfcStairTypeEnum", items);
+ }
+ declaration* IfcStateEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("LOCKED");
+ items.push_back("READONLY");
+ items.push_back("READONLYLOCKED");
+ items.push_back("READWRITE");
+ items.push_back("READWRITELOCKED");
+ IfcStateEnum_type = new enumeration_type("IfcStateEnum", items);
+ }
+ declaration* IfcStructuralCurveTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CABLE");
+ items.push_back("COMPRESSION_MEMBER");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIN_JOINED_MEMBER");
+ items.push_back("RIGID_JOINED_MEMBER");
+ items.push_back("TENSION_MEMBER");
+ items.push_back("USERDEFINED");
+ IfcStructuralCurveTypeEnum_type = new enumeration_type("IfcStructuralCurveTypeEnum", items);
+ }
+ declaration* IfcStructuralSurfaceTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("BENDING_ELEMENT");
+ items.push_back("MEMBRANE_ELEMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("SHELL");
+ items.push_back("USERDEFINED");
+ IfcStructuralSurfaceTypeEnum_type = new enumeration_type("IfcStructuralSurfaceTypeEnum", items);
+ }
+ declaration* IfcSurfaceSide_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("BOTH");
+ items.push_back("NEGATIVE");
+ items.push_back("POSITIVE");
+ IfcSurfaceSide_type = new enumeration_type("IfcSurfaceSide", items);
+ }
+ declaration* IfcSurfaceTextureEnum_type;
+ {
+ std::vector items; items.reserve(9);
+ items.push_back("BUMP");
+ items.push_back("NOTDEFINED");
+ items.push_back("OPACITY");
+ items.push_back("REFLECTION");
+ items.push_back("SELFILLUMINATION");
+ items.push_back("SHININESS");
+ items.push_back("SPECULAR");
+ items.push_back("TEXTURE");
+ items.push_back("TRANSPARENCYMAP");
+ IfcSurfaceTextureEnum_type = new enumeration_type("IfcSurfaceTextureEnum", items);
+ }
+ declaration* IfcSwitchingDeviceTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CONTACTOR");
+ items.push_back("EMERGENCYSTOP");
+ items.push_back("NOTDEFINED");
+ items.push_back("STARTER");
+ items.push_back("SWITCHDISCONNECTOR");
+ items.push_back("TOGGLESWITCH");
+ items.push_back("USERDEFINED");
+ IfcSwitchingDeviceTypeEnum_type = new enumeration_type("IfcSwitchingDeviceTypeEnum", items);
+ }
+ declaration* IfcTankTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("EXPANSION");
+ items.push_back("NOTDEFINED");
+ items.push_back("PREFORMED");
+ items.push_back("PRESSUREVESSEL");
+ items.push_back("SECTIONAL");
+ items.push_back("USERDEFINED");
+ IfcTankTypeEnum_type = new enumeration_type("IfcTankTypeEnum", items);
+ }
+ declaration* IfcTendonTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BAR");
+ items.push_back("COATED");
+ items.push_back("NOTDEFINED");
+ items.push_back("STRAND");
+ items.push_back("USERDEFINED");
+ items.push_back("WIRE");
+ IfcTendonTypeEnum_type = new enumeration_type("IfcTendonTypeEnum", items);
+ }
+ declaration* IfcTextPath_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("DOWN");
+ items.push_back("LEFT");
+ items.push_back("RIGHT");
+ items.push_back("UP");
+ IfcTextPath_type = new enumeration_type("IfcTextPath", items);
+ }
+ declaration* IfcThermalLoadSourceEnum_type;
+ {
+ std::vector items; items.reserve(13);
+ items.push_back("AIREXCHANGERATE");
+ items.push_back("DRYBULBTEMPERATURE");
+ items.push_back("EQUIPMENT");
+ items.push_back("EXHAUSTAIR");
+ items.push_back("INFILTRATION");
+ items.push_back("LIGHTING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PEOPLE");
+ items.push_back("RECIRCULATEDAIR");
+ items.push_back("RELATIVEHUMIDITY");
+ items.push_back("USERDEFINED");
+ items.push_back("VENTILATIONINDOORAIR");
+ items.push_back("VENTILATIONOUTSIDEAIR");
+ IfcThermalLoadSourceEnum_type = new enumeration_type("IfcThermalLoadSourceEnum", items);
+ }
+ declaration* IfcThermalLoadTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("LATENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("RADIANT");
+ items.push_back("SENSIBLE");
+ IfcThermalLoadTypeEnum_type = new enumeration_type("IfcThermalLoadTypeEnum", items);
+ }
+ declaration* IfcTimeSeriesDataTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("CONTINUOUS");
+ items.push_back("DISCRETE");
+ items.push_back("DISCRETEBINARY");
+ items.push_back("NOTDEFINED");
+ items.push_back("PIECEWISEBINARY");
+ items.push_back("PIECEWISECONSTANT");
+ items.push_back("PIECEWISECONTINUOUS");
+ IfcTimeSeriesDataTypeEnum_type = new enumeration_type("IfcTimeSeriesDataTypeEnum", items);
+ }
+ declaration* IfcTimeSeriesScheduleTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("ANNUAL");
+ items.push_back("DAILY");
+ items.push_back("MONTHLY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("WEEKLY");
+ IfcTimeSeriesScheduleTypeEnum_type = new enumeration_type("IfcTimeSeriesScheduleTypeEnum", items);
+ }
+ declaration* IfcTransformerTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("CURRENT");
+ items.push_back("FREQUENCY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ items.push_back("VOLTAGE");
+ IfcTransformerTypeEnum_type = new enumeration_type("IfcTransformerTypeEnum", items);
+ }
+ declaration* IfcTransitionCode_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("CONTINUOUS");
+ items.push_back("CONTSAMEGRADIENT");
+ items.push_back("CONTSAMEGRADIENTSAMECURVATURE");
+ items.push_back("DISCONTINUOUS");
+ IfcTransitionCode_type = new enumeration_type("IfcTransitionCode", items);
+ }
+ declaration* IfcTransportElementTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ELEVATOR");
+ items.push_back("ESCALATOR");
+ items.push_back("MOVINGWALKWAY");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcTransportElementTypeEnum_type = new enumeration_type("IfcTransportElementTypeEnum", items);
+ }
+ declaration* IfcTrimmingPreference_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("CARTESIAN");
+ items.push_back("PARAMETER");
+ items.push_back("UNSPECIFIED");
+ IfcTrimmingPreference_type = new enumeration_type("IfcTrimmingPreference", items);
+ }
+ declaration* IfcTubeBundleTypeEnum_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back("FINNED");
+ items.push_back("NOTDEFINED");
+ items.push_back("USERDEFINED");
+ IfcTubeBundleTypeEnum_type = new enumeration_type("IfcTubeBundleTypeEnum", items);
+ }
+ declaration* IfcUnitEnum_type;
+ {
+ std::vector items; items.reserve(30);
+ items.push_back("ABSORBEDDOSEUNIT");
+ items.push_back("AMOUNTOFSUBSTANCEUNIT");
+ items.push_back("AREAUNIT");
+ items.push_back("DOSEEQUIVALENTUNIT");
+ items.push_back("ELECTRICCAPACITANCEUNIT");
+ items.push_back("ELECTRICCHARGEUNIT");
+ items.push_back("ELECTRICCONDUCTANCEUNIT");
+ items.push_back("ELECTRICCURRENTUNIT");
+ items.push_back("ELECTRICRESISTANCEUNIT");
+ items.push_back("ELECTRICVOLTAGEUNIT");
+ items.push_back("ENERGYUNIT");
+ items.push_back("FORCEUNIT");
+ items.push_back("FREQUENCYUNIT");
+ items.push_back("ILLUMINANCEUNIT");
+ items.push_back("INDUCTANCEUNIT");
+ items.push_back("LENGTHUNIT");
+ items.push_back("LUMINOUSFLUXUNIT");
+ items.push_back("LUMINOUSINTENSITYUNIT");
+ items.push_back("MAGNETICFLUXDENSITYUNIT");
+ items.push_back("MAGNETICFLUXUNIT");
+ items.push_back("MASSUNIT");
+ items.push_back("PLANEANGLEUNIT");
+ items.push_back("POWERUNIT");
+ items.push_back("PRESSUREUNIT");
+ items.push_back("RADIOACTIVITYUNIT");
+ items.push_back("SOLIDANGLEUNIT");
+ items.push_back("THERMODYNAMICTEMPERATUREUNIT");
+ items.push_back("TIMEUNIT");
+ items.push_back("USERDEFINED");
+ items.push_back("VOLUMEUNIT");
+ IfcUnitEnum_type = new enumeration_type("IfcUnitEnum", items);
+ }
+ declaration* IfcUnitaryEquipmentTypeEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("AIRCONDITIONINGUNIT");
+ items.push_back("AIRHANDLER");
+ items.push_back("NOTDEFINED");
+ items.push_back("ROOFTOPUNIT");
+ items.push_back("SPLITSYSTEM");
+ items.push_back("USERDEFINED");
+ IfcUnitaryEquipmentTypeEnum_type = new enumeration_type("IfcUnitaryEquipmentTypeEnum", items);
+ }
+ declaration* IfcValveTypeEnum_type;
+ {
+ std::vector items; items.reserve(23);
+ items.push_back("AIRRELEASE");
+ items.push_back("ANTIVACUUM");
+ items.push_back("CHANGEOVER");
+ items.push_back("CHECK");
+ items.push_back("COMMISSIONING");
+ items.push_back("DIVERTING");
+ items.push_back("DOUBLECHECK");
+ items.push_back("DOUBLEREGULATING");
+ items.push_back("DRAWOFFCOCK");
+ items.push_back("FAUCET");
+ items.push_back("FLUSHING");
+ items.push_back("GASCOCK");
+ items.push_back("GASTAP");
+ items.push_back("ISOLATING");
+ items.push_back("MIXING");
+ items.push_back("NOTDEFINED");
+ items.push_back("PRESSUREREDUCING");
+ items.push_back("PRESSURERELIEF");
+ items.push_back("REGULATING");
+ items.push_back("SAFETYCUTOFF");
+ items.push_back("STEAMTRAP");
+ items.push_back("STOPCOCK");
+ items.push_back("USERDEFINED");
+ IfcValveTypeEnum_type = new enumeration_type("IfcValveTypeEnum", items);
+ }
+ declaration* IfcVibrationIsolatorTypeEnum_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back("COMPRESSION");
+ items.push_back("NOTDEFINED");
+ items.push_back("SPRING");
+ items.push_back("USERDEFINED");
+ IfcVibrationIsolatorTypeEnum_type = new enumeration_type("IfcVibrationIsolatorTypeEnum", items);
+ }
+ declaration* IfcWallTypeEnum_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back("ELEMENTEDWALL");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLUMBINGWALL");
+ items.push_back("POLYGONAL");
+ items.push_back("SHEAR");
+ items.push_back("STANDARD");
+ items.push_back("USERDEFINED");
+ IfcWallTypeEnum_type = new enumeration_type("IfcWallTypeEnum", items);
+ }
+ declaration* IfcWasteTerminalTypeEnum_type;
+ {
+ std::vector items; items.reserve(12);
+ items.push_back("FLOORTRAP");
+ items.push_back("FLOORWASTE");
+ items.push_back("GREASEINTERCEPTOR");
+ items.push_back("GULLYSUMP");
+ items.push_back("GULLYTRAP");
+ items.push_back("NOTDEFINED");
+ items.push_back("OILINTERCEPTOR");
+ items.push_back("PETROLINTERCEPTOR");
+ items.push_back("ROOFDRAIN");
+ items.push_back("USERDEFINED");
+ items.push_back("WASTEDISPOSALUNIT");
+ items.push_back("WASTETRAP");
+ IfcWasteTerminalTypeEnum_type = new enumeration_type("IfcWasteTerminalTypeEnum", items);
+ }
+ declaration* IfcWindowPanelOperationEnum_type;
+ {
+ std::vector items; items.reserve(14);
+ items.push_back("BOTTOMHUNG");
+ items.push_back("FIXEDCASEMENT");
+ items.push_back("NOTDEFINED");
+ items.push_back("OTHEROPERATION");
+ items.push_back("PIVOTHORIZONTAL");
+ items.push_back("PIVOTVERTICAL");
+ items.push_back("REMOVABLECASEMENT");
+ items.push_back("SIDEHUNGLEFTHAND");
+ items.push_back("SIDEHUNGRIGHTHAND");
+ items.push_back("SLIDINGHORIZONTAL");
+ items.push_back("SLIDINGVERTICAL");
+ items.push_back("TILTANDTURNLEFTHAND");
+ items.push_back("TILTANDTURNRIGHTHAND");
+ items.push_back("TOPHUNG");
+ IfcWindowPanelOperationEnum_type = new enumeration_type("IfcWindowPanelOperationEnum", items);
+ }
+ declaration* IfcWindowPanelPositionEnum_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back("BOTTOM");
+ items.push_back("LEFT");
+ items.push_back("MIDDLE");
+ items.push_back("NOTDEFINED");
+ items.push_back("RIGHT");
+ items.push_back("TOP");
+ IfcWindowPanelPositionEnum_type = new enumeration_type("IfcWindowPanelPositionEnum", items);
+ }
+ declaration* IfcWindowStyleConstructionEnum_type;
+ {
+ std::vector items; items.reserve(8);
+ items.push_back("ALUMINIUM");
+ items.push_back("ALUMINIUM_WOOD");
+ items.push_back("HIGH_GRADE_STEEL");
+ items.push_back("NOTDEFINED");
+ items.push_back("OTHER_CONSTRUCTION");
+ items.push_back("PLASTIC");
+ items.push_back("STEEL");
+ items.push_back("WOOD");
+ IfcWindowStyleConstructionEnum_type = new enumeration_type("IfcWindowStyleConstructionEnum", items);
+ }
+ declaration* IfcWindowStyleOperationEnum_type;
+ {
+ std::vector items; items.reserve(11);
+ items.push_back("DOUBLE_PANEL_HORIZONTAL");
+ items.push_back("DOUBLE_PANEL_VERTICAL");
+ items.push_back("NOTDEFINED");
+ items.push_back("SINGLE_PANEL");
+ items.push_back("TRIPLE_PANEL_BOTTOM");
+ items.push_back("TRIPLE_PANEL_HORIZONTAL");
+ items.push_back("TRIPLE_PANEL_LEFT");
+ items.push_back("TRIPLE_PANEL_RIGHT");
+ items.push_back("TRIPLE_PANEL_TOP");
+ items.push_back("TRIPLE_PANEL_VERTICAL");
+ items.push_back("USERDEFINED");
+ IfcWindowStyleOperationEnum_type = new enumeration_type("IfcWindowStyleOperationEnum", items);
+ }
+ declaration* IfcWorkControlTypeEnum_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back("ACTUAL");
+ items.push_back("BASELINE");
+ items.push_back("NOTDEFINED");
+ items.push_back("PLANNED");
+ items.push_back("USERDEFINED");
+ IfcWorkControlTypeEnum_type = new enumeration_type("IfcWorkControlTypeEnum", items);
+ }
+ entity* IfcActorRole_type = new entity("IfcActorRole", 0);
+ entity* IfcAddress_type = new entity("IfcAddress", 0);
+ entity* IfcApplication_type = new entity("IfcApplication", 0);
+ entity* IfcAppliedValue_type = new entity("IfcAppliedValue", 0);
+ entity* IfcAppliedValueRelationship_type = new entity("IfcAppliedValueRelationship", 0);
+ entity* IfcApproval_type = new entity("IfcApproval", 0);
+ entity* IfcApprovalActorRelationship_type = new entity("IfcApprovalActorRelationship", 0);
+ entity* IfcApprovalPropertyRelationship_type = new entity("IfcApprovalPropertyRelationship", 0);
+ entity* IfcApprovalRelationship_type = new entity("IfcApprovalRelationship", 0);
+ entity* IfcBoundaryCondition_type = new entity("IfcBoundaryCondition", 0);
+ entity* IfcBoundaryEdgeCondition_type = new entity("IfcBoundaryEdgeCondition", IfcBoundaryCondition_type);
+ entity* IfcBoundaryFaceCondition_type = new entity("IfcBoundaryFaceCondition", IfcBoundaryCondition_type);
+ entity* IfcBoundaryNodeCondition_type = new entity("IfcBoundaryNodeCondition", IfcBoundaryCondition_type);
+ entity* IfcBoundaryNodeConditionWarping_type = new entity("IfcBoundaryNodeConditionWarping", IfcBoundaryNodeCondition_type);
+ entity* IfcCalendarDate_type = new entity("IfcCalendarDate", 0);
+ entity* IfcClassification_type = new entity("IfcClassification", 0);
+ entity* IfcClassificationItem_type = new entity("IfcClassificationItem", 0);
+ entity* IfcClassificationItemRelationship_type = new entity("IfcClassificationItemRelationship", 0);
+ entity* IfcClassificationNotation_type = new entity("IfcClassificationNotation", 0);
+ entity* IfcClassificationNotationFacet_type = new entity("IfcClassificationNotationFacet", 0);
+ entity* IfcColourSpecification_type = new entity("IfcColourSpecification", 0);
+ entity* IfcConnectionGeometry_type = new entity("IfcConnectionGeometry", 0);
+ entity* IfcConnectionPointGeometry_type = new entity("IfcConnectionPointGeometry", IfcConnectionGeometry_type);
+ entity* IfcConnectionPortGeometry_type = new entity("IfcConnectionPortGeometry", IfcConnectionGeometry_type);
+ entity* IfcConnectionSurfaceGeometry_type = new entity("IfcConnectionSurfaceGeometry", IfcConnectionGeometry_type);
+ entity* IfcConstraint_type = new entity("IfcConstraint", 0);
+ entity* IfcConstraintAggregationRelationship_type = new entity("IfcConstraintAggregationRelationship", 0);
+ entity* IfcConstraintClassificationRelationship_type = new entity("IfcConstraintClassificationRelationship", 0);
+ entity* IfcConstraintRelationship_type = new entity("IfcConstraintRelationship", 0);
+ entity* IfcCoordinatedUniversalTimeOffset_type = new entity("IfcCoordinatedUniversalTimeOffset", 0);
+ entity* IfcCostValue_type = new entity("IfcCostValue", IfcAppliedValue_type);
+ entity* IfcCurrencyRelationship_type = new entity("IfcCurrencyRelationship", 0);
+ entity* IfcCurveStyleFont_type = new entity("IfcCurveStyleFont", 0);
+ entity* IfcCurveStyleFontAndScaling_type = new entity("IfcCurveStyleFontAndScaling", 0);
+ entity* IfcCurveStyleFontPattern_type = new entity("IfcCurveStyleFontPattern", 0);
+ entity* IfcDateAndTime_type = new entity("IfcDateAndTime", 0);
+ entity* IfcDerivedUnit_type = new entity("IfcDerivedUnit", 0);
+ entity* IfcDerivedUnitElement_type = new entity("IfcDerivedUnitElement", 0);
+ entity* IfcDimensionalExponents_type = new entity("IfcDimensionalExponents", 0);
+ entity* IfcDocumentElectronicFormat_type = new entity("IfcDocumentElectronicFormat", 0);
+ entity* IfcDocumentInformation_type = new entity("IfcDocumentInformation", 0);
+ entity* IfcDocumentInformationRelationship_type = new entity("IfcDocumentInformationRelationship", 0);
+ entity* IfcDraughtingCalloutRelationship_type = new entity("IfcDraughtingCalloutRelationship", 0);
+ entity* IfcEnvironmentalImpactValue_type = new entity("IfcEnvironmentalImpactValue", IfcAppliedValue_type);
+ entity* IfcExternalReference_type = new entity("IfcExternalReference", 0);
+ entity* IfcExternallyDefinedHatchStyle_type = new entity("IfcExternallyDefinedHatchStyle", IfcExternalReference_type);
+ entity* IfcExternallyDefinedSurfaceStyle_type = new entity("IfcExternallyDefinedSurfaceStyle", IfcExternalReference_type);
+ entity* IfcExternallyDefinedSymbol_type = new entity("IfcExternallyDefinedSymbol", IfcExternalReference_type);
+ entity* IfcExternallyDefinedTextFont_type = new entity("IfcExternallyDefinedTextFont", IfcExternalReference_type);
+ entity* IfcGridAxis_type = new entity("IfcGridAxis", 0);
+ entity* IfcIrregularTimeSeriesValue_type = new entity("IfcIrregularTimeSeriesValue", 0);
+ entity* IfcLibraryInformation_type = new entity("IfcLibraryInformation", 0);
+ entity* IfcLibraryReference_type = new entity("IfcLibraryReference", IfcExternalReference_type);
+ entity* IfcLightDistributionData_type = new entity("IfcLightDistributionData", 0);
+ entity* IfcLightIntensityDistribution_type = new entity("IfcLightIntensityDistribution", 0);
+ entity* IfcLocalTime_type = new entity("IfcLocalTime", 0);
+ entity* IfcMaterial_type = new entity("IfcMaterial", 0);
+ entity* IfcMaterialClassificationRelationship_type = new entity("IfcMaterialClassificationRelationship", 0);
+ entity* IfcMaterialLayer_type = new entity("IfcMaterialLayer", 0);
+ entity* IfcMaterialLayerSet_type = new entity("IfcMaterialLayerSet", 0);
+ entity* IfcMaterialLayerSetUsage_type = new entity("IfcMaterialLayerSetUsage", 0);
+ entity* IfcMaterialList_type = new entity("IfcMaterialList", 0);
+ entity* IfcMaterialProperties_type = new entity("IfcMaterialProperties", 0);
+ entity* IfcMeasureWithUnit_type = new entity("IfcMeasureWithUnit", 0);
+ entity* IfcMechanicalMaterialProperties_type = new entity("IfcMechanicalMaterialProperties", IfcMaterialProperties_type);
+ entity* IfcMechanicalSteelMaterialProperties_type = new entity("IfcMechanicalSteelMaterialProperties", IfcMechanicalMaterialProperties_type);
+ entity* IfcMetric_type = new entity("IfcMetric", IfcConstraint_type);
+ entity* IfcMonetaryUnit_type = new entity("IfcMonetaryUnit", 0);
+ entity* IfcNamedUnit_type = new entity("IfcNamedUnit", 0);
+ entity* IfcObjectPlacement_type = new entity("IfcObjectPlacement", 0);
+ entity* IfcObjective_type = new entity("IfcObjective", IfcConstraint_type);
+ entity* IfcOpticalMaterialProperties_type = new entity("IfcOpticalMaterialProperties", IfcMaterialProperties_type);
+ entity* IfcOrganization_type = new entity("IfcOrganization", 0);
+ entity* IfcOrganizationRelationship_type = new entity("IfcOrganizationRelationship", 0);
+ entity* IfcOwnerHistory_type = new entity("IfcOwnerHistory", 0);
+ entity* IfcPerson_type = new entity("IfcPerson", 0);
+ entity* IfcPersonAndOrganization_type = new entity("IfcPersonAndOrganization", 0);
+ entity* IfcPhysicalQuantity_type = new entity("IfcPhysicalQuantity", 0);
+ entity* IfcPhysicalSimpleQuantity_type = new entity("IfcPhysicalSimpleQuantity", IfcPhysicalQuantity_type);
+ entity* IfcPostalAddress_type = new entity("IfcPostalAddress", IfcAddress_type);
+ entity* IfcPreDefinedItem_type = new entity("IfcPreDefinedItem", 0);
+ entity* IfcPreDefinedSymbol_type = new entity("IfcPreDefinedSymbol", IfcPreDefinedItem_type);
+ entity* IfcPreDefinedTerminatorSymbol_type = new entity("IfcPreDefinedTerminatorSymbol", IfcPreDefinedSymbol_type);
+ entity* IfcPreDefinedTextFont_type = new entity("IfcPreDefinedTextFont", IfcPreDefinedItem_type);
+ entity* IfcPresentationLayerAssignment_type = new entity("IfcPresentationLayerAssignment", 0);
+ entity* IfcPresentationLayerWithStyle_type = new entity("IfcPresentationLayerWithStyle", IfcPresentationLayerAssignment_type);
+ entity* IfcPresentationStyle_type = new entity("IfcPresentationStyle", 0);
+ entity* IfcPresentationStyleAssignment_type = new entity("IfcPresentationStyleAssignment", 0);
+ entity* IfcProductRepresentation_type = new entity("IfcProductRepresentation", 0);
+ entity* IfcProductsOfCombustionProperties_type = new entity("IfcProductsOfCombustionProperties", IfcMaterialProperties_type);
+ entity* IfcProfileDef_type = new entity("IfcProfileDef", 0);
+ entity* IfcProfileProperties_type = new entity("IfcProfileProperties", 0);
+ entity* IfcProperty_type = new entity("IfcProperty", 0);
+ entity* IfcPropertyConstraintRelationship_type = new entity("IfcPropertyConstraintRelationship", 0);
+ entity* IfcPropertyDependencyRelationship_type = new entity("IfcPropertyDependencyRelationship", 0);
+ entity* IfcPropertyEnumeration_type = new entity("IfcPropertyEnumeration", 0);
+ entity* IfcQuantityArea_type = new entity("IfcQuantityArea", IfcPhysicalSimpleQuantity_type);
+ entity* IfcQuantityCount_type = new entity("IfcQuantityCount", IfcPhysicalSimpleQuantity_type);
+ entity* IfcQuantityLength_type = new entity("IfcQuantityLength", IfcPhysicalSimpleQuantity_type);
+ entity* IfcQuantityTime_type = new entity("IfcQuantityTime", IfcPhysicalSimpleQuantity_type);
+ entity* IfcQuantityVolume_type = new entity("IfcQuantityVolume", IfcPhysicalSimpleQuantity_type);
+ entity* IfcQuantityWeight_type = new entity("IfcQuantityWeight", IfcPhysicalSimpleQuantity_type);
+ entity* IfcReferencesValueDocument_type = new entity("IfcReferencesValueDocument", 0);
+ entity* IfcReinforcementBarProperties_type = new entity("IfcReinforcementBarProperties", 0);
+ entity* IfcRelaxation_type = new entity("IfcRelaxation", 0);
+ entity* IfcRepresentation_type = new entity("IfcRepresentation", 0);
+ entity* IfcRepresentationContext_type = new entity("IfcRepresentationContext", 0);
+ entity* IfcRepresentationItem_type = new entity("IfcRepresentationItem", 0);
+ entity* IfcRepresentationMap_type = new entity("IfcRepresentationMap", 0);
+ entity* IfcRibPlateProfileProperties_type = new entity("IfcRibPlateProfileProperties", IfcProfileProperties_type);
+ entity* IfcRoot_type = new entity("IfcRoot", 0);
+ entity* IfcSIUnit_type = new entity("IfcSIUnit", IfcNamedUnit_type);
+ entity* IfcSectionProperties_type = new entity("IfcSectionProperties", 0);
+ entity* IfcSectionReinforcementProperties_type = new entity("IfcSectionReinforcementProperties", 0);
+ entity* IfcShapeAspect_type = new entity("IfcShapeAspect", 0);
+ entity* IfcShapeModel_type = new entity("IfcShapeModel", IfcRepresentation_type);
+ entity* IfcShapeRepresentation_type = new entity("IfcShapeRepresentation", IfcShapeModel_type);
+ entity* IfcSimpleProperty_type = new entity("IfcSimpleProperty", IfcProperty_type);
+ entity* IfcStructuralConnectionCondition_type = new entity("IfcStructuralConnectionCondition", 0);
+ entity* IfcStructuralLoad_type = new entity("IfcStructuralLoad", 0);
+ entity* IfcStructuralLoadStatic_type = new entity("IfcStructuralLoadStatic", IfcStructuralLoad_type);
+ entity* IfcStructuralLoadTemperature_type = new entity("IfcStructuralLoadTemperature", IfcStructuralLoadStatic_type);
+ entity* IfcStyleModel_type = new entity("IfcStyleModel", IfcRepresentation_type);
+ entity* IfcStyledItem_type = new entity("IfcStyledItem", IfcRepresentationItem_type);
+ entity* IfcStyledRepresentation_type = new entity("IfcStyledRepresentation", IfcStyleModel_type);
+ entity* IfcSurfaceStyle_type = new entity("IfcSurfaceStyle", IfcPresentationStyle_type);
+ entity* IfcSurfaceStyleLighting_type = new entity("IfcSurfaceStyleLighting", 0);
+ entity* IfcSurfaceStyleRefraction_type = new entity("IfcSurfaceStyleRefraction", 0);
+ entity* IfcSurfaceStyleShading_type = new entity("IfcSurfaceStyleShading", 0);
+ entity* IfcSurfaceStyleWithTextures_type = new entity("IfcSurfaceStyleWithTextures", 0);
+ entity* IfcSurfaceTexture_type = new entity("IfcSurfaceTexture", 0);
+ entity* IfcSymbolStyle_type = new entity("IfcSymbolStyle", IfcPresentationStyle_type);
+ entity* IfcTable_type = new entity("IfcTable", 0);
+ entity* IfcTableRow_type = new entity("IfcTableRow", 0);
+ entity* IfcTelecomAddress_type = new entity("IfcTelecomAddress", IfcAddress_type);
+ entity* IfcTextStyle_type = new entity("IfcTextStyle", IfcPresentationStyle_type);
+ entity* IfcTextStyleFontModel_type = new entity("IfcTextStyleFontModel", IfcPreDefinedTextFont_type);
+ entity* IfcTextStyleForDefinedFont_type = new entity("IfcTextStyleForDefinedFont", 0);
+ entity* IfcTextStyleTextModel_type = new entity("IfcTextStyleTextModel", 0);
+ entity* IfcTextStyleWithBoxCharacteristics_type = new entity("IfcTextStyleWithBoxCharacteristics", 0);
+ entity* IfcTextureCoordinate_type = new entity("IfcTextureCoordinate", 0);
+ entity* IfcTextureCoordinateGenerator_type = new entity("IfcTextureCoordinateGenerator", IfcTextureCoordinate_type);
+ entity* IfcTextureMap_type = new entity("IfcTextureMap", IfcTextureCoordinate_type);
+ entity* IfcTextureVertex_type = new entity("IfcTextureVertex", 0);
+ entity* IfcThermalMaterialProperties_type = new entity("IfcThermalMaterialProperties", IfcMaterialProperties_type);
+ entity* IfcTimeSeries_type = new entity("IfcTimeSeries", 0);
+ entity* IfcTimeSeriesReferenceRelationship_type = new entity("IfcTimeSeriesReferenceRelationship", 0);
+ entity* IfcTimeSeriesValue_type = new entity("IfcTimeSeriesValue", 0);
+ entity* IfcTopologicalRepresentationItem_type = new entity("IfcTopologicalRepresentationItem", IfcRepresentationItem_type);
+ entity* IfcTopologyRepresentation_type = new entity("IfcTopologyRepresentation", IfcShapeModel_type);
+ entity* IfcUnitAssignment_type = new entity("IfcUnitAssignment", 0);
+ entity* IfcVertex_type = new entity("IfcVertex", IfcTopologicalRepresentationItem_type);
+ entity* IfcVertexBasedTextureMap_type = new entity("IfcVertexBasedTextureMap", 0);
+ entity* IfcVertexPoint_type = new entity("IfcVertexPoint", IfcVertex_type);
+ entity* IfcVirtualGridIntersection_type = new entity("IfcVirtualGridIntersection", 0);
+ entity* IfcWaterProperties_type = new entity("IfcWaterProperties", IfcMaterialProperties_type);
+ entity* IfcAnnotationOccurrence_type = new entity("IfcAnnotationOccurrence", IfcStyledItem_type);
+ entity* IfcAnnotationSurfaceOccurrence_type = new entity("IfcAnnotationSurfaceOccurrence", IfcAnnotationOccurrence_type);
+ entity* IfcAnnotationSymbolOccurrence_type = new entity("IfcAnnotationSymbolOccurrence", IfcAnnotationOccurrence_type);
+ entity* IfcAnnotationTextOccurrence_type = new entity("IfcAnnotationTextOccurrence", IfcAnnotationOccurrence_type);
+ entity* IfcArbitraryClosedProfileDef_type = new entity("IfcArbitraryClosedProfileDef", IfcProfileDef_type);
+ entity* IfcArbitraryOpenProfileDef_type = new entity("IfcArbitraryOpenProfileDef", IfcProfileDef_type);
+ entity* IfcArbitraryProfileDefWithVoids_type = new entity("IfcArbitraryProfileDefWithVoids", IfcArbitraryClosedProfileDef_type);
+ entity* IfcBlobTexture_type = new entity("IfcBlobTexture", IfcSurfaceTexture_type);
+ entity* IfcCenterLineProfileDef_type = new entity("IfcCenterLineProfileDef", IfcArbitraryOpenProfileDef_type);
+ entity* IfcClassificationReference_type = new entity("IfcClassificationReference", IfcExternalReference_type);
+ entity* IfcColourRgb_type = new entity("IfcColourRgb", IfcColourSpecification_type);
+ entity* IfcComplexProperty_type = new entity("IfcComplexProperty", IfcProperty_type);
+ entity* IfcCompositeProfileDef_type = new entity("IfcCompositeProfileDef", IfcProfileDef_type);
+ entity* IfcConnectedFaceSet_type = new entity("IfcConnectedFaceSet", IfcTopologicalRepresentationItem_type);
+ entity* IfcConnectionCurveGeometry_type = new entity("IfcConnectionCurveGeometry", IfcConnectionGeometry_type);
+ entity* IfcConnectionPointEccentricity_type = new entity("IfcConnectionPointEccentricity", IfcConnectionPointGeometry_type);
+ entity* IfcContextDependentUnit_type = new entity("IfcContextDependentUnit", IfcNamedUnit_type);
+ entity* IfcConversionBasedUnit_type = new entity("IfcConversionBasedUnit", IfcNamedUnit_type);
+ entity* IfcCurveStyle_type = new entity("IfcCurveStyle", IfcPresentationStyle_type);
+ entity* IfcDerivedProfileDef_type = new entity("IfcDerivedProfileDef", IfcProfileDef_type);
+ entity* IfcDimensionCalloutRelationship_type = new entity("IfcDimensionCalloutRelationship", IfcDraughtingCalloutRelationship_type);
+ entity* IfcDimensionPair_type = new entity("IfcDimensionPair", IfcDraughtingCalloutRelationship_type);
+ entity* IfcDocumentReference_type = new entity("IfcDocumentReference", IfcExternalReference_type);
+ entity* IfcDraughtingPreDefinedTextFont_type = new entity("IfcDraughtingPreDefinedTextFont", IfcPreDefinedTextFont_type);
+ entity* IfcEdge_type = new entity("IfcEdge", IfcTopologicalRepresentationItem_type);
+ entity* IfcEdgeCurve_type = new entity("IfcEdgeCurve", IfcEdge_type);
+ entity* IfcExtendedMaterialProperties_type = new entity("IfcExtendedMaterialProperties", IfcMaterialProperties_type);
+ entity* IfcFace_type = new entity("IfcFace", IfcTopologicalRepresentationItem_type);
+ entity* IfcFaceBound_type = new entity("IfcFaceBound", IfcTopologicalRepresentationItem_type);
+ entity* IfcFaceOuterBound_type = new entity("IfcFaceOuterBound", IfcFaceBound_type);
+ entity* IfcFaceSurface_type = new entity("IfcFaceSurface", IfcFace_type);
+ entity* IfcFailureConnectionCondition_type = new entity("IfcFailureConnectionCondition", IfcStructuralConnectionCondition_type);
+ entity* IfcFillAreaStyle_type = new entity("IfcFillAreaStyle", IfcPresentationStyle_type);
+ entity* IfcFuelProperties_type = new entity("IfcFuelProperties", IfcMaterialProperties_type);
+ entity* IfcGeneralMaterialProperties_type = new entity("IfcGeneralMaterialProperties", IfcMaterialProperties_type);
+ entity* IfcGeneralProfileProperties_type = new entity("IfcGeneralProfileProperties", IfcProfileProperties_type);
+ entity* IfcGeometricRepresentationContext_type = new entity("IfcGeometricRepresentationContext", IfcRepresentationContext_type);
+ entity* IfcGeometricRepresentationItem_type = new entity("IfcGeometricRepresentationItem", IfcRepresentationItem_type);
+ entity* IfcGeometricRepresentationSubContext_type = new entity("IfcGeometricRepresentationSubContext", IfcGeometricRepresentationContext_type);
+ entity* IfcGeometricSet_type = new entity("IfcGeometricSet", IfcGeometricRepresentationItem_type);
+ entity* IfcGridPlacement_type = new entity("IfcGridPlacement", IfcObjectPlacement_type);
+ entity* IfcHalfSpaceSolid_type = new entity("IfcHalfSpaceSolid", IfcGeometricRepresentationItem_type);
+ entity* IfcHygroscopicMaterialProperties_type = new entity("IfcHygroscopicMaterialProperties", IfcMaterialProperties_type);
+ entity* IfcImageTexture_type = new entity("IfcImageTexture", IfcSurfaceTexture_type);
+ entity* IfcIrregularTimeSeries_type = new entity("IfcIrregularTimeSeries", IfcTimeSeries_type);
+ entity* IfcLightSource_type = new entity("IfcLightSource", IfcGeometricRepresentationItem_type);
+ entity* IfcLightSourceAmbient_type = new entity("IfcLightSourceAmbient", IfcLightSource_type);
+ entity* IfcLightSourceDirectional_type = new entity("IfcLightSourceDirectional", IfcLightSource_type);
+ entity* IfcLightSourceGoniometric_type = new entity("IfcLightSourceGoniometric", IfcLightSource_type);
+ entity* IfcLightSourcePositional_type = new entity("IfcLightSourcePositional", IfcLightSource_type);
+ entity* IfcLightSourceSpot_type = new entity("IfcLightSourceSpot", IfcLightSourcePositional_type);
+ entity* IfcLocalPlacement_type = new entity("IfcLocalPlacement", IfcObjectPlacement_type);
+ entity* IfcLoop_type = new entity("IfcLoop", IfcTopologicalRepresentationItem_type);
+ entity* IfcMappedItem_type = new entity("IfcMappedItem", IfcRepresentationItem_type);
+ entity* IfcMaterialDefinitionRepresentation_type = new entity("IfcMaterialDefinitionRepresentation", IfcProductRepresentation_type);
+ entity* IfcMechanicalConcreteMaterialProperties_type = new entity("IfcMechanicalConcreteMaterialProperties", IfcMechanicalMaterialProperties_type);
+ entity* IfcObjectDefinition_type = new entity("IfcObjectDefinition", IfcRoot_type);
+ entity* IfcOneDirectionRepeatFactor_type = new entity("IfcOneDirectionRepeatFactor", IfcGeometricRepresentationItem_type);
+ entity* IfcOpenShell_type = new entity("IfcOpenShell", IfcConnectedFaceSet_type);
+ entity* IfcOrientedEdge_type = new entity("IfcOrientedEdge", IfcEdge_type);
+ entity* IfcParameterizedProfileDef_type = new entity("IfcParameterizedProfileDef", IfcProfileDef_type);
+ entity* IfcPath_type = new entity("IfcPath", IfcTopologicalRepresentationItem_type);
+ entity* IfcPhysicalComplexQuantity_type = new entity("IfcPhysicalComplexQuantity", IfcPhysicalQuantity_type);
+ entity* IfcPixelTexture_type = new entity("IfcPixelTexture", IfcSurfaceTexture_type);
+ entity* IfcPlacement_type = new entity("IfcPlacement", IfcGeometricRepresentationItem_type);
+ entity* IfcPlanarExtent_type = new entity("IfcPlanarExtent", IfcGeometricRepresentationItem_type);
+ entity* IfcPoint_type = new entity("IfcPoint", IfcGeometricRepresentationItem_type);
+ entity* IfcPointOnCurve_type = new entity("IfcPointOnCurve", IfcPoint_type);
+ entity* IfcPointOnSurface_type = new entity("IfcPointOnSurface", IfcPoint_type);
+ entity* IfcPolyLoop_type = new entity("IfcPolyLoop", IfcLoop_type);
+ entity* IfcPolygonalBoundedHalfSpace_type = new entity("IfcPolygonalBoundedHalfSpace", IfcHalfSpaceSolid_type);
+ entity* IfcPreDefinedColour_type = new entity("IfcPreDefinedColour", IfcPreDefinedItem_type);
+ entity* IfcPreDefinedCurveFont_type = new entity("IfcPreDefinedCurveFont", IfcPreDefinedItem_type);
+ entity* IfcPreDefinedDimensionSymbol_type = new entity("IfcPreDefinedDimensionSymbol", IfcPreDefinedSymbol_type);
+ entity* IfcPreDefinedPointMarkerSymbol_type = new entity("IfcPreDefinedPointMarkerSymbol", IfcPreDefinedSymbol_type);
+ entity* IfcProductDefinitionShape_type = new entity("IfcProductDefinitionShape", IfcProductRepresentation_type);
+ entity* IfcPropertyBoundedValue_type = new entity("IfcPropertyBoundedValue", IfcSimpleProperty_type);
+ entity* IfcPropertyDefinition_type = new entity("IfcPropertyDefinition", IfcRoot_type);
+ entity* IfcPropertyEnumeratedValue_type = new entity("IfcPropertyEnumeratedValue", IfcSimpleProperty_type);
+ entity* IfcPropertyListValue_type = new entity("IfcPropertyListValue", IfcSimpleProperty_type);
+ entity* IfcPropertyReferenceValue_type = new entity("IfcPropertyReferenceValue", IfcSimpleProperty_type);
+ entity* IfcPropertySetDefinition_type = new entity("IfcPropertySetDefinition", IfcPropertyDefinition_type);
+ entity* IfcPropertySingleValue_type = new entity("IfcPropertySingleValue", IfcSimpleProperty_type);
+ entity* IfcPropertyTableValue_type = new entity("IfcPropertyTableValue", IfcSimpleProperty_type);
+ entity* IfcRectangleProfileDef_type = new entity("IfcRectangleProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcRegularTimeSeries_type = new entity("IfcRegularTimeSeries", IfcTimeSeries_type);
+ entity* IfcReinforcementDefinitionProperties_type = new entity("IfcReinforcementDefinitionProperties", IfcPropertySetDefinition_type);
+ entity* IfcRelationship_type = new entity("IfcRelationship", IfcRoot_type);
+ entity* IfcRoundedRectangleProfileDef_type = new entity("IfcRoundedRectangleProfileDef", IfcRectangleProfileDef_type);
+ entity* IfcSectionedSpine_type = new entity("IfcSectionedSpine", IfcGeometricRepresentationItem_type);
+ entity* IfcServiceLifeFactor_type = new entity("IfcServiceLifeFactor", IfcPropertySetDefinition_type);
+ entity* IfcShellBasedSurfaceModel_type = new entity("IfcShellBasedSurfaceModel", IfcGeometricRepresentationItem_type);
+ entity* IfcSlippageConnectionCondition_type = new entity("IfcSlippageConnectionCondition", IfcStructuralConnectionCondition_type);
+ entity* IfcSolidModel_type = new entity("IfcSolidModel", IfcGeometricRepresentationItem_type);
+ entity* IfcSoundProperties_type = new entity("IfcSoundProperties", IfcPropertySetDefinition_type);
+ entity* IfcSoundValue_type = new entity("IfcSoundValue", IfcPropertySetDefinition_type);
+ entity* IfcSpaceThermalLoadProperties_type = new entity("IfcSpaceThermalLoadProperties", IfcPropertySetDefinition_type);
+ entity* IfcStructuralLoadLinearForce_type = new entity("IfcStructuralLoadLinearForce", IfcStructuralLoadStatic_type);
+ entity* IfcStructuralLoadPlanarForce_type = new entity("IfcStructuralLoadPlanarForce", IfcStructuralLoadStatic_type);
+ entity* IfcStructuralLoadSingleDisplacement_type = new entity("IfcStructuralLoadSingleDisplacement", IfcStructuralLoadStatic_type);
+ entity* IfcStructuralLoadSingleDisplacementDistortion_type = new entity("IfcStructuralLoadSingleDisplacementDistortion", IfcStructuralLoadSingleDisplacement_type);
+ entity* IfcStructuralLoadSingleForce_type = new entity("IfcStructuralLoadSingleForce", IfcStructuralLoadStatic_type);
+ entity* IfcStructuralLoadSingleForceWarping_type = new entity("IfcStructuralLoadSingleForceWarping", IfcStructuralLoadSingleForce_type);
+ entity* IfcStructuralProfileProperties_type = new entity("IfcStructuralProfileProperties", IfcGeneralProfileProperties_type);
+ entity* IfcStructuralSteelProfileProperties_type = new entity("IfcStructuralSteelProfileProperties", IfcStructuralProfileProperties_type);
+ entity* IfcSubedge_type = new entity("IfcSubedge", IfcEdge_type);
+ entity* IfcSurface_type = new entity("IfcSurface", IfcGeometricRepresentationItem_type);
+ entity* IfcSurfaceStyleRendering_type = new entity("IfcSurfaceStyleRendering", IfcSurfaceStyleShading_type);
+ entity* IfcSweptAreaSolid_type = new entity("IfcSweptAreaSolid", IfcSolidModel_type);
+ entity* IfcSweptDiskSolid_type = new entity("IfcSweptDiskSolid", IfcSolidModel_type);
+ entity* IfcSweptSurface_type = new entity("IfcSweptSurface", IfcSurface_type);
+ entity* IfcTShapeProfileDef_type = new entity("IfcTShapeProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcTerminatorSymbol_type = new entity("IfcTerminatorSymbol", IfcAnnotationSymbolOccurrence_type);
+ entity* IfcTextLiteral_type = new entity("IfcTextLiteral", IfcGeometricRepresentationItem_type);
+ entity* IfcTextLiteralWithExtent_type = new entity("IfcTextLiteralWithExtent", IfcTextLiteral_type);
+ entity* IfcTrapeziumProfileDef_type = new entity("IfcTrapeziumProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcTwoDirectionRepeatFactor_type = new entity("IfcTwoDirectionRepeatFactor", IfcOneDirectionRepeatFactor_type);
+ entity* IfcTypeObject_type = new entity("IfcTypeObject", IfcObjectDefinition_type);
+ entity* IfcTypeProduct_type = new entity("IfcTypeProduct", IfcTypeObject_type);
+ entity* IfcUShapeProfileDef_type = new entity("IfcUShapeProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcVector_type = new entity("IfcVector", IfcGeometricRepresentationItem_type);
+ entity* IfcVertexLoop_type = new entity("IfcVertexLoop", IfcLoop_type);
+ entity* IfcWindowLiningProperties_type = new entity("IfcWindowLiningProperties", IfcPropertySetDefinition_type);
+ entity* IfcWindowPanelProperties_type = new entity("IfcWindowPanelProperties", IfcPropertySetDefinition_type);
+ entity* IfcWindowStyle_type = new entity("IfcWindowStyle", IfcTypeProduct_type);
+ entity* IfcZShapeProfileDef_type = new entity("IfcZShapeProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcAnnotationCurveOccurrence_type = new entity("IfcAnnotationCurveOccurrence", IfcAnnotationOccurrence_type);
+ entity* IfcAnnotationFillArea_type = new entity("IfcAnnotationFillArea", IfcGeometricRepresentationItem_type);
+ entity* IfcAnnotationFillAreaOccurrence_type = new entity("IfcAnnotationFillAreaOccurrence", IfcAnnotationOccurrence_type);
+ entity* IfcAnnotationSurface_type = new entity("IfcAnnotationSurface", IfcGeometricRepresentationItem_type);
+ entity* IfcAxis1Placement_type = new entity("IfcAxis1Placement", IfcPlacement_type);
+ entity* IfcAxis2Placement2D_type = new entity("IfcAxis2Placement2D", IfcPlacement_type);
+ entity* IfcAxis2Placement3D_type = new entity("IfcAxis2Placement3D", IfcPlacement_type);
+ entity* IfcBooleanResult_type = new entity("IfcBooleanResult", IfcGeometricRepresentationItem_type);
+ entity* IfcBoundedSurface_type = new entity("IfcBoundedSurface", IfcSurface_type);
+ entity* IfcBoundingBox_type = new entity("IfcBoundingBox", IfcGeometricRepresentationItem_type);
+ entity* IfcBoxedHalfSpace_type = new entity("IfcBoxedHalfSpace", IfcHalfSpaceSolid_type);
+ entity* IfcCShapeProfileDef_type = new entity("IfcCShapeProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcCartesianPoint_type = new entity("IfcCartesianPoint", IfcPoint_type);
+ entity* IfcCartesianTransformationOperator_type = new entity("IfcCartesianTransformationOperator", IfcGeometricRepresentationItem_type);
+ entity* IfcCartesianTransformationOperator2D_type = new entity("IfcCartesianTransformationOperator2D", IfcCartesianTransformationOperator_type);
+ entity* IfcCartesianTransformationOperator2DnonUniform_type = new entity("IfcCartesianTransformationOperator2DnonUniform", IfcCartesianTransformationOperator2D_type);
+ entity* IfcCartesianTransformationOperator3D_type = new entity("IfcCartesianTransformationOperator3D", IfcCartesianTransformationOperator_type);
+ entity* IfcCartesianTransformationOperator3DnonUniform_type = new entity("IfcCartesianTransformationOperator3DnonUniform", IfcCartesianTransformationOperator3D_type);
+ entity* IfcCircleProfileDef_type = new entity("IfcCircleProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcClosedShell_type = new entity("IfcClosedShell", IfcConnectedFaceSet_type);
+ entity* IfcCompositeCurveSegment_type = new entity("IfcCompositeCurveSegment", IfcGeometricRepresentationItem_type);
+ entity* IfcCraneRailAShapeProfileDef_type = new entity("IfcCraneRailAShapeProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcCraneRailFShapeProfileDef_type = new entity("IfcCraneRailFShapeProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcCsgPrimitive3D_type = new entity("IfcCsgPrimitive3D", IfcGeometricRepresentationItem_type);
+ entity* IfcCsgSolid_type = new entity("IfcCsgSolid", IfcSolidModel_type);
+ entity* IfcCurve_type = new entity("IfcCurve", IfcGeometricRepresentationItem_type);
+ entity* IfcCurveBoundedPlane_type = new entity("IfcCurveBoundedPlane", IfcBoundedSurface_type);
+ entity* IfcDefinedSymbol_type = new entity("IfcDefinedSymbol", IfcGeometricRepresentationItem_type);
+ entity* IfcDimensionCurve_type = new entity("IfcDimensionCurve", IfcAnnotationCurveOccurrence_type);
+ entity* IfcDimensionCurveTerminator_type = new entity("IfcDimensionCurveTerminator", IfcTerminatorSymbol_type);
+ entity* IfcDirection_type = new entity("IfcDirection", IfcGeometricRepresentationItem_type);
+ entity* IfcDoorLiningProperties_type = new entity("IfcDoorLiningProperties", IfcPropertySetDefinition_type);
+ entity* IfcDoorPanelProperties_type = new entity("IfcDoorPanelProperties", IfcPropertySetDefinition_type);
+ entity* IfcDoorStyle_type = new entity("IfcDoorStyle", IfcTypeProduct_type);
+ entity* IfcDraughtingCallout_type = new entity("IfcDraughtingCallout", IfcGeometricRepresentationItem_type);
+ entity* IfcDraughtingPreDefinedColour_type = new entity("IfcDraughtingPreDefinedColour", IfcPreDefinedColour_type);
+ entity* IfcDraughtingPreDefinedCurveFont_type = new entity("IfcDraughtingPreDefinedCurveFont", IfcPreDefinedCurveFont_type);
+ entity* IfcEdgeLoop_type = new entity("IfcEdgeLoop", IfcLoop_type);
+ entity* IfcElementQuantity_type = new entity("IfcElementQuantity", IfcPropertySetDefinition_type);
+ entity* IfcElementType_type = new entity("IfcElementType", IfcTypeProduct_type);
+ entity* IfcElementarySurface_type = new entity("IfcElementarySurface", IfcSurface_type);
+ entity* IfcEllipseProfileDef_type = new entity("IfcEllipseProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcEnergyProperties_type = new entity("IfcEnergyProperties", IfcPropertySetDefinition_type);
+ entity* IfcExtrudedAreaSolid_type = new entity("IfcExtrudedAreaSolid", IfcSweptAreaSolid_type);
+ entity* IfcFaceBasedSurfaceModel_type = new entity("IfcFaceBasedSurfaceModel", IfcGeometricRepresentationItem_type);
+ entity* IfcFillAreaStyleHatching_type = new entity("IfcFillAreaStyleHatching", IfcGeometricRepresentationItem_type);
+ entity* IfcFillAreaStyleTileSymbolWithStyle_type = new entity("IfcFillAreaStyleTileSymbolWithStyle", IfcGeometricRepresentationItem_type);
+ entity* IfcFillAreaStyleTiles_type = new entity("IfcFillAreaStyleTiles", IfcGeometricRepresentationItem_type);
+ entity* IfcFluidFlowProperties_type = new entity("IfcFluidFlowProperties", IfcPropertySetDefinition_type);
+ entity* IfcFurnishingElementType_type = new entity("IfcFurnishingElementType", IfcElementType_type);
+ entity* IfcFurnitureType_type = new entity("IfcFurnitureType", IfcFurnishingElementType_type);
+ entity* IfcGeometricCurveSet_type = new entity("IfcGeometricCurveSet", IfcGeometricSet_type);
+ entity* IfcIShapeProfileDef_type = new entity("IfcIShapeProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcLShapeProfileDef_type = new entity("IfcLShapeProfileDef", IfcParameterizedProfileDef_type);
+ entity* IfcLine_type = new entity("IfcLine", IfcCurve_type);
+ entity* IfcManifoldSolidBrep_type = new entity("IfcManifoldSolidBrep", IfcSolidModel_type);
+ entity* IfcObject_type = new entity("IfcObject", IfcObjectDefinition_type);
+ entity* IfcOffsetCurve2D_type = new entity("IfcOffsetCurve2D", IfcCurve_type);
+ entity* IfcOffsetCurve3D_type = new entity("IfcOffsetCurve3D", IfcCurve_type);
+ entity* IfcPermeableCoveringProperties_type = new entity("IfcPermeableCoveringProperties", IfcPropertySetDefinition_type);
+ entity* IfcPlanarBox_type = new entity("IfcPlanarBox", IfcPlanarExtent_type);
+ entity* IfcPlane_type = new entity("IfcPlane", IfcElementarySurface_type);
+ entity* IfcProcess_type = new entity("IfcProcess", IfcObject_type);
+ entity* IfcProduct_type = new entity("IfcProduct", IfcObject_type);
+ entity* IfcProject_type = new entity("IfcProject", IfcObject_type);
+ entity* IfcProjectionCurve_type = new entity("IfcProjectionCurve", IfcAnnotationCurveOccurrence_type);
+ entity* IfcPropertySet_type = new entity("IfcPropertySet", IfcPropertySetDefinition_type);
+ entity* IfcProxy_type = new entity("IfcProxy", IfcProduct_type);
+ entity* IfcRectangleHollowProfileDef_type = new entity("IfcRectangleHollowProfileDef", IfcRectangleProfileDef_type);
+ entity* IfcRectangularPyramid_type = new entity("IfcRectangularPyramid", IfcCsgPrimitive3D_type);
+ entity* IfcRectangularTrimmedSurface_type = new entity("IfcRectangularTrimmedSurface", IfcBoundedSurface_type);
+ entity* IfcRelAssigns_type = new entity("IfcRelAssigns", IfcRelationship_type);
+ entity* IfcRelAssignsToActor_type = new entity("IfcRelAssignsToActor", IfcRelAssigns_type);
+ entity* IfcRelAssignsToControl_type = new entity("IfcRelAssignsToControl", IfcRelAssigns_type);
+ entity* IfcRelAssignsToGroup_type = new entity("IfcRelAssignsToGroup", IfcRelAssigns_type);
+ entity* IfcRelAssignsToProcess_type = new entity("IfcRelAssignsToProcess", IfcRelAssigns_type);
+ entity* IfcRelAssignsToProduct_type = new entity("IfcRelAssignsToProduct", IfcRelAssigns_type);
+ entity* IfcRelAssignsToProjectOrder_type = new entity("IfcRelAssignsToProjectOrder", IfcRelAssignsToControl_type);
+ entity* IfcRelAssignsToResource_type = new entity("IfcRelAssignsToResource", IfcRelAssigns_type);
+ entity* IfcRelAssociates_type = new entity("IfcRelAssociates", IfcRelationship_type);
+ entity* IfcRelAssociatesAppliedValue_type = new entity("IfcRelAssociatesAppliedValue", IfcRelAssociates_type);
+ entity* IfcRelAssociatesApproval_type = new entity("IfcRelAssociatesApproval", IfcRelAssociates_type);
+ entity* IfcRelAssociatesClassification_type = new entity("IfcRelAssociatesClassification", IfcRelAssociates_type);
+ entity* IfcRelAssociatesConstraint_type = new entity("IfcRelAssociatesConstraint", IfcRelAssociates_type);
+ entity* IfcRelAssociatesDocument_type = new entity("IfcRelAssociatesDocument", IfcRelAssociates_type);
+ entity* IfcRelAssociatesLibrary_type = new entity("IfcRelAssociatesLibrary", IfcRelAssociates_type);
+ entity* IfcRelAssociatesMaterial_type = new entity("IfcRelAssociatesMaterial", IfcRelAssociates_type);
+ entity* IfcRelAssociatesProfileProperties_type = new entity("IfcRelAssociatesProfileProperties", IfcRelAssociates_type);
+ entity* IfcRelConnects_type = new entity("IfcRelConnects", IfcRelationship_type);
+ entity* IfcRelConnectsElements_type = new entity("IfcRelConnectsElements", IfcRelConnects_type);
+ entity* IfcRelConnectsPathElements_type = new entity("IfcRelConnectsPathElements", IfcRelConnectsElements_type);
+ entity* IfcRelConnectsPortToElement_type = new entity("IfcRelConnectsPortToElement", IfcRelConnects_type);
+ entity* IfcRelConnectsPorts_type = new entity("IfcRelConnectsPorts", IfcRelConnects_type);
+ entity* IfcRelConnectsStructuralActivity_type = new entity("IfcRelConnectsStructuralActivity", IfcRelConnects_type);
+ entity* IfcRelConnectsStructuralElement_type = new entity("IfcRelConnectsStructuralElement", IfcRelConnects_type);
+ entity* IfcRelConnectsStructuralMember_type = new entity("IfcRelConnectsStructuralMember", IfcRelConnects_type);
+ entity* IfcRelConnectsWithEccentricity_type = new entity("IfcRelConnectsWithEccentricity", IfcRelConnectsStructuralMember_type);
+ entity* IfcRelConnectsWithRealizingElements_type = new entity("IfcRelConnectsWithRealizingElements", IfcRelConnectsElements_type);
+ entity* IfcRelContainedInSpatialStructure_type = new entity("IfcRelContainedInSpatialStructure", IfcRelConnects_type);
+ entity* IfcRelCoversBldgElements_type = new entity("IfcRelCoversBldgElements", IfcRelConnects_type);
+ entity* IfcRelCoversSpaces_type = new entity("IfcRelCoversSpaces", IfcRelConnects_type);
+ entity* IfcRelDecomposes_type = new entity("IfcRelDecomposes", IfcRelationship_type);
+ entity* IfcRelDefines_type = new entity("IfcRelDefines", IfcRelationship_type);
+ entity* IfcRelDefinesByProperties_type = new entity("IfcRelDefinesByProperties", IfcRelDefines_type);
+ entity* IfcRelDefinesByType_type = new entity("IfcRelDefinesByType", IfcRelDefines_type);
+ entity* IfcRelFillsElement_type = new entity("IfcRelFillsElement", IfcRelConnects_type);
+ entity* IfcRelFlowControlElements_type = new entity("IfcRelFlowControlElements", IfcRelConnects_type);
+ entity* IfcRelInteractionRequirements_type = new entity("IfcRelInteractionRequirements", IfcRelConnects_type);
+ entity* IfcRelNests_type = new entity("IfcRelNests", IfcRelDecomposes_type);
+ entity* IfcRelOccupiesSpaces_type = new entity("IfcRelOccupiesSpaces", IfcRelAssignsToActor_type);
+ entity* IfcRelOverridesProperties_type = new entity("IfcRelOverridesProperties", IfcRelDefinesByProperties_type);
+ entity* IfcRelProjectsElement_type = new entity("IfcRelProjectsElement", IfcRelConnects_type);
+ entity* IfcRelReferencedInSpatialStructure_type = new entity("IfcRelReferencedInSpatialStructure", IfcRelConnects_type);
+ entity* IfcRelSchedulesCostItems_type = new entity("IfcRelSchedulesCostItems", IfcRelAssignsToControl_type);
+ entity* IfcRelSequence_type = new entity("IfcRelSequence", IfcRelConnects_type);
+ entity* IfcRelServicesBuildings_type = new entity("IfcRelServicesBuildings", IfcRelConnects_type);
+ entity* IfcRelSpaceBoundary_type = new entity("IfcRelSpaceBoundary", IfcRelConnects_type);
+ entity* IfcRelVoidsElement_type = new entity("IfcRelVoidsElement", IfcRelConnects_type);
+ entity* IfcResource_type = new entity("IfcResource", IfcObject_type);
+ entity* IfcRevolvedAreaSolid_type = new entity("IfcRevolvedAreaSolid", IfcSweptAreaSolid_type);
+ entity* IfcRightCircularCone_type = new entity("IfcRightCircularCone", IfcCsgPrimitive3D_type);
+ entity* IfcRightCircularCylinder_type = new entity("IfcRightCircularCylinder", IfcCsgPrimitive3D_type);
+ entity* IfcSpatialStructureElement_type = new entity("IfcSpatialStructureElement", IfcProduct_type);
+ entity* IfcSpatialStructureElementType_type = new entity("IfcSpatialStructureElementType", IfcElementType_type);
+ entity* IfcSphere_type = new entity("IfcSphere", IfcCsgPrimitive3D_type);
+ entity* IfcStructuralActivity_type = new entity("IfcStructuralActivity", IfcProduct_type);
+ entity* IfcStructuralItem_type = new entity("IfcStructuralItem", IfcProduct_type);
+ entity* IfcStructuralMember_type = new entity("IfcStructuralMember", IfcStructuralItem_type);
+ entity* IfcStructuralReaction_type = new entity("IfcStructuralReaction", IfcStructuralActivity_type);
+ entity* IfcStructuralSurfaceMember_type = new entity("IfcStructuralSurfaceMember", IfcStructuralMember_type);
+ entity* IfcStructuralSurfaceMemberVarying_type = new entity("IfcStructuralSurfaceMemberVarying", IfcStructuralSurfaceMember_type);
+ entity* IfcStructuredDimensionCallout_type = new entity("IfcStructuredDimensionCallout", IfcDraughtingCallout_type);
+ entity* IfcSurfaceCurveSweptAreaSolid_type = new entity("IfcSurfaceCurveSweptAreaSolid", IfcSweptAreaSolid_type);
+ entity* IfcSurfaceOfLinearExtrusion_type = new entity("IfcSurfaceOfLinearExtrusion", IfcSweptSurface_type);
+ entity* IfcSurfaceOfRevolution_type = new entity("IfcSurfaceOfRevolution", IfcSweptSurface_type);
+ entity* IfcSystemFurnitureElementType_type = new entity("IfcSystemFurnitureElementType", IfcFurnishingElementType_type);
+ entity* IfcTask_type = new entity("IfcTask", IfcProcess_type);
+ entity* IfcTransportElementType_type = new entity("IfcTransportElementType", IfcElementType_type);
+ entity* IfcActor_type = new entity("IfcActor", IfcObject_type);
+ entity* IfcAnnotation_type = new entity("IfcAnnotation", IfcProduct_type);
+ entity* IfcAsymmetricIShapeProfileDef_type = new entity("IfcAsymmetricIShapeProfileDef", IfcIShapeProfileDef_type);
+ entity* IfcBlock_type = new entity("IfcBlock", IfcCsgPrimitive3D_type);
+ entity* IfcBooleanClippingResult_type = new entity("IfcBooleanClippingResult", IfcBooleanResult_type);
+ entity* IfcBoundedCurve_type = new entity("IfcBoundedCurve", IfcCurve_type);
+ entity* IfcBuilding_type = new entity("IfcBuilding", IfcSpatialStructureElement_type);
+ entity* IfcBuildingElementType_type = new entity("IfcBuildingElementType", IfcElementType_type);
+ entity* IfcBuildingStorey_type = new entity("IfcBuildingStorey", IfcSpatialStructureElement_type);
+ entity* IfcCircleHollowProfileDef_type = new entity("IfcCircleHollowProfileDef", IfcCircleProfileDef_type);
+ entity* IfcColumnType_type = new entity("IfcColumnType", IfcBuildingElementType_type);
+ entity* IfcCompositeCurve_type = new entity("IfcCompositeCurve", IfcBoundedCurve_type);
+ entity* IfcConic_type = new entity("IfcConic", IfcCurve_type);
+ entity* IfcConstructionResource_type = new entity("IfcConstructionResource", IfcResource_type);
+ entity* IfcControl_type = new entity("IfcControl", IfcObject_type);
+ entity* IfcCostItem_type = new entity("IfcCostItem", IfcControl_type);
+ entity* IfcCostSchedule_type = new entity("IfcCostSchedule", IfcControl_type);
+ entity* IfcCoveringType_type = new entity("IfcCoveringType", IfcBuildingElementType_type);
+ entity* IfcCrewResource_type = new entity("IfcCrewResource", IfcConstructionResource_type);
+ entity* IfcCurtainWallType_type = new entity("IfcCurtainWallType", IfcBuildingElementType_type);
+ entity* IfcDimensionCurveDirectedCallout_type = new entity("IfcDimensionCurveDirectedCallout", IfcDraughtingCallout_type);
+ entity* IfcDistributionElementType_type = new entity("IfcDistributionElementType", IfcElementType_type);
+ entity* IfcDistributionFlowElementType_type = new entity("IfcDistributionFlowElementType", IfcDistributionElementType_type);
+ entity* IfcElectricalBaseProperties_type = new entity("IfcElectricalBaseProperties", IfcEnergyProperties_type);
+ entity* IfcElement_type = new entity("IfcElement", IfcProduct_type);
+ entity* IfcElementAssembly_type = new entity("IfcElementAssembly", IfcElement_type);
+ entity* IfcElementComponent_type = new entity("IfcElementComponent", IfcElement_type);
+ entity* IfcElementComponentType_type = new entity("IfcElementComponentType", IfcElementType_type);
+ entity* IfcEllipse_type = new entity("IfcEllipse", IfcConic_type);
+ entity* IfcEnergyConversionDeviceType_type = new entity("IfcEnergyConversionDeviceType", IfcDistributionFlowElementType_type);
+ entity* IfcEquipmentElement_type = new entity("IfcEquipmentElement", IfcElement_type);
+ entity* IfcEquipmentStandard_type = new entity("IfcEquipmentStandard", IfcControl_type);
+ entity* IfcEvaporativeCoolerType_type = new entity("IfcEvaporativeCoolerType", IfcEnergyConversionDeviceType_type);
+ entity* IfcEvaporatorType_type = new entity("IfcEvaporatorType", IfcEnergyConversionDeviceType_type);
+ entity* IfcFacetedBrep_type = new entity("IfcFacetedBrep", IfcManifoldSolidBrep_type);
+ entity* IfcFacetedBrepWithVoids_type = new entity("IfcFacetedBrepWithVoids", IfcManifoldSolidBrep_type);
+ entity* IfcFastener_type = new entity("IfcFastener", IfcElementComponent_type);
+ entity* IfcFastenerType_type = new entity("IfcFastenerType", IfcElementComponentType_type);
+ entity* IfcFeatureElement_type = new entity("IfcFeatureElement", IfcElement_type);
+ entity* IfcFeatureElementAddition_type = new entity("IfcFeatureElementAddition", IfcFeatureElement_type);
+ entity* IfcFeatureElementSubtraction_type = new entity("IfcFeatureElementSubtraction", IfcFeatureElement_type);
+ entity* IfcFlowControllerType_type = new entity("IfcFlowControllerType", IfcDistributionFlowElementType_type);
+ entity* IfcFlowFittingType_type = new entity("IfcFlowFittingType", IfcDistributionFlowElementType_type);
+ entity* IfcFlowMeterType_type = new entity("IfcFlowMeterType", IfcFlowControllerType_type);
+ entity* IfcFlowMovingDeviceType_type = new entity("IfcFlowMovingDeviceType", IfcDistributionFlowElementType_type);
+ entity* IfcFlowSegmentType_type = new entity("IfcFlowSegmentType", IfcDistributionFlowElementType_type);
+ entity* IfcFlowStorageDeviceType_type = new entity("IfcFlowStorageDeviceType", IfcDistributionFlowElementType_type);
+ entity* IfcFlowTerminalType_type = new entity("IfcFlowTerminalType", IfcDistributionFlowElementType_type);
+ entity* IfcFlowTreatmentDeviceType_type = new entity("IfcFlowTreatmentDeviceType", IfcDistributionFlowElementType_type);
+ entity* IfcFurnishingElement_type = new entity("IfcFurnishingElement", IfcElement_type);
+ entity* IfcFurnitureStandard_type = new entity("IfcFurnitureStandard", IfcControl_type);
+ entity* IfcGasTerminalType_type = new entity("IfcGasTerminalType", IfcFlowTerminalType_type);
+ entity* IfcGrid_type = new entity("IfcGrid", IfcProduct_type);
+ entity* IfcGroup_type = new entity("IfcGroup", IfcObject_type);
+ entity* IfcHeatExchangerType_type = new entity("IfcHeatExchangerType", IfcEnergyConversionDeviceType_type);
+ entity* IfcHumidifierType_type = new entity("IfcHumidifierType", IfcEnergyConversionDeviceType_type);
+ entity* IfcInventory_type = new entity("IfcInventory", IfcGroup_type);
+ entity* IfcJunctionBoxType_type = new entity("IfcJunctionBoxType", IfcFlowFittingType_type);
+ entity* IfcLaborResource_type = new entity("IfcLaborResource", IfcConstructionResource_type);
+ entity* IfcLampType_type = new entity("IfcLampType", IfcFlowTerminalType_type);
+ entity* IfcLightFixtureType_type = new entity("IfcLightFixtureType", IfcFlowTerminalType_type);
+ entity* IfcLinearDimension_type = new entity("IfcLinearDimension", IfcDimensionCurveDirectedCallout_type);
+ entity* IfcMechanicalFastener_type = new entity("IfcMechanicalFastener", IfcFastener_type);
+ entity* IfcMechanicalFastenerType_type = new entity("IfcMechanicalFastenerType", IfcFastenerType_type);
+ entity* IfcMemberType_type = new entity("IfcMemberType", IfcBuildingElementType_type);
+ entity* IfcMotorConnectionType_type = new entity("IfcMotorConnectionType", IfcEnergyConversionDeviceType_type);
+ entity* IfcMove_type = new entity("IfcMove", IfcTask_type);
+ entity* IfcOccupant_type = new entity("IfcOccupant", IfcActor_type);
+ entity* IfcOpeningElement_type = new entity("IfcOpeningElement", IfcFeatureElementSubtraction_type);
+ entity* IfcOrderAction_type = new entity("IfcOrderAction", IfcTask_type);
+ entity* IfcOutletType_type = new entity("IfcOutletType", IfcFlowTerminalType_type);
+ entity* IfcPerformanceHistory_type = new entity("IfcPerformanceHistory", IfcControl_type);
+ entity* IfcPermit_type = new entity("IfcPermit", IfcControl_type);
+ entity* IfcPipeFittingType_type = new entity("IfcPipeFittingType", IfcFlowFittingType_type);
+ entity* IfcPipeSegmentType_type = new entity("IfcPipeSegmentType", IfcFlowSegmentType_type);
+ entity* IfcPlateType_type = new entity("IfcPlateType", IfcBuildingElementType_type);
+ entity* IfcPolyline_type = new entity("IfcPolyline", IfcBoundedCurve_type);
+ entity* IfcPort_type = new entity("IfcPort", IfcProduct_type);
+ entity* IfcProcedure_type = new entity("IfcProcedure", IfcProcess_type);
+ entity* IfcProjectOrder_type = new entity("IfcProjectOrder", IfcControl_type);
+ entity* IfcProjectOrderRecord_type = new entity("IfcProjectOrderRecord", IfcControl_type);
+ entity* IfcProjectionElement_type = new entity("IfcProjectionElement", IfcFeatureElementAddition_type);
+ entity* IfcProtectiveDeviceType_type = new entity("IfcProtectiveDeviceType", IfcFlowControllerType_type);
+ entity* IfcPumpType_type = new entity("IfcPumpType", IfcFlowMovingDeviceType_type);
+ entity* IfcRadiusDimension_type = new entity("IfcRadiusDimension", IfcDimensionCurveDirectedCallout_type);
+ entity* IfcRailingType_type = new entity("IfcRailingType", IfcBuildingElementType_type);
+ entity* IfcRampFlightType_type = new entity("IfcRampFlightType", IfcBuildingElementType_type);
+ entity* IfcRelAggregates_type = new entity("IfcRelAggregates", IfcRelDecomposes_type);
+ entity* IfcRelAssignsTasks_type = new entity("IfcRelAssignsTasks", IfcRelAssignsToControl_type);
+ entity* IfcSanitaryTerminalType_type = new entity("IfcSanitaryTerminalType", IfcFlowTerminalType_type);
+ entity* IfcScheduleTimeControl_type = new entity("IfcScheduleTimeControl", IfcControl_type);
+ entity* IfcServiceLife_type = new entity("IfcServiceLife", IfcControl_type);
+ entity* IfcSite_type = new entity("IfcSite", IfcSpatialStructureElement_type);
+ entity* IfcSlabType_type = new entity("IfcSlabType", IfcBuildingElementType_type);
+ entity* IfcSpace_type = new entity("IfcSpace", IfcSpatialStructureElement_type);
+ entity* IfcSpaceHeaterType_type = new entity("IfcSpaceHeaterType", IfcEnergyConversionDeviceType_type);
+ entity* IfcSpaceProgram_type = new entity("IfcSpaceProgram", IfcControl_type);
+ entity* IfcSpaceType_type = new entity("IfcSpaceType", IfcSpatialStructureElementType_type);
+ entity* IfcStackTerminalType_type = new entity("IfcStackTerminalType", IfcFlowTerminalType_type);
+ entity* IfcStairFlightType_type = new entity("IfcStairFlightType", IfcBuildingElementType_type);
+ entity* IfcStructuralAction_type = new entity("IfcStructuralAction", IfcStructuralActivity_type);
+ entity* IfcStructuralConnection_type = new entity("IfcStructuralConnection", IfcStructuralItem_type);
+ entity* IfcStructuralCurveConnection_type = new entity("IfcStructuralCurveConnection", IfcStructuralConnection_type);
+ entity* IfcStructuralCurveMember_type = new entity("IfcStructuralCurveMember", IfcStructuralMember_type);
+ entity* IfcStructuralCurveMemberVarying_type = new entity("IfcStructuralCurveMemberVarying", IfcStructuralCurveMember_type);
+ entity* IfcStructuralLinearAction_type = new entity("IfcStructuralLinearAction", IfcStructuralAction_type);
+ entity* IfcStructuralLinearActionVarying_type = new entity("IfcStructuralLinearActionVarying", IfcStructuralLinearAction_type);
+ entity* IfcStructuralLoadGroup_type = new entity("IfcStructuralLoadGroup", IfcGroup_type);
+ entity* IfcStructuralPlanarAction_type = new entity("IfcStructuralPlanarAction", IfcStructuralAction_type);
+ entity* IfcStructuralPlanarActionVarying_type = new entity("IfcStructuralPlanarActionVarying", IfcStructuralPlanarAction_type);
+ entity* IfcStructuralPointAction_type = new entity("IfcStructuralPointAction", IfcStructuralAction_type);
+ entity* IfcStructuralPointConnection_type = new entity("IfcStructuralPointConnection", IfcStructuralConnection_type);
+ entity* IfcStructuralPointReaction_type = new entity("IfcStructuralPointReaction", IfcStructuralReaction_type);
+ entity* IfcStructuralResultGroup_type = new entity("IfcStructuralResultGroup", IfcGroup_type);
+ entity* IfcStructuralSurfaceConnection_type = new entity("IfcStructuralSurfaceConnection", IfcStructuralConnection_type);
+ entity* IfcSubContractResource_type = new entity("IfcSubContractResource", IfcConstructionResource_type);
+ entity* IfcSwitchingDeviceType_type = new entity("IfcSwitchingDeviceType", IfcFlowControllerType_type);
+ entity* IfcSystem_type = new entity("IfcSystem", IfcGroup_type);
+ entity* IfcTankType_type = new entity("IfcTankType", IfcFlowStorageDeviceType_type);
+ entity* IfcTimeSeriesSchedule_type = new entity("IfcTimeSeriesSchedule", IfcControl_type);
+ entity* IfcTransformerType_type = new entity("IfcTransformerType", IfcEnergyConversionDeviceType_type);
+ entity* IfcTransportElement_type = new entity("IfcTransportElement", IfcElement_type);
+ entity* IfcTrimmedCurve_type = new entity("IfcTrimmedCurve", IfcBoundedCurve_type);
+ entity* IfcTubeBundleType_type = new entity("IfcTubeBundleType", IfcEnergyConversionDeviceType_type);
+ entity* IfcUnitaryEquipmentType_type = new entity("IfcUnitaryEquipmentType", IfcEnergyConversionDeviceType_type);
+ entity* IfcValveType_type = new entity("IfcValveType", IfcFlowControllerType_type);
+ entity* IfcVirtualElement_type = new entity("IfcVirtualElement", IfcElement_type);
+ entity* IfcWallType_type = new entity("IfcWallType", IfcBuildingElementType_type);
+ entity* IfcWasteTerminalType_type = new entity("IfcWasteTerminalType", IfcFlowTerminalType_type);
+ entity* IfcWorkControl_type = new entity("IfcWorkControl", IfcControl_type);
+ entity* IfcWorkPlan_type = new entity("IfcWorkPlan", IfcWorkControl_type);
+ entity* IfcWorkSchedule_type = new entity("IfcWorkSchedule", IfcWorkControl_type);
+ entity* IfcZone_type = new entity("IfcZone", IfcGroup_type);
+ entity* Ifc2DCompositeCurve_type = new entity("Ifc2DCompositeCurve", IfcCompositeCurve_type);
+ entity* IfcActionRequest_type = new entity("IfcActionRequest", IfcControl_type);
+ entity* IfcAirTerminalBoxType_type = new entity("IfcAirTerminalBoxType", IfcFlowControllerType_type);
+ entity* IfcAirTerminalType_type = new entity("IfcAirTerminalType", IfcFlowTerminalType_type);
+ entity* IfcAirToAirHeatRecoveryType_type = new entity("IfcAirToAirHeatRecoveryType", IfcEnergyConversionDeviceType_type);
+ entity* IfcAngularDimension_type = new entity("IfcAngularDimension", IfcDimensionCurveDirectedCallout_type);
+ entity* IfcAsset_type = new entity("IfcAsset", IfcGroup_type);
+ entity* IfcBSplineCurve_type = new entity("IfcBSplineCurve", IfcBoundedCurve_type);
+ entity* IfcBeamType_type = new entity("IfcBeamType", IfcBuildingElementType_type);
+ entity* IfcBezierCurve_type = new entity("IfcBezierCurve", IfcBSplineCurve_type);
+ entity* IfcBoilerType_type = new entity("IfcBoilerType", IfcEnergyConversionDeviceType_type);
+ entity* IfcBuildingElement_type = new entity("IfcBuildingElement", IfcElement_type);
+ entity* IfcBuildingElementComponent_type = new entity("IfcBuildingElementComponent", IfcBuildingElement_type);
+ entity* IfcBuildingElementPart_type = new entity("IfcBuildingElementPart", IfcBuildingElementComponent_type);
+ entity* IfcBuildingElementProxy_type = new entity("IfcBuildingElementProxy", IfcBuildingElement_type);
+ entity* IfcBuildingElementProxyType_type = new entity("IfcBuildingElementProxyType", IfcBuildingElementType_type);
+ entity* IfcCableCarrierFittingType_type = new entity("IfcCableCarrierFittingType", IfcFlowFittingType_type);
+ entity* IfcCableCarrierSegmentType_type = new entity("IfcCableCarrierSegmentType", IfcFlowSegmentType_type);
+ entity* IfcCableSegmentType_type = new entity("IfcCableSegmentType", IfcFlowSegmentType_type);
+ entity* IfcChillerType_type = new entity("IfcChillerType", IfcEnergyConversionDeviceType_type);
+ entity* IfcCircle_type = new entity("IfcCircle", IfcConic_type);
+ entity* IfcCoilType_type = new entity("IfcCoilType", IfcEnergyConversionDeviceType_type);
+ entity* IfcColumn_type = new entity("IfcColumn", IfcBuildingElement_type);
+ entity* IfcCompressorType_type = new entity("IfcCompressorType", IfcFlowMovingDeviceType_type);
+ entity* IfcCondenserType_type = new entity("IfcCondenserType", IfcEnergyConversionDeviceType_type);
+ entity* IfcCondition_type = new entity("IfcCondition", IfcGroup_type);
+ entity* IfcConditionCriterion_type = new entity("IfcConditionCriterion", IfcControl_type);
+ entity* IfcConstructionEquipmentResource_type = new entity("IfcConstructionEquipmentResource", IfcConstructionResource_type);
+ entity* IfcConstructionMaterialResource_type = new entity("IfcConstructionMaterialResource", IfcConstructionResource_type);
+ entity* IfcConstructionProductResource_type = new entity("IfcConstructionProductResource", IfcConstructionResource_type);
+ entity* IfcCooledBeamType_type = new entity("IfcCooledBeamType", IfcEnergyConversionDeviceType_type);
+ entity* IfcCoolingTowerType_type = new entity("IfcCoolingTowerType", IfcEnergyConversionDeviceType_type);
+ entity* IfcCovering_type = new entity("IfcCovering", IfcBuildingElement_type);
+ entity* IfcCurtainWall_type = new entity("IfcCurtainWall", IfcBuildingElement_type);
+ entity* IfcDamperType_type = new entity("IfcDamperType", IfcFlowControllerType_type);
+ entity* IfcDiameterDimension_type = new entity("IfcDiameterDimension", IfcDimensionCurveDirectedCallout_type);
+ entity* IfcDiscreteAccessory_type = new entity("IfcDiscreteAccessory", IfcElementComponent_type);
+ entity* IfcDiscreteAccessoryType_type = new entity("IfcDiscreteAccessoryType", IfcElementComponentType_type);
+ entity* IfcDistributionChamberElementType_type = new entity("IfcDistributionChamberElementType", IfcDistributionFlowElementType_type);
+ entity* IfcDistributionControlElementType_type = new entity("IfcDistributionControlElementType", IfcDistributionElementType_type);
+ entity* IfcDistributionElement_type = new entity("IfcDistributionElement", IfcElement_type);
+ entity* IfcDistributionFlowElement_type = new entity("IfcDistributionFlowElement", IfcDistributionElement_type);
+ entity* IfcDistributionPort_type = new entity("IfcDistributionPort", IfcPort_type);
+ entity* IfcDoor_type = new entity("IfcDoor", IfcBuildingElement_type);
+ entity* IfcDuctFittingType_type = new entity("IfcDuctFittingType", IfcFlowFittingType_type);
+ entity* IfcDuctSegmentType_type = new entity("IfcDuctSegmentType", IfcFlowSegmentType_type);
+ entity* IfcDuctSilencerType_type = new entity("IfcDuctSilencerType", IfcFlowTreatmentDeviceType_type);
+ entity* IfcEdgeFeature_type = new entity("IfcEdgeFeature", IfcFeatureElementSubtraction_type);
+ entity* IfcElectricApplianceType_type = new entity("IfcElectricApplianceType", IfcFlowTerminalType_type);
+ entity* IfcElectricFlowStorageDeviceType_type = new entity("IfcElectricFlowStorageDeviceType", IfcFlowStorageDeviceType_type);
+ entity* IfcElectricGeneratorType_type = new entity("IfcElectricGeneratorType", IfcEnergyConversionDeviceType_type);
+ entity* IfcElectricHeaterType_type = new entity("IfcElectricHeaterType", IfcFlowTerminalType_type);
+ entity* IfcElectricMotorType_type = new entity("IfcElectricMotorType", IfcEnergyConversionDeviceType_type);
+ entity* IfcElectricTimeControlType_type = new entity("IfcElectricTimeControlType", IfcFlowControllerType_type);
+ entity* IfcElectricalCircuit_type = new entity("IfcElectricalCircuit", IfcSystem_type);
+ entity* IfcElectricalElement_type = new entity("IfcElectricalElement", IfcElement_type);
+ entity* IfcEnergyConversionDevice_type = new entity("IfcEnergyConversionDevice", IfcDistributionFlowElement_type);
+ entity* IfcFanType_type = new entity("IfcFanType", IfcFlowMovingDeviceType_type);
+ entity* IfcFilterType_type = new entity("IfcFilterType", IfcFlowTreatmentDeviceType_type);
+ entity* IfcFireSuppressionTerminalType_type = new entity("IfcFireSuppressionTerminalType", IfcFlowTerminalType_type);
+ entity* IfcFlowController_type = new entity("IfcFlowController", IfcDistributionFlowElement_type);
+ entity* IfcFlowFitting_type = new entity("IfcFlowFitting", IfcDistributionFlowElement_type);
+ entity* IfcFlowInstrumentType_type = new entity("IfcFlowInstrumentType", IfcDistributionControlElementType_type);
+ entity* IfcFlowMovingDevice_type = new entity("IfcFlowMovingDevice", IfcDistributionFlowElement_type);
+ entity* IfcFlowSegment_type = new entity("IfcFlowSegment", IfcDistributionFlowElement_type);
+ entity* IfcFlowStorageDevice_type = new entity("IfcFlowStorageDevice", IfcDistributionFlowElement_type);
+ entity* IfcFlowTerminal_type = new entity("IfcFlowTerminal", IfcDistributionFlowElement_type);
+ entity* IfcFlowTreatmentDevice_type = new entity("IfcFlowTreatmentDevice", IfcDistributionFlowElement_type);
+ entity* IfcFooting_type = new entity("IfcFooting", IfcBuildingElement_type);
+ entity* IfcMember_type = new entity("IfcMember", IfcBuildingElement_type);
+ entity* IfcPile_type = new entity("IfcPile", IfcBuildingElement_type);
+ entity* IfcPlate_type = new entity("IfcPlate", IfcBuildingElement_type);
+ entity* IfcRailing_type = new entity("IfcRailing", IfcBuildingElement_type);
+ entity* IfcRamp_type = new entity("IfcRamp", IfcBuildingElement_type);
+ entity* IfcRampFlight_type = new entity("IfcRampFlight", IfcBuildingElement_type);
+ entity* IfcRationalBezierCurve_type = new entity("IfcRationalBezierCurve", IfcBezierCurve_type);
+ entity* IfcReinforcingElement_type = new entity("IfcReinforcingElement", IfcBuildingElementComponent_type);
+ entity* IfcReinforcingMesh_type = new entity("IfcReinforcingMesh", IfcReinforcingElement_type);
+ entity* IfcRoof_type = new entity("IfcRoof", IfcBuildingElement_type);
+ entity* IfcRoundedEdgeFeature_type = new entity("IfcRoundedEdgeFeature", IfcEdgeFeature_type);
+ entity* IfcSensorType_type = new entity("IfcSensorType", IfcDistributionControlElementType_type);
+ entity* IfcSlab_type = new entity("IfcSlab", IfcBuildingElement_type);
+ entity* IfcStair_type = new entity("IfcStair", IfcBuildingElement_type);
+ entity* IfcStairFlight_type = new entity("IfcStairFlight", IfcBuildingElement_type);
+ entity* IfcStructuralAnalysisModel_type = new entity("IfcStructuralAnalysisModel", IfcSystem_type);
+ entity* IfcTendon_type = new entity("IfcTendon", IfcReinforcingElement_type);
+ entity* IfcTendonAnchor_type = new entity("IfcTendonAnchor", IfcReinforcingElement_type);
+ entity* IfcVibrationIsolatorType_type = new entity("IfcVibrationIsolatorType", IfcDiscreteAccessoryType_type);
+ entity* IfcWall_type = new entity("IfcWall", IfcBuildingElement_type);
+ entity* IfcWallStandardCase_type = new entity("IfcWallStandardCase", IfcWall_type);
+ entity* IfcWindow_type = new entity("IfcWindow", IfcBuildingElement_type);
+ entity* IfcActuatorType_type = new entity("IfcActuatorType", IfcDistributionControlElementType_type);
+ entity* IfcAlarmType_type = new entity("IfcAlarmType", IfcDistributionControlElementType_type);
+ entity* IfcBeam_type = new entity("IfcBeam", IfcBuildingElement_type);
+ entity* IfcChamferEdgeFeature_type = new entity("IfcChamferEdgeFeature", IfcEdgeFeature_type);
+ entity* IfcControllerType_type = new entity("IfcControllerType", IfcDistributionControlElementType_type);
+ entity* IfcDistributionChamberElement_type = new entity("IfcDistributionChamberElement", IfcDistributionFlowElement_type);
+ entity* IfcDistributionControlElement_type = new entity("IfcDistributionControlElement", IfcDistributionElement_type);
+ entity* IfcElectricDistributionPoint_type = new entity("IfcElectricDistributionPoint", IfcFlowController_type);
+ entity* IfcReinforcingBar_type = new entity("IfcReinforcingBar", IfcReinforcingElement_type);
+ declaration* IfcActorSelect_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcOrganization_type);
+ items.push_back(IfcPerson_type);
+ items.push_back(IfcPersonAndOrganization_type);
+ IfcActorSelect_type = new select_type("IfcActorSelect", items);
+ }
+ declaration* IfcAppliedValueSelect_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcMeasureWithUnit_type);
+ items.push_back(IfcMonetaryMeasure_type);
+ items.push_back(IfcRatioMeasure_type);
+ IfcAppliedValueSelect_type = new select_type("IfcAppliedValueSelect", items);
+ }
+ declaration* IfcAxis2Placement_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcAxis2Placement2D_type);
+ items.push_back(IfcAxis2Placement3D_type);
+ IfcAxis2Placement_type = new select_type("IfcAxis2Placement", items);
+ }
+ declaration* IfcBooleanOperand_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back(IfcBooleanResult_type);
+ items.push_back(IfcCsgPrimitive3D_type);
+ items.push_back(IfcHalfSpaceSolid_type);
+ items.push_back(IfcSolidModel_type);
+ IfcBooleanOperand_type = new select_type("IfcBooleanOperand", items);
+ }
+ declaration* IfcCharacterStyleSelect_type;
+ {
+ std::vector items; items.reserve(1);
+ items.push_back(IfcTextStyleForDefinedFont_type);
+ IfcCharacterStyleSelect_type = new select_type("IfcCharacterStyleSelect", items);
+ }
+ declaration* IfcClassificationNotationSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcClassificationNotation_type);
+ items.push_back(IfcClassificationReference_type);
+ IfcClassificationNotationSelect_type = new select_type("IfcClassificationNotationSelect", items);
+ }
+ declaration* IfcColour_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcColourSpecification_type);
+ items.push_back(IfcPreDefinedColour_type);
+ IfcColour_type = new select_type("IfcColour", items);
+ }
+ declaration* IfcColourOrFactor_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcColourRgb_type);
+ items.push_back(IfcNormalisedRatioMeasure_type);
+ IfcColourOrFactor_type = new select_type("IfcColourOrFactor", items);
+ }
+ declaration* IfcConditionCriterionSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcLabel_type);
+ items.push_back(IfcMeasureWithUnit_type);
+ IfcConditionCriterionSelect_type = new select_type("IfcConditionCriterionSelect", items);
+ }
+ declaration* IfcCsgSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcBooleanResult_type);
+ items.push_back(IfcCsgPrimitive3D_type);
+ IfcCsgSelect_type = new select_type("IfcCsgSelect", items);
+ }
+ declaration* IfcCurveOrEdgeCurve_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcBoundedCurve_type);
+ items.push_back(IfcEdgeCurve_type);
+ IfcCurveOrEdgeCurve_type = new select_type("IfcCurveOrEdgeCurve", items);
+ }
+ declaration* IfcCurveStyleFontSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcCurveStyleFont_type);
+ items.push_back(IfcPreDefinedCurveFont_type);
+ IfcCurveStyleFontSelect_type = new select_type("IfcCurveStyleFontSelect", items);
+ }
+ declaration* IfcDateTimeSelect_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcCalendarDate_type);
+ items.push_back(IfcDateAndTime_type);
+ items.push_back(IfcLocalTime_type);
+ IfcDateTimeSelect_type = new select_type("IfcDateTimeSelect", items);
+ }
+ declaration* IfcDefinedSymbolSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcExternallyDefinedSymbol_type);
+ items.push_back(IfcPreDefinedSymbol_type);
+ IfcDefinedSymbolSelect_type = new select_type("IfcDefinedSymbolSelect", items);
+ }
+ declaration* IfcDerivedMeasureValue_type;
+ {
+ std::vector items; items.reserve(68);
+ items.push_back(IfcAbsorbedDoseMeasure_type);
+ items.push_back(IfcAccelerationMeasure_type);
+ items.push_back(IfcAngularVelocityMeasure_type);
+ items.push_back(IfcCompoundPlaneAngleMeasure_type);
+ items.push_back(IfcCurvatureMeasure_type);
+ items.push_back(IfcDoseEquivalentMeasure_type);
+ items.push_back(IfcDynamicViscosityMeasure_type);
+ items.push_back(IfcElectricCapacitanceMeasure_type);
+ items.push_back(IfcElectricChargeMeasure_type);
+ items.push_back(IfcElectricConductanceMeasure_type);
+ items.push_back(IfcElectricResistanceMeasure_type);
+ items.push_back(IfcElectricVoltageMeasure_type);
+ items.push_back(IfcEnergyMeasure_type);
+ items.push_back(IfcForceMeasure_type);
+ items.push_back(IfcFrequencyMeasure_type);
+ items.push_back(IfcHeatFluxDensityMeasure_type);
+ items.push_back(IfcHeatingValueMeasure_type);
+ items.push_back(IfcIlluminanceMeasure_type);
+ items.push_back(IfcInductanceMeasure_type);
+ items.push_back(IfcIntegerCountRateMeasure_type);
+ items.push_back(IfcIonConcentrationMeasure_type);
+ items.push_back(IfcIsothermalMoistureCapacityMeasure_type);
+ items.push_back(IfcKinematicViscosityMeasure_type);
+ items.push_back(IfcLinearForceMeasure_type);
+ items.push_back(IfcLinearMomentMeasure_type);
+ items.push_back(IfcLinearStiffnessMeasure_type);
+ items.push_back(IfcLinearVelocityMeasure_type);
+ items.push_back(IfcLuminousFluxMeasure_type);
+ items.push_back(IfcLuminousIntensityDistributionMeasure_type);
+ items.push_back(IfcMagneticFluxDensityMeasure_type);
+ items.push_back(IfcMagneticFluxMeasure_type);
+ items.push_back(IfcMassDensityMeasure_type);
+ items.push_back(IfcMassFlowRateMeasure_type);
+ items.push_back(IfcMassPerLengthMeasure_type);
+ items.push_back(IfcModulusOfElasticityMeasure_type);
+ items.push_back(IfcModulusOfLinearSubgradeReactionMeasure_type);
+ items.push_back(IfcModulusOfRotationalSubgradeReactionMeasure_type);
+ items.push_back(IfcModulusOfSubgradeReactionMeasure_type);
+ items.push_back(IfcMoistureDiffusivityMeasure_type);
+ items.push_back(IfcMolecularWeightMeasure_type);
+ items.push_back(IfcMomentOfInertiaMeasure_type);
+ items.push_back(IfcMonetaryMeasure_type);
+ items.push_back(IfcPHMeasure_type);
+ items.push_back(IfcPlanarForceMeasure_type);
+ items.push_back(IfcPowerMeasure_type);
+ items.push_back(IfcPressureMeasure_type);
+ items.push_back(IfcRadioActivityMeasure_type);
+ items.push_back(IfcRotationalFrequencyMeasure_type);
+ items.push_back(IfcRotationalMassMeasure_type);
+ items.push_back(IfcRotationalStiffnessMeasure_type);
+ items.push_back(IfcSectionModulusMeasure_type);
+ items.push_back(IfcSectionalAreaIntegralMeasure_type);
+ items.push_back(IfcShearModulusMeasure_type);
+ items.push_back(IfcSoundPowerMeasure_type);
+ items.push_back(IfcSoundPressureMeasure_type);
+ items.push_back(IfcSpecificHeatCapacityMeasure_type);
+ items.push_back(IfcTemperatureGradientMeasure_type);
+ items.push_back(IfcThermalAdmittanceMeasure_type);
+ items.push_back(IfcThermalConductivityMeasure_type);
+ items.push_back(IfcThermalExpansionCoefficientMeasure_type);
+ items.push_back(IfcThermalResistanceMeasure_type);
+ items.push_back(IfcThermalTransmittanceMeasure_type);
+ items.push_back(IfcTimeStamp_type);
+ items.push_back(IfcTorqueMeasure_type);
+ items.push_back(IfcVaporPermeabilityMeasure_type);
+ items.push_back(IfcVolumetricFlowRateMeasure_type);
+ items.push_back(IfcWarpingConstantMeasure_type);
+ items.push_back(IfcWarpingMomentMeasure_type);
+ IfcDerivedMeasureValue_type = new select_type("IfcDerivedMeasureValue", items);
+ }
+ declaration* IfcDocumentSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcDocumentInformation_type);
+ items.push_back(IfcDocumentReference_type);
+ IfcDocumentSelect_type = new select_type("IfcDocumentSelect", items);
+ }
+ declaration* IfcDraughtingCalloutElement_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcAnnotationCurveOccurrence_type);
+ items.push_back(IfcAnnotationSymbolOccurrence_type);
+ items.push_back(IfcAnnotationTextOccurrence_type);
+ IfcDraughtingCalloutElement_type = new select_type("IfcDraughtingCalloutElement", items);
+ }
+ declaration* IfcFillAreaStyleTileShapeSelect_type;
+ {
+ std::vector items; items.reserve(1);
+ items.push_back(IfcFillAreaStyleTileSymbolWithStyle_type);
+ IfcFillAreaStyleTileShapeSelect_type = new select_type("IfcFillAreaStyleTileShapeSelect", items);
+ }
+ declaration* IfcFillStyleSelect_type;
+ {
+ std::vector items; items.reserve(4);
+ items.push_back(IfcColour_type);
+ items.push_back(IfcExternallyDefinedHatchStyle_type);
+ items.push_back(IfcFillAreaStyleHatching_type);
+ items.push_back(IfcFillAreaStyleTiles_type);
+ IfcFillStyleSelect_type = new select_type("IfcFillStyleSelect", items);
+ }
+ declaration* IfcGeometricSetSelect_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcCurve_type);
+ items.push_back(IfcPoint_type);
+ items.push_back(IfcSurface_type);
+ IfcGeometricSetSelect_type = new select_type("IfcGeometricSetSelect", items);
+ }
+ declaration* IfcHatchLineDistanceSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcOneDirectionRepeatFactor_type);
+ items.push_back(IfcPositiveLengthMeasure_type);
+ IfcHatchLineDistanceSelect_type = new select_type("IfcHatchLineDistanceSelect", items);
+ }
+ declaration* IfcLayeredItem_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcRepresentation_type);
+ items.push_back(IfcRepresentationItem_type);
+ IfcLayeredItem_type = new select_type("IfcLayeredItem", items);
+ }
+ declaration* IfcLibrarySelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcLibraryInformation_type);
+ items.push_back(IfcLibraryReference_type);
+ IfcLibrarySelect_type = new select_type("IfcLibrarySelect", items);
+ }
+ declaration* IfcLightDistributionDataSourceSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcExternalReference_type);
+ items.push_back(IfcLightIntensityDistribution_type);
+ IfcLightDistributionDataSourceSelect_type = new select_type("IfcLightDistributionDataSourceSelect", items);
+ }
+ declaration* IfcMaterialSelect_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back(IfcMaterial_type);
+ items.push_back(IfcMaterialLayer_type);
+ items.push_back(IfcMaterialLayerSet_type);
+ items.push_back(IfcMaterialLayerSetUsage_type);
+ items.push_back(IfcMaterialList_type);
+ IfcMaterialSelect_type = new select_type("IfcMaterialSelect", items);
+ }
+ declaration* IfcMeasureValue_type;
+ {
+ std::vector items; items.reserve(22);
+ items.push_back(IfcAmountOfSubstanceMeasure_type);
+ items.push_back(IfcAreaMeasure_type);
+ items.push_back(IfcComplexNumber_type);
+ items.push_back(IfcContextDependentMeasure_type);
+ items.push_back(IfcCountMeasure_type);
+ items.push_back(IfcDescriptiveMeasure_type);
+ items.push_back(IfcElectricCurrentMeasure_type);
+ items.push_back(IfcLengthMeasure_type);
+ items.push_back(IfcLuminousIntensityMeasure_type);
+ items.push_back(IfcMassMeasure_type);
+ items.push_back(IfcNormalisedRatioMeasure_type);
+ items.push_back(IfcNumericMeasure_type);
+ items.push_back(IfcParameterValue_type);
+ items.push_back(IfcPlaneAngleMeasure_type);
+ items.push_back(IfcPositiveLengthMeasure_type);
+ items.push_back(IfcPositivePlaneAngleMeasure_type);
+ items.push_back(IfcPositiveRatioMeasure_type);
+ items.push_back(IfcRatioMeasure_type);
+ items.push_back(IfcSolidAngleMeasure_type);
+ items.push_back(IfcThermodynamicTemperatureMeasure_type);
+ items.push_back(IfcTimeMeasure_type);
+ items.push_back(IfcVolumeMeasure_type);
+ IfcMeasureValue_type = new select_type("IfcMeasureValue", items);
+ }
+ declaration* IfcMetricValueSelect_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back(IfcCostValue_type);
+ items.push_back(IfcDateTimeSelect_type);
+ items.push_back(IfcMeasureWithUnit_type);
+ items.push_back(IfcTable_type);
+ items.push_back(IfcText_type);
+ items.push_back(IfcTimeSeries_type);
+ IfcMetricValueSelect_type = new select_type("IfcMetricValueSelect", items);
+ }
+ declaration* IfcObjectReferenceSelect_type;
+ {
+ std::vector items; items.reserve(13);
+ items.push_back(IfcAddress_type);
+ items.push_back(IfcAppliedValue_type);
+ items.push_back(IfcCalendarDate_type);
+ items.push_back(IfcDateAndTime_type);
+ items.push_back(IfcExternalReference_type);
+ items.push_back(IfcLocalTime_type);
+ items.push_back(IfcMaterial_type);
+ items.push_back(IfcMaterialLayer_type);
+ items.push_back(IfcMaterialList_type);
+ items.push_back(IfcOrganization_type);
+ items.push_back(IfcPerson_type);
+ items.push_back(IfcPersonAndOrganization_type);
+ items.push_back(IfcTimeSeries_type);
+ IfcObjectReferenceSelect_type = new select_type("IfcObjectReferenceSelect", items);
+ }
+ declaration* IfcOrientationSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcDirection_type);
+ items.push_back(IfcPlaneAngleMeasure_type);
+ IfcOrientationSelect_type = new select_type("IfcOrientationSelect", items);
+ }
+ declaration* IfcPointOrVertexPoint_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcPoint_type);
+ items.push_back(IfcVertexPoint_type);
+ IfcPointOrVertexPoint_type = new select_type("IfcPointOrVertexPoint", items);
+ }
+ declaration* IfcPresentationStyleSelect_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back(IfcCurveStyle_type);
+ items.push_back(IfcFillAreaStyle_type);
+ items.push_back(IfcNullStyle_type);
+ items.push_back(IfcSurfaceStyle_type);
+ items.push_back(IfcSymbolStyle_type);
+ items.push_back(IfcTextStyle_type);
+ IfcPresentationStyleSelect_type = new select_type("IfcPresentationStyleSelect", items);
+ }
+ declaration* IfcShell_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcClosedShell_type);
+ items.push_back(IfcOpenShell_type);
+ IfcShell_type = new select_type("IfcShell", items);
+ }
+ declaration* IfcSimpleValue_type;
+ {
+ std::vector items; items.reserve(7);
+ items.push_back(IfcBoolean_type);
+ items.push_back(IfcIdentifier_type);
+ items.push_back(IfcInteger_type);
+ items.push_back(IfcLabel_type);
+ items.push_back(IfcLogical_type);
+ items.push_back(IfcReal_type);
+ items.push_back(IfcText_type);
+ IfcSimpleValue_type = new select_type("IfcSimpleValue", items);
+ }
+ declaration* IfcSizeSelect_type;
+ {
+ std::vector items; items.reserve(6);
+ items.push_back(IfcDescriptiveMeasure_type);
+ items.push_back(IfcLengthMeasure_type);
+ items.push_back(IfcNormalisedRatioMeasure_type);
+ items.push_back(IfcPositiveLengthMeasure_type);
+ items.push_back(IfcPositiveRatioMeasure_type);
+ items.push_back(IfcRatioMeasure_type);
+ IfcSizeSelect_type = new select_type("IfcSizeSelect", items);
+ }
+ declaration* IfcSpecularHighlightSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcSpecularExponent_type);
+ items.push_back(IfcSpecularRoughness_type);
+ IfcSpecularHighlightSelect_type = new select_type("IfcSpecularHighlightSelect", items);
+ }
+ declaration* IfcStructuralActivityAssignmentSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcElement_type);
+ items.push_back(IfcStructuralItem_type);
+ IfcStructuralActivityAssignmentSelect_type = new select_type("IfcStructuralActivityAssignmentSelect", items);
+ }
+ declaration* IfcSurfaceOrFaceSurface_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcFaceBasedSurfaceModel_type);
+ items.push_back(IfcFaceSurface_type);
+ items.push_back(IfcSurface_type);
+ IfcSurfaceOrFaceSurface_type = new select_type("IfcSurfaceOrFaceSurface", items);
+ }
+ declaration* IfcSurfaceStyleElementSelect_type;
+ {
+ std::vector items; items.reserve(5);
+ items.push_back(IfcExternallyDefinedSurfaceStyle_type);
+ items.push_back(IfcSurfaceStyleLighting_type);
+ items.push_back(IfcSurfaceStyleRefraction_type);
+ items.push_back(IfcSurfaceStyleShading_type);
+ items.push_back(IfcSurfaceStyleWithTextures_type);
+ IfcSurfaceStyleElementSelect_type = new select_type("IfcSurfaceStyleElementSelect", items);
+ }
+ declaration* IfcSymbolStyleSelect_type;
+ {
+ std::vector items; items.reserve(1);
+ items.push_back(IfcColour_type);
+ IfcSymbolStyleSelect_type = new select_type("IfcSymbolStyleSelect", items);
+ }
+ declaration* IfcTextFontSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcExternallyDefinedTextFont_type);
+ items.push_back(IfcPreDefinedTextFont_type);
+ IfcTextFontSelect_type = new select_type("IfcTextFontSelect", items);
+ }
+ declaration* IfcTextStyleSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcTextStyleTextModel_type);
+ items.push_back(IfcTextStyleWithBoxCharacteristics_type);
+ IfcTextStyleSelect_type = new select_type("IfcTextStyleSelect", items);
+ }
+ declaration* IfcTrimmingSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcCartesianPoint_type);
+ items.push_back(IfcParameterValue_type);
+ IfcTrimmingSelect_type = new select_type("IfcTrimmingSelect", items);
+ }
+ declaration* IfcUnit_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcDerivedUnit_type);
+ items.push_back(IfcMonetaryUnit_type);
+ items.push_back(IfcNamedUnit_type);
+ IfcUnit_type = new select_type("IfcUnit", items);
+ }
+ declaration* IfcValue_type;
+ {
+ std::vector items; items.reserve(3);
+ items.push_back(IfcDerivedMeasureValue_type);
+ items.push_back(IfcMeasureValue_type);
+ items.push_back(IfcSimpleValue_type);
+ IfcValue_type = new select_type("IfcValue", items);
+ }
+ declaration* IfcVectorOrDirection_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcDirection_type);
+ items.push_back(IfcVector_type);
+ IfcVectorOrDirection_type = new select_type("IfcVectorOrDirection", items);
+ }
+ declaration* IfcCurveFontOrScaledCurveFontSelect_type;
+ {
+ std::vector items; items.reserve(2);
+ items.push_back(IfcCurveStyleFontAndScaling_type);
+ items.push_back(IfcCurveStyleFontSelect_type);
+ IfcCurveFontOrScaledCurveFontSelect_type = new select_type("IfcCurveFontOrScaledCurveFontSelect", items);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(2);
+ derived.push_back(false); derived.push_back(false);
+ Ifc2DCompositeCurve_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("RequestID", new named_type(IfcIdentifier_type), false));
+ std::vector derived; derived.reserve(6);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcActionRequest_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("TheActor", new named_type(IfcActorSelect_type), false));
+ std::vector derived; derived.reserve(6);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcActor_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(3);
+ attributes.push_back(new entity::attribute("Role", new named_type(IfcRoleEnum_type), false));
+ attributes.push_back(new entity::attribute("UserDefinedRole", new named_type(IfcLabel_type), true));
+ attributes.push_back(new entity::attribute("Description", new named_type(IfcText_type), true));
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcActorRole_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcActuatorTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcActuatorType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(3);
+ attributes.push_back(new entity::attribute("Purpose", new named_type(IfcAddressTypeEnum_type), true));
+ attributes.push_back(new entity::attribute("Description", new named_type(IfcText_type), true));
+ attributes.push_back(new entity::attribute("UserDefinedPurpose", new named_type(IfcLabel_type), true));
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAddress_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcAirTerminalBoxTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAirTerminalBoxType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcAirTerminalTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAirTerminalType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcAirToAirHeatRecoveryTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAirToAirHeatRecoveryType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(1);
+ attributes.push_back(new entity::attribute("PredefinedType", new named_type(IfcAlarmTypeEnum_type), false));
+ std::vector derived; derived.reserve(10);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAlarmType_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(1);
+ derived.push_back(false);
+ IfcAngularDimension_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(7);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotation_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationCurveOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(2);
+ attributes.push_back(new entity::attribute("OuterBoundary", new named_type(IfcCurve_type), false));
+ attributes.push_back(new entity::attribute("InnerBoundaries", new aggregation_type(aggregation_type::set_type, 1, -1, new named_type(IfcCurve_type)), true));
+ std::vector derived; derived.reserve(2);
+ derived.push_back(false); derived.push_back(false);
+ IfcAnnotationFillArea_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(2);
+ attributes.push_back(new entity::attribute("FillStyleTarget", new named_type(IfcPoint_type), true));
+ attributes.push_back(new entity::attribute("GlobalOrLocal", new named_type(IfcGlobalOrLocalEnum_type), true));
+ std::vector derived; derived.reserve(5);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationFillAreaOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(2);
+ attributes.push_back(new entity::attribute("Item", new named_type(IfcGeometricRepresentationItem_type), false));
+ attributes.push_back(new entity::attribute("TextureCoordinates", new named_type(IfcTextureCoordinate_type), true));
+ std::vector derived; derived.reserve(2);
+ derived.push_back(false); derived.push_back(false);
+ IfcAnnotationSurface_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationSurfaceOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationSymbolOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector attributes; attributes.reserve(0);
+ std::vector derived; derived.reserve(3);
+ derived.push_back(false); derived.push_back(false); derived.push_back(false);
+ IfcAnnotationTextOccurrence_type->set_attributes(attributes, derived);
+ }
+ {
+ std::vector